Commit Graph
733 Commits
Author SHA1 Message Date
Hy4ri 3911f5302a add ktlint to the nix flake 2026-08-31 11:27:18 +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
M57andM57 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
M57andM57 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
M57andM57 2f3bf5114d docs: PR template — add Description section + fix rebase target to dev (#1010)
Co-authored-by: M57 <hy4ri@users.noreply.github.com>
2026-08-29 22:58:21 +03:00
M57andM57 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
M57andM57 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
M57andM57 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
M57andM57 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
M57andM57 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
M57andM57 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
M57andM57 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
M57andM57 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
M57andM57 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 6bc4e872ca docs: add DESIGN.md design system specification (#1000) 2026-08-28 14:55:53 +03:00
M57andM57 7bfb6d5c16 ci: support dev staging branch and pre-release tags in release workflow (#999)
Co-authored-by: M57 <hy4ri@users.noreply.github.com>
2026-08-28 14:14:47 +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
M57andM57 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
M57andM57 10d7d473fd chore: enable dependabot grouping and bump core androidx dependencies (#995)
Co-authored-by: M57 <hy4ri@users.noreply.github.com>
2026-08-27 14:46:53 +03:00
M57andM57 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
dependabot[bot]andM57 680b4082ca chore: bump net.zetetic:sqlcipher-android from 4.17.0 to 4.18.0 (#990)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: M57 <41645758+Hy4ri@users.noreply.github.com>
2026-08-27 10:53:14 +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_andM57 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
dependabot[bot] 19065f02df chore: bump gradle-wrapper from 9.7.0 to 9.7.1 (#991)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-27 10:23:16 +03:00
dependabot[bot] df328c8b82 chore: bump actions/labeler from 6 to 7 (#993)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-27 10:22:47 +03:00
dependabot[bot] 6818d07644 chore: bump actions/setup-java from 5 to 6 (#992)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-27 10:20:57 +03:00
dependabot[bot] 23fd234aa9 chore: bump actions/stale from 9 to 11 (#989)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-27 10:20:17 +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
M57andM57 140b0f7179 fix(ci): overhaul PR auto-labeler — fork compat + real codebase coverage (#988)
Co-authored-by: M57 <hy4ri@users.noreply.github.com>
2026-08-27 01:54:55 +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
M57andM57 4f3a57e340 chore(metadata): move fastlane directory to project root (#976)
Co-authored-by: M57 <hy4ri@users.noreply.github.com>
2026-08-26 21:24:19 +03:00
M57andM57 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
M57andM57 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
M57andM57 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
M57andM57 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
M57andM57 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