https://github.com/hotwired/hotwire-native-ios
ルーティング時に URL をスタンプし、同一性判定をコントローラ型から URL に切り替えることで、カスタムビューコントローラでも正しい push/replace/pop が実現された。
デリゲートが解放されても必須の completionHandler をガードで必ず呼び出すよう修正し、WebKit の NSInternalInconsistencyException クラッシュを防止しました。
WebView を最初の子ビューに配置し iOS15+ で contentScrollView を設定することで、TabBarMinimize と prefersLargeTitle のスクロール検知問題を根本的に解消した。
Navigating プロトコルでハンドラが具体 Navigator に依存しなくなり、テストが軽量化された。変更はインタフェース拡張と型置換に留まり、既存動作は維持。
iOS 26 以降に iPhone でも発生したアクションシートの重なり問題を、Web から送られる座標情報で正確に配置するよう修正し、デバイス判定を排除した設計に変更しました。
iOS の Hotwire Native が iframe 内リンクの新規ウィンドウ要求を `Navigator` 経由で自動訪問へ変換し、Android と同様のシームレスな遷移を実現しました。
iOS バージョン差による URL パスの末尾スラッシュ除去問題を `pathPreservingSlash` 拡張で統一し、PathConfiguration が新プロパティを利用するよう変更。これにより iOS と Android 間の設定差が解消され、既存コードへの影響は最小限に抑えられました。
リトライハンドラを常時提供しコールドブート時のリトライ欠如を修正、`isRetryable` を除去しロギングを拡充してエラー時の UI とデバッグ情報を統一的に改善した PR です。
Hotwire iOS SDK に `lazyLoadTabs` 設定が追加され、タブナビゲータの起動タイミングをフラグで切り替えられるようになりました。設定は `Hotwire.config` に組み込まれ、既存コードへの影響はありません。
`refreshVisitable` が `.restore` でキャッシュを復元していた問題を `.replace` に置き換え、非安全なフォーム送信後のページリフレッシュで常に最新コンテンツが取得できるようにした修正。
Hotwire Native iOS に `log` プロパティが追加され、debugLoggingEnabled が有効なときにカスタム Logger を注入できるようになり、テストや外部ロギングへの統合が容易になった。
TurboError を廃止し HotwireNativeError 階層を導入、リトライ判定と Cold‑Boot 再試行を統一的に管理してエラー処理を一貫化しました。
WKWebView の外部ナビゲーションを即時キャンセルし、共有 WKProcessPool のロックを防いでテスト全体を約95%高速化した。