-
9e10c813d4
feat(#534): add OAuth provider management screen + credential_warning surfacing (#566)

M57andM57
2026-07-12 21:10:11 +03:00
-
ad87cd1054
feat(#533): make /fork work via chat (session.branch) (#565)

M57andronia
2026-07-12 18:34:07 +03:00
-
07764955d3
test(#549): add slash command dispatch audit tests (#564)

M57andM57
2026-07-12 14:57:37 +03:00
-
168d27dcca
feat(#552): surface tool.output_risk WS event as security chip (#561)

M57andM57
2026-07-12 13:21:07 +03:00
-
3052db7d65
feat: paginate, sync, and display branched sessions (#563)
Genesi599
2026-07-12 17:53:23 +08:00
-
306861a222
feat(#553): animate reaction WS event (ily / <3 / good bot → hearts)
M57
2026-07-12 05:11:17 +03:00
-
cc917afcbd
fix(#548): stop System tab button text truncation + fix two wrong labels (#559)

M57andM57
2026-07-12 01:08:52 +03:00
-
9156064d2b
feat(#537): analytics screen — usage + per-model stats (#558)

M57andM57
2026-07-12 00:04:56 +03:00
-
afa82ceec2
feat(#532): add process.list + process.kill manager screen (#556)

M57andM57
2026-07-11 20:17:03 +03:00
-
cf893585b1
feat(#527): surface gateway error + background.complete WebSocket events (#550)

M57andM57
2026-07-11 15:18:49 +03:00
-
480d29e481
fix(#545): fix gated ws auth loop and ticket refresh (#546)
M57
2026-07-11 00:21:23 +03:00
-
53b3966931
feat(#525): render reasoning.delta / reasoning.available stream (#543)

M57andM57
2026-07-10 23:41:53 +03:00
-
d04b74ee0a
fix: add Android SDK Build-Tools 36.0.0 to Nix flake (#544)
M57
2026-07-10 22:19:19 +03:00
-
def32f8f27
fix(ws): align RPC timeout to 120s + rejectAllPending on disconnect (fixes #526) (#541)

M57andM57
2026-07-10 14:07:56 +03:00
-
c5d1ef1c42
fix(network): scope management REST calls with ?profile= (fixes #528) (#540)
M57
2026-07-10 14:02:45 +03:00
-
d056c77c93
feat(chat): handle sudo.request / secret.request and respond via RPC (fixes #524) (#539)
M57
2026-07-10 05:00:23 +03:00
-
f6e6f86cc4
perf(#523): cache asJsonObject in ChatBubble parse loops (surgical rebase onto main, preserves #514) (#523)
M57
2026-07-09 22:15:48 +03:00
-
e02d7bfd25
test(#522): add GatewayViewModel loadStatus tests (success/error/exception) (rebase onto main) (#522)
M57
2026-07-09 22:05:43 +03:00
-
545da107f9
perf(#520): stream Base64 encode attachments in 128KB chunks with yield (rebase onto main) (#520)
M57
2026-07-09 21:53:27 +03:00
-
350db20af6
test(#519): add AuthLoginViewModel probe error-path tests (merge onto #517 file, JUnit4+deterministic) (#519)
M57
2026-07-09 21:36:57 +03:00
-
ba2d4cf896
perf(#518): wrap NotificationReplyReceiver work in withContext(Dispatchers.IO) (#518)
M57
2026-07-09 21:18:57 +03:00
-
f1b651f802
test(#517): add AuthLoginViewModel state-update unit tests (rebase onto main) (#517)
M57
2026-07-09 21:06:19 +03:00
-
209ca9e306
test(#516): add ChatViewModel readContentUriBytes exception test (re-applied, +graceful-send assertion) (#516)
M57
2026-07-09 20:35:18 +03:00
-
c98cfee3cc
test(#515): add KeysViewModel.toggleCategory test (re-applied onto main, +cross-toggle independence) (#515)
M57
2026-07-09 20:21:26 +03:00
-
bab0c3038d
Refactor parseToolOutput by extracting TODO tool formatting logic (#514)
M57
2026-07-09 18:20:20 +03:00
-
e90b69d215
test(#513): add testToggleSearch to ChatViewModelTest (#513)
M57
2026-07-09 17:53:17 +03:00
-
fcb25d3b55
🧪 Test PairingCodeEntryViewModel onManualCodeChange (#512)
M57
2026-07-09 17:37:05 +03:00
-
529ab0bc83
🧪 Add unit tests for ChatViewModel attachment manipulation (#511)
M57
2026-07-09 15:49:34 +03:00
-
5bc5d17032
Refactor parseDaysOfWeek in CronExpressionFormatter (#510)
M57
2026-07-09 15:26:29 +03:00
-
2f16ed7e62
test: add unit tests for SystemViewModel update confirm state toggles (#509)
M57
2026-07-09 15:21:45 +03:00
-
2f5a841a03
test: add tests for interruptSession in ChatViewModel (#508)
M57
2026-07-09 15:19:01 +03:00
-
5aad806b8f
Add test for KeysViewModel state updates (#507)
M57
2026-07-09 15:15:57 +03:00
-
14496bb510
Add unit test for ChatViewModel.refreshSettings (#506)
M57
2026-07-09 15:09:25 +03:00
-
5c7363389d
chore: bump net.zetetic:sqlcipher-android from 4.16.0 to 4.17.0 (#503)
dependabot[bot]
2026-07-09 11:33:07 +03:00
-
b24abccb9c
chore: bump org.jetbrains.kotlinx:kotlinx-serialization-json (#504)
dependabot[bot]
2026-07-09 11:33:03 +03:00
-
63603fa891
chore: bump app.cash.turbine:turbine from 1.2.0 to 1.2.1 (#505)
dependabot[bot]
2026-07-09 11:32:59 +03:00
-
793ab89c14
fix: move skill source badge beside install button in hub cards (#502)
M57
2026-07-08 23:09:19 +03:00
-
cbbda06157
feat(#500): tap-to-reveal detail dialog for truncated item descriptions (#501)
M57
2026-07-08 22:50:03 +03:00
-
7f29cb3660
fix: remove stray snapshot artifact line from README License section
M57
2026-07-08 20:41:24 +03:00
-
03b7b676eb
fix: fill Apache 2.0 copyright holder in LICENSE + README
M57
2026-07-08 20:29:02 +03:00
-
85a35c58ce
docs: update AGENTS.md — generic build section, remove system-specific rules (#499)
M57
2026-07-08 13:13:28 +03:00
-
cec8795b53
fix(#497): pass include_unconfigured=true to /api/model/options (#498)
M57
2026-07-08 13:00:42 +03:00
-
21092c79f2
refactor(settings): edit settings tab (#496)
M57
2026-07-08 02:07:11 +03:00
-
04bb7c4325
Fix/issue 470 stuck reconnecting (#495)
M57
2026-07-08 01:36:23 +03:00
-
739ff4f62b
fix(chat): surface all disconnected states in reconnect banner (#491) (#493)
M57
2026-07-08 01:00:56 +03:00
-
089eaf06e5
fix(chat): make search bar clickable (was overlayed by message list) (#492)
M57
2026-07-08 00:22:51 +03:00
-
9508204574
refactor(chat): extract streaming state into ChatStreamingController (#489)
M57
2026-07-07 23:57:13 +03:00
-
3aa40414e6
refactor(chat): extract ChatSearchDelegate from ChatViewModel (#486)
M57
2026-07-07 23:55:28 +03:00
-
ca32e37e2f
refactor(ui): split monolithic screen files into focused components (#485)
M57
2026-07-07 23:00:24 +03:00
-
d178d7f69e
refactor: proper OkHttp CookieJar integration (issue #470) (#483)
M57
2026-07-07 21:51:04 +03:00
-
ce7048c07e
Remove Settings profile dropdown; cards tappable to switch (#488)
M57
2026-07-07 21:37:14 +03:00
-
be36bb24d7
feat: move logout button from About tab to Connection tab (#487)
M57
2026-07-07 21:09:26 +03:00
-
aa59e704a4
fix(#478): rework default login to use unified ConnectionProfile model (#482)

M57andronia
2026-07-07 20:50:53 +03:00
-
b65d0297e0
refactor(cleanup): remove 5 orphaned symbols (no behavior change) (#484)
M57
2026-07-07 12:34:18 +03:00
-
bdf566ba3e
feat(#480): pass refresh=true on Models pull-to-refresh to re-probe custom providers (#481)

M57andronia
2026-07-07 02:53:36 +03:00
-
7384b51476
fix: add proguard rule for error_prone annotations referenced by Tink (#479)

M57andM57
2026-07-06 23:28:34 +03:00
-
430a083647
feat(#471): implement DataStore-based server configuration and self-h… (#477)
M57
2026-07-06 22:40:44 +03:00
-
5697405b19
refactor: migrate Gson serialization to kotlinx.serialization (#475)
M57
2026-07-05 21:30:44 +03:00
-
1be5ab2f6d
fix: make version control info empty for reproducible F-Droid builds

M57andM57
2026-07-05 20:04:52 +03:00
-
1c3a5386f4
fix(#472): refactor ChatViewModelTest — Fakes + Turbine, drop Mockk (#474)

M57andM57
2026-07-05 18:59:36 +03:00
-
d5fa70b34b
fix(chat): support session IDs containing slashes in Retrofit endpoints (#473)

M57andM57
2026-07-05 13:02:14 +03:00
-
9689d17be0
feat(#443): Telegram onboarding, remove platform, credential expiry, field validation (#467)

M57andM57
2026-07-04 13:22:49 +03:00
-
b46e0ef46d
fix: correct FilterChipRow and EmptyState API mismatches in Skills screen (#466)

M57andM57
2026-07-04 12:54:01 +03:00
-
c33821e71c
feat: add .sourcery.yaml config for AI code review (#465)

M57andM57
2026-07-03 23:22:19 +03:00
-
e74fe46a5f
feat(#442): categorized env keys screen with add/remove, search, and gateway restart (#464)

M57andHermes Agent
2026-07-03 23:04:06 +03:00
-
5be4075d95
feat(#444): MCP tab parity — add servers, catalog, env vars, restart, diagnostics (#462)

M57andHermes Agent
2026-07-03 22:27:28 +03:00
-
d181851670
feat(#441): add profile cloning and description editing (#463)

M57andHermes Agent
2026-07-03 22:24:42 +03:00
-
846a9380e2
feat(#434): System tab 1:1 parity with dashboard (#461)


2026-07-03 21:27:20 +03:00
-
e2349eca22
feat(#439): enrich sessions tab with dashboard features (#460)

M57andM57
2026-07-03 17:55:26 +03:00
-
41fde55c11
feat(#445): full Models tab parity — settings, aux tasks, MOA config (#458)

M57andM57
2026-07-03 16:36:23 +03:00
-
57a815c67e
feat(#446): plugins tab full parity — install from URL, provider selection, remove confirm, badges (#456)

M57andM57
2026-07-03 15:31:43 +03:00
-
0ee24144c0
Revert "feat(#445): full Models tab parity — settings, aux tasks, MOA config"
M57
2026-07-03 12:02:13 +03:00
-
dc808daee8
feat(#445): full Models tab parity — settings, aux tasks, MOA config

M57andM57
2026-07-03 11:59:32 +03:00
-
efb8e528ef
feat(#448): schema-driven config UI with category tabs, search, typed inputs
M57
2026-07-03 08:39:35 +03:00
-
d875c8a040
feat: richer Webhooks tab — create, toggle, delete subscriptions (#454)

M57andM57
2026-07-03 00:52:49 +03:00
-
f887146056
feat(#433): achievements tab — full dashboard parity (#450)

M57andM57
2026-07-02 23:48:44 +03:00
-
2bceac7ab3
chore: add .direnv to gitignore
Hy4ri
2026-07-02 23:14:13 +03:00
-
fba06cea95
feat(nix): enable Android emulator and system images in dev shell
Hy4ri
2026-07-02 23:12:33 +03:00
-
b709e6d8da
chore: bump junit5 from 6.1.0 to 6.1.1
dependabot[bot]
2026-07-02 15:40:41 +03:00
-
a21b9abb58
chore: bump gradle-wrapper from 9.6.0 to 9.6.1
dependabot[bot]
2026-07-02 15:38:58 +03:00
-
f0ccc5fc4f
chore: bump junitPlatform from 6.1.0 to 6.1.1
dependabot[bot]
2026-07-02 15:38:49 +03:00
-
710b60bc6e
feat: show copy button on tap instead of long-hold (#449)

M57andM57
2026-07-01 23:56:20 +03:00
-
c5e7f71784
fix: clear loading state on connection failure or status change (#432)
M57
2026-06-30 22:18:32 +03:00
-
853cdd348d
Update CONTRIBUTING.md
M57
2026-06-30 20:55:56 +03:00
-
8dfc280b94
Docs/refactor readme (#430)

M57andM57
2026-06-30 18:30:48 +03:00
-
546dc86a98
fix(#424): fully fix logout→login cycle — clear ViewModel state + manage WS lifecycle (#429)

M57andM57
2026-06-30 17:16:17 +03:00
-
d80e4dc7b1
docs: add #424 lessons — drawer scrim fix, ViewModel state cleanup, WS lifecycle patterns
M57
2026-06-30 17:13:29 +03:00
-
d4320a9289
fix(#425): live log updates + auto-scroll (#428)

M57andM57
2026-06-30 16:29:21 +03:00
-
970f4bfe7c
fix(#424): login screen buttons unresponsive after logout (#427)

M57andM57
2026-06-30 15:44:30 +03:00
-
7811a35d29
feat(#350): pairing login flow with QR scan + manual entry (#421)

M57andM57
2026-06-30 10:08:01 +03:00
-
58bd78bd79
feat: Activity feed — cron deliveries with output (#420)

M57andM57
2026-06-29 21:16:38 +03:00
-
c91651302a
chore: remove stale test doc files
M57
2026-06-29 18:50:21 +03:00
-
bd5977fc92
chore: remove sketches directory
M57
2026-06-29 18:49:10 +03:00
-
4c075be026
feat: cron job editor dialog (closes #150)
M57
2026-06-29 18:48:45 +03:00
-
4849f4c1c6
feat(#195): chat attachment support for files and images (#418)

M57andHermes Agent
2026-06-29 16:33:12 +03:00
-
c64b025a54
feat(#369): rewrite channels tab with full backend integration (#417)

M57andM57
2026-06-29 08:56:39 +03:00
-
2ae6cce929
fix(#372): plugin install/uninstall 400 — enable instead of install for on-disk plugins, gate uninstall behind canRemove, parse FastAPI error bodies (#416)

M57andM57
2026-06-29 00:45:16 +03:00
-
b10495c6e2
feat: publish version.txt alongside APK for F-Droid version extraction
M57
2026-06-28 11:15:26 +03:00
-
-
2043ba499e
feat: publish version.txt alongside APK for F-Droid version extraction
Hermes Agent
2026-06-28 11:13:56 +03:00
-
-
4745728920
feat(#365): add pin support for models with pinned section at top (#414)

M57andM57
2026-06-28 02:23:25 +03:00