M57 and GitHub
736433b326
Refactor ChatViewModel event orchestration into helper methods ( #1181 )
2026-09-17 19:53:41 +03:00
M57 and GitHub
1ab30f1e90
fix( #1174 ): preserve pending process state and match tool events by ID ( #1180 )
2026-09-17 19:51:04 +03:00
M57 and GitHub
880adbef4f
perf( #1165 ): add onCapabilitiesChanged to NetworkMonitor for faster socket recovery ( #1179 )
2026-09-17 19:40:02 +03:00
M57 and GitHub
8c5a3a061f
Fix #1172 : Offload syntax highlighting to Dispatchers.Default ( #1178 )
2026-09-17 18:47:25 +03:00
M57 and GitHub
a567c91132
fix( #1173 ): correct skill_manage result rendering ( #1177 )
2026-09-17 18:36:27 +03:00
M57 and GitHub
e0688535dd
Merge pull request #1176 from Hy4ri/fix/issue-1167-diff-line-stats-memory-7250617948146191566
...
Fix: Avoid eager List allocation in countDiffLineStats for large diffs
2026-09-17 17:34:38 +03:00
M57 and GitHub
95896639a9
Merge branch 'dev' into fix/issue-1167-diff-line-stats-memory-7250617948146191566
2026-09-17 17:22:13 +03:00
M57 and GitHub
8ada5eefc7
Merge pull request #1168 from Hy4ri/fix/1164-screen-load-rpc
...
refactor(#1164 ): use WS for compatible model inventory reads
2026-09-17 17:21:59 +03:00
Hy4ri
304a90186a
Fix: Avoid eager List allocation in countDiffLineStats for large diffs
...
Replaced `diff.split("\n")` with `diff.lineSequence()` in `FileRenderers.kt`'s `countDiffLineStats()` method. This prevents massive `ArrayList` allocations on the heap when processing multi-thousand-line diffs during tool card rendering, improving memory efficiency by evaluating the lines lazily.
Added comprehensive unit tests in `FileEditSupportTest.kt` covering empty diffs, header filtering, CRLF handling, and large multi-line diffs.
2026-09-17 14:21:38 +00:00
M57
f0f63c22cf
test( #1164 ): isolate model integration tests from WS singleton
2026-09-17 17:09:58 +03:00
M57 and GitHub
f520cf2dce
Merge pull request #1166 from Hy4ri/fix/1163-streaming-json-allocations
...
fix(#1163 ): avoid streaming JSON tree copies
2026-09-17 16:44:53 +03:00
M57
287f3c1561
test( #1163 ): subscribe before sending dedup frames
2026-09-17 16:32:57 +03:00
M57
be6104b903
refactor( #1164 ): load model inventory over WS with REST fallback
2026-09-17 16:27:05 +03:00
M57
ac180ba5df
test( #1163 ): cover nested payloads and escaped streaming text
2026-09-17 16:15:11 +03:00
M57
d0b4db53f6
test( #1163 ): verify streaming parser on Android emulator
2026-09-17 15:50:13 +03:00
M57
613d01c1b6
fix( #1163 ): avoid streaming JSON tree copies
2026-09-17 15:43:04 +03:00
M57 and GitHub
8007bd529d
Merge pull request #1161 from Hy4ri/feat/1137-kanban-parity
...
feat(kanban): close mobile gaps with desktop parity (#1137 )
2026-09-17 01:03:50 +03:00
M57
1bb91bce65
fix(kanban): scroll workspace row before instrumented clicks ( #1137 )
2026-09-17 00:54:53 +03:00
M57
6f076a79d3
fix(kanban): preserve transfer cleanup and screen lifecycle ( #1137 )
2026-09-17 00:33:57 +03:00
M57
748f7854d2
fix(kanban): add missing ko filter placeholder translation ( #1137 )
2026-09-16 22:53:27 +03:00
M57
aa428b80f8
fix(kanban): compile instrumented regression tests ( #1137 )
2026-09-16 22:17:45 +03:00
M57
cec2d567e0
fix(kanban): localize task detail tabs and fallback labels ( #1137 )
2026-09-16 22:14:50 +03:00
M57
d357d604c7
fix(kanban): localize activity event labels ( #1137 )
2026-09-16 21:56:51 +03:00
M57
1735de7d9d
fix(kanban): address PR correctness and CI regressions ( #1137 )
2026-09-16 21:49:35 +03:00
M57
190a93a4cf
test(kanban): add payload, event formatter, runtime and instrumentation tests ( #1137 )
2026-09-16 18:15:36 +03:00
M57
f533477bd9
feat(kanban): localize board settings, runtime and task controls ( #1137 )
2026-09-16 18:15:14 +03:00
M57
c97d7127fb
feat(kanban): implement board parity, orchestration and task editing ( #1137 )
2026-09-16 18:14:59 +03:00
M57
dd11f19a1c
feat(kanban): add runtime state, event formatter and grouping helpers ( #1137 )
2026-09-16 18:14:28 +03:00
M57
be9223eb78
feat(kanban): add board transfer models, endpoints and auto-nudge dispatcher ( #1137 )
2026-09-16 18:13:54 +03:00
M57 and GitHub
97296c111a
Merge pull request #1135 from Hy4ri/feat/chat-backend-usage
...
feat(chat): use backend usage deltas for assistant stats
2026-09-16 11:11:59 +03:00
M57
b2aa08de23
test(chat): cover post-switch dispatch recovery
2026-09-16 11:00:25 +03:00
M57
f94d1784d4
fix(chat): reject stale dispatch after session switch
2026-09-16 10:48:08 +03:00
M57
22b948f671
fix(chat): preserve usage baseline across local aborts
2026-09-16 10:14:48 +03:00
M57
d16a2ea35c
feat(chat): use backend usage deltas for assistant stats
2026-09-16 01:34:05 +03:00
M57 and GitHub
529b424eb4
feat(chat): add configurable message stats ( #1134 )
2026-09-16 00:00:09 +03:00
M57 and GitHub
afffcd95e8
feat(chat): redesign attachment picker tray ( #1130 )
2026-09-15 21:56:06 +03:00
M57 and GitHub
984053b0e7
feat(chat): simplify assistant message states ( #1131 )
2026-09-15 21:43:20 +03:00
M57 and GitHub
e6b441cfc6
fix(chat): scroll long composer model names ( #1129 )
2026-09-15 21:13:23 +03:00
M57 and GitHub
74f10ec119
fix(release): use tag as release title ( #1128 )
2026-09-15 16:47:25 +03:00
M57 and GitHub
528ec4f28f
feat( #1121 ): add multiplexed gateway awareness ( #1127 )
2026-09-15 15:56:32 +03:00
M57 and GitHub
fe465ad93c
fix(ui): collapse provider model pickers ( #1126 )
2026-09-15 13:10:13 +03:00
M57 and GitHub
e4be8b146e
fix( #1119 ): handle gateway server requests ( #1125 )
2026-09-15 13:09:11 +03:00
M57 and GitHub
fb0f93c000
fix( #1118 ): use supported replay params ( #1123 )
2026-09-15 11:16:20 +03:00
M57 and GitHub
71463a5a9a
feat(ui): add New Chat to History ( #1124 )
2026-09-15 11:06:24 +03:00
M57 and GitHub
66ca470880
fix( #1117 ): reconcile stale running subagent cards on roster snapshot ( #1122 )
2026-09-15 10:21:15 +03:00
M57 and GitHub
65c8e07162
fix(ui): keep scroll position when focusing scrolled editors ( #1116 )
2026-09-15 05:13:56 +03:00
M57 and GitHub
2d71135a85
Merge pull request #1112 from Hy4ri/feat/kanban-parity-foundation
...
feat(kanban): desktop parity foundation and task inspection
2026-09-15 00:22:59 +03:00
M57
05e78ba135
feat(kanban): add bulk operations, board management, and file attachments
2026-09-15 00:01:33 +03:00
M57
6e94fa0be2
feat(kanban): render markdown in task description, summary, and comments
2026-09-14 23:40:16 +03:00
M57
11512aeed4
feat(kanban): add rich create task dialog and quick card action menu
2026-09-14 23:34:26 +03:00
M57
3cc5cc6574
refactor(kanban): unify KanbanApiService with HermesApiService and update E2E integration test
2026-09-14 23:11:55 +03:00
M57
dd5ce10796
feat(kanban): add rich task card, filter sheet, and task detail screen
2026-09-14 22:58:48 +03:00
M57
da03500b30
feat(kanban): add KanbanSyncCoordinator and harden WebSocket event decoding
2026-09-14 22:51:20 +03:00
M57
6fd697f2b0
feat(kanban): synchronize task mutations across columns and guard concurrent moves
2026-09-14 22:47:50 +03:00
M57
c57e056d71
feat(kanban): enforce board scoping and local selection in KanbanViewModel
2026-09-14 22:23:01 +03:00
M57
a486191d9d
feat(kanban): add typed models and KanbanApiService for desktop parity
2026-09-14 22:12:30 +03:00
M57 and GitHub
7520008ae3
Merge pull request #1111 from Hy4ri/dependabot/gradle/dev/net.zetetic-sqlcipher-android-4.19.0
...
chore: bump net.zetetic:sqlcipher-android from 4.18.0 to 4.19.0
2026-09-14 16:24:07 +03:00
M57 and GitHub
2f49203f9a
Merge pull request #1110 from Hy4ri/dependabot/gradle/dev/com.google.devtools.ksp-2.3.12
...
chore: bump com.google.devtools.ksp from 2.3.11 to 2.3.12
2026-09-14 15:54:25 +03:00
M57 and GitHub
af73bfb2ae
Merge pull request #1107 from Hy4ri/feat/kofi-support
...
feat(settings): add Ko-fi support link
2026-09-13 20:59:16 +03:00
M57
c96e3b699a
feat(settings): add Ko-fi support link
2026-09-13 20:48:55 +03:00
M57 and GitHub
7d5deced7e
Merge pull request #1106 from Hy4ri/fix/issue-1103-context-bar-model-switch
...
fix(chat): keep context meter aligned after model swaps (#1103 )
2026-09-13 19:51:06 +03:00
M57
0a2c782139
fix(chat): keep context meter aligned after model swaps ( #1103 )
2026-09-13 19:39:33 +03:00
M57 and GitHub
4246ae196d
feat(settings): restore last session on startup ( #1102 ) ( #1105 )
2026-09-13 16:45:04 +03:00
M57 and GitHub
7e8af8db01
feat(sessions): show live status for active sessions in History ( #1101 ) ( #1104 )
2026-09-13 14:45:33 +03:00
M57 and GitHub
52e0104cd2
feat(connectors): surface active session integrations ( #1091 ) ( #1100 )
2026-09-13 13:41:13 +03:00
M57 and GitHub
29bc367aec
feat(subagents): live active subagents roster and transcript tail ( #1089 ) ( #1098 )
2026-09-13 11:06:34 +03:00
M57 and GitHub
69cd34d289
feat(vault): credential vault status and mid-turn auth prompt handling ( #1090 ) ( #1097 )
2026-09-13 00:20:07 +03:00
M57 and GitHub
d774a63663
feat(plugins): browse and install official plugins from catalog ( #1088 ) ( #1096 )
2026-09-12 22:32:52 +03:00
M57 and GitHub
47b6955c9a
fix(chat): bind tool milestone dividers to message id and exclude synthetic rows ( #1095 )
2026-09-12 16:29:40 +03:00
M57 and GitHub
065c7fd75f
feat(chat): display token usage and tps in message footers ( #1094 )
2026-09-12 16:04:13 +03:00
M57 and GitHub
0bb087c41e
feat(chat): integrate fast mode toggle into generation controls dropdown ( #1093 )
2026-09-12 15:15:22 +03:00
M57 and GitHub
5dc3896237
feat(sessions): branch tree flattening with group recency and collapsible pinned section ( #1087 )
2026-09-12 01:41:24 +03:00
M57 and GitHub
fad2dd3b86
feat(chat): upgrade tool rendering, add missing renderers, and clamp output budget ( #1086 )
2026-09-12 01:14:14 +03:00
M57 and GitHub
1cdc0dbfc0
fix(ws): gateway liveness, replay correctness, and streaming flush ( #1085 )
2026-09-12 00:19:13 +03:00
M57 and GitHub
aed13d1084
Merge pull request #1084 from Hy4ri/refactor/phase1-code-cleanup
...
refactor(core): comprehensive architectural cleanup (all phases)
2026-09-11 23:09:52 +03:00
M57 and GitHub
06f170e2a8
Merge pull request #1082 from Hy4ri/refactor/chat-viewmodel-decomposition
...
refactor(chat): decompose ChatViewModel into focused delegates
2026-09-11 00:26:12 +03:00
M57 and GitHub
8b9026b83e
Merge pull request #1081 from Hy4ri/refactor/tool-engine-split
...
refactor(tool): split tool display engine
2026-09-10 23:03:40 +03:00
M57 and GitHub
63e2921b36
Merge pull request #1080 from Hy4ri/dependabot/gradle/dev/coil-3.6.2
...
chore: bump coil from 3.6.1 to 3.6.2
2026-09-08 11:51:27 +03:00
M57 and GitHub
0f6f6d2a67
Merge pull request #1077 from Hy4ri/fix/update-dialog-download-indicator
...
fix(update): bind live download state to dialog and display real-time progress
2026-09-06 21:42:31 +03:00
M57
6edca8180a
revert(test): restore pristine AppUpdateViewModelTest to avoid MockK agent exhaustion
2026-09-06 21:30:07 +03:00
M57
09fbcf9d24
test(update): prevent coroutine leak across AppUpdateViewModel unit tests
2026-09-06 21:21:41 +03:00
M57
850d01ca89
fix(update): bind live download state to dialog and show real-time progress
2026-09-06 20:59:39 +03:00
M57 and GitHub
fb509c3cae
Merge pull request #1075 from Hy4ri/feat/comprehensive-pr-auto-labeling
...
ci(labeler): expand auto-labeler to 100% path coverage and add notification/assistant labels
2026-09-06 18:35:07 +03:00
M57 and GitHub
beef8478be
Merge branch 'dev' into feat/comprehensive-pr-auto-labeling
2026-09-06 18:34:03 +03:00
M57 and GitHub
629a150c28
Merge pull request #1074 from alexdev03/fix/rotation-preserve-connection
...
fix(lifecycle): preserve connection across activity recreation
2026-09-06 18:33:23 +03:00
M57
f7318325c7
ci(labeler): achieve 100% path coverage and add notification/assistant labels
2026-09-06 18:26:53 +03:00
M57 and GitHub
ae2d0d8494
Merge branch 'dev' into fix/rotation-preserve-connection
2026-09-06 18:21:43 +03:00
M57 and GitHub
230a3dac5b
Merge pull request #1073 from alexdev03/fix/notification-promotion-order
...
fix(notification): defer shutdown until foreground promotion
2026-09-06 18:19:11 +03:00
M57 and GitHub
b9ff160ae4
Merge pull request #1071 from alexdev03/feat/history-automation-sections
...
feat(sessions): separate conversation and automation history
2026-09-05 23:27:28 +03:00
M57
114654867f
fix(sessions): use AutoMirrored KeyboardArrowRight to fix Compose deprecation
2026-09-05 23:19:16 +03:00
M57
1135f05011
refactor(sessions): show job name in automation groups and preserve action labels
2026-09-05 23:02:46 +03:00
M57 and GitHub
fd485a6999
Merge pull request #1067 from alexdev03/fix/bounded-attachment-dispatch
...
fix(chat): bound attachment encoding and recover rejected sends
2026-09-05 16:45:25 +03:00
M57 and GitHub
ad34a51846
Merge branch 'dev' into fix/bounded-attachment-dispatch
2026-09-05 16:34:36 +03:00
M57 and GitHub
67d26697b8
Merge pull request #1068 from Hy4ri/fix/approval-runtime-session-id-4001
...
fix(chat): use runtime session ID in approval RPCs to prevent 4001
2026-09-05 14:12:25 +03:00
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 and GitHub
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 and GitHub
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 and GitHub
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