M57
aff1b7ed3a
fix(chat): use runtime session ID in approval RPCs to prevent 4001 session not found
2026-09-05 13:15:08 +03:00
M57
5ce01e429b
fix(bidi): isolate leading and inline English words in RTL paragraphs
...
- In parseInlineSource, wrap consecutive Latin/LTR tokens in LTR isolates (LRI...PDI)
when rendering inside an RTL block, preventing leading English terms like "Okay"
from flipping paragraph layout direction and causing BiDi line shuffling.
- Switch textDirection from TextDirection.ContentOrRtl to explicit TextDirection.Rtl
when isRtl is true across MarkdownText, ChatBubble, and GroupChatScreen, preventing
first-strong character fallbacks from overriding resolved paragraph direction.
2026-09-04 23:22:22 +03:00
M57
199771b798
feat(group-chat): format non-string tool outputs using ToolResultSummary
...
When tools return structured JSON payloads (like skill_view, read_file,
web_search), casting event.data["result"] to String evaluates to null.
Fall back to ToolResultSummary.formatToolResultSummary to format structured
tool payloads into readable text when expanded in group chat cards.
2026-09-04 22:23:04 +03:00
M57 and Luna
c34701f4e2
fix(group-chat): full desktop parity for turn timeout (180s base + 20m adaptive cap) and multi-profile REST fallback
...
- Match desktop GROUP_TURN_TIMEOUT_MS (180s) and GROUP_TURN_HARD_CAP_MS (20m)
- Implement adaptive deadline extension: actively streaming tokens or running tools within 60s keeps the turn slot alive up to 20m, preventing long research/terminal runs from getting discarded
- Update LEASE_STEP_TTL_MS to 180s
- Add explicit `@Query("profile") profile: String?` support to `HermesApiService.getSessionMessages`
- Pass `bot.name` explicitly in `GroupChatViewModel` REST fallback so multi-profile bot sessions do not hit 404 under `ProfileScopeInterceptor`
Co-authored-by: Luna <luna.m57@agentmail.to >
2026-09-04 21:11:00 +03:00
M57 and Luna
fd011ac78d
feat(group-chat): support dynamic BiDi Arabic input and RTL message bubbles
...
- Align GroupChatComposer with ChatComposer (PR #1047 ):
- Dynamic BiDi input detection via BidiUtils.resolveLayoutDirection
- Docks cursor to the right edge and sets TextDirection.Rtl for Arabic
- Preserves LTR outer surface and row to keep send/stop button pinned in place
- User message bubbles: dynamic RTL layout direction and TextDirection.ContentOrRtl
- Bot messages: dynamic TextDirection for bot display name, active speaker thinking row, and tool labels
- Tool code/commands preserved as LTR monospace with BiDi-safe output text
Co-authored-by: Luna <luna.m57@agentmail.to >
2026-09-04 15:38:36 +03:00
M57 and Luna
1126cf1477
feat(group-chat): add ephemeral visual pass indicator when bot passes turn
...
- Display a subtle centered system pill '[⏩ {bot} passed]' when a bot passes
- Style with Material icon (Icons.Filled.FastForward) and surface tokens
- Keep pass indicators strictly ephemeral to avoid polluting LLM prompt context
- Exclude from cross-device snapshot sync so it disappears on restart/rehydrate
- Add English and Arabic localized string resources
- Update GroupChatViewModelTest to verify pass indicator presence and LLM filtering
Co-authored-by: Luna <luna.m57@agentmail.to >
2026-09-04 15:20:56 +03:00
M57
7ae8977dc3
feat(group-chat): expand tool execution details and terminal output preview ( #1058 )
2026-09-04 14:52:15 +03:00
M57
bd0b4c2d55
feat(chat): full approval.request support ( #1057 )
2026-09-03 22:33:15 +03:00
M57
077ad1fa81
feat(chat): full sudo.request support with expire, cancel-unblock, secret fields ( #1056 )
2026-09-03 22:08:07 +03:00
M57
6d2362ba8a
feat(chat): support multi-select, batch multi-question clarify prompts, and expiry ( fixes #1045 ) ( #1055 )
2026-09-03 21:38:57 +03:00
M57
50773945f9
fix(theme): disable dynamic colors by default to preserve curated preset aesthetics ( #1054 )
2026-09-03 20:32:55 +03:00
M57
8c2d4216a7
feat(chat): display completion timestamp beside copy button on assistant message ( #1053 )
2026-09-03 20:21:43 +03:00
M57
5a79da96f7
fix(chat): restrict @ bot mention suggestions strictly to group chat ( #1052 )
2026-09-03 19:46:38 +03:00
M57
b3439d87c9
feat(chat): support /undo command with transcript reload and composer prefill ( #1051 )
2026-09-03 19:04:43 +03:00
M57
efe6fe81cb
fix(chat): support confirmation dialog when switching to expensive or data-policy models ( #1050 )
2026-09-03 16:56:08 +03:00
M57
fb80be04b4
feat(bots): increase group chat limits to 50/20 with warning banner and confirmation dialog ( #1049 )
2026-09-03 15:41:22 +03:00
M57
78e104f432
feat(bots): add horizontal @ mention suggestion chip bar in group chat ( #1048 )
2026-09-03 14:38:09 +03:00
M57
cd8c27e62b
feat(chat): support dynamic BiDi Arabic input and isolated mixed text in Markdown ( #1047 )
2026-09-03 13:06:03 +03:00
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