Add the sidebar#585
Merged
Merged
Conversation
Lands the feature/sidebar branch: - New AppSidebar with per-scope views (user, org, workspace, project, admin, settings, help, inbox) and a stable shell/header/footer. - Project sidebar: drop Upload/Integrations/Export top-level items; Conversations gains a count badge; Explore marked as Planned. - Project settings sidebar gets a merged "Integrations & Export" entry; /export now redirects to /integrations and the route renders both ProjectExportSection and WebhookSection. - Global Settings entry now navigates directly to /settings/account (first item), eliminating the second-click required by the old ?sidebar=settings overlay. Logout moved onto UserSettingsView. - External-link affordance: NavButton + Mantine Menu.Item get a hover-revealed ArrowUpRight icon for outbound links (Docs, Slack, Support, etc.). - UserHomeView reorganised around internal vs external orgs; admin dashboard tinted purple via new NavItem accent prop. - Project home page replaces the ongoing/open summary cards with a cleaner stack: QR + jump-to actions (Upload now lives here), 1-2 latest conversations with summaries/tags, and one latest report shown only when it has a title. - Align with #582: rename OrganisationGuestView -> Organisation- ExternalView; replace ws.is_external reads with role === "external" in sidebar views; drop the "guest" backward-compat case in roles.ts. - ProjectConversationsPanel title: "Responses" -> "Conversations". - Fix OnboardingRoute invite input losing focus on every keystroke (key was value-based, causing remount). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…nouncement rows Replaces the static InboxView summary panels with the behavior the drawer had pre-sidebar — tabs (For you / Updates) with per-tab unread badges and mark-all-read, clickable notification rows that mark-read and navigate via resolveNotificationHref, severity-aware coloring, avatars/timestamps, inline markdown, per-row mark-read on hover. Adds infinite scroll for announcements and a compact AnnouncementRowItem styled to match NotificationRowItem so chunky Mantine padding doesn't dominate the 240px sidebar rail. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Clicking the Inbox bell from /w/:id/home, /o/:id, or /w/:id/settings/<tab>
would land on `?sidebar=inbox` and immediately have it stripped — the
workspace home `setSearchParams({ search })` clobbered all params, and
the org/workspace-settings tab bouncers passed bare paths to
`navigate({ replace: true })`. Each path now preserves the existing
search string so sidebar overlays survive bouncing.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Contributor
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: ⛔ Files ignored due to path filters (3)
📒 Files selected for processing (128)
Disabled knowledge base sources:
WalkthroughRoutes shift to /w workspace scope, legacy project-only paths removed or redirected, and a new App Sidebar replaces tab UIs. Many components update links/params. BFF/server add conversation filters/count semantics and external-access handling. Auth cache boundary event added. New sidebar preview and UX primitives introduced. ChangesWorkspace routing and new Sidebar system
Estimated code review effort🎯 5 (Critical) | ⏱️ ~120 minutes Possibly related PRs
Suggested labels
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
|
github-merge-queue Bot
pushed a commit
that referenced
this pull request
May 25, 2026
fix: repair regressions from sidebar PR (#585) The sidebar PR overlapped with #577, #581, #582, and #583 and introduced a few cross-cutting issues this commit addresses: - Restore the "hide Project defaults for external-only users" gate in the new sidebar's UserSettingsView. PR #582/#583 added this filter to the old UserSettingsRoute; when the sidebar moved navigation into a new view component, the NavItem rendered unconditionally and external-only users could click through to an empty pane. - Drop schema-step tests that imported the deleted scripts/create_schema.py one-shot seeding script. The committed snapshot under directus/sync/snapshot/ is the source of truth now, so those structural guards were checking a script that no longer exists. - Update AGENTS.md to remove the create_schema.py reference and point at the snapshot directory. - Populate ref_workspace_id on PROJECT_SHARE_ROLE_CHANGED (project_sharing.py), REPORT_READY, and REPORT_FAILED (tasks.py). The new useNotifications href builder requires both ref_workspace_id and ref_project_id to produce /w/{ws}/projects/... links; without it those notifications rendered as dead clicks. - Strip the per-request org_membership lookup in get_workspace_context. PR #582 enforces role='external' ⟺ no org_membership at every write path, and on_organisation_member_removed cascades workspace_membership soft-deletes correctly, so the read-side normalisation was redundant per-request DB overhead. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * User settings view now fetches and displays workspace access information, conditionally showing relevant configuration options based on access level. * Notifications for project sharing and report status now include workspace context information for better organization. * **Documentation** * Updated deployment guide with clarified schema snapshot and migration script procedures. * **Tests** * Removed legacy schema step validation tests from test suite. <!-- review_stack_entry_start --> [](https://app.coderabbit.ai/change-stack/Dembrane/echo/pull/586?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack) <!-- review_stack_entry_end --> <!-- end of auto-generated comment: release notes by coderabbit.ai -->
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 by CodeRabbit
Release Notes
New Features
Refactor