Repository navigation
feat: add conversation navigation with sender previews - #616
Merged
Merged
Conversation
…sition-rail # Conflicts: # packages/localization/catalogs/bg-BG.json # packages/localization/catalogs/bn-BD.json # packages/localization/catalogs/bs-BA.json # packages/localization/catalogs/ca-ES.json # packages/localization/catalogs/cs-CZ.json # packages/localization/catalogs/da-DK.json # packages/localization/catalogs/de-DE.json # packages/localization/catalogs/el-GR.json # packages/localization/catalogs/en-US.json # packages/localization/catalogs/es-419.json # packages/localization/catalogs/es-ES.json # packages/localization/catalogs/et-EE.json # packages/localization/catalogs/fi-FI.json # packages/localization/catalogs/fr-CA.json # packages/localization/catalogs/fr-FR.json # packages/localization/catalogs/gu-IN.json # packages/localization/catalogs/hi-IN.json # packages/localization/catalogs/hr-HR.json # packages/localization/catalogs/hu-HU.json # packages/localization/catalogs/hy-AM.json # packages/localization/catalogs/id-ID.json # packages/localization/catalogs/is-IS.json # packages/localization/catalogs/it-IT.json # packages/localization/catalogs/ja-JP.json # packages/localization/catalogs/ka-GE.json # packages/localization/catalogs/kn-IN.json # packages/localization/catalogs/ko-KR.json # packages/localization/catalogs/lv-LV.json # packages/localization/catalogs/mk-MK.json # packages/localization/catalogs/mr-IN.json # packages/localization/catalogs/ms-MY.json # packages/localization/catalogs/my-MM.json # packages/localization/catalogs/nb-NO.json # packages/localization/catalogs/nl-NL.json # packages/localization/catalogs/pl-PL.json # packages/localization/catalogs/pt-BR.json # packages/localization/catalogs/pt-PT.json # packages/localization/catalogs/ro-RO.json # packages/localization/catalogs/ru-RU.json # packages/localization/catalogs/sk-SK.json # packages/localization/catalogs/sl-SI.json # packages/localization/catalogs/so-SO.json # packages/localization/catalogs/sq-AL.json # packages/localization/catalogs/sr-RS.json # packages/localization/catalogs/sv-SE.json # packages/localization/catalogs/sw-TZ.json # packages/localization/catalogs/ta-IN.json # packages/localization/catalogs/te-IN.json # packages/localization/catalogs/th-TH.json # packages/localization/catalogs/tr-TR.json # packages/localization/catalogs/uk-UA.json # packages/localization/catalogs/vi-VN.json # packages/localization/catalogs/zh-CN.json # packages/localization/catalogs/zh-HK.json # packages/localization/catalogs/zh-TW.json
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
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.
Long conversations now have a quiet navigation rail beside the transcript. Hovering or focusing a marker previews the actual sender's avatar, name and excerpt; clicking or pressing Enter jumps through the existing virtualized timeline and preserves reading position.
The interaction uses the pinned OpenClaw tick dimensions and animation timings with Ling's themes and identity components. It supports ordinary conversations, teammate private chats, channels, keyboard navigation and reduced motion. The index covers loaded history; bookmarks remain outside this slice.
Pre-Landing Review
Native review found no remaining blocker. Coverage audit: 19/19 changed behavior paths protected; plan audit: 9/9 deliverables complete. Light, dark, private and channel screenshots were inspected. The optional external Claude Code review was unavailable due authentication. GitHub automatic code and security reviews completed for historical head
84679dbdwith zero findings. On historical head30192640, code review completed without findings, but security review failed to complete at 2026-10-28T22:42:22Z; its summary flags were unresolved and no finding details were exposed. That failed review is not represented as clean. After synchronizing the newly merged #605, automatic code and security reviews both completed on current headfdd1af3db666c5ebcea5a70b8380db3e4f01d3dawith zero findings and no unresolved review threads (confirmed 2026-10-29T00:45:49Z). No bot retry comment was posted. Navigation production sources and the feature contract remain unchanged by the upstream merge.No detected gate relaxation; inventory coverage is partial (2 listed, 0 eligible, 75 unmatched paths). The isolated tick width transition is intentional OpenClaw motion behavior.
Existing failures
The extended pre-gate is not all-green. Two Office daemon source-projection tests, five older channel cases and one WorkCell multiline-output case also fail on a clean
origin/maincontrol atddc9a95e. These tests are unchanged by this feature. The owner explicitly approved recording these existing failures and continuing only after PR CI passes. No required CI bypass is authorized.The affected existing cases are Office fresh-daemon source projection (unchanged and changed bridge); channel progress-popover animation, execution-proposal confirmation, workflow-only active transcript, empty pending reply thinking indicator and activity triage; WorkCell multiline command evidence. Independent base controls reproduced all eight failures.
Final frozen extended run: 674/676 Node tests and 159/166 browser tests passed. The additional browser failure was the first-wheel setup of an existing reading-anchor case; unchanged reruns of both variants passed 6/6 on this branch and 6/6 on the base control. This isolated full-suite failure remains disclosed; its root cause is unconfirmed. Mechanical preflight passed and the tested tree remained unchanged. No green pre-gate receipt is claimed.
Documentation
The feature contract and design index describe identity, motion, dimensions, visibility, loaded-history ownership, keyboard access and cancellation. Two independent audits completed. The second formal input snapshot predates the final keyboard-focus cancellation and test synchronization; parent recheck found the documentation contract unchanged. The formal audit remains blocked by snapshot freshness, under the owner's named exception.
Documentation exception: accepted by repository owner 2026-10-29 via this chat: 记录限制,CI 通过后继续合并(推荐)
Test plan
corepack pnpm --filter @ling-stack/web test: 617 passed (includes four upstream shared-skill model tests).git diff --checkpassed.116f418b27d500e72c25e73294fa973154a270ed: all 16 checks passed in CI run.30192640: all 16 checks and exact-head CI gate passed; CI run.fdd1af3d; no unresolved review threads.fdd1af3db666c5ebcea5a70b8380db3e4f01d3da: all 16 triggered checks, including the required aggregate, passed; exact-head CI gate PASS; CI run.Merge status: latest main
e42aa623a6e5797bb1345c1699000e022c4a8d3b(#605 shared skill discovery/publication) was merged without conflicts, producing current headfdd1af3db666c5ebcea5a70b8380db3e4f01d3da. The complete 77-file feature diff is retained; all feature file contents except the shared documentation index remain byte-identical to30192640. The index retains the navigation link and both upstream skill design links. Fresh local build/typecheck, lint, docs/i18n (421 Markdown files; 19 localization tests), 617 unit tests and 41 browser cases passed on this head, subject to the upstream i18n warning above. The receipt above is bound to current headfdd1af3dwith its fresh local verification and completed current-head cloud reviews. Extended-precheck counts above are historical measurements on116f418b, with the original baseline controls and owner-approved limitations retained; they are not a fresh extended-precheck certificate for this synchronization. Upstream #605 also changes Office packaging and its tests, so the old Office failure controls are historical observations. The activemain-admin-only-mergesrepository rule requires administrator PR merge permission. Merged on 2026-10-29 at 02:49:09 UTC as858966e7a651486fafc7d54b48b1de4fd31f62d7after all 16 checks and both automatic reviews succeeded on approved headfdd1af3d. Ordinary merge was rejected by the role-only rule; the owner-authorized administrator PR route was then used. No failed or pending check was overridden. The actual main ref contains the merge SHA, and the landed tree is byte-identical to the validated head. Local main was fast-forwarded in the clean isolated checkout; the existing uncommitted work in the primary checkout was verified unchanged.This is an Unreleased feature merge; no version, tag, package or deployment change is included.