💡 Summary
管理画面で enableFanoutTimeline を ON → OFF → ON のように切り替えると、 OFF 期間中に投稿されたノートが Redis 上のキャッシュリストに乗らないまま、 ON 復帰後の新規投稿だけが追加される状態になる。 結果、 Redis 上の時系列にギャップが生じ、 タイムライン API のレスポンスから OFF 期間の投稿が 永久に取りこぼされる (untilId を進めて深掘りしても出てこない)。
🥰 Expected Behavior
enableFanoutTimeline のトグル前後で投稿されたノートはすべて、 タイムライン API (notes/timeline, channels/timeline 等) から DB の真値どおりに取得できる。
🤬 Actual Behavior
OFF 期間中に投稿されたノートが永久に取得不能になる。 ページネーションで深掘りしてもスキップされ続ける。
📝 Steps to Reproduce
- 管理画面で
enableFanoutTimeline を ON にする (既定値)
- テストユーザーで 5 件のノートを連続投稿する (例:
seed 1〜seed 5)
- 管理画面で
enableFanoutTimeline を OFF に切り替える
- さらに 5 件のノートを連続投稿する (例:
seed 6〜seed 10)
- 管理画面で
enableFanoutTimeline を ON に戻す
- さらに 5 件のノートを連続投稿する (例:
seed 11〜seed 15)
notes/timeline を limit=20 で叩く
- 期待: 15 件すべて返る / 実際:
seed 11〜seed 15 と seed 1〜seed 5 の 10 件のみ、 OFF 期間中の seed 6〜seed 10 が欠落
💻 Frontend Environment
クライアント実装に依存しません (バックエンドのレスポンスが問題)。
- Misskey: 2026.5.4 develop
🛰 Backend Environment (for server admin)
- Installation Method or Hosting Service: development environment (
pnpm dev)
- Misskey: 2026.5.4 develop
- Node: 22.15.0
- PostgreSQL: 15
- Redis: 7
- OS and Architecture: macOS Darwin 25.3.0 arm64
Do you want to address this bug yourself?
修正は 2 つの PR で用意 (独立に merge 可能):
詳細な原因分析・用語解説・自然発生経路の網羅はフォーク側の Issue (fruitriin#38) を参照。
💡 Summary
管理画面で
enableFanoutTimelineを ON → OFF → ON のように切り替えると、 OFF 期間中に投稿されたノートが Redis 上のキャッシュリストに乗らないまま、 ON 復帰後の新規投稿だけが追加される状態になる。 結果、 Redis 上の時系列にギャップが生じ、 タイムライン API のレスポンスから OFF 期間の投稿が 永久に取りこぼされる (untilIdを進めて深掘りしても出てこない)。🥰 Expected Behavior
enableFanoutTimelineのトグル前後で投稿されたノートはすべて、 タイムライン API (notes/timeline,channels/timeline等) から DB の真値どおりに取得できる。🤬 Actual Behavior
OFF 期間中に投稿されたノートが永久に取得不能になる。 ページネーションで深掘りしてもスキップされ続ける。
📝 Steps to Reproduce
enableFanoutTimelineを ON にする (既定値)seed 1〜seed 5)enableFanoutTimelineを OFF に切り替えるseed 6〜seed 10)enableFanoutTimelineを ON に戻すseed 11〜seed 15)notes/timelineをlimit=20で叩くseed 11〜seed 15とseed 1〜seed 5の 10 件のみ、 OFF 期間中のseed 6〜seed 10が欠落💻 Frontend Environment
クライアント実装に依存しません (バックエンドのレスポンスが問題)。
🛰 Backend Environment (for server admin)
pnpm dev)Do you want to address this bug yourself?
修正は 2 つの PR で用意 (独立に merge 可能):
admin/update-metaでトグルを検知して Redis のlist:*キーをパージFanoutTimelineEndpointServiceの最終 DB フォールバックで Redis 範囲外のギャップも補完するよう堅牢化詳細な原因分析・用語解説・自然発生経路の網羅はフォーク側の Issue (fruitriin#38) を参照。