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