chore: notecli を V6 (実体/所属分離) に bump - #1
Conversation
notecli#30 の V6 migration により旧 rev のままでは volume 共有の notecli.db が開けなくなるため追随する。 - subscribe_timeline(TimelineType) → subscribe_notes(TimelineKey) - FrontendEmitter の typed StreamEvent 化に追随 (ChannelEmitter は kind()/payload_value() で従来の (名前, JSON) チャネルへ変換 — parse_event / catch-up 再注入の経路は不変) - NoteDeckError::Api の api_code フィールド追加にテスト fixture を追随 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
📝 WalkthroughWalkthroughThe PR pins a new Changesnotecli integration
Estimated code review effort: 2 (Simple) | ~10 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
src/event.rs (1)
24-31: 🗄️ Data Integrity & Integration | 🔵 Trivial | ⚡ Quick winAdd regression coverage for the typed-event compatibility bridge.
ChannelEmitter::emitnow connects notecli’s typedStreamEventcontract to the legacy(name, Value)contract. Add tests forstream-note,stream-mention,stream-notification, andstream-status. Assert thatparse_eventreceives the expectednote,notification,subscriptionId, andstatefields.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/event.rs` around lines 24 - 31, Add regression tests covering ChannelEmitter::emit for stream-note, stream-mention, stream-notification, and stream-status; receive each emitted legacy (name, Value) tuple, pass it through parse_event, and assert the resulting payload contains the expected note, notification, subscriptionId, and state fields.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@src/event.rs`:
- Around line 24-31: Add regression tests covering ChannelEmitter::emit for
stream-note, stream-mention, stream-notification, and stream-status; receive
each emitted legacy (name, Value) tuple, pass it through parse_event, and assert
the resulting payload contains the expected note, notification, subscriptionId,
and state fields.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 3e9ce7d1-5310-4d0c-ac04-9c0ddb44c5ac
📒 Files selected for processing (4)
Cargo.tomlsrc/bot.rssrc/event.rssrc/gate.rs
なぜ
notedeck-dev/notecli#52 (V6: notes キャッシュの実体/所属分離) により、旧 rev の notebot は volume 共有の
notecli.dbを開けなくなる(refinery の missing migration)。notecli#30 仕様 v5 §10 第 3 段 / §12-11。変更内容
subscribe_timeline(TimelineType)→subscribe_notes(TimelineKey::parse)FrontendEmitterの typedStreamEvent化に追随 —ChannelEmitterがkind()/payload_value()で従来の (イベント名, JSON) チャネル形式へ変換するため、parse_event・catch-up 再注入の経路は不変NoteDeckError::Apiのapi_codeフィールド追加にテスト fixture を追随テスト
cargo test 37 本全通過・clippy 警告ゼロ。
🤖 Generated with Claude Code
Summary by CodeRabbit
Improvements
Bug Fixes