Repository navigation
Conversation
…ick-only contact Two layers in one square — frosted-glass upper chevron over the complete orange lower chevron — composited live. Still at rest: no load, hover or idle motion. A real activation plays the whole contact before anything else moves: the chevrons close (240 ms) and return to rest (170 ms), and only then does the face open. Equal and opposite 10.35% travel keeps them aligned; the return ends on the resting transform, so releasing the filled animations changes nothing on screen. Repeat clicks wait for the sequence; reduced motion opens immediately; closing an open face skips the contact. Drawn at 90.9% of the slot so its top and bottom sit on the launcher glyph's. Presentation only. The toggle no longer wears the capsule glyph: the mark is part of the face cadence Home owns, like the launcher's dock art. Unit test wired into verify; the entropy check guards the contract. Co-authored-by: Cursor <cursoragent@cursor.com>
…es no dock label Closing the face returns focus to the toggle, and the dock showed the item's label on every focusin — so "Assistant" floated over the mark each time the person came back from the Assistant, though they had neither hovered nor tabbed to it. The dock label answers the person's own arrival: hover after a beat, keyboard focus at once. Focus Home hands back itself is neither, so the face now restores it through the dock (restoreDockFocus), which keeps that one focus quiet. Hover and keyboard labels are unchanged; the entropy check guards the contract. Co-authored-by: Cursor <cursoragent@cursor.com>
SashaMIT
marked this pull request as draft
September 29, 2026 15:09
SashaMIT
changed the base branch from
fix/0.7.1-security
to
feat/0.7.1-models
September 29, 2026 15:09
SashaMIT
force-pushed
the
feat/assistant-dock-mark-0.7.1
branch
from
September 29, 2026 15:09
a9d0b43 to
f88ff13
Compare
home-entropy-check.mjs tests source text and is being retired (#194). home-assistant-mark.test.mjs covers the mark's behavior. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
This was referenced Oct 8, 2026
Contributor
|
Postponed to 0.8.1: old draft, not part of 0.8.0. |
…k-mark-0.7.1 # Conflicts: # .github/workflows/ci.yml
…k-mark-0.7.1 Co-authored-by: Cursor <cursoragent@cursor.com>
…k-mark-0.7.1 Co-authored-by: Cursor <cursoragent@cursor.com>
…k-mark-0.7.1 Co-authored-by: Cursor <cursoragent@cursor.com>
… not toggle the face The mark decides at click time that the activation is an opening, plays the 410 ms contact, then calls toggleAssistantFace(). If the face opened by another path in that window (Agent space, a launch request), the toggle closed it: the click asked for the face and shut it. Re-check the opening after the contact and drop it when stale, and drop it when the mark was unbound mid-flight. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6Qn9RX7LDqrwiAfNC2F2K
…fails handleClick set running = true, awaited playContact() and only then cleared it. If playContact threw (a chevron layer missing from the template, animate() throwing), the guard stayed set and every later click was ignored: the Assistant toggle was dead until reload. Release the guard and the animating flag in finally, and still open the face, since the motion is presentation only. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6Qn9RX7LDqrwiAfNC2F2K
cargo-audit fails on every PR: zip 2.4.2 in elastos/Cargo.lock and in capsules/object-provider/Cargo.lock (through its elastos-server path dependency) has three advisories against ZipArchive::extract and the stream extract API. The runtime calls neither; it reads each entry itself. zip 9.0.4 is the patched release. - elastos-server uses zip 9.0.4, still without default features. 9.x has no separate flate2 feature; deflate-flate2 now enables the dependency. - Both lockfiles change only for zip: nix 0.31.3 and typed-path come in, derive_arbitrary goes. `cargo update -p zip` also moved unrelated range dependencies (windows-sys, getrandom); those lines stay as they were, and `cargo metadata --locked` accepts both files. - ZipFile::name now returns a Result. The ZIP readers report an error as "invalid ZIP archive entry". - Whole-archive extract keeps its rule for entry names. zip 9 enclosed_name turns "/a.txt" into "a.txt" and folds "x/../a.txt" into "a.txt", so an entry that extract refuses today would be written. The runtime now checks the name with the rule zip 2.x applied: no NUL byte, no root or drive prefix, no climb above the archive root. test_library_provider_extract_zip_refuses_absolute_dotdot_and_symlink_entries covers absolute, "..", inner "..", backslash and symlink entries. It passes on zip 2.4.2 and with this change, and fails on the Absolute.zip case when extract uses zip 9 enclosed_name. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6Qn9RX7LDqrwiAfNC2F2K
zip 9 for RUSTSEC-2026-0367/0368/0369 so cargo-audit passes Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6Qn9RX7LDqrwiAfNC2F2K
…d retry (#381) Port of develop commit 5051505 (Anders Alm). The test flaked in CI with "WouldBlock" at journal.rs:4223 on PR heads that predate the fix. (cherry picked from commit 5051505) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6Qn9RX7LDqrwiAfNC2F2K
This was referenced Oct 17, 2026
Contributor
Author
|
Review: pass. Tests 6–8 fail before the fixes and pass at 269064f; the smokes pass. Ready for Anders once CI is green. |
Contributor
|
Audit, 1 November: every change in this PR is on develop and in the 2.0.0 candidates, including the stale-opening guard, the try/finally recovery and test cases 6 to 8 (scripts/home-assistant-mark.test.mjs, 8 cases, run by test-behaviour.sh and just verify). Nothing here is lost; this PR can be closed as landed when you are ready. |
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.
Small and independent of #67. Base
develop. No Rust, no capsule contract change.Branch shape (checked against
origin/developat f346147)develop(git log --no-merges origin/develop..HEAD): six, all about the dock mark:dd9d74cafeat(home-gui): the Assistant toggle wears the Elastos mark with a click-only contactf88ff13afix(home-gui): focus handed back after the Assistant face closes raises no dock labelb35ae724test(home): drop the dock mark source-text contracts12e69240ci: run the dock mark unit test in source-gate (itsci.ymlline was dropped when merge25cc022ftook develop'sscripts/test-source-gate.shlayout; net zero in the PR diff)d5521076fix(home-gui): a dock mark opening made stale during the contact does not toggle the face0c749d67fix(home-gui): the dock mark toggle recovers when the contact motion failsorigin/develop(b750d142,25cc022f,503ca923,e46139c4,ba845d7d). Every second parent is indevelop(git merge-base --is-ancestor), and so is501b411c1, the parent ofdd9d74ca(the oldfeat/0.7.1-modelsbase). Nothing from another feature branch rides along.git diff origin/develop...HEAD) touches only:capsules/assistant/browser/icons/icon-*.png,capsules/home-gui/browser/{home-gui-template.html, shell-assistant-face.js, shell-assistant-mark.js, shell-surface.js, style.css},capsules/home-gui/browser/icons/assistant-mark/**,justfile,scripts/home-assistant-mark.test.mjs.What a person sees
How it is built
shell-assistant-mark.js(new): the whole sequence is Web Animations on the two layers, transform-only; the return ends on the resting transform, so releasing the filled animations changes nothing on screen. Repeat clicks are ignored until the sequence settles. Reduced motion opens immediately. A non-opening activation (closing an open face) skips the motion. Presentation only, no authority.animate()failing), the click guard anddata-animatingare released infinallyand the face still opens. Before this, the guard stayed set and the toggle ignored every later click until reload.shell-assistant-face.jsbinds the mark and no longer mounts the capsule glyph on the toggle; the mark is part of the face cadence Home owns, like the launcher's dock art. The Assistant capsule'sicons/icon-*.pngare the static mark so Launcher and dock agree.focusin, including the focus Home hands back to the toggle when the face closes. The face now restores focus through the dock (restoreDockFocusinshell-surface.js), which keeps that one focus quiet. The label answers only the person's own hover or keyboard arrival.Gates (what is in this diff)
scripts/home-assistant-mark.test.mjs, 8 cases: full sequence and ordering, repeat-click guard, reduced motion, non-opening activation, unbind/null, stale opening during the contact is not toggled shut, unbind during the contact opens nothing, a throwing contact still opens and the toggle keeps answering. Runs injust verify(justfile) and in CItest-behaviourthrough thescripts/*.test.mjsglob inscripts/test-behaviour.sh.home-entropy-checkcontract. The mark checks added indd9d74ca/f88ff13awere removed again inb35ae724, andscripts/home-entropy-check.mjsno longer exists ondevelop(deleted ina32e3e24).restoreDockFocus(focus return raises no label) and the face-side wiring inshell-assistant-face.js.home-agent-shell-smoke,home-shell-regression-smoke,check-capsule-templates,check-product-data,git diff --checkpass.home-clipboard-source-gatefails oncapsules/chat-room/browser/chat-room.js, which this PR does not touch; it fails the same way ondevelop(f346147).Made with Cursor
Part of #84.