Conversation
コマンドパレット登録を leaf モジュール (commands/taskCommands.ts) に 切り出し、tasks ストアから taskRunner / commandStore への依存を除去。 未使用だった TASK_COMMAND_PREFIX の再エクスポートも削除。 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- CommandPalette: 2549/2550 → 未使用だった --nd-z-palette を本来の 用途で使用 (パレットは最上位 UI レイヤーという設計意図に整合) - MkDraftsPicker: portal される menu backdrop 2000 → --nd-z-popup (他の portal メニューと同層に) - DevFrameOverlay: 999999 → 新トークン --nd-z-dev (ladder に明文化) コンポーネント内ローカル stacking (z-index: 0〜100) は対象外。 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
静的 import していた 3 箇所 (MkPostForm / DeckChatColumn / NoteReactionPickerPopup) を非同期化し、1945 行の emojilist.ts を メインバンドルから分離。ピッカー初回表示時のみロードされる。 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
src/utils/tauriEvents.ts にイベント名 → payload 型のレジストリ (TauriEventPayloads) と listenTauri / emitTauri ラッパーを導入し、 nd:* / deck:* / pip:* / stream-* の文字列リテラル散在を解消。 emit と listen の payload 型対応をコンパイル時に保証する。 - StreamEventEnvelope の重複定義 (streaming.ts / useUnreadCounter.ts) を統合 - StreamChatReactionPayload を DeckChatColumn からレジストリへ移動 - deckProfile の emitSync ヘルパーは emitTauri 直呼びに置換 - 動的イベント名 nd:query-response-<id> のみ対象外 (apiBridge) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
poisoned Mutex を if let Ok で黙殺していたため、ストリームタスクが panic すると以後 register/cancel が silent no-op になり、abort 不能な zombie task が残る構造だった。into_inner() で回復する active_streams() ヘルパーに集約。 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
UserProfileContent のタブ群や Deck*Column に 15 箇所以上重複している 「isLoading/hasMore ガード → at(-1) → fetch → 追記」パターンを吸収する composable。TDD (13 テスト) で実装。 - pageSize 比較 / 空打ち切り (reactions 型) の両対応 - initialHasMore でページング非対応 API (clips/list) を表現可能 - 初回 load 失敗時は retry 可能 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
reactions / pages / play / gallery / clips タブの重複していた loadXTab + loadMoreX 実装 (約 150 行) を usePaginatedList に置換。 destructuring で旧変数名を維持しテンプレートは無変更。 - reactions: 削除ノートのフィルタで件数比較不能のため pageSize なし - clips: 自プロフィール (clips/list ページング非対応) を initialHasMore で表現 - lists タブはページングなしのため対象外 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- usePaginatedList に maxItems (上限打ち切り) と onError (toast / ウィンドウエラー連携) オプションを追加 (テスト 13→17) - UserProfileContent: notes タブ (タブ切替リロード + highlight 非ページ ング + MAX_PROFILE_NOTES) と files タブを移行 - ClipDetailContent / FollowListContent を移行 (follow リストの relations 取得副作用は fetch ラッパー内に保持) 調査の結果、残る loadMore 実装 3 箇所は移行不適: - DeckFederationColumn (offset ベース) - DeckSearchColumn (複数ソース merge + アカウント別カーソル) - DeckNotificationColumn (cross-account merge + dedup) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
mutes / renoteMutes / instanceMutes / wordMutes はほぼ同型の shallowRef + triggerRef 実装が 4 ファイルに重複していた。per-account Set の共通ヘルパー (createAccountSet) を持つ単一ストアに統合し、 useNoteVisibility が 4 ストアを並列参照していた構造を解消。 - API は種別を明示: isUserMuted / isRenoteMuted / isInstanceMuted / matchesHardWord / matchesSoftWord 等 - 旧 3 ストアと tests/stores/wordMutes.test.ts は削除 (β方針)、 テストは tests/stores/mutes.test.ts に統合 (+renote/instance 追加) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
8 ストア (tasks / performance / keybinds / emojis / recentEmojis / settings / postForm / deck-navbar / deckProfile) に重複していた 「persistTimer + schedulePersist」パターンを utils/debouncedPersist に 吸収 (テスト 5 件付き)。 - settings の flush (ペンディング時のみ書込) はユーティリティ側で提供 - postForm / deckProfile の flushPersist (無条件即時書込) は cancel + persistNow の組で維持 - 同期 persist は timer 内で同期実行 (fake timer テスト互換) - aiSessions はセッション ID 別のキー付き debounce のため対象外 調査の結果、監査指摘のうち以下は誤検出と判断 (変更なし): - theme の localStorage compiled CSS → FOUC 防止キャッシュと明文化済み - plugins/widgets の localStorage 併用 → ファイルが SoT、localStorage は 高速起動キャッシュとして意図された設計 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
2026-06 構造監査に基づく内部品質改善のリリース。ユーザー向け機能追加はなし(修正・パフォーマンス・リファクタリング)。
Changes
🤖 Generated with Claude Code