Commit Graph

11 Commits

Author SHA1 Message Date
Elias Meire
78cb200c92
refactor(core): Remove the no-code Page layer from apps
Pages come from the built app's src/router.ts; the DB-backed Page table,
its CRUD routes and the server-rendered fallback are no longer used.
2026-09-11 17:03:40 +02:00
Elias Meire
05d250be5a
fix(core): Squash app migrations into one and align sandbox-client version 2026-09-11 16:33:02 +02:00
Elias Meire
42128fe5a5
feat: Label, download and restore app versions, and trim the app-builder skill (#38433) 2026-09-11 15:58:29 +02:00
Elias Meire
6bfe813156
feat: Open apps in their own assistant thread with an app-scoped sandbox (#38376) 2026-09-11 10:26:55 +02:00
Elias Meire
b464c38b61
feat(core): Let built apps run bound workflows (#38173) 2026-09-10 17:34:37 +02:00
Toni Devine
57c7542e99
feat: app-version-quota-limits 2026-09-08 17:44:08 +01:00
Elias Meire
d3b140b8f5
fix(core): Add a foreign key for app.activeVersionId
Deleting the active version now clears the pointer instead of leaving it dangling. Regenerates the schema docs.
2026-09-08 12:07:31 +02:00
Elias Meire
2be05cc859
docs: Regenerate schema docs for app_version 2026-09-07 21:51:45 +02:00
Dimitri Lavrenük
4db0525be3
feat: simple rendering for apps (#37995) 2026-09-07 17:11:57 +02:00
Bernhard Wittmann
c6b2fe1b74
feat(core): Add a data workflow picker to app pages (#37984) 2026-09-07 16:23:22 +02:00
Bernhard Wittmann
6fbdfcecdd
feat(core): Add Apps — a top-level App/Page entity with a first UI
Day 1 scaffold for the Webpage Node / App-concept Hackweek project: a
project-scoped App entity and its Page tree, decoupled from the
workflow canvas, plus enough editor UI to build one end-to-end.

Backend (packages/cli/src/modules/apps, packages/@n8n/db migration):
- App entity (namespace, theme JSON) and Page entity, pages forming a
  tree via a self-referencing parentPageId. A page's route can be a
  static slug, a dynamic :param segment (e.g. :id), or empty (meaning
  it's the index/home page for its level).
- Business rules enforced server-side: a namespace is unique per
  project; a page's route is unique among its siblings; an index page
  (empty route) can't have children, since it contributes no path
  segment of its own and a child would collide with a sibling's URL.
- New app:* scopes, an appId branch in userHasScopes, an opt-in
  backend module (apps) enabled by default alongside data-table.

Frontend (packages/frontend/editor-ui/src/features/apps):
- Apps list, App detail (page tree), and Page detail views, reachable
  both from the project view and the home overview tab bar.
- Create App / Create Page via modals (matching Data Table's pattern),
  not inline forms.
- Page hierarchy shown as a flat card grid per level with drill-down
  navigation (mirrors n8n's own Folders feature) instead of a fully
  expanded indented tree.
- AppBreadcrumbs: App > ancestor pages > current page/app, each a link
  back up except the current one.
- The App's and each Page's full served URL shown as a copyable field,
  live as the route is edited.
- Delete (with confirmation) on Apps and Pages throughout.

Goal package: goals/webpage-node/ (facts.md, plan.md, plan-week.md).
2026-09-07 14:46:51 +02:00