Skip to content

feat: add conversation navigation with sender previews - #616

Merged
tianxiaochannel-oss88 merged 6 commits into
mainfrom
codex/conversation-position-rail
Oct 29, 2026
Merged

tianxiaochannel-oss88 merged 6 commits into
mainfrom
codex/conversation-position-rail

Conversation

@tianxiaochannel-oss88

@tianxiaochannel-oss88 tianxiaochannel-oss88 commented Oct 28, 2026 •

Copy link
Copy Markdown
Collaborator
{
  "schema_version": 1,
  "pr": 616,
  "head": "fdd1af3db666c5ebcea5a70b8380db3e4f01d3da",
  "version": "0.1.3",
  "base": "main",
  "gate": {
    "web-unit": {
      "pass": 617,
      "fail": 0,
      "skip": 0
    },
    "browser-regression": {
      "pass": 41,
      "fail": 0,
      "skip": 0
    },
    "localization": {
      "pass": 19,
      "fail": 0,
      "skip": 0
    }
  },
  "session_kind": "interactive",
  "issues": {
    "fixes": [],
    "refs": [],
    "flakes": []
  },
  "docs": {
    "status": "blocked",
    "scope": "Feature navigation contract, design index and supporting architecture docs; two independent audits completed before final focus-only repair and E2E synchronization; final formal input snapshot is stale, parent contract check unchanged",
    "exception": {
      "accepted_by": "repository owner",
      "date": "2026-10-29",
      "via": "this chat",
      "reason": "记录限制,CI 通过后继续合并(推荐)"
    }
  },
  "review_loop": {
    "passes": 1,
    "blocking_found": 0,
    "deferred": 0,
    "noted": 0,
    "fixed": 0,
    "scope": "GitHub automatic cod"
  }
}

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 84679dbd with zero findings. On historical head 30192640, 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 head fdd1af3db666c5ebcea5a70b8380db3e4f01d3da with 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/main control at ddc9a95e. 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

  • Current synchronized head: corepack pnpm --filter @ling-stack/web test: 617 passed (includes four upstream shared-skill model tests).
  • After synchronizing main, Playwright navigation + reading-stability + surface-reading + API adapter suites: 41 passed (the original three suites contain 36 cases).
  • Web build/typecheck and UI contract lint passed.
  • Documentation links (421 Markdown files) and i18n commands exited successfully; localization tests: 19 passed; all 55 catalogs compiled. The i18n audit warns about new upstream shared-skill UI literal keys awaiting automated translation; navigation locale files are unchanged.
  • git diff --check passed.
  • Previous head 116f418b27d500e72c25e73294fa973154a270ed: all 16 checks passed in CI run.
  • Historical synchronized head 30192640: all 16 checks and exact-head CI gate passed; CI run.
  • Automatic code and security reviews completed with zero findings for current head fdd1af3d; no unresolved review threads.
  • Current head 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 head fdd1af3db666c5ebcea5a70b8380db3e4f01d3da. The complete 77-file feature diff is retained; all feature file contents except the shared documentation index remain byte-identical to 30192640. 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 head fdd1af3d with its fresh local verification and completed current-head cloud reviews. Extended-precheck counts above are historical measurements on 116f418b, 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 active main-admin-only-merges repository rule requires administrator PR merge permission. Merged on 2026-10-29 at 02:49:09 UTC as 858966e7a651486fafc7d54b48b1de4fd31f62d7 after all 16 checks and both automatic reviews succeeded on approved head fdd1af3d. 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.

…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
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 28, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-29T00:44:28.612775Z fdd1af3 New commits
🔒 Security Review ✅ Completed 2026-10-29T00:45:48.712379Z fdd1af3 New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@tianxiaochannel-oss88
tianxiaochannel-oss88 merged commit 858966e into main Oct 29, 2026
16 checks passed
@tianxiaochannel-oss88
tianxiaochannel-oss88 deleted the codex/conversation-position-rail branch October 29, 2026 02:49
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