feat: integrate PR #47, PR #27, PR #26, profile health & read-only extension inventory - #1
Merged
Merged
Conversation
Match the backend's deterministic field order and place newer profiles first for creation-time ties. Avoid repeated grouping work and expose group counts without changing accessible group names. Co-Authored-By: Codex <noreply@openai.com>
Keep mobile profile selectors, grids, and fullscreen sessions in the same deterministic order as desktop. Show saved harness preferences only through the verified Codex Computer Use execution boundary. Co-Authored-By: Codex <noreply@openai.com>
Add projects, nested folders, pins, accent colors, and saved harness preferences across the profile schema, migrations, API, and form. Keep authorization sandbox-scoped while exposing redacted organization context to administrators. Co-Authored-By: Codex <noreply@openai.com>
Co-Authored-By: Codex <noreply@openai.com>
Co-Authored-By: Codex <noreply@openai.com>
…API endpoint, and CLI inspection script Signed-off-by: Martins Agent <hans@servas.ai>
Expose administrator-only launch/VNC counters with explicit unavailable timings so operators can inspect runtime health without mobile clutter or leaking ports, paths, URLs, or secrets. Signed-off-by: Martins Agent <hans@servas.ai>
Administrators can move or pin many profiles in one request, and browser launch no longer NameErrors after the live-diagnostics instrumentation. Signed-off-by: Martins Agent <hans@servas.ai>
Capture the restored VCVM proxychecker path, Manager measured proxy enrichment, and bulk organization acceptance after redeploy. Signed-off-by: Martins Agent <hans@servas.ai>
Introduce a redacted VCVM proxy pool with Proxy-Checker checks and geo-aligned auto profile creation, plus a compact Browser-Use desktop shell for projects, harness choice, and mobile-parity settings. Co-authored-by: Cursor <cursoragent@cursor.com>
Ship agent/extension control APIs that reuse profile open-links for CDP/VNC fullscreen URLs, plus low-latency /session/{id}/live screencast and UI/workspace wiring for Browser-Use and profile sync.
Co-authored-by: Cursor <cursoragent@cursor.com>
Copy config/ into the Docker image so /api/extension/defaults is non-empty on VCVM, mount EXTENSION_CATALOG_DIR for harvested Comet extensions, and surface FPS/RTT from /live-metrics in the Live Dev panel. Co-authored-by: Cursor <cursoragent@cursor.com>
Cloak Chromium stalls after one Page.startScreencast frame; prefer page-target WS and switch to captureScreenshot polling so Live Dev keeps reporting fresh FPS/RTT. Ensure extension-catalog dir on deploy. Co-authored-by: Cursor <cursoragent@cursor.com>
Cloak/Chromium only emits screencast frames when the page dirties, so static pages stalled after one frame and fell back to ~6 fps screenshot polling. Inject a canvas/rAF pulse (with keepalive), ack frames first, and keep captureScreenshot as a true stall fallback only. Co-authored-by: Cursor <cursoragent@cursor.com>
Expose open-links-compatible top-level CDP/VNC URLs on extension session open, parse structured proxychecker reasons without inventing authenticity, wire the VCVM checker default, and revoke agents immediately via DELETE. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR integrates upstream PRs CloakHQ#47, #27, and #26 into Martin-Hausleitner/CloakBrowser-Manager, consolidates the mobile VNC workspace & profile health release pipeline, and advances the project vision with a read-only extension inventory system and CLI tool.
Integrated Upstream PRs
fix: constrain browser window to VNC framebuffer): Implements_fit_window_to_vnc()using CDPBrowser.getWindowForTargetandBrowser.setWindowBoundsto keep native browser windows inside framebuffer boundaries. Includes regression testtest_fit_window_to_vnc_moves_oversized_window_back_inside_framebuffer.Make documented local backend startup work): Supports both package imports and standaloneuvicorn main:appexecution frombackend/, with.datafallback for local non-Docker development.feat: added field for search engine selection): Adds defaultsearch_engineper-profile selection (Google, Bing, DuckDuckGo) across DB schema, Pydantic models, FastAPI endpoints, and React forms.Additional Roadmap & Vision Features
backend/extensions.py) to parse--load-extensionflags, calculate trust states (valid,untrusted_manifest,missing_manifest,invalid_path), and extract metadata safely without executing code.GET /api/profiles/{profile_id}/extensions.scripts/inspect_extensions.py.codex-computer-usebridge.Test Verification
pytest backend/)npm test -- --runinfrontend/)python3 -m pytest scripts/)npm run buildinfrontend/)Vision Context
Maintains strict fork security boundaries, fail-closed agent capabilities, mobile VNC UX guidelines, and evidence-driven roadmap tracking in
docs/GOAL-ACCEPTANCE-MATRIX-2026-07-22.mdandREADME.md.