fix(web): mount DM target main from layout and share Channel metadata - #862
Merged
Merged
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
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.
Why we need this PR?
A DM sidebar switch can reach the target layout while Next still supplies neutral/loading leaf children. Me layout now mounts the keyed target conversation directly, following server-channel ownership and retaining
/c/me/[dmId]as the URL route.What changed
No dependencies or backend contracts changed.
Validation
Current head:
0983e5d98eda01198cdcaa86e855074a556353b3. Normal commit hooks passedpnpm typecheck,pnpm lint,pnpm test, both typegrep checks andpnpm knipwithout bypass. Turbo tasks reused matched caches (Web: 901 files / 8859 tests); the hook's agent-driver and CI-script checks ran successfully. Independent regressions passed 3 files / 99 tests on the reviewed patch in a separate QA worktree.git diff --checkpassed; reviewed, staged and committed five-file patches match the implementation handoff byte for byte.Exact-head independent Chromium checks on
0983e5d98: 31/31 PASS across four separate fresh invocations, each exit 0, one worker, zero retries,--max-failures=0, no skips: full warm/WS 7, full17/36/41 15, full DM 5 and the original navigation selection 4. All warm cache/qualification/content stages, retained-forum actual content/release/count/Back-Forward tail, exact remembered C, unchanged stale cold DM Machines, full DM permission/live/Retry and semantic navigation cases executed. These are selected browser checks, not native WebView acceptance.Hosted CI run 37013548544 completed SUCCESS on this exact head: CI Gate, UI E2E Gate, all 12 UI shards, static checks, unit coverage, API E2E, UI build, packed artifact and Lighthouse passed. Scope-excluded Auth/Blog/Windows/Desktop Rust/resizable checks were skipped. Hosted
codecov/patchcheck 110861816480 binds this head and reports 100.00% of diff hit, target 100.00%, SUCCESS.The owner authorized merge and task cleanup once CI passed. Native macOS/iOS/Android runtime was NOT RUN before that instruction: only isolated unique-ID preparation, a macOS Rust development compile, local services and owned device boots occurred; no native App install/launch or computer-use control. After squash merge as
4efeedfc078b36132e872de9cd4b5af582539fbf, all three task worktrees and the local/remote task branch were removed; task services and owned device boots were stopped, with reports and original failures preserved. The shared working copy and formal App data were preserved. Native results and production root cause are not inferred from CI.Earlier head
04687575retains its own evidence: independent DM 5/5 PASS; warm/WS 1 pass / 1 failure / 5 not run, failing the invalid warm DM skeleton selector before qualification release. Hosted run 37009933813 completed FAIL: nine UI shards passed, shards 6/10/12 and UI E2E Gate failed, although patch coverage reached 100% and CI Gate passed. This batch fixes the selector, publishes fresh sidebar identity qualification, separates immediate warm identity from subsequently read child content, and binds history to C's actual qualified first destination. The current-head browser and hosted results above validate these corrections; earlier successes do not transfer automatically.The owner's sustained production Tauri neutral wait, loaded WebView build identity and exact resource/RSC wait remain unverified; source tests and Chromium runs cannot close that report. Earlier
bcd6cf84failures also remain recorded separately.Checklist
Impact Areas
@alook/shared)@alook/web)@alook/app)@alook/email-worker)@alook/ws-do)