Commit Graph
777 Commits
Author SHA1 Message Date
AlexDev_ 89a14eb765 fix(chat): bound attachment encoding and recover rejected sends 2026-09-05 12:04:03 +02:00
M57 20b57af770 Merge pull request #1065 from Hy4ri/fix/bidi-arabic-english-word-isolation
fix(bidi): isolate leading and inline English words in RTL paragraphs
2026-09-04 23:35:21 +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 e71745de1f feat(group-chat): format structured tool outputs with ToolResultSummary (#1064) 2026-09-04 22:50:32 +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 eef4d87f3f Merge pull request #1063 from Hy4ri/feat/group-chat-turn-timeout-and-profile-fallback
fix(group-chat): full desktop parity for turn timeout (180s base + 20m adaptive cap) and multi-profile REST fallback
2026-09-04 22:11:21 +03:00
M57 5888acd6ac Merge pull request #1062 from Hy4ri/feat/group-chat-turn-timeout-and-profile-fallback
fix(group-chat): align turn timeout with desktop (180s) and fix multi-profile REST fallback
2026-09-04 21:22:55 +03:00
M57andLuna 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 31e292d7fe Merge pull request #1061 from Hy4ri/feat/group-chat-bidi-rtl
feat(group-chat): support dynamic BiDi Arabic input and RTL message bubbles
2026-09-04 15:50:02 +03:00
M57andLuna 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 2d0d749cbe Merge pull request #1060 from Hy4ri/feat/group-chat-pass-indicator
feat(group-chat): add ephemeral visual pass indicator when bot passes turn
2026-09-04 15:37:22 +03:00
M57andLuna 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
dependabot[bot] 9288883de4 chore: bump coil from 3.6.0 to 3.6.1 (#1059)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-04 14:52:59 +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
M57andM57 4668d482ef feat(i18n): add Weblate component config and translation docs (#1041)
Co-authored-by: M57 <hy4ri@users.noreply.github.com>
2026-09-02 01:02:17 +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
M57andM57 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
M57andM57 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
M57andM57 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
dependabot[bot] aa28d96b5d chore: bump dorny/paths-filter from 3 to 4 (#1032)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-01 13:19:17 +03:00
M57andM57 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
M57andM57 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
M57andM57 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
M57andM57 b5c4ba50cd ci: smart path filtering to skip heavy Android builds on doc-only PRs (#1025)
Co-authored-by: M57 <hy4ri@users.noreply.github.com>
2026-08-31 12:43:37 +03:00
M57andM57 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 3f3b853758 Merge pull request #1023 from Hy4ri/fix/issue-1020-memory-reset
fix: memory screen reset actions serialization error (fixes #1020)
2026-08-31 11:37:17 +03:00
Hy4ri 3911f5302a add ktlint to the nix flake 2026-08-31 11:27:18 +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 6b2268004f Merge pull request #1022 from Hy4ri/dependabot/gradle/dev/latex-1.5.4
chore: bump latex from 1.5.3 to 1.5.4
2026-08-31 10:54:53 +03:00
dependabot[bot] 807c0af381 chore: bump latex from 1.5.3 to 1.5.4
Bumps `latex` from 1.5.3 to 1.5.4.

Updates `io.github.huarangmeng:latex-base` from 1.5.3 to 1.5.4
- [Release notes](https://github.com/huarangmeng/latex/releases)
- [Commits](https://github.com/huarangmeng/latex/compare/release-1.5.3...release-1.5.4)

Updates `io.github.huarangmeng:latex-parser` from 1.5.3 to 1.5.4
- [Release notes](https://github.com/huarangmeng/latex/releases)
- [Commits](https://github.com/huarangmeng/latex/compare/release-1.5.3...release-1.5.4)

Updates `io.github.huarangmeng:latex-renderer` from 1.5.3 to 1.5.4
- [Release notes](https://github.com/huarangmeng/latex/releases)
- [Commits](https://github.com/huarangmeng/latex/compare/release-1.5.3...release-1.5.4)

---
updated-dependencies:
- dependency-name: io.github.huarangmeng:latex-base
  dependency-version: 1.5.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.github.huarangmeng:latex-parser
  dependency-version: 1.5.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.github.huarangmeng:latex-renderer
  dependency-version: 1.5.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-31 06:37:47 +00:00
M57 80b73bb000 Merge pull request #1021 from Hy4ri/feat/hide-profiles-locally
feat(profiles): add local on-device profile hiding and visibility filtering
2026-08-30 21:08:42 +03:00
M57 cdcecb9734 feat(profiles): add local on-device profile hiding and filtering 2026-08-30 20:51:06 +03:00
M57andM57 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