Commit Graph

1928 Commits

Author SHA1 Message Date
Pablo Zmdl 889fd6757c Revert "Drop as much capabilities as possibile for the Collabora container (#8000)"
This reverts commit 9dcb25b4ae, reversing
changes made to 261675f4d3.
2026-07-18 21:56:12 +02:00
Pablo Zmdl 7f62c8ab41 Fix tests for code-from-image (#8464) 2026-07-18 14:15:28 +02:00
Pablo Zmdl 9dcb25b4ae Drop as much capabilities as possibile for the Collabora container (#8000) 2026-07-18 14:02:17 +02:00
Pablo Zmdl 07cd3fed08 Fix tests for code-from-image
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-07-18 13:44:47 +02:00
Pablo Zmdl 261675f4d3 Update AIO version from 13.3.1 to 13.4.0
Signed-off-by: Pablo Zmdl <57864086+pabzm@users.noreply.github.com>
2026-07-18 13:03:33 +02:00
Pablo Zmdl 600cc3505e Save default container selection on setup. (#8440) 2026-07-17 21:32:46 +02:00
Pablo Zmdl 4e03393d53 Save default container selection on setup.
Save the default container selection to the config, so it gets persisted
even
if people don't change anything in the UI. Without this any change to
the
defaults would be applied to existing instances.

Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>

AI-assistant: Copilot v1.0.69 (Claude Sonnet 4.6)
2026-07-17 21:13:57 +02:00
Pablo Zmdl fff3d2f0e1 Update test container image references (#8451) 2026-07-17 20:34:56 +02:00
Pablo Zmdl 4923e454fa PHP dependency updates (#8449) 2026-07-17 20:30:06 +02:00
Pablo Zmdl 55bbb64246 build(deps): bump guzzlehttp/guzzle from 7.14.1 to 7.14.2 in /php (#8455) 2026-07-17 20:25:28 +02:00
Pablo Zmdl 7c7d5eb882 build(deps): bump guzzlehttp/psr7 from 2.12.5 to 2.13.0 in /php (#8460) 2026-07-17 20:25:09 +02:00
Pablo Zmdl fd4e0ddcb2 Store office suite choice in a single config option
Previously it was three boolean options, which were supposed to be mutually
exclusive, which had to be taken care of manually.

Also previously there was only indirect indication of the choice "none", which
is brittle, too.

Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-07-17 19:24:49 +02:00
szaimen f48e8d8b23 php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-07-17 12:23:54 +00:00
dependabot[bot] 0c373d9be0 build(deps): bump guzzlehttp/psr7 from 2.12.5 to 2.13.0 in /php
Bumps [guzzlehttp/psr7](https://github.com/guzzle/psr7) from 2.12.5 to 2.13.0.
- [Release notes](https://github.com/guzzle/psr7/releases)
- [Changelog](https://github.com/guzzle/psr7/blob/2.13/CHANGELOG.md)
- [Commits](https://github.com/guzzle/psr7/compare/2.12.5...2.13.0)

---
updated-dependencies:
- dependency-name: guzzlehttp/psr7
  dependency-version: 2.13.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-17 12:03:14 +00:00
pabzm f537754377 chore(tests): update test container image references
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-07-17 05:53:24 +00:00
Pablo Zmdl a36d46987d ConfigurationManager: remove unused isx64Platform method (#8399) 2026-07-16 17:50:59 +02:00
dependabot[bot] 41a6f1c805 build(deps): bump guzzlehttp/guzzle from 7.14.1 to 7.14.2 in /php
Bumps [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) from 7.14.1 to 7.14.2.
- [Release notes](https://github.com/guzzle/guzzle/releases)
- [Changelog](https://github.com/guzzle/guzzle/blob/7.15/CHANGELOG.md)
- [Commits](https://github.com/guzzle/guzzle/compare/7.14.1...7.14.2)

---
updated-dependencies:
- dependency-name: guzzlehttp/guzzle
  dependency-version: 7.14.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-15 13:34:57 +00:00
Pablo Zmdl af534535ff build(deps): bump guzzlehttp/guzzle from 7.14.0 to 7.14.1 in /php (#8447) 2026-07-15 11:55:05 +02:00
Pablo Zmdl c9a6697896 build(deps): bump guzzlehttp/psr7 from 2.12.4 to 2.12.5 in /php (#8446) 2026-07-13 15:59:56 +02:00
Pablo Zmdl 8f56876253 Update test container image references (#8434) 2026-07-13 15:36:14 +02:00
dependabot[bot] 8ea525e29a build(deps): bump guzzlehttp/guzzle from 7.14.0 to 7.14.1 in /php
Bumps [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) from 7.14.0 to 7.14.1.
- [Release notes](https://github.com/guzzle/guzzle/releases)
- [Changelog](https://github.com/guzzle/guzzle/blob/7.15/CHANGELOG.md)
- [Commits](https://github.com/guzzle/guzzle/compare/7.14.0...7.14.1)

---
updated-dependencies:
- dependency-name: guzzlehttp/guzzle
  dependency-version: 7.14.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-13 12:03:24 +00:00
dependabot[bot] cc42d180ea build(deps): bump guzzlehttp/psr7 from 2.12.4 to 2.12.5 in /php
Bumps [guzzlehttp/psr7](https://github.com/guzzle/psr7) from 2.12.4 to 2.12.5.
- [Release notes](https://github.com/guzzle/psr7/releases)
- [Changelog](https://github.com/guzzle/psr7/blob/2.13/CHANGELOG.md)
- [Commits](https://github.com/guzzle/psr7/compare/2.12.4...2.12.5)

---
updated-dependencies:
- dependency-name: guzzlehttp/psr7
  dependency-version: 2.12.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-13 12:03:18 +00:00
szaimen 7c33126290 php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-07-11 12:15:49 +00:00
pabzm ede3123e55 chore(tests): update test container image references
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-07-11 05:52:24 +00:00
Pablo Zmdl 04eb9499a1 Run playwright tests via compose setup, locally and in CI (#8247) 2026-07-07 14:18:38 +02:00
Pablo Zmdl bf473324ba Pin and update test container image references regularly
Assisted-by: Copilot v1.0.59 (Claude Sonnet 4.6)
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-07-07 10:13:49 +02:00
Pablo Zmdl 6589878dc6 Run NPM in standalone container and use working_dir properly
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-07-07 10:13:49 +02:00
Pablo Zmdl 2f8df05f32 Remove useless seeding of desec mock
The AIO password can be read from the setup page, if the tests are executed on
a properly cleaned plate (as they are now). Resetting the desec tokens is also
not necessary anymore with a properly cleaned plate.

The desec URLs can now be provided through environment variables.

This makes the whole setup simpler and less brittle.

Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-07-07 10:13:49 +02:00
Pablo Zmdl bf5296b070 Run desec playwright tests via docker compose, too
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-07-07 10:13:49 +02:00
Pablo Zmdl ce8a7f6f46 Allow to set desec URLs from environment
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-07-07 10:13:49 +02:00
Pablo Zmdl 54c79c404c Remove console output in playwright test
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-07-07 10:13:49 +02:00
Pablo Zmdl 22a5b65291 Refactor playwright login helper
It now works for all test specs and does not require a password from the
environment.

Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-07-07 10:13:49 +02:00
Pablo Zmdl 4e897aca90 Make playwright use 'dot' reporter and always exit at the end
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-07-07 10:13:49 +02:00
Pablo Zmdl 39b5b14ead Enable running playwright tests locally
They now are running via a docker compose setup, which can be executed via
./php/tests/run.sh locally, and also gets called from the github workflow.

Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-07-07 10:13:49 +02:00
dependabot[bot] d21c7f3f12 build(deps): bump guzzlehttp/guzzle from 7.12.3 to 7.13.1 in /php
Bumps [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) from 7.12.3 to 7.13.1.
- [Release notes](https://github.com/guzzle/guzzle/releases)
- [Changelog](https://github.com/guzzle/guzzle/blob/7.13/CHANGELOG.md)
- [Commits](https://github.com/guzzle/guzzle/compare/7.12.3...7.13.1)

---
updated-dependencies:
- dependency-name: guzzlehttp/guzzle
  dependency-version: 7.13.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-30 12:02:48 +00:00
Simon L. 20d54c9663 ConfigurationManager: remove unused isx64Platform method
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-06-29 14:51:34 +02:00
Simon L. c2a26934ca Update AIO version from 13.3.0 to 13.3.1
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-06-26 10:31:40 +02:00
Pablo Zmdl 84341f4c71 Use test path that exists on macos, too
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
2026-06-25 17:22:06 +02:00
Simon L. 3d13a55e10 PHP dependency updates (#8375) 2026-06-25 14:58:06 +02:00
Simon L. 6fc913bc41 eurooffice should only get enabled on new instances
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-06-24 14:58:40 +02:00
szaimen 0bfcb3696c php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-24 12:41:14 +00:00
Simon L. fc7ddf26e8 increase to v13.3.0
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-06-23 16:07:41 +02:00
Simon L. cd61f66467 add desec (#7995)
## Summary
- Integrates Desec into the AIO interface which simplifies the domain
registration and domain setup.
- You can either create a new account directly or use an existing
account.
- You have a button that you can open where the process will be done.
After the process is done, the whole page reloads and you can continue
with the setup.
- Caddy and dnsmasq community containers will be activated during the
process which will take over the cert generation and enable split-brain
dns.
- Community containers will work automatically for example Vaultwarden
as the subdomains of the desec domain point automatically via a wildcard
dns entry towards the main desec domain.
- Playwright tests are added to ensure that the system works as expected
in the future
- the desec api is mocked via a small node js based file.
- the qa and other docs were updated to mention desec
2026-06-23 15:05:42 +02:00
Simon L. e0c208da19 Apply suggestion from @szaimen
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-06-23 14:53:54 +02:00
Simon L. 1fdda55421 Apply suggestions from code review
Co-authored-by: Pablo Zmdl <57864086+pabzm@users.noreply.github.com>
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-06-23 14:52:05 +02:00
Simon L. 7e50969d02 feat(desec): keep the typed slug across the registration flow
A slug typed into the deSEC form was lost when the form re-rendered after a
201 redirect (e.g. on the awaiting-verification step), forcing the user to
re-enter it. Persist the requested slug in the AIO config when register()
runs and pre-fill the slug input from it on every step, then clear it once a
domain is set. Stored in configuration.json rather than a URL parameter so it
survives the multi-step flow without leaking into the iframe address.

Signed-off-by: Simon L. <szaimen@e.mail.de>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 16:04:36 +02:00
Simon L. 0d2ce61af3 fix(desec): only reveal the deSEC password for AIO-created accounts
The containers page showed "Reveal deSEC password" for every deSEC domain,
but when the user logs in with their own existing account AIO stores an
empty password, so the reveal exposed nothing useful. Gate the reveal on a
stored password: AIO-created accounts show the generated credentials as
before; existing accounts now just say the domain is managed via that
account and to log in at desec.io with your own password.

Also clear the stored generated password in the awaiting-verification path
when the user logs in with their own password (the email already had an
account), so a non-empty stored password reliably means "AIO generated this
account" — and report the account as not-new so no wildcard CNAME is created
on a domain the user manages themselves.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-06-22 16:04:36 +02:00
Simon L. ebad4fd06f fix spelling
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-06-22 16:04:35 +02:00
Simon L. 9cfd5b41f6 fix(desec): reuse an existing slug the user already owns
Logging in with an existing deSEC account and entering a slug you already
own failed with "Domain limit exceeded": registerDomain() always tried to
POST /domains/, which deSEC rejects (403 when the account is at its quota,
400/409 when the name is taken) even though the domain belongs to you.

Now, for a user-specified slug, a 400/403/409 triggers an ownership check
(GET /domains/{name}/); if the account already owns the domain it is reused
and registration completes. Otherwise a clear message is shown (over-limit
vs. taken by someone else). Random-slug registration is unchanged.

Update the deSEC mock to mirror the real status codes (per-account ownership,
domain limit -> 403, taken name -> 400, GET /domains/{name}/) and add a spec
that exercises the over-limit ownership-recovery path.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-06-22 16:04:35 +02:00
Simon L. b5e35c90d8 move the desec template another time
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-06-22 16:04:35 +02:00