GitNexus/gitnexus/src/server
Gergő Magyar 6bb99767ff
fix(auto-sync): HTTPS remotes, OpenSSH image, and rc embeddings (#3378)
* fix(docker): install OpenSSH in the CLI runtime image

Auto-sync requires git SSH remotes, but the published image omitted
openssh-client so every clone failed with ssh: not found.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(auto-sync): accept HTTPS remotes and reclone failed checkouts

Allowlisted HTTPS URLs can clone without SSH keys, and a timed-out
clone with no remote.origin is quarantined instead of blocking forever.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(auto-sync): honor .gitnexusrc embeddings and warn on empty vectors

Auto-sync analyze now reads embeddings from the clone's project config,
and query reports when an index has no vectors so keyword fallback is visible.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(review): warn when CodeEmbedding table is missing (U5)

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(ci): wrap long openssh-client test line for prettier

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(query): keep keyword-only indexes off query.warning

Empty or missing CodeEmbedding is the default index. Put the #3372 notice in a once-per-backend log line so FTS-success query results stay warning-free.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(review): bound rc reads and quarantine only a missing origin

Drop the implementation plan from the branch. Auto-sync reads .gitnexusrc through the bounded control-file reader, and a git config failure no longer relocates a live checkout. The same allowlisted repo can switch between SSH and HTTPS without a refused pull.

Co-authored-by: Cursor <cursoragent@cursor.com>

* refactor(auto-sync): share repo identity and skip a second origin read

Co-authored-by: Cursor <cursoragent@cursor.com>

* test(auto-sync): clean temp fixtures and cover nested embeddings precedence

Co-authored-by: Cursor <cursoragent@cursor.com>

* test(auto-sync): skip the symlink rc fixture on Windows

Co-authored-by: Cursor <cursoragent@cursor.com>

* test(auto-sync): reject symlink rc files on every platform

Co-authored-by: Cursor <cursoragent@cursor.com>

* test(ci): run auto-sync symlink and clone tests on Windows and macOS

Co-authored-by: Cursor <cursoragent@cursor.com>

* test(git-clone): keep Windows CI on file URLs and POSIX permission checks

Co-authored-by: Cursor <cursoragent@cursor.com>

* test(git-clone): keep the SSH-to-HTTPS origin check offline

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Gergo Magyar <gergomagyar0@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-25 19:42:26 +01:00
..
analyze-job.ts fix: web citation/code panel bugs and serve analyze/route hardening (#3348) 2026-09-23 13:27:22 +01:00
analyze-launch.ts feat(storage): share one index store across linked worktrees and sibling clones (#3374) 2026-09-25 11:20:12 +01:00
analyze-upload.ts feat(storage): add configurable index storage and content retention tiers (#3060) 2026-09-12 20:31:55 +00:00
analyze-worker-core.ts feat(storage): add configurable index storage and content retention tiers (#3060) 2026-09-12 20:31:55 +00:00
analyze-worker-ipc.ts feat(storage): share one index store across linked worktrees and sibling clones (#3374) 2026-09-25 11:20:12 +01:00
analyze-worker-protocol.ts fix(storage): guard stale file-lock reclamation (#3234) 2026-09-12 11:47:12 +01:00
analyze-worker.ts fix(embeddings): keep ONNX off the install and analyze critical path (#3287) 2026-09-15 12:11:47 +01:00
api.ts feat(storage): share one index store across linked worktrees and sibling clones (#3374) 2026-09-25 11:20:12 +01:00
embed-run-outcome.ts fix(embeddings): retry unparseable 200 responses and survive partial embedding failures (#2790) (#2795) 2026-08-02 20:43:59 +00:00
git-clone.ts fix(auto-sync): HTTPS remotes, OpenSSH image, and rc embeddings (#3378) 2026-09-25 19:42:26 +01:00
grep-params.ts fix(server,web): honor the grep tool contract — real regex, fileFilter, caseSensitive (#3109) 2026-08-31 20:43:28 +01:00
grep-scan.ts fix(server,web): honor the grep tool contract — real regex, fileFilter, caseSensitive (#3109) 2026-08-31 20:43:28 +01:00
grep-worker.ts fix(server,web): honor the grep tool contract — real regex, fileFilter, caseSensitive (#3109) 2026-08-31 20:43:28 +01:00
mcp-http.ts fix(serve): protect MCP route with optional bearer auth (#3100) 2026-08-30 17:12:46 +01:00
middleware.ts feat(serve): validate and port-scope the origin/proxy configuration surface (#2820) 2026-08-05 06:52:39 +01:00
ops-snapshot.ts fix: web citation/code panel bugs and serve analyze/route hardening (#3348) 2026-09-23 13:27:22 +01:00
private-ip.ts fix(ip): Scope write-route origin guard to server's own bound host (#2172) 2026-06-13 09:24:03 +01:00
public-repo-id.ts fix: web citation/code panel bugs and serve analyze/route hardening (#3348) 2026-09-23 13:27:22 +01:00
repo-projection.ts fix: web citation/code panel bugs and serve analyze/route hardening (#3348) 2026-09-23 13:27:22 +01:00
sse-progress.ts fix: web citation/code panel bugs and serve analyze/route hardening (#3348) 2026-09-23 13:27:22 +01:00
update-controller.ts chore: release v1.6.11 (#3177) 2026-09-04 20:02:37 +01:00
upload-ingest.ts fix(core): ensure path prefix and traversal guards support root directories (#2559) 2026-07-20 08:12:15 +01:00
upload-paths.ts fix(server): resolve clone/upload/mapping roots from GITNEXUS_HOME (#2229) 2026-06-18 17:39:44 +01:00
upload-sweep.ts feat(storage): add configurable index storage and content retention tiers (#3060) 2026-09-12 20:31:55 +00:00
validation.ts fix(core): ensure path prefix and traversal guards support root directories (#2559) 2026-07-20 08:12:15 +01:00