4.2 KiB
4.2 KiB
Changelog
All notable Hermes Mobile source changes are recorded here. Entries are added during the same work loop as their implementation; release artifacts are only listed after source commit, checks, and APK upload are verified.
Unreleased
Added
- Added
docs/DIRECT_GATEWAY_ARCHITECTURE.mdto define the direct upstream Hermes gateway architecture, documented endpoints, unverified assumptions, and legacy companion compatibility policy. - Added transport DTOs and domain repository contracts for server profiles, authentication, sessions, messages, stream events, tool results, and artifacts.
- Added DTO-to-domain/UI mappers, stream reducer behavior, and a fake Hermes repository with unit coverage for mappings, stream reduction, and repository fixtures.
- Added a fake-data Compose chat proving ground with local session rail/list, context controls, keyboard-safe composer, send/cancel/retry, and seeded empty/loading/reconnecting/error states.
- Added typed user, assistant, system, error, and streaming chat models; selectable markdown-friendly text, copyable horizontally scrollable code blocks, expandable tool results, and reducer unit tests.
- Added a Compose design-system package with color, semantic status, spacing, typography, shape, elevation, and motion tokens.
- Added light and dark Hermes Compose themes backed by Material 3 color schemes.
- Added Compose previews for small phone, normal phone, tablet width, light theme, and dark theme component coverage.
- Added native Android chat, workspace, settings, local defaults, companion health, and file editing surfaces for the beta client.
- Added
PROJECT_PLAN.mdas the project-controlled milestone plan.
Changed
- Pivoted planning and Android connection/domain terminology toward direct gateway auth, sessions, streaming, and later legacy companion removal.
- Changed Android transport/domain capability models and fake repository data to describe direct gateway support first, with legacy companion compatibility explicitly flagged.
- Changed the fake chat seed path to reuse the fake Hermes repository preview state.
- Extracted shared Compose cards, rows, buttons, text fields, notices, message bubbles, list scaffolds, and code surfaces out of
MainActivity.kt. - Updated the native Appearance screen to describe system light/dark theming and design tokens.
- Updated companion
/api/chatto callhermes chat -Q --source tool -q <prompt>, sanitize CLI banners/help/control output, truncate large mobile replies, and return structured failures. - Reconciled
docs/ROADMAP.mdto the current native Android beta state. - Ignored
.gradle-user/and.dev/alongside existing generated build artifacts.
Fixed
- Fixed companion/mobile lint issues from missing Node globals and an unused React settings value.
Verification
git diff --check— passed for direct gateway planning/contract milestone.GRADLE_USER_HOME=/root/hermes-mobile/.gradle-user ./gradlew :app:testDebugUnitTest :app:assembleDebugfromapps/mobile/android— passed for direct gateway planning/contract milestone.- Parent preflight immediately before B1 completion — script PASS; Android
:app:assembleDebugBUILD SUCCESSFUL, 35 tasks total and 6 executed. - Parent preflight immediately before B1 completion —
git diff --checkpassed. git diff --check— passedGRADLE_USER_HOME=/root/hermes-mobile/.gradle-user ./gradlew :app:testDebugUnitTest :app:assembleDebugfromapps/mobile/android— passedGRADLE_USER_HOME=/root/hermes-mobile/.gradle-user ./gradlew :app:assembleDebugfromapps/mobile/android— passednpm run typecheck --workspace @hermes-mobile/companion— passednpm run lint --workspace @hermes-mobile/companion— passednpm run build --workspace @hermes-mobile/companion— passednpm run typecheck— passednpm run lint— passednpm run build— passed
Release history
No versioned APK releases yet.
Entry format
## [v0.1.0-beta.1] - YYYY-MM-DD
### Added
- Concise user-visible change.
### Changed
- Concise refinement or architectural change.
### Fixed
- Concise defect fix.
### Verification
- `command` — passed
### APK
- `hermes-mobile-v0.1.0-beta.1.apk` — Telegram release topic message <id>