PWAのstart_urlを深いパスに変えるときはscopeを同時に見直す
PWA
フロントエンド
Web App Manifest
知識
判断
運用
Web App Manifest で scope を省略すると、既定のナビゲーション範囲は start_url の親パスになる。したがって起動先をルートから深いパスへ変更しただけでも、ログイン、設定、公開ページなど別階層への遷移がアプリ範囲外になり、ブラウザ側へ抜ける可能性がある。
起動先を決めるときは「最初に開きたい画面」と「standalone のまま遷移させたい画面群」を別々に考える。前者を start_url、後者を包含する共通パスを scope として明示する。認証が別階層へリダイレクトする構成では、その遷移先もscopeに含める。
検証では生成されたmanifestを配信URLから取得し、start_url と scope の双方を確認する。加えて、インストール済み相当の起動経路から認証済み・未認証の遷移を実走し、必要な画面がscope内に収まるかを確認する。仕様上の既定値は W3C Web Application Manifest の scope 処理と Navigation scope を一次資料として再確認する。