8 Commits
Author SHA1 Message Date
Bailey Dixon 23c06d60b9 ci(android): prefer cloud verification lanes 2026-08-31 15:29:06 -04:00
Bailey Dixon ebe1a8ebc4 chore(android): streamline local dev loop 2026-08-05 19:16:36 -04:00
Bailey Dixon 2bfe21eaff chore(ci): shorten Android validation feedback 2026-07-19 20:50:36 -04:00
Bailey DixonandClaude Opus 4.6 1e72ff4a9d chore: migrate applicationId to com.axiomlabs.hermesrelay + AGP 9.1.1
Switch the Play Store / Android runtime identity from
`com.hermesandroid.relay` to `com.axiomlabs.hermesrelay` as part of the
move from a personal Play Console account to the Axiom-Labs, LLC
DUNS-verified org account. The Kotlin namespace stays at
`com.hermesandroid.relay` — `namespace` and `applicationId` are
decoupled, so all 130+ source files, class FQCNs, Class.forName
lookups, and broadcast action strings keep working unchanged.

Why: the DUNS-verified org account is exempt from Google Play's 14-day
/ 12-tester closed-testing rule that applies to new personal dev
accounts, unblocking straight-to-production rollout. Play Store
package names are permanently reserved once used, so the old
`com.hermesandroid.relay` listing on the personal account is being
retired rather than transferred.

Changes:
- app/build.gradle.kts: applicationId → com.axiomlabs.hermesrelay;
  update flavor-split + migration comments
- scripts/dev.{bat,sh}: `adb shell am start` now uses explicit FQCN
  `com.axiomlabs.hermesrelay/com.hermesandroid.relay.MainActivity` —
  the `.MainActivity` shorthand breaks once applicationId ≠ namespace
- README.md, user-docs/guide/{getting-started,release-tracks}.md:
  Play Store links → new package ID
- CLAUDE.md: split "Package" into explicit Namespace vs applicationId
  entries documenting the decoupling
- RELEASE.md: rewrite Play Console section with Axiom-Labs org-account
  context, 14-day-rule exemption, keystore-continuity note, and
  historical migration callout
- build.gradle.kts: AGP 9.1.0 → 9.1.1 (Android Studio catalog update,
  rolled in for convenience)

Runtime verification: FileProvider auto-follows via
`\${applicationId}.fileprovider`; BridgeViewModel's a11y service check
uses `ComponentName(ctx.packageName, A11Y_SERVICE_CLASS)` which adapts
at runtime; proguard `-keep class com.hermesandroid.relay.**` rule is
namespace-based and still matches. Upload keystore + SHA256 fingerprint
are preserved — existing GitHub Secrets need no changes.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 19:03:51 -04:00
Bailey DixonandClaude Opus 4.6 b379d02d4c chore: prepare v0.1.0 Play Store release
- Rename "Hermes Relay" -> "Hermes-Relay" across docs, app strings,
  scripts, workflows, plugin, and relay server (~57 files)
- Redesign user-docs landing: install section moved above features
  via home-hero-after slot (InstallSection.vue), hero image replaced
  with phone-framed demo video that crossfades to brand logo after
  12s of playback (HeroDemo.vue). Fix dead /guide/getting-started
  links in raw HTML hrefs that VitePress base-rewriting skipped.
- Add chat demo to README, docs landing hero, and Getting Started's
  Verify Connection section. Re-encode 20MB / 102fps source capture
  to 1.95MB / 30fps with extracted poster frame for instant LCP.
- Add smooth auto-scroll for streaming chat with Settings toggle --
  follows new tokens at the bottom, pauses when user scrolls up.
- Migrate SettingsScreen clipboard from deprecated LocalClipboardManager
  to LocalClipboard suspend API (Compose 1.7+).
- Migrate scripts/screenshots from monolithic .bat to thin wrapper
  + screenshots.py for Play Store screenshot capture.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 21:15:07 -04:00
Bailey DixonandClaude Opus 4.6 a3ceaad014 docs: add VitePress docs site, rewrite README, update all references
- Add user-docs/ VitePress site with Nothing-Inspired theme (purple brand),
  Space Grotesk/Mono fonts, interactive Vue Flow architecture diagrams,
  clean SVG feature icons (replacing emojis), and doc footer CTAs
- Rewrite README with centered header, shields.io badges, feature table,
  Axiom-Labs attribution, and Ko-Fi support link
- Add relay_server/ (renamed from companion_relay/) with updated references
- Update all docs (spec, decisions, CLAUDE.md, AGENTS.md, DEVLOG.md) for
  Hermes Relay rename and direct API architecture
- Add HERMES-WEBAPI-REFERENCE.md with full SSE event documentation
- Add CHANGELOG.md, RELEASE_NOTES.md, PR template, dependabot config
- Fix stale references: companion_relay → relay_server, API key now optional,
  SSE events updated to Hermes-native names, token field names corrected

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 22:15:36 -04:00
Bailey DixonandClaude Opus 4.6 8840d5418a feat: polish pass — splash, empty states, insecure mode, proguard, dev TLS
Splash screen:
- Android 12+ SplashScreen API with wing-H icon on dark background
- installSplashScreen() before super.onCreate()

UX improvements:
- Wire onboarding Connect page URL into ConnectionViewModel (was local-only)
- Empty state for Chat screen when no messages + disconnected hint
- Insecure mode toggle in Settings — allows ws:// for local dev/testing
- Warning banner when connected over insecure ws://
- Insecure mode persisted in DataStore, logged with clear warnings

Build:
- ProGuard rules for kotlinx.serialization, OkHttp, Tink, Compose
- Stack trace preservation for release crash reports

Dev tooling:
- Self-signed TLS cert generator (scripts/gen-dev-cert.sh + .bat)
- relay-tls dev script command (auto-generates certs if missing)
- certs/ added to .gitignore

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 12:09:50 -04:00
Bailey DixonandClaude Opus 4.6 5dd5cf3b52 docs: update all docs for repo restructure + add dev scripts
- Rewrite README: new layout, quick start, dev scripts reference,
  wireless debugging, upstream credit
- Rewrite CLAUDE.md: updated paths, key files, dev workflow
- Update AGENTS.md: reflect new setup flow
- Update DEVLOG.md: full session history
- Update docs/spec.md: fix relay directory structure
- Add scripts/dev.sh + scripts/dev.bat: build, install, run, test,
  lint, clean, devices, wireless, relay commands
- Bump AGP 8.13.2, Gradle 8.13, add JVM toolchain 17
- Add foojay toolchain resolver

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 11:35:09 -04:00