mirror of
https://github.com/abhigyanpatwari/GitNexus.git
synced 2026-11-05 07:37:30 +00:00
* feat(web): resolve a root-relative GITNEXUS_BACKEND_URL against the page origin A GITNEXUS_BACKEND_URL of `/` (or `/prefix`) is injected as-is, and the web client resolves it against the origin that served the page, so one gitnexus-web deployment reaches its API on every hostname a reverse proxy gives it. Protocol-relative values are left to the URL check and rejected. Documents the two ways to route /api/* behind a proxy. Closes #3593 * fix(web): reject a backslash-prefixed same-origin path The URL parser reads a backslash as a slash, so `/\host` resolved against the page origin became `http://host/`, an origin change. Both the server check and the client resolution now treat it like `//host`. * fix(web): keep a configured base ending in /api, and drop the unsupported direct route normalizeServerUrl stripped a trailing /api from every URL, so a deployment configured with GITNEXUS_BACKEND_URL=/proxy/api passed health and discovery and then connected to /proxy/repo. The deployment's own base is now kept as configured; the /api cleanup stays for hand-entered URLs. A regression covers health, discovery and repository selection under /proxy/api. The README no longer offers routing /api/* straight to `gitnexus serve` on a public hostname: serve refuses to start with GITNEXUS_PUBLIC_ORIGIN set until it has authentication of its own. * fix(web): keep only a same-origin base as configured The bypass in normalizeServerUrl matched any injected default, so an absolute GITNEXUS_BACKEND_URL ending in /api would have produced a doubled /api segment, and one carrying credentials would have kept them. Only a root-relative deployment base is kept now; it is resolved from the page origin, so it has neither. Absolute injected URLs are normalized as before. |
||
|---|---|---|
| .. | ||
| access-token-prompt.test.tsx | ||
| agent-abort.test.ts | ||
| agent-history.test.ts | ||
| agent-prompt.test.ts | ||
| backend-client-auth.test.ts | ||
| backend-client-grep.test.ts | ||
| backend-client-repo-identity.test.ts | ||
| backend-client-retry.test.ts | ||
| bug-fixes.test.ts | ||
| code-panel-lines.test.ts | ||
| code-references-panel.test.tsx | ||
| constants.test.ts | ||
| embedding-auto-start.test.ts | ||
| embedding-start-failure.test.ts | ||
| execution-dashboard.test.tsx | ||
| filter-panel.test.ts | ||
| graph-load-decision.test.ts | ||
| graph.test.ts | ||
| grep-tool.test.ts | ||
| header.test.tsx | ||
| heartbeat.test.ts | ||
| i18n.test.tsx | ||
| impact-tool.test.ts | ||
| initialize-agent-identity.test.tsx | ||
| load-graph-anyway.test.tsx | ||
| mermaid-generator.test.ts | ||
| path-resolution.test.ts | ||
| perf-optimizations.test.ts | ||
| repo-analyzer-complete-identity.test.tsx | ||
| repo-analyzer-folder-drop.test.tsx | ||
| repo-analyzer-upload-race.test.tsx | ||
| security-guards.test.ts | ||
| server-connection.test.ts | ||
| settings-panel-token.test.tsx | ||
| settings-service.test.ts | ||
| switch-repo-url.test.tsx | ||
| test-setup-storage.test.ts | ||
| tsconfig-react.test.ts | ||
| update-banner.test.tsx | ||
| url-restore.test.ts | ||
| use-auto-scroll.test.tsx | ||
| utils.test.ts | ||