mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-10-05 19:28:25 +00:00
Four of step 5's hubs (UserProfilePicture, UsernameDisplay, Loaders and the per-user observe* overloads) had one or two app ties left each: - RobohashAsyncImage (avatars and their fallbacks) moves from commonsUI's jvmAndroid to commonMain. The local-Blossom request marker it sets becomes LocalBlossomCacheHeaders (commons commonMain), which the OkHttp interceptor now aliases; AnimatedImageAutoPlay's expect gains a no-op iOS actual. commonsUI's commonMain takes coil-network-core for NetworkHeaders (Coil, Apache-2.0 per its POM, multiplatform; already on the JVM classpath through coil-network-okhttp). - LoadUser (resolve a hex to its cached User) leaves the chat-room header file for commonsUI commons.ui.note. - DrawPlayName, the text-to-speech button, stays in the app in its own file; UsernameDisplay no longer reaches Android's TTS. - LoadOts builds its resolver through the account's otsResolverBuilder, the same AppModules builder it read off Amethyst.instance. - The user observers' @SuppressLint becomes @Suppress (Android lint reads both), and an unused mockAccountViewModel() in a preview is gone. Then, into commonsUI: - UserProfilePicture, UsernameDisplay and Loaders -> commons.ui.note. - The accountViewModel overloads of the per-user observers and of the user-finder subscription -> commons.relayClient.user (AccountUserObservers.kt, AccountUserFinderSubscription.kt), beside the shared versions they delegate to. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01S7FuNBSKiyVecARSoE4B9P