Earlier releases left one dsh-auth-* cookie per launch in the default
Electron session. Each Host start now removes them so other requests to
127.0.0.1 stop carrying them.
Co-authored-by: lsdsjy <[email protected]>
Each Desktop launch picks a random Host port and the native welcome client
authenticated through net.fetch with credentials: 'include', so the default
Electron session kept one port-named 30-day dsh-auth cookie per launch.
Cookies ignore ports, so every request carried all of them; after about 70
launches the Cookie header exceeded Node's 16 KiB limit, the Host answered 431,
and startup failed with 'Web authentication failed'.
The welcome RPC client and the account WebSocket now send the Cookie header
returned by authenticateWebHost explicitly and use no cookie jar.
Co-authored-by: lsdsjy <[email protected]>
* feat(schedule): unify task creation and editing
* refactor(schedule): remove obsolete editor helper exports
* fix(schedule): address unified editor review
* fix(schedule): avoid a conflict notice during save refresh
* test(schedule): use unified editor in zoom picker checks
* fix(schedule): preserve drafts through conflict recovery
* docs(schedule): match the linked-session control labels
* fix(schedule): restore the latest linked session after conflicts
* docs(schedule): clarify unsaved draft lifetime
* fix(schedule): align conflict feedback with the detail layout
* fix(schedule): fit editors to pane width and guide empty fields
* fix(schedule): preserve task list and complete field examples
* fix(schedule): keep required-field feedback in the editor
* fix(schedule): align editor content and action gutters
* fix(schedule): wrap localized actions in narrow editors
Revert PR #4484 (merge b9bdd062c8f), retaining later Windows-path and GFM changes. Its display-dollar rules are replaced by upstream math parsing with bounded invalid-block recovery in the next commit.
* perf(session): send one projection frame per committed event
* fix(session): deliver keys changed before a drive failure; address review
* perf(session): carry projection frame changes as key and val entries
* fix(ui-conversation): keep the docked composer seat stable
The active composer seat now keeps one stacking rank (z-index 9) in every
state, a direct compositing reason (will-change: transform), the scroll
floor without relying on a View to fill the column (margin-top: auto), and
no scroll-anchoring role. Composer tooltips portal to the body because the
seat is the containing block for fixed descendants. The width handle keeps
z-index 0 while dragging.
The docked statistics row reserves one reading's height before its
projections arrive, and the header without a Session keeps the blank
Session's 40px row on every platform so both Hero states center the input
card at the same height.
Fixes#7590
* docs(ui-conversation): state the composer fixed-overlay contract
Composer-hosted slots now document that fixed overlays must portal to the
document body, because the docked composer is their containing block; the
client slot catalog is regenerated from that JSDoc. The README also records
that gutter tables cover a captured width-handle drag and that the
composer's backdrop blur is verified only in Chromium. Local comments note
the grayscale text antialiasing of the permanent composer layer, why the
statistics row uses a minimum height, why the sessionless header keeps an
empty title row, and that the Hero offset test assumes the default plugins.
Refs #7590
* docs(ui-conversation): state the back-to-bottom offset as geometry
The composer and back-to-bottom stacking comments now state the resting
16px gap instead of claiming the control never overlaps the input card.
Refs #7590
Composer-hosted slots now document that fixed overlays must portal to the
document body, because the docked composer is their containing block; the
client slot catalog is regenerated from that JSDoc. The README also records
that gutter tables cover a captured width-handle drag and that the
composer's backdrop blur is verified only in Chromium. Local comments note
the grayscale text antialiasing of the permanent composer layer, why the
statistics row uses a minimum height, why the sessionless header keeps an
empty title row, and that the Hero offset test assumes the default plugins.
Refs #7590
* fix(ui-primitives): keep tall menus inside the mobile viewport
* fix(client): anchor model picker with Floating UI
Use Floating UI for fixed model-menu placement and automatic viewport updates. Preserve top-end alignment and defer automatic focus until placement is ready. Guard asynchronous results across updates and menu teardown.
* fix(client): preserve menu blur under pinned group titles
Keep the current provider title outside the native scroll viewport so
model rows cannot bleed through during fast scrolling. Preserve the
enclosing menu fill and backdrop filter, and update both model pickers,
lifecycle tests and ARIA goldens.
Validation: doc-sync, full build, final type checks, focused lint and
all 12 model-picker browser checks pass. The full unit run has 42,597
passing tests and four failures in unchanged gateway, third-party-
notices and Inspector tests. The Inspector case passes in isolation.
* fix(client): stabilize floating panels during browser zoom
* fix(client): keep portal menus aligned during Safari zoom
* fix(client): commit floating menu positions before paint
* fix(client): unify floating panel positioning
* fix(client): validate grouped menu headings
* fix(client): hide inactive pinned menu headings
* test(client): await floating menu layout across consumers
* test(ui-chat): await folded reply menu positioning
* test(client): align current consumers with asynchronous panel layout
* fix(client): prevent mobile model search focus zoom
* refactor(client): inject mobile device state from layout
* fix(client): keep anchored panel layout synchronous
* fix(client): address panel review coverage and documentation
* fix(client): keep viewport changes focused on iOS zoom
* fix(client): cover anchored panel lifecycle and scrollbar colors
* fix(client): preserve zoomed model menu scrolling and alignment
* fix(client): hide empty model menus and stabilize viewport pan tests
* test(web): use native wheel input for zoomed viewport panning
* fix(client): keep automation pickers scrollable when zoomed
* fix(client): allow horizontal gestures across clock columns
* fix(client): ellipsize overflowing floating-panel labels
* test(web): make clock overflow fixture independent of system fonts
---------
Co-authored-by: Zrs000 <[email protected]>