702 Commits
Author SHA1 Message Date
Hossain KhanandGitHub a743122461 Merge pull request #284 from usetrmnl/version-bump-2.10.0
Prepare release 2.10.0
v2.10.0
2026-04-04 08:08:19 -04:00
Hossain Khan d686663bfd Split commands so that commands can be just copied with click 2026-04-04 08:05:51 -04:00
Hossain Khan f55b17c50f chore: empty commit for triggering workflows 2026-04-04 08:03:36 -04:00
hossain-khanandgithub-actions[bot] 6ae6a7bac4 chore: prepare release 2.10.0 2026-04-04 12:02:39 +00:00
Hossain KhanandGitHub 4175f372de Merge pull request #283 from usetrmnl/update-libraries
fix: update libraries and clean up deprecated TrmnlUserApiService
2026-04-04 07:47:11 -04:00
Hossain Khan d783a8b3f1 fix: update libraries and clean up deprecated TrmnlUserApiService
- Bump library versions: activityCompose 1.13.0, circuit 0.33.1,
  composeBom 2026.03.01, androidXCoreKtx 1.18.0, workManager 2.11.2,
  coil 3.4.0, mockk 1.14.9, robolectric 4.16.1, datastore 1.2.1, AGP 8.13.2
- Comment out deprecated TrmnlUserApiService provider in NetworkModule
- Trim access token in AppSettingsScreen event handler
2026-04-04 07:42:56 -04:00
Hossain KhanandGitHub 97c97e9139 Merge pull request #282 from usetrmnl/update-agp-and-formatter
[UPDATE] AGP to "8.13.2" and kotlinter = "5.4.2"
2026-04-04 07:07:23 -04:00
Hossain Khan d5fa16d0bf [UPDATE] AGP to "8.13.2" and kotlinter = "5.4.2"
Applied formatter
2026-04-04 07:02:59 -04:00
Hossain KhanandGitHub 2211c22a28 Merge pull request #281 from usetrmnl/fix/kotlin-compiler-warnings
fix: address Kotlin compiler warnings
2026-04-03 22:22:56 -04:00
Hossain Khan 694d455ed1 fix: address kotlin compiler warnings
- Move @Inject/@AssistedInject to class level for single-constructor classes
- Remove explicit class key from @ActivityKey (redundant)
- Add -Xannotation-default-target=param-property compiler arg to suppress
  annotation target warnings for @Json and @ApplicationContext parameters
- Rename writeTo parameter to match supertype Serializer<T> signature

Fixes warnings from KT-73255 and other Metro/Kotlin best practices
2026-04-03 10:54:13 -04:00
Hossain KhanandGitHub 26e4d7b924 Merge pull request #280 from usetrmnl/version-bump-2.9.0
Prepare release 2.9.0
v2.9.0
2026-04-03 10:33:00 -04:00
Hossain Khan f0fdfbb2a5 chore: empty commit for triggering workflows 2026-04-03 10:27:54 -04:00
hossain-khanandgithub-actions[bot] e6916961bf chore: prepare release 2.9.0 2026-04-03 14:27:24 +00:00
Hossain KhanandGitHub 3326b8ae74 Merge pull request #278 from usetrmnl/metro-migration-MAIN
feat: migrate from Dagger/Anvil/KAPT to Metro DI framework
2026-04-03 09:25:41 -04:00
Hossain Khan 1ecb17a06f docs: update all Dagger/Anvil/KAPT references to Metro
Replace stale DI documentation across the codebase:
- CONTRIBUTING.md: DI stack description
- .github/copilot-instructions.md: architecture, di/ comment, DI pattern, build note
- CLAUDE.md: tech stack, build comments, di/ listing, DI patterns,
  common issues, Kotlin version note, Copilot context section
