-
683a24becf
fix(profiles): connection-profile switch re-dials the WebSocket (#888)


2026-08-12 23:27:08 +03:00
-
546bd17b18
fix(chat): snappy in-chat search over visible text only (#887)


2026-08-12 22:12:03 +03:00
-
685b870cad
feat(history): pin sessions to the top of the history tab (#886)


2026-08-12 14:32:48 +03:00
-
95178d3438
feat(history): fluid infinite scroll + bigger pages for the sessions list (#885)


2026-08-12 14:03:19 +03:00
-
ff951eaf14
fix(chat): stop crash when expanding reasoning card with Show full (#884)


2026-08-12 13:10:00 +03:00
-
1ea1596e4e
fix(chat): image viewer icons invisible on light backgrounds (#882)


2026-08-12 11:37:04 +03:00
-
345d2e4e89
feat(chat): remove legacy bubble renderer, full-bleed is the only chat style (#881)


2026-08-12 11:02:33 +03:00
-
a59c8c6a4f
feat(chat): full-bleed agent replies behind a chat style setting (issue #866) (#878)


2026-08-12 00:22:07 +03:00
-
758de04917
docs: add F-Droid and Obtainium install badges to README (#880)


2026-08-11 23:46:29 +03:00
-
d4008b7b31
feat(cron): confirm before deleting a cron job (#879)


2026-08-11 14:17:56 +03:00
-
1e6e248891
chore: eliminate all Kotlin compiler warnings in main source (#877)


2026-08-10 22:56:16 +03:00
-
b05cffa9c4
feat(chat): /resume and /history open the session history tab (issue #864) (#876)


2026-08-10 21:43:33 +03:00
-
f931565c0d
feat(settings): in-app update from About tab (issue #867) (#875)


2026-08-10 20:02:42 +03:00
-
a9c3cd0691
feat(chat): rank slash autocomplete by usage (issue #865) (#874)


2026-08-10 19:56:01 +03:00
-
5ab7ad16df
fix(chat): /update handled client-side with progress popup (issue #862) (#873)


2026-08-10 19:30:32 +03:00
-
96e43f354f
feat(system): update progress popup with live action log (issue #863) (#872)


2026-08-10 16:16:34 +03:00
-
a9cb89a925
feat(cron): monitor-mode jobs (monitor_script/monitor_url) + blocked_config status (issue #861) (#871)


2026-08-10 15:35:05 +03:00
-
4a034684bb
feat(chat): adopt order=latest for transcript initial load and paging (issue #859) (#870)


2026-08-10 14:40:20 +03:00
-
ea8fead087
feat(chat): surface session terminal_backend (ssh/docker) in header (#869)


2026-08-10 01:53:47 +03:00
-
57dc4cdf5c
fix(sessions): Messages stat card + slim prune button (#855)


2026-08-09 15:35:42 +03:00
-
3b033a025b
fix(notification): disconnect idle background socket (#858)

AlexDev_andGitHub
2026-08-09 11:06:59 +02:00
-
0db741edfe
fix(chat): clear clarify request on completion (#857)

AlexDev_andGitHub
2026-08-08 22:44:23 +02:00
-
98b35ca8bf
fix(chat): open the selected history session (#856)

AlexDev_andGitHub
2026-08-08 22:38:07 +02:00
-
adde03a4de
fix(chat): stop duplicating interim commentary before tool calls (issue #842) (#854)


2026-08-08 23:34:58 +03:00
-
ab42e19b7f
theme(849): unify presets behind one palette template + bespoke AMOLED status colors (#852)


2026-08-08 15:58:25 +03:00
-
52e33a96b7
fix(chat): replace bubble and screen gradients with flat colors (#853)


2026-08-08 14:05:23 +03:00
-
b2e59a6710
chore(nix): tidy dev shell — drop version-drift tooling, add logcat-app alias (#851)


2026-08-08 11:28:29 +03:00
-
5a84f9f44e
fix: move bubble copy button into footer next to timestamp (#850)


2026-08-08 11:23:36 +03:00
-
2980a1e884
ci(release): drop CI checks job from release workflow (#847)


2026-08-07 23:40:00 +03:00
-
9e741913fc
fix(chat): context meter flashes stale window on mid-chat model swap (#817) (#846)


2026-08-07 23:36:27 +03:00
-
3e9672f0ad
fix(security): validate intent action before consuming notification session id (issue #832) (#845)


2026-08-07 22:42:39 +03:00
-
e854559de4
fix(chat): send omit_messages=true on session.resume (issue #842) (#844)


2026-08-07 22:21:16 +03:00
-
1f0916ad05
docs(readme): title above badges (#843)


2026-08-07 22:03:12 +03:00
-
f20b50b48f
feat(sessions): empty-session cleanup + latest-descendant resume + fresh-session 404 fix (#787, #840) (#841)


2026-08-07 21:36:23 +03:00
-
7998248507
feat(system): multipart backup import via SAF picker — replace path-based import (issue #786) (#839)


2026-08-07 16:44:41 +03:00
-
9d0baa78fd
fix(sessions): rename via PATCH /api/sessions/{id} + move actions to hold menu (issue #785) (#838)


2026-08-07 14:20:21 +03:00
-
f34bfa7cf8
feat(ws): consume gateway change events (issue #784) (#837)


2026-08-07 13:48:17 +03:00
-
7d60057156
chore(issues): add gateway version & commit section to bug report template
M57
2026-08-07 11:14:07 +03:00
-
7d00d7b81b
feat(memory): dedicated Memory screen (moved out of System tab) (#835)


2026-08-07 04:18:50 +03:00
-
fd5d851405
feat(plugins): memory provider config & setup management (issue #783) (#834)


2026-08-07 04:18:50 +03:00
-
4645a2b6e7
test: de-poison unit suite — drop static Dispatchers mocks, kill leaked WS timers (#833)


2026-08-07 04:18:14 +03:00
-
fe79ff42b4
feat(toolsets): per-toolset config/env/provider/post-setup management (#782) (#831)


2026-08-06 17:57:58 +03:00
-
d9f437939a
test(connect): phase 5 — restart lands on the selected profile, no login (#827)


2026-08-06 15:07:35 +03:00
-
dd8dabecb0
test(chat): pin the fresh-session-after-switch chain end to end (phase 4) (#826)


2026-08-06 15:07:25 +03:00
-
5808d57da3
test(ws): lock the profile-scoping invariant with an audit guard (phase 3) (#825)


2026-08-06 15:07:17 +03:00
-
531219cdb5
feat(profiles): phase 2 — atomic switch coordinator (#824)


2026-08-06 15:07:09 +03:00
-
398268d105
feat(profiles): ProfileContext single source of truth + per-server token fallback (phase 1) (#821)


2026-08-06 15:06:55 +03:00
-
75ac0c4790
feat(profiles): first-class profile switching — phase 0 baseline port (#820)


2026-08-06 15:06:28 +03:00
-
e56d4c9bfa
chore: bump gradle/actions from 4 to 6 (#830)

![dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>](/assets/img/avatar_default.png)

2026-08-06 11:20:10 +03:00
-
c046fb00ae
chore: bump actions/checkout from 4 to 7 (#829)
![dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>](/assets/img/avatar_default.png)

2026-08-06 11:06:02 +03:00
-
85faa55361
chore: bump actions/setup-java from 4 to 5 (#828)
![dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>](/assets/img/avatar_default.png)

2026-08-06 11:05:26 +03:00
-
442e868ce2
feat(cron): blueprint start-from + delivery target picker in job editor (issue #780) (#822)


2026-08-05 22:44:13 +03:00
-
80be168801
feat(profiles): delete, rename, auto-describe and setup command (issue #781) (#818)


2026-08-05 17:59:30 +03:00
-
19c053b3fa
feat(chat): save delivered files with native picker (#803)

AlexDev_andGitHub
2026-08-04 19:47:55 +02:00
-
509a018434
refactor(ui): extract shared ExposedDropdownField (issue #796) (#815)


2026-08-04 20:39:23 +03:00
-
e639e33188
chore(skills): delete dead InstalledSkillsTab.kt (issue #797) (#816)


2026-08-04 20:09:01 +03:00
-
87442e1a92
fix(chat): deduplicate message ids (#810)

AlexDev_andGitHub
2026-08-04 18:54:52 +02:00
-
356ccc98b5
fix(notification): resume stored session before reply (#805)

AlexDev_andGitHub
2026-08-04 18:54:49 +02:00
-
e1a04a9396
⚡ Optimize PersistentCookieJar by removing runBlocking (#799)

M57andGitHub
2026-08-04 19:43:32 +03:00
-
e52a9c2fe6
feat(chat): render todo tool output as task card (#807)

AlexDev_andGitHub
2026-08-04 18:40:54 +02:00
-
ebba7ff654
fix(ci): poll mergeable until resolved in conflict detector (#814)


2026-08-04 19:35:06 +03:00
-
9370523ce9
perf(ui): suspend polling outside visible screens (#806)

AlexDev_andGitHub
2026-08-04 18:20:01 +02:00
-
be0bbcb2c9
fix(chat): keep session hydration consistent across retries (#804 rebase) (#813)


2026-08-04 19:03:53 +03:00
-
b28440d659
fix(auth): use ServerEndpoint in relogin() to fix HTTPS/proxy 404 (#812)


2026-08-04 18:35:08 +03:00
-
6e1ea494c5
⚡ Optimize Regex compilation in ToolViewBuilder (#801)

M57andGitHub
2026-08-04 18:18:52 +03:00
-
af6fd9b346
🔒 Secure RemoteInput PendingIntent boundaries (#800)

M57andGitHub
2026-08-04 18:17:25 +03:00
-
0724d0104d
perf(chat): optimize O(N^2) sync merge loop with O(1) hash map lookups (#798)

M57andGitHub
2026-08-04 18:13:38 +03:00
-
6d8cf09d9e
refactor(chat): remove StickySubagentBar, rely on in-chat todo card (#811)


2026-08-04 18:11:25 +03:00
-
5a15ccc524
fix(chat): route back navigation to history (#809)

AlexDev_andGitHub
2026-08-04 17:09:26 +02:00
-
d1dac57ccb
fix(ws): reconnect after network handover (#808)

AlexDev_andGitHub
2026-08-04 17:09:22 +02:00
-
83ec590ed8
fix(notifications): only run waiting-reply foreground service while a reply is pending (#795)


2026-08-04 16:59:42 +03:00
-
1870b375b1
feat(skills): hub sources + featured landing and security scan (#779) (#793)


2026-08-03 22:13:28 +03:00
-
00a0eedc77
feat(logs): server-side file/level/component/line filters (#777) (#792)


2026-08-03 20:28:30 +03:00
-
5870b73397
feat(#776): pairing management screen (#791)


2026-08-03 19:49:31 +03:00
-
b91ac044b9
fix(chat): never resume sessions the gateway has no row for (4007 dead-end) (#790)


2026-08-03 19:11:43 +03:00
-
44767fef4a
feat(kanban): live board updates over plugin events WebSocket + kanban UI pass (#789)


2026-08-03 18:19:08 +03:00
-
37900a9af3
fix(#774): use GET for plugin rescan to match backend (#788)


2026-08-03 10:25:23 +03:00
-
c40b7fd2d7
docs: add mobile app screenshots to README (#772)


2026-08-02 23:14:52 +03:00
-
b4d0a7c9c3
fix(chat): preserve reasoning across tool calls + REST reload (#771) (#771)


2026-08-02 23:03:23 +03:00
-
ec72ed4733
feat(chat): subtle tool-call divider every 5 calls per turn (#769)


2026-08-02 15:22:29 +03:00
-
1e8c3629f0
chore: rename launcher label to 'Hermes Mobile' (#770)


2026-08-02 12:03:14 +03:00
-
c50a178845
fix(chat): skip live-registry context RPCs until resume confirms runtime session id (#768)


2026-08-02 00:45:16 +03:00
-
5e1ee0b4e5
feat(chat): desktop-parity session resume — warm cache + bounded retry (#766)


2026-08-02 00:04:23 +03:00
-
982f8aec4e
feat(chat): rewire tool bubbles onto the desktop engine (stage 3) (#765)


2026-08-01 23:23:11 +03:00
-
100a82dd4f
feat(chat): port desktop tool display engine (ToolResultSummary + ToolViewBuilder) (#763)


2026-08-01 22:01:13 +03:00
-
1daa03d686
refactor(chat): tool display cleanup — split ChatBubble.kt god file, drop dead code (#762)


2026-08-01 22:01:12 +03:00
-
3a96edd4c1
fix(chat): clear stale reasoning when a new message starts (#755) (#760)


2026-08-01 20:14:35 +03:00
-
e014d2a0e7
fix(chat): context meter reflects compression via session.context_breakdown RPC (#759)


2026-08-01 19:46:49 +03:00
-
ed48e10ca6
feat: register as Android default digital assistant (#757) (#758)


2026-08-01 18:33:33 +03:00
-
63b966b133
feat(chat): add inline video player component and modal viewer (#722) (#732)

M57andGitHub
2026-08-01 00:47:26 +03:00
-
c3e026964c
chore: simplify issue and PR templates (#754)


2026-08-01 00:11:53 +03:00
-
dc74eb4bc5
notification: harden reply + content PendingIntents (explicit action, FLAG_ONE_SHOT) (#753)

M57andGitHub
2026-07-31 23:38:37 +03:00
-
422bb9f5e6
feat: support hosted OAuth for authenticated HTTP MCP servers (#751) (#752)


2026-07-31 05:30:51 +03:00
-
86e1e66ea9
Refactor CodeQL workflow configuration

M57andGitHub
2026-07-30 15:25:36 +03:00
-
ad91774bc3
chore: removed codeQL
Hy4ri
2026-07-30 15:25:21 +03:00
-
522b01af48
ci: add CodeQL static analysis workflow (#748)


2026-07-30 15:21:38 +03:00
-
ae50156dcc
Potential fix for code scanning alert no. 1: Workflow does not contain permissions (#747)

M57andGitHub
2026-07-30 12:09:39 +03:00
-
698d2f6c3f
fix(chat): fetch context usage immediately on session change/connect (#746)


2026-07-30 11:37:36 +03:00
-
1b596746af
feat(chat/activity): Self-improvement event badges for memory & skill updates (#744)


2026-07-29 21:43:08 +03:00
-
2cf41ead06
feat(chat): live task delegation widget with inline card & sticky progress indicator (#736) (#743)


2026-07-29 18:15:39 +03:00