Files
minstrel/android/app/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/16cfNSDLoazsPEnELfoaeQ==
T
bvandeusen 0b72827682 fix(android): unblock first device test — auth contrast + dynamic base URL
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>
2026-05-26 00:27:05 -04:00

1 line
4.6 KiB
Plaintext

[{"key":"META-INF/MANIFEST.MF","name":"META-INF/MANIFEST.MF","size":67,"crc":-1863225752},{"key":"dagger/hilt/DefineComponent$Builder.class","name":"dagger/hilt/DefineComponent$Builder.class","size":550,"crc":2117564533},{"key":"dagger/hilt/DefineComponent.class","name":"dagger/hilt/DefineComponent.class","size":728,"crc":1290340742},{"key":"dagger/hilt/EntryPoint.class","name":"dagger/hilt/EntryPoint.class","size":458,"crc":712625446},{"key":"dagger/hilt/EntryPoints.class","name":"dagger/hilt/EntryPoints.class","size":2528,"crc":238108421},{"key":"dagger/hilt/GeneratesRootInput.class","name":"dagger/hilt/GeneratesRootInput.class","size":408,"crc":1717998463},{"key":"dagger/hilt/InstallIn.class","name":"dagger/hilt/InstallIn.class","size":533,"crc":2057670338},{"key":"dagger/hilt/codegen/OriginatingElement.class","name":"dagger/hilt/codegen/OriginatingElement.class","size":267,"crc":1707308283},{"key":"dagger/hilt/components/SingletonComponent.class","name":"dagger/hilt/components/SingletonComponent.class","size":314,"crc":-1366463587},{"key":"dagger/hilt/internal/GeneratedComponent.class","name":"dagger/hilt/internal/GeneratedComponent.class","size":138,"crc":-1532354448},{"key":"dagger/hilt/internal/GeneratedComponentManager.class","name":"dagger/hilt/internal/GeneratedComponentManager.class","size":283,"crc":-547649433},{"key":"dagger/hilt/internal/GeneratedComponentManagerHolder.class","name":"dagger/hilt/internal/GeneratedComponentManagerHolder.class","size":471,"crc":-124288719},{"key":"dagger/hilt/internal/Preconditions.class","name":"dagger/hilt/internal/Preconditions.class","size":1580,"crc":-649566696},{"key":"dagger/hilt/internal/TestSingletonComponent.class","name":"dagger/hilt/internal/TestSingletonComponent.class","size":193,"crc":372663074},{"key":"dagger/hilt/internal/UnsafeCasts.class","name":"dagger/hilt/internal/UnsafeCasts.class","size":537,"crc":1725908247},{"key":"dagger/hilt/internal/aliasof/AliasOfPropagatedData.class","name":"dagger/hilt/internal/aliasof/AliasOfPropagatedData.class","size":658,"crc":-1405914316},{"key":"dagger/hilt/internal/definecomponent/DefineComponentClasses.class","name":"dagger/hilt/internal/definecomponent/DefineComponentClasses.class","size":532,"crc":734649081},{"key":"dagger/hilt/internal/definecomponent/DefineComponentNoParent.class","name":"dagger/hilt/internal/definecomponent/DefineComponentNoParent.class","size":368,"crc":-582134435},{"key":"dagger/hilt/internal/generatesrootinput/GeneratesRootInputPropagatedData.class","name":"dagger/hilt/internal/generatesrootinput/GeneratesRootInputPropagatedData.class","size":561,"crc":-1767884474},{"key":"dagger/hilt/migration/AliasOf.class","name":"dagger/hilt/migration/AliasOf.class","size":583,"crc":-1228508326},{"key":"dagger/hilt/migration/DisableInstallInCheck.class","name":"dagger/hilt/migration/DisableInstallInCheck.class","size":184,"crc":-725759383},{"key":"dagger/hilt/package-info.class","name":"dagger/hilt/package-info.class","size":208,"crc":2121738112},{"key":"dagger/hilt/processor/internal/aggregateddeps/AggregatedDeps.class","name":"dagger/hilt/processor/internal/aggregateddeps/AggregatedDeps.class","size":574,"crc":1039418898},{"key":"dagger/hilt/processor/internal/definecomponent/codegen/_dagger_hilt_components_SingletonComponent.class","name":"dagger/hilt/processor/internal/definecomponent/codegen/_dagger_hilt_components_SingletonComponent.class","size":628,"crc":-2059350258},{"key":"dagger/hilt/processor/internal/generatesrootinput/codegen/dagger_hilt_DefineComponent.class","name":"dagger/hilt/processor/internal/generatesrootinput/codegen/dagger_hilt_DefineComponent.class","size":586,"crc":1332881249},{"key":"dagger/hilt/processor/internal/generatesrootinput/codegen/dagger_hilt_DefineComponent_Builder.class","name":"dagger/hilt/processor/internal/generatesrootinput/codegen/dagger_hilt_DefineComponent_Builder.class","size":733,"crc":2084293464},{"key":"dagger/hilt/processor/internal/generatesrootinput/codegen/dagger_hilt_EntryPoint.class","name":"dagger/hilt/processor/internal/generatesrootinput/codegen/dagger_hilt_EntryPoint.class","size":566,"crc":920037867},{"key":"dagger/hilt/processor/internal/generatesrootinput/codegen/dagger_hilt_InstallIn.class","name":"dagger/hilt/processor/internal/generatesrootinput/codegen/dagger_hilt_InstallIn.class","size":562,"crc":-585262907},{"key":"dagger/hilt/processor/internal/generatesrootinput/codegen/dagger_hilt_migration_AliasOf.class","name":"dagger/hilt/processor/internal/generatesrootinput/codegen/dagger_hilt_migration_AliasOf.class","size":594,"crc":-569167577},{"key":"META-INF/com.google.dagger_hilt-core.version","name":"META-INF/com.google.dagger_hilt-core.version","size":7,"crc":1151490331}]