Commit 7fac050
fix codex chat (#80)
* Implement chat text batching across service and renderer
* Fix CI checks and address review feedback for chat text batching
- Fix typecheck errors: waitFor import, toBeInTheDocument matcher,
executionMode/currentLaneId nullability
- Fix test failures: add location.search to LocationProbe, add
afterEach(cleanup) to SubagentStrip and Composer tests, fix
Computer use button accessible name matcher
- Reject directory-traversal (../) and home-relative (~/) paths in
workspace path resolution
- Flush buffered text before transcript reads so snapshots include
pending assistant content
- Don't collapse anonymous text chunks lacking turnId/itemId identity
- Remove discrete UI card events (todo_update, subagent_started, etc.)
from the non-flush allowlist so they properly flush buffered prose
- Add aria-pressed to Computer use, Proof, and Project Context toggles
- Return focus to Advanced button trigger on Escape dismiss
- Add onFocus/onBlur handlers to SubagentStrip task rows for keyboard
accessibility
- Derive assistantLabel from model descriptor before session provider
to avoid stale provider drift
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Fix transcript rendering tests and address new review feedback
- Fix 5 transcript rendering tests: use getAllByText for elements that
appear in both summary and detail views, add text event to activity
test so streaming indicator renders, use body textContent for diff
assertions
- Handle Windows drive-letter paths in workspace path resolution by
normalizing backslashes and stripping leading slash from /C:/...
- Make InlineDisclosureRow react to defaultOpen prop changes so rows
auto-expand when status changes (e.g. task failure)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Add aria-expanded to InlineDisclosureRow for screen reader support
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Fix empty-state masking, text back-merge safety, and turn model fallback
- Show streaming indicator even when rows is empty (activity-only
sessions no longer display the onboarding empty state)
- Require turnId or itemId identity before merging text chunks in
the renderer, preventing anonymous text from collapsing into
unrelated assistant messages
- Only resolve turn model from the done-event map; return null for
active turns instead of inheriting the previous turn's model
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent dc4ced8 commit 7fac050
12 files changed
Lines changed: 2442 additions & 585 deletions
File tree
- apps/desktop/src
- main/services/chat
- renderer/components
- chat
- missions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
26 | 32 | | |
27 | 33 | | |
28 | 34 | | |
| |||
262 | 268 | | |
263 | 269 | | |
264 | 270 | | |
| 271 | + | |
265 | 272 | | |
266 | 273 | | |
267 | 274 | | |
| |||
336 | 343 | | |
337 | 344 | | |
338 | 345 | | |
| 346 | + | |
339 | 347 | | |
340 | 348 | | |
341 | 349 | | |
| |||
1236 | 1244 | | |
1237 | 1245 | | |
1238 | 1246 | | |
| 1247 | + | |
| 1248 | + | |
1239 | 1249 | | |
1240 | 1250 | | |
1241 | 1251 | | |
| |||
1917 | 1927 | | |
1918 | 1928 | | |
1919 | 1929 | | |
| 1930 | + | |
| 1931 | + | |
| 1932 | + | |
| 1933 | + | |
| 1934 | + | |
| 1935 | + | |
| 1936 | + | |
| 1937 | + | |
| 1938 | + | |
| 1939 | + | |
| 1940 | + | |
| 1941 | + | |
| 1942 | + | |
| 1943 | + | |
| 1944 | + | |
| 1945 | + | |
| 1946 | + | |
| 1947 | + | |
| 1948 | + | |
| 1949 | + | |
| 1950 | + | |
| 1951 | + | |
| 1952 | + | |
| 1953 | + | |
| 1954 | + | |
| 1955 | + | |
| 1956 | + | |
| 1957 | + | |
| 1958 | + | |
| 1959 | + | |
| 1960 | + | |
| 1961 | + | |
| 1962 | + | |
| 1963 | + | |
| 1964 | + | |
| 1965 | + | |
| 1966 | + | |
| 1967 | + | |
| 1968 | + | |
| 1969 | + | |
| 1970 | + | |
| 1971 | + | |
| 1972 | + | |
| 1973 | + | |
| 1974 | + | |
| 1975 | + | |
| 1976 | + | |
| 1977 | + | |
1920 | 1978 | | |
1921 | 1979 | | |
1922 | 1980 | | |
| |||
1941 | 1999 | | |
1942 | 2000 | | |
1943 | 2001 | | |
| 2002 | + | |
| 2003 | + | |
| 2004 | + | |
| 2005 | + | |
| 2006 | + | |
1944 | 2007 | | |
1945 | 2008 | | |
1946 | 2009 | | |
| |||
1952 | 2015 | | |
1953 | 2016 | | |
1954 | 2017 | | |
| 2018 | + | |
| 2019 | + | |
| 2020 | + | |
1955 | 2021 | | |
1956 | 2022 | | |
1957 | 2023 | | |
1958 | 2024 | | |
1959 | 2025 | | |
1960 | 2026 | | |
| 2027 | + | |
| 2028 | + | |
| 2029 | + | |
1961 | 2030 | | |
1962 | 2031 | | |
1963 | 2032 | | |
| |||
1975 | 2044 | | |
1976 | 2045 | | |
1977 | 2046 | | |
| 2047 | + | |
1978 | 2048 | | |
1979 | 2049 | | |
1980 | 2050 | | |
| |||
2087 | 2157 | | |
2088 | 2158 | | |
2089 | 2159 | | |
| 2160 | + | |
| 2161 | + | |
2090 | 2162 | | |
2091 | 2163 | | |
2092 | 2164 | | |
| |||
2239 | 2311 | | |
2240 | 2312 | | |
2241 | 2313 | | |
| 2314 | + | |
2242 | 2315 | | |
2243 | 2316 | | |
2244 | 2317 | | |
| |||
4800 | 4873 | | |
4801 | 4874 | | |
4802 | 4875 | | |
| 4876 | + | |
4803 | 4877 | | |
4804 | 4878 | | |
4805 | 4879 | | |
| |||
5050 | 5124 | | |
5051 | 5125 | | |
5052 | 5126 | | |
| 5127 | + | |
5053 | 5128 | | |
5054 | 5129 | | |
5055 | 5130 | | |
| |||
Lines changed: 145 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
0 commit comments