Commit Graph
843 Commits
Author SHA1 Message Date
M57 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 4246ae196d feat(settings): restore last session on startup (#1102) (#1105) 2026-09-13 16:45:04 +03:00
M57 7e8af8db01 feat(sessions): show live status for active sessions in History (#1101) (#1104) 2026-09-13 14:45:33 +03:00
M57 52e0104cd2 feat(connectors): surface active session integrations (#1091) (#1100) 2026-09-13 13:41:13 +03:00
M57 29bc367aec feat(subagents): live active subagents roster and transcript tail (#1089) (#1098) 2026-09-13 11:06:34 +03:00
M57 69cd34d289 feat(vault): credential vault status and mid-turn auth prompt handling (#1090) (#1097) 2026-09-13 00:20:07 +03:00
M57 d774a63663 feat(plugins): browse and install official plugins from catalog (#1088) (#1096) 2026-09-12 22:32:52 +03:00
M57 47b6955c9a fix(chat): bind tool milestone dividers to message id and exclude synthetic rows (#1095) 2026-09-12 16:29:40 +03:00
M57 065c7fd75f feat(chat): display token usage and tps in message footers (#1094) 2026-09-12 16:04:13 +03:00
M57 0bb087c41e feat(chat): integrate fast mode toggle into generation controls dropdown (#1093) 2026-09-12 15:15:22 +03:00
M57 5dc3896237 feat(sessions): branch tree flattening with group recency and collapsible pinned section (#1087) 2026-09-12 01:41:24 +03:00
M57 fad2dd3b86 feat(chat): upgrade tool rendering, add missing renderers, and clamp output budget (#1086) 2026-09-12 01:14:14 +03:00
M57 1cdc0dbfc0 fix(ws): gateway liveness, replay correctness, and streaming flush (#1085) 2026-09-12 00:19:13 +03:00
M57 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
Hy4ri 02106c3781 refactor(core): execute Phase 3 state and delegate extractions
- Extract ChatClarifyDelegate from ChatViewModel for clarify prompt flow.
- Harden GroupChatViewModel maps with ConcurrentHashMap.
- Add failure circuit breaker to MCP OAuth polling loop.
2026-09-11 20:13:00 +03:00
Hy4ri 5f79bdee54 refactor(markdown): decompose MarkdownText UI and styling
Extract MarkdownInlineStyler, MarkdownInlineText, MarkdownTable,
and MarkdownMediaResolver into ui/chat/markdown package.
2026-09-11 20:02:26 +03:00
Hy4ri f4904653d1 refactor(mcp): decompose McpServersScreen into components
Extract McpSectionHeader, AddServerSection, ServerCard,
CatalogSection, and McpDialogs into ui/mcp/components.
2026-09-11 19:53:16 +03:00
Hy4ri d2e5e8e1aa refactor(group): decompose GroupChatScreen into components
Extract GroupChatComposer, GroupChatSettingsDialog,
GroupMessageCard, and GroupChatToolChip into components package.
2026-09-11 19:47:26 +03:00
Hy4ri 1edd5449c9 refactor(chat): modularize update section and media launchers
Extract ChatAppUpdateSection and rememberChatMediaLaunchers to
components to decouple STT and update dialogs from ChatScreen.
2026-09-11 19:38:29 +03:00
Hy4ri 3d711c5a51 refactor(sessions): decompose SessionsScreen into focused components
Extract SessionCard, SearchResultCard, SessionActionMenu,
SessionsStatsRow, SessionsBulkActionBar, SessionsDialogs, and AutomationGroupList.
2026-09-11 19:28:52 +03:00
Hy4ri 35dc778702 refactor(system): decompose SystemScreen into focused section components
Extract Host, Portal, Curator, Gateway, Credentials, Operations,
Checkpoints, ShellHooks, ActionLog, and HookCreateDialog into components/.
2026-09-11 19:07:03 +03:00
Hy4ri 5ecc2e7d88 refactor(skills): decompose SkillsScreen into focused UI components
Extract InstalledSkillsView, HubBrowseView, SkillCard, HubSkillCard,
SourceChip, SkillScanViews, and SkillPreviewDialog into components/.
2026-09-11 18:44:09 +03:00
Hy4ri 02d99e159f fix(groupchat): adopt lifecycle state collection, add error/skeleton states, and fix duplicate test tag
Use collectAsStateWithLifecycle, SkeletonListState, and ErrorState.
Disambiguate composer stop button test tag.
2026-09-11 18:27:20 +03:00
Hy4ri e6e79be10d feat(common): add ConfirmDialog and safeLaunchAction helper
Add reusable ConfirmDialog with destructive action styling.
Add safeLaunchAction to ViewModelExt for mutating calls with unit tests.
2026-09-11 18:24:00 +03:00
Hy4ri 70f331b931 refactor(markdown): extract MarkdownModels and MarkdownParser
Split AST block models and zero-Compose Markdown block parser into
ui/chat/markdown/ package. Wire into MarkdownText.
2026-09-11 18:19:47 +03:00
Hy4ri a83f4725a2 refactor(chat): extract ChatTranscriptMerge helpers from ChatViewModel
Extract tool result canonicalization, logical message equality,
attachment ref stripping, and transcript merge logic from ChatViewModel.
2026-09-11 18:12:58 +03:00
Hy4ri 4a93772b93 refactor(mcp): extract AddServerRequestBuilder and McpImportSummary
Extract request building and import summary formatting helpers.
Wire into McpServersViewModel with unit test coverage.
2026-09-11 18:00:47 +03:00
Hy4ri 9eaf9663f3 refactor(skills): extract SkillListFilter and SkillScanPresentation
Separate pure skill filtering and scan presentation helpers.
Wire into SkillsScreen with unit test coverage.
2026-09-11 17:58:41 +03:00
Hy4ri 6876db0393 refactor(sessions): extract search formatting and paging logic
Extract SessionSearchFormatting and SessionsPaging helpers.
Deduplicate paging calculation in SessionsViewModel and add unit tests.
2026-09-11 17:53:02 +03:00
Hy4ri f0c2d2f87b refactor(util): extract FormatUtils and deduplicate byte formatting
Consolidate formatBytes and formatDuration into util/FormatUtils.
Use in SystemScreen and MemoryScreen, backed by unit tests.
2026-09-11 17:48:13 +03:00
Hy4ri 4287723ab0 refactor(skills): reconcile duplicate components and drop dead category filter
Use extracted components/SkillEditorDialog and SourceBadge.
Drop unused CategoryFilter enum.
2026-09-11 17:45:33 +03:00
M57 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
Hy4ri 7b198fa6d6 fix(chat): restore pending approval guard, tighten encapsulation, drop dormant tracker 2026-09-11 00:21:06 +03:00
Hy4ri 0af4782da1 refactor(chat): wire extracted delegates into chat viewmodel 2026-09-11 00:04:09 +03:00
Hy4ri b9ee61d429 refactor(remote): extract chat relogin authenticator 2026-09-11 00:03:58 +03:00
Hy4ri 3e012dbf31 refactor(chat): extract rpc request tracker with tests 2026-09-11 00:03:54 +03:00
Hy4ri 280a03ea23 refactor(chat): extract model switch delegate with tests 2026-09-11 00:03:46 +03:00
Hy4ri 9d35bf7cdc refactor(chat): extract credential prompts delegate with tests 2026-09-11 00:03:42 +03:00
Hy4ri 54dbb99a3d refactor(chat): extract approvals delegate with tests 2026-09-11 00:03:36 +03:00
M57 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
Hy4ri 10f7e9fa3c fix(tool): satisfy ktlint formatting 2026-09-10 22:48:43 +03:00
Hy4ri 91566dfdd7 refactor(tool): split tool display engine 2026-09-10 22:23:41 +03:00
Hy4ri 065dd87d07 test(tool): pin tool-display engine behavior with characterization suite 2026-09-10 21:46:09 +03:00
M57 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
dependabot[bot] 3bd9716b30 chore: bump coil from 3.6.1 to 3.6.2
Bumps `coil` from 3.6.1 to 3.6.2.

Updates `io.coil-kt.coil3:coil-compose` from 3.6.1 to 3.6.2
- [Release notes](https://github.com/coil-kt/coil/releases)
- [Changelog](https://github.com/coil-kt/coil/blob/main/CHANGELOG.md)
- [Commits](https://github.com/coil-kt/coil/compare/3.6.1...3.6.2)

Updates `io.coil-kt.coil3:coil-gif` from 3.6.1 to 3.6.2
- [Release notes](https://github.com/coil-kt/coil/releases)
- [Changelog](https://github.com/coil-kt/coil/blob/main/CHANGELOG.md)
- [Commits](https://github.com/coil-kt/coil/compare/3.6.1...3.6.2)

Updates `io.coil-kt.coil3:coil-network-okhttp` from 3.6.1 to 3.6.2
- [Release notes](https://github.com/coil-kt/coil/releases)
- [Changelog](https://github.com/coil-kt/coil/blob/main/CHANGELOG.md)
- [Commits](https://github.com/coil-kt/coil/compare/3.6.1...3.6.2)

---
updated-dependencies:
- dependency-name: io.coil-kt.coil3:coil-compose
  dependency-version: 3.6.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.coil-kt.coil3:coil-gif
  dependency-version: 3.6.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.coil-kt.coil3:coil-network-okhttp
  dependency-version: 3.6.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-08 06:34:38 +00:00
M57 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