Conversation
…route - Add /settings route with dedicated URL, back/forward support, and proper signal cleanup in router and App URL-sync - Add pushOverlayHistory/closeOverlayHistory for Space Agent Overlay, pushing a marker history entry (no URL change) so browser back closes the overlay - Replace bare signal assignments with router calls in SpaceTaskPane, SpaceTaskCardFeed, SpaceIsland, Inbox, and ChatContainer - Add overlay + settings cases to popstate handler and initializeRouter - Add unit tests for overlay history and settings route (overlay-history, settings-router)
Consistent with existing router test convention (router.test.ts, router-short-id.test.ts, router-space-slug.test.ts).
Components now read navigation state from shared signals instead of local useState. Update test mocks to use real Preact signals (via bridge pattern) so that navigateToSpaceTasks/navigateToSpaceTask/navigateToSpaceConfigure calls trigger reactive re-renders during tests.
…ail) Add URL routing for Space sub-tab views so they are shareable and support back/forward navigation: - /space/:id/configure/agents|workflows|settings — configure sub-tabs - /space/:id/tasks/action|active|completed|archived — tasks filter tabs - /space/:id/task/:taskId/thread|canvas|artifacts — task detail sub-views Components now read tab state from signals (driven by router) instead of local useState. Tab switches pushState, popstate restores the correct tab, and initializeRouter handles direct URL loads. New signals: currentSpaceConfigureTabSignal, currentSpaceTasksFilterTabSignal, currentSpaceTaskViewTabSignal.
…gation-gaps-in-space
…gation-gaps-in-space
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
/settingsroute — Settings now has a dedicated URL (/settings) with full back/forward support.navigateToSettings()pushes history, popstate restores it, andinitializeRoutersets signals on page load.pushOverlayHistory()/closeOverlayHistory()encapsulate the pattern. Popstate handler detects overlay marker removal and clears overlay signals.pushOverlayHistory(),navigateToRoomTask(), andnavigateToSettings()instead of directly mutating navigation signals.Note: The
/roomsURL route is out of scope for this PR per user instruction and will be addressed in a follow-up.Changed files (11)
web/src/lib/router.ts/settingsroute,pushOverlayHistory,closeOverlayHistory, popstate/init casesweb/src/App.tsxweb/src/islands/SpaceIsland.tsxpushOverlayHistory/closeOverlayHistoryweb/src/components/space/SpaceTaskPane.tsxpushOverlayHistoryinstead of bare signalsweb/src/components/space/thread/compact/SpaceTaskCardFeed.tsxpushOverlayHistoryweb/src/components/inbox/Inbox.tsxnavigateToRoomTaskinstead of bare signalsweb/src/islands/ChatContainer.tsxnavigateToSettingsinstead of bare signalweb/src/lib/__tests__/overlay-history.test.tsweb/src/lib/__tests__/settings-router.test.tsweb/src/components/space/__tests__/SpaceTaskPane.test.tsxpushOverlayHistoryweb/src/islands/__tests__/SpaceIsland.test.tsxpushOverlayHistory/closeOverlayHistoryto mockTest plan
SpaceIsland.configureexcluded)/settingsURL → opens settings directly