Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
34d8ee2
chore(sync): carry beta back into development
github-actions[bot] Sep 6, 2026
77044d8
Merge pull request #559 from ConductionNL/sync/beta-to-development-20…
rubenvdlinde Sep 6, 2026
d6ff409
chore(deps): refresh the shared Conduction locks (#563)
rubenvdlinde Sep 7, 2026
7466a5a
fix(tests): cap PHPUnit memory and only boot an installed Nextcloud i…
rubenvdlinde Sep 8, 2026
c9dbb62
refactor: mark the mail template's container lookup as deliberate (#567)
rubenvdlinde Sep 8, 2026
7526fe9
fix(tests): a mid-boot Nextcloud failure warns, it does not abort the…
rubenvdlinde Sep 8, 2026
0bc8f42
chore(deps-dev): Bump @playwright/test from 1.62.1 to 1.63.0 (#576)
dependabot[bot] Sep 9, 2026
7f94380
chore(deps-dev): Bump stylelint from 17.14.1 to 17.15.0 (#574)
dependabot[bot] Sep 9, 2026
811e3ed
chore(deps-dev): Bump conduction/hydra-gates from 1.16.0 to 1.16.1 (#…
dependabot[bot] Sep 9, 2026
fa2c35f
chore(deps-dev): Bump phpstan/phpstan from 2.2.10 to 2.2.13 (#571)
dependabot[bot] Sep 9, 2026
a98dd8f
chore(deps-dev): bump vitest, its coverage plugin and its ui together…
rubenvdlinde Sep 9, 2026
77fb1cd
chore(release): 1.2.2-unstable.20260910104940 (#581)
rubenvdlinde Sep 10, 2026
0d5e41b
ci: run the fast tier on pull requests (path filter, one PHPUnit leg)…
rubenvdlinde Sep 12, 2026
de21c37
chore(sync): carry beta back into development
github-actions[bot] Sep 12, 2026
8774664
Merge pull request #592 from ConductionNL/sync/beta-to-development-20…
rubenvdlinde Sep 12, 2026
a38b909
feat(e2e): refuse the shared instance unless the run names it (#594)
rubenvdlinde Sep 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .github/workflows/code-quality.yml
Original file line number Diff line number Diff line change
Expand Up @@ -397,3 +397,14 @@ jobs:
# construction — <= v1.4.0 passed over it (permanently green) and v1.5.0
# refused with exit 99 (permanently red). The scope is now
# `github.event.before...HEAD`, what the push actually changed.
# ── Cost controls (see ConductionNL/.github#596, #599) ───────────────
# Run PHPUnit and Playwright only when the diff could change their
# verdict. Fails safe TOWARDS running: an unreadable diff, a force-push,
# a branch creation or a dispatch all run everything, and a filtered
# skip is a declared state in the Quality Report, not a missing one.
enable-path-filtering: true
# PR-time PHPUnit runs the primary PHP against the newest declared
# Nextcloud; the full matrix still runs on every push to a default
# branch and on the release PR into beta. Breadth moves from
# per-commit to per-merge, it is not dropped.
reduce-pr-matrix: true
2 changes: 1 addition & 1 deletion appinfo/info.xml
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ Gratis en open source onder de EUPL-1.2 licentie.
which quoted the grep command in order to WARN about the problem —
made it read ")[^". The warning reproduced the bug it described.
-->
<version>1.2.0</version>
<version>1.2.2-unstable.20260910104940</version>
<licence>EUPL-1.2</licence>
<author mail="info@conduction.nl" homepage="https://www.conduction.nl/">Conduction</author>
<namespace>Thematiq</namespace>
Expand Down
4 changes: 2 additions & 2 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,10 @@
"phpcs": "./vendor/bin/phpcs --standard=phpcs.xml",
"phpcs:fix": "./vendor/bin/phpcbf --standard=phpcs.xml",
"phpcs:output": "./vendor/bin/phpcs --standard=phpcs.xml --report=json lib/ 2>/dev/null | tail -1 > phpcs-output.json",
"phpmd": "E=0; ./vendor/bin/phpmd lib text phpmd.xml || E=$?; ./vendor/bin/phpmd lib text vendor/conduction/hydra-gates/quality-config/phpmd-unusedparams.xml || E=$?; exit $E",
"phpmd": "E=0; php -d memory_limit=2G ./vendor/bin/phpmd lib text phpmd.xml || E=$?; php -d memory_limit=2G ./vendor/bin/phpmd lib text vendor/conduction/hydra-gates/quality-config/phpmd-unusedparams.xml || E=$?; exit $E",
"phpmetrics": "./vendor/bin/phpmetrics --report-html=phpmetrics lib/",
"phpmetrics:violations": "./vendor/bin/phpmetrics --violations-xml=phpmetrics/violations.xml lib/",
"psalm": "./vendor/bin/psalm --threads=1 --no-cache",
"psalm": "./vendor/bin/psalm --threads=1 --no-cache --memory-limit=2G",
"phpstan": "./vendor/bin/phpstan analyse --memory-limit=1G",
"test:unit": "if [ ! -f vendor/bin/phpunit ]; then echo 'SKIPPED: phpunit not installed - run composer install'; elif [ ! -f ../../lib/base.php ]; then echo 'SKIPPED: the unit suite DID NOT RUN - it needs a Nextcloud server tree (../../lib/base.php not found).'; echo ' Verbatim failure in a bare checkout (measured 2026-08-04, PHP 8.4.22):'; echo ' Interface \"OCP\\Files\\AppData\\IAppDataFactory\" not found'; echo ' at tests/Unit/Controller/SettingsControllerAuditTest.php:40 -- phpunit exits 255'; echo ' A 255 is an ABORT, not a test verdict: the suite type-hints OCP interfaces that'; echo ' only a Nextcloud server checkout provides. Do NOT \"fix\" this by deleting the'; echo ' guard - that trades a documented skip for a crash that still runs zero tests.'; echo ' Measured with a server tree present: a failing suite exits 1 and a passing one'; echo ' exits 0, so this guard does not weaken a real run. Run from inside a Nextcloud'; echo ' checkout, or rely on the CI PHPUnit job, for a real test verdict.'; else ./vendor/bin/phpunit --colors=always --no-coverage; fi",
"test:all": "if [ ! -f vendor/bin/phpunit ]; then echo 'SKIPPED: phpunit not installed - run composer install'; elif [ ! -f ../../lib/base.php ]; then echo 'SKIPPED: the unit suite DID NOT RUN - it needs a Nextcloud server tree (../../lib/base.php not found).'; echo ' Verbatim failure in a bare checkout (measured 2026-08-04, PHP 8.4.22):'; echo ' Interface \"OCP\\Files\\AppData\\IAppDataFactory\" not found'; echo ' at tests/Unit/Controller/SettingsControllerAuditTest.php:40 -- phpunit exits 255'; echo ' A 255 is an ABORT, not a test verdict: the suite type-hints OCP interfaces that'; echo ' only a Nextcloud server checkout provides. Do NOT \"fix\" this by deleting the'; echo ' guard - that trades a documented skip for a crash that still runs zero tests.'; echo ' Measured with a server tree present: a failing suite exits 1 and a passing one'; echo ' exits 0, so this guard does not weaken a real run. Run from inside a Nextcloud'; echo ' checkout, or rely on the CI PHPUnit job, for a real test verdict.'; else ./vendor/bin/phpunit --colors=always --no-coverage; fi",
Expand Down
23 changes: 12 additions & 11 deletions composer.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions lib/Mail/NLDesignEMailTemplate.php
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ class NLDesignEMailTemplate extends EMailTemplate {
*/
protected function getEmailThemingService(): ?EmailThemingService {
try {
// phpcs:ignore CustomSniffs.Nextcloud.NoServiceLocator.GlobalContainerLookup -- Not a DI-built class: the server's Mailer::makeTemplate() constructs this template with a fixed argument list, so there is no constructor to inject a container into.
$service = \OCP\Server::get(EmailThemingService::class);
if ($service instanceof EmailThemingService === false) {
return null;
Expand Down
Loading
Loading