- project-resources/prd/product-requirements-document.md: ARCH-04 row
2026-04-03 09:23:22 -04:00
Hossain Khan 4d7685faaf fix: trim access token on save to prevent illegal header chars
Trailing newlines (0x0a) in pasted tokens caused OkHttp to throw
IllegalArgumentException when setting the access-token header.
Trimming on save prevents whitespace from reaching the network layer.
2026-04-03 09:21:01 -04:00
Hossain Khan fd3d001d7a Ignore warning
w: file:///Users/hossain/dev/repos/android-apps/trmnl-android/app/src/test/java/ink/trmnl/android/util/AndroidDeviceInfoProviderTest.kt:113:29 'val connectionInfo: WifiInfo!' is deprecated. Deprecated in Java.
2026-04-03 09:15:57 -04:00
Hossain Khan 74d7366522 [IGNORE] Lint because API 29+ 2026-04-03 09:12:21 -04:00
Hossain Khan ca3c35fab6 chore: bump JVM target from 17 to 21
Metro gradle plugin requires JVM 21+. Update all JDK 17 references:
- app/build.gradle.kts: sourceCompatibility, targetCompatibility, jvmTarget
- .devcontainer: base image java:1-17-bookworm → java:1-21-bookworm
- docs: .github/copilot-instructions.md and CLAUDE.md
2026-04-03 08:46:30 -04:00
Hossain Khan 6db244eff4 [FIXES] Min SDK
16s
Run ./gradlew lintKotlin testDebugUnitTest --parallel --daemon
Starting a Gradle Daemon (subsequent builds will be faster)
Parallel Configuration Cache is an incubating feature.
Calculating task graph as no cached configuration is available for tasks: lintKotlin testDebugUnitTest
gradle/actions: Writing build results to /home/runner/work/_temp/.gradle-actions/build-results/__run-1775220043424.json

[Incubating] Problems report is available at: file:///home/runner/work/trmnl-android/trmnl-android/build/reports/problems/problems-report.html
FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'TRMNL'.
> Could not resolve all artifacts for configuration 'classpath'.
   > Could not resolve dev.zacsweers.metro:gradle-plugin:0.12.1.
     Required by:
         root project : > dev.zacsweers.metro:dev.zacsweers.metro.gradle.plugin:0.12.1
Configuration cache entry stored.
      > Dependency requires at least JVM runtime version 21. This build uses a Java 17 JVM.
2026-04-03 08:43:23 -04:00
Hossain KhanandGitHub bf68a3e472 Merge pull request #279 from usetrmnl/metro-phase-2
feat: migrate DI from Dagger/Anvil to Metro (Phases 2-5)
2026-04-03 08:40:12 -04:00
Hossain Khan e1c91ba4e2 feat: migrate DI from Dagger/Anvil to Metro
Replace Dagger 2 + Anvil DI infrastructure with Metro framework.

Changes:
- Add AppGraph.kt: Metro @DependencyGraph replacing Dagger AppComponent
- Remove AppComponent.kt, ActivityKey.kt, TrmnlAppComponentFactory.kt
- Update all DI modules (CircuitModule, NetworkModule, DataStoreModule,
  WorkerModule) from Dagger @Module objects to Metro @ContributesTo interfaces
- Update ApplicationContext qualifier to use dev.zacsweers.metro.Qualifier
- Migrate TrmnlDisplayMirrorApp to MetroApplication pattern
- Update MainActivity: ContributesMultibinding → ContributesIntoMap
- Update all presenter files: dagger.assisted.* → dev.zacsweers.metro.*
- Update all data/work files: javax.inject.Inject → dev.zacsweers.metro.Inject
- Remove android:appComponentFactory from manifest (MetroX provides it)

Closes #273
Closes #274
Closes #275
Closes #276
2026-04-03 08:27:29 -04:00
Hossain KhanandGitHub acc1f6d05a Merge pull request #277 from usetrmnl/metro-phase-1
[CHANGED] Phase 1: Replace Dagger/Anvil/KAPT with Metro DI (build config)
2026-04-03 08:13:23 -04:00
Hossain Khan 7a24df0c3e [CHANGED] Phase 1: Replace Dagger/Anvil/KAPT with Metro DI
- Replace kotlin.kapt and Anvil plugins with Metro Gradle plugin
- Remove dagger, dagger-compiler, anvil-annotations dependencies
- Add metrox-android for Activity injection support
- Update Circuit KSP args: anvil codegen -> circuit.codegen.mode=metro
- Bump Kotlin 2.1.10 -> 2.3.20 (JDK 25 compat, Metro 0.10.0+ required)
- Bump KSP to 2.3.6 (new independent versioning from KSP 2.3.0+)
- Add metro = 0.12.1 to version catalog
- Migrate kotlinOptions to kotlin { compilerOptions {} } DSL

Closes #272
2026-04-03 08:08:14 -04:00
Hossain Khan 5c2cc36e57 [ADDED] Metro snapshot to work on migration 2026-04-03 07:50:28 -04:00