Skip to content

Release: merge development into beta - #561

Merged
rubenvdlinde merged 16 commits into
betafrom
development
Sep 13, 2026
Merged

rubenvdlinde merged 16 commits into
betafrom
development

Conversation

@github-actions

@github-actions github-actions Bot commented Sep 6, 2026

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.

github-actions Bot and others added 16 commits September 6, 2026 12:49
…260906124917

chore(sync): carry beta back into development
hydra-gates v1.10.0 -> v1.16.0
nc-vue      2.27.2 -> 2.39.0

Lock-only: both packages are already declared with caret ranges that
permit these versions, so nothing about what this app ACCEPTS changes
- only what it currently resolves to. Opened by the weekly fleet
shared-dependency bump, because a lock nobody re-resolves is a pin
nobody chose.

Merging is gated by this repository's own suite, deliberately: taking
hydra-gates v1.8.1 added patchObject() to a published interface, which
is a load-time fatal for any concrete double that implements it without
the method. CI is the only thing that can tell a safe bump from that.

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…n the test bootstrap (#565)

The CLI php.ini sets memory_limit=-1, so a runaway test had nothing to stop it: on 2026-09-08 one openregister test recursed inside the DI container and took 19 GB of RAM. The test bootstrap also loaded the workspace's lib/base.php from a source tree that was never installed, which declares OC and builds a half-built OC::$server before throwing, and that state cannot be undone.

- phpunit.xml and phpunit-unit.xml: hard memory_limit of 2G (the loadable part of the unit suite peaks at 69 MB without coverage)
- tests/bootstrap.php: only boot a root whose config/config.php declares installed => true, otherwise say so on STDERR and run in pure-unit mode; if base.php still throws, stop with exit 1 instead of continuing half-booted
- composer.json: psalm gets --memory-limit=2G and each phpmd call runs under php -d memory_limit=2G

Co-authored-by: Conduction Release Bot <release-bot@conduction.nl>
The fleet sniff NoServiceLocator flags every \OCP\Server::get() outside
lib/AppInfo, lib/AppHost, lib/Migration, lib/Repair and lib/Resources,
because outside a booted Nextcloud that call autowires services from
scratch and can recurse through a constructor cycle until memory runs out.

Thematiq has exactly one such site, and it cannot be injected. The server
constructs NLDesignEMailTemplate itself, from Mailer::makeTemplate(), with
a fixed argument list, so the class has no constructor of its own to take
a container. The lookup stays where it is and now says why, so the sniff
counts it as resolved rather than as an unexamined lookup.

No behaviour changes.

Co-authored-by: Conduction Release Bot <release-bot@conduction.nl>
… suite (#569)

Co-authored-by: Conduction Release Bot <release-bot@conduction.nl>
Bumps [@playwright/test](https://github.com/microsoft/playwright) from 1.62.1 to 1.63.0.
- [Release notes](https://github.com/microsoft/playwright/releases)
- [Commits](microsoft/playwright@v1.62.1...v1.63.0)

---
updated-dependencies:
- dependency-name: "@playwright/test"
  dependency-version: 1.63.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 [stylelint](https://github.com/stylelint/stylelint) from 17.14.1 to 17.15.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](stylelint/stylelint@17.14.1...17.15.0)

---
updated-dependencies:
- dependency-name: stylelint
  dependency-version: 17.15.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 [conduction/hydra-gates](https://github.com/ConductionNL/.github) from 1.16.0 to 1.16.1.
- [Release notes](https://github.com/ConductionNL/.github/releases)
- [Commits](ConductionNL/.github@v1.16.0...v1.16.1)

---
updated-dependencies:
- dependency-name: conduction/hydra-gates
  dependency-version: 1.16.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>
Bumps [phpstan/phpstan](https://github.com/phpstan/phpstan-phar-composer-source) from 2.2.10 to 2.2.13.
- [Commits](https://github.com/phpstan/phpstan-phar-composer-source/commits)

---
updated-dependencies:
- dependency-name: phpstan/phpstan
  dependency-version: 2.2.13
  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>
…#579)

`@vitest/coverage-v8` and `@vitest/ui` both declare `peer vitest` as an exact
version, not a caret, so all three can only ever move as a set. Dependabot opened
them as #573, #575 and #577, and each fails to resolve while the other two sit
at 4.

`vite` is declared explicitly because vitest 5 resolves it from the project where
4 did not; 8.2.2 was already in the lock transitively, so nothing new is pulled in.

    npm run test:unit      -> 9 files, 119 tests passed, exit 0
    npm run test:coverage  -> same, 48.93% statements, exit 0

Co-authored-by: Conduction Release Bot <release-bot@conduction.nl>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…260912154212

chore(sync): carry beta back into development
The dev box runs one Nextcloud on localhost:8080 that bind-mounts everyone's
checkouts. This suite defaulted straight to it: playwright.config.ts read
NEXTCLOUD_URL || 'http://localhost:8080' and tests/e2e/global-setup.ts repeated
the same expression for the login it performs before any spec runs, so an unset
environment logged into a colleague's instance and drove 142 tests through it.

tests/e2e/base-url.ts is now the one place a target enters the suite, and both
of those callers go through it. The default is unchanged: nothing set still
resolves http://localhost:8080. What changed is that the guard in
tests/e2e/shared-instance.ts then refuses it unless the run names that origin
in THEMATIQ_E2E_ALLOW_SHARED_INSTANCE. CI is exempt, where localhost:8080 is
the runner's own throwaway instance.

No spec files changed.
@rubenvdlinde
rubenvdlinde merged commit 8397726 into beta Sep 13, 2026
92 checks passed
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