Commit graph

3 commits

Author SHA1 Message Date
9dd283ced6 refactor(acadedoc): rename API routes /api/acadenice -> /api/v1 — R5.1
Replace all @Controller('acadenice/...') decorators with 'v1/...' on 16 NestJS controllers. Update all client services, hooks, tests, extension-clipper, and doc comments to match. DB table names (acadenice_*) and folder structure untouched.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08 14:52:49 +02:00
60d64822e4 fix(acadenice): include parent-child edges in graph + space-scope view — R4.6
Graph view was empty for users who built page hierarchies (sub-pages) but had
not placed any wikilinks. The graph service now queries pages.parent_page_id
as a second edge source (type: parent_child) and merges it with acadenice_backlink
edges, so hierarchy-only workspaces display meaningful graphs immediately.

- dto: added parent_child to LinkType enum; added slug field to GraphNode
- service: loadParentChildEdges (permission-filtered SQL), parallel merge with loadEdges
- controller: always appends parent_child to the effective type list
- client: graph-client.ts typed for parent_child and slug; graph-canvas renders
  dashed grey lines for parent_child vs solid brand lines for wikilinks; legend
  with aria-label; title/slug/untitled fallback chain for node labels
- space sidebar: Graph menu item -> /s/:spaceSlug/graph
- new route: /s/:spaceSlug/graph -> SpaceGraph page (injects spaceId filter)
- i18n: en-US + fr-FR keys for legend and space graph
- tests: 42 server + 59 client, all green; 10 new R4.6 tests

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08 12:14:28 +02:00
aac0149e7a feat(acadenice): add graph view UI for R3.5.2 (58 tests, Patch 013)
Frontend knowledge-graph page at /graph. Force-directed canvas via
react-force-graph-2d (lazy-loaded, falls back to placeholder when lib
absent). Controls sidebar: space filter, edge-type checkboxes, depth
slider 1-5, include-orphans toggle, node search, stats, truncated
banner. Side panel Drawer on node click: title, space, in/out degree,
open-page CTA. Jotai atoms for cross-component state. React Query
hook with 300ms debounce. Interactions: zoom/pan/drag, click->side
panel, double-click->navigate, right-click->focus, Esc/F keyboard.
Upstream patches: +route /graph in App.tsx, +Graph nav entry in
global-sidebar, +24 i18n keys FR+EN.

New deps (not installed): react-force-graph-2d, d3-force.
Completes R3.5 entirely.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08 01:39:13 +02:00