dependabot[bot]
c06c29b716
chore(deps): bump the actions group across 1 directory with 13 updates
...
Bumps the actions group with 13 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [actions/setup-python](https://github.com/actions/setup-python ) | `7.0.0` | `7.1.0` |
| [actions/setup-node](https://github.com/actions/setup-node ) | `7.0.0` | `7.1.0` |
| [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv ) | `10.2.0` | `10.3.2` |
| [github/codeql-action/init](https://github.com/github/codeql-action ) | `4.37.7` | `4.39.1` |
| [github/codeql-action/analyze](https://github.com/github/codeql-action ) | `4.37.7` | `4.39.1` |
| [hadolint/hadolint-action](https://github.com/hadolint/hadolint-action ) | `3.4.0` | `3.5.0` |
| [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action ) | `4.3.0` | `4.4.1` |
| [docker/build-push-action](https://github.com/docker/build-push-action ) | `7.3.0` | `7.4.0` |
| [github/codeql-action/upload-sarif](https://github.com/github/codeql-action ) | `4.37.7` | `4.39.1` |
| [actions/deploy-pages](https://github.com/actions/deploy-pages ) | `5.0.0` | `5.0.1` |
| [docker/login-action](https://github.com/docker/login-action ) | `4.6.0` | `4.7.0` |
| [actions/upload-artifact](https://github.com/actions/upload-artifact ) | `7.0.1` | `7.0.2` |
| [actions/download-artifact](https://github.com/actions/download-artifact ) | `8.0.1` | `8.0.2` |
Updates `actions/setup-python` from 7.0.0 to 7.1.0
- [Release notes](https://github.com/actions/setup-python/releases )
- [Commits](https://github.com/actions/setup-python/compare/5fda3b95a4ea91299a34e894583c3862153e4b97...6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 )
Updates `actions/setup-node` from 7.0.0 to 7.1.0
- [Release notes](https://github.com/actions/setup-node/releases )
- [Commits](https://github.com/actions/setup-node/compare/820762786026740c76f36085b0efc47a31fe5020...949feb2413d6458794dcd2491c4babbbce0c15c1 )
Updates `astral-sh/setup-uv` from 10.2.0 to 10.3.2
- [Release notes](https://github.com/astral-sh/setup-uv/releases )
- [Commits](https://github.com/astral-sh/setup-uv/compare/c18668ad3cf93ea998bef934396af7bb5c839dc7...07a047e608db84b3d8c06cd9a7c7dcc9c355c18e )
Updates `github/codeql-action/init` from 4.37.7 to 4.39.1
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](https://github.com/github/codeql-action/compare/ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd...9b3254085494b55a0f7c4c2b3d2d52cc712ce370 )
Updates `github/codeql-action/analyze` from 4.37.7 to 4.39.1
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](https://github.com/github/codeql-action/compare/ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd...9b3254085494b55a0f7c4c2b3d2d52cc712ce370 )
Updates `hadolint/hadolint-action` from 3.4.0 to 3.5.0
- [Release notes](https://github.com/hadolint/hadolint-action/releases )
- [Commits](https://github.com/hadolint/hadolint-action/compare/2a66e89f53d0771bb131a7fa31f3136336094aa6...06be81baf89a55ffd0e24b8f04a4185738dd3387 )
Updates `docker/setup-buildx-action` from 4.3.0 to 4.4.1
- [Release notes](https://github.com/docker/setup-buildx-action/releases )
- [Commits](https://github.com/docker/setup-buildx-action/compare/37fe631027851001ddb9b187196cc803df7f5f0e...f87e5991a6d7451dcb8d9637bfbc97413f497069 )
Updates `docker/build-push-action` from 7.3.0 to 7.4.0
- [Release notes](https://github.com/docker/build-push-action/releases )
- [Commits](https://github.com/docker/build-push-action/compare/53b7df96c91f9c12dcc8a07bcb9ccacbed38856a...c3c9e263c25d99ce0380d002d59b67737d91b0dc )
Updates `github/codeql-action/upload-sarif` from 4.37.7 to 4.39.1
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](https://github.com/github/codeql-action/compare/ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd...9b3254085494b55a0f7c4c2b3d2d52cc712ce370 )
Updates `actions/deploy-pages` from 5.0.0 to 5.0.1
- [Release notes](https://github.com/actions/deploy-pages/releases )
- [Commits](https://github.com/actions/deploy-pages/compare/cd2ce8fcbc39b97be8ca5fce6e763baed58fa128...368f82528645a54fb793d4d04e342629a3f51346 )
Updates `docker/login-action` from 4.6.0 to 4.7.0
- [Release notes](https://github.com/docker/login-action/releases )
- [Commits](https://github.com/docker/login-action/compare/dbcb813823bdd20940b903addbd779551569679f...81c6f93d4bc991e510b342a00b419b3bb4efc5c6 )
Updates `actions/upload-artifact` from 7.0.1 to 7.0.2
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](https://github.com/actions/upload-artifact/compare/043fb46d1a93c77aae656e7c1c64a875d1fc6a0a...cf430e030ddbb5b0abf93d22962f4752f3646cd9 )
Updates `actions/download-artifact` from 8.0.1 to 8.0.2
- [Release notes](https://github.com/actions/download-artifact/releases )
- [Commits](https://github.com/actions/download-artifact/compare/3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c...9000827ccba6bdab643e8b6fd33ac0654aef8333 )
---
updated-dependencies:
- dependency-name: actions/setup-python
dependency-version: 7.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: actions
- dependency-name: actions/setup-node
dependency-version: 7.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: actions
- dependency-name: astral-sh/setup-uv
dependency-version: 10.3.2
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: actions
- dependency-name: github/codeql-action/init
dependency-version: 4.39.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: actions
- dependency-name: github/codeql-action/analyze
dependency-version: 4.39.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: actions
- dependency-name: hadolint/hadolint-action
dependency-version: 3.5.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: actions
- dependency-name: docker/setup-buildx-action
dependency-version: 4.4.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: actions
- dependency-name: docker/build-push-action
dependency-version: 7.4.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: actions
- dependency-name: github/codeql-action/upload-sarif
dependency-version: 4.39.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: actions
- dependency-name: actions/deploy-pages
dependency-version: 5.0.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: actions
- dependency-name: docker/login-action
dependency-version: 4.7.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: actions
- dependency-name: actions/upload-artifact
dependency-version: 7.0.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: actions
- dependency-name: actions/download-artifact
dependency-version: 8.0.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: actions
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-10-29 17:41:48 +00:00
RaresKeY
8b8fc62449
fix(docker): require the patched Debian Brotli decoder ( #6956 )
...
* fix(docker): require the patched Debian Brotli decoder
Refresh the signed Debian native Brotli package in a shared build-stage base and fail builds below the security backport floor. Verify the actual selected library, native fix marker, valid decoding, and distro Node linkage before accepting the runtime.
* fix(docker): guard HTTPS trust and accept Bookworm Brotli
Check the inherited system CA store before the shared base makes its first HTTPS package request. Accept the exact fixed Debian 12 marker alongside Debian 13 while retaining package floors, decoder ownership, and valid decoding controls.
* fix(docker): preserve Brotli gate diagnostics
2026-10-29 15:05:58 +01:00
Alexandre Teixeira
0f996f58da
Merge pull request #6972 from odysseus-dev/test/env-reference-cli-fixture-performance
...
test: isolate environment-reference CLI state transitions
2026-10-29 10:31:08 +00:00
Alexandre Teixeira
18329268b0
Merge pull request #6974 from odysseus-dev/test/import-stub-guard-snapshot-performance
...
test: avoid tuple-list allocation in the import-stub guard
2026-10-29 10:30:50 +00:00
Alexandre Teixeira
6cc98f34b8
Merge pull request #6740 from odysseus-dev/codex/review-7011-preview-ui-20261015
...
fix(ui): integrate streaming, model picker and Notes updates
2026-10-29 10:29:51 +00:00
Alexandre Teixeira
c493a66101
Merge pull request #6960 from odysseus-dev/test/remove-duplicate-editor-cache-check
...
test: remove duplicate editor cache-name check
2026-10-29 10:28:06 +00:00
Alexandre Teixeira
d5949c0286
Merge pull request #6961 from odysseus-dev/test/restore-regression-test-sensitivity
...
test: restore active-document and owner-isolation sensitivity
2026-10-29 10:26:18 +00:00
Alexandre Teixeira
9ec897d947
Merge pull request #6964 from odysseus-dev/test/imap-concurrent-delete-regression
...
test: simulate concurrent IMAP deletion at the protocol boundary
2026-10-29 10:25:48 +00:00
Alexandre Teixeira
9257f0e6d0
Merge pull request #6965 from odysseus-dev/test/admin-route-authorization-regressions
...
test: enforce behavioral admin authorization on listings and diagnostics
2026-10-29 10:25:36 +00:00
Alexandre Teixeira
a334a21d57
Merge pull request #6967 from odysseus-dev/test/chat-document-owner-context
...
test: protect chat document context owner boundaries
2026-10-29 10:24:53 +00:00
Alexandre Teixeira
87ef52f7cc
test: avoid tuple-list allocation in the import-stub guard
2026-10-29 08:54:46 +00:00
Alexandre Teixeira
25617a8c10
test: isolate environment-reference CLI state transitions
2026-10-29 08:44:19 +00:00
Alexandre Teixeira
4992cc620f
test: protect chat document context owner boundaries
2026-10-29 02:09:37 +00:00
Alexandre Teixeira
59cca6b915
fix(upload): canonicalize confinement on symlinked upload roots
2026-10-29 02:02:47 +00:00
Alexandre Teixeira
1ddda10716
test: exercise real admin gates before listing data
2026-10-29 01:58:21 +00:00
Alexandre Teixeira
958848f9f8
test: interleave concurrent IMAP deletion before expunge
2026-10-29 01:51:41 +00:00
Alexandre Teixeira
571ac09cea
fix(security): sanitize file_id and enforce strict prefix confinement on upload paths
2026-10-29 01:39:41 +00:00
Alexandre Teixeira
f979e5602f
fix(upload,sw): sanitize and confine upload paths and align service worker precache token
2026-10-29 01:35:07 +00:00
Alexandre Teixeira
0f95032177
test: restore active-document and owner-isolation sensitivity
2026-10-29 01:29:04 +00:00
Alexandre Teixeira
b3e2e628ab
fix(upload,ui): confine thumbnail paths and align stylesheet cache-bust token
2026-10-29 01:25:07 +00:00
Alexandre Teixeira
f1a45e85c5
test: remove duplicate editor cache-name assertion
2026-10-29 01:19:32 +00:00
Alexandre Teixeira
f843a3dc01
merge(dev): integrate latest upstream dev (PR #6498 omit temperature from subscription requests)
2026-10-29 01:12:31 +00:00
Alexandre Teixeira
72ba37af6b
merge(dev): integrate reviewed preview UI changes
2026-10-29 01:12:08 +00:00
Raul Juarez and Raul
5bf4524618
fix(chatgpt): omit temperature from subscription requests ( #6498 )
...
Co-authored-by: Raul <9117159+raultcj@users.noreply.github.com >
2026-10-29 01:34:52 +01:00
Alexandre Teixeira
1a7c79946b
Merge pull request #6741 from odysseus-dev/codex/review-7011-photo-editor-20261015
...
feat(editor): integrate layer tools, document tabs and editor UI
2026-10-28 21:27:53 +00:00
Alexandre Teixeira
6d102a213f
fix(security): confine teardown paths and avoid interpolating exception data in logs
...
- routes/gallery/gallery_routes.py: use stable diagnostic log message without
interpolating raw exception, resolver details, tokens, or destination strings.
- tests/e2e/teardown.js: remove environment-variable path overrides from production
code, strictly confine test options and temp directories, and prevent arbitrary
directory cleanup.
- Add regression tests covering non-leakage of synthetic tokens/queries/exceptions
into logs and responses, and path confinement during teardown.
2026-10-28 21:14:43 +00:00
Alexandre Teixeira
de8f151632
fix(security): harden trace teardown and gallery error responses
...
- CodeQL #1202 (tests/e2e/teardown.js): replace execSync shell execution with
execFileSync, passing python executable and sanitizer arguments separately with
shell: false. Preserve ODYSSEUS_TEST_PYTHON support, timeout handling, and
fail-closed deletion.
- CodeQL #1203 (routes/gallery/gallery_routes.py): prevent exception information
exposure in /api/image/edit-progress by returning a generic rejection response
without leaking internal hostnames, IPs, resolver errors, or credentials.
- Add regression tests covering paths with spaces, metacharacters, synthetic command
substitutions, process failure modes, fail-closed artifact purge, and SSRF
rejection confidentiality.
2026-10-28 21:10:12 +00:00
Alexandre Teixeira
cce5892eeb
test(css): update approved photo editor visual baseline
...
Record the Product Owner-approved 13 element changes across 48 page/variant
combinations for PR #6741 . The regenerated baseline exactly matches the
visually reviewed candidate; retain the upstream PR #6840 sidebar styles.
Validation: 49 CSS snapshot/layout tests and 26 frontend/mobile browser tests.
Visual acceptance evidence remains outside the repository.
2026-10-28 20:56:09 +00:00
Alexandre Teixeira
f4e3ae6e68
test(security): allowlist synthetic dummy api key in trace sanitizer test fixture
...
- Add gitleaks allowlist rule for synthetic test string in tests/test_trace_artifact_sanitizer.py
- Resolves Gitleaks generic-api-key false positive on GitHub Actions CI
2026-10-28 19:52:10 +00:00
Alexandre Teixeira
671cbd79ac
merge(dev): integrate latest upstream dev (PR #6840 sidebar animations)
...
- Merge upstream/dev at 0116f0a62b
- Incorporate upstream sidebar toggle animation and auto-collapse measurement fixes
- Preserve upstream CSS snapshot baseline in tests/css_snapshot/baseline.json
- Retain all PR #6741 photo-editor features, security controls, and mobile fixes
2026-10-28 19:30:57 +00:00
Alexandre Teixeira
2e1c2a343a
merge(dev): reconcile photo editor security and upstream changes
...
- 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
2026-10-28 19:30:08 +00:00
Alexandre Teixeira
0116f0a62b
Merge pull request #6840 from eesoymilk/fix/sidebar-toggle-animation
...
fix(sidebar): animate the sidebar toggle instead of snapping
2026-10-28 18:15:15 +00:00
Alexandre Teixeira
c237a1cb9c
feat(editor): harden photo editor security and interactions
2026-10-28 17:37:10 +00:00
57a1859f08
fix(security): stop the agent from re-enabling tools an admin disabled ( #6357 )
...
* fix(security): stop the agent from re-enabling tools an admin disabled
settings.json:disabled_tools is the only global tool-permission boundary
the Settings > Agent Tools panel offers, yet manage_settings exposed an
`enable_tool` action that removed entries from it. Any agent turn could
undo the admin's restriction, and because the agent reads untrusted web
pages, emails and documents, a planted instruction could re-enable bash,
email or any other tool that had been switched off.
The denylist can now only be narrowed from a turn: `disable_tool` and
`list_tools` keep working, `enable_tool` is refused with a message that
points the user to Settings > Agent Tools, and the action is dropped from
the function schema, the prompt rule and the tool index so models are not
steered into calling it. The free-form set/delete/reset actions were
already unable to reach `disabled_tools`; a test now pins that.
Fixes #5523
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01UAB5sz5srMKR7rbeDFtdMH
* fix(settings): close internal API tool-policy bypass
Refuse global tool-policy replacement from internal-token requests even when an admin owner is impersonated, and block the same write in app_api. Route explicit image re-enable requests to list_tools with a Settings pointer. Keep disabled_tools outside general settings actions even if a default is added later. Remove the retired action from capability metadata. Validation: 573 focused tests passed; the running app rejected handler, generic API and encoded-path internal HTTP attempts while preserving human administrator controls.
* fix(mcp): block agent writes to per-server MCP tool policy
PATCH /api/mcp/servers/{id}/tools only checked require_admin, which accepts
the internal tool token, and app_api still forwarded it, so an agent turn
could re-enable MCP tools an admin had switched off. Refuse the internal
token on that route (same check as POST /api/tools) and add PATCH
/api/mcp/servers to the app_api blocklist, with regression tests.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01BCbhLNC7mJsunxqfwwshqn
---------
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com >
Co-authored-by: Afonso Junior <chatgpt@yack.com.br >
2026-10-27 22:50:35 -06:00
Alexandre Teixeira
a646b59110
Merge pull request #6738 from odysseus-dev/codex/review-7011-harness-20261015
...
feat(harness): integrate Ajax routing, email context and memory updates
2026-10-28 01:09:22 +00:00
Alexandre Teixeira
4079f12ae6
fix(editor): resolve preview authorization and CI regressions
2026-10-28 00:31:42 +00:00
Alexandre Teixeira
091364f7e6
Merge branch 'dev' into review/pewds-pr6738-terra-20261027
...
Integrate PR #6739 foundation (backend security, bridge hardening, Python 3.11 test fixture correction) with PR #6738 remediations.
- Reconcile routes/email/email_routes.py harmonizing _LIST_LOCK and _LIST_EPOCH with #6738 cache invalidation and thread-safe mutation.
- Preserve editor-session validation, legacy-browser tool restrictions, image-tool authorization, and email cache concurrency invariants.
2026-10-27 18:12:05 +00:00
Alexandre Teixeira
0133de6f0e
feat(security): apply audited PR #6738 remediations and test hardening
...
- Enforce vision probe SSRF safe local host validation, SafeProbeBackend TOCTOU elimination, and session owner authorization
- Authorize session titling endpoints against registered owner configuration
- Sanitize sensitive metadata logging from agent loop debug logs
- Add async non-blocking execution for spec router tools and thinking decisions
- Harden email cache invalidation fencing and thread-safe mutation
- Add regression test suites for legacy browser authority, spec contracts, spec router request scoping, and task MCP delivery
2026-10-27 17:25:25 +00:00
Alexandre Teixeira
339c6886cb
Merge pull request #6739 from odysseus-dev/codex/review-7011-editor-server-20261015
...
feat(editor): integrate planning, image operations and model selection
2026-10-27 16:35:16 +00:00
Alexandre Teixeira
25c2fad3e1
test(editor): preserve ASGI event loop across bridge requests
2026-10-27 16:20:08 +00:00
Alexandre Teixeira
d105fbde95
fix(editor): harden bridge isolation and completion semantics
2026-10-27 15:36:17 +00:00
pewdiepie-archdaemon
da8ba69c74
Keep streamed-chat module identity consistently cache-busted
2026-10-26 16:57:01 +00:00
pewdiepie-archdaemon
0b8176b11e
Keep streamed-chat module identity consistently cache-busted
2026-10-26 16:57:01 +00:00
pewdiepie-archdaemon
3246ae5d9c
Keep streamed-chat module identity consistently cache-busted
2026-10-26 16:57:01 +00:00
pewdiepie-archdaemon
03baea7700
Preserve owner-scoped compaction and the web-only routing boundary
2026-10-26 16:54:10 +00:00
pewdiepie-archdaemon
020fe02aa0
Scope backend checks to backend behavior and retain ownership regression coverage
2026-10-26 16:53:52 +00:00
pewdiepie-archdaemon
375e263419
Merge backend ownership checks and test ownership cleanup
2026-10-26 16:53:52 +00:00
pewdiepie-archdaemon
8865c975aa
Keep chat-editor integration and shutdown checks with the runtime review
2026-10-26 16:53:52 +00:00
pewdiepie-archdaemon
a58a5e6632
Merge backend ownership checks and test ownership cleanup
2026-10-26 16:53:52 +00:00
pewdiepie-archdaemon
106b1e7c86
Verify saved action names and steps cannot inject HTML
2026-10-26 16:50:09 +00:00