Skip to content

Warning fixes - #184

Open
UnknownJoe796 wants to merge 1 commit into
version-8.3from
version-8.3-warning-fixes
Open

Warning fixes#184
UnknownJoe796 wants to merge 1 commit into
version-8.3from
version-8.3-warning-fixes

Conversation

@UnknownJoe796

@UnknownJoe796 UnknownJoe796 commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

All compiler warnings across the entire project are now resolved. Summary:

Scope: library, library-camera, library-lottie, test-utilities, example-app, gradle-plugin, ai-driver-server — main and test sources, across JVM, JVM/SSR,
JS, and Android targets. 141 files touched.

Real bugs found and fixed along the way:

  • ImageView.kt had an actual compile error (missing public in explicit-API mode) — fixed first so anything could build.
  • Navigator.navigateUrlLikePath/resetUrlLikePath silently swallowed invalid routes (always returned Unit); now return Boolean so AiDriver.kt can detect and
    report bad routes.
  • KiteUiCss.kt: theme's transform reset to none was never emitted for elements whose transform changed to null, because the generic diff helper can't
    distinguish "unchanged" from "changed to null" — fixed with an explicit comparison. (This is why 2 golden SSR snapshot tests needed regenerating — the fix
    now correctly emits transform:none.)
  • Removed ~900 lines of dead/no-op code: 598 redundant .toString() calls in a generated JS/SSR file, ~300 @ViewDsl/@ViewModifierDsl3 annotations that had
    no effect (the marker already lives on the Element/ElementWriter interfaces), unreachable else branches on exhaustive whens, tautological conditions in
    gradle-plugin.
  • Corrected two @deprecated messages in the library pointing at a nonexistent renderListSlowIn API — the real replacement
    (renderListInExpensive/colOfExpensive/rowOfExpensive) already existed, just mis-named in the message.
  • Build config: kotlinx.cinterop opt-ins were leaking from a shared compilerOptions block onto every non-native target (JVM/JS/Android), causing
    "unresolved opt-in marker" warnings everywhere — rescoped to native targets only, across 5 modules.

Two things I flagged and you decided on:

  • ReactiveThreadCheck no longer exists in your reactive library — removed the Android/iOS thread-confinement guard that depended on it (per your choice).
  • The renderListInExpensive/renderReorderableListIn container-factory API can't apply extra modifiers (weight/scrolling/theme/sizing) before the container
    it creates — for those call sites I kept the internal forEach/forEachAnimated with explicit @OptIn/@Suppress, documented inline. Worth a real fix later if
    you want modifier-preserving list helpers.

Verification: every module's main + test sources compile warning-free on JVM/JVMSsr/JS/Android, and the full test suite (including the SSR golden-snapshot
tests) passes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant