Martin Vogel and Andy Zehady
a27680c3a9
feat(graph-ui): dead-code filtering, node code preview, GitHub deep-links
...
Distilled from #789 (safe features only). Adds backend dead-code classification
(status + in_calls in the layout JSON), a GET /api/repo-info endpoint for GitHub
deep-links, and the frontend dead-code filters, node code preview, and deep-links.
The render-cap revert was dropped (kept 2000 for DEFAULT_MAX_NODES/HARD_MAX_NODES
and GRAPH_RENDER_NODE_LIMIT); the sidebar regex-search refactor was omitted.
Security fixes over the original: repo-info strips credentials from any returned
remote_url; the legitimate https blob-URL construction is allow-listed so the
static gate passes; libgit2 is not re-initialized/shutdown per request (reuses the
process-wide init from cbm_alloc_init); deep-link path segments are URL-encoded.
Co-authored-by: Andy Zehady <azehady@ciroos.ai >
Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com >
2026-07-04 22:19:53 +02:00
..
2026-07-04 18:42:43 +02:00
2026-07-04 13:22:41 +02:00
2026-06-05 21:53:25 +02:00
2026-06-05 21:53:25 +02:00
2026-03-22 18:33:10 -05:00
2026-03-15 22:37:34 +01:00
2026-05-30 18:26:44 +02:00
2026-06-22 14:46:29 -07:00
2026-06-29 09:45:28 -06:00
2026-06-29 01:33:40 +02:00
2026-07-03 20:05:10 +02:00
2026-04-01 23:22:44 +02:00
2026-06-07 18:29:05 +02:00
2026-06-06 22:16:04 +02:00
2026-06-05 21:53:25 +02:00
2026-05-19 22:47:53 +02:00
2026-06-14 20:12:04 +00:00
2026-07-03 19:25:00 +02:00
2026-06-23 06:38:45 +09:00
2026-06-23 06:38:45 +09:00
2026-03-25 09:28:11 +01:00
2026-06-07 13:00:55 +02:00
2026-06-07 13:00:55 +02:00
2026-07-03 10:08:01 +09:00
2026-06-07 12:35:53 +02:00
2026-06-08 22:55:23 +02:00
2026-07-04 14:22:13 -03:00
2026-07-01 21:23:12 +02:00
2026-06-05 21:53:25 +02:00
2026-07-02 00:37:52 +02:00
2026-06-22 23:51:49 +02:00
2026-03-15 22:37:34 +01:00
2026-06-05 21:53:25 +02:00
2026-06-28 19:00:10 +02:00
2026-06-07 19:13:01 +02:00
2026-06-07 19:13:01 +02:00
2026-06-07 19:13:01 +02:00
2026-06-27 16:23:26 +02:00
2026-06-07 20:05:24 +02:00
2026-06-07 20:05:24 +02:00
2026-06-27 16:23:26 +02:00
2026-06-12 02:17:39 +02:00
2026-07-03 20:16:39 +02:00
2026-05-21 22:52:16 +02:00
2026-03-31 20:04:11 +02:00
2026-07-04 22:19:53 +02:00
2026-06-28 14:04:13 +02:00
2026-07-02 22:11:00 +02:00
2026-06-22 22:04:31 +02:00
2026-06-22 22:05:18 +02:00
2026-06-02 18:52:37 +02:00
2026-06-02 18:52:37 +02:00
2026-06-03 01:33:25 +02:00
2026-07-02 21:20:22 +08:00
2026-06-12 02:17:39 +02:00
2026-06-28 13:05:05 +02:00
2026-07-04 14:34:26 +09:00
2026-03-15 22:37:34 +01:00
2026-07-04 20:50:14 +02:00
2026-06-08 22:55:23 +02:00
2026-06-07 18:29:05 +02:00
2026-07-04 19:34:33 +02:00
2026-07-04 20:43:23 +02:00
2026-06-12 02:17:39 +02:00
2026-07-04 18:38:58 +02:00
2026-07-02 21:43:07 +03:00
2026-07-03 19:57:01 +02:00
2026-05-09 16:05:45 +02:00
2026-07-04 14:34:26 +09:00
2026-05-30 20:15:30 +02:00
2026-06-05 21:53:25 +02:00
2026-05-09 15:44:09 +02:00
2026-05-09 14:16:15 +02:00
2026-07-03 19:49:03 +02:00
2026-07-04 14:34:26 +09:00
2026-06-23 13:52:08 -03:00
2026-06-03 02:13:30 +02:00
2026-05-08 22:26:56 +02:00
2026-06-24 03:15:36 +02:00
2026-07-04 13:36:45 +02:00
2026-06-28 21:57:35 -06:00
2026-06-05 21:53:25 +02:00
2026-06-28 21:57:35 -06:00
2026-07-03 20:16:39 +02:00
2026-07-03 19:49:03 +02:00
2026-06-24 12:54:45 +00:00
2026-03-20 20:32:38 +01:00
2026-05-29 03:37:56 +02:00
2026-07-03 20:16:39 +02:00
2026-05-31 12:50:19 +02:00
2026-05-29 03:37:56 +02:00
2026-06-23 04:08:36 -07:00
2026-03-24 23:48:23 +01:00
2026-06-24 20:33:52 +05:30
2026-07-03 11:20:32 +02:00
2026-03-24 23:48:23 +01:00
2026-06-12 10:51:11 +02:00
2026-06-10 12:11:02 +02:00
2026-07-04 22:19:53 +02:00
2026-04-06 14:34:07 +02:00
2026-06-05 21:53:25 +02:00
2026-07-03 20:40:22 +02:00
2026-06-06 19:48:48 +02:00
2026-07-04 14:38:25 +02:00
2026-03-24 23:48:23 +01:00
2026-04-15 23:56:03 +02:00