Files
amethyst/commonsUI/src/commonMain/composeResources/values-ja
Claude 99ac6c5131 fix: keep synchronous-platform strings in Android res (282 -> 258 errors)
A design correction the migration got wrong, found by the compiler rather than
by reasoning: NOT every string could move.

A foreground-service notification is built inside Android's startForeground()
timeout - NotificationRelayService has `if (!ensureForeground()) return
START_NOT_STICKY`, a control-flow dependency that cannot become asynchronous.
The Compose catalog's only non-composable accessor is suspend, so those strings
have no business in it. They never appear in shared UI either.

So the six foreground/tile service files are restored to their pre-migration
state and their keys moved back: 19 exclusive to the service layer (554
elements across 57 locale dirs) and 7 also used by UI copied rather than moved
(112 elements), on the same keep-both-sides precedent as the manifest keys.
unmigrate.py is the inverse of migrate.py and lives next to it.

That also means the Android accessors had to come back. Deleting the Int and
Context overloads from StringResourceCache assumed every string was leaving;
they are restored alongside the Compose ones, with the LruCache that made them
worth having, and a comment stating which strings belong on which side.

Also: a duplicate app_name (already kept for the manifest, re-added by the copy
pass) broke packagePlayDebugResources - which surfaced AFTER Kotlin reported
zero errors, so a green Kotlin count is not a green build. Now checking the
BUILD SUCCESSFUL line too.

Separately, an experiment worth recording as a dead end: propagating suspend
outward from each call site does NOT converge here. Four rounds ran 304 -> 307
-> 309 -> 312, about +2 per round, because each newly-suspend function creates
errors in its own callers and the frontier keeps widening into the app's
general call graph. Reverted. The right move is the opposite - hoist the lookup
to the nearest existing coroutine or composition, which is what took
WalletViewModel from 22 errors to 1.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AXvKXakvup4inNFfAhhr4L
2026-09-22 17:04:58 +00:00
..