Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
347 commits
Select commit Hold shift + click to select a range
4f1893a
fix(web): collapsing the working window no longer nudges the timeline…
flamboh Nov 5, 2026
311bf8c
fix(web): the working window's scrollbar shows its whole history from…
flamboh Nov 5, 2026
61aa05b
fix(web): finished and wake-up folds work like the live working fold …
flamboh Nov 5, 2026
65b0303
fix(web): finished turn folds show the live timer's duration format (…
flamboh Nov 5, 2026
4fe0c30
fix(web): tighten the bubble corner under the steer label
maria-rcks Nov 5, 2026
6ffc2f8
fix(web): keep main's /clear command and live transcript working in t…
maria-rcks Nov 6, 2026
f7b40d1
fix(web): carry the tool call setting through the working window and …
maria-rcks Nov 6, 2026
5f16e53
fix(web): hide all drops the duration row when a reply has nothing to…
maria-rcks Nov 6, 2026
b83d700
fix(web): composer rows share the tray row's left and right inset
maria-rcks Nov 8, 2026
1ea84a1
fix(web): a steer sent right after your message joins its bubble group
maria-rcks Nov 9, 2026
ace518c
test(web): drop low-signal tests the redesign added to the composer a…
maria-rcks Nov 9, 2026
a29d93e
refactor(web): a queue drag is one value instead of two run ids
maria-rcks Nov 9, 2026
93b188f
fix(web): drop the plan commands and plan preview main removed from t…
maria-rcks Nov 9, 2026
09c6733
fix(web): the composer effort chip follows main's provider-free reaso…
maria-rcks Nov 9, 2026
0b914c8
fix(web): open turn folds no longer make each timeline update quadratic
Entrpi Nov 8, 2026
f945727
feat(web): establish redesign primitives and shell
maria-rcks Oct 31, 2026
20c007f
refactor(web): remove unused toggle pressed tokens
maria-rcks Oct 31, 2026
b191bee
fix(web): match catalog button and type specimens
maria-rcks Oct 31, 2026
d457745
fix(web): honor reduced motion in overlay primitives
maria-rcks Oct 31, 2026
fc518c8
fix(web): match shell and overlay design geometry
maria-rcks Oct 31, 2026
d99ea34
fix(web): align project search and sidebar badge sizes
maria-rcks Oct 31, 2026
b2566ef
fix(web): preserve shell type role and titlebar spacing
maria-rcks Oct 31, 2026
c257c28
fix(web): give provider tiles room for icons and labels
maria-rcks Oct 31, 2026
9ca181b
fix(web): match browser address toolbar spacing to design
maria-rcks Oct 31, 2026
eae8d57
fix(chat): match inline request cards to the timeline design
maria-rcks Oct 31, 2026
9090993
feat(ui): add relaxed picker spacing and compact key hints
maria-rcks Oct 31, 2026
1494a50
fix(ui): use the inset field surface and format picker variants
maria-rcks Oct 31, 2026
805dead
fix(ui): preserve web context menu widths
maria-rcks Oct 31, 2026
d2c18ed
fix(ui): keep palette actions above provider notices
maria-rcks Oct 31, 2026
7e2a2d8
fix(ui): fit browser previews inside a landscape floating frame
maria-rcks Oct 31, 2026
7d90125
fix(web): restore compact panel controls and touch targets
maria-rcks Oct 31, 2026
2a0f3f9
fix(web): home screen project rows show the project they open (#29085)
flamboh Nov 2, 2026
ccaa3f8
fix(web): Snoozed and Settled rows drop the PR badge, and snooze time…
flamboh Nov 2, 2026
e740b4c
fix(web): snoozed rows show the snooze time like main
maria-rcks Nov 2, 2026
12ac7ed
fix(web): project groups show an icon if any checkout has one (#29199)
flamboh Nov 2, 2026
5ef6863
fix(web): open pull requests show the arrow icon again (#29213)
flamboh Nov 2, 2026
c5d9a7b
fix(web): restore main sidebar thread rows
maria-rcks Nov 3, 2026
1276fc7
fix(web): new-thread project rows inset their environment icon (#29985)
flamboh Nov 3, 2026
13ab9e3
fix(web): palette project rows show the location under the name (#29980)
flamboh Nov 3, 2026
026aeac
fix(web): palette result titles use the 14px label role
maria-rcks Nov 6, 2026
208129b
fix(web): sidebar New thread skips the project dialog (#29973)
flamboh Nov 3, 2026
08bbff8
fix(web): preserve rebased server text and shortcut expectations
maria-rcks Nov 3, 2026
c3636ec
fix(web): sidebar rows no longer show a Merged status (#31105)
SunkenInTime Nov 5, 2026
aa7df85
fix(web): sidebar PR badges use the same green as the rest of the red…
flamboh Nov 5, 2026
71bdbfb
fix(web): adapt main's dictation UI to the redesign primitives
maria-rcks Nov 6, 2026
8d20593
fix(mobile): approvals and notices drop the all-caps headings (#32181)
flamboh Nov 7, 2026
6ed5513
fix(mobile): match the thread list timer to the web sidebar (#32893)
shivamhwp Nov 8, 2026
55fadd6
fix(web): adapt main's new surfaces to the redesign primitives
maria-rcks Nov 8, 2026
8c08ba0
test(web): drop low-signal tests the redesign added to the primitives…
maria-rcks Nov 9, 2026
d09d5e6
fix(web): fit main's latest shell changes into the redesign primitives
maria-rcks Nov 9, 2026
830366c
fix(web): fit main's text generator settings into the redesign primit…
maria-rcks Nov 9, 2026
3140054
fix(web): model mentions use the redesign's type roles
maria-rcks Nov 9, 2026
8ad810a
test(web): the palette intent test reads the redesign's placeholder
maria-rcks Nov 9, 2026
f255cb5
fix(web): carry main updates through the redesign primitives
maria-rcks Nov 11, 2026
4147946
test(web): isolate the palette's remembered project
maria-rcks Nov 11, 2026
09cf91e
feat(web): redesign composer and conversation timeline
maria-rcks Oct 31, 2026
d8d91c6
refactor(chat): remove unused work log helpers
maria-rcks Oct 31, 2026
9fae8dd
fix(chat): stop tool shine while waiting for input
maria-rcks Oct 31, 2026
324a4ea
fix(chat): keep paused timer clear of question text
maria-rcks Oct 31, 2026
92ecfdc
fix(chat): keep approval decisions together on narrow screens
maria-rcks Oct 31, 2026
27aad46
fix(chat): match composer corner and send slot dimensions
maria-rcks Oct 31, 2026
8b9afd8
fix(chat): match the collapsed working window dimensions
maria-rcks Oct 31, 2026
476eff7
fix(chat): acknowledge custom question answers in the footer
maria-rcks Oct 31, 2026
a7559b1
style(chat): format grouped approval actions
maria-rcks Oct 31, 2026
27ea375
fix(chat): summarize wake-ups and retain the latest answer
maria-rcks Oct 31, 2026
6eaae39
fix(chat): use the pill radius token and accessible wake-up label
maria-rcks Oct 31, 2026
f75ff63
style(chat): format the composer surface
maria-rcks Oct 31, 2026
fb608f7
fix(chat): align timeline rows and attachment layouts with design
maria-rcks Oct 31, 2026
7aba16b
fix(chat): keep row class helper compiler eligible
maria-rcks Oct 31, 2026
fd6f523
fix(chat): expose the existing interrupt action on live work rows
maria-rcks Oct 31, 2026
f1cee88
fix(chat): keep interrupt available in grouped live rows
maria-rcks Oct 31, 2026
828870f
fix(chat): keep turn interrupt off task summary rows
maria-rcks Oct 31, 2026
f57d628
fix(chat): match composer suggestion and picker menus to the design
maria-rcks Oct 31, 2026
2682602
fix(chat): keep branch picker separators stable
maria-rcks Oct 31, 2026
106ca37
fix(chat): let the picker text role own its weight
maria-rcks Oct 31, 2026
cdc8a15
fix(chat): match the option c composer and integrated tray
maria-rcks Oct 31, 2026
0f16c8a
fix(chat): validate plan actions and queued reorder commands
maria-rcks Oct 31, 2026
6ed84e2
fix(chat): keep work and notices in the composer tray
maria-rcks Oct 31, 2026
7f311c9
fix(chat): reserve the machine chip for remote threads
maria-rcks Oct 31, 2026
9f554cb
fix(chat): wire approval shortcuts in the composer tray
maria-rcks Oct 31, 2026
b562d73
fix(chat): settle completed tasks and cap the prompt at eight lines
maria-rcks Oct 31, 2026
d8ab2b8
fix(chat): keep tray work bound to the active run
maria-rcks Oct 31, 2026
77e1f7f
fix(chat): accept approval keys from the focused workspace
maria-rcks Oct 31, 2026
5078239
fix(chat): collapse composer controls on narrow panes
maria-rcks Oct 31, 2026
b512519
fix(chat): keep picked attachments above the prompt
maria-rcks Oct 31, 2026
7323ae1
fix(chat): preview queue order while dragging
maria-rcks Oct 31, 2026
fec1cbe
fix(chat): show the branch picker chevron in the tray
maria-rcks Oct 31, 2026
2eca994
fix(chat): stage file rows without an automatic reference
maria-rcks Oct 31, 2026
c848848
fix(chat): keep question actions in the tray panel
maria-rcks Oct 31, 2026
732dbbe
fix(chat): align composer and requests with final design
maria-rcks Oct 31, 2026
fcb5ba6
fix(chat): anchor composer and branch popup to design edges
maria-rcks Oct 31, 2026
edcffab
fix(chat): keep approval actions together and remove unused drop overlay
maria-rcks Oct 31, 2026
ffbd037
fix(chat): keep tray border inside composer dimensions
maria-rcks Oct 31, 2026
c62ab08
fix(chat): reconcile node views outside React lifecycle
maria-rcks Oct 31, 2026
c5527d5
fix(chat): preserve synchronous caret updates and popup width
maria-rcks Oct 31, 2026
b04a71d
fix(web): steered turns' fold rows each show their own time and edits…
flamboh Nov 2, 2026
63084f8
fix(web): a finished turn's label stays readable next to still-runnin…
flamboh Nov 2, 2026
b13aaf8
fix(web): steered turns read like a chat with one fold at the end (#2…
flamboh Nov 2, 2026
d73de57
test(web): drop the removed assistant timestamp assertion
maria-rcks Nov 3, 2026
a1e0462
fix(web): the working window expands downward without moving the bar …
flamboh Nov 2, 2026
98091b5
refactor(chat): remove obsolete thinking interrupt flag
maria-rcks Nov 3, 2026
0303498
fix(web): keep background work off turn fold rows
maria-rcks Nov 2, 2026
bc86a27
feat(web): context chips drop the pill and read as colored text, in r…
flamboh Nov 2, 2026
b787277
fix(web): narrow composers collapse the env and branch chips instead …
flamboh Nov 2, 2026
1642ad6
fix(web): scroll collapsed working history independently
maria-rcks Nov 3, 2026
d146618
fix(web): Limits opens the usage limits popover directly (#29222)
flamboh Nov 3, 2026
53f48a0
fix(web): clarify account scope in the usage limits popover
maria-rcks Nov 3, 2026
15b0422
fix(web): the working bar shows its fold caret again (#29969)
flamboh Nov 3, 2026
08074e4
fix(web): collapsing the working window keeps its top fade (#29972)
flamboh Nov 3, 2026
785bb08
fix(web): a running turn's answer streams below the fold, not inside …
flamboh Nov 3, 2026
dc4c227
fix(web): new wake-ups join their fold without shifting the timeline …
flamboh Nov 3, 2026
e6ecdea
fix(web): retain composer compatibility after rebase
maria-rcks Nov 3, 2026
d30606e
fix(web): composer text and placeholder stay clear of the send button…
flamboh Nov 5, 2026
62b920d
fix(web): pasting an image or file drops its chip in the prompt again…
flamboh Nov 5, 2026
ffc7774
fix(web): collapsing the working window no longer nudges the timeline…
flamboh Nov 5, 2026
26bc45f
fix(web): the working window's scrollbar shows its whole history from…
flamboh Nov 5, 2026
ba64547
fix(web): finished and wake-up folds work like the live working fold …
flamboh Nov 5, 2026
6e57937
fix(web): finished turn folds show the live timer's duration format (…
flamboh Nov 5, 2026
9129a2a
fix(web): tighten the bubble corner under the steer label
maria-rcks Nov 5, 2026
8620530
fix(web): keep main's /clear command and live transcript working in t…
maria-rcks Nov 6, 2026
b1933f3
fix(web): carry the tool call setting through the working window and …
maria-rcks Nov 6, 2026
cb787c3
fix(web): hide all drops the duration row when a reply has nothing to…
maria-rcks Nov 6, 2026
c5bddaa
fix(web): composer rows share the tray row's left and right inset
maria-rcks Nov 8, 2026
5ff7714
fix(web): a steer sent right after your message joins its bubble group
maria-rcks Nov 9, 2026
cc4fdd2
test(web): drop low-signal tests the redesign added to the composer a…
maria-rcks Nov 9, 2026
ced13fa
refactor(web): a queue drag is one value instead of two run ids
maria-rcks Nov 9, 2026
a834dd4
fix(web): drop the plan commands and plan preview main removed from t…
maria-rcks Nov 9, 2026
340b825
fix(web): the composer effort chip follows main's provider-free reaso…
maria-rcks Nov 9, 2026
bae692d
style(web): format the main timeline integrations
maria-rcks Nov 11, 2026
96065dd
fix(web): keep citation editor source navigation on the parent thread
maria-rcks Nov 11, 2026
6f13f36
fix(web): remove morphing from the redesigned fold caret
maria-rcks Nov 11, 2026
41d63bc
Merge branch 'maria/redesign/2-composer-timeline' into perf/redesign-…
maria-rcks Nov 11, 2026
5783696
feat(web): establish redesign primitives and shell
maria-rcks Oct 31, 2026
0742cdf
refactor(web): remove unused toggle pressed tokens
maria-rcks Oct 31, 2026
19432d2
fix(web): match catalog button and type specimens
maria-rcks Oct 31, 2026
0571f7f
fix(web): honor reduced motion in overlay primitives
maria-rcks Oct 31, 2026
387b352
fix(web): match shell and overlay design geometry
maria-rcks Oct 31, 2026
abcb01e
fix(web): align project search and sidebar badge sizes
maria-rcks Oct 31, 2026
aa08f58
fix(web): preserve shell type role and titlebar spacing
maria-rcks Oct 31, 2026
ac2f30f
fix(web): give provider tiles room for icons and labels
maria-rcks Oct 31, 2026
58d90a6
fix(web): match browser address toolbar spacing to design
maria-rcks Oct 31, 2026
eef8a73
fix(chat): match inline request cards to the timeline design
maria-rcks Oct 31, 2026
28156b7
feat(ui): add relaxed picker spacing and compact key hints
maria-rcks Oct 31, 2026
f8ea40d
fix(ui): use the inset field surface and format picker variants
maria-rcks Oct 31, 2026
1d6297b
fix(ui): preserve web context menu widths
maria-rcks Oct 31, 2026
4f78e28
fix(ui): keep palette actions above provider notices
maria-rcks Oct 31, 2026
9f491ea
fix(ui): fit browser previews inside a landscape floating frame
maria-rcks Oct 31, 2026
ad1e1a6
fix(web): restore compact panel controls and touch targets
maria-rcks Oct 31, 2026
3d4c008
fix(web): home screen project rows show the project they open (#29085)
flamboh Nov 2, 2026
e44d960
fix(web): Snoozed and Settled rows drop the PR badge, and snooze time…
flamboh Nov 2, 2026
7a8d326
fix(web): snoozed rows show the snooze time like main
maria-rcks Nov 2, 2026
620e0c1
fix(web): project groups show an icon if any checkout has one (#29199)
flamboh Nov 2, 2026
f22a07d
fix(web): open pull requests show the arrow icon again (#29213)
flamboh Nov 2, 2026
c640a06
fix(web): restore main sidebar thread rows
maria-rcks Nov 3, 2026
4946e2b
fix(web): new-thread project rows inset their environment icon (#29985)
flamboh Nov 3, 2026
0706efb
fix(web): palette project rows show the location under the name (#29980)
flamboh Nov 3, 2026
167b08a
fix(web): palette result titles use the 14px label role
maria-rcks Nov 6, 2026
ede44c1
fix(web): sidebar New thread skips the project dialog (#29973)
flamboh Nov 3, 2026
0a492fb
fix(web): preserve rebased server text and shortcut expectations
maria-rcks Nov 3, 2026
32ab9af
fix(web): sidebar rows no longer show a Merged status (#31105)
SunkenInTime Nov 5, 2026
22917d0
fix(web): sidebar PR badges use the same green as the rest of the red…
flamboh Nov 5, 2026
c1339c3
fix(web): adapt main's dictation UI to the redesign primitives
maria-rcks Nov 6, 2026
78bca7a
fix(mobile): approvals and notices drop the all-caps headings (#32181)
flamboh Nov 7, 2026
7c6157d
fix(mobile): match the thread list timer to the web sidebar (#32893)
shivamhwp Nov 8, 2026
f890df9
fix(web): adapt main's new surfaces to the redesign primitives
maria-rcks Nov 8, 2026
5b99a2d
test(web): drop low-signal tests the redesign added to the primitives…
maria-rcks Nov 9, 2026
2e1d94a
fix(web): fit main's latest shell changes into the redesign primitives
maria-rcks Nov 9, 2026
4ba25b2
fix(web): fit main's text generator settings into the redesign primit…
maria-rcks Nov 9, 2026
52a6790
fix(web): model mentions use the redesign's type roles
maria-rcks Nov 9, 2026
200ad4a
test(web): the palette intent test reads the redesign's placeholder
maria-rcks Nov 9, 2026
4ad52f8
fix(web): carry main updates through the redesign primitives
maria-rcks Nov 11, 2026
fddcc73
test(web): isolate the palette's remembered project
maria-rcks Nov 11, 2026
e10c92a
fix(web): format the preserved git status notice
maria-rcks Nov 11, 2026
16f7dec
feat(web): redesign composer and conversation timeline
maria-rcks Oct 31, 2026
d9e7aa6
refactor(chat): remove unused work log helpers
maria-rcks Oct 31, 2026
9643375
fix(chat): stop tool shine while waiting for input
maria-rcks Oct 31, 2026
ef3dcdc
fix(chat): keep paused timer clear of question text
maria-rcks Oct 31, 2026
71e4464
fix(chat): keep approval decisions together on narrow screens
maria-rcks Oct 31, 2026
bf425d5
fix(chat): match composer corner and send slot dimensions
maria-rcks Oct 31, 2026
1dab8c4
fix(chat): match the collapsed working window dimensions
maria-rcks Oct 31, 2026
00c2f08
fix(chat): acknowledge custom question answers in the footer
maria-rcks Oct 31, 2026
c455761
style(chat): format grouped approval actions
maria-rcks Oct 31, 2026
c75701f
fix(chat): summarize wake-ups and retain the latest answer
maria-rcks Oct 31, 2026
5f36382
fix(chat): use the pill radius token and accessible wake-up label
maria-rcks Oct 31, 2026
2466a45
style(chat): format the composer surface
maria-rcks Oct 31, 2026
7298439
fix(chat): align timeline rows and attachment layouts with design
maria-rcks Oct 31, 2026
f797467
fix(chat): keep row class helper compiler eligible
maria-rcks Oct 31, 2026
e51d036
fix(chat): expose the existing interrupt action on live work rows
maria-rcks Oct 31, 2026
46cf7c8
fix(chat): keep interrupt available in grouped live rows
maria-rcks Oct 31, 2026
24bffc3
fix(chat): keep turn interrupt off task summary rows
maria-rcks Oct 31, 2026
f096051
fix(chat): match composer suggestion and picker menus to the design
maria-rcks Oct 31, 2026
6c366e3
fix(chat): keep branch picker separators stable
maria-rcks Oct 31, 2026
a5450a3
fix(chat): let the picker text role own its weight
maria-rcks Oct 31, 2026
9e513b7
fix(chat): match the option c composer and integrated tray
maria-rcks Oct 31, 2026
9e6be20
fix(chat): validate plan actions and queued reorder commands
maria-rcks Oct 31, 2026
9b796d2
fix(chat): keep work and notices in the composer tray
maria-rcks Oct 31, 2026
f0d9f9a
fix(chat): reserve the machine chip for remote threads
maria-rcks Oct 31, 2026
f9bd5c3
fix(chat): wire approval shortcuts in the composer tray
maria-rcks Oct 31, 2026
07379e4
fix(chat): settle completed tasks and cap the prompt at eight lines
maria-rcks Oct 31, 2026
3c8558f
fix(chat): keep tray work bound to the active run
maria-rcks Oct 31, 2026
26864f9
fix(chat): accept approval keys from the focused workspace
maria-rcks Oct 31, 2026
86c1382
fix(chat): collapse composer controls on narrow panes
maria-rcks Oct 31, 2026
c38c181
fix(chat): keep picked attachments above the prompt
maria-rcks Oct 31, 2026
45fe8ad
fix(chat): preview queue order while dragging
maria-rcks Oct 31, 2026
de2b27d
fix(chat): show the branch picker chevron in the tray
maria-rcks Oct 31, 2026
3c0d8cb
fix(chat): stage file rows without an automatic reference
maria-rcks Oct 31, 2026
4a1757f
fix(chat): keep question actions in the tray panel
maria-rcks Oct 31, 2026
f596c94
fix(chat): align composer and requests with final design
maria-rcks Oct 31, 2026
f12bc56
fix(chat): anchor composer and branch popup to design edges
maria-rcks Oct 31, 2026
0c208ff
fix(chat): keep approval actions together and remove unused drop overlay
maria-rcks Oct 31, 2026
67f5277
fix(chat): keep tray border inside composer dimensions
maria-rcks Oct 31, 2026
31cc314
fix(chat): reconcile node views outside React lifecycle
maria-rcks Oct 31, 2026
9a8b49a
fix(chat): preserve synchronous caret updates and popup width
maria-rcks Oct 31, 2026
5b54450
fix(web): steered turns' fold rows each show their own time and edits…
flamboh Nov 2, 2026
228a771
fix(web): a finished turn's label stays readable next to still-runnin…
flamboh Nov 2, 2026
91f07ce
fix(web): steered turns read like a chat with one fold at the end (#2…
flamboh Nov 2, 2026
3b807ac
test(web): drop the removed assistant timestamp assertion
maria-rcks Nov 3, 2026
71377a7
fix(web): the working window expands downward without moving the bar …
flamboh Nov 2, 2026
b48e62d
refactor(chat): remove obsolete thinking interrupt flag
maria-rcks Nov 3, 2026
45f3351
fix(web): keep background work off turn fold rows
maria-rcks Nov 2, 2026
cae3791
feat(web): context chips drop the pill and read as colored text, in r…
flamboh Nov 2, 2026
548063d
fix(web): narrow composers collapse the env and branch chips instead …
flamboh Nov 2, 2026
88a5248
fix(web): scroll collapsed working history independently
maria-rcks Nov 3, 2026
d785479
fix(web): Limits opens the usage limits popover directly (#29222)
flamboh Nov 3, 2026
ff6dede
fix(web): clarify account scope in the usage limits popover
maria-rcks Nov 3, 2026
60c6461
fix(web): the working bar shows its fold caret again (#29969)
flamboh Nov 3, 2026
c06372e
fix(web): collapsing the working window keeps its top fade (#29972)
flamboh Nov 3, 2026
731599f
fix(web): a running turn's answer streams below the fold, not inside …
flamboh Nov 3, 2026
7a32673
fix(web): new wake-ups join their fold without shifting the timeline …
flamboh Nov 3, 2026
8819f7c
fix(web): retain composer compatibility after rebase
maria-rcks Nov 3, 2026
8747760
fix(web): composer text and placeholder stay clear of the send button…
flamboh Nov 5, 2026
91ef4b3
fix(web): pasting an image or file drops its chip in the prompt again…
flamboh Nov 5, 2026
1013caa
fix(web): collapsing the working window no longer nudges the timeline…
flamboh Nov 5, 2026
56d540a
fix(web): the working window's scrollbar shows its whole history from…
flamboh Nov 5, 2026
2239130
fix(web): finished and wake-up folds work like the live working fold …
flamboh Nov 5, 2026
59cd94e
fix(web): finished turn folds show the live timer's duration format (…
flamboh Nov 5, 2026
498f2e0
fix(web): tighten the bubble corner under the steer label
maria-rcks Nov 5, 2026
4d1285f
fix(web): keep main's /clear command and live transcript working in t…
maria-rcks Nov 6, 2026
47e2990
fix(web): carry the tool call setting through the working window and …
maria-rcks Nov 6, 2026
7f38c30
fix(web): hide all drops the duration row when a reply has nothing to…
maria-rcks Nov 6, 2026
0d529cd
fix(web): composer rows share the tray row's left and right inset
maria-rcks Nov 8, 2026
b732f5d
fix(web): a steer sent right after your message joins its bubble group
maria-rcks Nov 9, 2026
ad1a2c4
test(web): drop low-signal tests the redesign added to the composer a…
maria-rcks Nov 9, 2026
1e6e6b1
refactor(web): a queue drag is one value instead of two run ids
maria-rcks Nov 9, 2026
a4e9a2d
fix(web): drop the plan commands and plan preview main removed from t…
maria-rcks Nov 9, 2026
ba7f842
fix(web): the composer effort chip follows main's provider-free reaso…
maria-rcks Nov 9, 2026
c4823eb
style(web): format the main timeline integrations
maria-rcks Nov 11, 2026
60c2130
fix(web): keep citation editor source navigation on the parent thread
maria-rcks Nov 11, 2026
cb2ce53
fix(web): remove morphing from the redesigned fold caret
maria-rcks Nov 11, 2026
d5b85de
Merge remote-tracking branch 'github/maria/redesign/2-composer-timeli…
maria-rcks Nov 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,7 @@ Architecture and its constraints: `docs/internals/overview.md`. Glossary: `docs/
projection, tight loops) or duplicate an existing tracing boundary; explain that choice nearby.
Named `Effect.fn` creates a span; the unnamed form does not. Preserve existing span names and
options, and pass combinators as additional function-builder arguments.
- Before building UI, open `/design-system` in a dev build: it renders every primitive, variant and type role. Text takes a role (`<Text variant>` or `text-title` … `text-micro`), not `text-sm` or `font-medium`; a clickable thing is a `components/ui` control, not a styled `<button>` or `<a>`. `t3code/no-raw-type-classes` and `t3code/no-styled-raw-controls` fail lint, and their per-file ceilings in `vite.config.ts` only go down.
- Inferred types over annotations. `any` is the enemy.
- Default to no comment. Write one only for a constraint, an external quirk, or an invariant the code can't show, in one line where you can and four at most. Don't restate names or signatures, narrate steps, record history, or explain the fix you just made; the PR carries that. `t3code/no-low-value-comments` enforces the length cap and the mechanical cases.
- React effects are for synchronizing with something outside React. Derive in render and act in handlers instead of syncing state, but don't hide real lifecycle work in refs or stores to dodge one. The `t3code/no-unreasoned-state-sync` lint rule reports every effect; one that stays states its reason with `// oxlint-disable-next-line t3code/no-unreasoned-state-sync -- <why>`.
Expand Down
30 changes: 7 additions & 23 deletions apps/desktop/resources/dmg/dmg-background-latest.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
40 changes: 10 additions & 30 deletions apps/desktop/resources/dmg/dmg-background-nightly.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions apps/desktop/src/app/DesktopLifecycle.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,9 @@ function layerElectronApp(

const layerElectronTheme = Layer.succeed(ElectronTheme.ElectronTheme, {
shouldUseDarkColors: Effect.succeed(false),
shouldUseDarkChrome: Effect.succeed(false),
setSource: () => Effect.void,
setBlackChrome: () => Effect.void,
onUpdated: () => Effect.void,
});

Expand Down
21 changes: 21 additions & 0 deletions apps/desktop/src/electron/ElectronTheme.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,14 @@ export class ElectronTheme extends Context.Service<
ElectronTheme,
{
readonly shouldUseDarkColors: Effect.Effect<boolean>;
/**
* Whether the window chrome (native background, caption button symbols)
* is dark: the dark appearance, or the renderer's light, black chrome.
*/
readonly shouldUseDarkChrome: Effect.Effect<boolean>;
readonly setSource: (theme: DesktopTheme) => Effect.Effect<void, ElectronThemeSetSourceError>;
/** The renderer's light, black chrome appearance; notifies onUpdated listeners. */
readonly setBlackChrome: (enabled: boolean) => Effect.Effect<void>;
readonly onUpdated: (listener: () => void) => Effect.Effect<void, never, Scope.Scope>;
}
>()("@t3tools/desktop/electron/ElectronTheme") {}
Expand All @@ -38,6 +45,10 @@ type WatchSystemColorScheme = (onChange: (scheme: LinuxColorScheme) => void) =>
export const makeWith = Effect.fn("ElectronTheme.make")(function* (
watchSystemColorScheme: WatchSystemColorScheme | undefined,
) {
// Black chrome is renderer state, not a native theme source, so the service
// keeps it and fans changes out to the same listeners as native updates.
let blackChrome = false;
const blackChromeListeners = new Set<() => void>();
let source: DesktopTheme = Electron.nativeTheme.themeSource;
let systemScheme: LinuxColorScheme = null;
// On Linux, Electron reads the desktop color scheme once and then ignores the settings
Expand All @@ -64,6 +75,7 @@ export const makeWith = Effect.fn("ElectronTheme.make")(function* (

return ElectronTheme.of({
shouldUseDarkColors: Effect.sync(() => Electron.nativeTheme.shouldUseDarkColors),
shouldUseDarkChrome: Effect.sync(() => Electron.nativeTheme.shouldUseDarkColors || blackChrome),
setSource: Effect.fn("ElectronTheme.setSource")(function (theme) {
return Effect.try({
try: () => {
Expand All @@ -73,15 +85,24 @@ export const makeWith = Effect.fn("ElectronTheme.make")(function* (
catch: (cause) => new ElectronThemeSetSourceError({ source: theme, cause }),
});
}),
setBlackChrome: Effect.fn("ElectronTheme.setBlackChrome")(function (enabled) {
return Effect.sync(() => {
if (blackChrome === enabled) return;
blackChrome = enabled;
for (const listener of blackChromeListeners) listener();
});
}),
onUpdated: Effect.fn("ElectronTheme.onUpdated")(function (listener) {
return Effect.acquireRelease(
Effect.suspend(() => {
Electron.nativeTheme.on("updated", listener);
blackChromeListeners.add(listener);
return Effect.void;
}),
() =>
Effect.suspend(() => {
Electron.nativeTheme.removeListener("updated", listener);
blackChromeListeners.delete(listener);
return Effect.void;
}),
);
Expand Down
4 changes: 4 additions & 0 deletions apps/desktop/src/ipc/DesktopIpcHandlers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,10 @@ import {
pickFolder,
pickProjectFavicon,
pickThemeFiles,
setBlackChrome,
setTheme,
syncHtmlFullscreen,
setWindowButtonsVisible,
showContextMenu,
} from "./methods/window.ts";
import {
Expand Down Expand Up @@ -146,6 +148,7 @@ export const installDesktopIpcHandlers = Effect.fn("desktop.ipc.installHandlers"
yield* ipc.handle(pickProjectFavicon);
yield* ipc.handle(pickThemeFiles);
yield* ipc.handle(setTheme);
yield* ipc.handle(setBlackChrome);
yield* ipc.handle(showContextMenu);
yield* ipc.handle(openExternal);
yield* ipc.handle(readMedia);
Expand All @@ -156,6 +159,7 @@ export const installDesktopIpcHandlers = Effect.fn("desktop.ipc.installHandlers"
yield* ipc.handle(pasteAsText);
yield* ipc.handle(revealWindow);
yield* ipc.handle(syncHtmlFullscreen);
yield* ipc.handle(setWindowButtonsVisible);
yield* ipc.handle(probeRemoteEditors);
yield* ipc.handle(getUpdateState);
yield* ipc.handle(setUpdateChannel);
Expand Down
2 changes: 2 additions & 0 deletions apps/desktop/src/ipc/channels.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ export const SET_NOTIFICATION_BADGE_CHANNEL = "desktop:set-notification-badge";
export const PICK_PROJECT_FAVICON_CHANNEL = "desktop:pick-project-favicon";
export const PICK_THEME_FILES_CHANNEL = "desktop:pick-theme-files";
export const SET_THEME_CHANNEL = "desktop:set-theme";
export const SET_BLACK_CHROME_CHANNEL = "desktop:set-black-chrome";
export const CONTEXT_MENU_CHANNEL = "desktop:context-menu";
export const OPEN_EXTERNAL_CHANNEL = "desktop:open-external";
export const READ_MEDIA_CHANNEL = "desktop:read-media";
Expand All @@ -20,6 +21,7 @@ export const TRACKPAD_SCROLL_END_CHANNEL = "desktop:trackpad-scroll-end";
export const GET_WINDOW_FULLSCREEN_STATE_CHANNEL = "desktop:get-window-fullscreen-state";
export const WINDOW_FULLSCREEN_STATE_CHANNEL = "desktop:window-fullscreen-state";
export const SYNC_HTML_FULLSCREEN_CHANNEL = "desktop:sync-html-fullscreen";
export const SET_WINDOW_BUTTONS_VISIBLE_CHANNEL = "desktop:set-window-buttons-visible";
export const DESKTOP_APP_ACTIVATION_READY_CHANNEL = "desktop:app-activation-ready";
export const DESKTOP_APP_ACTIVATION_COMPLETE_CHANNEL = "desktop:app-activation-complete";
export const DESKTOP_APP_ACTIVATION_REQUEST_CHANNEL = "desktop:app-activation-request";
Expand Down
Loading
Loading