open-notebook/open_notebook
Luis Novo fcfd2afdb4
fix(proxy): keep internal SurrealDB websocket out of HTTP proxy (#1185)
* fix(proxy): keep internal SurrealDB websocket out of HTTP proxy (#1160)

websockets 15.0 auto-detects HTTP_PROXY/HTTPS_PROXY and tunnels even
ws:// connections through the proxy. The SurrealDB SDK connects over a
websocket, so with a proxy set the internal DB connection was routed
through the external proxy, which rejected the internal host with HTTP
403 and killed the worker/API on startup.

- Add ensure_internal_no_proxy() helper that merges host.docker.internal,
  surrealdb, localhost, 127.0.0.1 into no_proxy/NO_PROXY (never clobbering
  a user value) and call it at API, worker and DB-module startup.
- Add host.docker.internal and surrealdb to the .env.example and docs
  NO_PROXY examples.
- Add unit tests for the injection helper.

* fix(proxy): preserve NO_PROXY wildcard and include custom SurrealDB host (#1160)

Address review findings on the no_proxy injection:

- NO_PROXY=* (bypass all hosts) is now treated as terminal: leave the
  user's config untouched instead of narrowing the wildcard to a finite
  list by appending the internal hosts.
- Parse the SurrealDB host from SURREAL_URL (falling back to
  SURREAL_ADDRESS) and add it to the bypass list, so deployments with a
  custom DB host/IP no longer route DB traffic through the proxy. Unset
  or malformed values fall back to the four defaults gracefully.
- Drop the inaccurate getproxies() caching remark in the test.
2026-07-19 18:11:00 -03:00
..
ai fix(models): stop auto-assign from re-filling cleared optional defaults (#1186) 2026-07-19 18:06:17 -03:00
database fix(proxy): keep internal SurrealDB websocket out of HTTP proxy (#1185) 2026-07-19 18:11:00 -03:00
domain fix(credentials): emit vertex_project/vertex_location for Vertex (#1177) 2026-07-19 14:46:45 -03:00
graphs fix: honor per-transformation model selection at execution time (#1173) 2026-07-19 12:37:02 -03:00
podcasts chore(podcasts): drop legacy provider/model string fields from podcast profiles (#1107) (#1112) 2026-07-12 14:35:04 -03:00
utils fix(proxy): keep internal SurrealDB websocket out of HTTP proxy (#1185) 2026-07-19 18:11:00 -03:00
__init__.py refactor: move environment variables loading to application entry point (#283) 2025-12-01 14:59:50 -03:00
AGENTS.md refactor(frontend): consume GET /api/providers instead of the manual provider table (#1108) 2026-07-12 12:46:38 -03:00
CLAUDE.md docs: restructure documentation around AGENTS.md, VISION.md and decision records (#1032) 2026-07-10 15:33:19 -03:00
config.py fix: contain podcast audio paths and batch job-status lookups (#1018) 2026-07-10 13:48:24 -03:00
exceptions.py refactor database module and migrations 2024-10-30 16:33:07 -03:00