Peter Steinberger
68f336e496
refactor(bonjour): privatize process error classification ( #107724 )
2026-07-14 12:00:55 -07:00
Shakker
e63e49b1b0
fix: prevent Bonjour probe retry loops ( #107710 )
...
Prevents duplicate Bonjour advertisement attempts by delegating probing, conflict resolution, retries, and interface republishing to ciao.
Related: #98448
Prepared head SHA: 4bd1638acf
Co-authored-by: Shakker <165377636+shakkernerd@users.noreply.github.com >
Reviewed-by: @shakkernerd
2026-07-14 19:28:47 +01:00
Peter Steinberger
ee416f0447
refactor(bonjour): trust ciao rejection handling
2026-07-14 05:45:37 -07:00
Peter Steinberger
25a18b2d8e
refactor(bonjour): use native ciao platform handling
2026-07-13 19:04:16 -07:00
Peter Steinberger
3982424daa
fix: main build passes strict checks ( #106772 )
...
* fix: restore main build checks
* chore: drop superseded main fixes
* fix: restore architecture and lint checks
* test: align runtime plugin install mocks
* style: format current main files
* test: assert transcript policy caching directly
* fix: deduplicate SQLite guardrail allowlist
2026-07-13 14:28:48 -07:00
Peter Steinberger
995c75baa0
fix(ci): restore current-main quality gates ( #106751 )
...
* fix(ci): restore Control UI quality gates
* fix(ci): repair dead export cleanup fallout
* fix(ci): repair latest main quality gates
* fix(ci): satisfy current-main gate contracts
* docs: format Cloud Workers guide
* test: isolate context lookup module
2026-07-13 13:54:03 -07:00
Peter Steinberger
faa0e1712a
refactor(bonjour): use ciao runtime contract
2026-07-13 11:35:48 -07:00
Peter Steinberger
218dcd815a
feat(tooling): enforce noUncheckedIndexedAccess in the extensions lane (NUIA phase 4) ( #105132 )
...
* fix(extensions): make indexed access explicit across channel plugins
Transport-payload-safe burn-down: malformed Telegram/Discord/QQ/LINE
and sibling channel input keeps existing skip paths; no synthesized
fields, no new throws in delivery loops. Zalo escape sentinels preserve
literal matches instead of undefined replacements.
* fix(extensions): make indexed access explicit across provider and memory plugins
Stream and model iteration, tool-block guards, capture guards, and
sparse accumulators; singleton model reads carry named invariants.
* fix(extensions): make indexed access explicit across tooling plugins, flip the extensions lane
Remaining plugins (oc-path, qa-lab, browser, logbook, and siblings) plus
the tsconfig.extensions.json flag flip. Cleanup: logbook sampleFrames
NaN index at max=1, QA retry clamp at non-positive attempts, dead Canvas
probe and OpenShell no-op slice removed, twitch test setup leak excluded
from the prod lane.
* refactor(plugin-sdk): expose expectDefined via a focused SDK subpath
Extensions imported @openclaw/normalization-core directly, crossing the
external-plugin packaging boundary (it only worked because the runtime
builder bundles undeclared workspace helpers). expect-runtime joins the
canonical entrypoints JSON, generated exports, API baseline, docs, and
subpath contract test; all 78 extension imports now use the SDK seam.
Two scanner-shaped locals renamed for review-bundle hygiene.
* chore(plugin-sdk): raise surface budgets for the expect-runtime subpath
One new entrypoint with one callable export, added intentionally as the
packaging-honest seam for extension invariant helpers.
2026-07-12 09:17:31 +01:00
Vincent Koc
33163d4273
refactor(plugins): localize private declarations ( #101406 )
2026-07-06 23:26:47 -07:00
Dallin Romney
8c5f45fc36
refactor(shared): consolidate provider and utility lazy loaders ( #98749 )
...
* refactor(shared): consolidate provider lazy loaders
* refactor(shared): leave enforcement to follow-up
2026-07-02 21:16:26 -07:00
Vincent Koc
7570831ee1
refactor(extensions): drop unused compatibility aliases
2026-06-19 12:08:51 +08:00
Peter Steinberger
2514980118
feat(matrix): handle voice preflight and threads ( #90415 )
...
* feat(matrix): handle voice preflight and threads
Co-authored-by: Frank Dierolf <frank_dierolf@web.de >
Co-authored-by: marc.wilson <marcwilson@gazasrv15i5.globaladvisors.biz >
* test(matrix): satisfy ci guards
* fix(matrix): preserve thread relations on edits
* chore: annotate deprecated compatibility aliases
* fix(matrix): include poll thread roots in reads
* test(matrix): enable audio preflight qa config
* test(matrix): make voice preflight QA mention deterministic
---------
Co-authored-by: Frank Dierolf <frank_dierolf@web.de >
Co-authored-by: marc.wilson <marcwilson@gazasrv15i5.globaladvisors.biz >
2026-06-05 08:49:35 -07:00
Peter Steinberger
4fa5092cdc
docs: document small extension sources
2026-06-04 21:02:07 -04:00
Vincent Koc
ecb30fece4
fix(ci): stabilize include permission checks
2026-06-04 07:35:25 -07:00
Peter Steinberger
2ad6314d72
docs: document small provider plugins
2026-06-04 07:20:32 -04:00
Peter Steinberger
27dde7a4d6
chore(lint): enable stricter error rules
2026-06-01 01:12:21 +01:00
Peter Steinberger
304e2c83c0
chore(lint): enable stricter oxlint rules
2026-05-31 18:59:02 +01:00
Vincent Koc
88c49f9e68
chore(deadcode): dedupe repeated helpers
2026-05-21 18:47:09 +08:00
Peter Steinberger
29653e4106
fix: harden Mac gateway transport selection
2026-05-18 04:06:17 +01:00
Shakker
5c56ac7efd
test: advertise bonjour warning checks
2026-05-12 21:26:42 +01:00
Peter Steinberger
730cbb356f
test: dedupe bonjour advertiser mock calls
2026-05-12 16:15:03 +01:00
Shakker
2a53725161
test: check bonjour warning messages
2026-05-11 15:44:25 +01:00
FullerStackDev
b8e9492086
fix(bonjour): back off probing watchdog repairs
2026-05-11 15:42:39 +01:00
Lior Balmas
0f8fc6bb61
fix(runtime): detect Fly Machines as containers
2026-05-11 13:06:49 +01:00
Peter Steinberger
e13808eb72
test: tighten bonjour advertiser warnings
2026-05-11 02:50:54 +01:00
Shakker
83390ad0d5
test: clear bonjour broad matchers
2026-05-10 16:47:49 +01:00
Peter Steinberger
1a08e77ded
test: tighten bonjour callback assertions
2026-05-09 06:15:09 +01:00
Peter Steinberger
948ba9e7cb
test: guard extension callback captures
2026-05-08 06:34:45 +01:00
Peter Steinberger
9ef37d1907
test: tighten assertions and harness coverage
2026-05-08 05:28:12 +01:00
Peter Steinberger
1ef85c7d4c
test: make suites safe without isolation ( #78834 )
...
* test: make suites safe without isolation
* fix: narrow auth profile credential types
* test: inject channel module loader factory locally
2026-05-07 08:43:29 +01:00
Peter Steinberger
9404a4ddcd
fix: stop bonjour stuck-announcing churn
2026-05-02 23:40:49 +01:00
Peter Steinberger
bf2711b40e
fix(gateway): cap channel startup fanout
2026-05-02 15:26:45 +01:00
Peter Steinberger
c39ca49c71
fix(bonjour): cap flapping advertiser restarts
2026-04-30 03:46:18 +01:00
Peter Steinberger
0487cc59f0
fix(bonjour): suppress ciao internal cancellations
...
(cherry picked from commit 27599d319e )
2026-04-29 00:59:56 +01:00
Peter Steinberger
d3683a61c5
fix(bonjour): recover from ciao cancellation
...
(cherry picked from commit c34ba97262 )
2026-04-29 00:49:41 +01:00
Vincent Koc
9a19d8b8ea
fix(bonjour): classify ciao IPv4 changed assertion
...
Classify ciao's IPv4 address changed assertion spelling in the Bonjour plugin and cover the exact upstream message.
2026-04-27 20:56:43 -07:00
SymbolStar
f53ec52e7d
fix(bonjour): raise stuck announcing threshold
...
Raise the Bonjour stuck-announcing watchdog threshold from 8s to 20s and align watchdog timer coverage so healthy 12-13s LAN announcements do not trigger false-positive advertiser teardown.
2026-04-27 20:44:08 -07:00
TinyClaw
fb5b46ae48
fix(bonjour): suppress ciao crash when networkInterfaces() is denied
...
Classify ciao interface-enumeration SystemErrors from restricted sandboxes and suppress mDNS advertising instead of letting the Gateway crash.
2026-04-27 17:30:43 -07:00
Peter Steinberger
e60905d754
fix: harden bonjour DNS label truncation ( #73022 )
2026-04-27 21:33:02 +01:00
Vincent Koc
16322d5cfc
fix(bonjour): harden DNS label truncation
2026-04-27 21:19:26 +01:00
luyao618
9ac0b7edbc
fix(bonjour): truncate mDNS service name and hostname to 63-byte DNS label limit
...
When the system hostname exceeds 63 bytes (common with Kubernetes pod
names), the @homebridge/ciao DNS label encoder throws an AssertionError
that crashes the gateway on startup.
Add truncateToDnsLabel() that safely truncates UTF-8 strings at byte
boundaries, applied to both the service instance name and hostname
before passing them to ciao.
Closes #37705
AI-assisted (built with Hermes orchestration).
2026-04-27 21:19:26 +01:00
Peter Steinberger
fa468d0c2d
fix(bonjour): default mdns host to system hostname
2026-04-27 11:35:19 +01:00
Peter Steinberger
276291d399
fix: hide bonjour Windows ARP shell probe
2026-04-27 09:08:40 +01:00
Peter Steinberger
989cfd1e33
fix(bonjour): auto-disable advertising in containers
2026-04-27 00:00:22 +01:00
Peter Steinberger
c9c0ab3a44
fix(bonjour): keep ciao failure handling extension-owned
2026-04-26 23:29:40 +01:00
Peter Steinberger
ddc2036956
fix: stabilize Parallels plugin smoke paths
2026-04-26 16:13:13 +01:00
Peter Steinberger
bd95baa4f7
fix(bonjour): suppress ciao process crashes
2026-04-26 10:47:36 +01:00
Peter Steinberger
ca0232ff0e
fix(bonjour): bound stuck advertiser restarts
2026-04-26 01:11:53 +01:00
Peter Steinberger
d9486c683b
fix: stabilize macos npm update smoke
2026-04-25 20:09:32 +01:00
Vincent Koc
cb4fc58547
feat(plugins): move Bonjour discovery into bundled plugin
...
* fix(deps): detect constant dynamic imports in ownership audit
* feat(plugins): move bonjour discovery into bundled plugin
* test(plugins): remove moved bonjour core tests
* fix(plugins): harden bonjour disable and console restore
* fix(plugins): split gateway discovery ids from services
* fix(plugins): harden bonjour advertiser shutdown
* fix(plugins): clean up bonjour split lint
2026-04-23 23:29:51 -07:00