Palette, menus, status bar, explorer liveness and a first-run welcome #188

Merged
nectenda-agent merged 2 commits from worktree-nec-126-surfaces into main 2026-09-26 20:11:33 +01:00
Collaborator

Task: NEC-126 — https://projectron.nerchure.com/tasks/126

The surfaces a person reaches without opening settings, from the UX review (docs/ux-review-relay.md).

  • Palette: new commands:
    • Open settings for a shared folder…
    • Add a folder shared with you…
    • Join an organisation with a link…
    • Forget my passphrase on this device (only while the passphrase is held; folders already open keep syncing, and the notice says so)
  • Menus: every synced folder offers Folder settings…. A note in a shared folder offers its folder's settings, and owners also get Invite to folder…. The folder page opens as a dialog drawn by the same code as the settings page.
  • Desktop status bar: the note-header icon's state, computed by the same headerState(). It can be switched off under Editing and is never shown on mobile.
  • Explorer:
    • a shared folder's indentation guide is in the accent colour down its whole subtree
    • a note changed in the background pulses once; this comes from Obsidian's modify event, not the sync engine, and is off under reduced motion
  • Presence circles: clicking a circle goes to that person's cursor, resolved from the Yjs relative position in their awareness state.
  • First run: one notice pointing at settings, closed when the person signs in and never repeated. obsidian://nectenda?open=folder&path=… opens a folder's settings.

Tested:

  • Unit tests: 832 pass, including just-changed and the command and menu rules.
  • Full multi-vault e2e: 93 pass.
  • Compatibility stage against 0.2.1: 23 pass.
  • Checked by eye in the docs-shots captures: the status bar item and the tinted guides.
  • Mobile items are listed under manual-testing.md 17b.

Changelog

See release-notes.

🤖 Generated with Claude Code

https://claude.ai/code/session_01NnpsVLx9NmMG2N2nJnA8mR

Task: NEC-126 — https://projectron.nerchure.com/tasks/126 The surfaces a person reaches without opening settings, from the UX review (`docs/ux-review-relay.md`). - **Palette**: new commands: - Open settings for a shared folder… - Add a folder shared with you… - Join an organisation with a link… - Forget my passphrase on this device (only while the passphrase is held; folders already open keep syncing, and the notice says so) - **Menus**: every synced folder offers **Folder settings…**. A note in a shared folder offers its folder's settings, and owners also get **Invite to folder…**. The folder page opens as a dialog drawn by the same code as the settings page. - **Desktop status bar**: the note-header icon's state, computed by the same `headerState()`. It can be switched off under Editing and is never shown on mobile. - **Explorer**: - a shared folder's indentation guide is in the accent colour down its whole subtree - a note changed in the background pulses once; this comes from Obsidian's `modify` event, not the sync engine, and is off under reduced motion - **Presence circles**: clicking a circle goes to that person's cursor, resolved from the Yjs relative position in their awareness state. - **First run**: one notice pointing at settings, closed when the person signs in and never repeated. `obsidian://nectenda?open=folder&path=…` opens a folder's settings. Tested: - Unit tests: 832 pass, including `just-changed` and the command and menu rules. - Full multi-vault e2e: 93 pass. - Compatibility stage against 0.2.1: 23 pass. - Checked by eye in the `docs-shots` captures: the status bar item and the tinted guides. - Mobile items are listed under `manual-testing.md` 17b. ## Changelog See release-notes. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01NnpsVLx9NmMG2N2nJnA8mR
Palette, menus, status bar, explorer liveness and a first-run welcome
Some checks failed
CI / promote (pull_request) Has been cancelled
CI / build (pull_request) Has been cancelled
CI / e2e (pull_request) Has been cancelled
Release note / release-note (pull_request) Successful in 12s
a0c51f285c
The things a person reaches for without opening settings:

- Commands: open settings for a shared folder (the folder of the open note,
  or picked), add a folder shared with you, join an organisation with a
  link, and forget the passphrase on this device (only offered while it is
  held; already-open folders keep syncing, and the notice says so).
- Menus: a folder this vault syncs offers "Folder settings…" whoever owns
  it; a note in a shared folder offers its folder's settings and, for an
  owner, "Invite to folder…". The folder page opens as a dialog there,
  drawn by the same code as the settings page, because Obsidian gives no
  way to open a settings sub-page from code.
- Desktop status bar: the note-header icon's state from the same function,
  so the two cannot disagree; switchable under Editing, never on mobile.
- Explorer: a shared folder's indentation guide takes the accent down its
  subtree, and a note changed in the background pulses once (Obsidian's
  modify event, not the sync engine; off under reduced motion).
- Presence circles: a click moves the editor to that person's cursor,
  resolved from their awareness state's relative position.
- First run: one notice pointing at settings, closed on sign-in, never
  repeated. obsidian://nectenda?open=folder&path=… opens a folder's
  settings, for guides and emails to link to.

Task: NEC-126

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NnpsVLx9NmMG2N2nJnA8mR
cruelacid referenced this pull request from a commit 2026-09-26 20:06:03 +01:00
Release notes for #188
All checks were successful
Release note / release-note (pull_request) Successful in 12s
CI / build (pull_request) Successful in 4m42s
CI / e2e (pull_request) Successful in 5m18s
CI / promote (pull_request) Has been skipped
CI / build (push) Successful in 4m54s
CI / e2e (push) Successful in 5m17s
CI / promote (push) Successful in 32s
eccf511992
Task: NEC-126

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NnpsVLx9NmMG2N2nJnA8mR
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Nectenda/nectenda!188
No description provided.