Skip to content

feat(APP-1342): Add edit workspace wizard and default workspace - #1488

Open
milosh86 wants to merge 12 commits into
app-1140-v1-of-workspaces-supporting-multiple-daosfrom
app-1342-edit-workspace-default-workspace-and-edit-page
Open

milosh86 wants to merge 12 commits into
app-1140-v1-of-workspaces-supporting-multiple-daosfrom
app-1342-edit-workspace-default-workspace-and-edit-page

Conversation

@milosh86

Copy link
Copy Markdown
Contributor

Description

Makes local workspaces editable and makes sure there is always a workspace to use. Linear: APP-1342

  • Edit wizard: /workspace/{id}/edit uses the same wizard as Create workspace (details → targets → accounts) in the full-screen wizard layout. Create and edit share one WorkspaceWizard component. It opens from "Edit workspace" in the workspace selector, and from "Add accounts" on an empty workspace's overview, which goes straight to the accounts step (?step=ACCOUNTS).
  • Registry: workspaces can be updated and keep their ID. When nothing is stored, a default "My workspace" with no accounts is created. workspaceService now uses plain async methods.
  • No owner or wallet: the owner field is removed. Creating or editing a workspace no longer needs a connected wallet, and create and update share one publish dialog. An avatar that wasn't changed keeps its stored image instead of being uploaded again.
  • Accounts are optional: both create and edit allow zero accounts. The overview shows an empty state, and the proposals list no longer stays loading forever with no accounts.
  • Routes: the existing workspace pages moved into a (workspacePage) route group, so edit/ can use the wizard layout instead of the workspace navigation. URLs are unchanged.
  • Shared wizard: WizardRoot / WizardPage.Container accept an optional initialActiveStep. Without it, wizards behave as before.
  • Docs: createWorkspace.md updated.

Type of Change

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

Developer Checklist:

  • Manually smoke tested the functionality in a preview or locally
  • Confirmed there are no new warnings or errors in the browser console
  • (For User Stories only) Double-checked that all Acceptance Criteria are satisfied
  • Confirmed there are no new warnings on automated tests
  • Merged and published any dependent changes in downstream modules
  • Selected the correct base branch
  • Commented the code in hard-to-understand areas
  • 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

Review Checklist:

  • (For User Stories only) Tested in a preview or locally that all Acceptance Criteria are satisfied
  • Confirmed that changes follow the code style guidelines of this project

Signed-off-by: Milos Dzepina <milos@aragon.org>
Signed-off-by: Milos Dzepina <milos@aragon.org>
Signed-off-by: Milos Dzepina <milos@aragon.org>
Signed-off-by: Milos Dzepina <milos@aragon.org>
Signed-off-by: Milos Dzepina <milos@aragon.org>
Signed-off-by: Milos Dzepina <milos@aragon.org>
Signed-off-by: Milos Dzepina <milos@aragon.org>
Signed-off-by: Milos Dzepina <milos@aragon.org>
Signed-off-by: Milos Dzepina <milos@aragon.org>
Signed-off-by: Milos Dzepina <milos@aragon.org>
@linear-code

linear-code Bot commented Oct 13, 2026

Copy link
Copy Markdown

APP-1342

@milosh86
milosh86 marked this pull request as ready for review October 13, 2026 13:19
@milosh86
milosh86 requested a review from a team as a code owner October 13, 2026 13:19
…o app-1342-edit-workspace-default-workspace-and-edit-page
@github-actions

github-actions Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

🚀 Preview Deployment: View Here

@github-actions

github-actions Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

E2E results (preview)

Smoke

Base URL https://app-next-dvg35wsiz-aragon-app.vercel.app
Suite smoke
Playwright result ✅ passed
Summary 86 passed
HTML report View report
GitHub job ✅ completed

View run #5572

}

const workspace = workspaces[id];
const workspace = this.getStoredWorkspacesOrDefault()[id];

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.

How does a fresh user reach the seeded workspace here? The routes need an ID before this lookup runs, but the default's random ID is only created inside it, so opening a workspace page with empty storage still lands in WorkspaceGate's error state.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

yeah true. Now it will show not-found page and then you need to select default workspace which is automatically created.

This mechanic of handling not-found workspace will be addressed in the follow up ticket APP-1343.

Good point anyway, I will think more if this is the right way to create default workspace. This will be in the scope of APP-1343.

@Fabricevladimir Fabricevladimir 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.

Nice job! Minor comments here

Comment thread apps/app/src/modules/workspace/utils/workspaceUtils/workspaceUtils.ts Outdated
Signed-off-by: Milos Dzepina <milos@aragon.org>

This branch was successfully deployed

1 active deployment
preview — 604b80c1 Deployed Oct 16, 2026 by milosh86 via deploy / deploy #5572
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.

3 participants