Skip to content

Set home page for dev personas - #3974

Merged
michaeljguarino merged 13 commits into
masterfrom
home-page-for-dev-personas
Aug 7, 2026
Merged

Set home page for dev personas#3974
michaeljguarino merged 13 commits into
masterfrom
home-page-for-dev-personas

Conversation

@JohnBlackwell

@JohnBlackwell JohnBlackwell commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Test Plan

Test environment: https://console.plrl-dev-aws.onplural.sh/

Checklist

  • I have added a meaningful title and summary to convey the impact of this PR to a user.
  • If required, I have updated the Plural documentation accordingly.
  • I have added tests to cover my changes.
  • I have deployed the agent to a test environment and verified that it works as expected (required only when changing agent code).

Plural Flow: console

@soffi-ai

soffi-ai Bot commented Aug 6, 2026

Copy link
Copy Markdown

Soffi AI Summary

This PR introduces a "Flows" home page option for users with a developer persona, giving them a more relevant landing experience in the Plural Console UI.

Key changes:

  1. New Homepage.Flows enum value — Added FLOWS to the Homepage enum across the full stack: the Elixir schema (defenum Homepage, ..., flows: 2), the GraphQL SDL (schema/schema.graphql), and the generated Go client (go/client/models_gen.go), so the new homepage option is recognized end-to-end.

  2. Developer persona auto-redirect — In Home.tsx, users who have the Developer persona role are automatically redirected to the Flows page (FLOWS_ABS_PATH) on login, regardless of their explicit me.homepage setting. A new useIsDeveloperPersona() hook was added to contexts.tsx to encapsulate this check by inspecting the user's persona roles.

  3. Flows option in global settings — The "Homepage" dropdown in GlobalSettingsGeneral.tsx now includes a "Flows" option with a FlowIcon, allowing any user to manually select Flows as their home page.

  4. Persona-gated FlowCard actions — The permissions button and pipelines navigation button on FlowCard are now conditionally rendered based on persona.configuration access checks (flows.permissions and flows.pipelines), preventing developer-persona users from seeing controls they shouldn't access.

  5. role field added to Persona GraphQL fragment — The personas.graphql fragment now fetches the role field, which is required by the new useIsDeveloperPersona() hook.

The motivation is to streamline the developer persona experience: developers land directly on the Flows page (their primary concern) and see only the flow UI controls relevant to their role, reducing noise from cluster/pipeline management features aimed at operators.

Commits

Commit Summary
40c71dd Initial implementation: adds developer persona home page redirect to Flows and makes the Sidebar home button hideable based on persona configuration.
d7ea22a Code review suggestion applied to Sidebar.tsx (exact change not visible in diff).
5a48d02 Reverts homepage icon change, keeping the original icon behavior.
89c1d17 Reverts homepage disabling change, restoring prior behavior around home button visibility.
56ef0d1 Extracts useIsDeveloperPersona() as a reusable helper hook in contexts.tsx to centralize the developer persona role check.
953eab6 Hides the pipelines icon on FlowCard for users whose persona configuration restricts flows.pipelines access, per product manager request.

Deploy in Soffi


Updated: 2026-08-07 16:30 UTC

@JohnBlackwell JohnBlackwell added the enhancement New feature or request label Aug 6, 2026
@greptile-apps

greptile-apps Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

The PR adds Flows as a configurable homepage and redirects developer personas to the Flows route.

  • Adds the Flows homepage enum across the GraphQL schema, backend model, and generated clients.
  • Exposes Flows in global homepage settings.
  • Includes persona roles in frontend GraphQL data so developer personas can receive the new default.
  • Updates the Persona controller sample configuration.

Confidence Score: 5/5

The PR appears safe to merge because no blocking failure remains.

No blocking failure remains.

Important Files Changed

Filename Overview
assets/src/components/home/Home.tsx Redirects users configured for Flows, and users with a developer persona, from the root page to the Flows route.
assets/src/components/settings/global/GlobalSettingsGeneral.tsx Adds Flows to the global homepage selector.
assets/src/graph/personas.graphql Adds the persona role to the shared frontend persona fragment used to determine developer personas.
lib/console/schema/user.ex Extends the persisted homepage enum with the Flows option.
schema/schema.graphql Publishes the Flows homepage enum value and persona role through the GraphQL schema.
go/client/models_gen.go Regenerates Go GraphQL models for the new homepage and persona-role schema values.
go/controller/config/samples/deployments_v1alpha1_persona.yaml Updates the developer persona sample to demonstrate the intended navigation configuration.

Reviews (2): Last reviewed commit: "Merge branch 'master' into home-page-for..." | Re-trigger Greptile

Comment thread assets/src/components/layout/Sidebar.tsx Outdated
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

@michaeljguarino michaeljguarino left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I don't think you need to disable the homepage in the persona here, instead personas should have a way of overriding the homepage enum itself.

@JohnBlackwell

Copy link
Copy Markdown
Contributor Author

@greptile

@JohnBlackwell

Copy link
Copy Markdown
Contributor Author

plural deploy to dev

@JohnBlackwell JohnBlackwell changed the title Set home page for dev personas + make home button hideable Set home page for dev personas Aug 6, 2026
@JohnBlackwell

Copy link
Copy Markdown
Contributor Author

plural deploy to dev

@JohnBlackwell

Copy link
Copy Markdown
Contributor Author

plural deploy to dev

Comment thread assets/src/components/home/Home.tsx Outdated
@JohnBlackwell

Copy link
Copy Markdown
Contributor Author

plural deploy to dev

@JohnBlackwell

Copy link
Copy Markdown
Contributor Author

plural deploy to dev

@michaeljguarino
michaeljguarino merged commit a3f6990 into master Aug 7, 2026
50 checks passed
@michaeljguarino
michaeljguarino deleted the home-page-for-dev-personas branch August 7, 2026 19:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants