Skip to content

v1.20.1

Choose a tag to compare

@pooza pooza released this 25 Apr 09:21
· 2266 commits to main since this release
3b88fc3

v1.20.0 のプッシュ通知本実装に追従して、運用観測(Sentry / 運用ログ / ユーザー報告)で見えてきた取りこぼしと非対応サーバー検出を追補。

不具合修正

  • iOS リリース版で全アカウント定型文表示 (#373) — Keychain Access Group を distribution 署名でも解決できる完全表記 (<TeamID>.group.…) に変更し、Notification Service Extension が復号鍵を引けるよう修正。aps-environment を Debug / Release で分離(Debug は development、Release / Profile は production)
  • 同一秒内に届いた通知が互いを上書きする (#368) — notification ID をミリ秒精度に昇格。秒精度では同時刻に届いた複数通知が同じ ID を持ち上書きされていた
  • iOS NSE Foundation.framework 参照が SDK バージョンにハードコード (#369) — iPhoneOS18.0.sdk 直指定から SDKROOT 相対参照に修正
  • ログアウト時に Misskey proxy 鍵が読めない場合の購読 row 残留 (#370) — PushKeyStore.read が null を返す場合は Misskey 本家 /api/sw/unregister の endpoint 単体経路にフォールバック

改善

  • Misskey push 登録の非対応シグナル (404 / 400) を notSupported に寄せる (#365) — モロヘイヤ v5.19.0 未満のサーバーへの登録 (404) は事前に notSupported 寄せ。Misskey 本家 /api/sw/register の 4xx 全般を notSupported に拡張し、Misskey フォーク差異を吸収
  • FCM transient エラーのリトライ (#374) — MISSING_INSTANCEID_SERVICE / SERVICE_NOT_AVAILABLE を 2s / 5s / 15s の指数バックオフでリトライ。Play 開発者サービス初期化遅延・ネットワーク瞬断・Google 側一時障害を吸収
  • バックグラウンド isolate / iOS NSE の復号失敗を観測可能に (#366) — 復号失敗 / 鍵不在を App Group UserDefaults / SharedPreferences に永続化し、次回 main app 起動時に Sentry へ吸い上げ

リレーサーバ (capsicum-relay v1.20.1)

  • Content-Encoding をログ出力 (pooza/capsicum-relay#5) — 各サーバが送る Web Push の暗号化形式 (aes128gcm / 旧 aesgcm) を診断可能に
  • APNs socket 切断時の puma プロセスクラッシュ防止 (pooza/capsicum-relay#8) — Apnotic#on(:error) callback を登録し、socket_loop スレッドの SocketError / EOFError を吸う。次回 push 時に自動再接続
  • FCM / APNs ペイロード上限超過の retry storm 抑止 (pooza/capsicum-relay#9) — 4KB 超を oversized フラグとして検出し、subscription を unregister せず該当 1 通だけ HTTP 413 でドロップ

既知の不具合

  • #54 ATOK で日本語入力が二重になる(Flutter 側対応待ち)
  • #94 投稿作成フォームのテキスト選択メニューが英語・範囲選択不可(Flutter 側対応待ち)
  • #202 / #203 Android ネイティブクラッシュ (SIGABRT) / StateError (Sentry 観測中)
  • #276 ログイン画面から遷移しない場合がある
  • #335 iPhone: 画像添付後にカーソルが消失しキーボードだけ開く