Skip to content

feat(APP-942): Finish permissions graph view with real data#1238

Open
thekidnamedkd wants to merge 20 commits into
mainfrom
app-942-permissions-graph-finish
Open

feat(APP-942): Finish permissions graph view with real data#1238
thekidnamedkd wants to merge 20 commits into
mainfrom
app-942-permissions-graph-finish

Conversation

@thekidnamedkd

Copy link
Copy Markdown
Contributor

Description

Finishes the permissions graph view work under APP-942, replacing the earlier APP-967 graph PR (#1202). The scope shifted from a preview/mock graph into the real permissions surface backed by the app-backend relationship payload.

  • Enables the List/Graph permissions view with real backend data instead of the removed preview fixture/feature-flag path
  • Builds the graph from permission rows using React Flow + Dagre: DAO / linked DAO / plugin / actor nodes with permission stack nodes between relationships
  • Keeps the graph stable as a view: nodes are fixed, pan/zoom remains available, selecting permissions does not recenter the canvas
  • Adds directional edge treatment with origin dots and target arrows, including self/anchor permissions that point back to the DAO/body
  • Moves permission details out of inline graph expansion and into a draggable detail dialog
  • Adds To DAO / From DAO / Other graph modes without changing the page-level List / Graph navigation
  • Recolors selected permission flows and dims unrelated graph context
  • Resolves condition labels explicitly: no condition stays -, unresolved condition addresses show as unrecognized instead of being hidden
  • Lazy-loads decoded ExecuteSelector condition actions where the backend provides them, including function names, selectors, target contracts, and block explorer links
  • Updates list loading skeletons to match the GovUIKit DataList style

Preview path for validation:

/dao/citrea-mainnet/0xA941b1C1D9aDC88C9241aA3ACA59E8B8f0386419/settings/permissions

Add ?permissionsview=graph to open the graph directly.

Provenance

Supersedes #1202 / APP-967. APP-967 became a duplicate once the work moved under APP-942 and the backend contract from aragon/app-backend#1439 became the real source of permission relationships. This PR keeps the useful graph work from #1202, ports it into the monorepo shape, removes the preview/mock path, and finishes the view against the live permissions payload.

Type of Change

  • Minor: Feature (non-breaking change which adds new functionality)

Developer Checklist:

  • Manually smoke tested the functionality locally against the Citrea DAO permissions path above
  • Confirmed there are no new warnings on automated tests
  • Selected the correct base branch
  • Followed the code style guidelines of this project
  • Reviewed that the Files Changed in Github's UI reflect my intended changes
  • Confirmed the pipeline checks are not failing — pending CI

Review Checklist:

  • Tested in a preview or locally that the graph and list permissions views satisfy the APP-942 UX paths
  • Confirmed that changes follow the code style guidelines of this project

@thekidnamedkd
thekidnamedkd requested a review from a team as a code owner July 15, 2026 09:06
@linear-code

linear-code Bot commented Jul 15, 2026

Copy link
Copy Markdown

APP-942

@github-actions

github-actions Bot commented Jul 15, 2026

Copy link
Copy Markdown

🚀 Preview Deployment: View Here

@github-actions

github-actions Bot commented Jul 15, 2026

Copy link
Copy Markdown

E2E results (preview)

Smoke

Base URL https://app-next-h7wu738zl-aragon-app.vercel.app
Suite smoke
Playwright result ❌ failed
Summary 80 passed, 1 failed, 1 skipped
HTML report View report
GitHub job ✅ completed

View run #4571

@milosh86 milosh86 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great, left some housekeeping comments.

Comment thread apps/app/src/modules/settings/components/permissionsGraph/permissionsGraph.tsx Outdated
milosh86
milosh86 previously approved these changes Jul 16, 2026

@milosh86 milosh86 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great job 🙌 I've just tested it and it looks great!

One usage feedback, not related to implementation: Unknown address is not really helpful. You need to click to see which address is that, but it could be handy to have truncated address as a label instead.

@thekidnamedkd

Copy link
Copy Markdown
Contributor Author

Great job 🙌 I've just tested it and it looks great!

One usage feedback, not related to implementation: Unknown address is not really helpful. You need to click to see which address is that, but it could be handy to have truncated address as a label instead.

Yes great feedback. I had it the other way briefly as well Jordi said the two felt kind of redundant want and he preferred the parity of a detail inspect pop out, but let's see what consensus is. This is still kind of discovery mode when it comes to the "feel" stuff.

@thekidnamedkd
thekidnamedkd force-pushed the app-942-permissions-graph-finish branch from 52cd8cf to 56f228c Compare July 17, 2026 09:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants