Lockfile-only update of three transitive dependencies of the Remotion
render sandbox (docker/sandbox/remotion). All new versions sit inside the
ranges their parents already declare, so package.json is unchanged and no
overrides are needed.
fast-uri 3.1.5 -> 3.1.8 (via webpack > schema-utils > ajv)
- GHSA-hrr3-gc8f-f4qj, GHSA-qw65-cvwx-89v3, GHSA-5jgf-p345-68v8,
GHSA-f65p-4m7j-42xc, GHSA-fph4-wmhf-6fwf, GHSA-jqff-g426-hqxp
js-yaml 4.3.1 -> 4.3.2 (via @svgr/core > cosmiconfig)
- GHSA-2883-xcg3-v3hh
undici 6.28.0 -> 6.28.1 (via markmap-lib > cheerio)
- GHSA-r53p-7pc4-xj5r, GHSA-rfgv-xxqx-mfg5, GHSA-3wwx-pv8p-q78v
undici is held at 6.28.1 rather than 6.29.0, which was published less
than seven days ago. Regenerated with npm 11 so the existing libc and
peer metadata in the lockfile is kept; lockfileVersion stays 3.
Nothing deferred.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The trial check refused 20 hand-picked domains by exact match, so trial
spam walked around it with any other throwaway provider, any subdomain
of a listed one, or a punycode spelling.
Refuse the community disposable-email-domains list (~9.2k domains, CC0),
installed as its official PyPI package and pinned in uv.lock, plus the
three hand-picked domains it lacks. Match every parent domain short of
the TLD, as upstream requires, and look up the punycode form, since
EmailStr hands the route Unicode. Purchases and resends are unaffected.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KrM98FAv8YT3boAVJpf6PW
Comments, docstrings and .env.example notes that cited moved or
deleted plan files now cite their new homes under docs/.
The three llama.cpp checksums in fetch-llamacpp.mjs and a URL-format
example in the backend config are marked `pragma: allowlist secret`.
Touching those files puts them in front of detect-secrets, and both
are false positives.
Co-authored-by: Cursor <cursoragent@cursor.com>
Clear the SEO skill dump and shipped-phase plans so they can be rebuilt later. Leave Azure compose (SearxNG, sandbox, zero-cache) and license/export contracts untouched.
A trial is handed to an email address, not to an installation, so the email now opens with an install link built from NEXT_FRONTEND_URL. Deployments without a portal keep the original steps rather than printing a dead link.
Trial length moves to 30 days so the week before the first plugin ships does not eat half of it. The number is read from LICENSE_TRIAL_DAYS everywhere, including the subject line and the pricing copy, which previously hardcoded 14.
policies is {name: id}, so joining it yielded the names -- which the caller
already knew -- and dropped the ids, which are what KEYGEN_POLICY_* has to be
set to. Recovering them meant minting a second admin token and querying, and
the script's own warning is that re-running creates duplicate policies.
Coolify has no field for a container command, so the worker needs a Dockerfile to set CMD. The web file keeps both processes pinned to the same tag in one place.
Coolify has no field for a container command, so the worker needs a Dockerfile to set CMD. The web file keeps both processes pinned to the same tag in one place.
- Revised the license file format to reflect the use of self-hosted Keygen CE.
- Clarified the configuration requirements for Keygen integration.
- Updated portal documentation to specify the handling of license routes and delivery processes.
- Added notes on the implications of self-hosting Keygen, including testing and contract management.
LICENSE_MAIL_TRANSPORT selects how mail leaves the process (null, console, smtp), never which vendor delivers it: every provider exposes SMTP, so changing company means editing the connection strings and leaving this alone.
Reconcile the observability module refactor (god-files split into
core/signals/setup/domains) with 86 upstream commits that kept evolving the
now-deleted otel.py / metrics.py / bootstrap.py.
Ported upstream's net-new telemetry into the new layout instead of dropping it:
- drift-sweep + per-workspace drift-check spans and git-remote
connect/push/sweep spans + counters -> domains/knowledge_store
- video render/admission/segment/verify metrics -> domains/media
- OTEL_EXPORTER_OTLP_LOGS_ENDPOINT added to core.config.is_configured
(log export itself already lived in setup/providers)
Re-swept upstream call-sites that referenced the deleted modules onto domain
imports (remote facade + push task, deliverables sandbox, artifact
verification, drift monitor) and updated the two upstream tests that patched
the old module attributes. Deleted otel.py/metrics.py/bootstrap.py and the
stale test_otel.py.
Verified: 4688 tests collect with zero import errors; observability, sandbox,
artifacts, and knowledge-store-remote unit suites pass. The drift-monitor
integration test needs a live Postgres and is unaffected by this merge.
Drop build_llm_callback_handler from the chat orchestrators and anonymous
route, delete POSTHOG_AI_PRIVACY_MODE, and default LANGSMITH_TRACING off
(dev-only). The anonymous tier gains OtelSpanMiddleware so its LLM calls still
emit gen_ai.* to LGTM. PostHog now carries product analytics only.
Touching docker-compose.e2e.yml at all makes the Security Scan hook read the
whole file, and .secrets.baseline is empty, so ten lines of obviously fake
values fail the gate: a container-local postgres DSN, the e2e-deny-real-call
sentinels, and secrets whose own values say "not-for-production".
Mark them inline rather than regenerating the baseline, which is the
maintainer's call. Verified with the pinned detect-secrets v1.5.0 against the
repo baseline: clean.