Conversation
コード精査で確定した 2 つの構造欠陥への対処: - StreamingManager の manage が emit_accounts_early の後にあり、 アカウント一覧を受けた JS が即 query_subscribe_* を invoke すると "state not managed" で即死する race があった。manage を前に移動 - query 購読の open() は一度失敗すると再試行経路がなく、WS が後で 復活しても Rust 側に購読が存在せず replay 対象にならないため 「WS connected 表示なのにイベント永久ゼロ」に固定されていた。 notecli の再接続ループと同じ Equal Jitter バックオフ (cap 30s、 dispose で中断) で成功するまで再試行する自己回復ループに変更 Android で全 wss:// が失敗する主因 (TLS ルート証明書) は notecli 側 notedeck-dev/notecli#28 で修正。 Co-Authored-By: Claude Fable 5 <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.
v1.4.3
Android で WebSocket ストリーミングが一度も動いていなかった真因の修正。
変更一覧
真因 (4 方向コード精査 + vendored source 裏取りで確定)
notecli の WebSocket が
rustls-tls-native-rootsのみで、Android では root 証明書の探索が Termux 専用パスしか見ず 0 件 → 全 wss:// 接続が TLS 段階で必ず失敗。さらに notecli の再接続ループは初回接続成功後にしか起動しないため、失敗は無音で恒久化していた。REST (reqwest = webpki-roots 同梱) は正常、デスクトップ (OS 証明書ストア) も正常 — 実機の全観測と整合。Android の WS ストリーミングは最初から一度も動いていなかった。修正
rustls-tls-webpki-roots併用。native certs 0 件時に Mozilla 同梱ルートへフォールバック (REST と同じ信頼モデル)。デスクトップは native 優先のままv1.4.1/v1.4.2 の修正 (visibility 復元 / リスナー再アタッチ / 復帰シグナル / backlog 補填) は「WS 確立後」の防御層として有効で、本修正により初めて機能する。
検証
注意
🤖 Generated with Claude Code