From c0a8a3c6dfb649002e62d20b6ed545822104de6e Mon Sep 17 00:00:00 2001 From: Moe Hamade <69801237+moehamade@users.noreply.github.com> Date: Wed, 26 Aug 2026 01:23:25 +0300 Subject: [PATCH] fix(nav): apply the scaffold insets at one layer, and trust the coroutines boms contentModifier already carried the Scaffold's system-bar padding and was passed to both NavDisplay and the onboarding entry, so onboarding padded itself twice while ChatScreen, which applies its own status, navigation and IME insets, gained an extra outer band. Only onboarding takes the scaffold padding now, matching what the when branch did before this PR, where ChatScreen was called with no modifier at all. The verification metadata refresh also adds three kotlinx-coroutines-bom poms. They resolve through detached configurations that KSP introduces, and a warm local cache never re-fetches them, so they failed only on a cold CI runner. Regenerated with --refresh-dependencies so the whole set was observed at once rather than one CI cycle at a time. Three components added, none removed, no version drift. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01MdKgoKZbL5K1wsn1WsES26 --- .../main/java/com/bitchat/android/MainActivity.kt | 8 +++++--- gradle/verification-metadata.xml | 15 +++++++++++++++ 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/bitchat/android/MainActivity.kt b/app/src/main/java/com/bitchat/android/MainActivity.kt index 280e7d5a..143d2f3e 100644 --- a/app/src/main/java/com/bitchat/android/MainActivity.kt +++ b/app/src/main/java/com/bitchat/android/MainActivity.kt @@ -171,7 +171,9 @@ class MainActivity : OrientationAwareActivity() { modifier = Modifier.fillMaxSize(), containerColor = MaterialTheme.colorScheme.background ) { innerPadding -> - val contentModifier = Modifier + // Only onboarding takes the scaffold insets; ChatScreen applies + // its own status, navigation and IME padding. + val onboardingModifier = Modifier .fillMaxSize() .padding(innerPadding) val onboardingState by mainViewModel.onboardingState.collectAsState() @@ -188,7 +190,7 @@ class MainActivity : OrientationAwareActivity() { } val entries: EntryProviderInstaller = { - entry { OnboardingFlowScreen(contentModifier) } + entry { OnboardingFlowScreen(onboardingModifier) } entry { ChatScreen(viewModel = chatViewModel) } } @@ -196,7 +198,7 @@ class MainActivity : OrientationAwareActivity() { navigator = navigator, entryInstallers = setOf(entries), onExit = { finish() }, - modifier = contentModifier, + modifier = Modifier.fillMaxSize(), ) // Chat still drives its overlays with booleans rather than routes, diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml index f5914c1d..0bd45df0 100644 --- a/gradle/verification-metadata.xml +++ b/gradle/verification-metadata.xml @@ -5092,11 +5092,21 @@ + + + + + + + + + + @@ -5107,6 +5117,11 @@ + + + + +