Skip to content

Bring integrate/design-polish into main (to-main-5: #656–#677) - #681

Merged
ufna merged 63 commits into
mainfrom
integrate/to-main-5
Oct 31, 2026
Merged

ufna merged 63 commits into
mainfrom
integrate/to-main-5

Conversation

@ufna

@ufna ufna commented Oct 31, 2026

Copy link
Copy Markdown
Owner

This brings integrate/design-polish into main through the frozen snapshot integrate/to-main-5. The snapshot is design-polish at 096d966 (PRs #656–#677, merged after to-main-4's bfb2d9b) plus the client/core format fix from #680, cherry-picked. #679 and later merges go into the next snapshot.

Highlights:

Each merge into design-polish got a webui-ac review: pinned pre-merge reviews for updater, security and native changes, post-merge reviews against the mockup otherwise.

Local pre-cut gate at 096d966 (raw logs hashed). Every CI-relevant step passes:

  • all 18 Cargo.lock graphs with --locked;
  • check-source, separators, privacy, client/scripts, publication and CI-security suites;
  • pinned gitleaks 8.30.1 over HEAD --remotes=origin history and over a git archive tree;
  • root clippy and tests, with TMPDIR behind a symlink as on macOS;
  • client/core clippy and all 1,425 tests;
  • Tauri (media) clippy and tests;
  • Windows cross-clippy for root, core and Tauri;
  • npm check, test, build and bundle budget;
  • the worktree lifecycle suite in a private PID namespace;
  • license collection.

cargo fmt --check for client/core found one unwrapped line from #664, fixed by #680 and included here. The root and Tauri crates also have formatting drift, but CI doesn't check their formatting.

🤖 Generated with Claude Code

ufna and others added 30 commits October 30, 2026 23:52
Fence GUI read writers and checkpoint after actual drain
Sync main (to-main-4) back into design-polish
Projects: enable guarded catalog controls (.25.1)
Enable machine label appearance editing
….66.2.35)

The hand-written parser glued a list to the paragraph before it ("My
proposal:" then "- item") and knew no ordered or nested lists, headings,
quotes, emphasis, strikethrough or task lists. The marked lexer (18.1.1,
pinned) now parses, as a lazy chunk preloaded at startup; markdown.ts turns
its tokens into a closed tree: raw HTML stays literal, links keep the
external and file rules, images only link to their target, and tables,
nesting depth and source size are bounded. Activity places its rows only once
the parser is ready, so a message never changes height after placement.
Typography follows the mockup's 8 px rhythm and list style.

The markdown smoke used a replay key the fixture no longer has; it now checks
the CommonMark blocks and that rows and blocks never overlap.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
fix(client): Activity Markdown follows CommonMark and GFM (zerus-5wmh.66.2.35)
Resolve the Activity.tsx import hunk as a union: retain JSX, Dynamic, markdownReady/markdownTree and the CommonMark renderers/placement gate, plus inTauri and posterUrl/visiblePoster and the poster MediaCard. No protocol or poster behavior change.
Load Activity video posters outside JSON batches
Retain supervisor resources after bounded stop
Connect the isolated DeepSeek Native UI workspace
fix(input): accept messages beginning with absolute file paths
Fix .88: keep sent image cards stable through Activity receipts
ufna and others added 25 commits October 31, 2026 01:22
…sign

docs: macOS durable notification intent and closed-app activation
feat(cleanup): retain structured archive refusal evidence
Cover Hide launch status in the app smoke
Add bounded macOS notification correlation policy
Account Fleet shutdown through actual GUI callbacks
Add opt-in macOS live peer code observations
feat(client): restore archived sessions from cleanup review
Add dormant Attention store durability checkpoint
fix(client): keep Archive and Terminate working on stable CLI peers
CI's quick job runs cargo fmt --check for client/core; #664 left one
long assert_eq! unwrapped, which would fail the to-main-5 snapshot.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit b80ae64)
ufna and others added 2 commits October 31, 2026 03:39
The to-main-5 Windows native job timed out waiting for the owned EOF:
the fixture launcher's job ends its Python fake together with the
launcher, so a 100 ms grace across two parallel streams can kill the
fake before it logs EOF. tests/fleet.rs uses 500 ms and passes there;
production keeps its 1 s default.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 58020f3)
#684's longer stop grace did not fix the Windows native job: the owned
EOF never arrives there at any grace. The desktop starts the accounted
Fleet only on Unix (src-tauri commands.rs); Windows keeps Fleet::start,
whose stream EOF tests/fleet.rs covers and which passes on Windows. Gate
the file like its production caller and restore the author's 100 ms
grace. The Windows accounted stop path is tracked separately.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 87efda2)
@ufna
ufna merged commit c92110c into main Oct 31, 2026
31 of 33 checks passed
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