Skip to content

Commit 5ec0947

Browse files
committed
docs: record post-v0.5.5 issue triage
1 parent 8d8169e commit 5ec0947

1 file changed

Lines changed: 252 additions & 0 deletions

File tree

‎issue-triage-after-v0.5.5.md‎

Lines changed: 252 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,252 @@
1+
# Issue triage after v0.5.5
2+
3+
## Scope
4+
5+
- Baseline release: `v0.5.5`
6+
- Baseline issue: `#1238` (`fix(models): preserve GPT relay reasoning effort`)
7+
- Initial GitHub snapshot: 2026-09-01, issues `#1239` through `#1290`
8+
- Snapshot size: 42 issues (30 open, 12 closed); pull requests are excluded
9+
- Final GitHub rescan: 2026-09-01; no issue above `#1290`
10+
- Policy: do not change GitHub issue state or labels during this work. A confirmed
11+
fix or accepted small feature is complete only after its isolated session has been
12+
verified and merged into local `main`.
13+
14+
## Outcome
15+
16+
- 12 issues were already closed upstream and required no local change.
17+
- 10 issue reports were handled by 8 isolated implementations and merged into local
18+
`main`; duplicate reports `#1272` and `#1288` are covered by the `#1271` repair.
19+
- 20 open issues were deferred because they could not be reproduced on macOS, lacked
20+
enough evidence for a safe fix, were already supported, or were not very small
21+
features. Their evidence and deferral reasons are recorded below.
22+
23+
## Tracking
24+
25+
| Issue | Upstream state | Triage | macOS reproduction | Isolated session | Local main |
26+
| --- | --- | --- | --- | --- | --- |
27+
| #1239 | open | Deferred: provider/configuration plus insufficient evidence | Current behavior maps semantic context overflow correctly; reported ambiguous 404 not reproduced as a product defect | Not needed | No change |
28+
| #1240 | open | Confirmed product Bug | Reproduced on current `main`: Markdown images are removed from prose and collected at the end | `01a05d06-041e-7182-88db-5f3156d1119b`, commit `a1ddc2734` | Merged as `b1ecce781` |
29+
| #1242 | closed | Already closed upstream | Not needed | Not needed | No change |
30+
| #1243 | closed | Already closed upstream | Not needed | Not needed | No change |
31+
| #1244 | closed | Already closed upstream | Not needed | Not needed | No change |
32+
| #1245 | open | Current `main` already contains the relevant Windows/chat scroll fixes; awaiting reporter confirmation | Current macOS tests pass; old Windows-only behavior cannot be reproduced on macOS | Not needed | No change |
33+
| #1246 | closed | Already closed upstream | Not needed | Not needed | No change |
34+
| #1247 | open | Deferred: incomplete usage question, no environment or reproduction | Not reproducible from supplied information | Not needed | No change |
35+
| #1251 | closed | Already closed upstream | Not needed | Not needed | No change |
36+
| #1252 | closed | Already closed upstream | Not needed | Not needed | No change |
37+
| #1253 | closed | Already closed upstream; fixed in v0.5.5 | Not needed | Not needed | No change |
38+
| #1254 | open | Deferred: suspected Bug but insufficient provider/runtime evidence | Full repeated plan/approve/re-enter sequence completed on current `main` without truncation | Not needed | No change |
39+
| #1255 | closed | Already closed upstream | Not needed | Not needed | No change |
40+
| #1256 | open | Deferred: current code already supports per-session Qwen reasoning effort; report lacks protocol/runtime details | Loopback Qwen-compatible upstream received `reasoning_effort=high` and completed | Not needed | No change |
41+
| #1257 | closed | Already closed upstream | Not needed | Not needed | No change |
42+
| #1259 | closed | Already closed upstream | Not needed | Not needed | No change |
43+
| #1260 | open | Deferred: v0.5.4 hang path is covered by v0.5.5 watchdog fix; current report lacks response/log evidence | Current truncated-tool stream terminates within configured bounds | Not needed | No change |
44+
| #1261 | open | Deferred: empty report and current `main` cannot reproduce the title-only scroll failure | Nine real Bash/permission cycles retained auto-follow and manual scrolling in isolated macOS UI | Not needed | No change |
45+
| #1262 | closed | Already closed upstream | Not needed | Not needed | No change |
46+
| #1263 | open | Deferred: product usage question rather than a reported defect or scoped feature | Not needed | Not needed | No change |
47+
| #1264 | open | Confirmed Telegram delivery Bug | Reproduced with production buffer/formatter and injected 429: visible reply truncates while delivery state is cleared | `01a05d09-acbb-7163-9c62-a57fed65e4ba`, commit `ba4ecf47b` | Merged as `c0f3318d9` |
48+
| #1266 | open | Confirmed retry-message clarity Bug | Reproduced through current retry conversion and JSDOM: `rate_limit` is shown only as HTTP 429 plus 13570 raw seconds | `01a05d0d-acc9-70d2-8782-3c5fc5dbd1d1`, commit `b7e7674a5` | Merged as `ee1efaff0` |
49+
| #1268 | open | Deferred: multi-harness support is an XL cross-layer feature, not a small feature | Not applicable | Not needed | No change |
50+
| #1269 | open | Confirmed DeepSeek reasoning round-trip Bug | Reproduced through proxy + loopback: generic host drops `reasoning_content` and upstream returns 400 | `01a05d12-b0a8-7313-8611-1f59c5758ed0`, commit `2806f750e` | Merged as `ece7c54c4` |
51+
| #1270 | open | Deferred: evidence points to Tencent iLink/mobile account authorization; repository defect not demonstrated | Local old-protocol QR/status flow works; real mobile authorization intentionally not attempted | Not needed | No change |
52+
| #1271 | open | Confirmed tool-input watchdog regression | Time-compressed macOS stream is aborted despite continuous valid `input_json_delta` progress | `01a05d12-591a-7d22-bb63-cd94d02a97d2`, commit `c6679afea` | Merged as `5eecf5cbc` |
53+
| #1272 | open | Duplicate Bug: same watchdog signature and root cause as #1271 | Reproduced same progressing-stream false positive | Covered and verified by #1271 session | Fixed by `5eecf5cbc` |
54+
| #1273 | open | Accepted small feature: expose existing conversation-only rewind for pure-chat/error turns | Not applicable | `01a05d18-15cd-7af0-94ba-1b1e654bc14e`, commit `65d0e6a0a` | Merged as `aa237f2c2` |
55+
| #1274 | open | Deferred: already supported via global attribution settings; usage/discoverability question | Not applicable | Not needed | No change |
56+
| #1275 | open | Deferred: 600-second total stream cap is an intentional anti-drip protection; configurability needs product scope | Short-cap macOS loopback terminates a healthy long-thinking stream; a raised cap allows the same stream to complete | Not needed | No change |
57+
| #1277 | open | Confirmed Computer Use image conversion Bug | Reproduced through real proxy chain: Chat drops tool-result images while Responses preserves them | `01a05d1f-0c7d-7610-8414-3833e9ecf76d`, commit `e8b74a8dd` | Merged with #1269 conflict resolution as `cf9d6c41a` |
58+
| #1279 | open | Deferred: Anthropic Base URL was configured with `/v1`; current root-URL behavior is correct | Root URL produces `/v1/messages`; user-supplied `/v1` produces `/v1/v1/messages` | Not needed | No change |
59+
| #1280 | closed | Already closed upstream; empty report | Not needed | Not needed | No change |
60+
| #1281 | open | Deferred: partial transcript deletion is a high-risk persisted graph rewrite, not a small feature | Not applicable | Not needed | No change |
61+
| #1283 | open | Confirmed GLM 5.3 reasoning-capability Bug | Real CLI→loopback sends invalid adaptive thinking and reproduces 400/1210; required thinking succeeds | `01a05d25-6bf2-7f10-8e4a-14bdb0e28ae3`, commit `c59a551c9` | Merged as `8d8169ea7` |
62+
| #1284 | open | Deferred: suspected Windows-specific 5k-row virtualization/painting issue; macOS cannot reproduce | Real macOS UI loaded 5,427 durable rows and scrolled mid/top during active task without blank content | Not needed | No change |
63+
| #1285 | open | Deferred: unreviewed high-risk third-party plugin plus a large runtime feature | Not applicable | Not needed | No change |
64+
| #1286 | open | Deferred: Telegram already has `/resume`; unspecified all-IM parity is a cross-adapter medium feature | Not applicable | Not needed | No change |
65+
| #1287 | open | Deferred: no 30-day cutoff; older sessions are grouped under Earlier/search, while the real 400-item cap needs pagination | Related fixtures and sidebar/store/search tests pass | Not needed | No change |
66+
| #1288 | open | Duplicate Bug: same progressing tool-input watchdog root cause as #1271/#1272 | Reproduced with continuous deltas at a compressed timeout | Covered and independently reverified against #1271 commit | Fixed by `5eecf5cbc` |
67+
| #1289 | open | Deferred: Windows-only clipboard/virtualization candidate; macOS cannot reproduce | Real active-task UI copied prompt/reply correctly both before and after virtualization | Not needed | No change |
68+
| #1290 | open | Deferred: already configurable through `CLAUDE_CODE_MAX_OUTPUT_TOKENS`; dedicated per-model UI is not a small feature | Isolated evaluation confirms 16K override and 64K custom-model cap | Not needed | No change |
69+
70+
## Deferred details
71+
72+
### #1239
73+
74+
The current code preserves upstream error bodies and classifies known context-overflow
75+
signals before generic HTTP 404 model errors. An offline macOS loopback reproduction
76+
confirmed that semantic overflow responses become `Prompt is too long`, while a bare
77+
404 remains a model-routing error. The report used an explicit 1,000,000-token Luna
78+
configuration and did not include the raw upstream 404 response, runtime commit,
79+
normalized provider configuration, or auto-compact state. Reinterpreting every 404 as
80+
context overflow would introduce false positives, so no safe product change is justified.
81+
82+
### #1245
83+
84+
The report is from Windows desktop v0.5.3. The current branch includes the v0.5.4
85+
Windows chat-rendering fix and the v0.5.5 virtual-row stabilization. Long transcript,
86+
history-window, send-to-bottom, tab restore, and subagent-return tests all pass on macOS.
87+
The issue has no steps, screenshot, DPI/scale, or current-version confirmation, so no
88+
additional fix can be scoped safely.
89+
90+
### #1254
91+
92+
An isolated macOS run exercised plan mode, approval, implementation, a second plan-mode
93+
entry, a second approval, and a second implementation in the same session. All four
94+
turns completed and all permission transitions were acknowledged. The report does not
95+
identify the provider, model, prompt, last tool call, event ID, diagnostic output, or
96+
whether the upstream stream ended early, so the current code path cannot be implicated.
97+
98+
### #1256
99+
100+
Current `main` gives unknown Qwen models the generic reasoning profile and passes the
101+
selected session effort through `output_config.effort` to OpenAI Chat
102+
`reasoning_effort`. A macOS loopback reproduction captured `qwen3.8` with
103+
`reasoning_effort=high` and a successful response. The report omits provider format,
104+
local inference server/version, request trace, expected upstream field, and error body;
105+
nonstandard servers that require a different field are an upstream protocol detail.
106+
107+
### #1247
108+
109+
The issue body contains no description, environment, steps, logs, screenshot, or version.
110+
The only comment repeats that pasted Feishu text has no line breaks, and the maintainer
111+
requested a screenshot that was never supplied.
112+
113+
### #1263
114+
115+
This asks whether project-memory indexing exists; it does not report broken behavior or
116+
describe a bounded requested change.
117+
118+
### #1261
119+
120+
The body is an entirely empty template. An isolated macOS desktop run completed nine
121+
real Bash permission cycles while preserving bottom follow, manual wheel scrolling,
122+
the Latest control, and follow after returning to the bottom. The current MessageList
123+
suite also passes. No recording, exact interaction sequence, window dimensions, tool
124+
expansion state, or diagnostic event identifies a different transition to fix.
125+
126+
### #1268
127+
128+
Supporting Pi, DSH, and other harnesses requires a runtime-driver abstraction, event and
129+
permission translation, alternate session persistence/indexing, capability-gated UI,
130+
packaging, migrations, and deterministic contracts. The issue defines neither a first
131+
harness nor a feature-parity boundary. DSH's current public SDK also lacks key desktop
132+
control capabilities such as cancellation/close, approval round-trips, and protocol
133+
version negotiation. This should be split into an RFC and a single-harness MVP rather
134+
than implemented as a small issue.
135+
136+
### #1260
137+
138+
The report is from v0.5.4 and supplies no provider, response, retry header, log, event ID,
139+
or repeatable steps. Current `main` includes the v0.5.5 truncated-tool watchdog and
140+
correctly transitions a terminal stream error to idle/error. A separate simulated
141+
`429 Retry-After: 3600` does reveal a possible long-wait risk, but the issue contains no
142+
evidence connecting its GLM Coding Plan run to that path, so changing retry policy here
143+
would be speculative.
144+
145+
### #1270
146+
147+
The repository passes the official iLink QR URL through unchanged and the local
148+
wait/expired flow works with a mocked official endpoint. A matching report also exists
149+
against Tencent's official plugin, including terminal QR rendering, which points toward
150+
account eligibility, rollout, risk control, or the phone-side network path. This issue
151+
has no polling result, decoded hostname, prior bot-binding history, screenshot, request
152+
ID, or account/network A/B evidence. Real WeChat authorization was intentionally not
153+
attempted. The repository's older login protocol is an adjacent compatibility gap, but
154+
the same symptom occurs with Tencent's current protocol and therefore cannot be assigned
155+
as this issue's cause.
156+
157+
### #1272
158+
159+
The report has the same `input_json_delta`, `tool_use`, and exact 120-second termination
160+
signature as #1271, with larger delta counts but no distinct trigger or acceptance rule.
161+
It is covered only if the #1271 repair allows continuously progressing input to complete
162+
past the old absolute limit while still terminating a truly stalled/no-stop stream.
163+
164+
### #1274
165+
166+
The title's request is already supported for Bash commits, `/commit`, and
167+
`/commit-push-pr` through the global `~/.claude/settings.json` setting
168+
`{"attribution":{"commit":""}}`. The deprecated `includeCoAuthoredBy: false` also
169+
works. A desktop toggle could improve discoverability, but the issue does not request a
170+
UI and the behavior itself needs no code change.
171+
172+
### #1275
173+
174+
The ten-minute total stream cap is intentionally separate from the idle timer so a
175+
provider cannot keep a response alive forever by dripping events. It is already
176+
overrideable by process environment, but desktop has no dedicated setting. Removing or
177+
resetting the cap on every delta would regress the earlier infinite-drip failure; adding
178+
a persisted UI setting requires product limits and migration work that this issue does
179+
not define.
180+
181+
### #1279
182+
183+
The Anthropic SDK expects a root Base URL and appends `/v1/messages`. The issue's doubled
184+
path is reproduced only when the supplied Base URL already ends in `/v1`; the provider
185+
UI and documentation already say to use the address before `/v1`. Silently stripping
186+
the suffix would break gateways where `/v1` is a legitimate path prefix. A future narrow
187+
UX validation could warn, but the current report does not demonstrate a runtime defect.
188+
189+
### #1281
190+
191+
Deleting an interior message while retaining later turns requires atomic transcript
192+
graph rewriting, `parentUuid` repair, full tool-use/result pairing, compaction-boundary
193+
rules, runtime quiescence, search/index refresh, backup/recovery, and a product decision
194+
between tombstones and physical deletion. Editing only user or assistant text can create
195+
invalid API history. The existing rewind safely removes a suffix; it is not an interior
196+
delete primitive.
197+
198+
### #1285
199+
200+
The external plugin is new, has no CI or established release history, and intercepts all
201+
provider traffic while rewriting provider Base URLs and copying credentials into runtime
202+
state. Listing it as recommended would imply a security endorsement. Its proposed native
203+
two-stage tool policy is not equivalent to existing Tool Search and would require a new
204+
per-turn runtime state machine across retries, resume, compaction, subagents, concurrent
205+
sessions, cache identity, persistence, and UI. No reproducible benchmark is supplied.
206+
207+
### #1286
208+
209+
Telegram has supported `/resume` since June 2026 and its related tests pass. Feishu,
210+
DingTalk, WeChat, and WhatsApp do not expose it. The issue names no platform, so it is
211+
either an already-supported usage question or an all-adapter parity project involving
212+
shared selection state, platform-specific two-level UX, atomic session switching,
213+
expiry/pagination, and security filtering. That is not a very small feature.
214+
215+
### #1284
216+
217+
The report shows a 5,427-message Windows 10 transcript becoming blank only while a task
218+
runs. An isolated macOS UI loaded the same durable row count, held a real permission
219+
request open, and scrolled to the middle and top with painted rows throughout; a very
220+
tall live stream also remained scrollable. No macOS reproduction means the required Bug
221+
gate is not met. Windows DPI/ResizeObserver and spacer painting remain hypotheses, not a
222+
safe fix, until a recording, build/scale/window details, and a sanitized transcript
223+
shape are available.
224+
225+
### #1287
226+
227+
Neither v0.5.5 nor current `main` discards sessions at 30 days. v0.5.5 groups by project
228+
with an expand action; current `main` groups 31-day-and-older sessions under Earlier,
229+
and global search spans history. The real limit is the newest 400 sessions loaded into
230+
the sidebar. Correctly removing that boundary requires offset pagination and load-more
231+
state rather than another limit increase, and the issue provides no session count or
232+
evidence that the 400-item window was reached.
233+
234+
### #1290
235+
236+
Custom models default to 32K with a 64K ceiling, but the existing Settings JSON supports
237+
`{"env":{"CLAUDE_CODE_MAX_OUTPUT_TOKENS":"16384"}}`; the value is preserved through
238+
provider activation and controls Anthropic-compatible requests. OpenAI Chat/Responses
239+
intentionally omit the output limit so the upstream decides. A dedicated per-provider
240+
or per-model field would require schema, persistence, runtime, and UI work, which the
241+
question does not require.
242+
243+
### #1289
244+
245+
The same reporter and environment as #1284 describe message-action copying failing only
246+
while another task runs. In an isolated macOS UI, both user prompts and assistant replies
247+
copied correctly during a 30-second active stream; the same remained true after crossing
248+
the virtualization threshold with 62 turns and scrolling to the earliest mounted rows.
249+
The screenshot does not identify prompt versus reply, whether the button acknowledged
250+
the click, clipboard contents/errors, row count, DPI, or a complete pointer sequence.
251+
Without the required macOS reproduction, changing the `pointerup`/blur/click seam would
252+
be speculative.

0 commit comments

Comments
 (0)