0b72827682
Two regressions surfaced on the first real device run.
1. Contrast on ServerUrl + Login screens: both wrapped content in a
bare Box(fillMaxSize), no Surface. The obsidian background never
painted (rendered against the system root view's default),
LocalContentColor cascade fell through to Material's default
contentColor — the screens rendered as near-invisible dark text
on dark grey. Wrap both in Surface(color = background, contentColor
= onBackground) so the bg paints AND the M3 contentColor pipeline
flows correctly through OutlinedTextField labels / cursor /
placeholders + the Button content tint.
2. The bigger bug: NetworkModule.provideRetrofit read
authStore.baseUrl.value ONCE at Retrofit creation. AuthStore loads
from Room async, so at injection time the value was still the
localhost:8080 placeholder. Result: even after the user typed
their real server URL on the ServerUrl screen, every API call
kept hitting localhost:8080 ("Failed to connect to
localhost/127.0.0.1:8080" on the login attempt). The pre-fix
NetworkModule comment even acknowledged it — *"Server-URL
changes require an app relaunch"*.
Fix: per-request rewrite. New BaseUrlInterceptor reads the live
AuthStore.baseUrl.value on every request and rewrites
scheme/host/port of the outgoing URL. Retrofit now keeps a
placeholder baseUrl ("http://placeholder.invalid/") solely to
satisfy its parser; the actual target host is dynamic. Order in
OkHttp chain: BaseUrl first → Auth → logging, so the cookie
interceptor sees the final URL.
New:
- api/BaseUrlInterceptor.kt — per-request scheme/host/port rewrite
from AuthStore.baseUrl. Falls through to the original request
when the stored URL is unparseable.
Modified:
- api/NetworkModule.kt — adds BaseUrlInterceptor to the OkHttp
chain. Drops the AuthStore dependency from provideRetrofit;
swaps baseUrl for the placeholder.
- auth/ui/ServerUrlScreen.kt — Box → Surface wrap.
- auth/ui/LoginScreen.kt — Box → Surface wrap.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 line
10 KiB
Plaintext
1 line
10 KiB
Plaintext
[{"key":"coil3/compose/AsyncImageKt$Content$2$1.class","name":"coil3/compose/AsyncImageKt$Content$2$1.class","size":2515,"crc":2033939203},{"key":"coil3/compose/AsyncImageKt.class","name":"coil3/compose/AsyncImageKt.class","size":26488,"crc":441823349},{"key":"coil3/compose/AsyncImageModelEqualityDelegate$Companion$AllProperties$1.class","name":"coil3/compose/AsyncImageModelEqualityDelegate$Companion$AllProperties$1.class","size":1429,"crc":993370170},{"key":"coil3/compose/AsyncImageModelEqualityDelegate$Companion$Default$1.class","name":"coil3/compose/AsyncImageModelEqualityDelegate$Companion$Default$1.class","size":2440,"crc":136919605},{"key":"coil3/compose/AsyncImageModelEqualityDelegate$Companion.class","name":"coil3/compose/AsyncImageModelEqualityDelegate$Companion.class","size":923,"crc":242848756},{"key":"coil3/compose/AsyncImageModelEqualityDelegate.class","name":"coil3/compose/AsyncImageModelEqualityDelegate.class","size":1561,"crc":-1268420632},{"key":"coil3/compose/AsyncImagePainter$Companion.class","name":"coil3/compose/AsyncImagePainter$Companion.class","size":1401,"crc":1315033},{"key":"coil3/compose/AsyncImagePainter$Input.class","name":"coil3/compose/AsyncImagePainter$Input.class","size":3358,"crc":69688544},{"key":"coil3/compose/AsyncImagePainter$State$Empty.class","name":"coil3/compose/AsyncImagePainter$State$Empty.class","size":1766,"crc":153502845},{"key":"coil3/compose/AsyncImagePainter$State$Error.class","name":"coil3/compose/AsyncImagePainter$State$Error.class","size":3440,"crc":1630540365},{"key":"coil3/compose/AsyncImagePainter$State$Loading.class","name":"coil3/compose/AsyncImagePainter$State$Loading.class","size":2880,"crc":414299934},{"key":"coil3/compose/AsyncImagePainter$State$Success.class","name":"coil3/compose/AsyncImagePainter$State$Success.class","size":3436,"crc":1264194257},{"key":"coil3/compose/AsyncImagePainter$State.class","name":"coil3/compose/AsyncImagePainter$State.class","size":1259,"crc":-859889198},{"key":"coil3/compose/AsyncImagePainter$onRemembered$1$1$2.class","name":"coil3/compose/AsyncImagePainter$onRemembered$1$1$2.class","size":4003,"crc":734907556},{"key":"coil3/compose/AsyncImagePainter$onRemembered$1$1$3.class","name":"coil3/compose/AsyncImagePainter$onRemembered$1$1$3.class","size":2635,"crc":1017588738},{"key":"coil3/compose/AsyncImagePainter$onRemembered$1$1$invokeSuspend$$inlined$flatMapLatest$1.class","name":"coil3/compose/AsyncImagePainter$onRemembered$1$1$invokeSuspend$$inlined$flatMapLatest$1.class","size":4382,"crc":-768377489},{"key":"coil3/compose/AsyncImagePainter$onRemembered$1$1.class","name":"coil3/compose/AsyncImagePainter$onRemembered$1$1.class","size":5817,"crc":323669757},{"key":"coil3/compose/AsyncImagePainter$onRemembered$1$2$2.class","name":"coil3/compose/AsyncImagePainter$onRemembered$1$2$2.class","size":4025,"crc":1747953734},{"key":"coil3/compose/AsyncImagePainter$onRemembered$1$2$3.class","name":"coil3/compose/AsyncImagePainter$onRemembered$1$2$3.class","size":2635,"crc":-1279283402},{"key":"coil3/compose/AsyncImagePainter$onRemembered$1$2$invokeSuspend$$inlined$flatMapLatest$1.class","name":"coil3/compose/AsyncImagePainter$onRemembered$1$2$invokeSuspend$$inlined$flatMapLatest$1.class","size":4382,"crc":-1189130342},{"key":"coil3/compose/AsyncImagePainter$onRemembered$1$2.class","name":"coil3/compose/AsyncImagePainter$onRemembered$1$2.class","size":5635,"crc":377243923},{"key":"coil3/compose/AsyncImagePainter$updateRequest$$inlined$target$default$1.class","name":"coil3/compose/AsyncImagePainter$updateRequest$$inlined$target$default$1.class","size":3568,"crc":1250495090},{"key":"coil3/compose/AsyncImagePainter.class","name":"coil3/compose/AsyncImagePainter.class","size":22629,"crc":1570758385},{"key":"coil3/compose/AsyncImagePainterKt.class","name":"coil3/compose/AsyncImagePainterKt.class","size":19899,"crc":1111254601},{"key":"coil3/compose/AsyncImagePainter_androidKt$fakeTransitionTarget$1.class","name":"coil3/compose/AsyncImagePainter_androidKt$fakeTransitionTarget$1.class","size":1301,"crc":-1371745323},{"key":"coil3/compose/AsyncImagePainter_androidKt.class","name":"coil3/compose/AsyncImagePainter_androidKt.class","size":4865,"crc":-990442726},{"key":"coil3/compose/AsyncImagePreviewHandler$Companion$Default$1$handle$1.class","name":"coil3/compose/AsyncImagePreviewHandler$Companion$Default$1$handle$1.class","size":1730,"crc":-1030320467},{"key":"coil3/compose/AsyncImagePreviewHandler$Companion$Default$1.class","name":"coil3/compose/AsyncImagePreviewHandler$Companion$Default$1.class","size":3425,"crc":899852138},{"key":"coil3/compose/AsyncImagePreviewHandler$Companion.class","name":"coil3/compose/AsyncImagePreviewHandler$Companion.class","size":843,"crc":-1723001015},{"key":"coil3/compose/AsyncImagePreviewHandler.class","name":"coil3/compose/AsyncImagePreviewHandler.class","size":1806,"crc":2063506449},{"key":"coil3/compose/ComposableSingletons$SubcomposeAsyncImageKt$lambda-1$1.class","name":"coil3/compose/ComposableSingletons$SubcomposeAsyncImageKt$lambda-1$1.class","size":2736,"crc":-1648023773},{"key":"coil3/compose/ComposableSingletons$SubcomposeAsyncImageKt.class","name":"coil3/compose/ComposableSingletons$SubcomposeAsyncImageKt.class","size":1586,"crc":849909573},{"key":"coil3/compose/ConstraintsSizeResolver$size$1.class","name":"coil3/compose/ConstraintsSizeResolver$size$1.class","size":1629,"crc":-1836972927},{"key":"coil3/compose/ConstraintsSizeResolver$size$2.class","name":"coil3/compose/ConstraintsSizeResolver$size$2.class","size":3135,"crc":474096582},{"key":"coil3/compose/ConstraintsSizeResolver.class","name":"coil3/compose/ConstraintsSizeResolver.class","size":5843,"crc":1963485998},{"key":"coil3/compose/ConstraintsSizeResolverKt.class","name":"coil3/compose/ConstraintsSizeResolverKt.class","size":2701,"crc":1983078494},{"key":"coil3/compose/DrawScopeSizeResolver.class","name":"coil3/compose/DrawScopeSizeResolver.class","size":960,"crc":1253031390},{"key":"coil3/compose/DrawScopeSizeResolverKt.class","name":"coil3/compose/DrawScopeSizeResolverKt.class","size":2901,"crc":1972110264},{"key":"coil3/compose/EqualityDelegate.class","name":"coil3/compose/EqualityDelegate.class","size":996,"crc":-381508161},{"key":"coil3/compose/EqualityDelegateKt$Companion$getDefaultModelEqualityDelegate$1.class","name":"coil3/compose/EqualityDelegateKt$Companion$getDefaultModelEqualityDelegate$1.class","size":1502,"crc":13293949},{"key":"coil3/compose/EqualityDelegateKt$Companion.class","name":"coil3/compose/EqualityDelegateKt$Companion.class","size":1292,"crc":-612938881},{"key":"coil3/compose/EqualityDelegateKt.class","name":"coil3/compose/EqualityDelegateKt.class","size":1352,"crc":2037889547},{"key":"coil3/compose/ImagePainter.class","name":"coil3/compose/ImagePainter.class","size":5084,"crc":-469070962},{"key":"coil3/compose/ImagePainter_androidKt.class","name":"coil3/compose/ImagePainter_androidKt.class","size":3199,"crc":1884497251},{"key":"coil3/compose/LocalAsyncImageModelEqualityDelegateKt.class","name":"coil3/compose/LocalAsyncImageModelEqualityDelegateKt.class","size":2781,"crc":-542748242},{"key":"coil3/compose/LocalAsyncImagePreviewHandlerKt$AsyncImagePreviewHandler$1$handle$1.class","name":"coil3/compose/LocalAsyncImagePreviewHandlerKt$AsyncImagePreviewHandler$1$handle$1.class","size":1842,"crc":391519918},{"key":"coil3/compose/LocalAsyncImagePreviewHandlerKt$AsyncImagePreviewHandler$1.class","name":"coil3/compose/LocalAsyncImagePreviewHandlerKt$AsyncImagePreviewHandler$1.class","size":3541,"crc":823366199},{"key":"coil3/compose/LocalAsyncImagePreviewHandlerKt.class","name":"coil3/compose/LocalAsyncImagePreviewHandlerKt.class","size":3019,"crc":-1166313633},{"key":"coil3/compose/LocalPlatformContext_androidKt.class","name":"coil3/compose/LocalPlatformContext_androidKt.class","size":1003,"crc":-1246414077},{"key":"coil3/compose/RealDrawScopeSizeResolver$size$$inlined$mapNotNull$1$2$1.class","name":"coil3/compose/RealDrawScopeSizeResolver$size$$inlined$mapNotNull$1$2$1.class","size":1506,"crc":478212173},{"key":"coil3/compose/RealDrawScopeSizeResolver$size$$inlined$mapNotNull$1$2.class","name":"coil3/compose/RealDrawScopeSizeResolver$size$$inlined$mapNotNull$1$2.class","size":3337,"crc":-1393420316},{"key":"coil3/compose/RealDrawScopeSizeResolver$size$$inlined$mapNotNull$1.class","name":"coil3/compose/RealDrawScopeSizeResolver$size$$inlined$mapNotNull$1.class","size":2988,"crc":236975705},{"key":"coil3/compose/RealDrawScopeSizeResolver$size$2.class","name":"coil3/compose/RealDrawScopeSizeResolver$size$2.class","size":3282,"crc":2032333916},{"key":"coil3/compose/RealDrawScopeSizeResolver.class","name":"coil3/compose/RealDrawScopeSizeResolver.class","size":4108,"crc":669420906},{"key":"coil3/compose/RealSubcomposeAsyncImageScope.class","name":"coil3/compose/RealSubcomposeAsyncImageScope.class","size":5189,"crc":-1031361356},{"key":"coil3/compose/SubcomposeAsyncImageKt$SubcomposeAsyncImage$2.class","name":"coil3/compose/SubcomposeAsyncImageKt$SubcomposeAsyncImage$2.class","size":4743,"crc":470955044},{"key":"coil3/compose/SubcomposeAsyncImageKt$SubcomposeAsyncImageContent$2$1.class","name":"coil3/compose/SubcomposeAsyncImageKt$SubcomposeAsyncImageContent$2$1.class","size":2670,"crc":-1701404713},{"key":"coil3/compose/SubcomposeAsyncImageKt$contentOf$1.class","name":"coil3/compose/SubcomposeAsyncImageKt$contentOf$1.class","size":6568,"crc":817314768},{"key":"coil3/compose/SubcomposeAsyncImageKt.class","name":"coil3/compose/SubcomposeAsyncImageKt.class","size":36995,"crc":1486380427},{"key":"coil3/compose/SubcomposeAsyncImageScope.class","name":"coil3/compose/SubcomposeAsyncImageScope.class","size":1716,"crc":1132920879},{"key":"coil3/compose/internal/AsyncImageState.class","name":"coil3/compose/internal/AsyncImageState.class","size":2363,"crc":2086530826},{"key":"coil3/compose/internal/ContentPainterElement.class","name":"coil3/compose/internal/ContentPainterElement.class","size":7311,"crc":132885553},{"key":"coil3/compose/internal/ContentPainterNode.class","name":"coil3/compose/internal/ContentPainterNode.class","size":15295,"crc":1082116739},{"key":"coil3/compose/internal/CrossfadePainter.class","name":"coil3/compose/internal/CrossfadePainter.class","size":11755,"crc":-1185019653},{"key":"coil3/compose/internal/UtilsKt.class","name":"coil3/compose/internal/UtilsKt.class","size":19222,"crc":-875549321},{"key":"META-INF/coil-compose-core_release.kotlin_module","name":"META-INF/coil-compose-core_release.kotlin_module","size":346,"crc":-766931512}] |