Release: merge beta into main - #1487
Merged
Merged
Conversation
…260820081255 chore(release): 0.2.5-unstable.20260820081255
…260820083237 chore(release): 0.2.5-unstable.20260820083237
…260820084546 chore(release): 0.2.5-unstable.20260820084546
…260820090421 chore(release): 0.2.5-unstable.20260820090421
…260820091704 chore(release): 0.2.5-unstable.20260820091704
…260820093147 chore(release): 0.2.5-unstable.20260820093147
…260820094625 chore(release): 0.2.5-unstable.20260820094625
…260820100024 chore(release): 0.2.5-unstable.20260820100024
…260820101516 chore(release): 0.2.5-unstable.20260820101516
Two user-visible defects are fixed by this bump. TWO AI-COMPANION HEXES ON EVERY PAGE. The companion singleton landed in 2.7.0. Below that the host app's own companion never stands down, so any page of this app rendered a second hex 8px from hermiq's — measured on a running instance: openconnector (2.7.1) showed ONE, openbuild (2.6.3) showed TWO, both visible at 52x60, from two separate mounts. THE DETAIL PAGE RECLOSED ITS SIDEBAR WHILE HYDRATING. CnDetailPage set sidebarSeeded and never read it, so 'open' was re-applied on every sync and each reactive change during hydration reset it to the prop default. Fixed in nextcloud-vue#711; that is the cause behind openbuild#268 and, on the evidence, #188. Lockfile only — the existing caret already allowed this. Three-line diff (version, resolved, integrity).
…260820102946 chore(release): 0.2.5-unstable.20260820102946
…260820105007 chore(release): 0.2.5-unstable.20260820105007
chore(deps): take @conduction/nextcloud-vue 2.8.2 (was 2.3.0)
…260820111318 chore(release): 0.2.5-unstable.20260820111318
…260820113701 chore(release): 0.2.5-unstable.20260820113701
…260820115330 chore(release): 0.2.5-unstable.20260820115330
Bumps [dexie](https://github.com/dexie/Dexie.js) from 4.4.4 to 4.4.5. - [Release notes](https://github.com/dexie/Dexie.js/releases) - [Commits](dexie/Dexie.js@v4.4.4...v4.4.5) --- updated-dependencies: - dependency-name: dexie dependency-version: 4.4.5 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.29.7 to 8.0.1. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v8.0.1/packages/babel-core) --- updated-dependencies: - dependency-name: "@babel/core" dependency-version: 8.0.1 dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [axe-core](https://github.com/dequelabs/axe-core) from 4.12.1 to 4.13.0. - [Release notes](https://github.com/dequelabs/axe-core/releases) - [Changelog](https://github.com/dequelabs/axe-core/blob/develop/CHANGELOG.md) - [Commits](dequelabs/axe-core@v4.12.1...v4.13.0) --- updated-dependencies: - dependency-name: axe-core dependency-version: 4.13.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [phpmetrics/phpmetrics](https://github.com/phpmetrics/PhpMetrics) from 2.9.1 to 2.11.0. - [Release notes](https://github.com/phpmetrics/PhpMetrics/releases) - [Changelog](https://github.com/phpmetrics/PhpMetrics/blob/master/CHANGELOG.md) - [Commits](phpmetrics/PhpMetrics@v2.9.1...v2.11.0) --- updated-dependencies: - dependency-name: phpmetrics/phpmetrics dependency-version: 2.11.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [gridstack](https://github.com/gridstack/gridstack.js) from 12.6.0 to 13.2.0. - [Release notes](https://github.com/gridstack/gridstack.js/releases) - [Changelog](https://github.com/gridstack/gridstack.js/blob/master/doc/CHANGES.md) - [Commits](gridstack/gridstack.js@v12.6.0...v13.2.0) --- updated-dependencies: - dependency-name: gridstack dependency-version: 13.2.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [phpstan/phpstan](https://github.com/phpstan/phpstan-phar-composer-source) from 2.2.8 to 2.2.9. - [Commits](https://github.com/phpstan/phpstan-phar-composer-source/commits) --- updated-dependencies: - dependency-name: phpstan/phpstan dependency-version: 2.2.9 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…1464) Bumps [phpcsstandards/phpcsextra](https://github.com/PHPCSStandards/PHPCSExtra) from 1.5.0 to 1.5.1. - [Release notes](https://github.com/PHPCSStandards/PHPCSExtra/releases) - [Changelog](https://github.com/PHPCSStandards/PHPCSExtra/blob/develop/CHANGELOG.md) - [Commits](PHPCSStandards/PHPCSExtra@1.5.0...1.5.1) --- updated-dependencies: - dependency-name: phpcsstandards/phpcsextra dependency-version: 1.5.1 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…1462) Bumps [squizlabs/php_codesniffer](https://github.com/PHPCSStandards/PHP_CodeSniffer) from 3.13.6 to 4.0.4. - [Release notes](https://github.com/PHPCSStandards/PHP_CodeSniffer/releases) - [Changelog](https://github.com/PHPCSStandards/PHP_CodeSniffer/blob/4.x/CHANGELOG-3.x.md) - [Commits](PHPCSStandards/PHP_CodeSniffer@3.13.6...4.0.4) --- updated-dependencies: - dependency-name: squizlabs/php_codesniffer dependency-version: 4.0.4 dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [twig/twig](https://github.com/twigphp/Twig) from 3.27.0 to 3.28.0. - [Release notes](https://github.com/twigphp/Twig/releases) - [Changelog](https://github.com/twigphp/Twig/blob/3.x/CHANGELOG) - [Commits](twigphp/Twig@v3.27.0...v3.28.0) --- updated-dependencies: - dependency-name: twig/twig dependency-version: 3.28.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [nextcloud/ocp](https://github.com/nextcloud-deps/ocp) from 34.0.2 to 34.0.3. - [Commits](nextcloud-deps/ocp@v34.0.2...v34.0.3) --- updated-dependencies: - dependency-name: nextcloud/ocp dependency-version: 34.0.3 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
beta held 8 commit(s) development did not. Version files were resolved to development's side so the version never moves backwards -- the same rule release.yml applies to its own post-release sync. Recording the ancestry is the payload: without it the merge base never moves and the next development -> beta promotion conflicts on the version file exactly as before.
…0260830084229 chore(sync): carry beta back into development
…02608300839 chore(sync): record beta's ancestry on development
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
PHPCS failed on development with 4 errors across two files, blocking the
development -> beta promotion:
ZgwRulesDispatcher.php:206 No space found before comment text
CaseDefinitionExportService.php:294 Inline comments must start with a
capital letter
Both sites wrote `};//end match`. The `//end` convention is used by 648
files here and is not the problem: PHPCS accepts `}//end methodName()`
because that sniff applies to DECLARATION closings. A match expression's
`};` is not a declaration, so the trailing text is judged as an ordinary
inline comment and must start with a capital and a space.
These two were the only `};//end match` in the repo. Twenty-one other
files already close a match with a bare `};`, so this follows the
existing majority rather than inventing a third style.
Verified: php -l on both, and phpcs now reports 0 errors (exit 0); the
remaining output is a pre-existing non-blocking @SPEC warning.
Release: merge development into beta
…1484) * fix(phpcs): close a match the way the other 21 files do PHPCS failed on development with 4 errors across two files, blocking the development -> beta promotion: ZgwRulesDispatcher.php:206 No space found before comment text CaseDefinitionExportService.php:294 Inline comments must start with a capital letter Both sites wrote `};//end match`. The `//end` convention is used by 648 files here and is not the problem: PHPCS accepts `}//end methodName()` because that sniff applies to DECLARATION closings. A match expression's `};` is not a declaration, so the trailing text is judged as an ordinary inline comment and must start with a capital and a space. These two were the only `};//end match` in the repo. Twenty-one other files already close a match with a bare `};`, so this follows the existing majority rather than inventing a third style. Verified: php -l on both, and phpcs now reports 0 errors (exit 0); the remaining output is a pre-existing non-blocking @SPEC warning. * fix(sidebar): render the manifest page's sidebar alongside our own This app fills CnAppRoot's `#sidebar` slot, and Vue only renders a slot's fallback when the slot is ABSENT. So filling it suppressed `pages[].sidebarComponent` silently: no warning, no error, no sidebar. The ADR-110 flow sidebar was declared in the manifest, registered in registry.js and present in the bundle, and still never rendered. Nine apps in the fleet fill this slot and all nine were affected. The five that do not fill it rendered the flow sidebar correctly, which is what identified the cause. CnAppRoot now passes the resolved component to the slot (nextcloud-vue#857), so this renders both: our own rail, and whatever the routed manifest page asks for. Verified: npm run build exits 0. * chore(deps): @conduction/nextcloud-vue 2.24.3, which carries the sidebar slot prop 2.24.3 is the release that passes the resolved `pages[].sidebarComponent` into CnAppRoot's `#sidebar` slot. Without it the App.vue change in this branch is a no-op, because the slot prop it reads does not exist yet. Verified on filinq in the browser against the dev instance: the flow rail (Flow, Steps, Runs, Version, Publish, the trigger list) now renders next to the canvas, and the app's own sidebar still mounts alongside it.
Comment on lines
+17
to
+44
| uses: ConductionNL/.github/.github/workflows/documentation.yml@main | ||
| # A reusable workflow receives NO secrets by default. Without this block the | ||
| # callee's publish step finds CF_API_TOKEN empty, skips itself on its own | ||
| # `if:` guard, and the run finishes GREEN having changed nothing -- the | ||
| # failure that left the fleet's docs sites on May builds. The names are the | ||
| # same on both sides; the org secrets really are CF_API_TOKEN/CF_ACCOUNT_ID. | ||
| secrets: | ||
| CF_API_TOKEN: ${{ secrets.CF_API_TOKEN }} | ||
| CF_ACCOUNT_ID: ${{ secrets.CF_ACCOUNT_ID }} | ||
| with: | ||
| cname: dossiq.conduction.nl | ||
|
|
||
| # procest.conduction.nl is the retired hostname. It stays in docs-hosts so | ||
| # existing links keep resolving, and canonical-host below turns it into a | ||
| # 301 rather than a second live copy of every page. | ||
| # EVERY host this worker answers on, in FULL: wrangler reconciles the | ||
| # worker's triggers against this list, so a host left out is REMOVED and | ||
| # goes dark. | ||
| docs-hosts: procest.conduction.nl,dossiq.conduction.nl | ||
| # The ONE hostname this site is reached on. Every other host in | ||
| # docs-hosts answers 301 to the same path here. Before this, both hostnames | ||
| # served identical content and the retired name stayed as discoverable | ||
| # as the current one. | ||
| canonical-host: dossiq.conduction.nl | ||
| # PINNED. Deriving the name is how a deploy goes green and reaches | ||
| # nobody: wrangler creates the derived worker and publishes there while | ||
| # the custom domains keep routing to the real one. | ||
| worker-name: procest-docs |
Comment on lines
+15
to
+20
| uses: ConductionNL/.github/.github/workflows/issue-triage.yml@main | ||
| with: | ||
| app-name: dossiq | ||
| backlog-existing: ${{ github.event_name == 'workflow_dispatch' && inputs.backlog-existing || false }} | ||
| secrets: | ||
| PROJECT_TOKEN: ${{ secrets.PROJECT_TOKEN }} |
Comment on lines
+11
to
+15
| uses: ConductionNL/.github/.github/workflows/openspec-sync.yml@main | ||
| with: | ||
| app-name: dossiq | ||
| secrets: | ||
| PROJECT_TOKEN: ${{ secrets.PROJECT_TOKEN }} |
Comment on lines
+38
to
+46
| if: github.ref == 'refs/heads/development' | ||
| uses: ConductionNL/.github/.github/workflows/release.yml@main | ||
| with: | ||
| release-type: unstable | ||
| app-name: dossiq | ||
| previous-app-id: procest | ||
| secrets: inherit | ||
|
|
||
| beta: |
Comment on lines
+47
to
+55
| if: github.ref == 'refs/heads/beta' | ||
| uses: ConductionNL/.github/.github/workflows/release.yml@main | ||
| with: | ||
| release-type: beta | ||
| app-name: dossiq | ||
| previous-app-id: procest | ||
| secrets: inherit | ||
|
|
||
| stable: |
Comment on lines
+56
to
+62
| if: github.ref == 'refs/heads/main' | ||
| uses: ConductionNL/.github/.github/workflows/release.yml@main | ||
| with: | ||
| release-type: stable | ||
| app-name: dossiq | ||
| previous-app-id: procest | ||
| secrets: inherit |
Comment on lines
+9
to
+10
| uses: ConductionNL/.github/.github/workflows/sync-to-beta.yml@main | ||
| secrets: inherit |
Dependabot bumped `@vitest/coverage-v8` to 4 on its own in several apps and left `vitest` and `@vitest/ui` on 3. coverage-v8 4 peers vitest 4.1.11 exactly, so a split trio cannot resolve at all: that is what took launchpad's npm ci from green to red. The three move together here, to 4.1.11, which is the current published version of all of them. Verified: npm install and the app's own test script both exit 0.
…0260830124953 chore(sync): carry beta back into development
The 'render the manifest page's sidebar alongside our own' commit landed
unformatted, and quality / Frontend Check (format) has been red on
development ever since:
prettier --check "**/*.{js,ts,vue,css,scss}"
[warn] src/App.vue
Eight apps took the same change and eight went red together. This is
prettier --write over the affected files and nothing else.
Verified: npm run format exits 0.
Release: merge development into beta
…0260830153033 chore(sync): carry beta back into development
Release: merge development into beta
main held 37 commit(s) beta did not. Merged with -s ours: beta's tree is kept BYTE FOR BYTE and only the ancestry is recorded, so the beta -> main promotion stops conflicting on files where beta is simply newer. Not brought over -- beta is hundreds of commits ahead of main, so these are the OLDER copies, and several are dead Forgejo/Codeberg CI that development deliberately removed: .forgejo/workflows/release-stable.yml .github/dependabot.yml .github/workflows/beta-release.yaml .github/workflows/code-quality.yml .github/workflows/release-workflow.yaml appinfo/info.xml lib/Repair/InitializeSettings.php openspec/config.yaml phpunit.xml tests/bootstrap.php tests/unit/Controller/SettingsControllerTest.php
Contributor
Quality Report — ConductionNL/dossiq @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ✅ | ||||
| phpcs | ✅ | ||||
| phpmd | ✅ | ||||
| psalm | ✅ | ||||
| phpstan | ✅ | ||||
| phpmetrics | ✅ | ||||
| eslint | ✅ | ||||
| stylelint | ✅ | ||||
| build | ✅ | ||||
| check-manifest | ✅ | ||||
| check-vue3-compile | ✅ | ||||
| test-l10n | ✅ | ||||
| format | ✅ | ||||
| check-schema-l10n | ✅ | ||||
| check-l10n-js | ✅ | ||||
| composer | ✅ | ✅ 106/106 | |||
| npm | ✅ | ✅ 539/539 | |||
| app:check-code | ⏭️ | ||||
| info.xml | ✅ | ||||
| REUSE | ❌ | ||||
| PHPUnit | ✅ | ||||
| Newman | ⏭️ | ||||
| Playwright | ✅ | ||||
| Hydra gates | ✅ |
Quality workflow — 2026-08-30 17:30 UTC
Download the full PDF report from the workflow artifacts.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stable release:
betaholds 2360 commit(s)maindoes not.Merged with
--merge, never--squash. Squashing a promotion rewrites the carried commits into onebetadoes not contain, so the branches diverge again immediately and main's own commits read as reverted.A failing
… / releasecheck on this pull request is the App Store publish step, not a quality gate. Eight fleet apps cannot publish today: seven have no signing key, and thematiq's certificate carries its old app id (Nextcloud issues one certificate per id, CN = the id). The GitHub release and tag are still created. Every other check must be green for this to merge.