Skip to content

Releases: eigenlux-ai/roamer

Release list

v1.0.1

Choose a tag to compare

@github-actions github-actions released this 15 Jul 12:18
fix: keep the locale baseline when unenroll's restore fails

unenroll tore down the enrollment and baseline unconditionally, ignoring
applyAppLocale's result. When the restore write failed — Shizuku dying while
the app picker was open (the entry point only samples shizukuGranted on
click), or a binder error — the override stayed on the app while the state
needed to undo it was gone: no longer enrolled, so sync() never revisits it,
and no baseline left to restore from. That strands a per-app locale for good,
breaking the "device clean" invariant.

Gate the teardown on the write actually landing, so a later sync() / unenroll
can finish the job. Checking applyAppLocale's return value rather than
hasPermission() also covers binder failures, not just a missing Shizuku.
Mirrors enroll's guard, and matches master-off, which stays recoverable
precisely because it preserves baselines.

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 06 Jul 07:00
ci: signed release APK via GitHub Actions

- app/build.gradle.kts: add a release signingConfig populated from env vars
  (keystore lives in GitHub Secrets); a local release build without them
  stays unsigned instead of failing. Derive versionCode/versionName from CI
  env (git tag), falling back to 1 / "1.0" locally.
- .github/workflows/release.yml: on a v* tag (or manual dispatch), set up
  JDK 21 + Android SDK, run unit tests, build assembleRelease, upload the
  APK artifact, and attach the signed APK to a GitHub Release.
- .gitignore: exclude *.jks / *.keystore / keystore.properties.