fix(browser): honor profile attachOnly for loopback CDP#31429
fix(browser): honor profile attachOnly for loopback CDP#31429vincentkoc merged 16 commits intoopenclaw:mainfrom
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2fddb4e5bc
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Greptile SummaryThis PR adds profile-level Key changes:
Implementation quality:
Confidence Score: 5/5
Last reviewed commit: 2fddb4e |
|
Addressed this review point in latest commits:
Validation run:
|
* main: (212 commits) fix(ci): annotate feishu hoisted mock type fix(ci): align strict nullable typing across channels and ui refactor(tests): dedupe macos ipc smoke setup blocks refactor(tests): dedupe ios gateway and deeplink fixtures refactor(tests): dedupe openclawkit chat test helpers test(runtime): trim timer-heavy regression suites test(config): reuse fixtures for faster validation test(cli): reduce update/program suite overhead refactor(tests): dedupe ios defaults and setup-code helpers refactor(tests): dedupe swift gateway and chat fixtures Diffs: extend image quality configs and add PDF as a format option (openclaw#31342) refactor(scripts): dedupe installer CLI verification refactor(extensions): dedupe channel config, onboarding, and monitors refactor(core): extract shared usage, auth, and display helpers refactor(ui): dedupe state, views, and usage helpers refactor(scripts): dedupe guard checks and smoke helpers fix(browser): honor profile attachOnly for loopback CDP (openclaw#31429) [AI-assisted] test: fix typing and test fixture issues (openclaw#31444) chore(tsgo/lint): fix CI errors fix(browser): support configurable CDP auto-port range start (openclaw#31352) ...
* config(browser): allow profile attachOnly field * config(schema): accept profile attachOnly * browser(config): resolve per-profile attachOnly * browser(runtime): honor profile attachOnly checks * browser(routes): expose profile attachOnly in status * config(labels): add browser profile attachOnly label * config(help): document browser profile attachOnly * test(config): cover profile attachOnly resolution * test(browser): cover profile attachOnly runtime path * test(config): include profile attachOnly help target * changelog: note profile attachOnly override * browser(runtime): prioritize attachOnly over loopback ownership error * test(browser): cover attachOnly ws-failure ownership path
* config(browser): allow profile attachOnly field * config(schema): accept profile attachOnly * browser(config): resolve per-profile attachOnly * browser(runtime): honor profile attachOnly checks * browser(routes): expose profile attachOnly in status * config(labels): add browser profile attachOnly label * config(help): document browser profile attachOnly * test(config): cover profile attachOnly resolution * test(browser): cover profile attachOnly runtime path * test(config): include profile attachOnly help target * changelog: note profile attachOnly override * browser(runtime): prioritize attachOnly over loopback ownership error * test(browser): cover attachOnly ws-failure ownership path
* config(browser): allow profile attachOnly field * config(schema): accept profile attachOnly * browser(config): resolve per-profile attachOnly * browser(runtime): honor profile attachOnly checks * browser(routes): expose profile attachOnly in status * config(labels): add browser profile attachOnly label * config(help): document browser profile attachOnly * test(config): cover profile attachOnly resolution * test(browser): cover profile attachOnly runtime path * test(config): include profile attachOnly help target * changelog: note profile attachOnly override * browser(runtime): prioritize attachOnly over loopback ownership error * test(browser): cover attachOnly ws-failure ownership path
* config(browser): allow profile attachOnly field * config(schema): accept profile attachOnly * browser(config): resolve per-profile attachOnly * browser(runtime): honor profile attachOnly checks * browser(routes): expose profile attachOnly in status * config(labels): add browser profile attachOnly label * config(help): document browser profile attachOnly * test(config): cover profile attachOnly resolution * test(browser): cover profile attachOnly runtime path * test(config): include profile attachOnly help target * changelog: note profile attachOnly override * browser(runtime): prioritize attachOnly over loopback ownership error * test(browser): cover attachOnly ws-failure ownership path
* config(browser): allow profile attachOnly field * config(schema): accept profile attachOnly * browser(config): resolve per-profile attachOnly * browser(runtime): honor profile attachOnly checks * browser(routes): expose profile attachOnly in status * config(labels): add browser profile attachOnly label * config(help): document browser profile attachOnly * test(config): cover profile attachOnly resolution * test(browser): cover profile attachOnly runtime path * test(config): include profile attachOnly help target * changelog: note profile attachOnly override * browser(runtime): prioritize attachOnly over loopback ownership error * test(browser): cover attachOnly ws-failure ownership path
Summary
Describe the problem and fix in 2–5 bullets:
attachOnlywas only read from top-levelbrowser.attachOnly; profile-levelbrowser.profiles.<name>.attachOnlywas ignored.Port <n> is already in use.attachOnlyto profile schema/types, resolved per-profile attach-only with fallback to global, and switched browser availability checks/status output to use profile-level resolved value.Change Type (select all)
Scope (select all touched areas)
Linked Issue/PR
User-visible / Behavior Changes
browser.profiles.<name>.attachOnlyis now supported and takes precedence over top-levelbrowser.attachOnlyfor that profile.Security Impact (required)
No)No)No)No)No)Yes, explain risk + mitigation:Repro + Verification
Environment
cdpUrlandattachOnly: trueSteps
browser.attachOnly=falseandbrowser.profiles.remote.attachOnly=truewith loopbackcdpUrl.Expected
Actual
Evidence
Attach at least one:
Human Verification (required)
What you personally verified (not just CI), and how:
Compatibility / Migration
Yes)No)No)Failure Recovery (if this breaks)
attachOnlyand use top-levelbrowser.attachOnlyonly.attachOnly: true.Risks and Mitigations
List only real risks for this PR. Add/remove entries as needed. If none, write
None.browser.profiles.<name>.attachOnlysilently may change behavior now.