DiffDaily Deep & Concise - OSS変更の定点観測
トップに戻る

hotwired/hotwire-native-ios

https://github.com/hotwired/hotwire-native-ios

ルーティング先 URL をスタンプしてナビゲーション同一性を一元管理

ルーティング時に URL をスタンプし、同一性判定をコントローラ型から URL に切り替えることで、カスタムビューコントローラでも正しい push/replace/pop が実現された。

2026年07月03日 gpt-oss-120b

未処理のcompletionHandlerによるクラッシュを防止するガード追加

デリゲートが解放されても必須の completionHandler をガードで必ず呼び出すよう修正し、WebKit の NSInternalInconsistencyException クラッシュを防止しました。

2026年07月02日 gpt-oss-120b

TabBarMinimize と prefersLargeTitle の動作を安定させるためのビュー階層修正

WebView を最初の子ビューに配置し iOS15+ で contentScrollView を設定することで、TabBarMinimize と prefersLargeTitle のスクロール検知問題を根本的に解消した。

2026年07月02日 gpt-oss-120b

Navigating プロトコル導入でハンドラのテスト容易化

Navigating プロトコルでハンドラが具体 Navigator に依存しなくなり、テストが軽量化された。変更はインタフェース拡張と型置換に留まり、既存動作は維持。

2026年07月02日 gpt-oss-120b

アクションシートをトリガー要素上に表示

iOS 26 以降に iPhone でも発生したアクションシートの重なり問題を、Web から送られる座標情報で正確に配置するよう修正し、デバイス判定を排除した設計に変更しました。

2026年07月02日 gpt-oss-120b

新規ウィンドウ要求をナビゲーションに変換して iframe リンクをハンドル

iOS の Hotwire Native が iframe 内リンクの新規ウィンドウ要求を `Navigator` 経由で自動訪問へ変換し、Android と同様のシームレスな遷移を実現しました。

2026年07月02日 gpt-oss-120b

URL パスの末尾スラッシュを保持する拡張を追加

iOS バージョン差による URL パスの末尾スラッシュ除去問題を `pathPreservingSlash` 拡張で統一し、PathConfiguration が新プロパティを利用するよう変更。これにより iOS と Android 間の設定差が解消され、既存コードへの影響は最小限に抑えられました。

2026年06月30日 gpt-oss-120b

リトライハンドラ常時提供とコールドブートリトライ修正、ロギング拡充

リトライハンドラを常時提供しコールドブート時のリトライ欠如を修正、`isRetryable` を除去しロギングを拡充してエラー時の UI とデバッグ情報を統一的に改善した PR です。

2026年06月30日 gpt-oss-120b

タブの遅延ロードを制御する設定を追加

Hotwire iOS SDK に `lazyLoadTabs` 設定が追加され、タブナビゲータの起動タイミングをフラグで切り替えられるようになりました。設定は `Hotwire.config` に組み込まれ、既存コードへの影響はありません。

2026年06月30日 gpt-oss-120b

履歴位置のリフレッシュでスナップショットを復元せず最新ページを取得

`refreshVisitable` が `.restore` でキャッシュを復元していた問題を `.replace` に置き換え、非安全なフォーム送信後のページリフレッシュで常に最新コンテンツが取得できるようにした修正。

2026年06月30日 gpt-oss-120b

log プロパティ追加でカスタムログ先を注入可能に

Hotwire Native iOS に `log` プロパティが追加され、debugLoggingEnabled が有効なときにカスタム Logger を注入できるようになり、テストや外部ロギングへの統合が容易になった。

2026年06月30日 gpt-oss-120b

TurboError から構造化エラー型へ置き換え、Cold‑Boot リトライを強化

TurboError を廃止し HotwireNativeError 階層を導入、リトライ判定と Cold‑Boot 再試行を統一的に管理してエラー処理を一貫化しました。

2026年06月29日 gpt-oss-120b

テストシミュレータで漏れた WKWebView ナビゲーションをキャンセル

WKWebView の外部ナビゲーションを即時キャンセルし、共有 WKProcessPool のロックを防いでテスト全体を約95%高速化した。

2026年06月29日 gpt-oss-120b

© 2026 DiffDaily - Powered by AI

タケユー・ウェブ