Repository navigation
Remove regional locale shims from browser images (BLOCKED) - #447
Draft
tnsardesai wants to merge 11 commits into
Draft
tnsardesai wants to merge 11 commits into
tnsardesai wants to merge 11 commits into
Conversation
…owser location Send Chromium a monotonic browser generation per accepted bundle and mark a bundle applied only after Chromium reports renderer, worker, host-timezone and network-context acknowledgements for that generation. A Chromium restart clears applied state until the new process acknowledges. Explicit locales and timezones are validated against a capability manifest generated from the Chromium 154 browser in the image instead of ICU component-locale readback.
TestBrowserTimezoneFollowsLocaltime starts Chromium with the production TZ and KERNEL_BROWSER_TIMEZONE environment, checks Chromium runs without TZ, and replaces /etc/localtime A to B at runtime without a restart. TestBrowserLocationCapabilities regenerates or checks the capability manifest. TestBrowserLocationRuntimeUpdate drives reset, configure, retries, stale generations, Chromium restart and a new lease on a kernel-browser image.
…ed live The launcher initializes /etc/localtime from the accepted bundle the image API persisted, so a restarted Chromium starts in the session's timezone instead of the VM's startup zone. GET /browser/location reports a bundle applied only after the running Chromium confirms that generation with every component acknowledged, so a restarted or unreachable browser is never reported as applied while the upstream change is still being detected. The runtime e2e posts to /configure, the image's configure route.
Drop the locales package, the locale-gen step and the en-CA/en-IE/en-SG copies of en-GB.pak added for regional browser locale. tzdata and fonts stay. The startup regional test is split: timezone coverage runs on every image under C.UTF-8, and locale coverage runs on kernel-browser images, where the browser supplies the regional locale at startup from --lang and at runtime from native location updates.
tnsardesai
force-pushed
the
hypeship/browser-location-bridge
branch
2 times, most recently
from
October 15, 2026 19:03
97d5d94 to
11e86d1
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
localespackage and generateden_US,en_GB,en_CA,en_IE, anden_SGPOSIX locales from headful and headless images.en-CA,en-IE, anden-SGcopies ofen-GB.pak.tzdataand all font packages.Why
The native browser-location implementation can own browser locale behavior without relying on guest POSIX locales or copied Chrome resource packs. Removing the legacy shims reduces duplicated regionalization mechanisms, but only after the native path covers startup behavior and guest-process dependencies are understood.
How
C.UTF-8using/etc/localtimeandAsia/Singapore.en-SGremains observable even when the corresponding POSIX locale is absent.Context
Caution
Blocked — do not merge. This PR is a tracking implementation stacked on #399 and must be restacked before review or merge.
Required before unblocking:
kernel-images-privatebrowser bump.--langand copied packs.LANG/LC_ALLvalues.kernel-images-private.Removing these files early can regress regional browsers and non-browser guest processes.
Testing & Visuals
localespackage or copied packs;tzdata2026c and fonts remain./etc/localtimetests; native locale tests intentionally skip.go build ./...,go vet ./e2e, andgit diff --checkpass.kernel-images-private, a production metro/VM, or across all guest processes. Stock CI does not provide native-browser locale coverage.