Skip to content

Add personal sidebar sections and exact View recency - #4609

Draft
3mdistal wants to merge 6 commits into
mainfrom
codex/content-sidebar-sections-sb11
Draft

Add personal sidebar sections and exact View recency#4609
3mdistal wants to merge 6 commits into
mainfrom
codex/content-sidebar-sections-sb11

Conversation

@3mdistal

@3mdistal 3mdistal commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Content's sidebar needs to remember where a person actually visited and let them arrange their own navigation. This adds exact saved-View Recent entries and personal Pinned/Recent section controls for SB-11–13. For example, visiting a database's Table and Board creates distinct Recent links; choosing Table returns to that View even after Board was last active.

Recent retains at most fifty target identities and visit timestamps, resolves current titles under the current user's access, and records successful foreground visits. Section order, visibility, expansion and displayed counts persist per user. Pin ordering uses atomic personal navigation patches that preserve other saved preferences and inherited filters. Keyboard Enter still follows links; Space starts reordering, with focus retained after saving. Personal navigation does not write canonical parentage, membership, permissions or shared View configuration.

The implementation uses the shared Actions and personal-state surface, includes translations for the added controls, and records bounded evidence in the sidebar Capability. It does not promote the whole Capability beyond approved_shape. No package source or schema migration is included. The app's changelog command is disabled by its existing configuration.

Validation on the isolated authenticated local node-server build:

  • 107 focused tests across ten files pass, covering recency/access, default and missing Views, atomic navigation patches, settings, fresh foreground fetches, inherited filters and reorder behavior. Content typecheck, build, product-doc validation and diff checks pass.
  • Real UI checks pass exact Table/Board navigation and reload, pointer/keyboard pin ordering, retained focus, section controls, count persistence and 390px drawer navigation. Two authenticated accounts retain independent pins and section preferences. Supported Action reads confirm unchanged canonical database, parentage, membership, shared View configuration and access grants after those personal changes.
  • Mounted rename refresh passed only with the separately owned lifecycle overlay, now draft fix: reject trashed Content writes and recover restored editors #4607 at 3cc8ffe. That overlay was removed before this branch was pushed; it is not duplicated here.

This remains a draft. Additional composed checks pass unopened Action edits leaving Recent unchanged, section Move up/down, failed preference-save rollback, failed Recent read/Retry recovery, and external same-owner deletion removing mounted Recent. Cross-account revocation initially exposed missing recipient event delivery. Repaired composed replay now passes with D1 #4607 at 03526de: an actual direct-user revoke records a recipient notification, triggers Recent refetch, and removes the title without reload. This is direct-user Recent refresh proof only; role/org/public changes and post-revocation editor write races are outside this slice. Integration still requires that dependency. Pin row menus have no Move up/down commands in this frozen build; pointer/keyboard row reordering and section menu reordering are the verified controls. No merge or deployment is requested.

CI recovery at ffb7af8 fixes introduced lint errors, Action parity registration and instruction size. Full Content parity passes 143 tests locally; GitHub Lint & format, Content parity and Security guards pass. The subsequent fast-test failure was a stale assertion that the sidebar container still imported IconPin. Test-only commit 223d290 scopes glyph checks to the actual Pin command components; 36 affected tests pass. New CI is pending, and runtime behavior is unchanged. All QA-only source overlays were removed; this branch remains clean and draft.

Local check limitations: the repository i18n catalog guard reports 2,537 existing issues; changed-copy reports zero inspected surfaces on this Windows checkout and provides no meaningful pass. The non-CLI Content-impact subset has 21 passes and three CRLF-sensitive fixture/workflow failures; six CLI-boundary tests were excluded after Windows extensionless-tsx launch failures. No guard or localization baseline was weakened. These checks require resolution or verified baseline disposition before readiness.

content_product_impact:
  lane: contract_fulfillment
  features:
    - content.feature.find-your-place-again
  capabilities:
    - content.navigation.sidebar
  record_change: included
  proof:
    - 107 passing focused tests across recency, personal navigation, settings and sidebar rendering
    - Authenticated owner/viewer UI checks for exact Views, independent preferences, reload, keyboard and mobile navigation
    - Canonical Action comparisons preserve parentage, membership, shared View configuration and grants
    - Sidebar Capability records bounded evidence and unresolved composed lifecycle gates
  rationale: Fulfill the personal Pinned and Recent navigation slice without changing canonical content structure or claiming complete sidebar acceptance.

@netlify

This comment has been minimized.

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.

1 participant