Skip to content

Release: merge development into beta#63

Open
github-actions[bot] wants to merge 59 commits into
betafrom
development
Open

Release: merge development into beta#63
github-actions[bot] wants to merge 59 commits into
betafrom
development

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

Automated PR to sync development changes to beta for beta release.

Merging this PR will trigger the beta release workflow.

Reminder: Add a major, minor, or patch label to this PR to control the version bump. Default is patch.

Specter Intelligence and others added 30 commits April 8, 2026 15:49
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ort from issue #61

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- access-control-authorisation: replaced custom AuditLogService with
  OpenRegister's built-in audit trail (CnAuditTrailTab)
- catalog-purchase-management: removed custom CatalogImportService —
  CSV import provided by CnMassImportDialog
- scheduling: removed auditLog schema property — audit trail is
  platform-provided per object, not a data field
@github-actions
Copy link
Copy Markdown
Contributor Author

Quality Report

Repository ConductionNL/shillinq
Commit bafb9bd
Branch 63/merge
Event pull_request
Generated 2026-04-10 11:22 UTC
Workflow Run https://github.com/ConductionNL/shillinq/actions/runs/24240475184

Summary

Group Result
PHP Quality PASS
Vue Quality PASS
Security FAIL
License PASS
PHPUnit SKIP
Newman SKIP
Playwright SKIP

PHP Quality

Tool Result
lint PASS
phpcs PASS
phpmd PASS
psalm PASS
phpstan PASS
phpmetrics PASS

Vue Quality

Tool Result
eslint PASS
stylelint PASS

Security

Ecosystem Result
composer PASS
npm FAIL

License Compliance

Ecosystem Result
composer PASS
npm PASS

composer dependencies (100 total)

Metric Count
Approved (allowlist) 100
Approved (override) 0
Denied 0

npm dependencies (215 total)

Metric Count
Approved (allowlist) 215
Approved (override) 0
Denied 0

PHPUnit Tests

PHPUnit tests were not enabled for this run.

Integration Tests (Newman)

Newman integration tests were not enabled for this run.

E2E Tests (Playwright)

Playwright E2E tests were not enabled for this run.


Generated automatically by the Quality workflow.

Download the full PDF report from the workflow artifacts.

Bring repo-specific ADRs under openspec/architecture/ in line with
hydra/CLAUDE.md ownership split (org-wide ADRs in hydra repo,
project-specific ADRs in app repo).
@github-actions
Copy link
Copy Markdown
Contributor Author

Quality Report — ConductionNL/shillinq @ b931643

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
composer ✅ 100/100
npm ✅ 215/215
PHPUnit
Newman
Playwright ⏭️

Coverage: 0% (0/3 statements)


Quality workflow — 2026-04-25 15:11 UTC

Download the full PDF report from the workflow artifacts.

