Commit Graph

925 Commits

Author SHA1 Message Date
Peter Steinberger
c539c77057 fix(ios): expose expandable chat agent identity (#113917) 2026-07-25 17:42:17 -07:00
Colin Johnson
de9ed64c29 feat(talk): enable GPT Live with Codex OAuth (#113354) 2026-07-25 20:41:27 -04:00
Peter Steinberger
af44cb1a72 feat(native): show Swarm progress in chat (#113850)
* feat(native): show swarm progress

* fix(native): align swarm progress lifecycle

* chore(native): shorten swarm progress source name

* style(macos): pad swarm progress surfaces

* chore(native): use compact swarm source name

* fix(native): harden swarm route ownership

* fix(native): preserve swarm render ownership

* chore(i18n): refresh native swarm inventory

* fix(native): bound swarm refresh ownership

* fix(native): remove unused swarm capability initializer
2026-07-25 15:11:19 -07:00
Peter Steinberger
7e80f36723 fix(apps): restore live session updates after native reconnects (#113634)
* fix(apps): replay session visibility across native reconnects

* fix(apps): refresh shifted native i18n source lines

---------

Co-authored-by: Peter Steinberger <steipete@golden-gate.local>
2026-07-25 04:58:41 -07:00
Peter Steinberger
dd7f7ada7e feat(sessions): show preambles as live subtitles (#112958)
* feat(sessions): show preambles as live subtitles

* fix(sessions): harden preamble observer ordering

* fix(sessions): suppress duplicate preamble restore

* fix(sessions): preserve preamble observer lifecycle

* fix(ci): satisfy session subtitle checks

* fix(sessions): preserve terminal and preamble dedupe

* fix(sessions): finalize contextless terminal runs

* test(sessions): cover dormant contextless terminals

* fix(sessions): preserve queued preambles across dormancy
2026-07-25 01:26:50 -07:00
github-actions[bot]
2a465debe8 chore(i18n): refresh native locales 2026-07-24 17:17:56 +08:00
Vincent Koc
a911bfb716 style(ios): satisfy settings chat formatting 2026-07-24 15:26:58 +08:00
Vincent Koc
9cecc3083d fix(ios): localize settings chat fixtures 2026-07-24 15:26:58 +08:00
joshavant
ed7d9ef441 fix(ios): preserve planned build during release validation 2026-07-23 21:34:34 -05:00
joshavant
0030a8c808 fix(ios): cache location authorization state 2026-07-23 20:45:33 -05:00
joshavant
ee317497d9 fix(ios): isolate release screenshot captures 2026-07-23 20:45:33 -05:00
joshavant
ba09e05e97 refactor(ios): append unpadded App Store revisions 2026-07-23 18:42:16 -05:00
joshavant
0558831b92 fix(ios): normalize App Store build upload state 2026-07-23 18:26:29 -05:00
joshavant
b7d77b0f21 feat(ios): deterministically plan App Store releases 2026-07-23 18:18:32 -05:00
joshavant
30395ba31b feat(ios): support App Store release revisions 2026-07-23 16:24:15 -05:00
joshavant
3d7e996fd3 docs(ios): default releases to gateway version 2026-07-23 12:07:09 -05:00
joshavant
b85c0e2064 fix(ios): harden release screenshot capture 2026-07-23 11:09:06 -05:00
Peter Steinberger
9a624cd78f fix(ios): localize Agent Pro detail labels (#112980)
* fix(ios): preserve localized Agent Pro detail labels

* fix(ios): localize Dreaming metric labels

* test(ios): refresh native localization inventory

* test(setup): align isolated detection fallback

* test(system-agent): allow slow shared TUI setup

* test(chat): allow loaded outbox retry drain

---------

Co-authored-by: Alix-007 <li.long15@xydigit.com>
2026-07-23 09:01:07 -07:00
Colin Johnson
4f4d89574a fix(ios): show dark app icon in Dark appearance (#113039)
* fix(ios): use dark app icon appearance

* fix(ios): cover debug app icon appearances
2026-07-23 10:56:24 -04:00
metaforismo
33044992c1 fix(ios): avoid phantom iPad nodes on Apple Silicon Macs (#112744) 2026-07-23 08:25:59 -04:00
joshavant
ebbbfa4c30 fix(ios): stabilize release screenshot launches 2026-07-23 00:28:00 -05:00
Peter Steinberger
26e4dec8c9 fix(ios): native Talk respects session thinking level (#112901)
* fix(ios): inherit thinking in native Talk

* test(ios): verify native Talk thinking inheritance

* test(ios): keep Talk regression i18n-neutral

* test(ios): import Talk request builder module

* test(secrets): secure plugin preset fixture

---------

Co-authored-by: RECOVERI <alfred@recoveri.io>
2026-07-23 01:02:12 -04:00
joshavant
1af115d257 test(ios): retry stalled screenshot launches 2026-07-22 23:42:32 -05:00
joshavant
690ed56441 fix(ios): preserve localized app display names 2026-07-22 22:56:22 -05:00
openclaw-mantis[bot]
a3a08a6db0 chore(i18n): refresh native locales (#112662)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-07-22 09:38:17 -07:00
Peter Steinberger
74de1a2f0c feat(ios): add OpenClaw settings chat (#112420)
* feat(ios): add OpenClaw settings chat

* chore(ios): sanitize screenshot fixture label

* fix(ios): gate OpenClaw settings chat

* fix(ios): stabilize OpenClaw settings support checks

* chore(i18n): refresh native source inventory

* fix(ios): bind OpenClaw chat to gateway route
2026-07-22 05:14:47 -07:00
Peter Steinberger
0b080b9c2e feat(apps): native session-list observer digests on iOS, Android, and macOS (#112597)
* feat(apps): native session-list observer digests on iOS, Android, and macOS

* fix(apps): satisfy swift, periphery, and lint gates for native digests
2026-07-22 01:53:29 -07:00
Peter Steinberger
bd03b4d658 fix(i18n): regenerate native locale artifacts after Android inventory drift 2026-07-21 14:15:31 -07:00
joshavant
a69ebf3067 fix(ios): keep snapshot results outside upload tree 2026-07-21 13:44:11 -05:00
joshavant
b3cdb49aca test(ios): stabilize appearance screenshot 2026-07-21 13:44:11 -05:00
joshavant
12515ad182 fix(ios): harden App Store release flow 2026-07-21 13:44:11 -05:00
Peter Steinberger
8f31892b55 feat(apps): native session branch switcher with branch-safe durable outbox (#112056)
Branch menu (list/switch) for macOS+iOS shared chat via sessions.branches.*;
rewind/fork/switch gated on run activity and pending outbox work through a
durable session-mutation lease; outbox rows carry branch-epoch ownership with
local-only flush checks, atomic confirm/park transitions, attempt-versioned
delivery callbacks, fresh retry identity for possibly-accepted rows, and
epoch-guarded branch evidence; 21-locale native translations for new strings.
2026-07-21 10:59:44 -07:00
Peter Steinberger
26165bbe80 fix(ios): smooth sidebar drags and remove background seams (#112299)
* fix(ios): polish sidebar drawer interaction

* fix(ios): latch sidebar drag direction
2026-07-21 08:40:30 -07:00
Peter Steinberger
5e7cb225e4 fix(mobile): load pinned and base-path Control UI pages (#112175)
* fix(mobile): harden Control UI webviews

* refactor(mobile): keep native inventory stable

* docs(android): clarify shared pinned trust

* fix(ios): preserve encoded Control UI base paths
2026-07-21 08:19:07 -07:00
Peter Steinberger
8481c69cbe feat(apple): port the working claw indicator, wait phrases, and turn recap to iOS/macOS (#112188)
* feat(chat): add native working progress state

* feat(chat): port working claw indicator to Apple

* fix(apple): isolate generated locale catalog

* style(apple): use doc comments on ChatWorkingPhrase API declaration
2026-07-21 04:35:27 -07:00
Peter Steinberger
312e656138 fix(ios): show agent avatars and use more sidebar space (#112082)
* fix(ios): improve agent sidebar menu layout

* chore(i18n): refresh native source inventory
2026-07-21 03:05:18 -07:00
Peter Steinberger
262deec72c feat(mobile): session Dashboard on iOS and Android via authenticated Control UI webview (#112163)
* feat(mobile): session dashboard screens on iOS and Android via authenticated Control UI webview

* fix(android): keep configured Control UI base path in session dashboard URL

* docs(android): note system-trust boundary of the shared Control UI webview

* fix(android): origin-only document-start rule for Control UI auth script

* chore(i18n): refresh native inventory on rebased head

* fix(ios): swiftlint closure form in session dashboard toolbar

* fix(i18n): tolerate workflow-owned pending native rows in PR alignment checks

* fix(android): KTX toUri per lint and refresh native inventory

* fix(android): ktlint import order incl. main-inherited fleet test, refresh inventory
2026-07-21 01:13:23 -07:00
Vincent Koc
2c316f51f7 fix(apps): harden mobile gateway and watch state 2026-07-21 09:00:21 +02:00
Peter Steinberger
9f66f53fb5 feat(chat): collapse long user prompts (#111866)
* feat(chat): collapse long user prompts

* fix(chat): sync disclosure strings

* fix(android): reuse disclosure labels

* chore(i18n): refresh native inventory

* perf(ui): trim prompt disclosure chunk
2026-07-20 20:10:15 -07:00
Peter Steinberger
49ff6a4497 fix(protocol): classify system agents in rosters (#111920)
* fix(protocol): classify system agents in rosters

* fix(ci): align agent kind client gates

* fix(ci): keep roster filtering in startup bundle

* chore(ui): remove superseded roster module

* style(android): satisfy agent kind test formatting

* style(linux): format merged agent capability assertion

* fix(config): reject reserved system agent ids

* chore(i18n): refresh native source inventory

* style(android): format agent kind surfaces

* fix(gateway): preserve configured agent ownership
2026-07-20 16:57:04 -07:00
Colin Johnson
0d3cbae6a1 fix(ios): sidebar drags jitter and toolbar control flickers (#111831)
* fix(ios): smooth sidebar gestures and toolbar controls

* fix(ios): keep sidebar edge gesture below toolbar

* chore(ios): refresh native localization inventory

* fix(ios): preserve edge content interactions

* fix(ios): restore smooth sidebar tracking

* test(ios): align drawer source guards
2026-07-20 17:26:17 -04:00
Peter Steinberger
a52eb2134b feat(apps): connect multiple gateways simultaneously (#111932)
* feat(apps): support simultaneous gateways

* fix(apps): satisfy multi-gateway checks

* chore(apps): refresh multi-gateway baselines

* style(android): format gateway fleet code
2026-07-20 13:06:29 -07:00
Colin Johnson
2f967bc8f3 test(ios): refresh chat voice and sidebar UI coverage (#111655) 2026-07-20 08:02:16 -04:00
Peter Steinberger
bdf71d7d98 refactor(apple): unify offline client databases (#111598)
* refactor(apple): unify offline client databases

* refactor(apple): remove dead cache APIs

* fix(apple): satisfy native storage gates

* fix(apple): sync generated localization catalog

* Revert "fix(apple): sync generated localization catalog"

This reverts commit d0f5e7b749.

* fix(i18n): keep source validation pre-merge

* test(macos): isolate flaky suite state

* test(macos): isolate log locator on main actor
2026-07-19 22:14:12 -07:00
Peter Steinberger
0fff74c800 feat(ios): replace the tab bar with a black overlay sidebar (web parity + dashboard) (#111339)
* feat(ios): unify navigation on a black overlay sidebar and drop the phone tab bar

* test(ios): rework navigation tests and snapshot UITests for the sidebar shell

* chore(i18n): sync derived native catalogs for sidebar strings

* feat(ios): reveal the sidebar beneath a push-away rounded content card

* feat(ios): web-parity sidebar — agent switcher, pinned pages, sessions vocabulary, uniform content card

* chore(i18n): translate sidebar and session strings across native catalogs

* fix(ios): sidebar footer shows connection dot only when degraded, like the web

* feat(ios): sidebar toggle top-left with edge-swipe open; card surface owns the drawer chrome

* fix(ios): single sidebar refresh owner, alias-aware Home badges, RM tap-close, user pin order, drop vestigial idiom shims

* feat(ios): align sidebar with the mobile prototype — agent roster, theme-following palette, web session subtitles, row badges

* chore(i18n): translate agent roster and Recent strings across native catalogs

* feat(ios): frosted-glass agent picker with uniform drawer insets

* fix(ios): address sidebar review findings — settings toggle edge, per-agent scoping, alias-aware selection, cron paging, refresh cadence

* fix(ios): clear landing CI blockers
2026-07-19 14:50:39 -07:00
metaforismo
a53461b2b1 fix(ios): render Markdown lists and thematic breaks (#111223) 2026-07-19 11:24:30 -04:00
Peter Steinberger
da534dc506 fix(ios): harden Talk voice-session lifecycle from review (#111424)
- Close+clear the adopted logical voice session when a config/provider change
  invalidates a realtime prefetch (a live call is preserved); prevents the
  gateway rejecting a stale voiceSessionId resume under a new provider.
- Retry talk.client.close (0/500/2000ms) before forgetting the session, matching
  the web client, so a transient close does not orphan it until the 6h sweep.
- Surface exhausted transcript-persist failures through the session delegate so a
  dropped affirmation transcript no longer silently blocks spoken confirmation.
- Localize the "Confirmation needed" status through the presentation switches;
  add its native locale translations.
2026-07-19 07:01:28 -07:00
Peter Steinberger
4e008cd713 feat(ios): adopt Talk voice sessions (#111369)
* feat(ios): adopt Talk voice sessions

* docs(agents): fix unrelated red-main breakage in the landing PR

* chore(i18n): translate Talk voice-session strings across native locales
2026-07-19 06:28:18 -07:00
Peter Steinberger
8178b3cc14 feat(clients): adopt model controls, session management, and keyboard history recall on iOS (#110831)
* feat(clients): adopt model controls, session management, and keyboard history recall on iOS

* chore(i18n): translate iOS adoption strings and realign locale artifacts

* refactor(clients): drop test-only group response inits flagged by the shared dead-code intersect

* chore: retrigger ci

* chore(i18n): resync inventory after voice-unification main rebase

* chore(i18n): resync inventory after main rebase

* chore(i18n): resync inventory after main rebase

* chore(i18n): realign locale artifacts after main rebase

* fix(clients): preserve native chat API and locale copy

* fix(ios): retain public session DTO initializers

* refactor(clients): delete test-only session DTO inits flagged dead instead of suppressing
2026-07-19 03:08:22 -07:00
Peter Steinberger
59b2fbbb4b feat(ios): Talk camera flip control and mic input selection (#111044)
* feat(ios): add Talk camera flip and mic selection

* chore(ios): sync native i18n inventory and locale artifacts for talk camera/mic strings

* chore(ios): commit regenerated Localizable.xcstrings for new talk strings

* fix(ios): extract Talk composer controls

* chore(ios): resync native i18n inventory and locale artifacts atop landed Android entries

* fix(ios): repair Talk composer CI checks

* chore(i18n): commit regenerated Android locale outputs from catalog reconciliation

* chore(i18n): sync Android locale outputs after rebase
2026-07-19 01:24:53 -07:00