Commit Graph

4203 Commits

Author SHA1 Message Date
Peter Steinberger
b2b87e956e fix(macos): center dashboard traffic lights with the hosted titlebar buttons (#106099)
* fix(macos): center dashboard traffic lights with the hosted titlebar buttons

Give the dashboard window an empty unified toolbar so its titlebar grows
to 52pt, vertically centering the macOS traffic lights against the row of
web-hosted titlebar buttons (sidebar toggle, back/forward) instead of
hugging the top edge. Bump the injected --openclaw-native-titlebar-height
to match, and nudge the hosted controls' left offset from 78px to 92px so
the traffic-light cluster and the first web button read as separate groups.

The toolbar exists only to size the titlebar, so View > Hide Toolbar (and
the corresponding shortcut) are refused; hiding it would collapse the
titlebar while the web inset stays pinned at 52pt, resurrecting the
misalignment. Smoke tests cover toolbar presence/style, hide refusal, and
the exact injected height.

* chore(i18n): resync native inventory line metadata
2026-07-13 00:17:13 -07:00
Peter Steinberger
b57e7b74e6 feat: add native Skills management parity (#105814)
* feat(apps): add native skills management parity

* chore(i18n): refresh native skills inventory

* style(apps): apply canonical Swift formatting

* style(ios): wrap skills status message

* chore(i18n): refresh native skill locales

* refactor(apps): trim native skills review surface

* chore(i18n): regenerate native app resources

* chore: keep release changelog owner-only

* fix(ios): remove dead gateway and watch wrappers
2026-07-13 00:11:11 -07:00
Peter Steinberger
f1076c23d4 fix(ci): isolate macOS node restart notifications 2026-07-13 02:54:10 -04:00
Colin Johnson
6242842722 fix(ios): focus missing gateway credentials (#98189)
* fix(ios): focus missing gateway credentials

Co-authored-by: Colin <colin@solvely.net>

* test(macos): let main actor polling suspend

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-12 23:36:29 -07:00
Ayaan Zaidi
143fed81c1 feat(sessions): reopen history around search hits 2026-07-13 10:27:29 +05:30
Peter Steinberger
b43e832fcc feat(ui): host the macOS dashboard titlebar buttons in the web UI (#105902)
* feat(ui): host the macOS dashboard titlebar buttons in the web UI

* style(ui): oxfmt macos titlebar controls

* fix(ui): bracket-access native web chrome globals for no-underscore-dangle

* docs(macos): note intentional no-fallback contract for non-web-chrome pages

* chore(ui): drop unused NativeHistoryStateEvent export

* chore(i18n): resync native inventory line metadata

* chore(i18n): translate nav.back/nav.forward across locales
2026-07-12 20:29:58 -07:00
Peter Steinberger
c81ae0412c fix(ios): localize Settings accessibility labels (#105859)
* fix(ios): preserve localized accessibility labels

* chore(i18n): refresh native source inventory
2026-07-12 19:33:27 -07:00
Ayaan Zaidi
c029d997a9 chore(i18n): resync native inventory line metadata
Direct iOS/Android commits on main shifted source line numbers without
running the path-filtered native-i18n job, so `native:i18n:check` fails
on any PR that touches a native path. Metadata-only resync; entry count
unchanged (4200).
2026-07-13 07:42:52 +05:30
Vincent Koc
818eca2c09 fix(ios): coalesce automatic overview refreshes 2026-07-13 03:53:15 +02:00
Vincent Koc
918745ed21 docs(changelog): note native app reliability fixes 2026-07-13 03:53:15 +02:00
Vincent Koc
5e9bc0916f fix(ios): harden gateway and watch state handling 2026-07-13 03:53:15 +02:00
Vincent Koc
b9d53d3cce fix(android): keep disconnected nodes offline 2026-07-13 03:53:15 +02:00
Peter Steinberger
af326b98d7 fix(macos): avoid SwiftUI macro plugin dependency (#105768)
* fix(macos): avoid SwiftUI macro plugin dependency

* fix(macos): scope chat previews to iOS

* chore(i18n): refresh native source locations

* fix(macos): preserve explicit environment keys in formatter

* chore(pr): keep changelog release-owned
2026-07-12 17:40:41 -07:00
Peter Steinberger
e01d1e85f3 ci(swift): enforce shared OpenClawKit dead-code coverage (#105770)
* ci(swift): enforce shared kit dead-code coverage

* chore(i18n): sync native source inventory

* ci(swift): install pinned iOS scan tools
2026-07-12 17:35:47 -07:00
Peter Steinberger
2264816f1d ci(macos): add enforced periphery dead-code lane and delete the 12 current findings (#105743)
* refactor(macos): delete dead code flagged by periphery

* ci(macos): add enforced periphery dead-code lane

* fix(ci): scope-label the periphery skip message

* chore(i18n): sync native inventory line coordinates
2026-07-12 16:39:15 -07:00
Peter Steinberger
d287c9b414 refactor(mac): make app node a CLI capability superset (#105642)
* refactor(mac): reuse CLI node-host runtime

* fix(mac): prefer checkout CLI in debug builds

* chore: leave release notes to release automation

* chore(mac): sync native string inventory

* chore(mac): refresh native locale artifacts

* fix(node): satisfy native and deadcode gates
2026-07-12 13:16:07 -07:00
Peter Steinberger
5e45ebe82b feat(ios): add private HealthKit summaries (#105616)
* feat(ios): add private HealthKit summaries

* fix(ios): satisfy Health settings lint

* chore(ios): sync Health localization artifacts

* chore(ios): refresh generated localization and docs

* fix(ios): reject partial Health history

* chore(ios): sync Health string catalogs

* fix(ios): bridge Health authorization dates

* fix(ios): scope Health summaries to today
2026-07-12 12:52:38 -07:00
WhatsSkiLL
5d61d97a33 fix(android): autofocus command palette search (#105471)
Co-authored-by: IWhatsskill <284122573+IWhatsskill@users.noreply.github.com>
2026-07-12 15:20:14 -04:00
Peter Steinberger
2821abc1f5 feat(android): polish skill management (#105592)
* feat(android): polish skill management

* chore(android): sync skill localization
2026-07-12 11:46:59 -07:00
Peter Steinberger
f60d052846 chore(i18n): sync native inventory line coordinates
apps dead-code removal (ec62328eb8) shifted ChatViewModel.swift string
coordinates without refreshing apps/.i18n/native-source.json, failing the
native-i18n CI shard on every PR. Inventory-only sync via pnpm native:i18n:sync.
2026-07-12 11:24:42 -07:00
Peter Steinberger
ec62328eb8 chore(apps): remove dead code 2026-07-12 10:18:03 -07:00
Vincent Koc
b6d26269e4 chore(i18n): refresh live activity coordinates 2026-07-12 18:33:47 +02:00
Vincent Koc
5ec053a6e9 refactor(ios): remove unused live activity wrapper 2026-07-12 18:33:47 +02:00
Vincent Koc
8eda61a0fa chore(i18n): translate sidebar reveal action 2026-07-12 18:33:47 +02:00
Vincent Koc
f64eb0cbaa fix(ios): localize sidebar reveal actions 2026-07-12 18:33:47 +02:00
Vincent Koc
59bed9db0b test(ios): inspect typed sidebar action labels 2026-07-12 18:33:47 +02:00
Vincent Koc
e999802e6e fix(ios): type watch gateway request identifier 2026-07-12 18:33:47 +02:00
Vincent Koc
01ed6b1f04 fix(ios): distinguish localized and verbatim session actions 2026-07-12 18:33:47 +02:00
Vincent Koc
7394d07a49 fix(ios): use typed localized retry action 2026-07-12 18:33:47 +02:00
Vincent Koc
77253849a1 chore(i18n): refresh native source coordinates 2026-07-12 18:33:47 +02:00
Vincent Koc
aa1a8ddb34 fix(ios): preserve localized text value boundaries 2026-07-12 18:33:47 +02:00
Vincent Koc
8d0d3ab59b fix(watch): share style with detail scroll 2026-07-12 18:33:47 +02:00
Vincent Koc
19e650c231 fix(watch): include chat status in preview snapshot 2026-07-12 18:33:47 +02:00
Vincent Koc
a37e8bc396 test(ios): count every localized agent fallback 2026-07-12 18:33:47 +02:00
Vincent Koc
f05df17cdd test(ios): guard every localized runtime label 2026-07-12 18:33:47 +02:00
Vincent Koc
9df863eb01 chore(i18n): translate remaining iOS runtime labels 2026-07-12 18:33:47 +02:00
Vincent Koc
543161e67e fix(ios): localize remaining runtime labels 2026-07-12 18:33:47 +02:00
Vincent Koc
47ead8ff50 test(ios): follow extracted watch detail scroll 2026-07-12 18:33:47 +02:00
Vincent Koc
c4b3e67d0d chore(i18n): refresh formatted Swift inventory 2026-07-12 18:33:47 +02:00
Vincent Koc
6ddc87de0a fix(ios): satisfy watch localization build gates 2026-07-12 18:33:47 +02:00
Vincent Koc
a9bed7816c build(android): refresh shared native translations 2026-07-12 18:33:47 +02:00
Vincent Koc
21ccca6b88 fix(ios): compile watch identifier helpers in logic tests 2026-07-12 18:33:47 +02:00
Vincent Koc
f6e93237cc chore(i18n): refresh watch outcome inventory 2026-07-12 18:33:47 +02:00
Vincent Koc
e4ffa5fd92 fix(watch): decode semantic approval outcomes 2026-07-12 18:33:47 +02:00
Vincent Koc
a1f0a92b03 fix(watch): preserve terminal approval outcomes 2026-07-12 18:33:47 +02:00
Vincent Koc
99668e3fd1 fix(watch): type legacy chat status switches 2026-07-12 18:33:47 +02:00
Vincent Koc
725c2875b4 chore(ios): normalize catalog artifact ordering 2026-07-12 18:33:47 +02:00
Vincent Koc
dfa9c96e17 fix(watch): parse encoded avatar URL 2026-07-12 18:33:47 +02:00
Vincent Koc
89527638be chore(ios): refresh watch resource locale assets 2026-07-12 18:33:47 +02:00
Vincent Koc
a49e6a32e9 fix(watch): make localized text extraction explicit 2026-07-12 18:33:47 +02:00