Commit graph

80 commits

Author SHA1 Message Date
Garfie Chiu
8463b1fc9f
Merge pull request #42 from garfiec/fix/conversation-list-state-reset
fix(navigation): fully reset ConversationListStateHolder on logout
2026-04-14 22:31:15 -05:00
Garfie Chiu
a0602228dd
Merge pull request #41 from garfiec/fix/android-temp-files-subdirs
fix(cache): route Android temp files into named subdirs for logout sweep
2026-04-14 22:30:34 -05:00
Garfie
9159bcf62e fix(cache): route Android temp files into named subdirs for logout sweep
Five Android producers wrote temp files directly into cacheDir root,
bypassing CommonSessionCacheCleaner which only sweeps entries listed in
CACHE_SUBDIRECTORIES. Moved each producer to its own named subdir and
registered the new names so logout actually clears them.
2026-04-14 21:30:31 -05:00
Garfie
c613175c6e fix(navigation): fully reset ConversationListStateHolder on logout
reset() now clears pagination cursor, hasMore, isLoadingMore and
isRefreshing state so the next user session does not inherit stuck
spinners or stale cursors from the previous session. Also cancel and
restart the search debounce collector so an in-flight debounced
emission from the previous session cannot land after reset() and
clobber the cleared grouped conversations list.
2026-04-14 21:30:30 -05:00
Garfie Chiu
4814f8a5b5
Merge pull request #40 from garfiec/fix/camera-photos-sweep
fix(data): sweep camera_photos cache dir on logout
2026-04-14 19:57:21 -05:00
Garfie Chiu
7433f75187
Merge pull request #39 from garfiec/fix/volatile-agent-preset-caches
fix(data): mark agent/preset caches @Volatile
2026-04-14 19:56:01 -05:00
Garfie
6f2b397b9a fix(data): mark in-memory repository caches @Volatile for cross-thread visibility 2026-04-14 19:46:59 -05:00
Garfie
5b94495197 fix(data): sweep camera_photos cache dir on logout
The Android camera-capture flow in ChatInput writes temp photos to
cacheDir/camera_photos/ but this subdir was missing from
CACHE_SUBDIRECTORIES, so captured photos leaked across user sessions.
Add it to the sweep list so CommonSessionCacheCleaner clears it on
logout.
2026-04-14 18:11:48 -05:00
Garfie Chiu
77ee9fed1a
Merge pull request #38 from garfiec/fix/ios-sse-streaming-via-nwconnection
fix(ios): stream SSE via NWConnection to bypass NSURLSession text/* buffering
2026-04-14 18:08:09 -05:00
Garfie
4a6c1f9a29 fix(ios): stream SSE via NWConnection to bypass NSURLSession text/* buffering 2026-04-14 07:21:48 -05:00
Garfie Chiu
9e06c43096
Merge pull request #35 from garfiec/feat/favorites-server-backed-tags
feat(favorites): move bookmarks to server-backed tags with offline cache
2026-04-13 20:17:04 -05:00
Garfie
0483581f23 feat(favorites): move bookmarks to server-backed tags with offline cache 2026-04-13 19:40:14 -05:00
Garfie Chiu
106eae51cb
Merge pull request #37 from garfiec/ci/android-pr-debug-apk
ci(android): upload signed debug APK artifact on every PR
2026-04-13 19:35:12 -05:00
Garfie
a4084bf183 ci(android): publish signed debug APK on PRs with sticky link comment 2026-04-13 19:30:10 -05:00
Garfie Chiu
27fdd3e5fe
Merge pull request #30 from garfiec/dependabot/gradle/org.jetbrains.androidx.navigation3-navigation3-ui-1.1.0-rc01
chore(deps): bump org.jetbrains.androidx.navigation3:navigation3-ui from 1.0.0-alpha06 to 1.1.0-rc01
2026-04-11 15:55:11 -05:00
Garfie Chiu
e3aa662322
Merge pull request #31 from garfiec/dependabot/gradle/koin-4.2.1
chore(deps): bump koin from 4.2.0 to 4.2.1
2026-04-11 13:07:16 -05:00
Garfie Chiu
ee185d0e98
Merge pull request #5 from garfiec/dependabot/gradle/io.mockk-mockk-1.14.9
Bump io.mockk:mockk from 1.13.13 to 1.14.9
2026-04-11 13:06:46 -05:00
Garfie Chiu
1f207991da
Merge pull request #10 from garfiec/dependabot/gradle/androidx.test.ext-junit-1.3.0
Bump androidx.test.ext:junit from 1.2.1 to 1.3.0
2026-04-11 13:06:33 -05:00
Garfie Chiu
281608a892
Merge pull request #33 from garfiec/chore/detekt-baseline-burndown
cleanup: burn down detekt baseline findings
2026-04-11 12:45:57 -05:00
Garfie
63d87c843b cleanup: burn down detekt baselines and rename Compose Resources package 2026-04-11 12:35:19 -05:00
dependabot[bot]
c72060f9c0
chore(deps): bump koin from 4.2.0 to 4.2.1
Bumps `koin` from 4.2.0 to 4.2.1.

Updates `io.insert-koin:koin-bom` from 4.2.0 to 4.2.1
- [Release notes](https://github.com/InsertKoinIO/koin/releases)
- [Commits](https://github.com/InsertKoinIO/koin/compare/4.2.0...4.2.1)

Updates `io.insert-koin:koin-core` from 4.2.0 to 4.2.1
- [Release notes](https://github.com/InsertKoinIO/koin/releases)
- [Commits](https://github.com/InsertKoinIO/koin/compare/4.2.0...4.2.1)

Updates `io.insert-koin:koin-android` from 4.2.0 to 4.2.1
- [Release notes](https://github.com/InsertKoinIO/koin/releases)
- [Commits](https://github.com/InsertKoinIO/koin/compare/4.2.0...4.2.1)

Updates `io.insert-koin:koin-compose` from 4.2.0 to 4.2.1
- [Release notes](https://github.com/InsertKoinIO/koin/releases)
- [Commits](https://github.com/InsertKoinIO/koin/compare/4.2.0...4.2.1)

Updates `io.insert-koin:koin-compose-viewmodel` from 4.2.0 to 4.2.1
- [Release notes](https://github.com/InsertKoinIO/koin/releases)
- [Commits](https://github.com/InsertKoinIO/koin/compare/4.2.0...4.2.1)

Updates `io.insert-koin:koin-compose-viewmodel-navigation` from 4.2.0 to 4.2.1
- [Release notes](https://github.com/InsertKoinIO/koin/releases)
- [Commits](https://github.com/InsertKoinIO/koin/compare/4.2.0...4.2.1)

Updates `io.insert-koin:koin-test` from 4.2.0 to 4.2.1
- [Release notes](https://github.com/InsertKoinIO/koin/releases)
- [Commits](https://github.com/InsertKoinIO/koin/compare/4.2.0...4.2.1)

---
updated-dependencies:
- dependency-name: io.insert-koin:koin-bom
  dependency-version: 4.2.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.insert-koin:koin-core
  dependency-version: 4.2.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.insert-koin:koin-android
  dependency-version: 4.2.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.insert-koin:koin-compose
  dependency-version: 4.2.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.insert-koin:koin-compose-viewmodel
  dependency-version: 4.2.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.insert-koin:koin-compose-viewmodel-navigation
  dependency-version: 4.2.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.insert-koin:koin-test
  dependency-version: 4.2.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-11 00:33:06 +00:00
dependabot[bot]
fec10de0cc
chore(deps): bump org.jetbrains.androidx.navigation3:navigation3-ui
Bumps [org.jetbrains.androidx.navigation3:navigation3-ui](https://github.com/JetBrains/compose-multiplatform) from 1.0.0-alpha06 to 1.1.0-rc01.
- [Release notes](https://github.com/JetBrains/compose-multiplatform/releases)
- [Changelog](https://github.com/JetBrains/compose-multiplatform/blob/master/CHANGELOG.md)
- [Commits](https://github.com/JetBrains/compose-multiplatform/commits/v1.1.0-rc01)

---
updated-dependencies:
- dependency-name: org.jetbrains.androidx.navigation3:navigation3-ui
  dependency-version: 1.1.0-rc01
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-11 00:32:35 +00:00
Garfie Chiu
f9148c32c4
Merge pull request #28 from garfiec/feat/lint-setup
Add detekt-koin, .editorconfig, and GitHub Actions CI
2026-04-09 23:58:11 -05:00
Garfie
b4872e4de0 feat: add detekt-koin, .editorconfig, GitHub Actions CI for android + ios 2026-04-09 23:48:41 -05:00
Garfie Chiu
1f252790e2
Merge pull request #27 from garfiec/fix/mcp-type-segmented-button-height
fix(settings): equalize MCP server type segmented button heights
2026-04-08 23:24:42 -05:00
Garfie Chiu
5b8282af5e
Merge pull request #26 from garfiec/fix/ios-chat-input-home-indicator
fix(chat): apply safe area padding to iOS chat input
2026-04-08 23:13:11 -05:00
Garfie
ede2311027 fix(settings): equalize MCP server type segmented button heights when text wraps 2026-04-08 22:45:07 -05:00
Garfie
e624c9f39e fix(chat): apply safe area padding to iOS chat input 2026-04-08 22:21:32 -05:00
Garfie Chiu
4761791157
Merge pull request #25 from garfiec/refactor/fqn-to-imports
refactor: replace fully-qualified names with proper imports
2026-04-08 22:16:20 -05:00
Garfie
e8bda6ca05 refactor: replace fully-qualified names with proper imports across codebase 2026-04-08 19:15:49 -05:00
Garfie Chiu
2f95d923e7
Merge pull request #24 from garfiec/refactor/file-organization
refactor: extract supporting types and organize into sub-packages
2026-04-07 22:02:59 -05:00
Garfie
00055c515e refactor: extract supporting types to own files and organize into sub-packages 2026-04-07 21:49:15 -05:00
Garfie Chiu
56fd4842be
Merge pull request #23 from garfiec/refactor/nav-host-viewmodel_stage5
refactor: NavHostViewModel stage 5 — extract drawer models and display mapping
2026-04-07 21:23:04 -05:00
Garfie
ebcae8478e refactor: NavHostViewModel stage 5 - extract drawer models and display mapping 2026-04-07 20:45:44 -05:00
Garfie Chiu
35232c89ad
Merge pull request #22 from garfiec/refactor/nav-host-viewmodel_stage4
refactor: NavHostViewModel stage 4 — extract favorites state holder
2026-04-07 20:21:33 -05:00
Garfie
72054ad442 refactor: NavHostViewModel stage 4 - extract favorites state holder 2026-04-07 20:19:20 -05:00
Garfie Chiu
d942fbf3a0
Merge pull request #21 from garfiec/refactor/nav-host-viewmodel_stage3
refactor: NavHostViewModel stage 3 — extract conversation list state holder
2026-04-07 20:09:12 -05:00
Garfie
4875072e54 refactor: NavHostViewModel stage 3 - extract conversation list state holder 2026-04-07 19:52:22 -05:00
Garfie Chiu
30f15dcdc9
Merge pull request #20 from garfiec/refactor/nav-host-viewmodel_stage2
refactor: NavHostViewModel stage 2 — extract banner and version check state holders
2026-04-07 19:50:24 -05:00
Garfie
58654ca245 refactor: NavHostViewModel stage 2 - extract banner and version check state holders 2026-04-06 23:31:19 -05:00
Garfie Chiu
6f86a2b00a
Merge pull request #19 from garfiec/refactor/nav-host-viewmodel_stage1
refactor: NavHostViewModel stage 1 — low-hanging fruit cleanup
2026-04-06 23:26:42 -05:00
Tim Abil
a014b99597
Merge pull request #17 from garfiec/fix/jvm-toolchain-alignment
fix: use jvmToolchain(17) to align Java and Kotlin JVM targets
2026-04-06 23:58:34 -04:00
Tim Abil
08f8445ea8 fix: bump JVM toolchain to 21 and centralize build constants
Extract JVM_TOOLCHAIN_VERSION, COMPILE_SDK, MIN_SDK, and TARGET_SDK
into a shared BuildConstants object so all convention plugins reference
a single source of truth.
2026-04-06 23:53:05 -04:00
Garfie
c422408de6 refactor: NavHostViewModel stage 1 - extract constants, fix races, deduplicate, and modernize search debounce 2026-04-06 22:38:38 -05:00
Garfie Chiu
ed653f95a9
Merge pull request #18 from garfiec/fix/ios-latex-rendering
Fix iOS LaTeX rendering and consolidate markdown parser to commonMain
2026-04-06 20:07:03 -05:00
Garfie
fccc0ba0bb fix: iOS LaTeX rendering by extracting shared markdown parser to commonMain 2026-04-06 19:42:40 -05:00
Garfie Chiu
4d2a074f56
Merge pull request #16 from garfiec/fix/ios-image-rendering
fix: configure Coil ImageLoader for iOS and add missing tool call card rendering
2026-04-06 19:34:43 -05:00
Garfie
4c0b76a9b3 fix: iOS image rendering and consolidate content part dispatch to commonMain
- Configure Coil ImageLoader with authenticated Ktor HttpClient on iOS
- Extract ContentPartRenderer sub-composables and tool call dispatch into shared commonMain (SharedContentParts.kt, ToolCallParsing.kt)
- Add missing iOS handlers: AGENT_UPDATE, VIDEO_URL null fallback
- Fix error text fallback inconsistency across platforms
- Add memory cache to iOS ImageLoader
2026-04-06 12:25:48 -05:00
Tim Abil
11ecdb590e fix: use jvmToolchain(17) to align Java and Kotlin JVM targets 2026-04-06 12:37:01 -04:00
Garfie Chiu
c8a98f9962
Merge pull request #14 from garfiec/refactor/consolidate-navigation
refactor: consolidate duplicate navigation code between app and shared modules
2026-04-05 22:38:37 -05:00