Details
- Reviewers
btrahan - Maniphest Tasks
- T4983: Implement Wnnn and {Wnnn} to link to and embed dashboard panels
T4986: Implement new Dashboard panel types - Commits
- Restricted Diffusion Commit
rP63acd90cefaf: Allow dashboard panels to detect rendering cycles and arrest stack overflows
Faked some errors, got failed panel renders. Since panels can't really contain other panels yet, this doesn't really have an impact.
Diff Detail
- Repository
- rP Phabricator
- Lint
Lint Skipped - Unit
Tests Skipped
Event Timeline
src/applications/dashboard/engine/PhabricatorDashboardPanelRenderingEngine.php | ||
---|---|---|
18 | I'd expect this to be some class that extends the Aphront Graph class with cycle detection. (To support panel A which contains panel B which contains panel C, etc.) You'd probably want to check the graph out during edits at the dashboard / panel level and otherwise not load it. | |
123 | hahaha, tip jar time | |
src/applications/dashboard/engine/PhabricatorDashboardRenderingEngine.php | ||
29 | this will be an error i think |
src/applications/dashboard/engine/PhabricatorDashboardPanelRenderingEngine.php | ||
---|---|---|
18 | I think we probably won't be able to guarantee this in general. For example, suppose you have a panel (W123) showing the 5 latest feed stories, and we update feed so it renders remarkup, then someone makes a comment with {W123} in it. We can't (and shouldn't) block the comment. We could do this in a more narrow way, but I suspect there will be so many cases like this that making any effort isn't worth the complexity, and just failing gracefully is good enough without trying to prevent things from getting into this state. | |
src/applications/dashboard/engine/PhabricatorDashboardRenderingEngine.php | ||
29 | Haha, good catch. This was test code that I neglected to remove. |