Skip to content

fix(android): show real error text, guard dynamic colour, scope lint - #73

Merged
janakhpon merged 1 commit into
mainfrom
fix/2026-10-14/android-lint-real-defects
Oct 14, 2026
Merged

janakhpon merged 1 commit into
mainfrom
fix/2026-10-14/android-lint-real-defects

Conversation

@janakhpon

Copy link
Copy Markdown
Member
  • error_file_large declared {max} but the call passes 50, so users saw the literal {max}; use %1$d in all three languages
  • error_ocr_failed and error_engine_load ended in a literal {msg} the views never fill; the detail already shows beneath the title, so drop the placeholder
  • guard dynamicDarkColorScheme and dynamicLightColorScheme behind API 31; minSdk is 24 and the flag defaults off
  • ignore RestrictedApi in Room's generated DAOs, 163 findings; hand-written code stays checked
  • lint errors fall from 178 to the 10 MissingTranslation strings, which need real Mon and Burmese text
  • the debug unit tests still pass: 125 run, 0 failures

What changed

Why

How it was verified

  • pnpm --filter ./apps/web test
  • pnpm --filter ./apps/web run lint
  • cd services/feedback && go vet ./... && go test ./... (if Go changed)
  • cd apps/cli && cargo fmt --check && cargo clippy --all-targets -- -D warnings && cargo test
    (if the CLI changed; the PDF tests need Poppler and MONOCR_PDF_FIXTURE, see apps/cli/README.md)
  • Android unit tests, if Android changed: cd apps/android && ./gradlew testDebugUnitTest
    (needs JAVA_HOME on Android Studio's JBR; see apps/android/README.md).
    The android job runs these on every push. The instrumented tests in
    app/src/androidTest/ run in no CI job, so run them on a device if you touched them.
  • iOS MonOcrCore tests, if iOS changed: cd apps/ios && sh Scripts/swift-test.sh.
    The ios-core job runs these on every push, so this is a faster copy of a
    gate that does exist. The app target is still not built anywhere.

Claims

- error_file_large declared {max} but the call passes 50, so users saw the literal {max}; use %1$d in all three languages
- error_ocr_failed and error_engine_load ended in a literal {msg} the views never fill; the detail already shows beneath the title, so drop the placeholder
- guard dynamicDarkColorScheme and dynamicLightColorScheme behind API 31; minSdk is 24 and the flag defaults off
- ignore RestrictedApi in Room's generated DAOs, 163 findings; hand-written code stays checked
- lint errors fall from 178 to the 10 MissingTranslation strings, which need real Mon and Burmese text
- the debug unit tests still pass: 125 run, 0 failures
@janakhpon
janakhpon merged commit 56a6031 into main Oct 14, 2026
17 checks passed
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