Skip to content

Navigation - #773

Merged
timea-solid merged 11 commits into
stagingfrom
navigation
Oct 14, 2026
Merged

timea-solid merged 11 commits into
stagingfrom
navigation

Conversation

@timea-solid

@timea-solid timea-solid commented Oct 14, 2026 •

Copy link
Copy Markdown
Member

I refactored the navigation in solid-panes: navbar, menu and browser actions.

timea-solid and others added 5 commits October 13, 2026 13:46
…istry@5.0.2-0 profile-pane@4.1.0-0) (latest: rdflib@2.4.1 solid-ui@5.0.1 activitystreams-pane@2.0.0 chat-pane@4.0.0 contacts-pane@4.0.0 folder-pane@4.0.0 issue-pane@4.0.0 meeting-pane@4.0.0 source-pane@4.0.0)
…istry@5.0.2-0 profile-pane@4.1.0-0) (latest: rdflib@2.4.1 solid-ui@5.0.1 activitystreams-pane@2.0.0 chat-pane@4.0.0 contacts-pane@4.0.0 folder-pane@4.0.0 issue-pane@4.0.0 meeting-pane@4.0.0 source-pane@4.0.0)
Comment thread src/outline/manager.js
// header only makes sense when the page URL is inside the viewer's own pod.
const hideOutsideViewerPod = !!options.headerOnlyInViewerPod && !(await isInViewerPod(document.location.href))
provider.showHeader = !isRootResource && !isWebIdUri(subject) && !hideOutsideViewerPod
const viewerPodOnly = !!options.headerOnlyInViewerPod

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.

much nicer

Comment thread src/mainPage/navbar.ts
const menuItems: NavbarMenuItem[] = []

if (webId) {
if (context.owner) {

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.

so much clearer

Comment thread src/mainPage/navbar.ts Outdated

const request = ++rebuildRequest
getPodContext(url).then(next => {
if (request !== rebuildRequest || isSamePod(podContext, next)) return

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.

Direct navigation within the current pod leaves the navbar’s selected item stale.

Same-pod direct navigation does not update selected navbar item
The new solid-panes:navigated listener in navbar.ts returns immediately when the incoming navigation state belongs to the current pod:

This means a direct navigation such as OutlineManager.GotoSubject(...) to another pane in the same pod can update the visible pane and navigation state, but not the navbar selection. The menu can continue to show the previous pane as active.

That appears inconsistent with the purpose of announceNavigation(), which exists to notify the UI after direct navigation callers update paneName / paneUri.

Suggested correction
For same-pod navigation events, apply state.view to the existing navbar items—selecting the matching pane—before returning. A full pod-context/menu rebuild should still remain reserved for cross-pod navigation.

Feedback from my AI

@timea-solid timea-solid self-assigned this Oct 14, 2026

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

I really like it!

We have so many different scenarios of viewing and navigating.

This is much clearer.

timea-solid and others added 3 commits October 14, 2026 13:59
…istry@5.0.2-0 profile-pane@4.1.0-0) (latest: rdflib@2.4.1 solid-ui@5.0.1 activitystreams-pane@2.0.0 chat-pane@4.0.0 contacts-pane@4.0.0 folder-pane@4.0.0 issue-pane@4.0.0 meeting-pane@4.0.0 source-pane@4.0.0)
@timea-solid
timea-solid merged commit 4fae70a into staging Oct 14, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants