You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A set of backends and front-end components in stackiq have no page, button or import that reaches them. Two of them block real work: there is no page to create a usage, and a contract cannot be saved without one. The rest are code that is built and maintained but that no user of this app can trigger. This issue lists them in one place so each can be wired up, handed to its real consumer, or removed.
src/manifest.json has pages for bioMeasure, catalogContract, catalogService, compliancy, contactPerson, element, module, moduleVersion, organization, software-review, suite and vulnerability. None for usage or connection, although both schemas exist in lib/Settings/softwarecatalogus_register.json. src/modals/Modals.vue:38,40 accept usage and connection as generic modal types, but nothing opens them.
catalogContract.required is service, usage, startDate, contractNumber, contractType, status, so no stackiq page can create the usage a new contract needs.
Components never mounted or imported:
src/views/settings/Settings.vue (689 lines) is imported by nothing.
StackiqSettings.vue is registered as the custom component StackiqSettingsPage (src/customComponents.js:33,59) and as SoftwareCatalogSettingsPage (src/registry.js:25), but no manifest page names either. The same file is mounted as the Nextcloud admin settings page (src/settings.js, #stackiq-settings), which is how the moderation queue (ModerationQueue.vue) and EOL sync (EolSyncSettings.vue) are reached through src/utils/adminApi.js. Only the in-app registration is dead.
src/store/modules/view.js (the only caller of /api/views, :89 and :128) is imported by nothing; useViewStore has no importer.
src/utils/openDataProjection.js (STRIPPED_FIELDS, :36) is imported by nothing.
src/modals/object/ViewObject.vue is mounted only for modals viewOrganisatie and viewContactpersoon (Modals.vue:7,19), and nothing in src/ sets either. Its publish buttons (:4854) and the mass-publish dialog it opens (:4865) are therefore unreachable. The mass-lock dialog (src/dialogs/Dialogs.vue:12) has no opener anywhere.
API routes with no caller in src/ (route prefixes from appinfo/routes.php, searched across src/): aanbod (:202-204), aangeboden-gebruik (:255-261), koppelingen-gebruik (:269), gebruik (:298-299), intake (:214), preferences (:29-30), dashboard (:26), setup (:22-24), publication publish and depublish (:208-209), progress (:119-120), views including views/docs (:185-187).
Who could consume them (judgement, not verified)
The external VNG Softwarecatalogus frontend is not in this repo, so this split is an informed guess from naming, auth posture and docblocks:
Plausibly the external VNG frontend: aanbod, aangeboden-gebruik, koppelingen-gebruik and gebruik (the Dutch-named offering and usage APIs, several declared @PublicPage with anonymous rate limits), intake (an anonymous, write-only organisation registration endpoint that has no form in stackiq), and views (GEMMA views enriched with usage, close to the public ArchiMate API of VNG requirement issues.md:306, though the route is login-only).
Plausibly the shared @conduction/nextcloud-vue library at runtime rather than src/: setup (the manifest's top-level setup block drives the library setup wizard) and preferences (routes.php:28 says it is used by library widgets such as CnSupportDialog). A live check should confirm these.
Users cannot record which software their organisation uses or start a contract from stackiq, and the unreached code carries its own security and maintenance cost (the publication endpoint has an IDOR guard, the intake endpoint is anonymous) without delivering anything in this app.
Surfaced by the capability matrix in stackiq#1072 (merge 38b9938), rows land-usage-record (pending), conn-list-page, conn-register-connection, land-bulk-edit, arch-gemma-views, ins-progress and the publication rows. Related: #478 (two other dead page components).
What goes wrong
A set of backends and front-end components in stackiq have no page, button or import that reaches them. Two of them block real work: there is no page to create a usage, and a contract cannot be saved without one. The rest are code that is built and maintained but that no user of this app can trigger. This issue lists them in one place so each can be wired up, handed to its real consumer, or removed.
Evidence, re-read at c9760e0
Schemas with no page:
src/manifest.jsonhas pages forbioMeasure,catalogContract,catalogService,compliancy,contactPerson,element,module,moduleVersion,organization,software-review,suiteandvulnerability. None forusageorconnection, although both schemas exist inlib/Settings/softwarecatalogus_register.json.src/modals/Modals.vue:38,40acceptusageandconnectionas generic modal types, but nothing opens them.catalogContract.requiredisservice, usage, startDate, contractNumber, contractType, status, so no stackiq page can create the usage a new contract needs.Components never mounted or imported:
src/views/settings/Settings.vue(689 lines) is imported by nothing.StackiqSettings.vueis registered as the custom componentStackiqSettingsPage(src/customComponents.js:33,59) and asSoftwareCatalogSettingsPage(src/registry.js:25), but no manifest page names either. The same file is mounted as the Nextcloud admin settings page (src/settings.js,#stackiq-settings), which is how the moderation queue (ModerationQueue.vue) and EOL sync (EolSyncSettings.vue) are reached throughsrc/utils/adminApi.js. Only the in-app registration is dead.src/store/modules/view.js(the only caller of/api/views, :89 and :128) is imported by nothing;useViewStorehas no importer.src/utils/openDataProjection.js(STRIPPED_FIELDS, :36) is imported by nothing.src/modals/object/ViewObject.vueis mounted only for modalsviewOrganisatieandviewContactpersoon(Modals.vue:7,19), and nothing insrc/sets either. Its publish buttons (:4854) and the mass-publish dialog it opens (:4865) are therefore unreachable. The mass-lock dialog (src/dialogs/Dialogs.vue:12) has no opener anywhere.API routes with no caller in
src/(route prefixes fromappinfo/routes.php, searched acrosssrc/):aanbod(:202-204),aangeboden-gebruik(:255-261),koppelingen-gebruik(:269),gebruik(:298-299),intake(:214),preferences(:29-30),dashboard(:26),setup(:22-24),publicationpublish and depublish (:208-209),progress(:119-120),viewsincludingviews/docs(:185-187).Who could consume them (judgement, not verified)
The external VNG Softwarecatalogus frontend is not in this repo, so this split is an informed guess from naming, auth posture and docblocks:
aanbod,aangeboden-gebruik,koppelingen-gebruikandgebruik(the Dutch-named offering and usage APIs, several declared@PublicPagewith anonymous rate limits),intake(an anonymous, write-only organisation registration endpoint that has no form in stackiq), andviews(GEMMA views enriched with usage, close to the public ArchiMate API of VNG requirementissues.md:306, though the route is login-only).@conduction/nextcloud-vuelibrary at runtime rather thansrc/:setup(the manifest's top-levelsetupblock drives the library setup wizard) andpreferences(routes.php:28 says it is used by library widgets such as CnSupportDialog). A live check should confirm these.dashboard(DashboardController::indexreturns an empty result),progress(the ArchiMate import never writes to it, see Cancelling an ArchiMate import crashes, and the import never reports progress #1076, and nothing polls it for SBOM or merge),views/docsandaangeboden-gebruik/docs(hand-written docs, see The generated openapi.json describes no endpoints #1085),publicationpublish and depublish (a supplier publishes by settingpublicationDatein the form instead), plus every component listed above.Why it matters
Users cannot record which software their organisation uses or start a contract from stackiq, and the unreached code carries its own security and maintenance cost (the publication endpoint has an IDOR guard, the intake endpoint is anonymous) without delivering anything in this app.
Surfaced by the capability matrix in stackiq#1072 (merge 38b9938), rows
land-usage-record(pending),conn-list-page,conn-register-connection,land-bulk-edit,arch-gemma-views,ins-progressand the publication rows. Related: #478 (two other dead page components).