mirror of
https://github.com/openclaw/openclaw.git
synced 2026-07-20 09:47:53 +00:00
* feat(anthropic): import Claude Desktop custom groups * fix(anthropic): resolve Claude Desktop groups from LevelDB entries Group discovery regexed whole decompressed blocks, so matches were not attributable to a Local Storage value and byte order decided the winner. On a real 5.4MB store that mislabelled 59 of 159 sessions, surfacing a mojibake label spliced out of Snappy copy-record bytes. Parse SSTable entries properly instead: prefix-delta keys bounded by the restart array, newest internal sequence per user key (honoring deletions), and record scanning confined to a single value. Values are normalized so Chromium's UTF-16 form scans like Latin-1, and unflushed WAL writes keep precedence over SSTables. Prod LOC grows ~77; it buys structural correctness in place of ordering luck, and folds the old index-only walk into one shared entry decoder. Verified against the live store: 159 assignments, 0 mislabelled versus an independent entry-level ground truth, 0 control-character labels. * fix(ui): sort custom session groups ahead of project groups Custom groups were pushed into the section list as encountered, so their position depended on roster order rather than the documented behavior; the existing test only passed because its fixture happened to be ordered that way. Collect custom and project groups separately and concatenate, and assert the guarantee with a reversed-input case. * fix(anthropic): widen LevelDB fixture key type for test typecheck The prefix-delta helper assigned a Buffer into a Buffer-typed accumulator whose generic argument differed, which tsgo rejects in the test lane. * chore(anthropic): drop release-owned changelog edit from the PR CHANGELOG.md is generated at release time, so a normal PR must not carry an entry. The release-note context lives in the feature commit message and the PR body instead.