mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-10-29 17:22:25 +01:00
- Reconcile conflict resolution in routes/editor_agent_routes.py and src/editor_agent_model.py - Enforce strict server-authorized endpoint resolution and reject client URL overrides - Enforce bearer-token privilege separation: delegated API tokens are capped at non-admin scope per src/tool_security.py and cannot inspect private base URLs or probe metadata - Preserve chat-scope authorization, missing-session 401 rejection, and owner-scoped browser bridge/SSE queues - Preserve administrator-disabled-tool denylist enforcement introduced by PR #6357 - Fix mobile toolbar flyout hit-testing and stacking context trapping on viewports <= 700px via scoped elevation and mask suppression - Stabilize project recovery test fixture by awaiting document draft quiescence prior to baseline capture
Browser End-to-End Tests
The photo editor release gate launches an isolated Odysseus server on port
7013 with a temporary SQLite database and disposable authenticated account.
npm install
npm run test:photo-editor:install
npm run test:photo-editor
Set PHOTO_EDITOR_E2E_PORT to use another port. Failure screenshots and traces
are written to test-results/photo-editor/. The server uses the repository
.venv automatically; set ODYSSEUS_TEST_PYTHON to another Python executable
when using a different environment layout.
The disposable account is created in the temporary data directory and exercises
owner-scoped draft and notification routes without using an existing account.
PHOTO_EDITOR_E2E_AUTH=0 selects the legacy unauthenticated configuration for
investigating it; offline-upgrade coverage requires the authenticated mode.