State
TemplateSeedService seeds four ApplicationTemplate fixtures on every install (permit-tracker, stakeholder-consultation, employee-onboarding, incident-reporter), via the SeedApplicationTemplates repair step and SetupController::seedTemplates. Verified present and correct on a live instance, with their categories.
POST /api/applications/from-template/{templateSlug} is routed and implemented.
- Nothing in
src/ calls that endpoint. The only match is a comment in src/services/templateCapture.js.
The template gallery went GitHub-only in f8e0eec57 ("keep GitHub-only"): the Templates tab is now a server-backed GitHub search over topic:openbuild-app, and the gallery's CloneTemplateDialog is bound :github="true", installing through /api/shop/github/install.
Net effect: the seeded templates are unreachable from the UI. Users cannot clone them; the seeder runs on every install regardless.
Decision needed
Either:
- Restore local-template browsing/cloning (a "bundled templates" section alongside the GitHub store), or
- Drop the seeder and the
from-template route, and delete the four fixtures.
Test impact
tests/e2e/template-gallery.spec.ts and tests/e2e/save-as-template.spec.ts were rewritten against the surface that actually ships, with this gap recorded in their headers rather than asserted against a dead path. The org-local capture half of save-as-template (app → ApplicationTemplate record) is live and covered; only the clone-back round-trip is unreachable.
Note this also means an app saved as a template can be created but never re-used through the UI.
State
TemplateSeedServiceseeds fourApplicationTemplatefixtures on every install (permit-tracker,stakeholder-consultation,employee-onboarding,incident-reporter), via theSeedApplicationTemplatesrepair step andSetupController::seedTemplates. Verified present and correct on a live instance, with their categories.POST /api/applications/from-template/{templateSlug}is routed and implemented.src/calls that endpoint. The only match is a comment insrc/services/templateCapture.js.The template gallery went GitHub-only in
f8e0eec57("keep GitHub-only"): the Templates tab is now a server-backed GitHub search overtopic:openbuild-app, and the gallery'sCloneTemplateDialogis bound:github="true", installing through/api/shop/github/install.Net effect: the seeded templates are unreachable from the UI. Users cannot clone them; the seeder runs on every install regardless.
Decision needed
Either:
from-templateroute, and delete the four fixtures.Test impact
tests/e2e/template-gallery.spec.tsandtests/e2e/save-as-template.spec.tswere rewritten against the surface that actually ships, with this gap recorded in their headers rather than asserted against a dead path. The org-local capture half of save-as-template (app →ApplicationTemplaterecord) is live and covered; only the clone-back round-trip is unreachable.Note this also means an app saved as a template can be created but never re-used through the UI.