…asset only) (#68)

The central Quality workflow (ConductionNL/.github#34) now publishes SBOMs
exclusively as release assets — see SECURITY.md "Software Bill of Materials".

This PR cleans up the per-app remnants:
- delete .github/workflows/sbom.yml (the central job replaces it)
- delete the checked-in sbom.cdx.json (release asset is the source of truth)
- gitignore SBOM files so future generations don't accidentally land in repo

Stable URL for clients:
  https://github.com/ConductionNL/shillinq/releases/latest/download/sbom.cdx.json

Co-authored-by: SBOM Cleanup <ops@conduction.nl>
@github-actions
Copy link
Copy Markdown
Contributor Author

github-actions Bot commented May 1, 2026

Quality Report — ConductionNL/shillinq @ 535239b

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
composer ✅ 100/100
npm ✅ 215/215
PHPUnit
Newman
Playwright ⏭️

Coverage: 0% (0/3 statements)


Quality workflow — 2026-05-01 11:53 UTC

Download the full PDF report from the workflow artifacts.

…/nextcloud-vue

- Bump @conduction/nextcloud-vue ^0.1.0-beta.3 -> ^1.0.0-beta.31 (the
  manifest renderer / useAppManifest land at beta.30+).
- Pin @nextcloud/axios ~2.5.2 (deps + overrides): 2.6.0 dropped the
  `require` export condition, which breaks webpack 5 resolving
  @nextcloud/vue's CJS bundle. Pin apexcharts 4.7.0 to match nc-vue's
  transitive constraint.
- Add src/manifest.json (dashboard + settings pages, openregister
  dependency) with $schema pointing at the published schema URL;
  validates 0 errors against app-manifest.schema.json v1.3.0.
- Add tests/validate-manifest.js (Ajv-based schema validator, copied
  from decidesk) + `npm run check:manifest` script; add ajv + ajv-formats
  devDeps so the check is self-contained.
- Wire useAppManifest('shillinq', bundled) in src/main.js (Tier 1: the
  hand-written vue-router config + App.vue/MainMenu still drive the UI).

build / lint / check:manifest all green; composer phpcs unchanged.
…/nextcloud-vue (#69)

- Bump @conduction/nextcloud-vue ^0.1.0-beta.3 -> ^1.0.0-beta.31 (the
  manifest renderer / useAppManifest land at beta.30+).
- Pin @nextcloud/axios ~2.5.2 (deps + overrides): 2.6.0 dropped the
  `require` export condition, which breaks webpack 5 resolving
  @nextcloud/vue's CJS bundle. Pin apexcharts 4.7.0 to match nc-vue's
  transitive constraint.
- Add src/manifest.json (dashboard + settings pages, openregister
  dependency) with $schema pointing at the published schema URL;
  validates 0 errors against app-manifest.schema.json v1.3.0.
- Add tests/validate-manifest.js (Ajv-based schema validator, copied
  from decidesk) + `npm run check:manifest` script; add ajv + ajv-formats
  devDeps so the check is self-contained.
- Wire useAppManifest('shillinq', bundled) in src/main.js (Tier 1: the
  hand-written vue-router config + App.vue/MainMenu still drive the UI).

build / lint / check:manifest all green; composer phpcs unchanged.
@github-actions
Copy link
Copy Markdown
Contributor Author

Quality Report — ConductionNL/shillinq @ 6452975

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
composer ✅ 100/100
npm ✅ 428/428
PHPUnit
Newman
Playwright ⏭️

Coverage: 0% (0/3 statements)


Quality workflow — 2026-05-12 07:46 UTC

Download the full PDF report from the workflow artifacts.

…ectly (#70)

The header navigation renders app.svg on a dark background and expects a
white monochrome icon (matching stock Nextcloud apps). It was using
fill="currentColor"/#222 which rendered as a black silhouette.
@github-actions
Copy link
Copy Markdown
Contributor Author

Quality Report — ConductionNL/shillinq @ a611653

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
composer ✅ 100/100
npm ✅ 428/428
PHPUnit
Newman
Playwright ⏭️

Coverage: 0% (0/3 statements)


Quality workflow — 2026-05-12 12:37 UTC

Download the full PDF report from the workflow artifacts.

Scaffold a Docusaurus documentation site and the journeydoc pattern
(ADR-030) for Shillinq:

- docs/ Docusaurus site (config, package.json/lock, sidebars, src/,
  static/CNAME=shillinq.conduction.nl, logo, intro.md), English-only
  i18n until a Dutch translation pass ships, adapted from pipelinq
- docs/tutorials/{user,admin}/ skeletons: 8 user-track + 3 admin-track
  tutorial pages (TODO bodies) plus _category_.json files
- tests/e2e/docs-screenshots.spec.ts capture spec with one stub test
  per tutorial story; playwright.config.ts with a docs-capture project
- .github/workflows/documentation.yml: cname shillinq.conduction.nl,
  builds on development + documentation branches
- .gitignore: ignore docs/{node_modules,build,.docusaurus}, i18n/nl,
  playwright outputs

Docs site builds clean (npm run ci). Tutorial prose and capture-spec
selectors are TODOs for /journeydoc-add-story + /journeydoc-instrument.
…uter/nav/dashboard

Migrates shillinq from the Tier-1 manifest adoption (useAppManifest only,
hand-written vue-router + MainMenu + Dashboard.vue + bespoke App.vue) to
the full Tier-4 ADR-024 shell, mirroring procest/decidesk:

- src/main.js: Tier-4 bootstrap — builds the router from manifest.pages,
  registers library icons + translations, mounts App with manifest /
  customComponents / pageTypes props. Drops the useAppManifest call.
- src/App.vue: thin <CnAppRoot> wrapper. CnAppRoot now owns the
  dependency check ("OpenRegister required" empty state), the default
  CnAppNav (manifest.menu) and per-route page dispatch (page.type →
  Cn{Dashboard,Settings,…}Page) — so the bespoke NcEmptyContent /
  router-view shell is gone.
- src/customComponents.js: new, empty registry (no custom-fallback pages).
- Deleted src/router/index.js, src/navigation/MainMenu.vue,
  src/views/Dashboard.vue — the manifest is now the single source of
  truth for pages + navigation.
- package.json: @conduction/nextcloud-vue ^1.0.0-beta.31 → ^1.0.0-beta.35;
  add sass / sass-loader devDeps + .scss + image-asset webpack rules so
  the monorepo-dev aliased library source builds.
- tests/validate-manifest.js: after schema validation, also assert the
  manifest is internally consistent (unique page ids; every menu.route
  points at an existing page) — the ADR-024/ADR-029 reachability gate.

Spec: openspec/changes/shillinq-manifest-tier4/{proposal,design,tasks}.md

Build: webpack compiles (benign asset-size + guarded leaflet/store
warnings, same as procest); eslint clean; manifest validates (schema
v1.5.0) + consistency check passes. Browser verification deferred —
shillinq is not currently mounted in the dev container.
beta.40 carries the CnIndexPage store-backed self-fetch (nc-vue #223),
so the manifest type:"index" pages this PR introduces actually render
their object collections — plus columns[].formatter / .widget /
.aggregate and pages[].config.filter (#219/#221/#222).
# Conflicts:
#	package-lock.json
#	package.json
#	src/main.js
#	tests/validate-manifest.js
@github-actions
Copy link
Copy Markdown
Contributor Author

Quality Report — ConductionNL/shillinq @ 6de4fe9

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
composer ✅ 100/100
npm
PHPUnit ⏭️
Newman ⏭️
Playwright ⏭️

Quality workflow — 2026-05-12 21:20 UTC

Download the full PDF report from the workflow artifacts.

@github-actions
Copy link
Copy Markdown
Contributor Author

Quality Report — ConductionNL/shillinq @ e002ef7

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
composer ✅ 100/100
npm ✅ 428/428
PHPUnit
Newman
Playwright ⏭️

Coverage: 0% (0/3 statements)


Quality workflow — 2026-05-12 21:26 UTC

Download the full PDF report from the workflow artifacts.

@github-actions
Copy link
Copy Markdown
Contributor Author

Quality Report — ConductionNL/shillinq @ ce0f903

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
composer ✅ 100/100
npm ✅ 428/428
PHPUnit
Newman
Playwright ⏭️

Coverage: 0% (0/3 statements)


Quality workflow — 2026-05-12 22:17 UTC

Download the full PDF report from the workflow artifacts.

@github-actions
Copy link
Copy Markdown
Contributor Author

Quality Report — ConductionNL/shillinq @ 0aea19d

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
composer ✅ 100/100
npm ✅ 428/428
PHPUnit
Newman
Playwright ⏭️

Coverage: 0% (0/3 statements)


Quality workflow — 2026-05-12 22:41 UTC

Download the full PDF report from the workflow artifacts.

@github-actions
Copy link
Copy Markdown
Contributor Author

Quality Report — ConductionNL/shillinq @ ad478c0

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
composer ✅ 100/100
npm ✅ 428/428
PHPUnit
Newman
Playwright ⏭️

Quality workflow — 2026-05-13 05:56 UTC

Download the full PDF report from the workflow artifacts.

* chore(openspec): add docs-product-pages-conformance change artifacts

Audit on 2026-05-13 (consolidated report at apps-extra/AUDIT-product-
pages-2026-05-13.md) found shillinq's docs/ partially conformant to
the canonical product-pages spec shipped at
https://design-system.conduction.nl/preview/product-pages/.

This change aligns docs/ structurally + Tier-2 config (folder taxonomy,
Redocusaurus mount, nl locale, installation.md, em-dash cleanup) per
ADR-030. Tier-3 content authoring is tracked separately:
  #78  UseCases/ + Integrations/ content
  #79  Dutch translation pass
  #80  static/oas/shillinq.json OpenAPI spec
  #81  remaining {{TODO}} cleanup (mostly resolved by #76)

* docs: align with canonical product-pages structure

Brings shillinq/docs/ in line with the canonical product-pages layout
defined at https://design-system.conduction.nl/preview/product-pages/.
Reference implementation: openregister/docs/.

Structural (Tier-1)
- Rename docs/tutorials/ → docs/user-guide/ (folder + screenshot path).
- Move docs/FEATURES.md → docs/Features/index.md (em-dashes fixed).
- Move docs/ARCHITECTURE.md → docs/Technical/architecture.md (em-dashes
  fixed, run-on intro paragraph split into normal prose).
- Add empty canonical folders UseCases/ + Integrations/ with
  draft: true index stubs that point at issue #78.
- New docs/installation.md with real Nextcloud install steps
  (prerequisites, app-store flow, register + chart-of-accounts setup,
  troubleshooting).
- Internal links to ../../ARCHITECTURE.md updated to
  ../../Technical/architecture.md across 11 tutorial files.
- _category_.json labels updated: "Tutorials" → "Guides".

Em-dash sweep (REQ-002)
- 147 em-dash hits replaced with commas across docs/ (mostly in the
  user-guide/ files filled in commit #76, plus intro/Architecture/
  Features moves). `git grep -E '—' docs/` returns 0.

Config (Tier-2)
- redocusaurus@^2.0.0 added to docs/package.json (version matches
  openregister/docs/package.json).
- Redocusaurus mounted at /api in docusaurus.config.js, fed by
  static/oas/shillinq.json. Placeholder OAS shipped so the build does
  not 404; the real spec lands via issue #80.
- Navbar gets an "API Documentation" link to /api, positioned right
  of "Documentation".
- i18n.locales: ['en'] → ['en', 'nl']. No NL markdown ships in this
  change; the locale dropdown is now available for translators
  starting work on issue #79. Reversible per ADR-030 escape hatch.

Out of scope
- No content rewrite of the existing 11 tutorial pages (filled by
  commit #76 upstream; em-dashes the only edit here).
- No NL markdown translation (#79).
- No real OpenAPI spec authoring (#80).
- No real UseCases/ or Integrations/ content (#78).

Build
- cd docs && npm install --legacy-peer-deps && npm run build → 0.
- Both en and nl locales build successfully. Warnings about
  /nl/privacy /nl/terms /nl/iso (footer links absent from nl locale)
  are pre-existing and tracked by #79.
@github-actions
Copy link
Copy Markdown
Contributor Author

Quality Report — ConductionNL/shillinq @ 68980f2

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
composer ✅ 100/100
npm ✅ 428/428
PHPUnit
Newman
Playwright ⏭️

Coverage: 0% (0/3 statements)


Quality workflow — 2026-05-13 07:56 UTC

Download the full PDF report from the workflow artifacts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant