Commit Graph
57 Commits
Author SHA1 Message Date
AnanovoandGitHub a0c676818f fix(web): sync share metadata and active-turn availability (#1306)
* fix(web): align sharing with session state

* fix(web): keep share state in sync

* fix(web): fail closed for trimmed active turns

* fix(web): refresh prepared share images

* fix(web): preserve sharing during queued thinking

* fix: track a stable active turn boundary

* fix: anchor active turns to persisted messages

* fix(web): include Pi reasoning in share metadata

* fix(hub): refresh queued thinking grace on retry

* test(web): isolate mobile thread scroll setup

* fix(hub): advance queued turn boundaries

* fix(hub): guard queued boundary advancement

* perf(web): precompute running turn sharing

* fix(hub): use hub time for turn boundaries

* perf(web): pause closed share metadata timer
2026-08-04 11:18:08 +08:00
AnanovoandGitHub 951091fb3d fix(web): prevent file copy button overlap (#1355) 2026-08-04 08:03:36 +08:00
AnanovoandGitHub 2be5a07aae feat(web): preview composer image attachments (#1322)
* feat(web): preview composer image attachments

* fix(web): address composer preview review
2026-08-03 18:04:51 +08:00
AnanovoandGitHub 518bd7a9a9 fix(web): align file search controls with outline (#1339) 2026-08-03 18:01:53 +08:00
AnanovoandGitHub 2acaeae2ab fix(web): preserve action button contrast across themes (#1340)
* fix(web): use theme colors for storage refresh button

* fix(web): use theme colors for share fallback action
2026-08-03 18:01:43 +08:00
AnanovoandGitHub 3f03e8daa1 feat(web): add expandable message composer (#1319)
* feat(web): add expandable message composer

* fix(web): preserve composer selection when expanding

* fix(web): keep composer toolbar actions tappable

* fix(web): preserve composer escape behavior

* fix(web): apply overflow-safe toolbar alignment
2026-08-03 09:27:12 +08:00
AnanovoandGitHub fb6f697555 fix(web): display Windows file search paths correctly (#1311)
* fix(web): display Windows file search paths correctly

* fix(hub): scope path normalization to Windows
2026-08-02 20:04:46 +08:00
AnanovoandGitHub a6f302ebd1 fix(web): preserve mobile scroll intent after pointer cancellation (#1312)
Keep touch and pen input eligible to cancel initial bottom settling when native panning dispatches pointercancel before scroll. Add interaction coverage for the mobile event sequence and unrelated global cancellations.
2026-08-02 19:53:31 +08:00
AnanovoandGitHub f018c6027b fix(web): restore composer attachment uploads (#1313) 2026-08-02 19:49:03 +08:00
AnanovoandGitHub 68299631f9 feat(web): customize composer toolbar visibility (#1298) 2026-08-02 13:14:00 +08:00
AnanovoandGitHub 74ec247b92 fix(web): make inactive session notices flush with headers (#1299) 2026-08-02 13:04:27 +08:00
AnanovoandGitHub 0537ddf84a feat(web): make session header metadata configurable (#1267)
* feat(web): make session header metadata configurable

* fix(web): align mobile header metadata priority
2026-08-01 23:26:17 +08:00
AnanovoandGitHub 6aae44498d fix(web): align browse button and select chevrons (#1279)
* fix(web): align new-session browse button

* fix(web): inset select chevrons
2026-08-01 22:55:21 +08:00
AnanovoandGitHub bbcef8c300 fix(web): preserve share export layout fidelity (#1277)
* fix(web): preserve share export layout fidelity

* fix(web): keep mobile and multi-image exports responsive

* fix(web): distinguish coarse pointers from touch desktops
2026-08-01 17:10:51 +08:00
AnanovoandGitHub 01bffa3c8c fix(web): stabilize chat scrolling and mobile alignment (#1278)
* fix(web): stabilize chat scrolling and mobile alignment

* fix(web): scope chat scroll containment
2026-08-01 17:10:38 +08:00
AnanovoandGitHub fd20e584d6 feat(web): refine composer status bar (#1281) 2026-08-01 17:09:49 +08:00
AnanovoandGitHub 39da5c4b8e fix(web): align compact dialog titles (#1253) 2026-07-31 18:17:57 +01:00
AnanovoandGitHub f985d56ba5 fix(web): open Windows absolute file paths in session viewer (#1113) 2026-07-31 18:17:45 +01:00
AnanovoandGitHub c5f1928eb0 fix(web): consolidate Codex import in new session (#1240)
* fix(web): consolidate Codex import in new session

* fix(web): clear imported Codex history selection
2026-07-31 18:12:30 +08:00
AnanovoandGitHub 567a6c9499 fix(web): improve session date picker visibility (#1254)
* fix(web): improve session date picker visibility

* fix(web): pair selected date theme colors
2026-07-31 18:11:49 +08:00
AnanovoandGitHub 0db7d68b37 feat(web): add stepwise session preview controls (#1266)
* feat(web): add stepwise session preview controls

* fix(web): avoid no-op session preview collapse

* fix(web): expand previews from rendered count
2026-07-31 16:08:27 +08:00
AnanovoandGitHub 578646812e fix(web): preserve file search when returning from preview (#1251) 2026-07-30 23:24:23 +08:00
AnanovoandGitHub 99814e9668 fix(web): make share image previews interactive (#1229)
* fix(web): make share preview controls interactive

* fix(web): preserve lightbox modal focus
2026-07-30 23:20:23 +08:00
AnanovoandGitHub 36eedc8701 fix(web): align session list status description (#1243) 2026-07-30 09:36:32 +08:00
AnanovoandGitHub c404008072 fix(web): keep sticky workspace headers opaque and aligned (#1234) 2026-07-29 19:55:56 +08:00
AnanovoandGitHub 5f367dcb6a fix(web): polish shared turn image UX (#1208)
* feat(web): include session title in share image filename

* fix(web): polish shared turn image UX
2026-07-28 19:40:02 +08:00
AnanovoandGitHub 8a77d2f84d fix(web): align tool detail layout (#1204)
* fix(web): align inline tool detail spacing

* fix(web): polish tool detail alignment
2026-07-28 17:29:43 +08:00
AnanovoandGitHub ec12c97aec fix(web): align outline close button styling (#1150) 2026-07-28 16:57:31 +08:00
AnanovoandGitHub adb9e2094e fix(web): stabilize session list alignment and scrolling (#1196) 2026-07-28 11:18:05 +08:00
AnanovoandGitHub b28088bfe3 feat(web): show timestamps in conversation outline (#1111) 2026-07-27 19:52:33 +08:00
AnanovoandGitHub 5e8515c1a5 feat(web): add image preview navigation (#1100) 2026-07-27 19:27:45 +08:00
AnanovoandGitHub 24a2656a3b fix(web): center active scratchlist icon (#1105) 2026-07-27 19:27:20 +08:00
AnanovoandGitHub 4a63418103 feat(web): share conversation turns as images (#1047) 2026-07-27 19:26:38 +08:00
AnanovoandGitHub 84323496c6 fix(web): clarify settings heading hierarchy (#1177) 2026-07-27 07:38:50 +08:00
AnanovoandGitHub d90bde0b88 feat(web): show tool execution timing (#1140) 2026-07-26 15:08:40 +08:00
AnanovoandGitHub 351ebafe54 fix(web): connect circular action icon arrowheads (#1154) 2026-07-26 15:07:52 +08:00
AnanovoandGitHub 75e803f359 fix(web): align session agent icons with text (#1159) 2026-07-26 15:05:31 +08:00
AnanovoandGitHub 72476b9cea fix(web): align session sidebar content widths (#1098) 2026-07-24 10:59:06 +08:00
AnanovoandGitHub 224ae07438 feat(web): customize composer toolbar layout (#1101)
* feat(web): customize composer toolbar layout

* fix(web): reorder toolbar across split boundary

* fix(web): match toolbar focus and visual order

* fix(web): support accessible toolbar reordering
2026-07-24 10:58:46 +08:00
AnanovoandGitHub 33015b67db feat(web): add conversation outline search (#1102)
* feat(web): add conversation outline search

* fix(web): keep outline close action accessible
2026-07-24 10:58:23 +08:00
AnanovoandGitHub df36cec01e feat(web): sort file search results (#1109) 2026-07-24 10:58:07 +08:00
AnanovoandGitHub ee5b0239cb fix(web): prevent narrow session tooltips (#1114) 2026-07-24 10:57:32 +08:00
AnanovoandGitHub 8c1d5057d7 feat(web): remember new-session model and effort (#1116)
* feat(web): remember new-session model and effort

* fix(web): wait for launch preference validation

* fix(web): wait for cwd preference validation
2026-07-24 10:57:12 +08:00
AnanovoandGitHub 0834dc098c feat(web): indicate session activity in date picker (#1103)
* feat(web): indicate session activity in date picker

* fix(web): expose session activity to assistive tech
2026-07-24 10:56:20 +08:00
AnanovoandGitHub b2ec09bd0c fix(web): preserve composer attachments across session switches (#1110)
* fix(web): preserve composer attachments across session switches

Persist composer files per session and restore completed uploads without
uploading them again. Clear attachment drafts alongside text after send and
cover restoration, isolation, and adapter reuse with regression tests.

Fixes #465

* fix(web): keep cleared attachment drafts tombstoned

Retain an empty in-memory cache entry until the queued IndexedDB delete completes so a fast remount cannot restore stale files. Add regression coverage for the clear/remount race.

* fix(web): defer attachment restore for inactive sessions

Only restore or clear attachment drafts while the session attachment adapter is available. Preserve saved files when an inactive session mounts without attachment support and add regression coverage.
2026-07-24 10:55:42 +08:00
AnanovoandGitHub 3021c9cba0 fix(web): zero-pad message and session timestamps (#1112) 2026-07-24 10:55:20 +08:00
AnanovoandGitHub 2623a51b0b feat(web): filter sessions by last activity (#1083)
* feat(web): filter sessions by last activity

* test(web): make session date filter tests deterministic
2026-07-19 14:15:24 +08:00
77f94ef738 fix(web): keep machine names visible and health tooltips touchable (#1049)
* fix(web): improve machine health sidebar UX

Keep machine names visible, align health metrics, and make nested health tooltips usable with touch and keyboard input.

via [HAPI](https://hapi.run)

Co-Authored-By: HAPI <noreply@hapi.run>

* fix(web): preserve tooltip focus reveal groups

Keep the unnamed group used by existing focus reveal classes while retaining named hover groups for nested machine health tooltips.

via [HAPI](https://hapi.run)

Co-Authored-By: HAPI <noreply@hapi.run>

* fix(web): add exec* timestamps to ToolCard test fixture

Unblocks typecheck after #1036 made execStartedAt/execCompletedAt
required on ChatToolCall; fixture was missing both fields.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(web): align machine health status with meters

Right-align the capacity status with the utilization meter edge to balance the tooltip header without shortening the bars.

via [HAPI](https://hapi.run)

Co-Authored-By: HAPI <noreply@hapi.run>

* fix(web): restore machine health disclosure semantics

Expose the machine group's expanded state on its toggle and describe the health trigger with the tooltip body for assistive technologies.

via [HAPI](https://hapi.run)

Co-Authored-By: HAPI <noreply@hapi.run>

---------

Co-authored-by: HAPI <noreply@hapi.run>
Co-authored-by: Debian <heavygee@oos-linux.in.lockhouse>
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-19 12:24:09 +08:00
AnanovoandGitHub f1b5ed5e5d fix(claude): preserve native titles and add a remote fallback (#1080)
* fix(claude): preserve native titles and add remote fallback

* fix(claude): write fallback titles as metadata only
2026-07-19 12:23:39 +08:00
AnanovoandGitHub fdf1342cb9 fix(web): keep mobile session header compact (#1082) 2026-07-19 12:22:46 +08:00
AnanovoandGitHub 058a375e6d feat(web): enhance directory browser with metadata and sorting (#1055)
* feat(web): enhance directory browser with metadata and sorting

* test(web): update ToolCard fixture timestamps
2026-07-18 12:26:03 +08:00
AnanovoandGitHub f2e3149ea8 feat(web): align session action menus (#1061) 2026-07-18 12:24:47 +08:00
AnanovoandGitHub bc2545d303 fix(web): clarify token usage labels in message details (#1062) 2026-07-18 12:19:03 +08:00
AnanovoandGitHub 7457a8fc32 fix(web): refine image preview interactions (#723) 2026-05-29 15:42:59 +08:00
AnanovoandGitHub c78785a0b2 fix(web): open tool details from inline previews (#725)
* fix(web): open tool details from inline previews

* fix(web): ignore nested controls in tool previews
2026-05-29 10:22:54 +08:00
AnanovoandGitHub a5c5ee7a2a fix(web): show agent flavor icon in session header (#714)
* fix(web): reuse agent flavor icon in session header

* fix(web): use neutral badge for unknown agent flavor
2026-05-27 21:54:04 +08:00
AnanovoandGitHub cf378dfe31 feat(web): add lightbox preview for chat images (#715) 2026-05-27 21:53:06 +08:00