qwen-code/packages
chinesepowered c012462514
fix(text-buffer): unify offset-to-position logic (#2969)
getPositionFromOffsets used different per-line length calculations and
different comparison operators for start vs end offsets, producing
asymmetric and sometimes invalid results at line boundaries.

Concrete failure: lines=['abc','def'], endOffset=4 (the position after
the newline at offset 3). The start calc correctly resolved this to
(row=1,col=0), but the end calc used lineLength=length (no +1 for the
last-line case) combined with >= and returned (row=0,col=4) — an
out-of-bounds column on a 3-char line.

Downstream, replaceRangeInternal rejects endCol > currentLineLen(endRow)
as an invalid range and silently returns state unchanged. This caused
vim line-change commands (vim_change_movement 'j'/'k', vim_change_line
spanning row boundaries) to no-op while still pushing an empty undo
frame.

Replace both loops with a single offsetToRowCol helper that matches the
original start-calc logic, and update the vim 'change multiple lines
down' test whose expectation was baked around the silent no-op.
2026-04-18 09:27:12 +08:00
..
channels fix(dingtalk): remove reactionContext map to eliminate leak from blocked messages (#2979) 2026-04-18 08:50:45 +08:00
cli fix(text-buffer): unify offset-to-position logic (#2969) 2026-04-18 09:27:12 +08:00
core feat(cli): add dual-output sidecar mode for TUI (#3352) 2026-04-18 02:14:53 +08:00
sdk-java feat(cli/sdk): expose /context usage data in non-interactive mode and SDK API (#2916) 2026-04-14 03:28:32 +08:00
sdk-typescript fix(sdk): avoid leaking process exit listeners in ProcessTransport (#3295) 2026-04-16 10:52:19 +08:00
vscode-ide-companion feat(cli): add dual-output sidecar mode for TUI (#3352) 2026-04-18 02:14:53 +08:00
web-templates chore(release): bump version to 0.14.5 (#3298) 2026-04-15 22:43:29 +08:00
webui feat(memory): managed auto-memory and auto-dream system (#3087) 2026-04-16 20:05:45 +08:00
zed-extension chore(zed-extension): update package version to 0.10.0 2026-02-06 14:26:01 +08:00