HERMES-GIELIE/api
webtecnica 02b5f885c8 fix(share): harden _embed_share_media with path allow-list + mime validation (#6174)
Embed local MEDIA: image refs as inline base64 at snapshot-build time,
gated by a workspace/attachment-root allow-list, 512KiB cap, image-MIME
allow-list, and magic-byte content validation. Everything else (traversal,
symlink-escape, file://, non-image, SVG, oversize) becomes a static
placeholder. Closes P0 #6174 (public shares no longer emit authenticated
/api/media requests for local paths).

Co-authored-by: webtecnica <webtecnica@users.noreply.github.com>
2026-07-23 01:21:59 +00:00
..
__init__.py
agent_health.py
agent_runtime.py fix(runtime): ignore in-memory agent module swaps 2026-07-16 22:28:35 +08:00
agent_sessions.py
auth.py
auth_oidc.py Release: OIDC allowlist whitespace fix (#6244, @webtecnica) (#6259) 2026-07-18 10:36:17 -07:00
background.py
background_process.py fix(wakeup): recover terminal process completions after restart (#6287) 2026-07-18 20:07:54 -07:00
clarify.py
commands.py
compression_anchor.py
compression_recovery.py
config.py stage: merge #5797 2026-07-22 18:45:24 +00:00
crash_visibility.py
dashboard_probe.py
extension_sidecar_auth.py feat(extensions): token-v1 proxy→sidecar authentication boundary (#6331) 2026-07-20 17:49:23 +00:00
extensions.py feat(extensions): token-v1 proxy→sidecar authentication boundary (#6331) 2026-07-20 17:49:23 +00:00
gateway_chat.py Release: #6389 stream-teardown leak fix (exp-v0.52.139) (#6416) 2026-07-22 04:09:49 +00:00
gateway_restart.py
gateway_watcher.py
goals.py
helpers.py Release: raster-data-URI redaction fast-path (#6311, @inch772) (#6367) 2026-07-20 16:30:04 +00:00
kanban_bridge.py
metering.py
models.py feat: stamp per-turn used model in footer stats (#6068) 2026-07-21 16:02:49 +00:00
oauth.py
office_documents.py
onboarding.py Cover onboarding with atomic config writes 2026-07-18 13:47:04 +02:00
passkeys.py
paths.py fix(config): restore read-only-target protection for atomic writes 2026-07-18 20:32:56 +02:00
plugin_providers.py
plugins.py
process_event_utils.py fix(wakeup): route async-delegation completions by origin + durable-claim delivery (#6283) 2026-07-19 02:26:55 +00:00
profiles.py stage: merge #5797 2026-07-22 18:45:24 +00:00
providers.py
request_diagnostics.py
rollback.py
route_approvals.py
route_session_list_cache.py
routes.py fix: harden terminal error worklog settlement 2026-07-21 15:05:17 +08:00
run_journal.py Release: run-journal summary cache (#6291, @sjungwon03) (#6355) 2026-07-20 09:12:32 +00:00
runner_client.py
runtime_adapter.py
session_discoverability.py
session_events.py
session_export_html.py
session_lifecycle.py
session_ops.py fix: preserve lazy alignment semantics 2026-07-17 15:36:55 -06:00
session_recovery.py
shares.py fix(share): harden _embed_share_media with path allow-list + mime validation (#6174) 2026-07-23 01:21:59 +00:00
skill_usage.py
sse_chunked.py
startup.py
state_sync.py
streaming.py stage: merge #6113 (per-turn used-model chip in transparent footer) 2026-07-22 22:13:08 +00:00
system_health.py
terminal.py Release: broadcast terminal output to every viewer (#5836, @ai-ag2026) (#6340) 2026-07-19 22:08:29 +00:00
todo_state.py
turn_journal.py
updates.py Release: pip-installable packaging metadata (#6337, @rodboev) (#6344) 2026-07-20 02:17:52 +00:00
upload.py
usage.py
webui_session_db.py
workspace.py
workspace_git.py
worktrees.py