Files
amethyst/tools/r8-verify
Claude c3f60fd8af fix: address the audit of the shared UI settings and display locals
- UiSettings (enums) and UiSettingsFlow move on to headless commons, and
  UiSettingsState to commons.state. Their StringResource labels become
  `resourceId` extension properties in commonsUI (the TorType pattern).
  commons applies the serialization plugin, so UiSettings gets its
  kotlinx serializer back: in commonsUI it had none, and the
  encrypted-preferences fallback (JsonMapper.fromJson<UiSettings>) would
  silently drop a user's old settings. New UiSettingsSerializationTest
  round-trips it.
- tools/r8-verify/reflection-contract.txt names the eight persisted
  settings enums by their new package; the release check would fail.
- LocalDisplaySettings is a compositionLocalOf: it follows Wi-Fi/metered
  changes, and as a static local it recomposed everything under the theme.
  It drops the three fields nothing read.
- The remaining avatar sites (drawer, account switcher, top bar, group
  cards, ...) read LocalDisplaySettings instead of a one-off snapshot of
  accountViewModel.settings, so they follow setting changes like the feed.
- 13 loaders left with an unused accountViewModel parameter after the
  LocalCache switch drop it (206 call sites).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0168wY9t7i9NC5u3svyMxEz6
2026-09-24 15:51:48 +00:00
..