M57
fa17c95296
fix(chat): support batch clarify.request payload and route question_id on respond ( fixes #1045 ) ( #1046 )
2026-09-03 12:50:13 +03:00
M57
dbd7008ee3
feat(chat): support non-Google speech-to-text providers ( fixes #1038 ) ( #1042 )
2026-09-02 12:31:42 +03:00
M57
2d0b6ae1a9
fix(history): resolve session resume profile scoping and history pagination ( #1040 )
2026-09-02 00:01:19 +03:00
M57
7c00f4407d
feat(i18n): add comprehensive Arabic localization and RTL layout support ( #1039 )
2026-09-01 21:34:11 +03:00
M57
6ec277af8b
feat(mcp): MCP dashboard enhancements — JSON config import, token overhead badges, and batch health testing ( #1037 )
2026-09-01 20:18:45 +03:00
M57
d8385a2b02
feat(ws): adopt WS ping method for heartbeat and latency tracking ( #1036 )
2026-09-01 19:44:39 +03:00
M57 and M57
21db9bfdab
fix(memory): scope memory endpoints to active profile and auto-reload on profile switch ( #1035 )
...
Co-authored-by: M57 <hy4ri@users.noreply.github.com >
2026-09-01 19:20:18 +03:00
M57 and M57
11dd1eff92
feat(chat): live subagent steering and cancellation action sheet ( closes #1030 ) ( #1034 )
...
Co-authored-by: M57 <hy4ri@users.noreply.github.com >
2026-09-01 18:19:00 +03:00
M57 and M57
908255f5ad
feat: support session-level hidden flag in SessionListResponse and SessionsScreen ( #1033 )
...
Co-authored-by: M57 <hy4ri@users.noreply.github.com >
2026-09-01 16:56:28 +03:00
M57 and M57
ceb4813218
feat(chat): support hierarchical nested subtasks in Todos via parent property ( #1018 ) ( #1028 )
...
Co-authored-by: M57 <hy4ri@users.noreply.github.com >
2026-08-31 22:09:15 +03:00
M57 and M57
3fd9ac767f
feat(ws): adopt event replay via session.events.since on reconnect ( #1016 ) ( #1027 )
...
Co-authored-by: M57 <hy4ri@users.noreply.github.com >
2026-08-31 19:32:17 +03:00
M57 and M57
53c8eca714
feat: adopt side-questions via prompt.btw and /btw command in Chat ( fixes #1015 ) ( #1026 )
...
Co-authored-by: M57 <hy4ri@users.noreply.github.com >
2026-08-31 15:54:09 +03:00
M57 and M57
cfe3e736fd
chore: upgrade ktlint to 1.8.0 and format codebase ( #1024 )
...
Co-authored-by: M57 <hy4ri@users.noreply.github.com >
2026-08-31 12:27:40 +03:00
M57
ad838f696e
chore: add missing imports and fix test closing brace
2026-08-31 11:24:45 +03:00
Hy4ri
d8e3992c33
fix: memory screen reset actions serialization error ( fixes #1020 )
2026-08-31 11:10:26 +03:00
M57
cdcecb9734
feat(profiles): add local on-device profile hiding and filtering
2026-08-30 20:51:06 +03:00
M57 and M57
5c8ab7ed6c
feat(bots): smart streaming auto-scroll and scroll-to-bottom FAB in group chat ( #1013 )
...
Co-authored-by: M57 <hy4ri@users.noreply.github.com >
2026-08-30 00:21:02 +03:00
M57 and M57
97b6641d84
feat(bots): emergency stop button and /stop slash command in group chat ( #1012 )
...
Co-authored-by: M57 <hy4ri@users.noreply.github.com >
2026-08-30 00:02:16 +03:00
M57 and M57
bd4a73dd48
feat(bots): horizontal swipe between bots and groups tabs with drawer gesture gating ( #1011 )
...
Co-authored-by: M57 <hy4ri@users.noreply.github.com >
2026-08-29 23:48:08 +03:00
M57 and M57
174f8dee7d
feat(bots): selectable text, timestamps, and copy buttons in group chat ( #1009 )
...
Co-authored-by: M57 <hy4ri@users.noreply.github.com >
2026-08-29 19:24:51 +03:00
M57 and M57
fbe602cb4f
feat(bots): lightweight tool execution indicators in group chat ( #1008 )
...
Co-authored-by: M57 <hy4ri@users.noreply.github.com >
2026-08-29 19:11:14 +03:00
M57 and M57
0d09f43469
feat(bots): reactive multi-agent group chat orchestration with CAS leasing ( #1007 )
...
Co-authored-by: M57 <hy4ri@users.noreply.github.com >
2026-08-29 18:44:08 +03:00
M57 and M57
7e24f5eba3
fix(bots): sync cross-device group chats and roster from desktop projection ( #1006 )
...
Co-authored-by: M57 <hy4ri@users.noreply.github.com >
2026-08-29 13:56:40 +03:00
M57 and M57
5bc6e5f855
feat(settings): in-app chat font size setting ( #1004 ) ( #1005 )
...
Co-authored-by: M57 <hy4ri@users.noreply.github.com >
2026-08-29 11:36:56 +03:00
M57 and M57
db3f8c736e
feat(markdown): support variable-length code fences and nested codeblocks ( #1003 )
...
Co-authored-by: M57 <hy4ri@users.noreply.github.com >
2026-08-28 20:27:17 +03:00
M57 and M57
7a2c453f58
fix(history): guard fluid pagination against infinite network loop on small session lists ( #1002 )
...
Co-authored-by: M57 <hy4ri@users.noreply.github.com >
2026-08-28 19:44:28 +03:00
M57 and M57
2332bdd5d5
feat(nav): root swipe-back on chat with double-back exit and subpage hierarchy ( #1001 )
...
Co-authored-by: M57 <hy4ri@users.noreply.github.com >
2026-08-28 18:38:01 +03:00
M57 and M57
f04d878358
feat(bots): add multi-agent group chat collaboration room ( #998 )
...
Co-authored-by: M57 <hy4ri@users.noreply.github.com >
2026-08-28 17:50:37 +03:00
M57
0cdccad855
fix(bots): create clean profile without cloning default soul and custom skills ( #997 )
2026-08-27 19:06:58 +03:00
M57 and M57
14fde03083
feat(image): migrate to Coil 3.6.0 with OkHttp network fetcher ( #996 )
...
Co-authored-by: M57 <hy4ri@users.noreply.github.com >
2026-08-27 15:13:18 +03:00
M57 and M57
4d9dfb99db
feat(db): migrate to androidx.room3 3.0.2 with SQLCipherDriver ( #994 )
...
Co-authored-by: M57 <hy4ri@users.noreply.github.com >
2026-08-27 13:47:32 +03:00
AlexDev_
0ae5ed4db2
feat(chat): stabilize multi-image attachment picker ( #986 )
2026-08-27 10:50:55 +03:00
AlexDev_
c7d7abf4a1
fix(chat): prevent timeline prefetch ANRs ( #985 )
2026-08-27 10:47:04 +03:00
AlexDev_ and M57
ce8fdc45bd
fix(notification): open tapped chat at bottom ( #984 )
...
Co-authored-by: M57 <41645758+Hy4ri@users.noreply.github.com >
2026-08-27 10:41:08 +03:00
M57
9c91df56f3
fix(theme): replace Color.Gray fallback with Color.Unspecified in palette color pickers
...
Resolves checkColorLiterals hardcoded color guard failure in CreateBotDialog and EditBotBottomSheet.
2026-08-27 02:38:05 +03:00
M57
2fed891d78
feat(ui): add Bots and Groups tab strip with GroupCard and disband action ( #987 )
2026-08-27 01:53:54 +03:00
M57
6ca248d28b
feat(ui): add EditBotBottomSheet with avatar editor and bot deletion ( #983 )
2026-08-27 01:53:15 +03:00
M57
274120cc86
feat(ui): add CreateGroupChatDialog for multi-bot room creation ( #982 )
2026-08-27 01:52:34 +03:00
M57
d4d6a04afc
feat(ui): add CreateBotDialog to BotsScreen with avatar customizer ( #981 )
2026-08-27 01:51:43 +03:00
M57
b422ead921
feat(chat): add @bot mention autocomplete to ChatComposer ( #980 )
2026-08-27 01:51:10 +03:00
M57
4e666b49a8
feat(chat): intercept /new in canonical Bot Chat sessions to /compact ( #979 )
2026-08-27 01:50:43 +03:00
M57
48c9039e02
feat(ui): add BotsScreen and BotsViewModel with active presence strip ( #977 )
2026-08-27 01:49:31 +03:00
M57
6af349cdf2
feat(ui): add reusable Material3 BotAvatar component ( #974 )
2026-08-27 01:49:08 +03:00
M57
c028077647
feat(models): support bot metadata, canonical sessions, and group sync in Profile models ( #973 )
2026-08-27 01:48:43 +03:00
M57 and M57
1f1ebf3597
feat(update): redesign in-app updater with smart cooldown, release notes, and in-place dialog ( #971 )
...
Co-authored-by: M57 <hy4ri@users.noreply.github.com >
2026-08-26 07:42:41 +03:00
M57 and M57
460472f631
fix(chat): queue prompts while session creation is in flight (issue #969 ) ( #970 )
...
Co-authored-by: M57 <hy4ri@users.noreply.github.com >
2026-08-26 06:35:44 +03:00
M57 and M57
14b9c1d1d3
fix(chat): support multi-level nested bullet, task, and ordered markdown lists ( #965 ) ( #968 )
...
Co-authored-by: M57 <hy4ri@users.noreply.github.com >
2026-08-25 17:41:47 +03:00
M57 and M57
9217f9f8b6
fix(sessions): tolerate integer and string boolean formats for pinned field ( #966 ) ( #967 )
...
Co-authored-by: M57 <hy4ri@users.noreply.github.com >
2026-08-25 17:05:14 +03:00
M57
ece0288ca8
feat(update): surface backend update receipt in action popup ( #958 ) ( #964 )
...
Adopt GET /api/hermes/update/receipt and append its summary to the
end of the hermes-update action progress popup after it finishes.
Additive only: existing checkHermesUpdate + connection-retry polling
is untouched. 404 (old backend) is handled gracefully.
- add UpdateReceiptResponse data model matching backend schema
- add getUpdateReceipt() to HermesApiService
- ActionProgressController gains trailingLines + pushTrailingLines
- ActionProgressDialog renders trailingLines after the log
- SystemViewModel fetches receipt on action finish and formats it
- extract pure formatUpdateReceiptLines for mockk-free testing
2026-08-24 01:35:59 +03:00
M57 and M57
5fd732be9b
fix(chat): preserve ordered list numbering in loose lists ( #959 ) ( #963 )
...
ORDERED_RE only captured item text and discarded the source number, and the
parse loop broke on the first blank line — so loose numbered lists (blank lines
between items) re-indexed every item to 1.
- capture the prefix number and emit it as MdBlock.Ordered.index
- treat a blank line as list-internal when the next non-blank line is another
ordered item, so loose lists stay one ordered list
- keep sequential numbering for tight lists (1,2,3) and honor custom starts
add regression tests in MarkdownTextFeatureTest (loose, custom-start, tight).
Co-authored-by: M57 <hy4ri@users.noreply.github.com >
2026-08-24 00:16:27 +03:00