You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
bug: locale resolution is blind on flow.google.com and DEMOTES a learned locale (measured en + pt-BR) #643
On Flow's migrated flow.google.com origin, locale resolution is structurally blind — and worse, it demotes a correctly-learned locale on every migrated page load.
Measured 2026-09-03 on two profiles, read-only, zero credits.
The migrated URL is /project/<id> — it drops /fx/<locale>/tools/flow entirely, so this can never match. The locale did not disappear; it moved from the URL into the document (html lang=pt is still correct on the migrated host).
Two consequences, both measured
1. It demotes a known-good locale.next_locale_state("pt", None) returned "?" (PROVISIONAL) — measured, not inferred. Every migrated load discards denon82's learned pt. Not a correctness break (bare URLs are documented as "never worse"), but on a fully-migrated account the locale can never be learned again, silently undoing #587.
2. Four seconds wasted per navigation.await_url_settled burns the full URL_SETTLE_TIMEOUT_MS waiting for a shape that can no longer exist. This lands on top of the ~8 s detect_ui_mode window and ~24 s crop cascade already spent before a migrated run fails.
Suggested fix
Fall back to document.documentElement.lang when the URL carries no segment. The probe data validates it as trustworthy: html langagreed with the URL segment wherever both existed (pt/pt, en/en). Unlike navigator.language — which locale_segment_from_url's docstring correctly warns reports the value gflow itself sets — html lang is server-rendered by Flow.
Also worth short-circuiting await_url_settled when flow_host_kind(page.url) == "migrated", so the 4 s is not spent waiting for an impossible shape.
Activity
fix(locale): recover the account locale from <html lang> on flow.goog…
perf(ui-mode): fail fast on the migrated origin instead of probing a …
fix(639): council fixes — a lang locale is not evidence that Flow red…
fix(ui-mode): fire the migrated-host fast-fail where the run already …
docs(639): the migrated path WAS verified — by the reporter, before t…
fix(locale): read <html lang> after hydration, not before (#651) (#652)
fix(692): re-classify a reCAPTCHA mint that fails after the migrated hop
fix(auth): six defects found by an xhigh review of the chooser path
fix(migrated): say what was true when a click never lands (#776) (#778)
spike(transports): networkidle costs 3x and does not hang — ffroliva#836
ffroliva commentedon Oct 24, 2026
Fixed by #645: on flow.google.com the account locale is now read from
<html lang>, so a learned locale is no longer demoted.