Compare commits

..

1040 Commits

Author SHA1 Message Date
John Molakvoæ f7470ab973 Merge pull request #43888 from nextcloud/release/28.0.3 2024-02-29 08:42:55 +01:00
John Molakvoæ 9613e62e29 Merge pull request #43869 from nextcloud/backport/43768/stable28 2024-02-29 08:33:23 +01:00
Nextcloud bot 0f4e3f3622 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-02-29 00:20:29 +00:00
skjnldsv 8854744991 28.0.3
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-02-28 10:42:56 +01:00
Louis Chemineau 427508bac0 fix(dav): Init ViewOnlyPlugin after auth
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-02-28 10:17:39 +01:00
Nextcloud bot cf035c8cad Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-02-28 00:28:36 +00:00
Arthur Schiwon 0181e189a6 Merge pull request #43822 from nextcloud/automated/noid/stable28-fix-npm-audit
[stable28] Fix npm audit
2024-02-27 14:48:57 +01:00
Nextcloud bot 823d3c2b42 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-02-27 00:19:51 +00:00
Nextcloud bot 3f04d6aa00 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-02-26 00:19:32 +00:00
nextcloud-command 4eee001a4a chore(deps): fix npm audit
Signed-off-by: GitHub <noreply@github.com>
2024-02-25 02:57:27 +00:00
Nextcloud bot 2e64253c53 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-02-25 00:20:44 +00:00
Nextcloud bot d787449b67 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-02-24 00:19:52 +00:00
Nextcloud bot 5087de9f98 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-02-23 00:19:41 +00:00
John Molakvoæ 4d8907f471 Merge pull request #43718 from nextcloud/release/28.0.3rc2 2024-02-22 19:15:03 +01:00
skjnldsv b9f05efd4e 28.0.3rc2
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-02-22 18:51:20 +01:00
John Molakvoæ e09053f9de Merge pull request #43751 from nextcloud/backport/43732/stable28 2024-02-22 18:38:53 +01:00
John Molakvoæ 3d01af294a Merge pull request #43766 from nextcloud/backport/43765/stable28 2024-02-22 16:43:53 +01:00
Christoph Wurst c7ddc5fd54 fix(dav): Rate limit calendar/subscription creation
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-02-22 15:16:09 +01:00
Ferdinand Thiessen 73b3cfcd12 chore: Compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-02-22 14:07:40 +01:00
Ferdinand Thiessen 633e90994b chore: Update @nextcloud/dialogs to 5.1.2
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-02-22 14:04:50 +01:00
Joas Schilling 7d05faa07e Merge pull request #43708 from nextcloud/backport/43698/stable28
[stable28] fix(dav): fix getNodeForPath cache
2024-02-22 13:34:08 +01:00
John Molakvoæ 4d7455a3d5 Merge pull request #43741 from nextcloud/backport/43727/stable28 2024-02-22 10:37:22 +01:00
John Molakvoæ d61972445b Merge pull request #43726 from nextcloud/backport/43653/stable28 2024-02-22 10:37:11 +01:00
John Molakvoæ ff541493a8 Merge pull request #43685 from nextcloud/backport/43661/stable28 2024-02-22 10:37:02 +01:00
John Molakvoæ 836e37842e Merge pull request #43669 from nextcloud/backport/43637/stable28 2024-02-22 10:36:44 +01:00
John Molakvoæ ca2e57d57f Merge pull request #43304 from nextcloud/backport/43296/stable28 2024-02-22 10:36:23 +01:00
Anna Larch 79b8f2cffa [stable28] fix(dav): fix getNodeForPath cache
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-02-22 10:22:11 +01:00
John Molakvoæ 4b71b09c42 Merge pull request #43755 from nextcloud/backport/42987/stable28 2024-02-22 10:21:48 +01:00
John Molakvoæ 14353d953b chore(cypress): add 3 more runners
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2024-02-22 08:59:03 +00:00
John Molakvoæ be5d576c0c Merge pull request #43525 from nextcloud/backport/42544/stable28 2024-02-22 09:23:08 +01:00
Joas Schilling 3decdd9b19 fix(tests): Fix remaining tests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-02-22 08:41:26 +01:00
Louis Chemineau c1ef86cbdd Fix tests after slow logout fix
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-02-22 08:41:26 +01:00
Gaspard d'Hautefeuille 7e7a4ddd5c Keep https check
https://github.com/nextcloud/server/issues/41196 + keep https check

Co-authored-by: Louis <louis@chmn.me>
Signed-off-by: Gaspard d'Hautefeuille <github@dhautefeuille.eu>
2024-02-22 08:41:26 +01:00
Gaspard d'Hautefeuille 7418c3e1f4 Cancel PR #37405, remove regression code
Signed-off-by: Gaspard d'Hautefeuille <github@dhautefeuille.eu>
2024-02-22 08:41:26 +01:00
John Molakvoæ c8704b4970 Merge pull request #43719 from nextcloud/backport/43493/stable28 2024-02-22 08:40:35 +01:00
John Molakvoæ c35108c2c9 Merge pull request #43743 from nextcloud/backport/43656/stable28 2024-02-22 08:39:25 +01:00
Nextcloud bot 04300cc72b Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-02-22 00:19:44 +00:00
Louis Chemineau 986459e1e4 Hide some actions based on node permissions and share attributes
Signed-off-by: Louis Chemineau <louis@chmn.me>

Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-02-21 21:49:23 +01:00
Louis Chemineau 3c184c44a9 Check permissions when labeling a version
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-02-21 21:49:23 +01:00
Louis Chemineau 19fcee2ede Check node permissions when restoring a version
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-02-21 21:49:23 +01:00
Louis Chemineau fa1a08f5ee Check node permissions when deleting a version
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-02-21 21:49:23 +01:00
Louis Chemineau 0e07be4b88 Check share attributes when downloading versions
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-02-21 21:49:23 +01:00
Eduardo Morales 62ab6f1500 chore: compile assets
Signed-off-by: Eduardo Morales <emoral435@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-02-21 19:23:30 +00:00
Eduardo Morales 2cca0c34e9 feat: added l10n translation prop to calendar component
Signed-off-by: Eduardo Morales <emoral435@gmail.com>
2024-02-21 19:09:57 +00:00
Christopher Ng ff497306fd fix(settings): Fix required groups validation for subadmins
Signed-off-by: Christopher Ng <chrng8@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-02-21 18:26:05 +00:00
John Molakvoæ 4b06b5994d Merge pull request #43710 from nextcloud/backport/43697/stable28 2024-02-21 19:20:39 +01:00
Ferdinand Thiessen 211e808995 chore: Build CSS from SCSS
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>

Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-02-21 18:27:29 +01:00
Ferdinand Thiessen ce9f39e44d fix(styles): Add default styles for disabled input elements
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-02-21 18:26:19 +01:00
Ferdinand Thiessen fdf4234922 fix(styles): Replace deprecated CSS variables
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-02-21 18:26:19 +01:00
John Molakvoæ c7ad3bbbbb Merge pull request #43622 from nextcloud/backport/43604/stable28 2024-02-21 18:25:21 +01:00
John Molakvoæ 09c1f0db5e Merge pull request #43706 from nextcloud/backport/43701/stable28 2024-02-21 18:16:07 +01:00
nextcloud-command 644aeeaf49 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
Signed-off-by: Eduardo Morales <emoral435@gmail.com>
2024-02-21 17:54:05 +01:00
Eduardo Morales 9a10f31eae enh: breadcrumb icon matches nav view icon
Signed-off-by: Eduardo Morales <emoral435@gmail.com>
2024-02-21 17:54:05 +01:00
John Molakvoæ dc68447a22 Merge pull request #43722 from nextcloud/backport/43664/stable28 2024-02-21 17:30:23 +01:00
Eduardo Morales fdc379b8f5 enh: breadcrumbs icons are now more visually descriptive
Signed-off-by: Eduardo Morales <emoral435@gmail.com>
2024-02-21 08:38:30 -06:00
Josh 4a008e22cd fix(security): Describe occ security:bruteforce:attempts accurately
This command is used to list a summary of brute force protection attempts associated with a given IP address and, optionally, a specific action. It does not reset attempts (there's already another command for that).

Signed-off-by: Josh <josh.t.richards@gmail.com>
Co-authored-by: Joas Schilling <213943+nickvergessen@users.noreply.github.com>
2024-02-21 14:32:41 +00:00
Richard Steinmetz 4adda64d4e perf: skip request without read permission
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2024-02-21 12:46:33 +00:00
nextcloud-command 823143f43c chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-02-21 11:27:29 +00:00
John Molakvoæ 21bc3a3de7 Merge pull request #43672 from nextcloud/backport/43666/stable28 2024-02-21 12:03:52 +01:00
fenn-cs 7200241932 Fix undefined share object during expirationDate update
In 04e8733721 a regression was introduced.

`this` means nothing inside arrow functions, hence this.share was referring to

an undefined object and so all attempted updates for expiration dates would fail.

Resolves : https://github.com/nextcloud/server/issues/43256

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2024-02-21 11:43:31 +01:00
Julien Veyssier e34df6f25e compile assets
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2024-02-21 10:42:22 +01:00
Julien Veyssier b3fc30a077 stop the auto-logout loop after redirecting to the logout
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2024-02-21 10:40:53 +01:00
Joas Schilling 1442477d2d Merge pull request #43713 from nextcloud/backport/43712/stable28
[stable28] fix: Add bruteforce protection to federation endpoint
2024-02-21 10:20:10 +01:00
Josh 0d4a12b5db fix(files): Dont't warn re: full storage on either zero or unlimited quotas
Fixes #43535

Fixes #43280

Replaces #43544

Signed-off-by: Josh <josh.t.richards@gmail.com>

Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>

Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-02-21 09:06:01 +00:00
John Molakvoæ 4d077e9162 Merge pull request #43695 from nextcloud/backport/43688/stable28 2024-02-21 09:33:14 +01:00
Joas Schilling 33246095de fix: Add bruteforce protection to federation endpoint
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-02-21 08:22:46 +00:00
Nextcloud bot a1bbef14e6 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-02-21 00:19:15 +00:00
Eduardo Morales de7eb50ed0 chore(deps): bumped NcVue to 8.7.0
Signed-off-by: Eduardo Morales <emoral435@gmail.com>
2024-02-20 17:33:39 +01:00
Git'Fellow ca8f6fd94f Move away from deprecated utf_encode() on PHP 8.2+
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2024-02-20 08:13:57 +00:00
Nextcloud bot 5a5a8961e8 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-02-20 00:19:11 +00:00
Nextcloud bot 88c5e1ae6a Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-02-19 00:19:09 +00:00
Nextcloud bot 533dec0df0 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-02-18 00:19:55 +00:00
Nextcloud bot 8e596bb5e8 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-02-17 00:19:11 +00:00
Christoph Wurst e108fd2753 Merge pull request #43530 from nextcloud/backport/43464/stable28
[stable28] fix(userstatus): add back 0 timestamp for status without message
2024-02-16 17:02:56 +01:00
Nextcloud bot e622875f85 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-02-16 00:19:21 +00:00
Ferdinand Thiessen e302283b9f Merge pull request #43587 from nextcloud/backport/43558/stable28
[stable28] fix(settings): Disable SSL cert check for JavaScript modules SetupCheck
2024-02-15 12:51:29 +01:00
John Molakvoæ 0c1a0cdbbe Merge pull request #43578 from nextcloud/release/28.0.3_rc1 2024-02-15 11:16:39 +01:00
John Molakvoæ 129848afb4 Merge pull request #43591 from nextcloud/backport/stable28/43560 2024-02-15 09:21:36 +01:00
Pytal c1bb1f327d Merge pull request #43590 from nextcloud/backport/stable28/41670
[stable28] fix(papercut): rerendered submenu actions for time sensitive actions
2024-02-15 00:21:20 -08:00
Joas Schilling 54d5930175 Merge pull request #43596 from nextcloud/backport/43593/stable28
[stable28] fix: Add bruteforce protection to email endpoint
2024-02-15 09:09:14 +01:00
nextcloud-command 87b2f5a75b chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-02-15 08:00:08 +00:00
Christopher Ng a7fa944d55 enh(files_reminders): Allow clearing reminders
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit e64b4fe649)
2024-02-15 07:57:12 +00:00
Christopher Ng 2589e3dbf5 feat(files_reminders): Add propfind dav plugin
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 66f4c677c7)
2024-02-15 07:57:12 +00:00
John Molakvoæ 3c5b7e6323 Merge pull request #43585 from nextcloud/backport/43570/stable28 2024-02-15 08:30:57 +01:00
Joas Schilling e1e70267ec fix: Add bruteforce protection to email endpoint
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-02-15 08:13:03 +01:00
Joas Schilling b328015c71 Merge pull request #43037 from nextcloud/fix/36463/preview-not-generated-stable28
[stable28] Fix for previews not being generated sometimes
2024-02-15 07:53:16 +01:00
Marcel Müller 983336c36c fix(preview): Check if node id is null before deleting the preview folder
Signed-off-by: Marcel Müller <marcel-mueller@gmx.de>
2024-02-15 07:19:58 +01:00
nextcloud-command f4d3af99db chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-02-15 02:07:23 +00:00
Eduardo Morales b83da59399 fix(papercut): rerendered submenu actions for time sensitive actions
Signed-off-by: Eduardo Morales <emoral435@gmail.com>
(cherry picked from commit c4f6803549)
2024-02-14 17:49:13 -08:00
Nextcloud bot 82a3d2b5c1 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-02-15 00:20:09 +00:00
Ferdinand Thiessen 3df77839b7 fix(settings): Disable SSL cert check for JavaScript modules SetupCheck
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-02-14 23:38:44 +00:00
Julius Härtl b1b096a2c6 chore: Remove old theming migration steps as they are only needed once
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-02-14 21:14:11 +00:00
John Molakvoæ 9345af7af7 Merge pull request #43583 from nextcloud/backport/43582/stable28
[stable28] chore(deps): bump `@nextcloud/upload` to `1.0.5`
2024-02-14 20:36:12 +01:00
skjnldsv b4d10868ac chore(deps): bump @nextcloud/upload to 1.0.5
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-02-14 18:14:18 +01:00
skjnldsv 3d17db9cf8 28.0.3 RC1
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-02-14 16:58:09 +01:00
Grigorii K. Shartsev b0d6294125 Merge pull request #43559 from nextcloud/backport/43491/stable28
[stable28] fix(files_sharing): SharingEntryLink lost styles
2024-02-14 15:06:50 +05:00
Nextcloud bot 80052ba7a3 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-02-14 00:19:42 +00:00
Joas Schilling 88d0c825f6 Merge pull request #43483 from nextcloud/chore/stable28-adjust-db-testing
[stable28] fix(tests): Adjust mariadb testing matrix
2024-02-14 00:33:41 +01:00
nextcloud-command 5908f93b50 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-02-13 21:15:03 +00:00
Grigorii K. Shartsev 1619d1c7d5 fix(files_sharing): lost styles for SharingEntryLink
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
2024-02-13 20:46:29 +00:00
Joas Schilling 9d4ea50696 chore(drone): Sign adjusted .drone.yml config
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-02-13 20:42:08 +01:00
Ferdinand Thiessen 7df59110b0 fix(tests): Adjust mariadb testing matrix
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-02-13 20:42:08 +01:00
Joas Schilling 9577dde49e Merge pull request #43546 from nextcloud/backport/43519/stable28
[stable28] fix(sharing): Move video verification option to password and hide without Talk
2024-02-13 13:04:06 +01:00
nextcloud-command f0215e921f chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-02-13 11:15:07 +00:00
Joas Schilling 2b3cefc983 fix(sharing): Move video verification option to password and hide without Talk
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-02-13 10:06:32 +00:00
Nextcloud bot 79f2eb68e6 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-02-13 00:19:28 +00:00
Anna Larch ca179b7263 fix(userstatus): add back 0 timestamp for status without message
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-02-12 15:07:52 +00:00
Benjamin Gaussorgues 243d31c035 Merge pull request #43523 from nextcloud/backport/43349/stable28 2024-02-12 13:25:46 +01:00
Kate 5d409f75bf Merge pull request #43520 from nextcloud/backport/43251/stable28 2024-02-12 12:10:35 +01:00
Benjamin Gaussorgues 1afaac7031 fix(files_external): list root when using SMB case-insensitive option
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2024-02-12 10:16:31 +00:00
Côme Chilliet 4cf140b5e5 fix: Support other schemes than HTTP and HTTPS in app navigation
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-02-12 10:14:21 +00:00
Côme Chilliet ce808eefb5 fix: Revert external url support in icon as it’s not allowed
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-02-12 10:14:21 +00:00
Côme Chilliet eba0ff339b Allow application to pass external links in navigation
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-02-12 10:14:20 +00:00
Nextcloud bot 6c6af170c5 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-02-12 00:19:13 +00:00
Nextcloud bot 564065f69c Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-02-11 00:19:41 +00:00
Git'Fellow 9efab3a289 Merge pull request #43511 from nextcloud/backport/42991/stable28
[stable28] Lower failed movie preview generation logs to level info
2024-02-10 16:48:13 +01:00
Git'Fellow 0da4d1cd5a Lower failed movie preview to info
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2024-02-10 12:47:46 +00:00
Joas Schilling 0337414f6f Merge pull request #43505 from nextcloud/automated/noid/stable28-update-code-signing-crl
[stable28] fix(security): Update code signing revocation list
2024-02-10 13:27:42 +01:00
John Molakvoæ ef4d337854 Merge pull request #43470 from nextcloud/backport/42993/stable28 2024-02-10 09:48:29 +01:00
Ferdinand Thiessen 51e7e247f9 chore: Compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-02-10 09:35:54 +01:00
Ferdinand Thiessen 0a71193436 fix(files): Do not scroll if there is no scrolling area
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-02-10 09:28:48 +01:00
Ferdinand Thiessen 139dfab45a fix(files): Fix some type errors in TemplatePicker
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-02-10 09:28:48 +01:00
Ferdinand Thiessen e1c1ce779d enh(files): Add modal to set filename before creating new files in the fileslist
* Reactive `openfile` query

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-02-10 09:28:47 +01:00
nextcloud-command dbe9c8bda2 fix(security): Update code signing revocation list
Signed-off-by: GitHub <noreply@github.com>
2024-02-10 02:12:39 +00:00
Nextcloud bot bfb466f6b0 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-02-10 00:20:05 +00:00
Grigorii K. Shartsev 04a918cab3 Merge pull request #43485 from nextcloud/bump/bump-calendar-availability-vue-v2.1.0
Bump calendar-availability-vue to `v2.1.0`
2024-02-09 21:13:16 +05:00
julia.kirschenheuter 84b2251e59 Bump calendar-availability-vue to v2.1.0
Signed-off-by: julia.kirschenheuter <julia.kirschenheuter@nextcloud.com>
2024-02-09 15:32:30 +01:00
Robin Appelman 57ee788f01 Merge pull request #43391 from nextcloud/backport/43131/stable28
[stable28] fix(files): Don't attempt to format a partial cache entry
2024-02-09 14:29:23 +01:00
John Molakvoæ ad46f5841f Merge pull request #43473 from nextcloud/backport/43353/stable28 2024-02-09 14:16:00 +01:00
Ferdinand Thiessen 6bc949a678 chore: Compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-02-09 12:07:46 +01:00
Ferdinand Thiessen 6edcc0388e fix(files): Update webdav to 5.3.2 fixing handling of files with XML entities in their names
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-02-09 12:05:58 +01:00
Ferdinand Thiessen c4b164dee0 Merge pull request #43422 from nextcloud/backport/43317/stable28
[stable28] fix(ContactsStore): Sanitize user ID given to guest avatar route
2024-02-09 02:17:42 +01:00
Ferdinand Thiessen 57c72f830b Merge pull request #43456 from nextcloud/backport/43435/stable28
[stable28] do not break personal settings page is viewer is not there
2024-02-09 01:47:55 +01:00
Nextcloud bot 7daddb0f8c Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-02-09 00:19:50 +00:00
Ferdinand Thiessen 1363c4cc11 Merge pull request #43409 from nextcloud/backport/43385/stable28
[stable28] chore: Update `nextcloud-vue-collection` to drop duplicated nextcloud-vue
2024-02-08 23:32:25 +01:00
Ferdinand Thiessen a439f31447 chore: Update nextcloud-vue-collection to drop duplicates @nextcloud/vue dependency
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2024-02-08 18:42:19 +01:00
Simon L 365ec53d21 Merge pull request #43451 from nextcloud/backport/43433/stable28
[stable28] Use AccountPlusIcon in broadcrombs
2024-02-08 15:12:06 +01:00
Simon L 257b4fb683 fix psalm
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-02-08 13:40:22 +00:00
Simon L 01302f770f do not break personal settings page is viewer is not there
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-02-08 13:40:22 +00:00
Andy Scherzinger 905224d9c7 Merge pull request #43449 from nextcloud/backport/43213/stable28
[stable28] fix(sharing): migrate QuickShareSelect to NcActions
2024-02-08 14:21:50 +01:00
nextcloud-command 87745944d9 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-02-08 13:12:22 +00:00
Simon L 3c0505eb90 fix(files_sharing): use proper sharing AccountPlus icon in breadcrumbs
Signed-off-by: Simon L <szaimen@e.mail.de>

[skip ci]
2024-02-08 13:10:55 +00:00
Grigorii K. Shartsev bd45e71921 Merge pull request #43448 from nextcloud/backport/42444/stable28
[stable28] fix(files): move focus to sidebar on open
2024-02-08 17:54:01 +05:00
Grigorii K. Shartsev 33c7f9ba91 chore(assets): Recompile assets
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-02-08 11:24:05 +00:00
Simon L 32fbcd3b25 Merge pull request #43445 from nextcloud/backport/43357/stable28
[stable28] fix(migration): Make naming constraint fail softer on updates
2024-02-08 12:15:04 +01:00
Grigorii K. Shartsev 4c18023ad5 chore(assets): Recompile assets
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
2024-02-08 11:56:17 +01:00
Grigorii K. Shartsev 01ce061cc8 fix(sharing): migrate QuickShareSelect to NcActions
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
2024-02-08 10:52:44 +00:00
Grigorii K. Shartsev b3958652df fix(files): focus sidebar tab on tab or file change
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
2024-02-08 10:45:42 +00:00
Grigorii K. Shartsev 78a7f74357 fix(files): do not disable action on load to keep focus
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
2024-02-08 10:45:42 +00:00
Joas Schilling 1412eedbc4 fix(migration): Make naming constraint fail softer on updates
Only on installation we want to break hard, so that all developers notice
the bugs when installing the app on any database or CI, and can work on
fixing their migrations before releasing a version incompatible with Postgres.

In case of updates we might be running on production instances and the
administrators being faced with the error would not know how to resolve it
anyway. This can also happen with instances, that had the issue before the
current update, so we don't want to make their life more complicated
than needed.

Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-02-08 10:07:19 +00:00
Robin Appelman 62a8f2db5c Merge pull request #43421 from nextcloud/backport/41015/stable28
[stable28] continue background scanning different storages if one fails
2024-02-08 10:16:57 +01:00
Nextcloud bot 6f622c170e Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-02-08 00:19:54 +00:00
Pytal 7a6e6e0f55 Merge pull request #43434 from nextcloud/stable28-bump-ncvue-to-v8.6.2
[stable28] Bump NcVue to `v8.6.2`
2024-02-07 11:41:18 -08:00
nextcloud-command 7508c89154 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-02-07 18:37:09 +00:00
julia.kirschenheuter f3860ad943 Bump NcVue to v8.6.2
Signed-off-by: julia.kirschenheuter <julia.kirschenheuter@nextcloud.com>
2024-02-07 10:32:27 -08:00
John Molakvoæ 7d9c4cf699 Merge pull request #43418 from nextcloud/backport/43267/stable28 2024-02-07 12:15:56 +01:00
nextcloud-command 8b12b16a91 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>

Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-02-07 09:53:53 +00:00
Ferdinand Thiessen d15d7bcba0 fix(ContactsStore): Sanitize user ID given to guest avatar route
It is not allowed to use slashes within path parameters, so they would need to be encoded.
But URL encoded slashes are not suported by Apache, so instead replace slash with space.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-02-07 09:23:52 +00:00
Robin Appelman b2487de1e1 continue background scanning different storages if one fails
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-02-07 09:08:15 +00:00
John Molakvoæ 6dd7cd4874 fix(files): setup cannot be in mixins
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2024-02-07 08:53:32 +00:00
John Molakvoæ a3adb15dcd chore(files): move shared FileEntry and FileEntryGrid into a mixin
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2024-02-07 08:53:32 +00:00
John Molakvoæ 468bb92250 fix(files) selection store typing
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2024-02-07 08:53:32 +00:00
John Molakvoæ c48edcb2be fix(files): drop to folder path and user feedback
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2024-02-07 08:53:32 +00:00
John Molakvoæ 5dc2200ca0 Merge pull request #43404 from nextcloud/backport/43217/stable28 2024-02-07 08:54:42 +01:00
Matthieu Gallien 13d0f5a34b Merge pull request #43372 from nextcloud/automated/noid/stable28-update-code-signing-crl
[stable28] fix(security): Update code signing revocation list
2024-02-07 08:45:02 +01:00
nextcloud-command d33c95775e fix(security): Update code signing revocation list
Signed-off-by: GitHub <noreply@github.com>
2024-02-07 02:11:42 +00:00
Ferdinand Thiessen 9d04d93d92 Merge pull request #43392 from nextcloud/backport/43319/stable28
[stable28] Fix color of app menu entries and background color
2024-02-07 02:54:07 +01:00
Ferdinand Thiessen a2a5a7a217 chore: Compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-02-07 02:00:52 +01:00
Ferdinand Thiessen 31a72b4ad7 fix(cypress): Adjust cypress tests for changed theming
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-02-07 02:00:52 +01:00
Ferdinand Thiessen 2d548e6496 fix(theming): The background is the primary color and must not be double inverted
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-02-07 02:00:40 +01:00
Nextcloud bot a37fe5b6e3 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-02-07 00:19:20 +00:00
John Molakvoæ 647b8746b0 fix(files): add mount root property and adjust delete wording
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-02-06 20:50:47 +00:00
Pytal 7412cb02a6 Merge pull request #43403 from nextcloud/backport/43369/stable28
[stable28] fix: added last two places for aria-labels on setting icons
2024-02-06 12:42:55 -08:00
Eduardo Morales 4b40638d00 fix: added last two places for aria-labels on setting icons
Signed-off-by: Eduardo Morales <emoral435@gmail.com>
2024-02-06 18:56:02 +00:00
Julia Kirschenheuter 2f6b641011 Merge pull request #43388 from nextcloud/backport/43358/stable28
[stable28] fix(settings): focus on federation scope after dialog
2024-02-06 14:37:06 +01:00
Joas Schilling a523a87951 Merge pull request #43384 from nextcloud/backport/40725/stable28
[stable28] chore: Use the same configuration in update-baseline as in psalm workflow
2024-02-06 14:00:04 +01:00
Christoph Wurst 700a5d7ba2 fix(files): Don't attempt to format a partial cache entry
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-02-06 12:53:13 +00:00
nextcloud-command 87dde68b18 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-02-06 12:32:08 +00:00
Grigorii K. Shartsev 528d69d87f chore(assets): Recompile assets
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
2024-02-06 12:25:25 +00:00
Grigorii K. Shartsev 95aecf6216 techdebt(settings): mark visibility selects as label-outside
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
2024-02-06 12:25:25 +00:00
Grigorii K. Shartsev 723cbcb708 fix(settings): focus on trigger after federation scope dialog close
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
Co-authored-by: Pytal <24800714+Pytal@users.noreply.github.com>
2024-02-06 12:25:25 +00:00
Côme Chilliet 7b0a559e63 chore: Use the same configuration in update-baseline as in psalm workflow
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-02-06 10:32:05 +01:00
Andy Scherzinger de19878cdf Merge pull request #43347 from nextcloud/backport/42552/stable28
[stable28] fix(theming): change color button contrast
2024-02-06 10:19:56 +01:00
Nextcloud bot 341375b750 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-02-06 00:19:20 +00:00
John Molakvoæ 35934f356b Merge pull request #43359 from nextcloud/backport/43318/stable28 2024-02-05 16:54:25 +01:00
John Molakvoæ 34a53941fb fix(files): dav owner and mime types
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>

Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>

Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-02-05 15:24:51 +00:00
John Molakvoæ 7b7df96fd6 Merge pull request #43336 from nextcloud/backport/43330/stable28 2024-02-05 15:42:32 +01:00
nextcloud-command bccad8350c chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-02-05 12:55:41 +00:00
John Molakvoæ ff5d0f3c08 fix(files): better null relatedTarget event detection
Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>

Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>

Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>

Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-02-05 12:55:00 +00:00
John Molakvoæ a1662d8bb9 fix(files): drag leave detection on safari
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2024-02-05 12:50:56 +00:00
Ferdinand Thiessen e8fa96ba5d fix(cypress): Wait for color change in pickRandomColor
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-02-05 12:00:12 +01:00
Grigorii K. Shartsev 360ca48ad0 test(theming): update e2e tests after separating color button and preview
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
2024-02-05 09:49:53 +00:00
Grigorii K. Shartsev b025ee0701 fix(theming): change color button contrast on admin settings
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
2024-02-05 09:49:53 +00:00
Grigorii K. Shartsev d36f846d35 fix(theming): change color button contrast on user settings
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
2024-02-05 09:49:53 +00:00
Nextcloud bot 9a0c5686c7 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-02-05 00:19:49 +00:00
Nextcloud bot caa2a97890 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-02-04 00:19:39 +00:00
Ferdinand Thiessen b96a2876c2 Merge pull request #43294 from nextcloud/backport/42811/stable28
[stable28] make failure to load app commands non-fatal
2024-02-03 21:18:09 +01:00
Ferdinand Thiessen 54e8c8f0b6 Merge pull request #43278 from nextcloud/backport/43024/stable28
[stable28] Consider admin defaults when creating shares
2024-02-03 21:17:17 +01:00
nextcloud-command 9be6d0f9e5 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-02-03 19:38:44 +00:00
fenn-cs d36c002305 Use @nextcloud/capabilities to obtain share api defaults
- Remove redundant initial state added

- Call `getCapabilities()` in share config file.

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2024-02-03 20:31:03 +01:00
fenn-cs 61adb716fe Consider admin defaults when creating shares
The current share logic always uses the default `BUNDLED_PERMISSIONS.ALL`
which includes everything.

This commit updates share creation logic to use `defaultPermissions` if set
by admin for the creation of new shares.

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2024-02-03 20:30:51 +01:00
Ferdinand Thiessen 44c9651c1c Merge pull request #43236 from nextcloud/backport/40594/stable28
[stable28] dav: fix wrong decoding of pluses in URLs
2024-02-03 19:59:07 +01:00
Lorenz Brun 745b6970bb dav: fix wrong decoding of pluses in URLs
PHP's urldecode function does not decode URLs according to RFC 3986, but
according to the HTML 4.01 query parameter
encoding. This results in pluses being wrongly decoded to spaces even
though they should not be decoded at all.

Use rawurldecode instead, which follows RFC 3986 properly.

This fixes an issue where files on DAV shares containing pluses were
incorrectly decoded to spaces.

Fixes: #15849
Signed-off-by: Lorenz Brun <lorenz@brun.one>
2024-02-03 15:29:18 +01:00
Ferdinand Thiessen d0295750b9 Merge pull request #43282 from nextcloud/backport/42696/stable28
[stable28] fix(caldav): only call getTimestamp() on actual DateTime data
2024-02-03 15:26:31 +01:00
Ferdinand Thiessen 8bf8074dc5 Merge pull request #43222 from nextcloud/backport/43172/stable28
[stable28] fix(files): selected files actions position on scroll/with readme block
2024-02-03 15:21:54 +01:00
nextcloud-command 4b8f25cebf chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-02-03 14:25:18 +01:00
Thomas Citharel 020c2960b8 fix(caldav): only call getTimestamp() on actual DateTime data
For some reason the value of $component['DTSTART'][0] may not be a DateTimeImmutable

Closes #42464

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-02-03 14:24:09 +01:00
Grigorii K. Shartsev 5b792407a1 fix(files): selected files actions position on scroll/with readme block
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
2024-02-03 14:22:43 +01:00
Ferdinand Thiessen 7a7f6c84d4 Merge pull request #43175 from nextcloud/backport/43147/stable28
[stable28] fix(files): Consistent sorting for folders before files (user configurable)
2024-02-03 14:22:11 +01:00
Ferdinand Thiessen b91688ed55 Merge pull request #43046 from nextcloud/backport/43045/stable28
[stable28] fix(apps): Fix type information of app manager
2024-02-03 14:11:17 +01:00
Ferdinand Thiessen 933ad5e4d2 Merge pull request #43181 from nextcloud/backport/42930/stable28
[stable28] Fix: config param 'overwritecondaddr' not working
2024-02-03 12:16:56 +01:00
Ferdinand Thiessen 41dadfabaf chore: Compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-02-03 12:05:06 +01:00
Ferdinand Thiessen 2bfa14ed87 fix(cypress): Adjust files sorting tests
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-02-03 11:53:21 +01:00
Ferdinand Thiessen 8b57f5d4bb fix(files): Consistent sorting for folders before files (user configurable)
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-02-03 11:53:21 +01:00
Joas Schilling 44023ff047 fix(apps): Fix type information of app manager
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-02-03 11:47:47 +01:00
Julia Kirschenheuter e0f96bc1ac Merge pull request #43040 from nextcloud/backport/43028/stable28
[stable28] Correct values and attributes
2024-02-03 11:35:44 +01:00
Julia Kirschenheuter 363f95c9c8 Merge pull request #43044 from nextcloud/backport/43015/stable28
[stable28] Replace inaccessible disabled option of NcCheckboxRadioSwitch with NcNoteCard
2024-02-03 11:35:35 +01:00
nextcloud-command 4b2bea68ec chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-02-03 09:36:25 +00:00
nextcloud-command 811cc1226b chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-02-03 10:16:27 +01:00
julia.kirschenheuter 1380e5b5e2 Correct values and attributes
Signed-off-by: julia.kirschenheuter <julia.kirschenheuter@nextcloud.com>
2024-02-03 10:14:59 +01:00
nextcloud-command a2298b8f09 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-02-03 09:31:48 +01:00
julia.kirschenheuter 8f5d05c3d8 fix(files): replace inaccessible disabled option of NcCheckboxRadioSwitch with NcNoteCard
Signed-off-by: julia.kirschenheuter <julia.kirschenheuter@nextcloud.com>
2024-02-03 09:31:35 +01:00
Julia Kirschenheuter fad72344c5 Merge pull request #43112 from nextcloud/backport/43098/stable28
[stable28] fix(settings): federation scope menu a11y
2024-02-03 09:20:51 +01:00
Nextcloud bot 0f6b626ce8 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-02-03 00:19:24 +00:00
Julia Kirschenheuter a4a6c5f455 Merge pull request #43291 from nextcloud/backport/43271/stable28
[stable28] fix(user_status): Fix losing focus to body when closing user status modal
2024-02-02 21:05:07 +01:00
nextcloud-command 1c9d0989b4 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-02-02 11:18:47 -08:00
Christopher Ng ac2d5924aa fix(user_status): Fix losing focus to body when closing user status modal
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2024-02-02 11:18:47 -08:00
Joas Schilling 0aa9e2c3c7 Merge pull request #43295 from nextcloud/backport/43273/stable28
[stable28] fix(tests): Make the cypress apps management test more reliable
2024-02-02 19:40:07 +01:00
Robin Appelman d404202869 fix successfull authentication detection
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-02-02 18:38:16 +00:00
Grigorii K. Shartsev 2d8c0dfeaa Merge pull request #43292 from nextcloud/backport/43174/stable28
[stable28] fix(files): do not open file by id on load for folders
2024-02-02 23:16:20 +05:00
Grigorii K. Shartsev 85d2baa4ae chore(assets): Recompile assets
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
2024-02-02 17:08:00 +01:00
Ferdinand Thiessen eab6b49854 Merge pull request #43013 from nextcloud/backport/42821/stable28
[stable28] Remove disputed bz2 check
2024-02-02 17:07:49 +01:00
Grigorii K. Shartsev f90d70d0b0 fix(files): do not open file by id on load for folders
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-02-02 17:04:58 +01:00
Grigorii K. Shartsev 453fa74de4 chore(assets): Recompile assets
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-02-02 17:01:18 +01:00
Grigorii K. Shartsev 2909263b30 fix(settings): use default styles for federation scope menu
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
2024-02-02 16:56:59 +01:00
Grigorii K. Shartsev b1ed3f888a fix(settings): federation scope menu a11y
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
2024-02-02 16:56:59 +01:00
Ferdinand Thiessen 3658380733 Merge pull request #43066 from nextcloud/backport/42732/stable28
[stable28] fix(a11y): Fix informative graphics contrast of user status icons
2024-02-02 16:56:33 +01:00
Joas Schilling 2be083169e fix(tests): Make the cypress apps management test more reliable
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-02-02 15:37:44 +00:00
Ferdinand Thiessen 579242ef07 chore: Compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-02-02 16:10:24 +01:00
Christopher Ng 72c0626ac3 chore(user_status): Remove unused styles + svgs
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit b61c13c8eb)
2024-02-02 16:08:51 +01:00
Christopher Ng 6553d91638 fix(user_status): Migrate to NcUserStatusIcon
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit f060475189)
2024-02-02 16:08:51 +01:00
Christopher Ng e429435349 fix(dashboard): Migrate to NcUserStatusIcon
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 693eb6926e)
2024-02-02 16:08:51 +01:00
Ferdinand Thiessen 5e22ee1e05 Merge pull request #43167 from nextcloud/backport/43084/stable28
[stable28] Move modal outside of the Version component.
2024-02-02 16:07:51 +01:00
Robin Appelman 44d3a4ffba make failure to load app commands non-fatal
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-02-02 15:01:13 +00:00
nextcloud-command b65c5ead68 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-02-02 14:36:01 +00:00
J0WI d8ba5f621f Remove disputed bz2 check
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2024-02-02 15:34:36 +01:00
Ferdinand Thiessen 30706d4f41 Merge pull request #43126 from nextcloud/backport/43078/stable28
[stable28] handle storage not available when expiring versions
2024-02-02 15:14:41 +01:00
Louis Chemineau a445a87339 Move modal outside of the Version component.
This is for accessibility, to have the NcListItem (<li>) as a direct child of the <ul>

Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-02-02 15:14:02 +01:00
Ferdinand Thiessen 36f58ae4d8 Merge pull request #43064 from nextcloud/backport/43061/stable28
[stable28] chore: Bump @nextcloud/vue to v8.5.1
2024-02-02 15:12:34 +01:00
Robin Appelman 27ac4e25b7 handle storage not available when expiring versions
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-02-02 12:51:13 +01:00
Christopher Ng 45cd4dfa20 test(files): Fix file picker test
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2024-02-02 12:44:25 +01:00
Christopher Ng bd50327fd1 test(theming): Fix navigation bar tests
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2024-02-02 12:44:25 +01:00
Christopher Ng 0ed973b3f6 chore: Update dav snapshot
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2024-02-02 12:44:25 +01:00
Christopher Ng ae1e1d30d7 chore: compile assets
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2024-02-02 12:44:23 +01:00
Christopher Ng 7a0d9e7ab5 chore: Bump @nextcloud/vue to v8.5.1
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2024-02-02 12:38:34 +01:00
Ferdinand Thiessen 1f80acb0ea Merge pull request #43065 from nextcloud/backport/42822/stable28
[stable28] fix(settings): set viewBox on SVG icons
2024-02-02 12:36:30 +01:00
Ferdinand Thiessen 7dc0234775 Merge pull request #43158 from nextcloud/backport/43094/stable28
[stable28] fix: added a label element to the NcSelect in update settings
2024-02-02 12:07:32 +01:00
Simon L dce5df4a5c Merge pull request #43129 from nextcloud/backport/43047/stable28
[stable28] Buffer chunked requests
2024-02-02 06:55:34 +01:00
Nextcloud bot 477f6f1f86 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-02-02 00:19:41 +00:00
nextcloud-command c1f76cda94 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-02-01 23:49:07 +01:00
Grigorii K. Shartsev 0df65df58f fix(settings): set viewBox on SVG icons
Without viewBox they don't scale

Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
2024-02-01 23:40:51 +01:00
Ferdinand Thiessen 8d1d8da6b5 Merge pull request #43108 from nextcloud/backport/43090/stable28
[stable28] fix(files): combine navigation and files list into single Vue app
2024-02-01 23:34:27 +01:00
Ferdinand Thiessen 5249783dc8 Merge pull request #42776 from nextcloud/backport/42184/stable28
[stable28] enh(UnifiedSearch): Keep the searchbar on top of the modal
2024-02-01 23:18:23 +01:00
Pytal 2e4154d2ca Merge pull request #43155 from nextcloud/backport/43137/stable28
[stable28] fix(files_sharing): Return focus to trigger element on sharing details close
2024-02-01 13:38:31 -08:00
Christopher Ng ab2cd8cd86 chore: compile assets
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2024-02-01 10:20:54 -08:00
Ferdinand Thiessen 257ea23245 Merge pull request #43133 from nextcloud/backport/43099/stable28
[stable28] fix(tests): Make PostgreSQL unit tests less flacky by ordering
2024-02-01 19:20:26 +01:00
Christopher Ng d32abae55d fix(files_sharing): Return focus to trigger element on sharing details close
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2024-02-01 10:15:58 -08:00
nextcloud-command ddb1610ca2 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-02-01 19:13:28 +01:00
John Molakvoæ 8b92cf8692 fix(files): right lick actions menu
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-02-01 18:37:43 +01:00
Grigorii K. Shartsev 5620e057cf fix(files): combine navigation and files list into single Vue app
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-02-01 18:35:56 +01:00
Ferdinand Thiessen ffeecd86cf enh(UnifiedSearch): Keep the searchbar on top of the modal
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-02-01 17:21:23 +01:00
Ferdinand Thiessen e49c331b71 Merge pull request #42777 from nextcloud/backport/42292/stable28
[stable28] fix(a11y): Unified search headings the sequel
2024-02-01 17:13:45 +01:00
Ferdinand Thiessen 5ea2f483d9 Merge pull request #43242 from nextcloud/backport/41338/stable28
[stable28] fix(files): make sure we focus the parent actions submenu entry
2024-02-01 16:16:03 +01:00
Louis Chemineau 2367b57593 Buffer chunked requests
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-02-01 15:55:39 +01:00
Ferdinand Thiessen 2b17710ce5 Merge pull request #43196 from nextcloud/backport/43031/stable28
[stable28] Document throwing behavior of SetupResult upon invalid rich object
2024-02-01 14:28:41 +01:00
Ferdinand Thiessen ca8d71966f Merge pull request #43244 from nextcloud/backport/41327/stable28
[stable28] dont reuse etag for folders marked explicitly unscanned
2024-02-01 14:21:40 +01:00
Joas Schilling f1af8ea48d fix(tests): Make PostgreSQL unit tests less flacky by ordering
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-02-01 12:19:08 +01:00
Ferdinand Thiessen 6bdee0564e Merge pull request #43192 from nextcloud/backport/42794/stable28
[stable28] fix(Request): Catch exceptions in `isTrustedProxy`
2024-02-01 12:16:51 +01:00
Ferdinand Thiessen d501f2de92 Merge pull request #43195 from nextcloud/backport/42331/stable28
[stable28] fix(settings): Disable renaming for tokens marked to be wiped
2024-02-01 12:15:23 +01:00
Benjamin Gaussorgues 619dd9396b Merge pull request #43253 from nextcloud/release/28.0.2
28.0.2
2024-02-01 10:31:30 +01:00
Benjamin Gaussorgues b80ee59e1c 28.0.2
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2024-02-01 10:18:29 +01:00
Nextcloud bot 0f24d9d590 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-02-01 00:19:14 +00:00
Robin Appelman 9616d48c38 also updated parent etags when a changed etag is detected during scanning
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-01-31 18:27:29 +00:00
Robin Appelman 404b340dda add test for updating etag with unchanged mtime in child folder
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-01-31 18:27:29 +00:00
Robin Appelman f56a8e7e9e add test for updating etag with unchanged mtime
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-01-31 18:27:29 +00:00
Robin Appelman b38708afaf dont reuse etag for folders marked explicitly unscanned
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-01-31 18:27:29 +00:00
nextcloud-command 659a3afa1a chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-01-31 17:28:18 +00:00
John Molakvoæ 02f2850817 fix(files): make sure we focus the parent actions submenu entry
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2024-01-31 17:14:53 +00:00
Nextcloud bot 4b01ca87a4 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-31 00:19:32 +00:00
Nextcloud bot 032adc0080 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-30 00:19:17 +00:00
Côme Chilliet 7fe2c6f3f0 Document throwing behavior of SetupResult upon invalid rich object
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-01-29 21:11:18 +00:00
Ferdinand Thiessen a61c11fc23 chore: Compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-01-29 22:06:49 +01:00
Ferdinand Thiessen 193bb176d5 fix(settings): Disable renaming for tokens marked to be wiped
This otherwise a WipeException will be thrown when trying to rename

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-01-29 17:47:46 +00:00
Ferdinand Thiessen cfc12b8650 fix(Request): Catch exceptions in isTrustedProxy
The function fails if the configured trusted proxies contain invalid characters and the underlying IpUtils will throw.
But as it is used by `getRemoteAddress` which is used by logging / templating, thrown errors are not reported but silently fail with error 500.

Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Co-authored-by: Joas Schilling <213943+nickvergessen@users.noreply.github.com>
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-01-29 15:23:50 +00:00
Benjamin Gaussorgues 27c5c17f1e Merge pull request #43151 from nextcloud/release/28.0.2_rc5
28.0.2 RC5
2024-01-29 16:01:46 +01:00
Eduardo Morales f59ef7ba2f chore: compile assets
Signed-off-by: Eduardo Morales <emoral435@gmail.com>
2024-01-29 08:33:13 -06:00
Eduardo Morales eea9900e56 fix: added a label element to the NcSelect in update settings
Signed-off-by: Eduardo Morales <emoral435@gmail.com>

Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>

[skip ci]
2024-01-29 08:33:13 -06:00
Arthur Schiwon d7b8f586d4 test(unit): fix RequestTest
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-01-29 09:58:56 +00:00
Pavel Kryl 8442ed014d code style: ommited space, reverted [code review] 2024-01-29 09:58:56 +00:00
Pavel Kryl 21625f0d66 fixing bug #6914: Config Param 'overwritecondaddr' not working
- just ignoring/removing extra parameter 'protocol' as suggested by
  blizzz

Signed-off-by: Pavel Kryl <pavel@kryl.eu>
2024-01-29 09:58:56 +00:00
Nextcloud bot a35ba912b9 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-29 00:19:37 +00:00
Nextcloud bot a6b0fb1db7 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-28 00:19:17 +00:00
Ferdinand Thiessen b062e03030 Merge pull request #43169 from nextcloud/backport/43152/stable28
[stable28] fix(files): disable `Unshare` until proper fix
2024-01-27 14:24:50 +01:00
John Molakvoæ dd87b3a9ad fix(files): disable Unshare until proper fix
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2024-01-27 13:10:48 +01:00
Nextcloud bot 787b2a3c90 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-27 00:38:38 +00:00
Ferdinand Thiessen af78145e21 Merge pull request #43150 from nextcloud/backport/43148/stable28
[stable28] Update `@nextcloud/dialogs` to 5.1.1
2024-01-27 01:19:12 +01:00
Ferdinand Thiessen 4b3e6eabab fix(cypress): Await copy move request to avoid flaky CI
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-01-26 16:25:43 +01:00
Arthur Schiwon b61ab2b968 28.0.2 RC5
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-01-26 16:12:36 +01:00
Ferdinand Thiessen 02432159f5 chore: Compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-01-26 14:56:12 +01:00
Ferdinand Thiessen 9d949c15a2 chore: Update @nextcloud/dialogs to 5.1.1
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-01-26 14:55:03 +01:00
Nextcloud bot b0c003d7be Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-26 00:19:18 +00:00
Arthur Schiwon a997193815 Merge pull request #43095 from nextcloud/release/28.0.2_rc4
28.0.2 RC4
2024-01-25 20:12:52 +01:00
Arthur Schiwon 400f459465 Merge pull request #43119 from nextcloud/backport/42992/stable28
[stable28] fix(files): Make the navigation reactive to view changes and show also sub routes as active
2024-01-25 20:09:14 +01:00
nextcloud-command 732283f6d1 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-01-25 17:45:05 +01:00
Ferdinand Thiessen 6a5181f534 fix(files): Ensure the correct dir query is set on folder action
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-01-25 17:43:48 +01:00
Ferdinand Thiessen 3add75cd16 fix(files): Make sure to add the fileid on favorite folders navigation entries
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-01-25 17:43:48 +01:00
Ferdinand Thiessen 5db658c655 fix(files): Make sure $navigation is observable to react on changes
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-01-25 17:43:48 +01:00
Ferdinand Thiessen d1fc93ede1 fix(files): Set default view and match also child routes
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-01-25 17:43:43 +01:00
Ferdinand Thiessen 24f4997778 fix(files): Add declaration for $navigation
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-01-25 15:48:11 +00:00
Joas Schilling ddc22c857e Merge pull request #43107 from nextcloud/backport/42896/stable28
[stable28] fix(userstatus): CALL status should overwrite MEETING status
2024-01-25 14:03:55 +01:00
Joas Schilling aa24c671dc fix(userstatus): Also set the user status when the user has no status at all
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-01-25 10:10:41 +00:00
Anna Larch a3095303d5 fix(userstatus): CALL status should overwrite MEETING status
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-01-25 10:10:41 +00:00
Nextcloud bot 4d43b6e3d5 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-25 00:19:22 +00:00
Arthur Schiwon 35fa77c5b8 28.0.2 RC4
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-01-24 20:51:15 +01:00
Arthur Schiwon 20e16b9d6f Merge pull request #43091 from nextcloud/fix/28-router
[stable28] chore: Update `@nextcloud/router` to 2.2.1
2024-01-24 20:34:23 +01:00
Ferdinand Thiessen 5f380181f9 fix(tests): Adjust legacy tests for nextcloud-router update
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-01-24 19:29:08 +01:00
Ferdinand Thiessen 425729d8a3 chore: Update @nextcloud/router to 2.2.1
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-01-24 18:31:50 +01:00
Joas Schilling 520f3d41f5 Merge pull request #43070 from nextcloud/automated/noid/stable28-update-code-signing-crl
[stable28] fix(security): Update code signing revocation list
2024-01-24 08:58:43 +01:00
nextcloud-command 41a6392979 fix(security): Update code signing revocation list
Signed-off-by: GitHub <noreply@github.com>
2024-01-24 02:19:39 +00:00
Nextcloud bot 017589fb29 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-24 00:20:19 +00:00
Arthur Schiwon b9faaef35a Merge pull request #43059 from nextcloud/release/28.0.2_rc3
28.0.2 RC3
2024-01-23 20:03:38 +01:00
Arthur Schiwon bcea51d6bf Merge pull request #43055 from nextcloud/backport/42999/stable28
[stable28] fix(settings): Allow to connect to local address when checking for `.mjs` support
2024-01-23 19:54:05 +01:00
Arthur Schiwon ae1fa1828f Merge pull request #43058 from nextcloud/backport/43029/stable28
[stable28] Wrap versions list in virtual scroll
2024-01-23 19:06:35 +01:00
Arthur Schiwon 20e3f79806 28.0.2 RC3
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-01-23 18:24:07 +01:00
Louis Chemineau 9cfa6ef77b Compile assets
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-01-23 18:02:39 +01:00
Louis Chemineau a256b73cff Wrap versions list in virtual scroll
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-01-23 16:57:49 +00:00
Ferdinand Thiessen 71e9036e03 fix(settings): Allow to connect to local address when checking for .mjs support
Also reduce the severity in case of a failed check to warning.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-01-23 14:12:29 +00:00
Benjamin Gaussorgues 92a776d07b Merge pull request #43003 from nextcloud/release/28.0.2_rc2
28.0.2 RC2
2024-01-23 10:26:50 +01:00
Arthur Schiwon 667b0bc3ff Merge pull request #43032 from nextcloud/fix/stable28-capabilities
[stable28] fix(theming): Apply same logic on capabilities for primary color as done on themes
2024-01-23 10:12:09 +01:00
Nextcloud bot c6c9ec9c14 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-23 00:27:14 +00:00
Ferdinand Thiessen afa56bb8a4 fix(theming): Apply same logic on capabilities for primary color like on themes
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-01-23 01:01:03 +01:00
nextcloud-command d6a58ef792 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-01-22 20:25:10 +00:00
Arthur Schiwon 52a6789423 Merge pull request #43030 from nextcloud/backport/42967/stable28
[stable28] fix(files): do not show `View in folder` in the Files view
2024-01-22 21:11:22 +01:00
Christopher Ng a3732d5639 fix(a11y): Unified search headings the sequel
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2024-01-22 11:54:35 -08:00
nextcloud-command 14c1d3da4d chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-01-22 20:42:41 +01:00
John Molakvoæ 3c5a09b9a4 fix(files): do not show View in folder in the Files view
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2024-01-22 20:39:37 +01:00
Arthur Schiwon 9398e90828 Merge pull request #43012 from nextcloud/backport/42971/stable28
[stable28] fix(auth): Fix logging in with email and app password
2024-01-22 20:24:26 +01:00
Arthur Schiwon dad03dbc73 Merge pull request #43006 from nextcloud/backport/42996/stable28
[stable28] fix(weather_status): Fix location format for OpenAPI
2024-01-22 20:16:14 +01:00
Arthur Schiwon 9657dbcfae Merge pull request #43014 from nextcloud/backport/42963/stable28
[stable28] fix header inversion bug
2024-01-22 20:03:47 +01:00
Benjamin Gaussorgues 2be4fb7e7b Merge pull request #42820 from nextcloud/enh/noid/prep-appconfig-migration-for-29
[stable28] prepare migration to lazy config
2024-01-22 15:58:43 +01:00
Maxence Lange 7b6b3589f3 prepare migration to lazy config
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2024-01-22 11:32:23 -01:00
Ferdinand Thiessen b0679e2384 chore: Built CSS assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-01-22 11:19:59 +00:00
Simon L 99043c363d fix header inversion bug
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-01-22 10:15:43 +00:00
Christoph Wurst 0e3f68079e fix(auth): Fix logging in with email, password and login name mismatch
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-01-22 09:43:59 +00:00
Joas Schilling 7026fa6fa2 Merge pull request #42960 from nextcloud/backport/42955/stable28
[stable28] fix(a11y): Fix avatar menu icon color in dark mode
2024-01-22 10:27:00 +01:00
provokateurin a7e9803461 fix(weather_status): Fix location format for OpenAPI
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-01-22 09:00:53 +00:00
Benjamin Gaussorgues 1f341feac8 28.0.2 RC2
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2024-01-22 09:30:41 +01:00
Joas Schilling 827baadbff chore(assets): Recompile JS
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-01-22 09:16:01 +01:00
Joas Schilling 2fec523604 fix(a11y): Fix avatar menu icon color in dark mode
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-01-22 09:15:44 +01:00
Nextcloud bot 0004ba890c Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-22 00:20:18 +00:00
John Molakvoæ 753425f622 Merge pull request #42994 from nextcloud/fix/stable28-dialogs 2024-01-21 11:00:14 +01:00
Ferdinand Thiessen efaf1ceddc chore: Compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-01-21 10:04:21 +01:00
Ferdinand Thiessen 0fed5f3c8f chore(deps): Update @nextcloud/dialogs to 5.1.0
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-01-21 10:04:20 +01:00
John Molakvoæ c67ff102e4 Merge pull request #42983 from nextcloud/backport/42949/stable28 2024-01-21 10:01:31 +01:00
Nextcloud bot 0c89b042a5 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-21 00:38:52 +00:00
nextcloud-command f64af7cb83 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-01-21 01:20:02 +01:00
Christopher Ng fad87c58a7 fix(files): Fix checkbox state semantics
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2024-01-21 01:13:56 +01:00
Ferdinand Thiessen 3c6fc68561 Merge pull request #42988 from nextcloud/backport/42889/stable28
[stable28] enh(files): Allow to copy files into same directory
2024-01-21 01:02:01 +01:00
Ferdinand Thiessen 79ef297fea Merge pull request #42986 from nextcloud/backport/stable28-profile-vue
[stable28] profile: Refactor code to use vue components and styles where possible
2024-01-21 00:58:47 +01:00
nextcloud-command 9818ba83fa chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-01-20 12:42:45 -06:00
Ferdinand Thiessen 84e2165aef fix(files): Allow to copy or move file to folder with similar name
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-01-20 12:42:45 -06:00
Ferdinand Thiessen 20331e4349 fix(files): Adjust getUniqueName for custom suffix and reuse for copy-move-action
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-01-20 12:42:45 -06:00
Ferdinand Thiessen d2446762b5 enh(files): Allow to copy files into same directory
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-01-20 12:42:45 -06:00
Ferdinand Thiessen ea2ba8b27e Merge pull request #42982 from nextcloud/backport/42974/stable28
[stable28] fix(build): Fix OpenAPI diff on non-default specs
2024-01-20 17:41:35 +01:00
Ferdinand Thiessen 6e693e633c chore: Compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-01-20 17:37:32 +01:00
Ferdinand Thiessen e20a87bf7f enh(core): Refactor profile page to use vue components
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-01-20 17:36:03 +01:00
John Molakvoæ 74f3d0fd45 Merge pull request #42952 from nextcloud/backport/42888/stable28 2024-01-20 17:25:22 +01:00
John Molakvoæ d1ef76913c Merge pull request #42948 from nextcloud/backport/42940/stable28 2024-01-20 17:24:58 +01:00
John Molakvoæ 0285fbe430 Merge pull request #42984 from nextcloud/backport/42950/stable28 2024-01-20 16:10:37 +01:00
Eduardo Morales df15045541 fix(files): fixed home aria-label and desc logic
Signed-off-by: Eduardo Morales <emoral435@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-01-20 13:36:24 +01:00
provokateurin 54b9636e17 fix(build): Fix OpenAPI diff on non-default specs
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-01-20 11:10:37 +00:00
Nextcloud bot 1086d1e1b5 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-20 00:19:33 +00:00
provokateurin 651caed6aa refactor: Configure OpenAPI scopes
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-01-19 09:12:34 +01:00
provokateurin 98d64ea05d refactor: Migrate IgnoreOpenAPI attributes to OpenAPI
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-01-19 09:12:34 +01:00
provokateurin 4420923009 chore: Adjust codeowners
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-01-19 09:12:26 +01:00
provokateurin 846fb6f701 chore(deps): Update openapi-extractor
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-01-19 09:12:26 +01:00
provokateurin b8b15b725b chore(files): Remove unused type alias
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-01-19 09:12:26 +01:00
Nextcloud bot 2988f7f220 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-19 00:19:35 +00:00
Arthur Schiwon e93520a2c5 Merge pull request #42789 from nextcloud/release/28.0.2_rc1
28.0.2 RC1
2024-01-18 15:01:31 +01:00
Arthur Schiwon ddb95cef5b Merge pull request #42921 from nextcloud/backport/42891/stable28
[stable28] Improve path resolution in files_version hooks
2024-01-18 14:59:57 +01:00
John Molakvoæ 1fc89782c5 Merge pull request #42767 from nextcloud/backport/42598/stable28 2024-01-18 13:57:25 +01:00
Arthur Schiwon a3d525b46d Merge pull request #42779 from nextcloud/backport/42126/stable28
[stable28] Tooltip outside click, should abort share creation
2024-01-18 13:21:19 +01:00
Arthur Schiwon b692fbf061 Merge pull request #42918 from nextcloud/backport/setupchecks-2/stable28
[stable28] Setup check migrations to new API
2024-01-18 12:34:52 +01:00
John Molakvoæ 8147874698 Merge pull request #42882 from nextcloud/backport/42853/stable28 2024-01-18 12:27:35 +01:00
John Molakvoæ f9c770bbc3 fix(files): use backend error message if provided
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2024-01-18 12:25:16 +01:00
John Molakvoæ 9ff82cd326 Merge pull request #42895 from nextcloud/backport/42840/stable28 2024-01-18 12:22:55 +01:00
Joas Schilling ccd3a99f02 Merge pull request #42928 from nextcloud/backport/42923/stable28
[stable28] fix(build): Do not generated OpenAPI for non-shipped apps or apps without OpenAPI support
2024-01-18 12:17:54 +01:00
provokateurin 3e59696c1a fix(build): Do not generated OpenAPI for non-shipped apps or apps without OpenAPI support
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-01-18 11:54:49 +01:00
Louis Chemineau eaddf36012 Improve path resolution in files_version hooks
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-01-18 10:21:46 +00:00
Arthur Schiwon c16744c70f Merge pull request #42899 from nextcloud/backport/42860/stable28
[stable28] Update ContactsStore: Avoid exceptions on empties
2024-01-18 11:13:11 +01:00
Arthur Schiwon 0f3af00334 Merge pull request #42906 from nextcloud/fix/caldav/update-acls-deletedcalendarobjectscollection-stable28
[stable28] fix(CalDAV): set acls for DeletedCalendarObjectsCollection
2024-01-18 11:01:33 +01:00
Côme Chilliet f9eeb285c9 Remove obsolete check of curl SSL version
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-01-18 10:02:42 +01:00
Côme Chilliet 19aaaad8df Remove references to removed functions in tests
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-01-18 10:02:34 +01:00
Côme Chilliet d5c9d6037f Fix Cron setup check tests
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-01-18 10:02:28 +01:00
Côme Chilliet 27514adef4 Migrate Cron checks to new SetupCheck API
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-01-18 10:02:23 +01:00
Côme Chilliet 86bfd7339c Fix CheckSetupControllerTest following overwrite.cli.url migration
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-01-18 10:02:15 +01:00
Côme Chilliet 2bc1f78af5 Migrate overwrite.cli.url setup check to new API
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-01-18 10:02:10 +01:00
Côme Chilliet 956d7ae765 Fix tests because we added escaping to setupchecks
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-01-18 09:54:59 +01:00
Côme Chilliet 6e86870b6e Fix tests in CheckSetupControllerTest
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-01-18 09:54:55 +01:00
Côme Chilliet 7305fd7b48 Remove CSRF check from code integrity rescan
Did not find a way to get a valid token from SetupCheck

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-01-18 09:54:49 +01:00
Côme Chilliet a59dcd4bd5 Properly escape HTML and add support for highlight links in setupchecks
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-01-18 09:54:38 +01:00
Côme Chilliet 985a91ca43 Improve validator output in case of invalid RichObject
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-01-18 09:54:33 +01:00
Côme Chilliet 44b8cf650c Use highlight rich objecttype to render links in CodeIntegrity setup check
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-01-18 09:54:28 +01:00
Côme Chilliet e35fa737e4 Migrate code integrity to SetupCheck API
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-01-18 09:54:06 +01:00
John Molakvoæ 1f8e3724b8 fix(files): prevent dragging previews and appear as an external files DnD
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-01-18 08:09:34 +00:00
Johannes Merkel a509c85662 fix(CalDAV): set acls for DeletedCalendarObjectsCollection
Signed-off-by: Johannes Merkel <mail@johannesgge.de>
2024-01-18 08:39:24 +01:00
Ferdinand Thiessen 0b9e2fa4bc Merge pull request #42897 from nextcloud/backport/42887/stable28
[stable28] fix(theming): Make sure `color-border-maxcontrast` fulfills 3:1 contrast
2024-01-18 02:28:07 +01:00
Nextcloud bot b1515fff11 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-18 00:19:55 +00:00
Eduardo Morales 6bf94d35b1 Merge pull request #42898 from nextcloud/backport/42856/stable28
[stable28] enh(a11y): improved contrast on user menu
2024-01-17 14:43:46 -06:00
Arthur Schiwon 697d0de511 Merge pull request #42697 from nextcloud/fix/add-settings-section-type-attribute-stable28
[stable28] Fix/add settings section type attribute
2024-01-17 21:03:44 +01:00
Eduardo Morales 54bed640ca Merge pull request #42859 from nextcloud/backport/stable28/42744/fix/updatenotification/42637/move-title-and-aria-label-to-interactive-element
[stable28] fix(update-section): changed span to an interactive element
2024-01-17 13:49:45 -06:00
Arthur Schiwon a380014c12 Merge pull request #42868 from nextcloud/backport/42607/stable28
[stable28] fix(session): Avoid useless authtoken DB queries for anonymous requests
2024-01-17 20:40:35 +01:00
Arthur Schiwon c2bbe807a7 Merge pull request #42861 from nextcloud/backport/42834/stable28
[stable28] chore(theming): fix warning of incorrect `NcCheckboxRadioSwitch` usage
2024-01-17 20:37:51 +01:00
nextcloud-command a116ea98e9 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-01-17 18:53:32 +00:00
Josh 2a386f8360 Update ContactsStore: Avoid exceptions on empties
Fixes #42858 and makes things more robust

Signed-off-by: Josh <josh.t.richards@gmail.com>
2024-01-17 18:48:08 +00:00
Eduardo Morales 057b8e060b enh(a11y): improved contrast on user menu
Signed-off-by: Eduardo Morales <emoral435@gmail.com>
2024-01-17 19:36:48 +01:00
Eduardo Morales 09015a1507 fix(update-section): changed span to an interactive element
Signed-off-by: Eduardo Morales <emoral435@gmail.com>
2024-01-17 11:43:25 -06:00
Ferdinand Thiessen 74c63997a3 fix(theming): Make sure color-border-maxcontrast fulfills 3:1 contrast
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-01-17 18:30:23 +01:00
Eduardo Morales 81d49265c6 Merge pull request #42430 from nextcloud/backport/42334/stable28
[stable28] enh(settings): Refactor UI for session and app token management
2024-01-17 10:27:37 -06:00
nextcloud-command 761d9dd7e4 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-01-17 08:37:09 -06:00
Grigorii K. Shartsev c5ed482a9d chore(theming): fix warning of incorrect NcCheckboxRadioSwitch usage
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>

[skip ci]
2024-01-17 08:37:09 -06:00
Ferdinand Thiessen eb8724c8a4 chore: Compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-01-17 08:26:31 -06:00
Ferdinand Thiessen fe60c1e1fd enh(settings): Refactor frontend for session and app token management
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-01-17 08:19:06 -06:00
Arthur Schiwon 9b88869e0d Merge pull request #42874 from nextcloud/backport/42563/stable28
[stable28] Update crl after revoke integration_homeassistant.csr
2024-01-17 14:55:53 +01:00
Anna 286c131893 Merge pull request #42854 from nextcloud/backport/42805/stable28
[stable28] fix(userstatus): catch unique constraint violation
2024-01-17 14:26:21 +01:00
Joas Schilling 00d74d1e2c Merge pull request #42871 from nextcloud/backport/42658/stable28
[stable28] fix(systemreport): Mark more configs as sensitive
2024-01-17 12:52:04 +01:00
John Molakvoæ dd10697536 fix(dav): ajax request check on public remote endpoints
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2024-01-17 11:11:14 +01:00
Joas Schilling fc1bfee8a4 Merge pull request #42864 from nextcloud/backport/42862/stable28
[stable28] fix(manifest): Check if app exists instead of accessing null as an array
2024-01-17 10:50:41 +01:00
Matthieu Gallien f01fcd2db6 Update crl after revoke integration_homeassistant.csr
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-01-17 10:31:52 +01:00
Joas Schilling f7f94bf919 fix(systemreport): Mark more configs as sensitive
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-01-17 10:30:43 +01:00
Git'Fellow 980b14f629 fix(session): Avoid two useless authtoken DB queries for every anonymous request
Co-Authored-By: Christoph Wurst <christoph@winzerhof-wurst.at>
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-01-17 09:16:22 +00:00
Thomas Citharel 6862ed49ba fix(settings): check if activeSectionId and activeSectionType are defined before using them
Closes #41513

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-01-17 09:48:05 +01:00
Thomas Citharel 9034cc2e6f Add data-active-section-type attribute to app-content settings section
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-01-17 09:48:05 +01:00
Arthur Schiwon ee0f4f067d Merge pull request #42824 from nextcloud/backport/42768/stable28
[stable28] (dashboard): Lower error to info log message
2024-01-17 09:47:13 +01:00
Joas Schilling 84a380a3b2 fix(manifest): Check if app exists instead of accessing null as an array
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-01-17 09:30:44 +01:00
Nextcloud bot c21df323b0 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-17 00:20:25 +00:00
Simon L aba6e3c1ad Merge pull request #42851 from nextcloud/backport/42720/stable28
[stable28] use showError in TransferOwnershipDialogue
2024-01-16 21:59:51 +01:00
Anna Larch 46674e2889 fix(userstatus): catch unique constraint violation
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-01-16 18:21:36 +00:00
Arthur Schiwon f0a6c4429d Merge pull request #42827 from nextcloud/backport/41272/stable28
[stable28] fix: reduce memory consumption of scans
2024-01-16 19:17:23 +01:00
John Molakvoæ 14f2461aef Merge pull request #42735 from nextcloud/backport/41979/stable28 2024-01-16 17:57:26 +01:00
Ferdinand Thiessen 07540d5433 chore: Compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-01-16 10:14:45 -06:00
Simon L b178229839 use showError in TransferOwnershipDialogue
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-01-16 10:14:45 -06:00
Eduardo Morales 76ef1a81ed chore(sharing): compiled assets
Signed-off-by: Eduardo Morales <emoral435@gmail.com>
2024-01-16 10:09:33 -06:00
John Molakvoæ c1b95ab025 fix(files_sharing): fix sharing status indicator side after component update
Seems like the components now have max-height/width set too

Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2024-01-16 10:09:33 -06:00
Benjamin Gaussorgues b74a59b331 Merge pull request #42795 from nextcloud/backport/setupchecks/stable28
[stable28] Migrate setup checks to new SetupCheck API
2024-01-16 16:55:45 +01:00
Grigorii K. Shartsev 04a4078e61 Merge pull request #42848 from nextcloud/stable28-fix/41826-avoid_same_h1_and_h2_headings
[stable28] fix/41826 avoid same h1 and h2 headings
2024-01-16 20:53:50 +05:00
Joas Schilling 730f205878 Merge pull request #42832 from nextcloud/backport/42806/stable28
[stable28] fix(appstore): Only send subscription keys to valid appstores
2024-01-16 15:29:05 +01:00
julia.kirschenheuter acc78272a5 Complete <h1> settings heading
Signed-off-by: julia.kirschenheuter <julia.kirschenheuter@nextcloud.com>

(cherry picked from commit f6ec297df6)
Signed-off-by: julia.kirschenheuter <julia.kirschenheuter@nextcloud.com>
2024-01-16 14:50:02 +01:00
Ferdinand Thiessen 95baf48216 Merge pull request #42816 from nextcloud/backport/42436/stable28
[stable28] enh(settings): Add SetupCheck to ensure webserver correctly serves `.mjs` files
2024-01-16 11:54:52 +01:00
Arthur Schiwon 28473f70be Merge pull request #42772 from nextcloud/backport/42718/stable28
[stable28] Remove unneeded role="radiogroup" from "Predefined statuses"
2024-01-16 11:35:01 +01:00
John Molakvoæ f05252f7ca Merge pull request #42591 from nextcloud/backport/41346/stable28 2024-01-16 11:08:23 +01:00
John Molakvoæ e5f4eb487d fix(files): better upload error handling
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2024-01-16 10:27:38 +01:00
John Molakvoæ 6878313500 feat(files): disable upload button if quota is reached
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2024-01-16 10:25:04 +01:00
John Molakvoæ 129cd5e09c feat(files): show quota warning on page load or if storage becomes full
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2024-01-16 10:25:03 +01:00
Joas Schilling 1c38f8952f fix(appstore): Only send subscription keys to valid appstores
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-01-16 10:16:57 +01:00
Git'Fellow d2da9c8fbe fix: reduce memory consumption of scans
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

Fix lint

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2024-01-16 09:28:43 +01:00
Git'Fellow 27bf7c6f8c Lower to info
Co-authored-by: Simon L. <szaimen@e.mail.de>
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2024-01-16 09:24:27 +01:00
Git'Fellow a60bf6a00d Lower error to warning
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2024-01-16 09:24:26 +01:00
Nextcloud bot 21042c3e0f Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-16 00:19:00 +00:00
Pytal 34783ca98b Merge pull request #42819 from nextcloud/backport/42727/stable28
[stable28] fix(l10n): Add context note for table footers
2024-01-15 15:11:28 -08:00
nextcloud-command 1cbf7e41d5 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-01-15 22:26:59 +00:00
Christopher Ng 0008f6eb88 fix(l10n): Add context note for table footers
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2024-01-15 23:09:18 +01:00
Maxence Lange 662b069c99 Merge pull request #42810 from nextcloud/backports/42670/42670-stable28
[stable28] occ background-job:delete
2024-01-15 19:52:12 -01:00
Arthur Schiwon ab2f7707b2 Merge pull request #42786 from nextcloud/backport/42660/stable28
[stable28] fix(share): use user timezone to parse share expiration date
2024-01-15 21:42:47 +01:00
Arthur Schiwon 873357955e Merge pull request #42758 from nextcloud/automated/noid/stable28-fix-npm-audit
[stable28] Fix npm audit
2024-01-15 21:42:16 +01:00
Arthur Schiwon ac1b989388 Merge pull request #42815 from nextcloud/backport/42781/stable28
[stable28] Fix crash of login in case of duplicated group membership
2024-01-15 21:40:00 +01:00
Arthur Schiwon 82cd4f8f0d Merge pull request #42739 from nextcloud/fix/a11y/aria-hide-contacts-menu-images-stable28
[stable28] fix(a11y): Aria-hide contacts menu icon images
2024-01-15 21:37:11 +01:00
Pytal 6c55500dbb Merge pull request #42766 from nextcloud/backport/42723/stable28
[stable28] fix(settings): set default or unlimited user quota
2024-01-15 11:51:46 -08:00
Ferdinand Thiessen 5406ffb3ea Update apps/settings/lib/SetupChecks/JavaScriptModules.php
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-01-15 18:21:54 +01:00
Ferdinand Thiessen fcdc53a2ba enh(settings): Add SetupCheck to ensure webserver correctly serves .mjs files
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-01-15 18:21:53 +01:00
Ferdinand Thiessen b8aa466b0e Merge pull request #42804 from nextcloud/backport/42585/stable28
[stable28] Add RichObject support for SetupCheck descriptions
2024-01-15 18:16:41 +01:00
Côme Chilliet b18aabcc79 Fix crash of login in case of duplicated group membership
If several LDAP configurations return the same group id for a user it
 should still only appear once in the return of getUserGroups

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-01-15 17:55:57 +01:00
Joas Schilling 278f770a17 Merge pull request #42771 from nextcloud/backport/42619/stable28
[stable28] fix(dav): Fix user status "Undefined array key 0 at StatusService.php…
2024-01-15 17:24:06 +01:00
Maxence Lange 861611322e occ background-job:delete
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2024-01-15 14:02:11 -01:00
Benjamin Gaussorgues 596f0c1a69 Merge branch 'stable28' into backport/42660/stable28 2024-01-15 15:56:12 +01:00
Côme Chilliet 23bab8a61d Use match statement in richToParsed implementation
Co-authored-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-01-15 15:11:58 +01:00
Côme Chilliet 5a8004e90b Document new throw possibility in SetupResult
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-01-15 15:11:58 +01:00
Côme Chilliet ba78b6cc1d Add TODO for richToParsed refactor
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-01-15 15:11:58 +01:00
Côme Chilliet 18533bba13 Fix UI for rich object in setupcheck results
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-01-15 15:11:58 +01:00
Côme Chilliet c335d369e1 Fix psalm issue in SetupChecks command
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-01-15 15:11:58 +01:00
Côme Chilliet 0b58618712 Validate rich objects passed to SetupResult
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-01-15 15:11:57 +01:00
Côme Chilliet 25c91e6eea Add RichObject support for SetupChecks descriptions
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-01-15 15:11:56 +01:00
nextcloud-command 0f7c33c4b0 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-01-15 12:39:23 +00:00
Côme Chilliet ed87e4b4ca Fix AppDirsWithDifferentOwnerTest
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-01-15 13:31:35 +01:00
Côme Chilliet 17dd695e0e Migrate PHP imagick module check to new SetupCheck API
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-01-15 13:31:13 +01:00
Côme Chilliet cf8c7e9270 Migrate tests for AppDirsWithDifferentOwner setup check
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-01-15 13:31:06 +01:00
Côme Chilliet 14d132a4e6 Migrate app dir owner check to SetupCheck API
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-01-15 13:31:01 +01:00
Côme Chilliet 3de96ac17f Improve PHP opcache setup check and reduce level in some cases
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-01-15 13:30:00 +01:00
Côme Chilliet 4cfab5dc7c Fix small psalm issue
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-01-15 13:29:55 +01:00
Côme Chilliet 26d1d84e0c Remove unsupported <code> tag and use quotes instead
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-01-15 13:29:50 +01:00
Côme Chilliet e9ed7e7f9e Remove unused properties from CheckSetupControllerTest
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-01-15 13:29:45 +01:00
Côme Chilliet 265f6dc136 Migrate opcache check to new SetupCheck API
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-01-15 13:29:40 +01:00
Côme Chilliet ca63726a89 Merge SQlite warning to existing SupportedDatabase setup check
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-01-15 13:29:28 +01:00
Côme Chilliet 004d3c4bd0 Migrate away from deprecated doctrine/dbal getName function
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-01-15 13:29:18 +01:00
Côme Chilliet 4342cf4db8 Migrate database pending bigint conversions check to new API
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-01-15 13:29:13 +01:00
nextcloud-command 8b2a10796e chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-01-15 10:00:41 +00:00
Louis 4eaf7e7bbd Merge pull request #42734 from nextcloud/backport/42716/stable28
[stable28] fix(files): use getSummaryFor for better files summary translations
2024-01-15 10:42:25 +01:00
Arthur Schiwon efe28fd479 28.0.2 RC1
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-01-15 10:23:45 +01:00
Benjamin Gaussorgues 57574d9d9a fix(share): use user timezone to parse share expiration date
If an user in UTC+1 try to create a share at 00:00, it's day D for him, but
D-1 for the server (UTC).
This fix aims to apply the correct offset

Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2024-01-15 09:22:09 +00:00
fenn-cs b5edb389bc Allow user to finish typing date before formatting
Debounce `onExpirationChange` to avoid calling `formatDateToString`
on invalid on uncompletely inputed date strings.

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2024-01-15 09:39:03 +01:00
fenn-cs 67e3367c48 Tooltip outside click, should abort share creation
It's unexpected that click outside a tooltip would proceed with the
 action that could be carried out inside the tooltip.

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2024-01-15 09:39:03 +01:00
Côme Chilliet b768934478 Merge pull request #42726 from nextcloud/backport/42640/stable28
[stable28] Always catch OCP versions of authentication exceptions
2024-01-15 09:37:49 +01:00
julia.kirschenheuter 9314ecf98f Remove unneeded role="radiogroup" from "Predefined statuses"
Signed-off-by: julia.kirschenheuter <julia.kirschenheuter@nextcloud.com>

[skip ci]
2024-01-15 09:16:37 +01:00
Joas Schilling ac3f3a0629 fix(dav): Fix user status "Undefined array key 0 at StatusService.php#98"
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-01-15 09:15:25 +01:00
Nextcloud bot 460d723140 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-15 00:18:52 +00:00
nextcloud-command a9be93e4bb chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-01-14 20:53:38 +00:00
John Molakvoæ 9dee49be4c fix(settings): set default or unlimited user quota
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2024-01-14 21:50:24 +01:00
nextcloud-command 31442c0acf chore(deps): fix npm audit
Signed-off-by: GitHub <noreply@github.com>
2024-01-14 03:00:54 +00:00
Nextcloud bot bcfbedd799 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-14 00:19:38 +00:00
Maxence Lange bd8c472fb9 Merge pull request #42728 from nextcloud/backport/42667/stable28
[stable28] better users cycle
2024-01-13 00:56:34 -01:00
Nextcloud bot aa051fd0b9 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-13 00:20:32 +00:00
Grigorii K. Shartsev 0b515f7708 Merge pull request #42745 from nextcloud/backport/42676/stable28
[stable28] enh(comments): Add visual labels for editor
2024-01-13 02:42:24 +05:00
nextcloud-command 3f4bc1f25b chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-01-12 21:21:16 +00:00
Ferdinand Thiessen 14f690664d enh(comments): Add always visible labels for comment input
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-01-12 20:56:03 +00:00
Maxence Lange d1088e82b0 better users cycle
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2024-01-12 07:54:40 -06:00
Christoph Wurst a3f05bbda6 fix(a11y): Aria-hide contacts menu icon images
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-01-12 14:16:59 +01:00
Nextcloud bot b9540a8964 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-12 11:00:43 +00:00
Nextcloud bot b906e1eda0 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-12 10:40:22 +00:00
John Molakvoæ 75ecdec8fa chore(assets): Recompile assets
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2024-01-12 10:15:52 +01:00
John Molakvoæ aa6241067e fix(files): use getSummaryFor for better files summary translations
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2024-01-12 10:07:29 +01:00
John Molakvoæ 2606c99666 Merge pull request #42719 from nextcloud/feature/filelist_refresh_current_folder_on_update-stable28 2024-01-12 08:45:11 +01:00
Eduardo Morales d2133574e7 Merge pull request #42711 from nextcloud/backup/stable28/42636/fix/core/42596/fix-button-accessibility-in-view-profile-page
Backup/stable28/42690/fix/core/42593/replace-transfer-button-with-NcVue-Button
2024-01-11 22:16:53 -06:00
Simon L 28d0999c20 Merge pull request #42730 from nextcloud/backport/42712/stable28
[stable28] fix header-elements being not shown correctly
2024-01-12 02:04:33 +01:00
Eduardo Morales 3d5f1caec2 chore(core): compile assets
Signed-off-by: Eduardo Morales <emoral435@gmail.com>
2024-01-11 19:00:01 -06:00
Eduardo Morales 36a2406430 fix(files): switched native input to NcButton
Signed-off-by: Eduardo Morales <emoral435@gmail.com>
2024-01-11 18:57:25 -06:00
Nextcloud bot fd3d113fba Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-12 00:19:50 +00:00
nextcloud-command a5489c825d chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-01-11 22:37:19 +00:00
Simon L 1152bfcecc fix header-elements being not shown correctly
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-01-11 22:20:57 +00:00
Eduardo Morales 83149237be Merge pull request #42724 from nextcloud/backport/42709/stable28
[stable28] `SharingEntrySimple` needs `ul` or `ol` around it
2024-01-11 16:02:15 -06:00
Simon L ab6d7d2f69 Merge pull request #42725 from nextcloud/backport/42700/stable28
[stable28] fix styling of development-notice
2024-01-11 22:53:39 +01:00
nextcloud-command b9fce06452 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-01-11 20:47:52 +00:00
nextcloud-command 9cd98b8c66 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-01-11 20:29:54 +00:00
Côme Chilliet 4acb4a5f4c Import OCP IToken as OCPIToken to avoid a name clash in lib/private
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-01-11 18:01:01 +00:00
Côme Chilliet 6893aa1f6b Use OCP version of IToken in AppPasswordCreatedEvent
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-01-11 18:01:00 +00:00
Côme Chilliet 9e75c75f86 Use IToken from OCP instead of OC
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-01-11 18:01:00 +00:00
Côme Chilliet 63fbf90570 Suppress or fix psalm errors related to InvalidTokenException
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-01-11 18:01:00 +00:00
Côme Chilliet 360e7ffcca Always catch OCP versions of authentication exceptions
And always throw OC versions for BC

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-01-11 18:00:59 +00:00
Simon L 5242c2c84c fix styling of development-notice
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-01-11 17:52:36 +00:00
Simon L c71d08cd4b sharing-entry__reshare needs ul or ol around it
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-01-11 17:52:20 +00:00
nextcloud-command 17651a37e9 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-01-11 17:34:55 +00:00
Raul Ferreira cd4796c87c Refresh FileList on current folder update
Signed-off-by: Raul Ferreira <r.ferreira.fuentes@gmail.com>
2024-01-11 18:14:19 +01:00
Simon L 2b378f6ab2 Merge pull request #42715 from nextcloud/backport/42698/stable28
[stable28] update webauthn section to feature components
2024-01-11 18:03:45 +01:00
John Molakvoæ 286f2e00d9 Merge pull request #42703 from nextcloud/backport/42584/stable28 2024-01-11 16:19:43 +01:00
John Molakvoæ 99d3f1399b chore(assets): Recompile assets
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2024-01-11 15:44:08 +01:00
nextcloud-command 5f9a490aa5 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-01-11 14:43:31 +00:00
John Molakvoæ 8481393581 chore(deps): bump @nextcloud/files to 3.1.0
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2024-01-11 15:42:56 +01:00
John Molakvoæ e4fdd24d2f fix(files): group duplicate shares
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2024-01-11 15:42:56 +01:00
John Molakvoæ b77afb4ed1 fix(files): fix unshare action
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2024-01-11 15:42:55 +01:00
Simon L 881523adb6 update webauthn section to feature components
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-01-11 14:36:36 +00:00
Simon L 7832559177 Merge pull request #42699 from nextcloud/backport/42402/stable28
[stable28] Remove display name ellipsis in user menu
2024-01-11 15:16:17 +01:00
nextcloud-command 690b945901 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-01-11 11:47:49 +00:00
John Molakvoæ afa59d6ef7 Merge pull request #42691 from nextcloud/backport/41972/stable28 2024-01-11 12:43:45 +01:00
Julius Härtl f297de9e6f Merge pull request #42651 from nextcloud/backport/41927/stable28
[stable28] perf: Use more performant way to obtain and check the email as a login name with token login
2024-01-11 11:53:09 +01:00
Julius Härtl 8e96ab96f0 Merge pull request #42693 from nextcloud/backport/42533/stable28
[stable28] fix(weather_status): Fix forecast format in OpenAPI
2024-01-11 11:10:18 +01:00
Jérôme Herbinet a1e30d23a0 Update UserMenu.vue
Signed-off-by: Jérôme Herbinet <33763786+Jerome-Herbinet@users.noreply.github.com>

Update UserMenu.vue

Signed-off-by: Jérôme Herbinet <33763786+Jerome-Herbinet@users.noreply.github.com>

npm run build

Signed-off-by: Jérôme Herbinet <33763786+Jerome-Herbinet@users.noreply.github.com>

Revert with a higher max-width value

Signed-off-by: Jérôme Herbinet <33763786+Jerome-Herbinet@users.noreply.github.com>
2024-01-11 09:44:23 +00:00
provokateurin 93fa6bb8b6 fix(weather_status): Fix forecast format in OpenAPI
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-01-11 08:23:23 +00:00
Nextcloud bot ab98a66c13 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-11 00:19:10 +00:00
Grigorii K. Shartsev bb198828f2 chore(assets): Recompile assets
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
2024-01-10 19:48:15 +01:00
Grigorii K. Shartsev 33f208d156 refactor(files): remove merged to @nextcloud/vue changes
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
2024-01-10 19:46:40 +01:00
Grigorii K. Shartsev 41183b9089 fix(files): move header actions out from the table
Having actions in the table header is no valid for a11y and counts as a column name.

Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
2024-01-10 18:43:06 +00:00
Kate 9aaead8bfb Merge pull request #42684 from nextcloud/backport/42527/stable28 2024-01-10 17:56:49 +01:00
provokateurin bb752fa304 feat(user_status): Add online status type for OpenAPI
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-01-10 15:56:34 +00:00
Marcel Klehr 511790dc80 Merge pull request #42677 from nextcloud/backport/stable28/42377
[stable28] Return providers as indexed array
2024-01-10 15:29:01 +01:00
Marcel Klehr a85ee2e0ce fix(psalm issues)
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2024-01-10 14:37:24 +01:00
MB-Finski b83e53d1ba Update doc blocks
Signed-off-by: MB-Finski <sami.finnila@gmail.com>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2024-01-10 14:37:24 +01:00
Sami Finnilä 283952e857 Return providers as indexed array
Signed-off-by: MB-Finski <sami.finnila@gmail.com>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2024-01-10 14:37:24 +01:00
Joas Schilling 9280e023b1 Merge pull request #42358 from nextcloud/backport/42354/stable28
[stable28] Typo in move or copy
2024-01-10 09:18:53 +01:00
Kate c4172812b2 Merge pull request #42673 from nextcloud/backport/42666/stable28 2024-01-10 09:01:31 +01:00
Joas Schilling a15835d145 chore(assets): Recompile JS
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-01-10 08:57:02 +01:00
Joas Schilling b4757495f5 Fix typo in move or copy dialog
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-01-10 08:55:27 +01:00
provokateurin 94ebed0681 chore(deps): Update openapi-extractor
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-01-10 06:21:40 +00:00
Nextcloud bot d2da55c0c5 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-10 00:20:40 +00:00
Ferdinand Thiessen cbeee9c104 Merge pull request #42669 from nextcloud/backport/stable28/42636/fix/core/42596/fix-button-accessibility-in-view-profile-page
[stable28] enh(core): replaced previous native a element with NcButton
2024-01-09 21:47:43 +01:00
Eduardo Morales 9f8154ff09 enh(core): replaced previous native a element with NcButton
Signed-off-by: Eduardo Morales <emoral435@gmail.com>
2024-01-09 13:43:05 -06:00
Eduardo Morales 4d0d0ea2cd Merge pull request #42664 from nextcloud/backport/stable28/42643/fix/core/42565/focus-for-user-menu-is-not-accessible
[stable28] fix(core): enhanced contrast when UserMenuItem is focused
2024-01-09 13:11:16 -06:00
Eduardo Morales 47ccd75b4f fix(core): enhanced contrast when UserMenuItem is focused
Signed-off-by: Eduardo Morales <emoral435@gmail.com>
2024-01-09 10:15:35 -06:00
Julius Härtl bc0ab8df52 fix: Only apply cast if needed when searching users for value
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-01-09 15:02:38 +01:00
Julius Härtl 1712df7881 perf: Use more performant way to obtain and check the email as a login name with token login
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-01-09 15:02:38 +01:00
Julia Kirschenheuter 2ef09404e0 Merge pull request #42646 from nextcloud/backport/42634/stable28
[stable28] Include grid view toggle in accessibility switch
2024-01-09 12:30:05 +01:00
Louis Chemineau cb5c29bd98 Include grid view toggle in accessibility switch
Signed-off-by: Louis Chemineau <louis@chmn.me>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-01-09 08:55:55 +00:00
Nextcloud bot a4ed172fdf Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-09 00:20:17 +00:00
Eduardo Morales e005e6c958 Merge pull request #42632 from nextcloud/backport/stable28/42507/Fix/files/42460/breadcrumb-conditional-rendering
[stable28] fix(files): kept only first and last breadcrumb titles
2024-01-08 15:19:59 -06:00
Eduardo Morales 3ca94730aa fix(files): kept only first and last breadcrumb titles
Signed-off-by: Eduardo Morales <emoral435@gmail.com>
2024-01-08 15:03:45 -06:00
Pytal dba7369476 Merge pull request #42604 from nextcloud/backport/42566/stable28
[stable28] fix(files): Fix unresponsive file click to download
2024-01-08 12:08:26 -08:00
nextcloud-command 667c01831a chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-01-08 19:57:30 +00:00
Christopher Ng 2142d469a0 fix(files): Fix unresponsive file click to download
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2024-01-08 11:43:31 -08:00
Grigorii K. Shartsev 131e82e199 Merge pull request #42623 from nextcloud/backport/41619/stable28
[stable28] fix(files): remove focus outline on file list item click and make the link focusable
2024-01-09 00:12:30 +05:00
Grigorii K. Shartsev 5d90175387 chore(assets): Recompile assets
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
2024-01-08 19:57:30 +01:00
Grigorii K. Shartsev 5522000067 refactor(files): replace deprecated is attr on <a> with dynamic component
- Special attribute `is` is deprecated and removed in Vue 3
- It is confusing, that `<a>` element is rendered as `span` sometimes

Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
2024-01-08 19:55:49 +01:00
Grigorii K. Shartsev 3ff2b25ea0 fix(files): make file list item link focusable
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
2024-01-08 19:55:49 +01:00
Grigorii K. Shartsev 268744ee73 fix(files): remove focus outline on file list item click
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
2024-01-08 19:55:49 +01:00
Grigorii K. Shartsev 6e5e4cc1d8 Merge pull request #42630 from nextcloud/backport/41916/stable28
[stable28] fix(files): add visible label to webdav URL in settings
2024-01-08 20:59:53 +05:00
Eduardo Morales 1e27c3f158 Merge pull request #42622 from nextcloud/stable28-enh/settings/42440/preview-card-settings-now-satisfy-contrast-ratio
[stable28] enh(settings): removed background-gradient to ensure contrast ratio a…
2024-01-08 09:12:08 -06:00
Eduardo Morales f9f4316f8c Merge pull request #42629 from nextcloud/backport/stable28/42602/bump-nc-calendar-to-2.0.1
[stable28] chore(package): bumped nc-calendar to 2.0.1
2024-01-08 08:53:46 -06:00
Eduardo Morales 94a676c378 enh(settings): removed background-gradient to ensure contrast ratio a11y requirements
Signed-off-by: Eduardo Morales <emoral435@gmail.com>

(cherry picked from commit e5767898c7)
Signed-off-by: julia.kirschenheuter <julia.kirschenheuter@nextcloud.com>
2024-01-08 08:17:25 -06:00
Grigorii K. Shartsev 15f0e1d058 chore(assets): Recompile assets
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
2024-01-08 15:16:47 +01:00
Eduardo Morales cddee08ec6 [backport] chore(package): bumped nc-calendar to 2.0.1
Signed-off-by: Eduardo Morales <emoral435@gmail.com>
2024-01-08 08:12:16 -06:00
Grigorii K. Shartsev 629e4f0a83 fix(files): add label for WebDAV URL in files settings
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
2024-01-08 15:11:29 +01:00
Simon L 5382cb59d2 Merge pull request #42609 from nextcloud/backport/42428/stable28
[stable28] fix(files_external): add back js config files
2024-01-08 14:57:34 +01:00
Nextcloud bot a77af0e643 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-08 00:22:08 +00:00
Nextcloud bot 2c23a7cf99 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-07 00:20:29 +00:00
John Molakvoæ ffd71b65b4 fix(files_external): add back js config files
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2024-01-06 09:51:42 +00:00
Nextcloud bot 2f4c5a2a39 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-06 00:20:18 +00:00
Eduardo Morales 82b68fc4e0 Merge pull request #42600 from nextcloud/backport/42559/stable28
[stable28] Remove unneeded styles: everything is handled by NcVue
2024-01-05 10:59:20 -06:00
julia.kirschenheuter 0e71e48e6b Remove unneeded styles: everything is handled by NcVue
Signed-off-by: julia.kirschenheuter <julia.kirschenheuter@nextcloud.com>
2024-01-05 16:32:34 +00:00
Julia Kirschenheuter 32f9d1655c Merge pull request #42594 from nextcloud/backport/42586/stable28
[stable28] Fix SVG's for social media links
2024-01-05 13:47:45 +01:00
julia.kirschenheuter e73d81641d Fix SVG's for social media links
Signed-off-by: julia.kirschenheuter <julia.kirschenheuter@nextcloud.com>
2024-01-05 12:14:42 +00:00
Nextcloud bot 36607881ce Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-05 00:22:19 +00:00
Côme Chilliet 80b5aed6ef Merge pull request #42583 from nextcloud/backport/42576/stable28
[stable28] Fix upgrade of user_ldap when oc_group_members contains duplicated uids
2024-01-04 15:37:43 +01:00
Côme Chilliet 63def6dc95 Fix upgrade of user_ldap when oc_group_members contains duplicated uids
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-01-04 13:28:36 +00:00
Nextcloud bot c61fabed18 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-04 00:20:07 +00:00
Eduardo Morales 6f8d89d5ad Merge pull request #42556 from nextcloud/backport/42500/stable28
[stable28] fix(files): open menu on right click position
2024-01-03 14:15:05 -06:00
John Molakvoæ 820b2beb6b fix(files): open menu on right click position
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2024-01-03 13:59:28 -06:00
Nextcloud bot c8104266f8 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-03 00:20:17 +00:00
Grigorii K. Shartsev 0398f53b93 Merge pull request #42553 from nextcloud/backport/42443/stable28
[stable28] fix(files): focus file name on renaming also initially
2024-01-02 22:49:03 +05:00
Grigorii K. Shartsev 81eab73c03 chore(assets): Recompile assets
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
2024-01-02 18:05:45 +01:00
Grigorii K. Shartsev 0ea5aa4604 fix(files): focus file name on renaming also initially
When new folder is created, new file entry is initially in renaming mode.

Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
2024-01-02 18:03:57 +01:00
Robin Appelman eb4dae7505 Merge pull request #42521 from nextcloud/backport/41914/stable28
[stable28] only do a multipart s3 copy when above the regular copy limit
2024-01-02 18:00:50 +01:00
Robin Appelman f516e9599b Merge pull request #42450 from nextcloud/backport/37469/stable28
[stable28] restore shared lock ttl to previous value when releasing
2024-01-02 14:50:14 +01:00
Julia Kirschenheuter 4443e5cf56 Merge pull request #42506 from nextcloud/bump-nv-vue-to_8.4.0
[stable28] Bump NcVue to v8.4.0
2024-01-02 14:11:11 +01:00
Richard Steinmetz 32dccaadf8 Merge pull request #42373 from nextcloud/backport/42339/stable28
[stable28] fix(dav): allow multiple organizers if possible
2024-01-02 13:47:50 +01:00
Louis f0c78b76bf Merge pull request #42446 from nextcloud/backport/42405/stable28
[stable28] fix(LDAP): ensure stored groups are formatted as simple list
2024-01-02 13:26:11 +01:00
julia.kirschenheuter 543c4add52 Bump NcVue to v8.4.0
Signed-off-by: julia.kirschenheuter <julia.kirschenheuter@nextcloud.com>

chore(assets): Recompile assets

Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-01-02 12:53:03 +01:00
Arthur Schiwon 779df7ff9c fix(LDAP): ensure stored groups are formatted as simple list
With array_unique it is possible that the keys are not in sequential order
but have gaps. json_encode then would store them as associative array,
which later on json_decode would result in a stdClass by default. This is
unexpected and would also contradict the return type hint.

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-01-02 12:16:10 +01:00
Richard Steinmetz f38ce5c1d5 fix(dav): allow multiple organizers if possible
This is very hacky! However, we want to allow saving events with multiple
organizers. Those events are not RFC compliant, but sometimes imported from major
external calendar services (e.g. Google). If the current user is not an organizer of
the event we ignore the exception as no scheduling messages will be sent anyway.

Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2024-01-02 11:54:08 +01:00
Nextcloud bot 3b69ea11cb Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-02 00:19:19 +00:00
Git'Fellow ca34f0c6f1 Merge pull request #42539 from nextcloud/backport/42538/stable28
[stable28] Fix log rotation notification level (warning->info)
2024-01-01 20:20:16 +01:00
Josh Richards a781412660 Fix log rotation notification level (warning->info)
Fixes #42537 

Signed-off-by: Josh Richards <josh.t.richards@gmail.com>
2024-01-01 09:22:48 +00:00
Nextcloud bot 75c8a03784 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-01 00:20:11 +00:00
Nextcloud bot 6d1f66dc56 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-31 00:20:26 +00:00
Nextcloud bot b1d94d3d16 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-30 00:22:18 +00:00
max-nextcloud 61dedd7ff3 Merge pull request #42524 from nextcloud/backport/42427/stable28
[stable28] fix(ViewController): Properly handle non-existent fileIds (regression lead to 500 errors)
2023-12-29 18:54:12 +01:00
Josh Richards 1f6f5fdcc5 fix(ViewController): Regression lead to 500 on non-existent fileIds
Fixes #42418 

Signed-off-by: Josh Richards <josh.t.richards@gmail.com>
2023-12-29 13:48:00 +00:00
Alexander Piskun 30f23a6da7 Merge pull request #42519 from nextcloud/backport/42479/stable28
[stable28] AppAPI: allow to bypass Two-Factor
2023-12-29 14:28:51 +03:00
Julius Härtl 238ea7a8b4 fix(s3): Add config option to disable multipart copy for certain s3 providers
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-12-29 10:36:09 +00:00
Robin Appelman 58abe5e3f4 only do a multipart s3 copy when above the regular copy limit
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-12-29 10:36:09 +00:00
Alexander Piskun 1d0b10b12c AppAPI: allowed to bypass Two-Factor
Signed-off-by: Alexander Piskun <bigcat88@icloud.com>
2023-12-29 08:44:13 +00:00
Nextcloud bot 525d087b52 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-29 00:20:08 +00:00
John Molakvoæ f212638228 Merge pull request #42495 from nextcloud/stable28-fix/a11y/personal-info-headings 2023-12-28 13:04:14 +01:00
John Molakvoæ 6a09055d3c Merge pull request #42491 from nextcloud/backport/42438/stable28 2023-12-28 12:54:53 +01:00
John Molakvoæ 9fcd5f67a5 Merge pull request #42487 from nextcloud/backport/42379/fix/ARIA-prop-for-NcBreadCrumbs-component 2023-12-28 12:46:50 +01:00
Eduardo Morales 40ee6ce449 enh(breadcrumbs): removed unnecessary aria label
Signed-off-by: Eduardo Morales <emoral435@gmail.com>
2023-12-28 11:21:29 +01:00
John Molakvoæ e279d45196 Merge pull request #42494 from nextcloud/backport/42457/stable28 2023-12-28 09:25:25 +01:00
Ferdinand Thiessen 309d46e993 fix(theming): Adjust high contrast theme to fulfill WCAG AAA text contrast
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-12-28 09:01:11 +01:00
nextcloud-command b1eb3534be chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-12-28 07:47:30 +00:00
Julius Härtl efeecc69ba fix(files): Allow Ctrl/Command click on file entries to open in a new tab
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-12-28 08:34:46 +01:00
Nextcloud bot a8e71da8ec Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-28 00:20:28 +00:00
Julia Kirschenheuter 4f66b3debc Merge pull request #42429 from nextcloud/backport/42329/stable28
[stable28] fix(theming): Adjust dark high contrast to fulfill WCAG 2.1 AAA contrast
2023-12-27 19:02:43 +01:00
Eduardo Morales d053210eaa Merge pull request #42435 from nextcloud/backport/stable28-e1940ba36846bd7010f77fae4e3a124d673b8e9b
[stable28] enh(files): added ability to escape out of all selection when focused
2023-12-27 10:35:37 -06:00
Ferdinand Thiessen 45d4cae756 fix(theming): Adjust color-error and color-success to work for input border colors
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-12-27 10:22:19 -06:00
Ferdinand Thiessen 4147337fff fix(theming): Adjust dark high contrast to fulfill WCAG 2.1 AAA contrast
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-12-27 10:22:19 -06:00
Eduardo Morales 2127842425 enh(files): added ability to escape out of all selection when focused
Signed-off-by: Eduardo Morales <emoral435@gmail.com>
2023-12-27 09:51:16 -06:00
Eduardo Morales 3185b4ca26 Merge pull request #42490 from nextcloud/backport/42452/stable28
[stable28] fix(files): allow silent batch actions errors
2023-12-27 09:44:18 -06:00
Christopher Ng e1d1491ca0 fix(settings): Use heading for Profile and Profile picture sections
Signed-off-by: Christopher Ng <chrng8@gmail.com>

(cherry picked from commit ee11df8993)
Signed-off-by: julia.kirschenheuter <julia.kirschenheuter@nextcloud.com>
2023-12-27 11:39:06 +01:00
John Molakvoæ 04b0069cad fix(files): allow silent batch actions errors
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2023-12-27 09:28:43 +01:00
Nextcloud bot c6d19b2d7d Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-27 00:20:24 +00:00
Ferdinand Thiessen af6f1cdde4 Merge pull request #42461 from nextcloud/backport/42442/stable28
[stable28] fix: Adjust focus-visible marker on appmenu
2023-12-26 20:26:35 +01:00
Eduardo Morales 2c8fa3efb5 Merge pull request #42432 from nextcloud/42167-manual-backport
[stable28] Backport unified search improvments
2023-12-26 11:33:11 -06:00
nextcloud-command 67a874a6f9 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-12-26 11:19:25 -06:00
fenn-cs ada6e3565d Use display name instead of 'me' text.
Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2023-12-26 11:19:25 -06:00
fenn-cs 8b286fbd0e Add authenicated user to person list for search filtering
As expected, a user does not see themselves in their contact list,
 however, when using the contact list for filtering search, a user,
 might want to limit the search to things that pertain to them.

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2023-12-26 11:19:25 -06:00
fenn-cs 44c689ac1e Unified search: update people select with API calls
On change/input from user which has the effect of filtering,
 we want to send the query to the API to obtained fresh results,
 based on the databased on not just preloaded contacts.

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2023-12-26 11:19:25 -06:00
fenn-cs 593a2349c1 Rephrase unified search helper text
Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2023-12-26 11:19:25 -06:00
John Molakvoæ db3d81a06b Merge pull request #42409 from nextcloud/backport/42366/stable28 2023-12-26 08:26:18 +01:00
Nextcloud bot 72a5a20912 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-26 00:20:54 +00:00
Nextcloud bot ef8fc1485b Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-25 00:20:34 +00:00
nextcloud-command 4f3eb7c37e chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-12-24 01:23:56 +01:00
John Molakvoæ 56a7042731 fix(files): drag and drop events chain and cancel
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2023-12-24 01:21:49 +01:00
John Molakvoæ ded7d72171 fix(files): recursive drop path join
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2023-12-24 01:21:49 +01:00
Nextcloud bot 2ff9573343 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-24 00:20:46 +00:00
Nextcloud bot 10bbcfe341 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-23 00:20:19 +00:00
Ferdinand Thiessen b8695e5a28 fix: Adjust focus-visible marker on appmenu
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-12-22 17:36:33 +00:00
Eduardo Morales f7080c51f9 Merge pull request #42431 from nextcloud/42094-manual-backport
[stable28] Rename "global search" to "unified search"
2023-12-22 09:23:42 -06:00
fenn-cs 525c2b82f6 Rename "global search" to "unified search"
- Changes appearances of "Global search" to "Unified search" in UI
- Refactors code, to remove usage of term "GlobalSearch" in files and code
 structure
- Rename old unified search to `legacy-unified-search`

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-12-22 13:13:03 +00:00
Robin Appelman 2078ad79bd adjust redis compareSetTTL to use a lua script
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-12-22 09:54:13 +00:00
Robin Appelman 6ba6c95bab restore shared lock ttl when releasing
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-12-22 09:54:13 +00:00
Ferdinand Thiessen fecb3ea41c Merge pull request #42445 from nextcloud/backport/42439/stable28
[stable28] fix(theming): Invert filter should be based on primary-element
2023-12-22 10:02:17 +01:00
Ferdinand Thiessen 1300467f93 fix(theming): Invert filter should be based on primary-element
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-12-22 07:21:44 +00:00
Nextcloud bot 39993a6079 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-22 00:20:30 +00:00
Ferdinand Thiessen 5f7b82a7b4 Merge pull request #42367 from nextcloud/backport/42338/stable28
[stable28] fix(files): Use DAV functions from library to fix invalid source links
2023-12-21 22:11:35 +01:00
Grigorii K. Shartsev 344c053436 Merge pull request #42425 from nextcloud/backport/42419/stable28
[stable28] fix(files): Adjust ID for skip content buttons
2023-12-22 00:20:14 +05:00
nextcloud-command 2ff8bdc8de chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-12-21 17:49:45 +00:00
Ferdinand Thiessen 45a5b36795 Merge pull request #42426 from nextcloud/backport/42424/stable28
[stable28] fix(theming): Add adjusted color versions of default background
2023-12-21 18:23:56 +01:00
Ferdinand Thiessen a9b6c2db67 Merge pull request #42369 from nextcloud/backport/28-status-colors
[stable28] fix(theming): Adjust theming util to calculate primary element color based on WCAG color contrast
2023-12-21 18:18:17 +01:00
Ferdinand Thiessen c19445f42d fix(files): Use DAV functions from library to fix invalid source links
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-12-21 18:17:41 +01:00
Ferdinand Thiessen fc51c96676 Merge pull request #42355 from nextcloud/backport/42241/stable28
[stable28] feat(setupcheck): Add setup check for maintenance_window_start config
2023-12-21 18:16:28 +01:00
Ferdinand Thiessen d2a1dcb271 Merge pull request #42118 from nextcloud/stable28-backport-42030
[stable28] Replace input filed with password field and added password error message
2023-12-21 18:13:53 +01:00
Ferdinand Thiessen d917eac124 fix(theming): Add adjusted color versions of default background for better app-menu contrast
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-12-21 16:27:29 +00:00
Ferdinand Thiessen a6d775836f fix(files): Adjust ID for skip content buttons
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-12-21 17:16:28 +01:00
Ferdinand Thiessen e9328c0994 Merge pull request #42413 from nextcloud/backport/42381/stable28
[stable28] enh(dashboard): changed h1 to say Dashboard instead of Nextcloud
2023-12-21 17:15:57 +01:00
Kate cd596f00cd Merge pull request #42410 from nextcloud/backport/42406/stable28 2023-12-21 17:13:59 +01:00
Ferdinand Thiessen cbc812137b Merge pull request #42384 from nextcloud/backport/42298/stable28
[stable28] Don't write back .htaccess file on a RO filesystem
2023-12-21 17:13:13 +01:00
Ferdinand Thiessen 355c609de0 Merge pull request #42365 from nextcloud/backport/42361/stable28
[stable28] fix(manager): removed dead code
2023-12-21 17:10:42 +01:00
Ferdinand Thiessen 87c48b424c fix(theming): Make dark theme accessible and add unit test
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-12-21 17:07:02 +01:00
Ferdinand Thiessen 2f25f2feed fix(theming): Adjust status colors to be also accessible on blurry background
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-12-21 17:07:02 +01:00
Ferdinand Thiessen 6a362f8993 Merge pull request #42315 from nextcloud/backport/42285/stable28
[stable28] fix(theming): Adjust theming util to calculate primary element color based on WCAG color contrast
2023-12-21 17:05:34 +01:00
Ferdinand Thiessen 92a11b08e5 Merge pull request #42403 from nextcloud/backport/42401/stable28
[stable28] fix: Ensure app menu entries and dashboard welcome message have enough contrast
2023-12-21 17:03:33 +01:00
John Molakvoæ 62d83123d1 Merge pull request #42417 from nextcloud/release/28.0.1 2023-12-21 16:26:24 +01:00
John Molakvoæ f1dd41eb9d 28.0.1
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2023-12-21 15:08:58 +01:00
John Molakvoæ fce1c1831c Merge pull request #42423 from nextcloud/backport/42422/stable28 2023-12-21 15:08:44 +01:00
John Molakvoæ 3b0fc10ccc fix(dav): undeclared $cache property
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2023-12-21 13:55:40 +00:00
Git'Fellow 4fb8403fb3 Read Only FS return false
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2023-12-21 12:41:49 +01:00
Nextcloud bot 26ef10a07f Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-21 00:21:10 +00:00
Eduardo Morales cead9a4f45 enh(dashboard): changed h1 to say Dashboard instead of Nextcloud
Signed-off-by: Eduardo Morales <emoral435@gmail.com>
2023-12-20 22:37:06 +00:00
Eduardo Morales 4628000ca2 enh(dashboard): changed h1 to say Dashboard instead of Nextcloud
Signed-off-by: Eduardo Morales <emoral435@gmail.com>
2023-12-20 22:37:05 +00:00
jld3103 4da91f56e4 fix(dav): Hide less than minute diff in calendar notification title
Signed-off-by: jld3103 <jld3103yt@gmail.com>
2023-12-20 21:22:55 +00:00
julia.kirschenheuter aeaf69f124 Replace input filed with password field and added password error message
Remove unneeded NcDateTimePicker

Signed-off-by: julia.kirschenheuter <julia.kirschenheuter@nextcloud.com>

(cherry picked from commit 696545b530)
Signed-off-by: julia.kirschenheuter <julia.kirschenheuter@nextcloud.com>
2023-12-20 11:22:48 -06:00
nextcloud-command baa8fb5f14 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-12-20 15:55:10 +00:00
Ferdinand Thiessen ba336f650b fix: Adjust colors of app menu and dashboard
Those elements are shown directly on the background which has the `color-primary`,
so they need to use `color-primary-text` instead of `color-primary-element-text` for guranteed contrast.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-12-20 15:16:35 +00:00
Joas Schilling 42dee2e29f Merge pull request #42400 from nextcloud/backport/42140/stable28
[stable28] Update crl after revoke rides.csr
2023-12-20 15:41:49 +01:00
Matthieu Gallien ed7eb579b0 Update crl after revoke rides.csr
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-12-20 11:26:47 +01:00
Nextcloud bot 063d811fab Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-20 00:19:28 +00:00
John Molakvoæ 1dda035324 Merge pull request #42380 from nextcloud/backport/42309/stable28 2023-12-19 19:11:57 +01:00
Anna Larch 5fd10dc398 fix(userstatus): set user status to 'In a meeting' if calendar is busy
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-12-19 15:47:29 +00:00
Louis 82e0f1f370 Merge pull request #42378 from nextcloud/backport/42349/stable28
[stable28] Use FileInfo's metadata for hidden prop
2023-12-19 16:27:58 +01:00
Louis 74be33f061 Merge pull request #42371 from nextcloud/artonge/backport/stable28/42353
[stable28] Add global accessibility switch
2023-12-19 16:15:46 +01:00
Louis Chemineau 7ba9a4bd5b Add global accessibility switch
Signed-off-by: Louis Chemineau <louis@chmn.me>
2023-12-19 14:39:53 +01:00
Louis Chemineau 8cb5d47341 Use FileInfo's metadata for hidden prop
Signed-off-by: Louis Chemineau <louis@chmn.me>
2023-12-19 13:31:46 +00:00
Ferdinand Thiessen bb5523097f fix(theming): Adjust primary text color calculation to also work with high contrast themes
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-12-19 11:33:15 +01:00
Ferdinand Thiessen 8ff08d5a0a fix(theming): Adjust hover color to be accessible
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-12-19 11:33:15 +01:00
Ferdinand Thiessen e28ebe86c0 enh(theming): Adjust color utils to work as specified by WCAG (color contrast and luma calculation)
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-12-19 11:33:15 +01:00
Eduardo Morales 67d5cb3cb8 fix(manager): removed dead code
Signed-off-by: Eduardo Morales <emoral435@gmail.com>
2023-12-19 08:43:35 +00:00
Joas Schilling 1a45dd0b8c Merge pull request #42351 from nextcloud/backport/42304/stable28
[stable28] fix(ooo): add new ooo status with new emoji
2023-12-19 09:05:33 +01:00
Nextcloud bot 96c9e1b7d9 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-19 00:19:37 +00:00
Louis 4cbf64b030 Merge pull request #42357 from nextcloud/backport/42350/stable28
[stable28] Don't query oc_properties for metadata props
2023-12-18 18:01:04 +01:00
Louis Chemineau 112063bb5e Don't query oc_properties for metadata props
Signed-off-by: Louis Chemineau <louis@chmn.me>
2023-12-18 15:20:49 +00:00
Joas Schilling 81ce0d1ac6 feat(setupcheck): Add setup check for maintenance_window_start config
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-12-18 14:35:27 +00:00
Anna Larch deb4bef923 fix(ooo): add new ooo status with new emoji
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-12-18 12:06:57 +00:00
Joas Schilling 36f91063a1 Merge pull request #42316 from nextcloud/backport/42305/stable28
[stable28] fix(joblist): also reset last_run timestamp on updating an existing job
2023-12-18 12:00:16 +01:00
Anna Larch 7d90fb8209 fix(joblist): also reset last_run timestamp on updating an existing job
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-12-18 10:26:48 +01:00
Nextcloud bot 6146ddd06c Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-18 00:19:30 +00:00
Nextcloud bot b2de759ac5 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-17 00:19:08 +00:00
Nextcloud bot c905125614 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-16 00:19:31 +00:00
John Molakvoæ 01fad105be Merge pull request #42307 from nextcloud/release/28.0.1_rc1 2023-12-15 16:03:17 +01:00
Eduardo Morales 42793caefc Merge pull request #42294 from nextcloud/backport/42283/stable28
[stable28] fix: Ensure correct max contrast color is used when blurred background is used
2023-12-15 08:53:24 -06:00
John Molakvoæ cccac2ae5f Merge pull request #42311 from nextcloud/backport/42310/stable28 2023-12-15 15:50:03 +01:00
John Molakvoæ f2e156668c Merge pull request #42293 from nextcloud/backport/28-files-sizes 2023-12-15 15:27:11 +01:00
John Molakvoæ 94e60a3241 chore(deps): Bump @nextcloud/upload to 1.0.4
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2023-12-15 15:26:43 +01:00
Ferdinand Thiessen a510d5375b fix(files): Partly revert 32c1aeb and show correct quota again
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-12-15 15:23:36 +01:00
Joas Schilling 261de22ce9 Merge pull request #42152 from nextcloud/backport/42144/stable28
[stable28] fix(caldav): don't reuse query builder objects
2023-12-15 15:11:59 +01:00
John Molakvoæ 8942746705 Merge pull request #42302 from nextcloud/backport/42281/stable28 2023-12-15 14:41:21 +01:00
John Molakvoæ 6f68d36484 28.0.1 RC1
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2023-12-15 14:37:10 +01:00
Ferdinand Thiessen 8d1d5f3c50 fix(core): Make sure correct colors are used on blurred background
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-12-15 12:49:28 +00:00
John Molakvoæ fe631fad08 fix(files): fix download file encoded source
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-12-15 12:34:19 +00:00
Andy Scherzinger 49bff0fbe7 Merge pull request #42296 from nextcloud/backport/42268/stable28
[stable28] fix(dashboard): changed h3 elements to h2
2023-12-15 11:50:47 +01:00
Eduardo Morales 558a3afb08 [stable28] fix(dashboard): changed h3 elements to h2
Signed-off-by: Eduardo Morales <emoral435@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-12-15 08:51:46 +00:00
Eduardo Morales 46f5ab893c Merge pull request #42295 from nextcloud/backport/42132/stable28
[stable28] enh(oauth2): allowed toggling of aria label
2023-12-15 02:36:36 -06:00
Andy Scherzinger ad1e400028 Merge pull request #42106 from nextcloud/backport/42053/stable28
[stable28] fix(Users/Quota setting): Prevent floating point value from getting truncated in locales other than english
2023-12-15 09:35:34 +01:00
Eduardo Morales c8f79702a3 enh(oauth2): allowed toggling of aria label
Signed-off-by: Eduardo Morales <emoral435@gmail.com>
2023-12-15 02:54:08 +00:00
Nextcloud bot 405fef98c5 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-15 00:19:08 +00:00
nextcloud-command b4132ba594 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-12-14 18:44:40 +00:00
Marcel Klehr 30016e1118 fix(Users/Quota setting): Prevent floating point value from getting truncated in locales other than english
fixes #18468

Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2023-12-14 19:40:57 +01:00
Andy Scherzinger d466cc07e0 Merge pull request #42131 from nextcloud/backport/42111/stable28
[stable28] fix(a11y): Unified search headings
2023-12-14 19:38:56 +01:00
Benjamin Gaussorgues 78b09f81cb Merge pull request #42201 from nextcloud/backport/42064/stable28 2023-12-14 19:05:21 +01:00
Christopher Ng 548e76a5f6 fix(a11y): Unified search headings
Signed-off-by: Christopher Ng <chrng8@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-12-14 17:23:44 +00:00
Benjamin Gaussorgues 771db86c1c feat(settings): add occ commands to handle admin delegation
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2023-12-14 17:51:47 +01:00
Andy Scherzinger 073b8683e6 Merge pull request #42282 from nextcloud/backport/42095/stable28
[stable28] fix(files): navigation exact
2023-12-14 17:51:04 +01:00
John Molakvoæ a0692b6e44 fix(files): navigation exact
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-12-14 16:25:32 +00:00
Andy Scherzinger 7fa0c9d410 Merge pull request #42279 from nextcloud/backport/42124/stable28
[stable28] feat(files): add batch support to copy-move
2023-12-14 17:10:57 +01:00
nextcloud-command 38419e2766 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-12-14 15:38:26 +00:00
John Molakvoæ aa7098cc38 fix(files): templates logger usage
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2023-12-14 16:34:47 +01:00
John Molakvoæ bf850542a6 feat(files): add batch support to copy-move
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2023-12-14 16:34:16 +01:00
Andy Scherzinger 2e9fb54e57 Merge pull request #42278 from nextcloud/fix/backport-28-42183
[stable28] fix(UnifiedSearch): Drop title prop
2023-12-14 16:20:29 +01:00
Ferdinand Thiessen 02e6cf7e80 Merge pull request #42277 from nextcloud/fix/backport-files-drag-handler
[stable28] fix(files): Conditionally add drag handlers
2023-12-14 15:36:50 +01:00
Louis 056401beec Merge pull request #42263 from nextcloud/backport/42198/stable28
[stable28] Wrap metadata generation in try/catch
2023-12-14 13:41:35 +01:00
Ferdinand Thiessen e15034ecd6 chore: Compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-12-14 12:55:24 +01:00
Ferdinand Thiessen 25512039da fix(UnifiedSearch): Remove title prop from modal
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-12-14 12:49:50 +01:00
Ferdinand Thiessen 040c767ba9 chore: Compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-12-14 12:47:37 +01:00
Ferdinand Thiessen bb16a2be8b fix(files): Do not add drag and drop listeners when renaming a file
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-12-14 12:43:45 +01:00
Louis Chemineau 78de15ab45 Wrap metadata generation in try/catch
Signed-off-by: Louis Chemineau <louis@chmn.me>
2023-12-14 10:25:31 +00:00
Joas Schilling 892c0bf5a1 Merge pull request #42190 from nextcloud/automated/noid/stable28-update-ca-cert-bundle
[stable28] fix(security): Update CA certificate bundle
2023-12-14 06:52:38 +01:00
nextcloud-command 78174bca56 fix(security): Update CA certificate bundle
Signed-off-by: GitHub <noreply@github.com>
2023-12-14 02:19:36 +00:00
Ferdinand Thiessen a54b9109e3 Merge pull request #42125 from nextcloud/backport/42112/stable28
[stable28] enh(settings): Set main page heading
2023-12-14 01:56:06 +01:00
Nextcloud bot e3590547c6 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-14 00:19:32 +00:00
Andy Scherzinger fe63f6f079 Merge pull request #42166 from nextcloud/backport/42142/stable28
[stable28] fix(dav): Prevent out-of-office event time drifts
2023-12-13 22:42:56 +01:00
Christoph Wurst e622692802 fix(dav): Prevent out-of-office event time drifts
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-12-13 21:17:01 +01:00
Louis 1638a3ee41 Merge pull request #42108 from nextcloud/backport/42096/stable28
[stable28] Comment legacy file_metadata table migrations
2023-12-13 11:25:48 +01:00
Louis Chemineau ba44843213 Comment legacy file_metadata table migrations
Signed-off-by: Louis Chemineau <louis@chmn.me>
2023-12-13 10:43:54 +01:00
Nextcloud bot 0fcc88424d Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-13 00:20:04 +00:00
Nextcloud bot 23177dae98 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-12 00:19:03 +00:00
Arthur Schiwon e15fcecaf0 Merge pull request #42146 from nextcloud/release/28.0.0
28.0.0
2023-12-11 21:21:42 +01:00
Arthur Schiwon 4489c21d85 Merge pull request #42164 from nextcloud/revert-42163-backport/42142/stable28
Revert "[stable28] fix(dav): Prevent out-of-office event time drifts"
2023-12-11 21:20:52 +01:00
Arthur Schiwon a33ffeb496 Revert "[stable28] fix(dav): Prevent out-of-office event time drifts" 2023-12-11 21:20:23 +01:00
Arthur Schiwon c471de211f Merge pull request #42163 from nextcloud/backport/42142/stable28
[stable28] fix(dav): Prevent out-of-office event time drifts
2023-12-11 21:20:10 +01:00
Arthur Schiwon 53275e6b3e Merge pull request #42159 from nextcloud/backport/42154/stable28
[stable28] fix rename on live photos
2023-12-11 21:12:47 +01:00
Christoph Wurst 4757d3ed7d fix(dav): Prevent out-of-office event time drifts
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-12-11 17:28:42 +00:00
Maxence Lange e80f85a847 fix rename
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2023-12-11 15:44:19 +00:00
Anna Larch 043a2528a4 fix(caldav): don't reuse query builder objects
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-12-11 12:50:21 +00:00
Arthur Schiwon 45ab3e1dfe 28.0.0
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-12-11 12:25:57 +01:00
Nextcloud bot 12bafe16d5 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-11 00:24:29 +00:00
Nextcloud bot 9d7e1e0ba3 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-10 00:19:21 +00:00
Nextcloud bot 6602b84f9a Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-09 00:19:17 +00:00
nextcloud-command 433ef6b177 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-12-08 18:57:32 +00:00
Christopher Ng 8d82cff756 fix(settings): Expected string aria-label got boolean error
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2023-12-08 16:15:40 +00:00
Christopher Ng 291e56d272 enh(settings): Set main heading for Apps
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2023-12-08 16:15:40 +00:00
Christopher Ng fd20198464 enh(settings): Set main heading for User management
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2023-12-08 16:15:40 +00:00
Arthur Schiwon 478c8ca030 Merge pull request #42123 from nextcloud/release/28.0.0_rc4
28.0.0 RC4
2023-12-08 16:28:33 +01:00
Arthur Schiwon e76713ba74 Merge pull request #42119 from nextcloud/backport/42115/stable28
[stable28] chore(deps): Update openapi-extractor
2023-12-08 16:14:21 +01:00
Arthur Schiwon e989cc6867 28.0.0 RC4
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-12-08 16:09:29 +01:00
John Molakvoæ 25cda7cb5a Merge pull request #42113 from nextcloud/backport/42100/stable28 2023-12-08 15:44:33 +01:00
John Molakvoæ 46b6966f35 Merge pull request #42122 from nextcloud/backport/42093/stable28 2023-12-08 15:44:24 +01:00
John Molakvoæ 8b5a4449c8 fix(l10n): fix translations for init scripts
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2023-12-08 13:40:44 +00:00
jld3103 0f320e352f chore(deps): Update openapi-extractor
Signed-off-by: jld3103 <jld3103yt@gmail.com>
2023-12-08 13:02:44 +01:00
Grigorii K. Shartsev 1adffd4284 fix(core): add translations on the login page
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
2023-12-08 09:44:27 +00:00
Nextcloud bot cd428124ff Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-08 00:19:05 +00:00
Arthur Schiwon 3ac0dec6fb Merge pull request #41966 from nextcloud/release/28.0.0_rc3
28.0.0 RC3
2023-12-07 21:21:48 +01:00
Arthur Schiwon 4a77f2814f Merge pull request #42103 from nextcloud/fix/stable28-reference-picker
[stable28]  fix: Adjust reference picker code for the vue based FilePicker
2023-12-07 21:16:19 +01:00
Ferdinand Thiessen 6ea6048d51 chore: Compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-12-07 11:08:46 -08:00
Ferdinand Thiessen c3907dce86 fix(files): Adjust reference picker for new vue file picker
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-12-07 11:08:46 -08:00
Arthur Schiwon ceb3975fd9 Merge pull request #42105 from nextcloud/42101-stable28-backport
[stable28] Change global search UI text to unified search
2023-12-07 19:30:37 +01:00
Louis 1675c79dce Merge pull request #41983 from nextcloud/automated/noid/stable28-fix-npm-audit
[stable28] Fix npm audit
2023-12-07 17:37:53 +01:00
nextcloud-command a90844ed66 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-12-07 15:57:32 +00:00
fenn-cs 050a0bf74d Change global search UI text to unified search
Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2023-12-07 16:25:15 +01:00
Louis 0697900bf2 Merge pull request #42076 from nextcloud/backport/42067/stable28
[stable28] Fix some silent share bugs
2023-12-07 12:52:14 +01:00
Andy Scherzinger 17696ac3d8 Merge pull request #42089 from nextcloud/backport/42077/stable28
[stable28] enh(a11y): Add navigation labels
2023-12-07 12:49:43 +01:00
Andy Scherzinger d147641484 Merge pull request #42088 from nextcloud/backport/42055/stable28
[stable28] enh(NavigationManager): Use ID as fallback for `app` property of entries
2023-12-07 12:41:52 +01:00
Joas Schilling 95f82d79cb Merge pull request #42087 from nextcloud/backport/42001/stable28
[stable28] fix(dav): Improve handling and logging of bulk upload failures
2023-12-07 10:30:24 +01:00
Joas Schilling 24606a9d70 Merge pull request #42082 from nextcloud/backport/41937/stable28
[stable28] fix(bruteforce-protection): Don't throw a 500 when MaxDelayReached is…
2023-12-07 10:29:20 +01:00
Joas Schilling 475d2b2dc8 chore(assets): Recompile JS
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-12-07 10:26:11 +01:00
Christopher Ng b4bc7f394e enh(settings): Add apps and user management navigation labels
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2023-12-07 09:19:23 +00:00
Christopher Ng 4ad7360348 enh(files): Add files navigation label
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2023-12-07 09:19:23 +00:00
Ferdinand Thiessen b82a7d6102 enh(NavigationManager): Use ID as fallback for app property of entries
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-12-07 08:27:28 +00:00
Andy Scherzinger f4275c2629 28.0.0 RC3
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-12-07 08:58:28 +01:00
Andy Scherzinger 13f0badf19 Merge pull request #42073 from nextcloud/backport/42062/stable28
[stable28] Correct semantics for link opening in global search
2023-12-07 08:57:31 +01:00
nextcloud-command 06eda7ab6c chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-12-07 08:56:31 +01:00
fenn-cs 8a67fc44c9 Remove newPassword from share model, if disabled
It's important to delete the `newPassword` prop from the share
 model, if the user unchecks the isPasswordProtected checkbox.

This clearer and allows for the unchecking to actually work as
`this.$set()` fails with the falsy value `''`.

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2023-12-07 08:56:31 +01:00
fenn-cs 9c67ae4ec1 Create element reference inside $nextTick()
Accessing `this.$refs.shareList` outside $nextTick()
 could lead to the holder (`listComponent`) being undefined
 as the ref is yet to exist.

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2023-12-07 08:56:31 +01:00
Joas Schilling e8492bc8e1 fix(dav): Improve handling and logging of bulk upload failures
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-12-07 08:56:14 +01:00
Joas Schilling 705f2365ac fix(bruteforce-protection): Don't throw a 500 when MaxDelayReached is thrown
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-12-07 08:55:54 +01:00
Simon L d9abfa002d Merge pull request #42058 from nextcloud/backport/42031/stable28 2023-12-07 08:53:44 +01:00
Julius Härtl 9894a22a8f Merge pull request #42074 from nextcloud/backport/41944/stable28 2023-12-07 08:39:02 +01:00
Simon L 26b927251e fix look of personal global credentials settings
Signed-off-by: Simon L <szaimen@e.mail.de>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-12-07 08:30:43 +01:00
Nextcloud bot 252477fbd6 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-07 00:19:48 +00:00
Ferdinand Thiessen 01db5d200d Merge pull request #42069 from nextcloud/backport/41948/stable28
[stable28] fix(theming): Adjust dark theme to be accessible adjust cypress tests
2023-12-06 23:19:58 +01:00
Julius Härtl b9e7ec4bb9 fix: Properly fetch version from shared files by accessing the owner storage version
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-12-06 23:17:38 +01:00
Ferdinand Thiessen 465f2169c7 Merge pull request #42071 from nextcloud/fix/stable28/files-handle-drop-folders-correctly
[stable28] fix(files): Correctly handle dropping folders on file list
2023-12-06 22:17:16 +01:00
nextcloud-command 9ba949354d chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-12-06 20:23:53 +00:00
fenn-cs a728bcde43 Correct semantics for link opening in global search
Following the update of `NcListItem` to allow control over
 where and how passed `hrefs` open, the search result component
 can now make use of these props.

See : https://github.com/nextcloud-libraries/nextcloud-vue/pull/4923

Resolves :  #41800

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2023-12-06 20:23:52 +00:00
Ferdinand Thiessen c7ea556bfb fix(theming): Adjust dark theme to be accessible adjust cypress tests
Also fix warning text color for bright / default theme on blurry background

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-12-06 20:34:36 +01:00
nextcloud-command 05df9ac57e chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-12-06 20:25:58 +01:00
Ferdinand Thiessen 5700db2061 fix(files): Correctly handle dropping folders on file list
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-12-06 20:25:58 +01:00
Joas Schilling 0577c9a103 Update .drone.yml signature
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-12-06 20:13:11 +01:00
Ferdinand Thiessen dce63cef71 Merge pull request #42057 from nextcloud/backport/stable28-dialogs
[stable28] chore: Update `@nextcloud/dialogs` to version 5.0.3
2023-12-06 16:48:36 +01:00
Joas Schilling 330ab5f53a Merge pull request #42050 from nextcloud/backport/42044/stable28
[stable28] Fix AppSettingsController.php overwriting currentLanguage
2023-12-06 15:03:50 +01:00
Ferdinand Thiessen 9e0b231ee9 chore: Update @nextcloud/dialogs to version 5.0.3
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-12-06 14:55:50 +01:00
1 Man Projects 7c40700491 Fix AppSettingsController.php overwriting currentLanguage
Fix for CurrentLanguage being overwritten by currentVersion thus breaking App-View

Signed-off-by: 1 Man Projects <reed@1manprojects.de>
2023-12-06 11:34:57 +00:00
Andy Scherzinger b10f72fccc Merge pull request #41949 from nextcloud/backport/stable28/40169
[stable28] enh(settings): Load from disabled users endpoint
2023-12-06 10:44:51 +01:00
Joas Schilling 675d25e865 Merge pull request #42029 from nextcloud/backport/41962/stable28
[stable28] fix(dav): Make current ooo info time-dependent
2023-12-06 05:57:34 +01:00
Nextcloud bot 819d474a48 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-06 00:21:01 +00:00
Christoph Wurst df4a76a4e6 fix(dav): Make current ooo info time-dependent
* If there is an out of office absence info and it happens now -> return
  data
* Else: return no data

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-12-06 00:15:59 +01:00
Côme Chilliet a9d86c1f95 Invert parameter order in getDisabledUserList to be consistent
This matches what was done in the calls and so fixes getting disabled
 user list when there are several backends returning disabled users.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
(cherry picked from commit 85e7887e0764a9347bbbb10812459d95ccdfa6d4)
2023-12-06 00:08:29 +01:00
Christopher Ng e32d38375a chore: compile assets
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2023-12-06 00:08:29 +01:00
Christopher Ng c7fc085849 enh(settings): Load from disabled users endpoint
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 7affbba6aecebf68b9c2e9ae6cb75fb251f94861)
2023-12-06 00:08:29 +01:00
Andy Scherzinger fa1c1ac19d Merge pull request #41969 from nextcloud/backport/41844/stable28
[stable28] fix(TextProcessing): Add task type template param to IManager and registerTPProvider
2023-12-06 00:06:41 +01:00
Andy Scherzinger 680c4ae155 Merge pull request #41976 from nextcloud/fix/stable28-fix-table-header
[stable28] fix(files): Adjust table header to look like on previous versions
2023-12-06 00:05:40 +01:00
Ferdinand Thiessen c1c8b928a6 chore: Compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-12-05 22:35:54 +01:00
Ferdinand Thiessen 814ebcda22 fix(files): Adjust table header to look like on previous versions
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-12-05 22:33:46 +01:00
Julius Härtl 178ce1f3ec Merge pull request #42023 from nextcloud/backport/42006/stable28 2023-12-05 20:49:59 +01:00
Ferdinand Thiessen 4ece2f27a3 Merge pull request #42032 from nextcloud/backport/unified-search-headings
[stable28] fix(UnifiedSearch): Move headings out of list element (invalid HTML)
2023-12-05 18:23:18 +01:00
Ferdinand Thiessen fd580e5067 chore: Compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-12-05 17:55:20 +01:00
Ferdinand Thiessen acf619be23 fix: Adjust code to be Vue 2.7 compatible as key on <template> is Vue3 only
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-12-05 17:55:18 +01:00
Ferdinand Thiessen 6c49c3e936 fix(UnifiedSearch): Move headings out of list elements
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-12-05 17:54:44 +01:00
nextcloud-command 88e9925cf3 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-12-05 16:06:32 +00:00
Julius Härtl 52b902831c fix: Also filter out undefined entries from the file list
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-12-05 16:58:13 +01:00
Julius Härtl 6a938e1ae9 fix: Properly take show_hidden user setting into account for file listing
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-12-05 16:58:13 +01:00
Benjamin Gaussorgues 52aadb5fd2 Merge pull request #42014 from nextcloud/backport/41985/stable28 2023-12-05 16:56:06 +01:00
Ferdinand Thiessen 3a09ddcb52 Merge pull request #41989 from nextcloud/backport/28-logic-files
[stable28] fix(files): Reverse logic to prevent copy to itself
2023-12-05 15:03:19 +01:00
Ferdinand Thiessen 3d32e748e6 chore: Compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-12-05 14:40:13 +01:00
Ferdinand Thiessen 052db6200d enh(files): Add cypress tests for copy and move
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-12-05 14:04:16 +01:00
Ferdinand Thiessen f695df8506 fix(files): Correct condition for checking copy/move into same directory
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-12-05 14:04:16 +01:00
Ferdinand Thiessen 77970de9f3 Merge pull request #41990 from nextcloud/fix/backport-28-drag-n-drop
[stable28] fix(files): Allow to drag and drop new files also on empty directories
2023-12-05 14:03:39 +01:00
Arthur Schiwon 034241b29a Merge pull request #42017 from nextcloud/backport/41650/stable28
[stable28] feat(LDAP): implement IIsAdmin interface
2023-12-05 13:50:41 +01:00
Ferdinand Thiessen b1a6031a60 chore: Compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-12-05 13:05:59 +01:00
Ferdinand Thiessen e210caf4cf fix(config): Adjust typescript config to allow .ts imports and Typescript in Vue files
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-12-05 13:04:29 +01:00
Ferdinand Thiessen 96c477d86d fix(files): Show error message if drag-and-drop upload fails
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-12-05 13:04:29 +01:00
Ferdinand Thiessen 89e01eafee fix(files): Allow to drag and drop new files also on empty directories
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-12-05 13:04:29 +01:00
Andy Scherzinger 7ae780be6b Merge pull request #42026 from nextcloud/backport/42019/stable28
[stable28] +files_metadata_installed
2023-12-05 12:32:45 +01:00
Ferdinand Thiessen 4a14b6e2ea Merge pull request #41991 from nextcloud/fix/backport-table-labels
[stable28]  fix(files): Remove confusing table header labels
2023-12-05 11:53:48 +01:00
Ferdinand Thiessen 6f4dc60745 chore: Compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-12-05 11:14:57 +01:00
Ferdinand Thiessen 9d6c2ae264 fix(files): Remove confusing table header labels
For screen readers the table header was very verbose and confusing,
as the SR reads out e.g. "sort list by name button FILENAME" for every row / file.
Instead reduce it to "name button FILENAME" and add information about sorting to caption, as recommended by WCAG [1]

[1]: https://www.w3.org/WAI/ARIA/apg/patterns/table/examples/sortable-table/

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-12-05 10:56:28 +01:00
Maxence Lange 4d89d9cd0f +files_metadata_installed
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2023-12-05 09:24:04 +00:00
Nextcloud bot 782160af76 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-05 00:21:26 +00:00
Andy Scherzinger 875b6516c8 Merge pull request #42013 from nextcloud/backport/41460/stable28
[stable28] Migrate database missing checks
2023-12-04 20:20:50 +01:00
Arthur Schiwon 26465f3c56 feat(LDAP): warn about demoting a group while promoting another
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-12-04 18:52:20 +00:00
Arthur Schiwon 668d2bc6d5 enh(LDAP): add occ command to promote an LDAP group to admin
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-12-04 18:52:20 +00:00
Arthur Schiwon d8215fbcee enh(LDAP): implement IIsAdmin interface
- add configuration to specify one LDAP group acting as admin group (CLI)
- implement `isAdmin()` method, basically relying on inGroup against the
  configured group

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-12-04 18:52:19 +00:00
Varun Patil a7586ccf47 fix(files): allow any throwable in logException
If a TypeError is passed here, it in turn causes a TypeError which
kills the rendering of the error page.

Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-12-04 16:26:37 +00:00
Côme Chilliet e57d31ffb0 Missing things in database should be warning, not info
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-12-04 16:23:25 +00:00
Côme Chilliet bd9a5df5d1 fix(tests) Fix CheckSetupControllerTest
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-12-04 16:23:25 +00:00
Côme Chilliet b75affa793 Switch from deprecated hasPrimaryKey to getPrimaryKey function
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-12-04 16:23:25 +00:00
Côme Chilliet fc2467c18f Migrate missing primary key database check to new API
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-12-04 16:23:24 +00:00
Côme Chilliet e48e67b0a4 Migrate missing index database check to new API
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-12-04 16:23:23 +00:00
Côme Chilliet d0a72a103d Migrate missing column database check to new API
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-12-04 16:23:23 +00:00
Joas Schilling 9ab8020035 Merge pull request #42010 from nextcloud/backport/42008/stable28
[stable28] fix(metadata): Allow to load metadata of multiple files at once
2023-12-04 16:35:30 +01:00
Joas Schilling c6acd3f8ec fix(metadata): Fix copy-paste doc block throws
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-12-04 14:59:36 +01:00
Joas Schilling 4ce175b88f fix(metadata): Allow to load metadata of multiple files at once
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-12-04 13:58:40 +00:00
Joas Schilling a5eaa56314 Merge pull request #42005 from nextcloud/backport/41999/stable28
[stable28] fix(security): Handle idn_to_utf8 returning false
2023-12-04 13:59:00 +01:00
Julius Härtl b6dd719711 Merge pull request #42000 from nextcloud/backport/41995/stable28 2023-12-04 12:50:17 +01:00
Joas Schilling 704751f868 fix(security): Handle idn_to_utf8 returning false
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-12-04 11:18:51 +00:00
Marcel Klehr d95c3edd6b fix(TemplateManager): Bail early if templatedirectory is empty
fixes #39266

Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2023-12-04 09:57:30 +00:00
Joas Schilling 0744821ebf Merge pull request #41955 from nextcloud/backport/41766/stable28
[stable28] fix(files_external): Fix "Could not find resource main.js to load"
2023-12-04 08:55:21 +01:00
Nextcloud bot 3ef484d1c3 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-04 00:18:37 +00:00
Ferdinand Thiessen 41ece3b55c Merge pull request #41978 from nextcloud/backport/41953/stable28
[stable28] fix(files): Move aria-label for favorite icon from span to icon
2023-12-03 17:28:38 +01:00
nextcloud-command cd4d6809a2 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-12-03 14:22:28 +00:00
Ferdinand Thiessen 93017848f0 fix(files): Remove aria-label from span and move to favorite icon
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-12-03 15:18:35 +01:00
nextcloud-command 82e6627eea chore(deps): fix npm audit
Signed-off-by: GitHub <noreply@github.com>
2023-12-03 02:49:32 +00:00
Nextcloud bot ca5da4f347 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-03 00:18:28 +00:00
Joas Schilling 6380a38de4 Merge pull request #41967 from nextcloud/fix/dav/single-day-ooo-stable28
[stable28] fix(dav): Allow single-day out of office
2023-12-02 08:10:51 +01:00
Nextcloud bot 1149706765 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-02 00:21:25 +00:00
Louis 917e271730 Merge pull request #41941 from nextcloud/backport/41924/stable28
[stable28] Add comment in SyncLivePhotosListener
2023-12-02 00:21:27 +01:00
Louis Chemineau 263f9e1e77 Add comment in SyncLivePhotosListener
Signed-off-by: Louis Chemineau <louis@chmn.me>
2023-12-01 22:54:57 +01:00
Joas Schilling dec04eccb0 fix(files_external): Fix "Could not find resource main.js to load"
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-12-01 15:28:41 -06:00
Marcel Klehr 2d65838af1 fix(TextProcessing): Make task type template param covariant
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2023-12-01 12:36:42 +00:00
Christoph Wurst 3b30b2ff16 fix(dav): Allow single-day out of office
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-12-01 13:29:53 +01:00
Joas Schilling ed809fd0f6 Merge pull request #41960 from nextcloud/bugfix/noid/fix-video-verification-tests
fix(CI): Fix video verification tests
2023-12-01 11:40:47 +01:00
Joas Schilling 385495050b Merge pull request #41963 from nextcloud/backport/41957/stable28
[stable28] feat(out-of-office): Add OCS endpoint to set and clear absence
2023-12-01 11:39:12 +01:00
Joas Schilling bdf3b46daf fix(out-of-office)!: Remove non OCS endpoint
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-12-01 11:00:35 +01:00
Joas Schilling d5f3710917 feat(out-of-office): Migrate frontend to OCS endpoint
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-12-01 10:59:45 +01:00
Joas Schilling 7bfeeaedee feat(out-of-office): Add OCS endpoint to set and clear absence
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-12-01 10:57:40 +01:00
Joas Schilling ab788f5dfa fix(CI): Fix video verification tests
Searching for "master" doesn't work when the app switches to "main"

Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-12-01 10:43:10 +01:00
Joas Schilling ffbc8c90bf Merge pull request #41956 from nextcloud/backport/41928/stable28
[stable28] fix(copyright): Fix copyright doc blocks
2023-12-01 10:14:51 +01:00
Joas Schilling f65eba52eb fix(copyright): Fix copyright doc blocks
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-12-01 07:20:23 +00:00
Nextcloud bot 8b3161efc9 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-01 00:18:42 +00:00
Andy Scherzinger ba53734e15 Merge pull request #41945 from nextcloud/fix/stable28-cypress-global-search-modal
[stable28] fix(cypress): Adjust user columns tests
2023-11-30 21:55:29 +01:00
Arthur Schiwon 45e5715575 Merge pull request #41814 from nextcloud/release/28.0.0_rc2
28.0.0 RC2
2023-11-30 20:59:47 +01:00
Arthur Schiwon 9bcb7774a4 Merge pull request #41943 from nextcloud/fix/stable28-update-vue
[stable28] Update `@nextcloud/vue` to 8.3.0
2023-11-30 20:47:04 +01:00
Ferdinand Thiessen a9f6050144 fix(cypress): Adjust user columns tests to be more specific when selecting a modal
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-11-30 20:37:46 +01:00
Ferdinand Thiessen cc3e0f9e0b fix: Update dav snapshots
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-11-30 19:46:49 +01:00
Ferdinand Thiessen 048cf59275 chore: Update @nextcloud/vue to 8.3.0
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-11-30 19:46:48 +01:00
Ferdinand Thiessen 20de1ec38b Merge pull request #41932 from nextcloud/backport/41923/stable28
[stable28] fix(core): app icon alignment in app menu
2023-11-30 19:44:13 +01:00
Andy Scherzinger 2bc87ddc5b Merge pull request #41929 from nextcloud/41785-manual-backport
[stable28] Migrate openResult method to SearchResult component
2023-11-30 18:56:33 +01:00
fenn-cs 71d7a99a52 Migrate openResult method to SearchResult component
After moving the `SearchResult` to its own component and leaving
 out the openResult method, the search results do not lead anywhere but
 but error out.

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-11-30 18:33:10 +01:00
Ferdinand Thiessen fdaa6e7c95 Merge pull request #41925 from nextcloud/41781-manual-backport
[stable28] UI updates for global search
2023-11-30 18:26:48 +01:00
fenn-cs 47cd940871 Fix date filter wording & improve search feedback
- Show loading when actually loading, instead of no content
- Change modified label to `Date` as it applies to a bunch of things.

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-11-30 17:15:06 +01:00
fenn-cs 8ec0f24e6f Unbold user names in SearchableList
Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2023-11-30 17:11:02 +01:00
fenn-cs 6fa617026d Improve accesibility for search tags/chips
- Use stand font of filter tags/chips
- No bold
- Use close icon and no close thick

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2023-11-30 17:11:02 +01:00
F. E Noel Nfebe eeaf2a086f Merge pull request #41930 from nextcloud/41792-manual-backport
[stable28]  Handle close GlobalSearchModal gracefully #41792
2023-11-30 17:09:34 +01:00
F. E Noel Nfebe 46fa012140 Merge pull request #41933 from nextcloud/41729-manual-backport
[stable28]  Enable new global search by default #41729
2023-11-30 16:54:05 +01:00
Andy Scherzinger 16190c7dbb Merge pull request #41934 from nextcloud/41885-manual-backport
[stable28]  Improve share logic for enforced password & expiry date
2023-11-30 16:39:35 +01:00
fenn-cs daafc733fa Handle close GlobalSearchModal gracefully
The current close infrastructure modifies a prop which has
 no real effect aside bugs.

In addition, calling the `NcModal.close()` as the primary way to
 close the search modal instead of using the states defined in `GlobalSearch` view
 causing re-open bugs (Modal cannot open, needs to click twice, and other weird stuff).

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-11-30 15:33:08 +00:00
Louis 996d94a0de Merge pull request #41921 from nextcloud/backport/41765/stable28
[stable28] Synchronize operation on live photo files
2023-11-30 15:42:18 +01:00
fenn-cs bd117d229f Enable new global search by default
The new global search would now be activated by default and users,
 have the option to revert to the old unified search by setting `unified_search.enabled`
to true in the NC `config.php` file.

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-11-30 13:46:28 +00:00
Benjamin Gaussorgues 7ad8426824 Merge pull request #41926 from nextcloud/41771-manual-backport 2023-11-30 14:17:39 +01:00
fenn-cs efc385dc39 Improve share logic for enforced password & expiry date
* It's possible for the admin to enforce and expiry date after, some
 shares have been created. This commit makes possible to update the
 share with the new admin constraints.

* This commit would users to modify enforced expiry to anything within
 range and less than the enforced limit in the pre-create dialog for public
 shares.

* This commit fixes, unable to update share without updating password.

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2023-11-30 12:41:06 +01:00
Grigorii K. Shartsev 2c2a8559e0 chore(assets): recompile assets
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
2023-11-30 11:30:50 +00:00
Grigorii K. Shartsev 7c00a0853b fix(core): app icon alignment in app menu
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
2023-11-30 11:30:49 +00:00
fenn-cs df7a1906e8 Always emit search event
For BOD, it's better to always emit the search event so
 apps (all of which we don't know) responding to this effect would receive notifications when
the search happens within these apps.

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2023-11-30 11:37:25 +01:00
Simon L 0561b11a4e Merge pull request #41920 from nextcloud/backport/41855/stable28
[stable28] fix(theming): Fix color inverted icons based on theming and dark mode
2023-11-30 11:09:58 +01:00
Louis Chemineau 86d88f6b00 Synchronize operation on live photo files
Signed-off-by: Louis Chemineau <louis@chmn.me>
2023-11-30 09:44:51 +00:00
Joas Schilling 32ec76e8d9 Fix more active entry icons
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-11-30 09:15:44 +01:00
Joas Schilling 217753d5f3 fix(theming): Fix color inverted icons based on theming and dark mode
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-11-30 09:14:09 +01:00
Simon L a1434af01e Merge pull request #41912 from nextcloud/update/vue/stable28
[stable28] update @nextcloud/upload to 1.0.2
2023-11-30 09:03:47 +01:00
Nextcloud bot 6cdfa519a2 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-30 00:22:41 +00:00
root 5f2b03c7f4 update @nextcloud/upload to 1.0.2
Signed-off-by: Simon L <szaimen@e.mail.de>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-11-29 23:15:33 +00:00
Arthur Schiwon 7407afb469 Merge pull request #41811 from nextcloud/backport/41778/stable28
[stable28] fix(dav): don't schedule out-of-office jobs for dates in the past
2023-11-29 21:56:17 +01:00
Arthur Schiwon c967da3b56 Merge pull request #41873 from nextcloud/backport/41703/stable28
[stable28] fix(dav): Convert dates without tz drift
2023-11-29 21:52:58 +01:00
Christoph Wurst b11da9c004 fix(dav): Timezone drift of OOO event
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-11-29 19:49:42 +01:00
Christoph Wurst ac782a1619 fix(dav): Convert dates without tz drift
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-11-29 19:49:42 +01:00
Christoph Wurst 64c7221390 Merge pull request #41868 from nextcloud/mime-type-msg-eml-28
[stable28] fix: add mimetype for eml and msg
2023-11-29 17:51:48 +01:00
Christoph Wurst 1b8e30ddb2 Merge pull request #41886 from nextcloud/backport/41866/stable28
[stable28] fix(dav): Prioritize timezone from core/login
2023-11-29 17:49:17 +01:00
Andy Scherzinger ec962bb7c8 Merge pull request #41845 from nextcloud/backport/41818/stable28
[stable28] fix(OOO): Make the returned data more explicit
2023-11-29 15:20:31 +01:00
Christoph Wurst 00ba78fed0 fix(dav): Prioritize timezone from core/login
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-11-29 14:12:43 +00:00
Daniel Kesselberg 1081c4aaa3 fix: change mime type for msg file
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2023-11-29 12:39:07 +01:00
Daniel Kesselberg 6ab3b061d3 fix: add mimetype for eml and msg
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2023-11-29 12:39:07 +01:00
Andy Scherzinger 8a4136dadf Merge pull request #41807 from nextcloud/backport/41753/stable28
[stable28] Spelling correction
2023-11-29 12:01:37 +01:00
Andy Scherzinger 81b4563039 Merge pull request #41837 from nextcloud/backport/41738/stable28
[stable28] feat(dav): hide search providers if their respective app is not activated
2023-11-29 11:50:43 +01:00
Joas Schilling 3c3b5d87a1 fix(OOO): Make the returned data more explicit
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-11-29 10:10:53 +00:00
Andy Scherzinger d6a411b4b4 Merge pull request #41783 from nextcloud/backport/41749/stable28
[stable28] fix(files_versions): Check for user and owner before call getUserFolder
2023-11-29 10:55:57 +01:00
Andy Scherzinger d384ade402 Update test for changed string - openInFilesAction.spec.ts
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-11-29 10:36:43 +01:00
Valdnet 32761660cd Change to capital letter
Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-11-29 10:36:43 +01:00
Valdnet 962dea6a62 Correct a typo
Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2023-11-29 10:36:43 +01:00
Andy Scherzinger 56827fc676 Merge pull request #41815 from nextcloud/backport/41809/stable28
[stable28] fix: Hidden password confirmation dialog with new global search
2023-11-29 10:35:48 +01:00
Andy Scherzinger 529ac2f4d6 Merge pull request #41817 from nextcloud/backport/41759/stable28
[stable28] fix(dav): Make ooo settings a form and the message required
2023-11-29 10:30:45 +01:00
Benjamin Gaussorgues 761b042e84 feat(dav): hide search providers if their respective app is not activated
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2023-11-29 09:28:00 +00:00
Christoph Wurst 41379c0f0a fix(dav): Make ooo settings a form and the message required
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-11-29 08:07:53 +00:00
Nextcloud bot 2f1f35530b Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-29 00:20:37 +00:00
Git'Fellow ba7c8e1df2 fix(files_versions): Explicitly check for user or owner before call getUserFolder
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

Fix typo

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

Fix

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

Fix

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

Fix

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

Optimize DI

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

Switch to DI

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

userSession does not contain null

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

Restore phpdoc annots

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2023-11-29 00:33:13 +01:00
Christopher Ng 97f10e3c37 chore: compile assets
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2023-11-28 15:15:58 -08:00
Christopher Ng 51b54f9751 fix: Hidden password confirmation dialog
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 5525edd805)
2023-11-28 15:11:15 -08:00
Christopher Ng 154fe8f102 fix(settings): Duplicate update user manager calls
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 919b5dbdf5)
2023-11-28 15:11:11 -08:00
Arthur Schiwon 2f3b949524 28.0.0 RC2
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-11-28 22:53:59 +01:00
Richard Steinmetz ba72471dd6 fix(dav): don't schedule out-of-office jobs for dates in the past
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2023-11-28 18:47:46 +00:00
Christoph Wurst 699ee7a1d8 Merge pull request #41798 from nextcloud/enh/stable28/add-ooo-and-remove-user-status
[stable28] enh(userstatus): add OOO automation and remove calendar automation
2023-11-28 18:20:18 +01:00
Andy Scherzinger f37e9da36a Merge pull request #41784 from nextcloud/backport/41782/stable28
[stable28] fix(files): Empty files list when uid contains special chars
2023-11-28 16:52:42 +01:00
Anna Larch e8481e428a [stable28] enh(userstatus): add OOO automation and remove calendar automation
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-11-28 15:44:23 +01:00
Arthur Schiwon e7b1d1f46c Merge pull request #41726 from nextcloud/backport/41722/stable28
[stable28] fix(dav): Avoid date diffing if PHP is buggy
2023-11-28 10:30:06 +01:00
Christopher Ng 918bd7607e chore: compile assets
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2023-11-27 17:26:19 -08:00
Christopher Ng 96386083dd fix(files): Empty files list when uid contains special chars
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 52cf1b3178)
2023-11-27 17:23:38 -08:00
Nextcloud bot 47fb88479e Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-28 00:26:29 +00:00
Andy Scherzinger 4342a48798 Merge pull request #41732 from nextcloud/backport/41632/stable28
[stable28] Fix adding x-requested-with header for relative URLs in some cases
2023-11-27 13:12:29 +01:00
Julien Veyssier d52641b8b8 compile assets
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2023-11-27 12:16:24 +01:00
Julien Veyssier 7741d5cd8f fix adding x-requested-with header for relative URLs when the base NC URL is empty
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2023-11-27 12:16:24 +01:00
Joas Schilling 057daaee9d Merge pull request #41761 from nextcloud/backport/41678/stable28
fix(security): Update expiration date in security.txt
2023-11-27 12:03:47 +01:00
Joas Schilling c05b1e841a fix(security): Update expiration date in security.txt
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-11-27 10:45:28 +01:00
Joas Schilling e6106cfbc2 Merge pull request #41757 from nextcloud/backport/41640/stable28
[stable28] fix(setupcheck): Fix memory limit setup check
2023-11-27 09:32:48 +01:00
Joas Schilling c1c6372ef2 fix(setupcheck): Fix memory limit setup check
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-11-27 05:49:43 +00:00
Nextcloud bot 25bc2e50c3 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-27 00:23:08 +00:00
Nextcloud bot 5b2ae14e75 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-26 00:23:47 +00:00
Andy Scherzinger 38714a2a07 Merge pull request #41741 from nextcloud/backport/41705/stable28
[stable28] confirm content on dav-v2 test
2023-11-25 09:35:21 +01:00
Maxence Lange ec74c00d4c confirm content on dav-v2 test
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2023-11-25 08:26:25 +01:00
Nextcloud bot 700b6ea4a3 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-25 00:26:04 +00:00
Andy Scherzinger 919b448bb6 Merge pull request #41742 from nextcloud/backport/41685/stable28
[stable28] Ensure share has download permissions in F2V
2023-11-24 21:15:32 +01:00
Louis 15e4c78014 Ensure share has download permissions in F2V
Signed-off-by: Louis <louis@chmn.me>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-11-24 18:12:35 +00:00
Louis 5e8ee6e0d6 Ensure share has download permissions in F2V
Signed-off-by: Louis <louis@chmn.me>
2023-11-24 17:59:38 +00:00
Andy Scherzinger 9b752d977f Merge pull request #41715 from nextcloud/backport/41707/stable28
[stable28] fix(files): Use SVG as FilePicker buttons to bring back icons
2023-11-24 18:00:43 +01:00
Ferdinand Thiessen 0f3cc3beab chore: Compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-11-24 16:26:23 +01:00
Ferdinand Thiessen 3727a18deb fix(files): Use SVG as FilePicker icons instead of Vue components
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-11-24 16:26:23 +01:00
Andy Scherzinger 2f1dfc8bcc Merge pull request #41733 from nextcloud/backport/41719/stable28
[stable28] Fix action button labels
2023-11-24 16:25:30 +01:00
Marco Ambrosini c9b5369a99 Fix action button labels
Signed-off-by: Marco Ambrosini <marcoambrosini@icloud.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-11-24 14:08:25 +00:00
Christoph Wurst 777701e7d1 fix(dav): Avoid date diffing if PHP is buggy
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-11-24 10:30:39 +00:00
Ferdinand Thiessen a89e93dcec Merge pull request #41716 from nextcloud/backport/41683/stable28
[stable28] Remove unneeded links and add `focus-visible` state on a link
2023-11-24 11:30:07 +01:00
julia.kirschenheuter 1b19610704 Remove unneeded links and add focus-visible state on a link
Signed-off-by: julia.kirschenheuter <julia.kirschenheuter@nextcloud.com>
2023-11-24 09:45:41 +01:00
Andy Scherzinger 36109fd26f Merge pull request #41708 from nextcloud/backport/41687/stable28
[stable28] fix(core): Subscribe to navigation changes on mounted for Unified search
2023-11-24 09:38:49 +01:00
Nextcloud bot 0d478a0b9c Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-24 00:27:21 +00:00
Ferdinand Thiessen 076abb661b fix(core): Subscribe to navigation changes on mounted for Unified search
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-11-23 23:39:32 +00:00
Arthur Schiwon b092daa0f6 Merge pull request #41621 from nextcloud/release/28.0.0_rc1
28.0.0 RC1
2023-11-23 21:53:31 +01:00
Arthur Schiwon 20be3a737d Merge pull request #41706 from nextcloud/backport/41652/stable28
[stable28] Focus global search input on open
2023-11-23 21:39:16 +01:00
fenn-cs ef73f18bff Focus global search input on open
For better accesibility, the search input in the global search
modal should be focused when the search modal is opened.

Resolves: https://github.com/nextcloud/server/issues/41651

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-11-23 19:55:40 +00:00
Arthur Schiwon a8a114ccbb Merge pull request #41701 from nextcloud/feat/dav/out-of-office-job-stable28
[stable28] feat(dav): dispatch out-of-office started and ended events
2023-11-23 19:52:59 +01:00
Andy Scherzinger 33515daa26 Merge pull request #41700 from nextcloud/backport/41669/stable28
[stable28] Add app-based filtering to global search
2023-11-23 19:51:20 +01:00
Richard Steinmetz d593206a30 feat(dav): dispatch out-of-office started and ended events
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2023-11-23 17:54:10 +01:00
fenn-cs 660e9639e3 Add app-based filtering to global search
Emit search queries from the global search modal that would trigger
list filtering in various apps that support it.

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-11-23 16:07:40 +00:00
Andy Scherzinger 9f9abd1a57 Merge pull request #41691 from nextcloud/backport/41680/stable28
[stable28] Replace "Update" with "Edit" in advanced share settings
2023-11-23 16:53:00 +01:00
Andy Scherzinger 52c9427c26 Merge pull request #41692 from nextcloud/backport/41672/stable28
[stable28] Fix star stroke color on hover
2023-11-23 16:48:17 +01:00
Marco Ambrosini a1aec65792 Fix star stroke color on hover
Signed-off-by: Marco Ambrosini <marcoambrosini@icloud.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-11-23 13:23:46 +00:00
Jérôme Herbinet 819b4a4412 npm run build
Signed-off-by: Jérôme Herbinet <33763786+Jerome-Herbinet@users.noreply.github.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-11-23 13:13:25 +00:00
Jérôme Herbinet a13ef9324f Replace "Update" with "Edit"
Signed-off-by: Jérôme Herbinet <33763786+Jerome-Herbinet@users.noreply.github.com>
2023-11-23 13:13:24 +00:00
Arthur Schiwon 7fc7449714 Merge pull request #41679 from nextcloud/branchoff/welcome-stable28
Test against stable28 branches
2023-11-23 12:00:45 +01:00
Joas Schilling 7f3ebb4e73 Test against stable28 branches
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-11-23 10:06:38 +01:00
Arthur Schiwon 26b2712eb5 28.0.0 RC1
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-11-20 12:04:02 +01:00
13511 changed files with 584326 additions and 801555 deletions
+45 -50
View File
@@ -1,38 +1,36 @@
FROM ubuntu:noble
FROM ubuntu:jammy
ARG DEBIAN_FRONTEND=noninteractive
# PHP
RUN apt-get update -y && \
apt install -y apache2 vim software-properties-common sudo nano gnupg2 wget curl git \
lsb-release ca-certificates apt-transport-https && \
add-apt-repository ppa:ondrej/php -y && \
apt-get update -y
apt install -y apache2 vim software-properties-common sudo nano gnupg2
RUN apt-get install --no-install-recommends -y \
php8.4 \
php8.4-common \
php8.4-gd \
php8.4-zip \
php8.4-curl \
php8.4-xml \
php8.4-xmlrpc \
php8.4-mbstring \
php8.4-sqlite \
php8.4-xdebug \
php8.4-pgsql \
php8.4-intl \
php8.4-imagick \
php8.4-gmp \
php8.4-apcu \
php8.4-bcmath \
php8.4-redis \
php8.4-soap \
php8.4-imap \
php8.4-opcache \
php8.4-cli \
php8.4-dev \
libmagickcore-6.q16-7-extra \
php8.1 \
php8.1-common \
php8.1-gd \
php8.1-zip \
php8.1-curl \
php8.1-xml \
php8.1-xmlrpc \
php8.1-mbstring \
php8.1-sqlite \
php8.1-xdebug \
php8.1-pgsql \
php8.1-intl \
php8.1-imagick \
php8.1-gmp \
php8.1-apcu \
php8.1-bcmath \
php8.1-redis \
php8.1-soap \
php8.1-imap \
php8.1-opcache \
php8.1-cli \
php8.1-dev \
libmagickcore-6.q16-3-extra \
curl \
lsof \
make \
unzip
@@ -44,39 +42,36 @@ RUN curl -sS https://getcomposer.org/installer -o /tmp/composer-setup.php && \
php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer && \
rm /tmp/composer-setup.php /tmp/composer-setup.sig
RUN echo "xdebug.remote_enable = 1" >> /etc/php/8.4/cli/conf.d/20-xdebug.ini && \
echo "xdebug.remote_autostart = 1" >> /etc/php/8.4/cli/conf.d/20-xdebug.ini && \
echo "apc.enable_cli=1" >> /etc/php/8.4/cli/conf.d/20-apcu.ini
RUN echo "xdebug.remote_enable = 1" >> /etc/php/8.1/cli/conf.d/20-xdebug.ini && \
echo "xdebug.remote_autostart = 1" >> /etc/php/8.1/cli/conf.d/20-xdebug.ini && \
echo "apc.enable_cli=1" >> /etc/php/8.1/cli/conf.d/20-apcu.ini
# Autostart XDebug for apache
RUN { \
echo "xdebug.mode=debug"; \
echo "xdebug.start_with_request=yes"; \
} >> /etc/php/8.4/apache2/conf.d/20-xdebug.ini
} >> /etc/php/8.1/apache2/conf.d/20-xdebug.ini
# Increase PHP memory limit to 512mb
RUN sed -i 's/memory_limit = .*/memory_limit = 512M/' /etc/php/8.4/apache2/php.ini
# Docker CLI only (for controlling host Docker via socket)
RUN install -m 0755 -d /etc/apt/keyrings && \
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc && \
chmod a+r /etc/apt/keyrings/docker.asc && \
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
tee /etc/apt/sources.list.d/docker.list > /dev/null && \
# Docker
RUN apt-get -y install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common && \
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && \
add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable" && \
apt-get update -y && \
apt-get install -y docker-ce-cli && \
apt-get install -y docker-ce docker-ce-cli containerd.io && \
ln -s /var/run/docker-host.sock /var/run/docker.sock
# Dedicated DevContainer user runs Apache
ENV APACHE_RUN_USER=devcontainer
ENV APACHE_RUN_GROUP=devcontainer
# Delete any existing user/group with UID/GID 1000 first
RUN (getent passwd 1000 && userdel -r $(getent passwd 1000 | cut -d: -f1)) || true && \
(getent group 1000 && groupdel $(getent group 1000 | cut -d: -f1)) || true && \
groupadd -g 1000 ${APACHE_RUN_GROUP} && \
useradd -u 1000 -g 1000 -ms /bin/bash ${APACHE_RUN_USER} && \
RUN useradd -ms /bin/bash ${APACHE_RUN_USER} && \
adduser ${APACHE_RUN_USER} sudo && \
echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers && \
sed -ri "s/^export APACHE_RUN_USER=.*$/export APACHE_RUN_USER=${APACHE_RUN_USER}/" "/etc/apache2/envvars" && \
@@ -86,6 +81,6 @@ USER devcontainer
# NVM
RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
RUN bash --login -i -c 'source /home/devcontainer/.bashrc && nvm install 22'
RUN bash --login -i -c 'source /home/devcontainer/.bashrc && nvm install 16'
WORKDIR /var/www/html
-2
View File
@@ -1,2 +0,0 @@
SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors
SPDX-License-Identifier: AGPL-3.0-or-later
+2 -6
View File
@@ -1,14 +1,10 @@
<!--
- SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
- SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Nextcloud DevContainer
## Usage
Make sure you have the [VSCode DevContainer](https://code.visualstudio.com/docs/devcontainers/containers) extensions installed. If you open the project, VSCode will ask you if you want to open it inside of the DevContainer. If that's not the case, use <kbd>F1</kbd>&rarr;*Dev Containers: Open Folder in Container*.
Alternatively open the project directly in [GitHub Codespaces](https://github.com/codespaces/new?hide_repo_select=true&ref=master&repo=60243197&skip_quickstart=true).
Alternatively open the project directly in [GitHub Codespaces](https://github.com/features/codespaces).
That's already it. Everything else will be configured automatically by the Containers startup routine.
@@ -73,4 +69,4 @@ any other user.
The Apache webserver is already configured to automatically try to connect to a debugger process
listening on port `9003`. To start the VSCode debugger process, use the delivered debug profile `Listen for XDebug`.
After you started the VSCode debugger, just navigate to the appropriate Nextcloud URL to get your
debug hits.
debug hits.
-4
View File
@@ -1,9 +1,5 @@
<?php
/**
* SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
$codespaceName = getenv('CODESPACE_NAME');
$codespaceDomain = getenv('GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN');
-2
View File
@@ -1,2 +0,0 @@
SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors
SPDX-License-Identifier: AGPL-3.0-or-later
+1 -2
View File
@@ -1,5 +1,4 @@
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
version: '3'
services:
nextclouddev:
build: .
+1 -4
View File
@@ -1,8 +1,5 @@
#!/bin/bash
#
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
#
sudo service apache2 start
while sleep 1000; do :; done
-2
View File
@@ -1,2 +0,0 @@
SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
SPDX-License-Identifier: AGPL-3.0-or-later
+2 -10
View File
@@ -1,13 +1,5 @@
#!/bin/bash
#
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
#
# Set git safe.directory
git config --global --add safe.directory /var/www/html
git config --global --add safe.directory /var/www/html/3rdparty
# Ensure devcontainer user has access to docker socket
if [ -S /var/run/docker.sock ]; then
sudo chmod 666 /var/run/docker.sock
fi
git config --global --add safe.directory /var/www/html/3rdparty
-4
View File
@@ -1,8 +1,4 @@
#!/bin/bash
#
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
#
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/../" >/dev/null 2>&1 && pwd )"
cd $DIR/
+1769
View File
File diff suppressed because it is too large Load Diff
+4 -3
View File
@@ -1,8 +1,5 @@
# https://editorconfig.org
# SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
root = true
[*]
@@ -13,6 +10,10 @@ indent_style = tab
insert_final_newline = true
trim_trailing_whitespace = true
[*.feature]
indent_size = 2
indent_style = space
[*.yml]
indent_size = 2
indent_style = space
-3
View File
@@ -1,3 +0,0 @@
watch_file lib/versioncheck.php
watch_file package.json
use flake
+12
View File
@@ -0,0 +1,12 @@
# Ignoring folders for eslint
node_modules/
3rdparty/
**/vendor/
**/l10n/
**/js/*
*.config.js
tests/lib/
apps-extra
# TODO: remove when comments files is not using handlebar templates anymore
apps/comments/src/templates.js
+35
View File
@@ -0,0 +1,35 @@
module.exports = {
globals: {
__webpack_nonce__: true,
_: true,
$: true,
dayNames: true,
escapeHTML: true,
firstDay: true,
moment: true,
oc_userconfig: true,
sinon: true,
},
plugins: [
'cypress',
],
extends: [
'@nextcloud/eslint-config/typescript',
'plugin:cypress/recommended',
],
rules: {
'no-tabs': 'warn',
// TODO: make sure we fix this as this is bad vue coding style.
// Use proper sync modifier
'vue/no-mutating-props': 'warn',
'vue/custom-event-name-casing': ['error', 'kebab-case', {
// allows custom xxxx:xxx events formats
ignores: ['/^[a-z]+(?:-[a-z]+)*:[a-z]+(?:-[a-z]+)*$/u'],
}],
},
settings: {
jsdoc: {
mode: 'typescript',
},
},
}
-25
View File
@@ -1,25 +0,0 @@
# .git-blame-ignore-revs
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
# Format control structures
caff1023ea72bb2ea94130e18a2a6e2ccf819e5f
# Update to coding-standard 1.1.1
aa5f037af71c915424c6dcfd5ad2dc82797dc0d6
# Update to coding-standard 1.2.3
af6de04e9e141466dc229e444ff3f146f4a34765
0bd284cb81b6866338aaaa67aa1d81ef9bfbb2ab
8af7ecb2576071f170ecbb0aa2311b26581e40e2
# Update to coding-standard 1.3.1
9836e9b16484582d309c8437ab46d82e34956941
# Automated refactorings
49dd79eabb2b8902559a7a4e8f8fcad54f46b604
# @nextcloud/vue import paths
b06f5ba4c47450f355a8903c1a93ac68e8c6cfc2
# Update to coding-standard 1.4.0
5981b7eb512aa411f51cad541d01c5c6e93476f0
# Migrate `and` `or` operators to logical `&&` `||` operators
660f3f6fd1ae5539b8f74bfa48859d1b9f1e6abf
# Migrate to ESLint v9 enforced code style
91f3b6b4ee60e0f8bb6e21f92d5bc52e4cebe657
-2
View File
@@ -1,5 +1,3 @@
# SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
/dist/* binary
/package-lock.json merge=binary
/core/css/*.css* binary
+37 -85
View File
@@ -1,111 +1,63 @@
# Fallback owners for code review - ensure all PRs have someone assigned for review.
# (the last match will used so this is only used if there is no more specific code owner below)
# Backend
# is the first and gets everything to make things easier from matching syntax
* @nextcloud/server-backend
# Frontend
# this will override the backend code owners if needed
/__mocks__ @nextcloud/server-frontend
/__tests__ @nextcloud/server-frontend
/dist @nextcloud/server-frontend
/cypress @nextcloud/server-frontend
**/css @nextcloud/server-frontend
**/js @nextcloud/server-frontend
**/src @nextcloud/server-frontend
*.js @nextcloud/server-frontend
*.cjs @nextcloud/server-frontend
*.mjs @nextcloud/server-frontend
*.ts @nextcloud/server-frontend
# dependency management
package.json @nextcloud/server-dependabot @nextcloud/server-frontend
package-lock.json @nextcloud/server-dependabot
# App maintainers
/apps/admin_audit/appinfo/info.xml @luka-nextcloud @blizzz
/apps/cloud_federation_api/appinfo/info.xml @nfebe @mejo-
/apps/comments/appinfo/info.xml @edward-ly @sorbaugh
/apps/contactsinteraction/appinfo/info.xml @kesselb @SebastianKrupinski
/apps/contactsinteraction/lib @kesselb @SebastianKrupinski
/apps/contactsinteraction/tests @kesselb @SebastianKrupinski
/apps/dashboard/appinfo/info.xml @julien-nc @juliusknorr
/apps/dav/lib/CalDAV @ChristophWurst @SebastianKrupinski @tcitworld
/apps/dav/lib/CardDAV @hamza221 @SebastianKrupinski
/apps/dav/tests/unit/CalDAV @ChristophWurst @SebastianKrupinski @tcitworld
/apps/dav/tests/unit/CardDAV @hamza221 @SebastianKrupinski
/apps/cloud_federation_api/appinfo/info.xml @mejo-
/apps/comments/appinfo/info.xml @marcelklehr @Pytal
/apps/contactsinteraction/appinfo/info.xml @kesselb @miaulalala @ChristophWurst @GretaD @hamza221 @st3iny
/apps/dashboard/appinfo/info.xml @julien-nc @juliushaertl
/apps/dav/lib/CalDAV @ChristophWurst @miaulalala @tcitworld
/apps/dav/lib/CardDAV @ChristophWurst @miaulalala @tcitworld
/apps/encryption/appinfo/info.xml @come-nc @icewind1991
/apps/federatedfilesharing/appinfo/info.xml @icewind1991 @danxuliu
/apps/federation/appinfo/info.xml @nfebe @sorbaugh
/apps/files/appinfo/info.xml @skjnldsv @ArtificialOwl @come-nc @artonge @icewind1991 @szaimen @susnux @nfebe
/apps/federation/appinfo/info.xml @datenangebot
/apps/files/appinfo/info.xml @skjnldsv @Pytal @ArtificialOwl @come-nc @artonge @icewind1991 @szaimen @susnux @Fenn-CS
/apps/files_external/appinfo/info.xml @icewind1991 @artonge
/apps/files_reminders/appinfo/info.xml @skjnldsv @sorbaugh
/apps/files_reminders/appinfo/info.xml @Pytal
/apps/files_sharing/appinfo/info.xml @skjnldsv @come-nc
/apps/files_trashbin/appinfo/info.xml @icewind1991 @sorbaugh
/apps/files_trashbin/appinfo/info.xml @Pytal @icewind1991
/apps/files_versions/appinfo/info.xml @artonge @icewind1991
/apps/oauth2/appinfo/info.xml @julien-nc @ChristophWurst
/apps/provisioning_api/appinfo/info.xml @provokateurin @nickvergessen
/apps/settings/appinfo/info.xml @JuliaKirschenheuter @sorbaugh
/apps/sharebymail/appinfo/info.xml @Altahrim @skjnldsv
/apps/settings/appinfo/info.xml @Pytal @JuliaKirschenheuter
/apps/sharebymail/appinfo/info.xml @Altahrim
/apps/systemtags/appinfo/info.xml @Antreesy @marcelklehr
/apps/theming/appinfo/info.xml @skjnldsv @juliusknorr
/apps/twofactor_backupcodes/appinfo/info.xml @miaulalala @ChristophWurst
/apps/updatenotification/appinfo/info.xml @JuliaKirschenheuter @sorbaugh
/apps/theming/appinfo/info.xml @skjnldsv @juliushaertl
/apps/twofactor_backupcodes/appinfo/info.xml @st3iny @miaulalala @ChristophWurst
/apps/updatenotification/appinfo/info.xml @Pytal @JuliaKirschenheuter
/apps/user_ldap/appinfo/info.xml @come-nc @blizzz
/apps/user_status/appinfo/info.xml @Antreesy @nickvergessen
/apps/weather_status/appinfo/info.xml @julien-nc @juliusknorr
/apps/webhook_listeners/appinfo/info.xml @come-nc @julien-nc
/apps/workflowengine/appinfo/info.xml @blizzz @juliusknorr
# Files frontend expertise
/apps/files/src* @skjnldsv @nextcloud/server-frontend
/apps/files_external/src* @skjnldsv @nextcloud/server-frontend
/apps/files_reminders/src* @skjnldsv @nextcloud/server-frontend
/apps/files_sharing/src/actions* @skjnldsv @nextcloud/server-frontend
/apps/files_trashbin/src* @skjnldsv @nextcloud/server-frontend
/apps/weather_status/appinfo/info.xml @julien-nc @juliushaertl
/apps/workflowengine/appinfo/info.xml @blizzz @juliushaertl
# Security team
/build/psalm-baseline-security.xml @nickvergessen @nextcloud/server-backend
/resources/codesigning @mgallien @miaulalala @nickvergessen
/resources/config/ca-bundle.crt @miaulalala @nickvergessen
/resources/config/ca-bundle.crt @ChristophWurst @miaulalala @nickvergessen
/.drone.yml @nickvergessen
# Two-Factor Authentication
# https://github.com/nextcloud/wg-two-factor-authentication#members
**/TwoFactorAuth @ChristophWurst @miaulalala @nickvergessen
/apps/twofactor_backupcodes @ChristophWurst @miaulalala @nickvergessen
/core/templates/twofactor* @ChristophWurst @miaulalala @nickvergessen
**/TwoFactorAuth @ChristophWurst @miaulalala @nickvergessen @st3iny
/apps/twofactor_backupcodes @ChristophWurst @miaulalala @nickvergessen @st3iny
/core/templates/twofactor* @ChristophWurst @miaulalala @nickvergessen @st3iny
# Limit login to IP
# Watch login routes for https://github.com/nextcloud/limit_login_to_ip
/core/routes.php @Altahrim @nextcloud/server-backend
/core/routes.php @Altahrim
# OpenAPI
openapi*.json @provokateurin @nextcloud/server-backend
ResponseDefinitions.php @provokateurin @nextcloud/server-backend
openapi*.json @provokateurin
ResponseDefinitions.php @provokateurin
# Talk team
/lib/private/Comments @nickvergessen @nextcloud/talk-backend
/lib/private/Federation @nickvergessen @nextcloud/talk-backend @nextcloud/server-backend
/lib/private/Talk @nickvergessen @nextcloud/talk-backend
/lib/public/Comments @nickvergessen @nextcloud/talk-backend
/lib/public/Federation @nickvergessen @nextcloud/talk-backend @nextcloud/server-backend
/lib/public/OCM @nickvergessen @nextcloud/talk-backend @nextcloud/server-backend
/lib/public/Talk @nickvergessen @nextcloud/talk-backend
/lib/public/UserStatus @nickvergessen @nextcloud/talk-backend
*/Notifications/* @nickvergessen @nextcloud/talk-backend
# Groupware team
/build/integration/dav_features/caldav.feature @ChristophWurst @SebastianKrupinski @tcitworld
/build/integration/dav_features/carddav.feature @hamza221 @SebastianKrupinski
/lib/private/Calendar @ChristophWurst @SebastianKrupinski @tcitworld
/lib/private/Contacts @hamza221 @SebastianKrupinski
/lib/public/Calendar @ChristophWurst @SebastianKrupinski @tcitworld
/lib/public/Contacts @hamza221 @SebastianKrupinski
# Desktop client teamn
/apps/dav/lib/Connector/Sabre/BlockLegacyClientPlugin.php @nextcloud/desktop
/lib/private/Comments @nickvergessen
/lib/private/Federation @nickvergessen
/lib/private/Talk @nickvergessen
/lib/public/Comments @nickvergessen
/lib/public/Federation @nickvergessen
/lib/public/OCM @nickvergessen
/lib/public/Talk @nickvergessen
/lib/public/UserStatus @nickvergessen
# Personal interest
*/Activity/* @nickvergessen @nextcloud/server-backend
/apps/workflowengine/lib @nickvergessen @blizzz
*/Activity/* @nickvergessen
*/Notifications/* @nickvergessen
/lib/private/Profiler @CarlSchwan
/lib/public/Profiler @CarlSchwan
+6 -17
View File
@@ -1,10 +1,6 @@
<!--
- SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
- SPDX-License-Identifier: AGPL-3.0-or-later
-->
## Submitting issues
If you have questions about how to install or use Nextcloud, please direct these to our [forum][forum]. We are also available on [IRC][irc] (unofficial).
If you have questions about how to install or use Nextcloud, please direct these to our [forum][forum]. We are also available on [IRC][irc].
### Short version
@@ -25,7 +21,7 @@ Help us to maximize the effort we can spend fixing issues and adding new feature
[templates]: ./ISSUE_TEMPLATE
[forum]: https://help.nextcloud.com/
[irc]: https://web.libera.chat/#nextcloud
[irc]: https://webchat.freenode.net/?channels=nextcloud
## Contributing to Source Code
@@ -33,13 +29,6 @@ Thanks for wanting to contribute source code to Nextcloud. That's great!
Please read the [Developer Manuals][devmanual] to learn how to create your first application or how to test the Nextcloud code with PHPUnit.
### Conventional Commits
Please use [Conventional Commits](https://www.conventionalcommits.org) for your commit messages. This helps maintain clarity and consistency across the project, making it easier to understand changes and automate versioning.
```
feat(files_sharing): allow sharing with contacts
```
### Tests
In order to constantly increase the quality of our software we can no longer accept pull request which submit un-tested code.
@@ -48,16 +37,16 @@ In some areas unit testing is hard (aka almost impossible) as of today - in thes
### Sign your work
We use the Developer Certificate of Origin (DCO) as an additional safeguard
We use the Developer Certificate of Origin (DCO) as a additional safeguard
for the Nextcloud project. This is a well established and widely used
mechanism to assure contributors have confirmed their right to license
their contribution under the project's license.
Please read [contribute/developer-certificate-of-origin][dcofile].
If you can certify it, then just add a line to every git commit message:
```
Signed-off-by: Random J Developer <random@developer.example.org>
```
````
Signed-off-by: Random J Developer <random@developer.example.org>
````
Use your real name (sorry, no pseudonyms or anonymous contributions).
If you set your `user.name` and `user.email` git configs, you can sign your
-2
View File
@@ -1,3 +1 @@
# SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
custom: https://nextcloud.com/include/
+32 -27
View File
@@ -1,10 +1,7 @@
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
name: "🐛 Bug report: Nextcloud Server"
name: "Bug report: Nextcloud Server"
description: "Submit a report and help us improve Nextcloud Server"
title: "[Bug]: "
labels: ["bug", "0. Needs triage"]
type: "Bug"
body:
- type: markdown
attributes:
@@ -12,14 +9,6 @@ body:
### 👍 Thank you for contributing to our project!
Please note this is a **free and open-source** project. Most people take on their own time to help you, so please, be patient.
You can obtain [Enterprise support](https://nextcloud.com/support/) if you run Nextcloud Server in a mission critical environment.
- type: markdown
attributes:
value: |
### 🚨 SECURITY INFO
If you are reporting a security concern, please report it via [our HackerOne page](https://hackerone.com/nextcloud) instead and review our [security policy](https://nextcloud.com/security/).
This allows us to coordinate the fix and release without potentially exposing all Nextcloud servers and users in the meantime.
It also may qualify your report for a bug bounty reward.
Thank you for helping make Nextcloud more secure!
- type: checkboxes
id: before-posting
attributes:
@@ -49,7 +38,7 @@ body:
label: Steps to reproduce
description: |
Describe the steps to reproduce the bug.
The better your description is _(go 'here', click 'there'...)_ the fastest you'll get an _(accurate)_ answer.
The better your description is _(go 'here', click 'there'...)_ the fastest you'll get an _(accurate)_ answer.
value: |
1.
2.
@@ -63,6 +52,22 @@ body:
description: Describe what you expected to happen instead.
validations:
required: true
- type: dropdown
id: install-method
attributes:
label: Installation method
description: |
Select installation method you've used.
_Describe the method in the "Additional info" section if you chose "Other"._
options:
- "Community Web installer on a VPS or web space"
- "Community Manual installation with Archive"
- "Community Docker image"
- "Community NextcloudPi appliance"
- "Community SNAP package"
- "Community VM appliance"
- "Other Community project"
- "Official All-in-One appliance"
- type: dropdown
id: nextcloud-version
attributes:
@@ -71,9 +76,10 @@ body:
Select Nextcloud Server version.
_Versions not listed here are not maintained and not supported anymore_
options:
- "32"
- "33"
- "34 (master)"
- "26"
- "27"
- "28"
- "master"
validations:
required: true
- type: dropdown
@@ -95,11 +101,10 @@ body:
Select PHP engine version serving Nextcloud Server.
_Describe in the "Additional info" section if you chose "Other"._
options:
- "PHP 8.5"
- "PHP 8.4"
- "PHP 8.3"
- "PHP 8.2"
- "PHP 7.4"
- "PHP 8.0"
- "PHP 8.1"
- "PHP 8.2"
- "Other"
- type: dropdown
id: webserver
@@ -133,8 +138,8 @@ body:
description: |
Select if bug is present after an update or on a fresh install.
options:
- "Updated from a MINOR version (ex. 32.0.1 to 32.0.2)"
- "Upgraded to a MAJOR version (ex. 31 to 32)"
- "Updated from a MINOR version (ex. 22.1 to 22.2)"
- "Upgraded to a MAJOR version (ex. 22 to 23)"
- "Fresh Nextcloud Server install"
- type: dropdown
id: encryption
@@ -169,7 +174,7 @@ body:
./occ config:list system
```
> NOTE: This will be automatically formatted into code for better readability.
render: json
render: shell
- type: textarea
id: apps
attributes:
@@ -192,7 +197,7 @@ body:
Provide Nextcloud Signing status.
First, login as Admin user into your Nextcloud, then access this URL:
```shell
https://yournextcloud.tld/index.php/settings/integrity/failed
https://yournextcloud.tld/index.php/settings/integrity/failed
```
> NOTE: This will be automatically formatted into code for better readability.
render: shell
@@ -201,10 +206,10 @@ body:
attributes:
label: Nextcloud Logs
description: |
Provide relevant Nextcloud log entries (e.g. from the time period you reproduced the problem).
Copy full individual entries from `data/nextcloud.log` or use `Copy raw entry` from `/settings/admin/logging` section:
Provide Nextcloud logs lines.
Copy all contents from `data/nextcloud.log` or a RAW from `/settings/admin/logging` section:
> NOTE: This will be automatically formatted into code for better readability.
render: json
render: shell
- type: textarea
id: additional-info
attributes:
+28 -25
View File
@@ -2,44 +2,47 @@
name: 🚀 Feature request
about: Suggest an idea for this project
labels: enhancement, 0. Needs triage
type: "Enhancement"
---
<!--
Have a security concern? Please report potential security issues via our HackerOne program (https://hackerone.com/nextcloud) instead of filing a public GitHub issue. See our security policy: https://nextcloud.com/security/
Thanks for reporting issues back to Nextcloud!
Note: This is the **issue tracker of Nextcloud**, please do NOT use this to get answers to your questions or get help for fixing your installation. This is a place to report bugs to developers, after your server has been debugged. You can find help debugging your system on our home user forums: https://help.nextcloud.com or, if you use Nextcloud in a large organization, ask our engineers on https://portal.nextcloud.com. See also https://nextcloud.com/support for support options.
Nextcloud is an open source project backed by Nextcloud GmbH. Most of our volunteers are home users and thus primarily care about issues that affect home users. Our paid engineers prioritize issues of our customers. If you are neither a home user nor a customer, consider paying somebody to fix your issue, do it yourself or become a customer.
Guidelines for submitting issues:
* Please search the existing issues first, it's likely that your issue was already reported or even fixed.
- Go to https://github.com/nextcloud and type any word in the top search/command bar. You probably see something like "We couldnt find any repositories matching ..." then click "Issues" in the left navigation.
- You can also filter by appending e. g. "state:open" to the search string.
- More info on search syntax within github: https://help.github.com/articles/searching-issues
* This repository https://github.com/nextcloud/server/issues is *only* for issues within the Nextcloud Server code. This also includes the apps: files, encryption, external storage, sharing, deleted files, versions, LDAP, and WebDAV Auth
* SECURITY: Report any potential security bug to us via our HackerOne page (https://hackerone.com/nextcloud) following our security policy (https://nextcloud.com/security/) instead of filing an issue in our bug tracker.
* The issues in other components should be reported in their respective repositories: You will find them in our GitHub Organization (https://github.com/nextcloud/)
-->
<!--
Thanks for taking the time to suggest improvements to Nextcloud! Use this form to request features or propose enhancements.
Guidelines:
<!--- Please keep this note for other contributors -->
* Please search existing issues first; your idea may already have been discussed or implemented.
* This repository (https://github.com/nextcloud/server/issues) is only for issues within the Nextcloud Server code. This includes shipped apps such as Files, DAV, Encryption, External Storage, Sharing, Deleted Files, Versions, Federation, and LDAP.
* Issues for other components should be reported in their respective repositories in the Nextcloud GitHub organization: https://github.com/nextcloud/
* Nextcloud is an open source project backed by Nextcloud GmbH. Many contributors are volunteers and primarily focus on issues affecting home users. Paid engineers prioritize customer-reported issues and critical defects.
* This is the development issue tracker. Please do NOT use it for support questions or help diagnosing your installation.
- For community/user help: https://help.nextcloud.com
- For professional / large deployment support options: https://nextcloud.com/support
-->
### How to use GitHub
* Please use the 👍 [reaction](https://blog.github.com/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/) to show that you are interested into the same feature.
* Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
* Subscribe to receive notifications on status change and new comments.
<!-- Please keep the note below for other contributors -->
> [!TIP]
> ### Help move this idea forward
> * Use the 👍 reaction to show support for this feature.
> * Avoid commenting unless you have relevant information to add; unnecessary comments create noise for subscribers.
> * Subscribe to receive notifications about status changes and new comments.
---
<!-- DO NOT EDIT ABOVE THIS LINE -->
**Is your feature request related to a problem? Please describe.**
<!-- Provide a clear and concise description of the problem. For example: “I'm always frustrated when …” -->
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
<!-- Provide a clear and concise description of what you want to happen. -->
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
<!-- Provide a clear and concise description of any alternative solutions or features you've considered. -->
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
<!-- Add any other context or screenshots related to the feature request here. -->
Add any other context or screenshots about the feature request here.
@@ -1,2 +0,0 @@
SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
SPDX-License-Identifier: AGPL-3.0-or-later
+1 -5
View File
@@ -1,9 +1,5 @@
# SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
blank_issues_enabled: false
contact_links:
- name: 🚨 Report a security or privacy issue
url: https://hackerone.com/nextcloud
about: Report security and privacy related issues privately to the Nextcloud team, so we can coordinate the fix and release without potentially exposing all Nextcloud servers and users in the meantime.
- name: ❓ Community Support and Help
url: https://help.nextcloud.com/
about: Configuration, webserver/proxy or performance issues and other questions
-7
View File
@@ -1,7 +0,0 @@
# SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
name: "CodeQL config"
paths-ignore:
- dist
-2
View File
@@ -1,5 +1,3 @@
# SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
firstPRMergeComment: >
Thanks for your first pull request and welcome to the community!
Feel free to keep them coming! If you are looking for issues to tackle then have a look at this selection: https://github.com/nextcloud/server/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22
+172 -157
View File
@@ -1,167 +1,182 @@
# SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
version: 2
updates:
# Linting and coding style
- package-ecosystem: composer
directory: "/"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
# Main master npm
- package-ecosystem: npm
directory: "/"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
open-pull-requests-limit: 10
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
# Disable automatic rebasing because without a build CI will likely fail anyway
rebase-strategy: "disabled"
# Testing master npm
- package-ecosystem: npm
directory: "/build"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
labels:
- "3. to review"
- "feature: dependencies"
# Testing master composer
- package-ecosystem: composer
directory: "/build/integration"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
labels:
- "3. to review"
- "feature: dependencies"
# Main stableXX npm
- package-ecosystem: npm
directory: "/"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
target-branch: stable25
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
ignore:
# ignore all GitHub linguist patch updates
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor", "version-update:semver-patch"]
# Disable automatic rebasing because without a build CI will likely fail anyway
rebase-strategy: "disabled"
- package-ecosystem: npm
directory: "/"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
target-branch: stable26
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
ignore:
# ignore all GitHub linguist patch updates
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor", "version-update:semver-patch"]
# Disable automatic rebasing because without a build CI will likely fail anyway
rebase-strategy: "disabled"
- package-ecosystem: npm
directory: "/"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
target-branch: stable27
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
ignore:
# ignore all GitHub linguist patch updates
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor", "version-update:semver-patch"]
# Disable automatic rebasing because without a build CI will likely fail anyway
rebase-strategy: "disabled"
# Testing StableXX composer
- package-ecosystem: composer
directory: "/build/integration"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
target-branch: stable25
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
ignore:
# ignore all GitHub linguist patch updates
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor", "version-update:semver-patch"]
- package-ecosystem: composer
directory: "/build/integration"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
target-branch: stable26
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
ignore:
# ignore all GitHub linguist patch updates
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor", "version-update:semver-patch"]
- package-ecosystem: composer
directory: "/build/integration"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
target-branch: stable27
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
ignore:
# ignore all GitHub linguist patch updates
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor", "version-update:semver-patch"]
# GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: monthly
timezone: Europe/Paris
groups:
github-actions:
patterns:
- "*"
labels:
- "3. to review"
- "feature: dependencies"
# Main composer (linting, testing, openapi)
- package-ecosystem: composer
directories:
- "/"
- "/vendor-bin/behat"
- "/vendor-bin/cs-fixer"
- "/vendor-bin/openapi-extractor"
- "/vendor-bin/phpunit"
- "/vendor-bin/psalm"
- "/vendor-bin/rector"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
labels:
- "3. to review"
- "feature: dependencies"
# Main master npm frontend dependencies
- package-ecosystem: npm
directories:
- "/"
- "/build/frontend"
- "/build/frontend-legacy"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
open-pull-requests-limit: 20
labels:
- "3. to review"
- "feature: dependencies"
# Disable automatic rebasing because without a build CI will likely fail anyway
rebase-strategy: "disabled"
groups:
vite:
patterns:
- "vite"
- "@nextcloud/vite-config"
vitest:
patterns:
- "vitest"
- "@vitest/*"
# Latest stable release
# Composer dependencies for linting and testing
- package-ecosystem: composer
target-branch: stable33
directories:
- "/"
- "/vendor-bin/behat"
- "/vendor-bin/cs-fixer"
- "/vendor-bin/openapi-extractor"
- "/vendor-bin/phpunit"
- "/vendor-bin/psalm"
- "/vendor-bin/rector"
schedule:
interval: weekly
day: saturday
time: "03:30"
timezone: Europe/Paris
labels:
- "3. to review"
- "feature: dependencies"
ignore:
# only patch updates on stable branches
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor"]
# frontend dependencies
- package-ecosystem: npm
target-branch: stable33
directories:
- "/"
- "/build/frontend"
- "/build/frontend-legacy"
schedule:
interval: weekly
day: saturday
time: "03:30"
timezone: Europe/Paris
open-pull-requests-limit: 20
labels:
- "3. to review"
- "feature: dependencies"
# Disable automatic rebasing because without a build CI will likely fail anyway
rebase-strategy: "disabled"
groups:
vite:
patterns:
- "vite"
- "@nextcloud/vite-config"
vitest:
patterns:
- "vitest"
- "@vitest/*"
ignore:
# no major updates on stable branches
- dependency-name: "*"
update-types: ["version-update:semver-major"]
# Older stable releases
# Composer dependencies for linting and testing
- package-ecosystem: composer
target-branch: stable32
directories:
- "/"
- "/vendor-bin/behat"
- "/vendor-bin/cs-fixer"
- "/vendor-bin/openapi-extractor"
- "/vendor-bin/phpunit"
- "/vendor-bin/psalm"
schedule:
interval: weekly
day: saturday
time: "04:30"
timezone: Europe/Paris
labels:
- "3. to review"
- "feature: dependencies"
ignore:
# only patch updates on stable branches
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor"]
# frontend dependencies
- package-ecosystem: npm
target-branch: stable32
directory: "/"
schedule:
interval: weekly
day: saturday
time: "04:30"
timezone: Europe/Paris
open-pull-requests-limit: 20
labels:
- "3. to review"
- "feature: dependencies"
# Disable automatic rebasing because without a build CI will likely fail anyway
rebase-strategy: "disabled"
ignore:
# no major updates on stable branches
- dependency-name: "*"
update-types: ["version-update:semver-major"]
-11
View File
@@ -1,8 +1,3 @@
<!--
- 🚨 SECURITY INFO
-
- Before sending a pull request that fixes a security issue please report it via our HackerOne page (https://hackerone.com/nextcloud) following our security policy (https://nextcloud.com/security/). This allows us to coordinate the fix and release without potentially exposing all Nextcloud servers and users in the meantime.
-->
* Resolves: # <!-- related github issue -->
@@ -21,9 +16,3 @@
- [ ] Screenshots before/after for front-end changes
- [ ] Documentation ([manuals](https://github.com/nextcloud/documentation/) or wiki) has been updated or is not required
- [ ] [Backports requested](https://github.com/nextcloud/backportbot/#usage) where applicable (ex: critical bugfixes)
- [ ] [Labels added](https://github.com/nextcloud/server/labels) where applicable (ex: bug/enhancement, `3. to review`, feature component)
- [ ] [Milestone added](https://github.com/nextcloud/server/milestones) for target branch/version (ex: 32.x for `stable32`)
## AI (if applicable)
- [ ] The content of this PR was partly or fully generated using AI
-2
View File
@@ -1,2 +0,0 @@
SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-128
View File
@@ -1,128 +0,0 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Code checkers
on:
pull_request:
permissions:
contents: read
concurrency:
group: autocheckers-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- '**.php'
- build/autoloaderchecker.sh
autoloader:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
strategy:
matrix:
php-versions: ['8.2']
name: PHP checkers
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: none
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Check auto loaders
run: bash ./build/autoloaderchecker.sh
autocheckers:
runs-on: ubuntu-latest-low
strategy:
matrix:
php-versions: ['8.2']
name: Translation and Files checkers
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: none
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Check translations are JSON decodeable
run: php ./build/translation-checker.php
- name: Check translations do not contain triple dot but ellipsis
run: php ./build/triple-dot-checker.php
- name: Check .htaccess does not contain invalid changes
run: php ./build/htaccess-checker.php
- name: Check that all and only expected files are included
run: php ./build/files-checker.php
- name: Check that all shipped apps are linted by psalm
run: sh ./build/psalm-checker.sh
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, autoloader, autocheckers]
if: always()
name: autocheckers-summary
steps:
- name: Summary status
run: if ${{ needs.autocheckers.result != 'success' || (needs.changes.outputs.src != 'false' && needs.autoloader.result != 'success') }}; then exit 1; fi
+11 -23
View File
@@ -2,9 +2,6 @@
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2022-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Block merges for EOL
@@ -23,27 +20,18 @@ jobs:
# Only run on stableXX branches
if: startsWith( github.base_ref, 'stable')
runs-on: ubuntu-latest-low
runs-on: ubuntu-latest
steps:
- name: Set server major version environment
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
const regex = /^stable(\d+)$/
const baseRef = context.payload.pull_request.base.ref
const match = baseRef.match(regex)
if (match) {
console.log('Setting server_major to ' + match[1]);
core.exportVariable('server_major', match[1]);
console.log('Setting current_day to ' + (new Date()).toISOString().substr(0, 10));
core.exportVariable('current_day', (new Date()).toISOString().substr(0, 10));
}
- name: Download updater config
run: curl https://raw.githubusercontent.com/nextcloud/updater_server/production/config/config.php --output config.php
- name: Checking if server ${{ env.server_major }} is EOL
if: ${{ env.server_major != '' }}
- name: Set server major version environment
run: |
curl -s https://raw.githubusercontent.com/nextcloud-releases/updater_server/production/config/major_versions.json \
| jq '.["${{ env.server_major }}"]["eol"] // "9999-99-99" | . >= "${{ env.current_day }}"' \
| grep -q true
# retrieve version number from branch reference
server_major=$(echo "${{ github.base_ref }}" | sed -En 's/stable//p')
echo "server_major=$server_major" >> $GITHUB_ENV
- name: Checking if ${{ env.server_major }} is EOL
run: |
php -r 'echo json_encode(require_once "config.php");' | jq --arg version "${{ env.server_major }}" '.stable[$version]["100"].eol // .beta[$version]["100"].eol' | grep --silent -i 'false'
+3 -28
View File
@@ -2,9 +2,6 @@
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2022-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Block merges during freezes
@@ -25,33 +22,11 @@ jobs:
if: github.event.pull_request.draft == false
runs-on: ubuntu-latest-low
runs-on: ubuntu-latest
steps:
- name: Register server reference to fallback to master branch
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
const baseRef = context.payload.pull_request.base.ref
if (baseRef === 'main' || baseRef === 'master') {
core.exportVariable('server_ref', 'master');
console.log('Setting server_ref to master');
} else {
const regex = /^stable(\d+)$/
const match = baseRef.match(regex)
if (match) {
core.exportVariable('server_ref', match[0]);
console.log('Setting server_ref to ' + match[0]);
} else {
console.log('Not based on master/main/stable*, so skipping freeze check');
}
}
- name: Download version.php from ${{ env.server_ref }}
if: ${{ env.server_ref != '' }}
run: curl 'https://raw.githubusercontent.com/nextcloud/server/${{ env.server_ref }}/version.php' --output version.php
- name: Download version.php from ${{ github.base_ref }}
run: curl https://raw.githubusercontent.com/nextcloud/server/${{ github.base_ref }}/version.php --output version.php
- name: Run check
if: ${{ env.server_ref != '' }}
run: cat version.php | grep 'OC_VersionString' | grep -i -v 'RC'
@@ -1,79 +0,0 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Block merging with outdated 3rdparty/
on:
pull_request:
types: [opened, ready_for_review, reopened, synchronize]
permissions:
contents: read
concurrency:
group: block-outdated-3rdparty-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
block-outdated-3rdparty:
name: Block merging with outdated 3rdparty/
runs-on: ubuntu-latest-low
steps:
- name: Check requirement
uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '3rdparty'
- 'version.php'
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: 3rdparty commit hash on current branch
id: actual
run: |
echo "commit=$(git submodule status | grep ' 3rdparty' | egrep -o '[a-f0-9]{40}')" >> "$GITHUB_OUTPUT"
- name: Register server reference to fallback to master branch
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
const baseRef = context.payload.pull_request.base.ref
if (baseRef === 'main' || baseRef === 'master') {
core.exportVariable('server_ref', 'master');
console.log('Setting server_ref to master');
} else {
const regex = /^stable(\d+)$/
const match = baseRef.match(regex)
if (match) {
core.exportVariable('server_ref', match[0]);
console.log('Setting server_ref to ' + match[0]);
} else {
console.log('Not based on master/main/stable*, so skipping outdated 3rdparty check');
}
}
- name: Last 3rdparty commit on target branch
if: ${{ env.server_ref != '' }}
id: target
run: |
echo "commit=$(git ls-remote https://github.com/nextcloud/3rdparty refs/heads/${{ env.server_ref }} | awk '{ print $1}')" >> "$GITHUB_OUTPUT"
- name: Compare if 3rdparty commits are different
if: ${{ env.server_ref != '' }}
run: |
echo '3rdparty/ seems to not point to the last commit of the dedicated branch:'
echo 'Branch has: ${{ steps.actual.outputs.commit }}'
echo '${{ env.server_ref }} has: ${{ steps.target.outputs.commit }}'
- name: Fail if 3rdparty commits are different
if: ${{ env.server_ref != '' && steps.changes.outputs.src != 'false' && steps.actual.outputs.commit != steps.target.outputs.commit }}
run: |
exit 1
@@ -1,36 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Block unconventional commits
on:
pull_request:
types: [opened, ready_for_review, reopened, synchronize]
permissions:
contents: read
concurrency:
group: block-unconventional-commits-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
block-unconventional-commits:
name: Block unconventional commits
runs-on: ubuntu-latest-low
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- uses: webiny/action-conventional-commits@faccb24fc2550dd15c0390d944379d2d8ed9690e # v1.3.1
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-45
View File
@@ -1,45 +0,0 @@
# SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
name: Auto-label bug reports
on:
issues:
types: [opened]
jobs:
add-version-label:
if: contains(github.event.issue.title, '[Bug]')
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- name: Extract version number and apply label
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
script: |
const body = context.payload.issue.body || '';
const normalizedBody = body.replace(/\r\n?/g, '\n');
let label = '';
// Extract Nextcloud Server version number from a block like:
// ### Nextcloud Server version
// 32
const versionMatch = normalizedBody.match(/### Nextcloud Server version\s*\n+([0-9]{1,3})\b/);
let nextcloudVersion = null;
if (versionMatch) {
nextcloudVersion = parseInt(versionMatch[1], 10);
label = nextcloudVersion + '-feedback';
}
if (label) {
try {
await github.rest.issues.addLabels({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
labels: [label]
});
} catch (error) {
core.setFailed(`Failed to add label "${label}": ${error.message || error}`);
}
}
-49
View File
@@ -1,49 +0,0 @@
# SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
name: "CodeQL Advanced"
on:
push:
branches: [ "master", "stable*" ]
pull_request:
branches: [ "master", "stable*" ]
schedule:
- cron: '28 18 * * 1'
jobs:
analyze:
name: Analyze (${{ matrix.language }})
runs-on: ubuntu-latest
permissions:
# required for all workflows
security-events: write
# required to fetch internal or private CodeQL packs
packages: read
strategy:
fail-fast: false
matrix:
include:
- language: actions
build-mode: none
- language: javascript-typescript
build-mode: none
steps:
- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Initialize CodeQL
uses: github/codeql-action/init@89a39a4e59826350b863aa6b6252a07ad50cf83e # v4.32.4
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
config-file: ./.github/codeql-config.yml
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@89a39a4e59826350b863aa6b6252a07ad50cf83e # v4.32.4
with:
category: "/language:${{matrix.language}}"
+30 -126
View File
@@ -1,19 +1,8 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2021-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Compile Command
on:
issue_comment:
types: [created]
permissions:
contents: read
jobs:
init:
runs-on: ubuntu-latest
@@ -26,46 +15,23 @@ jobs:
arg1: ${{ steps.command.outputs.arg1 }}
arg2: ${{ steps.command.outputs.arg2 }}
head_ref: ${{ steps.comment-branch.outputs.head_ref }}
base_ref: ${{ steps.comment-branch.outputs.base_ref }}
steps:
- name: Get repository from pull request comment
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
id: get-repository
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
const pull = await github.rest.pulls.get({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: context.issue.number
});
const repositoryName = pull.data.head?.repo?.full_name
console.log(repositoryName)
return repositoryName
- name: Disabled on forks
if: ${{ fromJSON(steps.get-repository.outputs.result) != github.repository }}
run: |
echo 'Can not execute /compile on forks'
exit 1
- name: Check actor permission
uses: skjnldsv/check-actor-permission@69e92a3c4711150929bca9fcf34448c5bf5526e7 # v2
uses: skjnldsv/check-actor-permission@e591dbfe838300c007028e1219ca82cc26e8d7c5 # v2
with:
require: write
- name: Add reaction on start
uses: peter-evans/create-or-update-comment@e8674b075228eee787fea43ef493e45ece1004c9 # v5.0.0
uses: peter-evans/create-or-update-comment@23ff15729ef2fc348714a3bb66d2f655ca9066f2 # v3.1.0
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reactions: '+1'
reactions: "+1"
- name: Parse command
uses: skjnldsv/parse-command-comment@5c955203c52424151e6d0e58fb9de8a9f6a605a1 # v2
uses: skjnldsv/parse-command-comment@7cef1df370a99dfd5bf896d50121390c96785db8 # v2
id: command
# Init path depending on which command is run
@@ -73,104 +39,53 @@ jobs:
id: git-path
run: |
if ${{ startsWith(steps.command.outputs.arg1, '/') }}; then
echo "path=${{steps.command.outputs.arg1}}" >> $GITHUB_OUTPUT
echo "path=${{ github.workspace }}${{steps.command.outputs.arg1}}" >> $GITHUB_OUTPUT
else
echo "path=${{steps.command.outputs.arg2}}" >> $GITHUB_OUTPUT
echo "path=${{ github.workspace }}${{steps.command.outputs.arg2}}" >> $GITHUB_OUTPUT
fi
- name: Init branch
uses: xt0rted/pull-request-comment-branch@e8b8daa837e8ea7331c0003c9c316a64c6d8b0b1 # v3.0.0
uses: xt0rted/pull-request-comment-branch@d97294d304604fa98a2600a6e2f916a84b596dc7 # v1
id: comment-branch
- name: Add reaction on failure
uses: peter-evans/create-or-update-comment@e8674b075228eee787fea43ef493e45ece1004c9 # v5.0.0
if: failure()
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reactions: '-1'
process:
runs-on: ubuntu-latest
needs: init
steps:
- name: Restore cached git repository
uses: buildjet/cache@3e70d19e31d6a8030aeddf6ed8dbe601f94d09f4 # v4.0.2
uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84 # v3.3.2
with:
path: .git
key: git-repo
- name: Checkout ${{ needs.init.outputs.head_ref }}
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v3.6.0
with:
# Needed to allow force push later
persist-credentials: true
token: ${{ secrets.COMMAND_BOT_PAT }}
fetch-depth: 0
ref: ${{ needs.init.outputs.head_ref }}
- name: Setup git
run: |
git config --local user.email 'nextcloud-command@users.noreply.github.com'
git config --local user.name 'nextcloud-command'
git config --local user.email "nextcloud-command@users.noreply.github.com"
git config --local user.name "nextcloud-command"
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
id: package-engines-versions
with:
fallbackNode: '^24'
fallbackNpm: '^11.3'
fallbackNode: '^20'
fallbackNpm: '^9'
- name: Set up node ${{ steps.package-engines-versions.outputs.nodeVersion }}
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v4.0.0
with:
node-version: ${{ steps.package-engines-versions.outputs.nodeVersion }}
cache: npm
- name: Set up npm ${{ steps.package-engines-versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ steps.package-engines-versions.outputs.npmVersion }}'
- name: Rebase to ${{ needs.init.outputs.base_ref }}
if: ${{ contains(needs.init.outputs.arg1, 'rebase') }}
run: |
git fetch origin '${{ needs.init.outputs.base_ref }}:${{ needs.init.outputs.base_ref }}'
# Start the rebase
git rebase 'origin/${{ needs.init.outputs.base_ref }}' || {
# Handle rebase conflicts in a loop
while [ -d .git/rebase-merge ] || [ -d .git/rebase-apply ]; do
echo "Handling rebase conflict..."
# Remove and checkout /dist and /js folders from the base branch
if [ -d "dist" ]; then
rm -rf dist
git checkout origin/${{ needs.init.outputs.base_ref }} -- dist/ 2>/dev/null || echo "No dist folder in base branch"
fi
if [ -d "js" ]; then
rm -rf js
git checkout origin/${{ needs.init.outputs.base_ref }} -- js/ 2>/dev/null || echo "No js folder in base branch"
fi
# Stage all changes
git add .
# Check if there are any changes after resolving conflicts
if git diff --cached --quiet; then
echo "No changes after conflict resolution, skipping commit"
git rebase --skip
else
echo "Changes found, continuing rebase without editing commit message"
git -c core.editor=true rebase --continue
fi
# Break if rebase is complete
if [ ! -d .git/rebase-merge ] && [ ! -d .git/rebase-apply ]; then
break
fi
done
}
run: npm i -g npm@"${{ steps.package-engines-versions.outputs.npmVersion }}"
- name: Install dependencies & build
env:
@@ -180,43 +95,32 @@ jobs:
npm ci
npm run build --if-present
- name: Commit default
if: ${{ !contains(needs.init.outputs.arg1, 'fixup') && !contains(needs.init.outputs.arg1, 'amend') }}
- name: Commit and push default
if: ${{ needs.init.outputs.arg1 != 'fixup' && needs.init.outputs.arg1 != 'amend' }}
run: |
git add '${{ github.workspace }}${{ needs.init.outputs.git_path }}'
git add ${{ needs.init.outputs.git_path }}
git commit --signoff -m 'chore(assets): Recompile assets'
git push origin ${{ needs.init.outputs.head_ref }}
- name: Commit fixup
if: ${{ contains(needs.init.outputs.arg1, 'fixup') }}
- name: Commit and push fixup
if: ${{ needs.init.outputs.arg1 == 'fixup' }}
run: |
git add '${{ github.workspace }}${{ needs.init.outputs.git_path }}'
git add ${{ needs.init.outputs.git_path }}
git commit --fixup=HEAD --signoff
git push origin ${{ needs.init.outputs.head_ref }}
- name: Commit amend
if: ${{ contains(needs.init.outputs.arg1, 'amend') }}
- name: Commit and push amend
if: ${{ needs.init.outputs.arg1 == 'amend' }}
run: |
git add '${{ github.workspace }}${{ needs.init.outputs.git_path }}'
git add ${{ needs.init.outputs.git_path }}
git commit --amend --no-edit --signoff
# Remove any [skip ci] from the amended commit
git commit --amend -m "$(git log -1 --format='%B' | sed '/\[skip ci\]/d')"
- name: Push normally
if: ${{ !contains(needs.init.outputs.arg1, 'rebase') && !contains(needs.init.outputs.arg1, 'amend') }}
env:
HEAD_REF: ${{ needs.init.outputs.head_ref }}
run: git push origin "$HEAD_REF"
- name: Force push
if: ${{ contains(needs.init.outputs.arg1, 'rebase') || contains(needs.init.outputs.arg1, 'amend') }}
env:
HEAD_REF: ${{ needs.init.outputs.head_ref }}
run: git push --force-with-lease origin "$HEAD_REF"
git push --force origin ${{ needs.init.outputs.head_ref }}
- name: Add reaction on failure
uses: peter-evans/create-or-update-comment@e8674b075228eee787fea43ef493e45ece1004c9 # v5.0.0
uses: peter-evans/create-or-update-comment@23ff15729ef2fc348714a3bb66d2f655ca9066f2 # v3.1.0
if: failure()
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reactions: '-1'
reactions: "-1"
+10 -50
View File
@@ -1,5 +1,3 @@
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Update 3rdparty command
on:
@@ -20,81 +18,43 @@ jobs:
steps:
- name: Add reaction on start
uses: peter-evans/create-or-update-comment@e8674b075228eee787fea43ef493e45ece1004c9 # v3.0.1
uses: peter-evans/create-or-update-comment@23ff15729ef2fc348714a3bb66d2f655ca9066f2 # v3.0.1
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reactions: '+1'
- name: Disabled on forks
if: ${{ github.event.pull_request.head.repo.full_name != github.repository }}
run: |
echo 'Can not execute /update-3rdparty on forks'
exit 1
reactions: "+1"
- name: Init branch
uses: xt0rted/pull-request-comment-branch@e8b8daa837e8ea7331c0003c9c316a64c6d8b0b1 # v1
uses: xt0rted/pull-request-comment-branch@d97294d304604fa98a2600a6e2f916a84b596dc7 # v1
id: comment-branch
- name: Checkout ${{ steps.comment-branch.outputs.head_ref }}
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
persist-credentials: false
fetch-depth: 0
token: ${{ secrets.COMMAND_BOT_PAT }}
ref: ${{ steps.comment-branch.outputs.head_ref }}
- name: Register server reference to fallback to master branch
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
const baseRef = context.payload.pull_request.base.ref
if (baseRef === 'main' || baseRef === 'master') {
core.exportVariable('server_ref', 'master');
console.log('Setting server_ref to master');
} else {
const regex = /^stable(\d+)$/
const match = baseRef.match(regex)
if (match) {
core.exportVariable('server_ref', match[0]);
console.log('Setting server_ref to ' + match[0]);
} else {
console.log('Not based on master/main/stable*, so skipping pull 3rdparty command');
}
}
- name: Setup git
run: |
git config --local user.email 'nextcloud-command@users.noreply.github.com'
git config --local user.name 'nextcloud-command'
- name: Add reaction on failure
uses: peter-evans/create-or-update-comment@e8674b075228eee787fea43ef493e45ece1004c9 # v3.0.1
if: ${{ env.server_ref == '' }}
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reactions: '-1'
git config --local user.email "nextcloud-command@users.noreply.github.com"
git config --local user.name "nextcloud-command"
- name: Pull 3rdparty
if: ${{ env.server_ref != '' }}
run: git submodule foreach 'if [ "$sm_path" == "3rdparty" ]; then git pull origin '"'"'${{ env.server_ref }}'"'"'; fi'
run: git submodule foreach 'if [ "$sm_path" == "3rdparty" ]; then git pull origin ${{ github.event.issue.pull_request.base.ref }}; fi'
- name: Commit and push changes
if: ${{ env.server_ref != '' }}
run: |
git add 3rdparty
git commit -s -m 'Update submodule 3rdparty to latest ${{ env.server_ref }}'
git commit -s -m "Update submodule 3rdparty to latest ${{ github.event.issue.pull_request.base.ref }}"
git push
- name: Add reaction on failure
uses: peter-evans/create-or-update-comment@e8674b075228eee787fea43ef493e45ece1004c9 # v3.0.1
uses: peter-evans/create-or-update-comment@23ff15729ef2fc348714a3bb66d2f655ca9066f2 # v3.0.1
if: failure()
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reactions: '-1'
reactions: "-1"
+51
View File
@@ -0,0 +1,51 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
name: Rebase command
on:
issue_comment:
types: created
permissions:
contents: read
jobs:
rebase:
runs-on: ubuntu-latest
permissions:
contents: none
# On pull requests and if the comment starts with `/rebase`
if: github.event.issue.pull_request != '' && startsWith(github.event.comment.body, '/rebase')
steps:
- name: Add reaction on start
uses: peter-evans/create-or-update-comment@23ff15729ef2fc348714a3bb66d2f655ca9066f2 # v3.0.1
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reaction-type: "+1"
- name: Checkout the latest code
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v3.5.2
with:
fetch-depth: 0
token: ${{ secrets.COMMAND_BOT_PAT }}
- name: Automatic Rebase
uses: cirrus-actions/rebase@b87d48154a87a85666003575337e27b8cd65f691 # 1.8
env:
GITHUB_TOKEN: ${{ secrets.COMMAND_BOT_PAT }}
- name: Add reaction on failure
uses: peter-evans/create-or-update-comment@23ff15729ef2fc348714a3bb66d2f655ca9066f2 # v3.0.1
if: failure()
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reaction-type: "-1"
+38 -113
View File
@@ -1,11 +1,3 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Cypress
on: pull_request
@@ -17,16 +9,8 @@ concurrency:
env:
# Adjust APP_NAME if your repository name is different
APP_NAME: ${{ github.event.repository.name }}
# This represents the server branch to checkout.
# Usually it's the base branch of the PR, but for pushes it's the branch itself.
# e.g. 'main', 'stable27' or 'feature/my-feature'
# n.b. server will use head_ref, as we want to test the PR branch.
BRANCH: ${{ github.base_ref || github.ref_name }}
permissions:
contents: read
# Server requires head_ref instead of base_ref, as we want to test the PR branch
BRANCH: ${{ github.head_ref || github.ref_name }}
jobs:
init:
@@ -36,56 +20,50 @@ jobs:
npmVersion: ${{ steps.versions.outputs.npmVersion }}
env:
# We'll install cypress in the cypress job
CYPRESS_INSTALL_BINARY: 0
PUPPETEER_SKIP_DOWNLOAD: true
steps:
- name: Disabled on forks
if: ${{ github.event.pull_request.head.repo.full_name != github.repository }}
run: |
echo 'Can not run cypress on forks'
exit 1
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
persist-credentials: false
# We need to checkout submodules for 3rdparty
submodules: true
- name: Check composer.json
id: check_composer
uses: andstor/file-existence-action@076e0072799f4942c8bc574a82233e1e4d13e9d6 # v3.0.0
uses: andstor/file-existence-action@20b4d2e596410855db8f9ca21e96fbe18e12930b # v2
with:
files: 'composer.json'
files: "composer.json"
- name: Install composer dependencies
if: steps.check_composer.outputs.files_exists == 'true'
run: composer install --no-dev
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
id: versions
with:
fallbackNode: '^24'
fallbackNpm: '^11.3'
fallbackNode: "^20"
fallbackNpm: "^9"
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v4.0.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}'
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"
- name: Install node dependencies & build app
run: |
npm ci
TESTING=true npm run build --if-present
- name: Show cypress version
run: npm run cypress:version
- name: Save context
uses: buildjet/cache/save@3e70d19e31d6a8030aeddf6ed8dbe601f94d09f4 # v4.0.2
uses: buildjet/cache/save@e376f15c6ec6dc595375c78633174c7e5f92dc0e # v3
with:
key: cypress-context-${{ github.run_id }}
path: ./
@@ -99,82 +77,32 @@ jobs:
matrix:
# Run multiple copies of the current job in parallel
# Please increase the number or runners as your tests suite grows (0 based index for e2e tests)
containers: ['setup', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
# Hack as strategy.job-total includes the "setup" and GitHub does not allow math expressions
# Always align this number with the total of e2e runners (max. index + 1)
total-containers: [10]
services:
mysql:
# Only start mysql if we are running the setup tests
image: ${{matrix.containers == 'setup' && 'ghcr.io/nextcloud/continuous-integration-mysql-8.4:latest' || ''}} # zizmor: ignore[unpinned-images]
ports:
- '3306/tcp'
env:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_USER: oc_autotest
MYSQL_PASSWORD: nextcloud
MYSQL_DATABASE: oc_autotest
options: --health-cmd="mysqladmin ping" --health-interval 5s --health-timeout 2s --health-retries 10
mariadb:
# Only start mariadb if we are running the setup tests
image: ${{matrix.containers == 'setup' && 'mariadb:11.4' || ''}} # zizmor: ignore[unpinned-images]
ports:
- '3306/tcp'
env:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_USER: oc_autotest
MYSQL_PASSWORD: nextcloud
MYSQL_DATABASE: oc_autotest
options: --health-cmd="mariadb-admin ping" --health-interval 5s --health-timeout 2s --health-retries 5
postgres:
# Only start postgres if we are running the setup tests
image: ${{matrix.containers == 'setup' && 'ghcr.io/nextcloud/continuous-integration-postgres-17:latest' || ''}} # zizmor: ignore[unpinned-images]
ports:
- '5432/tcp'
env:
POSTGRES_USER: root
POSTGRES_PASSWORD: rootpassword
POSTGRES_DB: nextcloud
options: --mount type=tmpfs,destination=/var/lib/postgresql/data --health-cmd pg_isready --health-interval 5s --health-timeout 2s --health-retries 5
oracle:
# Only start oracle if we are running the setup tests
image: ${{matrix.containers == 'setup' && 'ghcr.io/gvenzl/oracle-free:23' || ''}} # zizmor: ignore[unpinned-images]
ports:
- '1521'
env:
ORACLE_PASSWORD: oracle
options: --health-cmd healthcheck.sh --health-interval 20s --health-timeout 10s --health-retries 10
containers: ["component", 0, 1, 2, 3, 4, 5]
# Hack as strategy.job-total includes the component and GitHub does not allow math expressions
# Always aling this number with the total of e2e runners (max. index + 1)
total-containers: [6]
name: runner ${{ matrix.containers }}
steps:
- name: Restore context
uses: buildjet/cache/restore@3e70d19e31d6a8030aeddf6ed8dbe601f94d09f4 # v4.0.2
uses: buildjet/cache/restore@e376f15c6ec6dc595375c78633174c7e5f92dc0e # v3
with:
fail-on-cache-miss: true
key: cypress-context-${{ github.run_id }}
path: ./
- name: Set up node ${{ needs.init.outputs.nodeVersion }}
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v4.0.0
with:
node-version: ${{ needs.init.outputs.nodeVersion }}
- name: Set up npm ${{ needs.init.outputs.npmVersion }}
run: npm i -g 'npm@${{ needs.init.outputs.npmVersion }}'
- name: Install cypress
run: ./node_modules/cypress/bin/cypress install
run: npm i -g npm@"${{ needs.init.outputs.npmVersion }}"
- name: Run ${{ matrix.containers == 'component' && 'component' || 'E2E' }} cypress tests
uses: cypress-io/github-action@bc22e01685c56e89e7813fd8e26f33dc47f87e15 # v7.1.5
uses: cypress-io/github-action@ebe8b24c4428922d0f793a5c4c96853a633180e3 # v6.6.0
with:
# We already installed the dependencies in the init job
install: false
component: ${{ matrix.containers == 'component' }}
group: ${{ matrix.use-cypress-cloud && matrix.containers == 'component' && 'Run component' || matrix.use-cypress-cloud && 'Run E2E' || '' }}
# cypress env
@@ -191,41 +119,38 @@ jobs:
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
SPLIT: ${{ matrix.total-containers }}
SPLIT_INDEX: ${{ matrix.containers == 'component' && 0 || matrix.containers }}
SPLIT_RANDOM_SEED: ${{ github.run_id }}
SETUP_TESTING: ${{ matrix.containers == 'setup' && 'true' || '' }}
- name: Upload snapshots and videos
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
- name: Upload snapshots
uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3
if: always()
with:
name: snapshots_${{ matrix.containers }}
path: |
cypress/snapshots
cypress/videos
path: cypress/snapshots
- name: Show logs
- name: Extract NC logs
if: failure() && matrix.containers != 'component'
run: |
for id in $(docker ps -aq); do
docker container inspect "$id" --format '=== Logs for container {{.Name}} ==='
docker logs "$id" >> nextcloud.log
done
echo '=== Nextcloud server logs ==='
docker exec nextcloud-e2e-test-server_${{ env.APP_NAME }} cat data/nextcloud.log
run: docker logs nextcloud-cypress-tests-${{ env.APP_NAME }} > nextcloud.log
- name: Upload NC logs
uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3
if: failure() && matrix.containers != 'component'
with:
name: nc_logs_${{ matrix.containers }}
path: nextcloud.log
- name: Create data dir archive
if: failure() && matrix.containers != 'component'
run: docker exec nextcloud-e2e-test-server_${{ env.APP_NAME }} tar -cvjf - data > data.tar
run: docker exec nextcloud-cypress-tests-server tar -cvjf - data > data.tar
- name: Upload data archive
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
- name: Upload data dir archive
uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3
if: failure() && matrix.containers != 'component'
with:
name: nc_data_${{ matrix.containers }}
path: data.tar
summary:
runs-on: ubuntu-latest-low
runs-on: ubuntu-latest
needs: [init, cypress]
if: always()
+10 -28
View File
@@ -2,14 +2,11 @@
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Auto approve Dependabot PRs
name: Dependabot
on:
pull_request_target: # zizmor: ignore[dangerous-triggers]
pull_request_target:
branches:
- main
- master
@@ -24,35 +21,20 @@ concurrency:
jobs:
auto-approve-merge:
if: github.event.pull_request.user.login == 'dependabot[bot]' || github.event.pull_request.user.login == 'renovate[bot]'
runs-on: ubuntu-latest-low
if: github.actor == 'dependabot[bot]'
runs-on: ubuntu-latest
permissions:
# for hmarr/auto-approve-action to approve PRs
pull-requests: write
# for alexwilson/enable-github-automerge-action to approve PRs
contents: write
steps:
- name: Disabled on forks
if: ${{ github.event.pull_request.head.repo.full_name != github.repository }}
run: |
echo 'Can not approve PRs from forks'
exit 1
- uses: mdecoleman/pr-branch-name@55795d86b4566d300d237883103f052125cc7508 # v3.0.0
id: branchname
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
# GitHub actions bot approve
- uses: hmarr/auto-approve-action@f0939ea97e9205ef24d872e76833fa908a770363 # v4.0.0
if: startsWith(steps.branchname.outputs.branch, 'dependabot/')
# Github actions bot approve
- uses: hmarr/auto-approve-action@b40d6c9ed2fa10c9a2749eca7eb004418a705501 # v2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
# Enable GitHub auto merge
- name: Auto merge
uses: alexwilson/enable-github-automerge-action@56e3117d1ae1540309dc8f7a9f2825bc3c5f06ff # v2.0.0
if: startsWith(steps.branchname.outputs.branch, 'dependabot/')
# Nextcloud bot approve and merge request
- uses: ahmadnassri/action-dependabot-auto-merge@45fc124d949b19b6b8bf6645b6c9d55f4f9ac61a # v2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
target: minor
github-token: ${{ secrets.DEPENDABOT_AUTOMERGE_TOKEN }}
-142
View File
@@ -1,142 +0,0 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit files_external FTP
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: files-external-ftp-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- 'apps/files/lib/**'
- 'apps/files/tests/**'
- 'apps/files_external/**'
- 'apps/files_sharing/lib/**'
- 'apps/files_sharing/tests/**'
- 'apps/files_trashbin/lib/**'
- 'apps/files_trashbin/tests/**'
- 'apps/files_versions/lib/**'
- 'apps/files_versions/tests/**'
- 'lib/private/Files/**'
- 'lib/public/Files/**'
- 'tests/lib/Files/**'
files-external-ftp:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
fail-fast: false
matrix:
php-versions: ['8.2', '8.4']
ftpd: ['proftpd', 'vsftpd', 'pure-ftpd']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-${{ matrix.ftpd }}
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up ftpd
run: |
sudo mkdir /tmp/ftp
sudo chmod -R 0777 /tmp/ftp
if [[ "${{ matrix.ftpd }}" == 'proftpd' ]]; then echo '$6$Q7V2n3q2GRVv5YeQ$/AhLu07H76Asojy7bxGXMY1caKLAbp5Vt82LOZYMkD/8uDzyMAEXwk0c1Bdz1DkBsk2Vh/9SF130mOPavRGMo.' > /tmp/secret.txt; fi
if [[ "${{ matrix.ftpd }}" == 'proftpd' ]]; then echo 'FTP_ROOT=/home/test' > $GITHUB_ENV; fi
if [[ "${{ matrix.ftpd }}" == 'proftpd' ]]; then docker run --name ftp -d --net host -e PASV_ADDRESS=127.0.0.1 -e FTPUSER_NAME=test -v /tmp/secret.txt:/run/secrets/ftp-user-password-secret -v /tmp/ftp:/home/test instantlinux/proftpd; fi
if [[ "${{ matrix.ftpd }}" == 'vsftpd' ]]; then docker run --name ftp -d --net host -e FTP_USER=test -e FTP_PASS=test -e PASV_ADDRESS=127.0.0.1 -v /tmp/ftp:/home/vsftpd/test fauria/vsftpd; fi
if [[ "${{ matrix.ftpd }}" == 'pure-ftpd' ]]; then docker run --name ftp -d --net host -e "PUBLICHOST=localhost" -e FTP_USER_NAME=test -e FTP_USER_PASS=test -e FTP_USER_HOME=/home/test -v /tmp/ftp:/home/test -v /tmp/ftp:/etc/pure-ftpd/passwd stilliard/pure-ftpd; fi
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
run: |
composer install
mkdir data
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
./occ app:enable --force files_external
echo "<?php return ['run' => true,'host' => 'localhost','user' => 'test','password' => 'test', 'root' => '${{ env.FTP_ROOT }}'];" > apps/files_external/tests/config.ftp.php
- name: smoketest ftp
run: |
php -r 'var_dump(file_put_contents("ftp://test:test@localhost${{ env.FTP_ROOT }}/ftp.txt", "asd"));'
php -r 'var_dump(file_get_contents("ftp://test:test@localhost${{ env.FTP_ROOT }}/ftp.txt"));'
php -r 'var_dump(mkdir("ftp://test:test@localhost${{ env.FTP_ROOT }}/asdads"));'
ls -l /tmp/ftp
[ -f /tmp/ftp/ftp.txt ]
- name: PHPUnit
run: composer run test:files_external -- \
apps/files_external/tests/Storage/FtpTest.php \
--log-junit junit.xml \
${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.xml
flags: phpunit-files-external-ftp
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-files-external-ftp
- name: ftpd logs
if: always()
run: |
docker logs ftp
ftp-summary:
runs-on: ubuntu-latest-low
needs: [changes, files-external-ftp]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.files-external-ftp.result != 'success' }}; then exit 1; fi
-225
View File
@@ -1,225 +0,0 @@
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit files_external S3
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: files-external-s3-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- 'apps/files/lib/**'
- 'apps/files/tests/**'
- 'apps/files_external/**'
- 'apps/files_sharing/lib/**'
- 'apps/files_sharing/tests/**'
- 'apps/files_trashbin/lib/**'
- 'apps/files_trashbin/tests/**'
- 'apps/files_versions/lib/**'
- 'apps/files_versions/tests/**'
- 'lib/private/Files/**'
- 'lib/public/Files/**'
- 'tests/lib/Files/**'
files-external-s3-minio:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
fail-fast: false
matrix:
php-versions: ['8.2', '8.4']
include:
- php-versions: '8.3'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-s3-minio
services:
minio:
image: bitnami/minio@sha256:50cec18ac4184af4671a78aedd5554942c8ae105d51a465fa82037949046da01 # v2025.4.22
env:
MINIO_ROOT_USER: nextcloud
MINIO_ROOT_PASSWORD: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
MINIO_DEFAULT_BUCKETS: nextcloud
ports:
- '9000:9000'
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
env:
OBJECT_STORE_KEY: nextcloud
OBJECT_STORE_SECRET: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
run: |
composer install
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
./occ app:enable --force files_external
echo "<?php return ['run' => true, 'minio' => true, 'secret' => 'actually-not-secret', 'passwordsalt' => 'actually-not-secret', 'hostname' => 'localhost','key' => '$OBJECT_STORE_KEY','secret' => '$OBJECT_STORE_SECRET', 'bucket' => 'bucket', 'port' => 9000, 'use_ssl' => false, 'autocreate' => true, 'use_path_style' => true];" > apps/files_external/tests/config.amazons3.php
- name: Wait for S3
run: |
curl -f -m 1 --retry-connrefused --retry 10 --retry-delay 10 http://localhost:9000/minio/health/ready
- name: PHPUnit
run: |
composer run test:files_external -- \
--group S3 \
--log-junit junit.xml \
apps/files_external/tests/Storage \
${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.xml
flags: phpunit-files-external-s3
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-files-external-s3
- name: Nextcloud logs
if: always()
run: |
cat data/nextcloud.log
- name: S3 logs
if: always()
run: |
docker ps -a
docker ps -aq | while read container ; do IMAGE=$(docker inspect --format='{{.Config.Image}}' $container); echo $IMAGE; docker logs $container; echo "\n\n" ; done
files-external-s3-localstack:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
matrix:
php-versions: ['8.2', '8.4']
include:
- php-versions: '8.3'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-s3-localstack
services:
localstack:
env:
SERVICES: s3
DEBUG: 1
image: localstack/localstack@sha256:9d4253786e0effe974d77fe3c390358391a56090a4fff83b4600d8a64404d95d # v4.5.0
ports:
- "4566:4566"
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
run: |
composer install
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
./occ app:enable --force files_external
echo "<?php return ['run' => true, 'localstack' => true, 'hostname' => 'localhost','key' => 'ignored','secret' => 'ignored', 'bucket' => 'bucket', 'port' => 4566, 'use_ssl' => false, 'autocreate' => true, 'use_path_style' => true];" > apps/files_external/tests/config.amazons3.php
- name: PHPUnit
run: |
composer run test:files_external -- \
--group S3 \
--log-junit junit.xml \
apps/files_external/tests/Storage \
${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.xml
flags: phpunit-files-external-s3
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-files-external-s3
- name: S3 logs
if: always()
run: |
docker ps -a
docker ps -aq | while read container ; do IMAGE=$(docker inspect --format='{{.Config.Image}}' $container); echo $IMAGE; docker logs $container; echo "\n\n" ; done
s3-external-summary:
runs-on: ubuntu-latest-low
needs: [changes, files-external-s3-minio, files-external-s3-localstack]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && (needs.files-external-s3-minio.result != 'success' || needs.files-external-s3-localstack.result != 'success') }}; then exit 1; fi
-132
View File
@@ -1,132 +0,0 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit files_external sFTP
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: files-external-sftp-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- 'apps/files/lib/**'
- 'apps/files/tests/**'
- 'apps/files_external/**'
- 'apps/files_sharing/lib/**'
- 'apps/files_sharing/tests/**'
- 'apps/files_trashbin/lib/**'
- 'apps/files_trashbin/tests/**'
- 'apps/files_versions/lib/**'
- 'apps/files_versions/tests/**'
- 'lib/private/Files/**'
- 'lib/public/Files/**'
- 'tests/lib/Files/**'
files-external-sftp:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
fail-fast: false
matrix:
php-versions: ['8.2', '8.4']
sftpd: ['openssh']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-${{ matrix.sftpd }}
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up sftpd
run: |
sudo mkdir /tmp/sftp
sudo chown -R 0777 /tmp/sftp
if [[ '${{ matrix.sftpd }}' == 'openssh' ]]; then docker run -p 2222:22 --name sftp -d -v /tmp/sftp:/home/test atmoz/sftp 'test:test:::data'; fi
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
run: |
composer install
mkdir data
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
./occ app:enable --force files_external
echo "<?php return ['run' => true, 'host' => 'localhost:2222','user' => 'test','password' => 'test', 'root' => 'data'];" > apps/files_external/tests/config.sftp.php
- name: PHPUnit
run: composer run test:files_external -- \
apps/files_external/tests/Storage/SftpTest.php \
apps/files_external/tests/Storage/SFTP_KeyTest.php \
--log-junit junit.xml \
${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.xml
flags: phpunit-files-external-sftp
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-files-external-sftp
- name: sftpd logs
if: always()
run: |
ls -l /tmp/sftp
docker logs sftp
sftp-summary:
runs-on: ubuntu-latest-low
needs: [changes, files-external-sftp]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.files-external-sftp.result != 'success' }}; then exit 1; fi
@@ -1,128 +0,0 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Samba Kerberos SSO
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: files-external-smb-kerberos-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- 'apps/files/lib/**'
- 'apps/files/tests/**'
- 'apps/files_external/**'
- 'apps/files_sharing/lib/**'
- 'apps/files_sharing/tests/**'
- 'apps/files_trashbin/lib/**'
- 'apps/files_trashbin/tests/**'
- 'apps/files_versions/lib/**'
- 'apps/files_versions/tests/**'
- 'lib/private/Files/**'
- 'lib/public/Files/**'
- 'tests/lib/Files/**'
files-external-smb-kerberos:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
name: smb-kerberos-sso
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Checkout user_saml
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
repository: nextcloud/user_saml
path: apps/user_saml
- name: Install user_saml
run: |
cd apps/user_saml
composer i
cd ../..
- name: Pull images
run: |
docker pull ghcr.io/icewind1991/samba-krb-test-dc
docker pull ghcr.io/icewind1991/samba-krb-test-apache-gssapi:8.4
docker pull ghcr.io/icewind1991/samba-krb-test-client
docker tag ghcr.io/icewind1991/samba-krb-test-dc icewind1991/samba-krb-test-dc
docker tag ghcr.io/icewind1991/samba-krb-test-apache-gssapi:8.4 icewind1991/samba-krb-test-apache-gssapi
docker tag ghcr.io/icewind1991/samba-krb-test-client icewind1991/samba-krb-test-client
- name: Setup AD-DC
run: |
DC_IP=$(apps/files_external/tests/sso-setup/start-dc.sh)
sleep 1
apps/files_external/tests/sso-setup/start-apache.sh $DC_IP $PWD
echo "DC_IP=$DC_IP" >> $GITHUB_ENV
- name: Set up Nextcloud
run: |
apps/files_external/tests/sso-setup/setup-sso-nc.sh
- name: Test SSO
run: |
apps/files_external/tests/sso-setup/test-sso-smb.sh ${{ env.DC_IP }}
- name: Show logs DC
if: always()
run: |
docker logs dc
echo "------------"
docker exec dc cat /var/log/samba/log.samba
- name: Show logs Apache
if: always()
run: |
docker logs apache
- name: Show logs
if: always()
run: |
FILEPATH=$(docker exec --user 33 apache ./occ log:file | grep "Log file:" | cut -d' ' -f3)
echo "$FILEPATH:"
docker exec --user 33 apache cat $FILEPATH
smb-kerberos-sso-summary:
runs-on: ubuntu-latest-low
needs: [changes, files-external-smb-kerberos]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.files-external-smb-kerberos.result != 'success' }}; then exit 1; fi
-138
View File
@@ -1,138 +0,0 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit files_external SMB
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: files-external-smb-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- 'apps/files/lib/**'
- 'apps/files/tests/**'
- 'apps/files_external/**'
- 'apps/files_sharing/lib/**'
- 'apps/files_sharing/tests/**'
- 'apps/files_trashbin/lib/**'
- 'apps/files_trashbin/tests/**'
- 'apps/files_versions/lib/**'
- 'apps/files_versions/tests/**'
- 'lib/private/Files/**'
- 'lib/public/Files/**'
- 'tests/lib/Files/**'
files-external-smb:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
fail-fast: false
matrix:
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-smb
services:
samba:
image: ghcr.io/servercontainers/samba:smbd-only-a3.18.0-s4.18.2-r0
env:
ACCOUNT_test: test
UID_test: 1000
SAMBA_VOLUME_CONFIG_test: "[public]; path=/tmp; valid users = test; guest ok = no; read only = no; browseable = yes"
options: >-
--health-cmd=true
ports:
- 445:445
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, smbclient, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up smbclient
# This is needed as icewind/smb php library for notify
run: sudo apt-get install -y smbclient
- name: Set up Nextcloud
run: |
composer install
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
./occ config:system:set --value true --type boolean allow_local_remote_servers
./occ app:enable --force files_external
echo "<?php return ['run'=>true, 'host'=>'localhost', 'user'=>'test', 'password'=>'test', 'root'=>'', 'share'=>'public'];" > apps/files_external/tests/config.smb.php
- name: Wait for smb
run: |
apps/files_external/tests/env/wait-for-connection 127.0.0.1 445 60
- name: PHPUnit
run: composer run test:files_external -- \
apps/files_external/tests/Storage/SmbTest.php \
--log-junit junit.xml \
${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.xml
flags: phpunit-files-external-smb
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-files-external-smb
files-external-smb-summary:
runs-on: ubuntu-latest-low
needs: [changes, files-external-smb]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.files-external-smb.result != 'success' }}; then exit 1; fi
-130
View File
@@ -1,130 +0,0 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit files_external WebDAV
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: files-external-webdav-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- 'apps/files/lib/**'
- 'apps/files/tests/**'
- 'apps/files_external/**'
- 'apps/files_sharing/lib/**'
- 'apps/files_sharing/tests/**'
- 'apps/files_trashbin/lib/**'
- 'apps/files_trashbin/tests/**'
- 'apps/files_versions/lib/**'
- 'apps/files_versions/tests/**'
- 'lib/private/Files/**'
- 'lib/public/Files/**'
- 'tests/lib/Files/**'
files-external-webdav-apache:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
fail-fast: false
matrix:
php-versions: ['8.3', '8.4']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-webdav
services:
apache:
image: ghcr.io/nextcloud/continuous-integration-webdav-apache:latest # zizmor: ignore[unpinned-images]
ports:
- 8081:80
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
run: |
composer install
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
./occ config:system:set --value true --type boolean allow_local_remote_servers
./occ app:enable --force files_external
echo "<?php return ['run' => true, 'host' => 'localhost:8081/webdav/', 'user' => 'test', 'password'=>'pass', 'root' => '', 'wait' => 0];" > apps/files_external/tests/config.webdav.php
- name: Wait for WebDAV
run: |
sleep 5
curl -f -m 1 --retry-connrefused --retry 10 --retry-delay 10 http://test:pass@localhost:8081/webdav/
- name: PHPUnit
run: composer run test:files_external -- \
apps/files_external/tests/Storage/WebdavTest.php \
--log-junit junit.xml \
${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.xml
flags: phpunit-files-external-webdav
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-files-external-webdav
files-external-webdav-summary:
runs-on: ubuntu-latest-low
needs: [changes, files-external-webdav-apache]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.files-external-webdav-apache.result != 'success' }}; then exit 1; fi
-119
View File
@@ -1,119 +0,0 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit files_external generic
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: files-external-generic-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- 'apps/files/lib/**'
- 'apps/files/tests/**'
- 'apps/files_external/**'
- 'apps/files_sharing/lib/**'
- 'apps/files_sharing/tests/**'
- 'apps/files_trashbin/lib/**'
- 'apps/files_trashbin/tests/**'
- 'apps/files_versions/lib/**'
- 'apps/files_versions/tests/**'
- 'lib/private/Files/**'
- 'lib/public/Files/**'
- 'tests/lib/Files/**'
files-external-generic:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
fail-fast: false
matrix:
php-versions: ['8.3', '8.4']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-generic
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
env:
OBJECT_STORE_KEY: nextcloud
OBJECT_STORE_SECRET: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
run: |
composer install
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
./occ app:enable --force files_external
- name: PHPUnit
run: composer run test:files_external -- \
--log-junit junit.xml \
${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.xml
flags: phpunit-files-external-generic
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-files-external-generic
files-external-summary:
runs-on: ubuntu-latest-low
needs: [changes, files-external-generic ]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.files-external-generic.result != 'success' }}; then exit 1; fi
+2 -5
View File
@@ -2,9 +2,6 @@
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2021-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Block fixup and squash commits
@@ -27,10 +24,10 @@ jobs:
pull-requests: write
name: Block fixup and squash commits
runs-on: ubuntu-latest-low
runs-on: ubuntu-latest
steps:
- name: Run check
uses: skjnldsv/block-fixup-merge-action@c138ea99e45e186567b64cf065ce90f7158c236a # v2
uses: skjnldsv/block-fixup-merge-action@42d26e1b536ce61e5cf467d65fb76caf4aa85acf # v1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
+84
View File
@@ -0,0 +1,84 @@
name: FTP unit tests
on:
pull_request:
paths:
- '.github/**'
- 'apps/files_external/**'
concurrency:
group: ftp-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
env:
APP_NAME: files_external
jobs:
ftp-tests:
runs-on: ubuntu-latest
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
strategy:
# do not stop on another job's failure
fail-fast: false
matrix:
php-versions: ['8.0']
ftpd: ['proftpd', 'vsftpd', 'pure-ftpd']
name: php${{ matrix.php-versions }}-${{ matrix.ftpd }}
steps:
- name: Checkout server
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
submodules: true
- name: Set up ftpd
run: |
sudo mkdir /tmp/ftp
sudo chmod -R 0777 /tmp/ftp
if [[ "${{ matrix.ftpd }}" == 'proftpd' ]]; then echo '$6$Q7V2n3q2GRVv5YeQ$/AhLu07H76Asojy7bxGXMY1caKLAbp5Vt82LOZYMkD/8uDzyMAEXwk0c1Bdz1DkBsk2Vh/9SF130mOPavRGMo.' > /tmp/secret.txt; fi
if [[ "${{ matrix.ftpd }}" == 'proftpd' ]]; then echo 'FTP_ROOT=/home/test' > $GITHUB_ENV; fi
if [[ "${{ matrix.ftpd }}" == 'proftpd' ]]; then docker run --name ftp -d --net host -e PASV_ADDRESS=127.0.0.1 -e FTPUSER_NAME=test -v /tmp/secret.txt:/run/secrets/ftp-user-password-secret -v /tmp/ftp:/home/test instantlinux/proftpd; fi
if [[ "${{ matrix.ftpd }}" == 'vsftpd' ]]; then docker run --name ftp -d --net host -e FTP_USER=test -e FTP_PASS=test -e PASV_ADDRESS=127.0.0.1 -v /tmp/ftp:/home/vsftpd/test fauria/vsftpd; fi
if [[ "${{ matrix.ftpd }}" == 'pure-ftpd' ]]; then docker run --name ftp -d --net host -e "PUBLICHOST=localhost" -e FTP_USER_NAME=test -e FTP_USER_PASS=test -e FTP_USER_HOME=/home/test -v /tmp/ftp:/home/test -v /tmp/ftp:/etc/pure-ftpd/passwd stilliard/pure-ftpd; fi
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c5fc0d8281aba02c7fda07d3a70cc5371548067d #v2.25.2
with:
php-version: ${{ matrix.php-versions }}
extensions: mbstring, fileinfo, intl, sqlite, pdo_sqlite, zip, gd
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
run: |
composer install
mkdir data
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
./occ app:enable --force ${{ env.APP_NAME }}
php -S localhost:8080 &
- name: smoketest ftp
run: |
php -r 'var_dump(file_put_contents("ftp://test:test@localhost${{ env.FTP_ROOT }}/ftp.txt", "asd"));'
php -r 'var_dump(file_get_contents("ftp://test:test@localhost${{ env.FTP_ROOT }}/ftp.txt"));'
php -r 'var_dump(mkdir("ftp://test:test@localhost${{ env.FTP_ROOT }}/asdads"));'
ls -l /tmp/ftp
[ -f /tmp/ftp/ftp.txt ]
- name: PHPUnit
run: |
echo "<?php return ['run' => true,'host' => 'localhost','user' => 'test','password' => 'test', 'root' => '${{ env.FTP_ROOT }}'];" > apps/${{ env.APP_NAME }}/tests/config.ftp.php
composer run test:files_external apps/files_external/tests/Storage/FtpTest.php
- name: ftpd logs
if: always()
run: |
docker logs ftp
ftp-summary:
runs-on: ubuntu-latest
needs: ftp-tests
if: always()
steps:
- name: Summary status
run: if ${{ needs.ftp-tests.result != 'success' }}; then exit 1; fi
@@ -1,104 +0,0 @@
# SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Generate changelog on release
on:
release:
types: [published]
permissions:
contents: write
jobs:
changelog_generate:
runs-on: ubuntu-latest
# Only allowed to be run on nextcloud-releases repositories
if: ${{ github.repository_owner == 'nextcloud-releases' }}
steps:
- name: Check actor permission
uses: skjnldsv/check-actor-permission@69e92a3c4711150929bca9fcf34448c5bf5526e7 # v3.0
with:
require: write
- name: Checkout github_helper
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
repository: nextcloud/github_helper
path: github_helper
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
path: server
fetch-depth: 0
- name: Get previous tag
shell: bash
run: |
cd server
# Print all tags
git log --decorate --oneline | egrep 'tag: ' | sed -r 's/^.+tag: ([^,\)]+)[,\)].+$/\1/g'
# Get the current tag
TAGS=$(git log --decorate --oneline | egrep 'tag: ' | sed -r 's/^.+tag: ([^,\)]+)[,\)].+$/\1/g')
CURRENT_TAG=$(echo "$TAGS" | head -n 1)
# If current tag is the first beta, we use the previous major RC1
if echo "$CURRENT_TAG" | grep -q 'beta1'; then
MAJOR=$(echo "$CURRENT_TAG" | sed -E 's/^v([0-9]+).*/\1/')
PREV=$((MAJOR - 1))
PREVIOUS_TAG="v${PREV}.0.0rc1"
# Get the previous tag - filter pre-releases only if current tag is stable
elif echo "$CURRENT_TAG" | grep -q 'rc\|beta\|alpha'; then
# Current tag is pre-release, don't filter
PREVIOUS_TAG=$(echo "$TAGS" | sed -n '2p')
else
# Current tag is stable, filter out pre-releases
PREVIOUS_TAG=$(echo "$TAGS" | grep -v 'rc\|beta\|alpha' | sed -n '2p')
fi
echo "CURRENT_TAG=$CURRENT_TAG" >> $GITHUB_ENV
echo "PREVIOUS_TAG=$PREVIOUS_TAG" >> $GITHUB_ENV
# Since this action only runs on nextcloud-releases, ignoring is okay
- name: Verify current tag # zizmor: ignore[template-injection]
run: |
if [ "${{ github.ref_name }}" != "${{ env.CURRENT_TAG }}" ]; then
echo "Current tag does not match the release tag. Exiting."
exit 1
fi
- name: Set up php 8.2
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
with:
php-version: 8.2
coverage: none
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set credentials
run: |
echo '{"username": "github-actions"}' > github_helper/credentials.json
# Since this action only runs on nextcloud-releases, ignoring is okay
- name: Generate changelog between ${{ env.PREVIOUS_TAG }} and ${{ github.ref_name }} # zizmor: ignore[template-injection]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
cd github_helper/changelog
composer install
php index.php generate:changelog --no-bots --format=forum server ${{ env.PREVIOUS_TAG }} ${{ github.ref_name }} > changelog.md
# Since this action only runs on nextcloud-releases, ignoring is okay
- name: Set changelog to release # zizmor: ignore[template-injection]
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
cd server
gh release edit ${{ github.ref_name }} --notes-file "../github_helper/changelog/changelog.md" --title "${{ github.ref_name }}"
-129
View File
@@ -1,129 +0,0 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: DAV integration tests
on:
pull_request:
permissions:
contents: read
concurrency:
group: integration-caldav-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/*.php'
- '**/lib/**'
- '**/tests/**'
- '**/vendor-bin/**'
- 'build/integration/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
integration-caldav:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false' && github.repository_owner != 'nextcloud-gmbh'
strategy:
fail-fast: false
matrix:
php-versions: ['8.2']
endpoint: ['old', 'new']
service: ['CalDAV', 'CardDAV']
name: ${{ matrix.service }} (${{ matrix.endpoint }} endpoint) php${{ matrix.php-versions }}
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: 'none'
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Python
uses: LizardByte/actions/actions/setup_python@70bb8d394d1c92f6113aeec6ae9cc959a5763d15 # v2026.227.200013
with:
python-version: '2.7'
- name: Set up CalDAVTester
run: |
git clone --depth=1 https://github.com/apple/ccs-caldavtester.git CalDAVTester
git clone --depth=1 https://github.com/apple/ccs-pycalendar.git pycalendar
- name: Set up Nextcloud
run: |
mkdir data
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
# disable the trashbin, so recurrent deletion of the same object works
./occ config:app:set dav calendarRetentionObligation --value=0
# Prepare users
OC_PASS=user01 ./occ user:add --password-from-env user01
OC_PASS=user02 ./occ user:add --password-from-env user02
# Prepare calendars
./occ dav:create-calendar user01 calendar
./occ dav:create-calendar user01 shared
./occ dav:create-calendar user02 calendar
# Prepare address books
./occ dav:create-addressbook user01 addressbook
./occ dav:create-addressbook user02 addressbook
- name: Run Nextcloud
run: |
php -S localhost:8888 &
- name: Run CalDAVTester
run: |
cp "apps/dav/tests/testsuits/caldavtest/serverinfo-${{ matrix.endpoint }}${{ matrix.endpoint == 'old' && (matrix.service == 'CardDAV' && '-carddav' || '-caldav') || '' }}-endpoint.xml" "apps/dav/tests/testsuits/caldavtest/serverinfo.xml"
pushd CalDAVTester
PYTHONPATH="../pycalendar/src" python testcaldav.py --print-details-onfail --basedir "../apps/dav/tests/testsuits/caldavtest" -o cdt.txt \
"${{ matrix.service }}/current-user-principal.xml" \
"${{ matrix.service }}/sync-report.xml" \
${{ matrix.endpoint == 'new' && format('{0}/sharing-{1}.xml', matrix.service, matrix.service == 'CalDAV' && 'calendars' || 'addressbooks') || ';' }}
popd
- name: Print Nextcloud logs
if: always()
run: |
cat data/nextcloud.log
caldav-integration-summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, integration-caldav]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.integration-caldav.result != 'success' }}; then exit 1; fi
-116
View File
@@ -1,116 +0,0 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Litmus integration tests
on:
pull_request:
permissions:
contents: read
concurrency:
group: integration-litmus-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/*.php'
- '**/lib/**'
- '**/tests/**'
- '**/vendor-bin/**'
- 'build/integration/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
integration-litmus:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false' && github.repository_owner != 'nextcloud-gmbh'
strategy:
fail-fast: false
matrix:
php-versions: ['8.2']
endpoint: ['webdav', 'dav']
name: Litmus WebDAV ${{ matrix.endpoint }}
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: 'none'
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
run: |
mkdir data
./occ maintenance:install \
--verbose \
--database=sqlite \
--database-name=nextcloud \
--database-user=root \
--database-pass=rootpassword \
--admin-user admin \
--admin-pass admin
./occ config:system:set trusted_domains 2 --value=host.docker.internal:8080
- name: Run Nextcloud
run: |
php -S 0.0.0.0:8080 &
- name: Run Litmus test
run: |
docker run \
--rm \
--add-host=host.docker.internal:host-gateway \
ghcr.io/nextcloud/continuous-integration-litmus-php8.3:latest \
bash -c '\
cd /tmp/litmus/litmus-0.13;
make URL=http://host.docker.internal:8080/remote.php/${{ matrix.endpoint }}${{ matrix.endpoint == 'dav' && '/files/admin' || ''}} CREDS="admin admin" TESTS="basic copymove props largefile" check;
status=$?;
cat debug.log;
exit $status;'
- name: Print Nextcloud logs
if: always()
run: cat data/nextcloud.log
integration-litmus-summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, integration-litmus]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.integration-litmus.result != 'success' }}; then exit 1; fi
@@ -1,133 +0,0 @@
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: S3 primary storage integration tests
on:
pull_request:
permissions:
contents: read
concurrency:
group: integration-s3-primary-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- 'build/integration/**'
- 'apps/files/lib/**'
- 'apps/files/tests/**'
- 'apps/files_external/**'
- 'apps/files_sharing/lib/**'
- 'apps/files_sharing/tests/**'
- 'apps/files_trashbin/lib/**'
- 'apps/files_trashbin/tests/**'
- 'apps/files_versions/lib/**'
- 'apps/files_versions/tests/**'
- 'lib/private/Files/**'
- 'lib/public/Files/**'
- 'tests/lib/Files/**'
integration-s3-primary:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false' && github.repository_owner != 'nextcloud-gmbh'
strategy:
fail-fast: false
matrix:
php-versions: ['8.2']
key: ['objectstore', 'objectstore_multibucket']
name: php${{ matrix.php-versions }}-${{ matrix.key }}-minio
services:
redis:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
ports:
- 6379:6379/tcp
minio:
image: bitnami/minio@sha256:50cec18ac4184af4671a78aedd5554942c8ae105d51a465fa82037949046da01 # v2025.4.22
env:
MINIO_ROOT_USER: nextcloud
MINIO_ROOT_PASSWORD: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
MINIO_DEFAULT_BUCKETS: nextcloud
ports:
- "9000:9000"
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: 'none'
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Wait for S3
run: |
sleep 10
curl -f -m 1 --retry-connrefused --retry 10 --retry-delay 10 http://localhost:9000/minio/health/ready
- name: Set up Nextcloud
run: |
composer install
mkdir data
echo '<?php $CONFIG=["${{ matrix.key }}" => ["class" => "OC\Files\ObjectStore\S3", "arguments" => ["bucket" => "nextcloud", "autocreate" => true, "key" => "nextcloud", "secret" => "bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=", "hostname" => "localhost", "port" => 9000, "use_ssl" => false, "use_path_style" => true, "uploadPartSize" => 52428800]]];' > config/config.php
echo '<?php $CONFIG=["redis" => ["host" => "localhost", "port" => 6379], "memcache.local" => "\OC\Memcache\Redis", "memcache.distributed" => "\OC\Memcache\Redis"];' > config/redis.config.php
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
php -f index.php
- name: Integration
run: |
cd build/integration
bash run.sh --tags "~@failure-s3" dav_features/webdav-related.feature
- name: S3 logs
if: always()
run: |
cat data/nextcloud.log
docker ps -a
docker ps -aq | while read container ; do IMAGE=$(docker inspect --format='{{.Config.Image}}' $container); echo $IMAGE; docker logs $container; echo "\n\n" ; done
s3-primary-integration-summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, integration-s3-primary]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.integration-s3-primary.result != 'success' }}; then exit 1; fi
-184
View File
@@ -1,184 +0,0 @@
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Integration sqlite
on:
pull_request:
push:
branches:
- main
- master
- stable*
permissions:
contents: read
concurrency:
group: integration-sqlite-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/*.php'
- '**/lib/**'
- '**/tests/**'
- '**/vendor-bin/**'
- 'build/integration/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- 'core/shipped.json'
integration-sqlite:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
strategy:
fail-fast: false
matrix:
test-suite:
- 'capabilities_features'
- 'collaboration_features'
- 'comments_features'
- 'dav_features'
- 'features'
- 'federation_features'
- '--tags ~@large files_features'
- 'filesdrop_features'
- 'file_conversions'
- 'files_reminders'
- 'openldap_features'
- 'openldap_numerical_features'
- 'ldap_features'
- 'remoteapi_features'
- 'routing_features'
- 'setup_features'
- 'sharees_features'
- 'sharing_features'
- 'theming_features'
- 'videoverification_features'
php-versions: ['8.4']
spreed-versions: ['main']
activity-versions: ['master']
services:
redis:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
ports:
- 6379:6379/tcp
openldap:
image: ghcr.io/nextcloud/continuous-integration-openldap:openldap-8 # zizmor: ignore[unpinned-images]
ports:
- 389:389
- 636:636
env:
SLAPD_DOMAIN: nextcloud.ci
SLAPD_ORGANIZATION: Nextcloud
SLAPD_PASSWORD: admin
SLAPD_ADDITIONAL_MODULES: memberof
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Checkout Talk app
if: ${{ matrix.test-suite == 'videoverification_features' }}
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
repository: nextcloud/spreed
path: apps/spreed
ref: ${{ matrix.spreed-versions }}
- name: Checkout Activity app
if: ${{ matrix.test-suite == 'sharing_features' }}
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
repository: nextcloud/activity
path: apps/activity
ref: ${{ matrix.activity-versions }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, imagick, intl, json, ldap, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: none
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
run: |
composer install
- name: Set up Talk dependencies
if: ${{ matrix.test-suite == 'videoverification_features' }}
working-directory: apps/spreed
run: composer i --no-dev
- name: Set up Nextcloud
run: |
mkdir data
./occ maintenance:install --verbose ${{ contains(matrix.test-suite,'ldap') && '--data-dir=/dev/shm/nc_int' || '' }} --database=sqlite --database-name=nextcloud --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
./occ config:system:set hashing_default_password --value=true --type=boolean
- name: Configure caching
if: ${{ contains(matrix.test-suite,'ldap') }}
run: |
./occ config:system:set redis host --value=localhost
./occ config:system:set redis port --value=6379 --type=integer
./occ config:system:set redis timeout --value=0 --type=integer
./occ config:system:set memcache.local --value='\OC\Memcache\Redis'
./occ config:system:set memcache.distributed --value='\OC\Memcache\Redis'
- name: Run integration
working-directory: build/integration
env:
LDAP_HOST: localhost
run: bash run.sh ${{ matrix.test-suite }} no-tail-log
- name: Print logs
if: always()
run: |
cat $(./occ log:file |grep "Log file"|cut -d" " -f3)
docker ps -a
docker ps -aq | while read container ; do IMAGE=$(docker inspect --format='{{.Config.Image}}' $container); echo $IMAGE; docker logs $container; echo "\n\n" ; done
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, integration-sqlite]
if: always()
name: integration-sqlite-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.integration-sqlite.result != 'success' }}; then exit 1; fi
+13 -17
View File
@@ -3,12 +3,13 @@
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2021-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
# Use lint-eslint together with lint-eslint-when-unrelated to make eslint a required check for GitHub actions
# https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/troubleshooting-required-status-checks#handling-skipped-but-required-checks
name: Lint eslint
on: pull_request
on:
pull_request:
permissions:
contents: read
@@ -19,16 +20,13 @@ concurrency:
jobs:
changes:
runs-on: ubuntu-latest-low
permissions:
contents: read
pull-requests: read
runs-on: ubuntu-latest
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@4512585405083f25c027a35db413c2b3b9006d50 # v2.11.1
id: changes
continue-on-error: true
with:
@@ -56,24 +54,22 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
id: versions
with:
fallbackNode: '^24'
fallbackNpm: '^11.3'
fallbackNode: '^20'
fallbackNpm: '^9'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v4.0.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}'
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"
- name: Install dependencies
env:
@@ -87,7 +83,7 @@ jobs:
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
runs-on: ubuntu-latest
needs: [changes, lint]
if: always()
+7 -14
View File
@@ -2,9 +2,6 @@
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2021-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Lint php-cs
@@ -19,13 +16,13 @@ concurrency:
jobs:
changes:
runs-on: ubuntu-latest-low
runs-on: ubuntu-latest
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@4512585405083f25c027a35db413c2b3b9006d50 # v2.11.1
id: changes
continue-on-error: true
with:
@@ -44,20 +41,16 @@ jobs:
lint:
runs-on: ubuntu-latest
name: php-cs
name: PHP CS fixer lint
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Set up php
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
uses: shivammathur/setup-php@4bd44f22a98a19e0950cbad5f31095157cc9621b # v2
with:
php-version: 8.2
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
php-version: 8.1
coverage: none
ini-file: development
env:
@@ -72,7 +65,7 @@ jobs:
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
runs-on: ubuntu-latest
needs: [changes, lint]
if: always()
+10 -14
View File
@@ -2,13 +2,11 @@
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2021-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Lint php
on: pull_request
on:
pull_request:
permissions:
contents: read
@@ -19,11 +17,13 @@ concurrency:
jobs:
changes:
runs-on: ubuntu-latest-low
runs-on: ubuntu-latest
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@4512585405083f25c027a35db413c2b3b9006d50 # v2.11.1
id: changes
continue-on-error: true
with:
@@ -47,22 +47,18 @@ jobs:
strategy:
matrix:
php-versions: [ '8.2', '8.3', '8.4', '8.5' ]
php-versions: [ "8.0", "8.1", "8.2", "8.3" ]
name: php-lint
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
uses: shivammathur/setup-php@4bd44f22a98a19e0950cbad5f31095157cc9621b # v2
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: none
ini-file: development
env:
@@ -74,7 +70,7 @@ jobs:
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
runs-on: ubuntu-latest
needs: [changes, lint]
if: always()
-53
View File
@@ -1,53 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2021-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Lint stylelint
on: pull_request
permissions:
contents: read
concurrency:
group: lint-stylelint-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
lint:
runs-on: ubuntu-latest
name: stylelint
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
id: versions
with:
fallbackNode: '^24'
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}'
- name: Install dependencies
env:
CYPRESS_INSTALL_BINARY: 0
run: npm ci
- name: Lint
run: npm run stylelint
@@ -1,99 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Node handlebars tests
on:
pull_request:
permissions:
contents: read
concurrency:
group: node-tests-handlebars-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
permissions:
contents: read
pull-requests: read
outputs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '**/__tests__/**'
- '**/__mocks__/**'
- 'apps/*/src/**'
- 'apps/*/appinfo/info.xml'
- 'core/src/**'
- 'package.json'
- '**/package-lock.json'
- 'tsconfig.json'
- '**.js'
- '**.ts'
- '**.vue'
handlebars:
runs-on: ubuntu-latest
needs: [changes]
if: needs.changes.outputs.src != 'false'
env:
CYPRESS_INSTALL_BINARY: 0
PUPPETEER_SKIP_DOWNLOAD: true
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
id: versions
with:
fallbackNode: '^24'
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}'
- name: Install dependencies
run: npm ci
- name: Run compile
run: ./build/compile-handlebars-templates.sh
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, handlebars]
if: always()
name: test-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.handlebars.result != 'success' }}; then exit 1; fi
-109
View File
@@ -1,109 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Node tests
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: node-tests-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
permissions:
contents: read
pull-requests: read
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '**/__tests__/**'
- '**/__mocks__/**'
- 'apps/*/src/**'
- 'apps/*/appinfo/info.xml'
- 'core/src/**'
- 'package.json'
- '**/package-lock.json'
- 'tsconfig.json'
- '**.js'
- '**.ts'
- '**.vue'
test:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
id: versions
with:
fallbackNode: '^24'
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}'
- name: Install dependencies
env:
CYPRESS_INSTALL_BINARY: 0
run: |
npm ci
# - name: Test
# run: npm run test --if-present
- name: Test and process coverage
run: npm run test:coverage
- name: Collect coverage
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./coverage/lcov.info,./coverage/legacy/lcov.info
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, test]
if: always()
name: node-test-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.test.result != 'success' }}; then exit 1; fi
+169
View File
@@ -0,0 +1,169 @@
name: Node tests
on:
pull_request:
schedule:
- cron: "5 2 * * *"
concurrency:
group: node-tests-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@4512585405083f25c027a35db413c2b3b9006d50 # v2.11.1
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '**/__tests__/**'
- '**/__mocks__/**'
- '**/src/**'
- '**/appinfo/info.xml'
- 'package.json'
- 'package-lock.json'
- 'tsconfig.json'
- '**.js'
- '**.ts'
- '**.vue'
- '**.handlebars'
versions:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
outputs:
nodeVersion: ${{ steps.versions.outputs.nodeVersion }}
npmVersion: ${{ steps.versions.outputs.npmVersion }}
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1
id: versions
with:
fallbackNode: '^20'
fallbackNpm: '^9'
test:
runs-on: ubuntu-latest
needs: [versions, changes]
if: ${{ needs.versions.result != 'failure' && needs.changes.outputs.src != 'false' }}
env:
CYPRESS_INSTALL_BINARY: 0
PUPPETEER_SKIP_DOWNLOAD: true
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
- name: Set up node ${{ needs.versions.outputs.nodeVersion }}
uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65
with:
node-version: ${{ needs.versions.outputs.nodeVersion }}
- name: Set up npm ${{ needs.versions.outputs.npmVersion }}
run: npm i -g npm@"${{ needs.versions.outputs.npmVersion }}"
- name: Install dependencies
run: npm ci
- name: Show cypress version
run: npm run cypress:version
- name: Test and process coverage
run: npm run test:coverage
- name: Collect coverage
uses: codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4
with:
files: ./coverage/lcov.info
jsunit:
runs-on: ubuntu-latest
needs: [versions, changes]
if: ${{ needs.versions.result != 'failure' && needs.changes.outputs.src != 'false' }}
env:
CYPRESS_INSTALL_BINARY: 0
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
- name: Set up node ${{ needs.versions.outputs.nodeVersion }}
uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65
with:
node-version: ${{ needs.versions.outputs.nodeVersion }}
- name: Set up npm ${{ needs.versions.outputs.npmVersion }}
run: npm i -g npm@"${{ needs.versions.outputs.npmVersion }}"
- name: Install dependencies
run: npm ci
- name: Show cypress version
run: npm run cypress:version
- name: Test
run: npm run test:jsunit
handlebars:
runs-on: ubuntu-latest
needs: [versions, changes]
if: ${{ needs.versions.result != 'failure' && needs.changes.outputs.src != 'false' }}
env:
CYPRESS_INSTALL_BINARY: 0
PUPPETEER_SKIP_DOWNLOAD: true
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
- name: Set up node ${{ needs.versions.outputs.nodeVersion }}
uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65
with:
node-version: ${{ needs.versions.outputs.nodeVersion }}
- name: Set up npm ${{ needs.versions.outputs.npmVersion }}
run: npm i -g npm@"${{ needs.versions.outputs.npmVersion }}"
- name: Install dependencies
run: npm ci
- name: Show cypress version
run: npm run cypress:version
- name: Run compile
run: ./build/compile-handlebars-templates.sh
summary:
permissions:
contents: none
runs-on: ubuntu-latest
needs: [changes, test, jsunit, handlebars]
if: always()
name: node-test-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.test.result != 'success' && needs.jsunit.result != 'success' && needs.handlebars.result != 'success' }}; then exit 1; fi
+13 -30
View File
@@ -2,13 +2,11 @@
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2021-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Node
on: pull_request
on:
pull_request:
permissions:
contents: read
@@ -19,16 +17,13 @@ concurrency:
jobs:
changes:
runs-on: ubuntu-latest-low
permissions:
contents: read
pull-requests: read
runs-on: ubuntu-latest
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@4512585405083f25c027a35db413c2b3b9006d50 # v2.11.1
id: changes
continue-on-error: true
with:
@@ -37,15 +32,12 @@ jobs:
- '.github/workflows/**'
- '**/src/**'
- '**/appinfo/info.xml'
- 'core/css/*'
- 'core/img/**'
- 'package.json'
- '**/package-lock.json'
- 'package-lock.json'
- 'tsconfig.json'
- '**.js'
- '**.ts'
- '**.vue'
- 'version.php'
build:
runs-on: ubuntu-latest
@@ -56,31 +48,22 @@ jobs:
name: NPM build
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v3.6.0
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
id: versions
with:
fallbackNode: '^24'
fallbackNpm: '^11.3'
fallbackNode: '^20'
fallbackNpm: '^9'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v4.0.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}'
# This does not work on server as we have some git dependencies that "npm-package-lock-add-resolved" cannot handle
# - name: Validate package-lock.json # See https://github.com/npm/cli/issues/4460
# run: |
# npm i -g npm-package-lock-add-resolved@1.1.4
# npm-package-lock-add-resolved
# git --no-pager diff --exit-code
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"
- name: Install dependencies & build
env:
@@ -90,7 +73,7 @@ jobs:
npm ci
npm run build --if-present
- name: Check build changes
- name: Check webpack build changes
run: |
bash -c "[[ ! \"`git status --porcelain `\" ]] || (echo 'Please recompile and commit the assets, see the section \"Show changes on failure\" for details' && exit 1)"
@@ -104,7 +87,7 @@ jobs:
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
runs-on: ubuntu-latest
needs: [changes, build]
if: always()
+17 -28
View File
@@ -2,9 +2,6 @@
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Npm audit fix and compile
@@ -14,9 +11,6 @@ on:
# At 2:30 on Sundays
- cron: '30 2 * * 0'
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
@@ -24,62 +18,57 @@ jobs:
strategy:
fail-fast: false
matrix:
branches:
- ${{ github.event.repository.default_branch }}
- 'stable33'
- 'stable32'
- 'stable31'
branches: ["main", "master", "stable27", "stable26", "stable25", "stable24"]
name: npm-audit-fix-${{ matrix.branches }}
steps:
- name: Checkout
id: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v3.6.0
with:
persist-credentials: false
ref: ${{ matrix.branches }}
continue-on-error: true
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
id: versions
with:
fallbackNode: '^24'
fallbackNpm: '^11.3'
fallbackNode: '^20'
fallbackNpm: '^9'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v4.0.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}'
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"
- name: Fix npm audit
id: npm-audit
uses: nextcloud-libraries/npm-audit-action@1b1728b2b4a7a78d69de65608efcf4db0e3e42d0 # v0.2.0
run: |
npm audit fix
- name: Run npm ci and npm run build
if: steps.checkout.outcome == 'success'
if: always()
env:
CYPRESS_INSTALL_BINARY: 0
PUPPETEER_SKIP_DOWNLOAD: true
run: |
npm ci
npm run build --if-present
- name: Create Pull Request
if: steps.checkout.outcome == 'success'
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v8.1.0
if: always()
uses: peter-evans/create-pull-request@153407881ec5c347639a548ade7d8ad1d6740e38 # v5
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: 'fix(deps): Fix npm audit'
commit-message: "chore(deps): fix npm audit"
committer: GitHub <noreply@github.com>
author: nextcloud-command <nextcloud-command@users.noreply.github.com>
signoff: true
branch: automated/noid/${{ matrix.branches }}-fix-npm-audit
title: '[${{ matrix.branches }}] Fix npm audit'
body: ${{ steps.npm-audit.outputs.markdown }}
title: "[${{ matrix.branches }}] Fix npm audit"
body: |
Auto-generated fix of npm audit
labels: |
dependencies
3. to review
-145
View File
@@ -1,145 +0,0 @@
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Object storage azure
on:
pull_request:
schedule:
- cron: "15 2 * * *"
permissions:
contents: read
concurrency:
group: object-storage-azure-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- 'apps/files/lib/**'
- 'apps/files/tests/**'
- 'apps/files_external/**'
- 'apps/files_sharing/lib/**'
- 'apps/files_sharing/tests/**'
- 'apps/files_trashbin/lib/**'
- 'apps/files_trashbin/tests/**'
- 'apps/files_versions/lib/**'
- 'apps/files_versions/tests/**'
- 'lib/private/Files/**'
- 'lib/public/Files/**'
- 'tests/lib/Files/**'
azure-primary-tests:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
fail-fast: false
matrix:
php-versions: ['8.2', '8.3']
include:
- php-versions: '8.4'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-azure
services:
azurite:
image: mcr.microsoft.com/azure-storage/azurite@sha256:0a47e12e3693483cef5c71f35468b91d751611f172d2f97414e9c69113b106d9 # v3.34.0
env:
AZURITE_ACCOUNTS: nextcloud:bmV4dGNsb3Vk
ports:
- 10000:10000
options: --health-cmd="nc 127.0.0.1 10000 -z" --health-interval=1s --health-retries=30
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
env:
OBJECT_STORE: azure
OBJECT_STORE_KEY: nextcloud
OBJECT_STORE_SECRET: bmV4dGNsb3Vk
run: |
composer install
cp tests/redis.config.php config/
cp tests/preseed-config.php config/config.php
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
php -f tests/enable_all.php
- name: PHPUnit
env:
OBJECT_STORE: azure
OBJECT_STORE_KEY: nextcloud
OBJECT_STORE_SECRET: bmV4dGNsb3Vk
run: composer run test -- --group PRIMARY-azure --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.xml
flags: phpunit-azure
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-azure
- name: Azurite logs
if: always()
run: |
docker ps -a
docker ps -aq | while read container ; do IMAGE=$(docker inspect --format='{{.Config.Image}}' $container); echo $IMAGE; docker logs $container; echo "\n\n" ; done
azure-primary-summary:
runs-on: ubuntu-latest-low
needs: [changes, azure-primary-tests]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.azure-primary-tests.result != 'success' }}; then exit 1; fi
-151
View File
@@ -1,151 +0,0 @@
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Object storage S3
on:
pull_request:
schedule:
- cron: "15 2 * * *"
permissions:
contents: read
concurrency:
group: object-storage-s3-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- 'apps/files/lib/**'
- 'apps/files/tests/**'
- 'apps/files_external/**'
- 'apps/files_sharing/lib/**'
- 'apps/files_sharing/tests/**'
- 'apps/files_trashbin/lib/**'
- 'apps/files_trashbin/tests/**'
- 'apps/files_versions/lib/**'
- 'apps/files_versions/tests/**'
- 'lib/private/Files/**'
- 'lib/public/Files/**'
- 'tests/lib/Files/**'
s3-primary-tests-minio:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
fail-fast: false
matrix:
php-versions: ['8.2']
include:
- php-versions: '8.3'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-s3
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
minio:
image: bitnami/minio@sha256:50cec18ac4184af4671a78aedd5554942c8ae105d51a465fa82037949046da01 # v2025.4.22
env:
MINIO_ROOT_USER: nextcloud
MINIO_ROOT_PASSWORD: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
MINIO_DEFAULT_BUCKETS: nextcloud
ports:
- "9000:9000"
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
env:
OBJECT_STORE: s3
OBJECT_STORE_KEY: nextcloud
OBJECT_STORE_SECRET: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
run: |
composer install
cp tests/redis.config.php config/
cp tests/preseed-config.php config/config.php
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
php -f tests/enable_all.php
- name: Wait for S3
run: |
sleep 10
curl -f -m 1 --retry-connrefused --retry 10 --retry-delay 10 http://localhost:9000/minio/health/ready
- name: PHPUnit
env:
OBJECT_STORE: s3
OBJECT_STORE_KEY: nextcloud
OBJECT_STORE_SECRET: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
run: composer run test -- --group PRIMARY-s3 --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.xml
flags: phpunit-s3
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-s3
- name: S3 logs
if: always()
run: |
docker ps -a
docker ps -aq | while read container ; do IMAGE=$(docker inspect --format='{{.Config.Image}}' $container); echo $IMAGE; docker logs $container; echo "\n\n" ; done
s3-primary-summary:
runs-on: ubuntu-latest-low
needs: [changes,s3-primary-tests-minio]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.s3-primary-tests-minio.result != 'success' }}; then exit 1; fi
-141
View File
@@ -1,141 +0,0 @@
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Object storage Swift
on:
pull_request:
schedule:
- cron: "15 2 * * *"
permissions:
contents: read
concurrency:
group: object-storage-swift-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- 'apps/files/lib/**'
- 'apps/files/tests/**'
- 'apps/files_external/**'
- 'apps/files_sharing/lib/**'
- 'apps/files_sharing/tests/**'
- 'apps/files_trashbin/lib/**'
- 'apps/files_trashbin/tests/**'
- 'apps/files_versions/lib/**'
- 'apps/files_versions/tests/**'
- 'lib/private/Files/**'
- 'lib/public/Files/**'
- 'tests/lib/Files/**'
swift-primary-tests:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
fail-fast: false
matrix:
php-versions: ['8.2']
include:
- php-versions: '8.3'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-swift
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
swift:
image: ghcr.io/cscfi/docker-keystone-swift@sha256:e8b1ec21120ab9adc6ac6a2b98785fd273676439a8633fe898e37f2aea7e0712
ports:
- 5000:5000
- 8080:8080
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
env:
OBJECT_STORE: swift
OBJECT_STORE_SECRET: veryfast
run: |
composer install
cp tests/redis.config.php config/
cp tests/preseed-config.php config/config.php
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
php -f tests/enable_all.php
- name: PHPUnit
env:
OBJECT_STORE: swift
OBJECT_STORE_SECRET: veryfast
run: composer run test -- --group PRIMARY-swift --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.xml
flags: phpunit-swift
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-swift
- name: Swift logs
if: always()
run: |
docker ps -a
docker ps -aq | while read container ; do IMAGE=$(docker inspect --format='{{.Config.Image}}' $container); echo $IMAGE; docker logs $container; echo "\n\n" ; done
swift-primary-summary:
runs-on: ubuntu-latest-low
needs: [changes,swift-primary-tests]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.swift-primary-tests.result != 'success' }}; then exit 1; fi
+6 -21
View File
@@ -1,18 +1,7 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-FileCopyrightText: 2024 Arthur Schiwon <blizzz@arthur-schiwon.de>
# SPDX-License-Identifier: MIT
name: OpenAPI
on: pull_request
permissions:
contents: read
on:
pull_request:
concurrency:
group: openapi-${{ github.head_ref || github.run_id }}
@@ -26,22 +15,18 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
- name: Set up php
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
extensions: ctype, curl, dom, fileinfo, gd, json, libxml, mbstring, openssl, pcntl, pdo, posix, session, simplexml, xml, xmlreader, xmlwriter, zip, zlib
extensions: xml
coverage: none
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
- name: Composer install
run: composer i
- name: OpenAPI checker
+15 -32
View File
@@ -1,12 +1,7 @@
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Performance testing
on:
pull_request:
permissions:
contents: read
concurrency:
group: performance-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
@@ -17,36 +12,25 @@ jobs:
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
permissions:
pull-requests: write
strategy:
fail-fast: false
matrix:
php-versions: ['8.2']
php-versions: ['8.0']
name: performance-${{ matrix.php-versions }}
steps:
- name: Disabled on forks
if: ${{ github.event.pull_request.head.repo.full_name != github.repository }}
run: |
echo 'Can not run performance tests on forks'
exit 1
- name: Checkout server before PR
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
persist-credentials: false
submodules: true
ref: ${{ github.event.pull_request.base.ref }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
uses: shivammathur/setup-php@c5fc0d8281aba02c7fda07d3a70cc5371548067d #v2.25.2
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
extensions: mbstring, fileinfo, intl, sqlite, pdo_sqlite, zip, gd
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -57,13 +41,12 @@ jobs:
php -S localhost:8080 &
- name: Apply blueprint
uses: icewind1991/blueprint@00504403f76cb2a09efd0d16793575055e6f63cb # v0.1.2
uses: icewind1991/blueprint@v0.1.2
with:
blueprint: tests/blueprints/basic.toml
ref: ${{ github.event.pull_request.head.ref }}
- name: Run before measurements
uses: nextcloud/profiler@6a74c915048285b35b8e1cd96c0835a635945044
uses: nextcloud/profiler@1e66a9de5f76a01e9d1db4f0153bcc1cbf989b3d
with:
run: |
curl -s -X PROPFIND -u test:test http://localhost:8080/remote.php/dav/files/test
@@ -72,20 +55,20 @@ jobs:
curl -s -u test:test -T README.md http://localhost:8080/remote.php/dav/files/test/new_file.txt
curl -s -u test:test -X DELETE http://localhost:8080/remote.php/dav/files/test/new_file.txt
output: before.json
profiler-branch: master
profiler-branch: stable28
- name: Apply PR # zizmor: ignore[template-injection]
- name: Apply PR
run: |
git remote add pr '${{ github.event.pull_request.head.repo.clone_url }}'
git fetch pr '${{ github.event.pull_request.head.ref }}'
git checkout -b 'pr/${{ github.event.pull_request.head.ref }}'
git remote add pr ${{ github.event.pull_request.head.repo.clone_url }}
git fetch pr ${{ github.event.pull_request.head.ref }}
git checkout -b pr/${{ github.event.pull_request.head.ref }}
git submodule update
./occ upgrade
- name: Run after measurements
id: compare
uses: nextcloud/profiler@6a74c915048285b35b8e1cd96c0835a635945044
uses: nextcloud/profiler@1e66a9de5f76a01e9d1db4f0153bcc1cbf989b3d
with:
run: |
curl -s -X PROPFIND -u test:test http://localhost:8080/remote.php/dav/files/test
@@ -94,19 +77,19 @@ jobs:
curl -s -u test:test -T README.md http://localhost:8080/remote.php/dav/files/test/new_file.txt
curl -s -u test:test -X DELETE http://localhost:8080/remote.php/dav/files/test/new_file.txt
output: after.json
profiler-branch: master
profiler-branch: stable28
compare-with: before.json
- name: Upload profiles
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f
uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32
with:
name: profiles
path: |
before.json
after.json
- uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v7
- uses: actions/github-script@v7
if: failure() && steps.compare.outcome == 'failure'
with:
github-token: ${{secrets.GITHUB_TOKEN}}
+29 -24
View File
@@ -1,14 +1,10 @@
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit 32bits
on:
pull_request:
paths:
- "version.php"
- ".github/workflows/phpunit-32bits.yml"
- "tests/phpunit-autotest.xml"
- "lib/private/Snowflake/*"
- 'version.php'
- '.github/workflows/phpunit-32bits.yml'
workflow_dispatch:
schedule:
- cron: "15 1 * * 1-6"
@@ -26,34 +22,43 @@ jobs:
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
container: shivammathur/node:latest-i386
strategy:
fail-fast: false
matrix:
php-versions: ["8.4"]
php-versions: ['8.0','8.3']
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
persist-credentials: false
submodules: true
- name: Set up dependencies
uses: docker://ghcr.io/nextcloud/continuous-integration-php8.4-32bit:latest
- name: Install tools
run: |
sudo apt-get update
sudo apt-get install -y ffmpeg imagemagick libmagickcore-6.q16-3-extra
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@72ae4ccbe57f82bbe08411e84e2130bd4ba1c10f #v2.25.5
with:
args: /bin/sh -c "
git config --global --add safe.directory /github/workspace &&
composer install --no-interaction"
php-version: ${{ matrix.php-versions }}
extensions: ctype, curl, dom, fileinfo, gd, imagick, intl, json, mbstring, openssl, pdo_sqlite, posix, sqlite, xml, zip, apcu
coverage: none
ini-file: development
ini-values:
apc.enabled=on, apc.enable_cli=on, disable_functions= # https://github.com/shivammathur/setup-php/discussions/573
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
uses: docker://ghcr.io/nextcloud/continuous-integration-php8.4-32bit:latest
with:
args: /bin/sh -c "
mkdir data &&
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-user=autotest --database-pass=rootpassword --admin-user admin --admin-pass admin &&
php -f tests/enable_all.php"
env:
DB_PORT: 4444
run: |
composer install
mkdir data
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-port=$DB_PORT --database-user=autotest --database-pass=rootpassword --admin-user admin --admin-pass admin
php -f index.php
- name: PHPUnit
uses: docker://ghcr.io/nextcloud/continuous-integration-php8.4-32bit:latest
with:
args: /bin/sh -c "composer run test -- --exclude-group PRIMARY-azure,PRIMARY-s3,PRIMARY-swift,Memcached,Redis,RoutingWeirdness"
run: composer run test -- --exclude-group PRIMARY-azure,PRIMARY-s3,PRIMARY-swift,Memcached,Redis,RoutingWeirdness
-158
View File
@@ -1,158 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit MariaDB
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: phpunit-mariadb-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
permissions:
contents: read
pull-requests: read
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
phpunit-mariadb:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
strategy:
fail-fast: false
matrix:
php-versions: ['8.2']
mariadb-versions: ['10.6']
include:
- php-versions: '8.3'
mariadb-versions: '10.11'
coverage: ${{ github.event_name != 'pull_request' }}
- php-versions: '8.4'
mariadb-versions: '11.4'
- php-versions: '8.5'
mariadb-versions: '11.8'
name: MariaDB ${{ matrix.mariadb-versions }} (PHP ${{ matrix.php-versions }}) - database tests
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
mariadb:
image: mariadb:${{ matrix.mariadb-versions }}
ports:
- 4444:3306/tcp
env:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_USER: oc_autotest
MYSQL_PASSWORD: nextcloud
MYSQL_DATABASE: oc_autotest
options: --health-cmd="${{ matrix.mariadb-versions <= 10.4 && 'mysqladmin' || 'mariadb-admin'}} ping" --health-interval 5s --health-timeout 2s --health-retries 5
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, mysql, pdo_mysql
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
run: composer i
- name: Enable ONLY_FULL_GROUP_BY MariaDB option
run: |
echo "SET GLOBAL sql_mode=(SELECT CONCAT(@@sql_mode,',ONLY_FULL_GROUP_BY'));" | mysql -h 127.0.0.1 -P 4444 -u root -prootpassword
echo 'SELECT @@sql_mode;' | mysql -h 127.0.0.1 -P 4444 -u root -prootpassword
- name: Set up Nextcloud
env:
DB_PORT: 4444
run: |
mkdir data
cp tests/redis.config.php config/
cp tests/preseed-config.php config/config.php
./occ maintenance:install --verbose --database=mysql --database-name=nextcloud --database-host=127.0.0.1 --database-port=$DB_PORT --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
php -f tests/enable_all.php
- name: PHPUnit
run: composer run test:db -- --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.db.xml' || '' }}
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.db.xml
flags: phpunit-mariadb
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-mariadb
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, phpunit-mariadb]
if: always()
name: phpunit-mariadb-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.phpunit-mariadb.result != 'success' }}; then exit 1; fi
-135
View File
@@ -1,135 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit memcached
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: phpunit-memcached-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
phpunit-memcached:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
strategy:
fail-fast: false
matrix:
php-versions: ['8.3', '8.4', '8.5']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
name: Memcached (PHP ${{ matrix.php-versions }})
services:
memcached:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
ports:
- 11212:11212/tcp
- 11212:11212/udp
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, memcached, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
run: composer i
- name: Set up Nextcloud
run: |
mkdir data
cp tests/preseed-config.php config/config.php
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
php -f tests/enable_all.php
- name: PHPUnit memcached tests
run: composer run test -- --group Memcache --group Memcached --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.xml
flags: phpunit-memcached
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-memcached
- name: Print logs
if: always()
run: |
cat data/nextcloud.log
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, phpunit-memcached]
if: always()
name: phpunit-memcached-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.phpunit-memcached.result != 'success' }}; then exit 1; fi
@@ -1,193 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2022-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit sharding
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: phpunit-mysql-sharding-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
phpunit-mysql:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
strategy:
fail-fast: false
matrix:
php-versions: ['8.2']
mysql-versions: ['8.4']
name: Sharding - MySQL ${{ matrix.mysql-versions }} (PHP ${{ matrix.php-versions }}) - database tests
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
mysql:
image: ghcr.io/nextcloud/continuous-integration-mysql-${{ matrix.mysql-versions }}:latest # zizmor: ignore[unpinned-images]
ports:
- 4444:3306/tcp
env:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_USER: oc_autotest
MYSQL_PASSWORD: nextcloud
MYSQL_DATABASE: oc_autotest
options: --health-cmd="mysqladmin ping" --health-interval 5s --health-timeout 2s --health-retries 10
shard1:
image: ghcr.io/nextcloud/continuous-integration-mysql-${{ matrix.mysql-versions }}:latest # zizmor: ignore[unpinned-images]
ports:
- 5001:3306/tcp
env:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_USER: oc_autotest
MYSQL_PASSWORD: nextcloud
MYSQL_DATABASE: nextcloud
options: --health-cmd="mysqladmin ping" --health-interval 5s --health-timeout 2s --health-retries 10
shard2:
image: ghcr.io/nextcloud/continuous-integration-mysql-${{ matrix.mysql-versions }}:latest # zizmor: ignore[unpinned-images]
ports:
- 5002:3306/tcp
env:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_USER: oc_autotest
MYSQL_PASSWORD: nextcloud
MYSQL_DATABASE: nextcloud
options: --health-cmd="mysqladmin ping" --health-interval 5s --health-timeout 2s --health-retries 10
shard3:
image: ghcr.io/nextcloud/continuous-integration-mysql-${{ matrix.mysql-versions }}:latest # zizmor: ignore[unpinned-images]
ports:
- 5003:3306/tcp
env:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_USER: oc_autotest
MYSQL_PASSWORD: nextcloud
MYSQL_DATABASE: nextcloud
options: --health-cmd="mysqladmin ping" --health-interval 5s --health-timeout 2s --health-retries 10
shard4:
image: ghcr.io/nextcloud/continuous-integration-mysql-${{ matrix.mysql-versions }}:latest # zizmor: ignore[unpinned-images]
ports:
- 5004:3306/tcp
env:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_USER: oc_autotest
MYSQL_PASSWORD: nextcloud
MYSQL_DATABASE: nextcloud
options: --health-cmd="mysqladmin ping" --health-interval 5s --health-timeout 2s --health-retries 10
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, mysql, pdo_mysql
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
run: composer i
- name: Enable ONLY_FULL_GROUP_BY MySQL option
run: |
echo "SET GLOBAL sql_mode=(SELECT CONCAT(@@sql_mode,',ONLY_FULL_GROUP_BY'));" | mysql -h 127.0.0.1 -P 4444 -u root -prootpassword
echo "SELECT @@sql_mode;" | mysql -h 127.0.0.1 -P 4444 -u root -prootpassword
- name: Set up Nextcloud
env:
DB_PORT: 4444
SHARDING: 1
run: |
mkdir data
cp tests/redis.config.php config/
cp tests/preseed-config.php config/config.php
./occ maintenance:install --verbose --database=mysql --database-name=nextcloud --database-host=127.0.0.1 --database-port=$DB_PORT --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
php -f tests/enable_all.php
- name: PHPUnit
run: composer run test:db -- --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.db.xml' || '' }}
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.db.xml
flags: phpunit-mysql
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-mysql
- name: Print logs
if: always()
run: |
cat data/nextcloud.log
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, phpunit-mysql]
if: always()
name: phpunit-mysql-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.phpunit-mysql.result != 'success' }}; then exit 1; fi
-163
View File
@@ -1,163 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2022-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit mysql
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: phpunit-mysql-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
permissions:
contents: read
pull-requests: read
outputs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
phpunit-mysql:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
strategy:
fail-fast: false
matrix:
php-versions: ['8.2']
mysql-versions: ['8.0']
include:
- mysql-versions: '8.0'
php-versions: '8.3'
coverage: ${{ github.event_name != 'pull_request' }}
- mysql-versions: '8.4'
php-versions: '8.4'
- mysql-versions: '8.4'
php-versions: '8.5'
name: MySQL ${{ matrix.mysql-versions }} (PHP ${{ matrix.php-versions }}) - database tests
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
mysql:
image: ghcr.io/nextcloud/continuous-integration-mysql-${{ matrix.mysql-versions }}:latest # zizmor: ignore[unpinned-images]
ports:
- 4444:3306/tcp
env:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_USER: oc_autotest
MYSQL_PASSWORD: nextcloud
MYSQL_DATABASE: oc_autotest
options: --health-cmd="mysqladmin ping" --health-interval 5s --health-timeout 2s --health-retries 10
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, mysql, pdo_mysql
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
run: composer i
- name: Enable ONLY_FULL_GROUP_BY MySQL option
run: |
echo "SET GLOBAL sql_mode=(SELECT CONCAT(@@sql_mode,',ONLY_FULL_GROUP_BY'));" | mysql -h 127.0.0.1 -P 4444 -u root -prootpassword
echo "SELECT @@sql_mode;" | mysql -h 127.0.0.1 -P 4444 -u root -prootpassword
- name: Set up Nextcloud
env:
DB_PORT: 4444
run: |
mkdir data
cp tests/redis.config.php config/
cp tests/preseed-config.php config/config.php
./occ maintenance:install --verbose --database=mysql --database-name=nextcloud --database-host=127.0.0.1 --database-port=$DB_PORT --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
php -f tests/enable_all.php
- name: PHPUnit
run: composer run test:db -- --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.db.xml' || '' }}
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.db.xml
flags: phpunit-mysql
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-mysql
- name: Print logs
if: always()
run: |
cat data/nextcloud.log
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, phpunit-mysql]
if: always()
name: phpunit-mysql-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.phpunit-mysql.result != 'success' }}; then exit 1; fi
-141
View File
@@ -1,141 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
#
# This is the testsuite running all non-database agnostic unit tests
name: PHPUnit nodb
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: phpunit-nodb-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'resources/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
phpunit-nodb:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
strategy:
fail-fast: false
matrix:
php-versions: ['8.3', '8.4', '8.5']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
name: No DB unit tests (PHP ${{ matrix.php-versions }})
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, imagick, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
# Required for tests that use pcntl
ini-values: disable_functions=""
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
run: composer i
- name: Set up Nextcloud
run: |
mkdir data
cp tests/redis.config.php config/
cp tests/preseed-config.php config/config.php
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
php -f tests/enable_all.php
- name: PHPUnit nodb testsuite
run: composer run test -- --exclude-group DB --exclude-group SLOWDB --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.nodb.xml' || '' }}
- name: Upload nodb code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.nodb.xml
flags: phpunit-nodb
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-nodb
- name: Print logs
if: always()
run: |
cat data/nextcloud.log
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, phpunit-nodb]
if: always()
name: phpunit-nodb-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.phpunit-nodb.result != 'success' }}; then exit 1; fi
@@ -1,125 +0,0 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit primary object store
on:
pull_request:
schedule:
- cron: "15 2 * * *"
permissions:
contents: read
concurrency:
group: phpunit-object-store-primary-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
object-store-primary-tests-minio:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
fail-fast: false
matrix:
php-versions: ['8.2']
key: ['s3', 's3-multibucket']
name: php${{ matrix.php-versions }}-${{ matrix.key }}-minio
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
minio:
image: bitnami/minio@sha256:50cec18ac4184af4671a78aedd5554942c8ae105d51a465fa82037949046da01 # v2025.4.22
env:
MINIO_ROOT_USER: nextcloud
MINIO_ROOT_PASSWORD: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
MINIO_DEFAULT_BUCKETS: nextcloud
ports:
- "9000:9000"
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
env:
OBJECT_STORE: ${{ matrix.key }}
OBJECT_STORE_KEY: nextcloud
OBJECT_STORE_SECRET: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
run: |
composer install
cp tests/redis.config.php config/
cp tests/preseed-config.php config/config.php
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
php -f tests/enable_all.php
- name: Wait for S3
run: |
sleep 10
curl -f -m 1 --retry-connrefused --retry 10 --retry-delay 10 http://localhost:9000/minio/health/ready
- name: PHPUnit
run: composer run test:db
- name: S3 logs
if: always()
run: |
cat data/nextcloud.log
docker ps -a
docker ps -aq | while read container ; do IMAGE=$(docker inspect --format='{{.Config.Image}}' $container); echo $IMAGE; docker logs $container; echo "\n\n" ; done
object-store-primary-summary:
runs-on: ubuntu-latest-low
needs: [changes,object-store-primary-tests-minio]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.object-store-primary-tests-minio.result != 'success' }}; then exit 1; fi
+24 -77
View File
@@ -1,17 +1,7 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2022-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit OCI
name: PHPUnit oci
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
@@ -22,16 +12,13 @@ concurrency:
jobs:
changes:
runs-on: ubuntu-latest-low
permissions:
contents: read
pull-requests: read
runs-on: ubuntu-latest
outputs:
src: ${{ steps.changes.outputs.src }}
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
- uses: dorny/paths-filter@4512585405083f25c027a35db413c2b3b9006d50 # v2.11.1
id: changes
continue-on-error: true
with:
@@ -39,109 +26,69 @@ jobs:
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '**/vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
phpunit-oci:
runs-on: ubuntu-latest
runs-on: ubuntu-20.04
needs: changes
if: ${{ needs.changes.outputs.src != 'false' && github.repository_owner != 'nextcloud-gmbh' }}
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
strategy:
fail-fast: false
matrix:
include:
- oracle-versions: '18'
php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
- oracle-versions: '21'
php-versions: '8.3'
- oracle-versions: '23'
php-versions: '8.4'
- oracle-versions: '23'
php-versions: '8.5'
name: Oracle ${{ matrix.oracle-versions }} (PHP ${{ matrix.php-versions }}) - database tests
php-versions: ['8.0', '8.1', '8.2']
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
oracle:
image: ghcr.io/gvenzl/oracle-${{ matrix.oracle-versions < 23 && 'xe' || 'free' }}:${{ matrix.oracle-versions }}
image: ghcr.io/gvenzl/oracle-xe:11
# Provide passwords and other environment variables to container
env:
ORACLE_PASSWORD: oracle
ORACLE_RANDOM_PASSWORD: true
APP_USER: autotest
APP_USER_PASSWORD: owncloud
# Forward Oracle port
ports:
- 1521:1521
- 1521:1521/tcp
# Provide healthcheck script options for startup
options: >-
--health-cmd healthcheck.sh
--health-interval 20s
--health-timeout 10s
--health-interval 10s
--health-timeout 5s
--health-retries 10
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
uses: shivammathur/setup-php@c5fc0d8281aba02c7fda07d3a70cc5371548067d #v2.25.2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, oci8
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
extensions: ctype, curl, dom, fileinfo, gd, imagick, intl, json, mbstring, oci8, openssl, pcntl, pdo_sqlite, posix, sqlite, xml, zip
coverage: none
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
run: composer i
- name: Set up Nextcloud
run: |
composer install
mkdir data
cp tests/redis.config.php config/
cp tests/preseed-config.php config/config.php
./occ maintenance:install --verbose --database=oci --database-name=${{ matrix.oracle-versions < 23 && 'XE' || 'FREE' }} --database-host=127.0.0.1 --database-port=1521 --database-user=system --database-pass=oracle --admin-user admin --admin-pass admin
php -f tests/enable_all.php
./occ maintenance:install --verbose --database=oci --database-name=XE --database-host=127.0.0.1 --database-port=1521 --database-user=autotest --database-pass=owncloud --admin-user admin --admin-pass admin
php -f index.php
- name: PHPUnit
run: composer run test:db -- --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.db.xml' || '' }}
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.db.xml
flags: phpunit-oci
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-oci
run: composer run test:db
- name: Run repair steps
run: |
@@ -150,7 +97,7 @@ jobs:
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
runs-on: ubuntu-latest
needs: [changes, phpunit-oci]
if: always()
-162
View File
@@ -1,162 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2022-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit PostgreSQL
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: phpunit-pgsql-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
permissions:
contents: read
pull-requests: read
outputs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
phpunit-pgsql:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
strategy:
fail-fast: false
matrix:
php-versions: ['8.2']
# To keep the matrix smaller we ignore PostgreSQL versions in between as we already test the minimum and the maximum
postgres-versions: ['14']
include:
- php-versions: '8.3'
postgres-versions: '18'
coverage: ${{ github.event_name != 'pull_request' }}
- php-versions: '8.4'
postgres-versions: '18'
- php-versions: '8.5'
postgres-versions: '18'
name: PostgreSQL ${{ matrix.postgres-versions }} (PHP ${{ matrix.php-versions }}) - database tests
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
postgres:
image: ghcr.io/nextcloud/continuous-integration-postgres-${{ matrix.postgres-versions }}:latest # zizmor: ignore[unpinned-images]
ports:
- 4444:5432/tcp
env:
POSTGRES_USER: root
POSTGRES_PASSWORD: rootpassword
POSTGRES_DB: nextcloud
options: --mount type=tmpfs,destination=/var/lib/postgresql --health-cmd pg_isready --health-interval 5s --health-timeout 2s --health-retries 5
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, pgsql, pdo_pgsql
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
run: composer i
- name: Set up Nextcloud
env:
DB_PORT: 4444
run: |
mkdir data
cp tests/redis.config.php config/
cp tests/preseed-config.php config/config.php
./occ maintenance:install --verbose --database=pgsql --database-name=nextcloud --database-host=127.0.0.1 --database-port=$DB_PORT --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
php -f tests/enable_all.php
- name: PHPUnit database tests
run: composer run test:db -- --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.db.xml' || '' }}
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.db.xml
flags: phpunit-postgres
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-postgres
- name: Run repair steps
run: |
./occ maintenance:repair --include-expensive
- name: Print logs
if: always()
run: |
cat data/nextcloud.log
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, phpunit-pgsql]
if: always()
name: phpunit-pgsql-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.phpunit-pgsql.result != 'success' }}; then exit 1; fi
-147
View File
@@ -1,147 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2022-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit SQLite
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: phpunit-sqlite-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
permissions:
contents: read
pull-requests: read
outputs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
phpunit-sqlite:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
strategy:
fail-fast: false
matrix:
php-versions: ['8.3', '8.4', '8.5']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
name: SQLite (PHP ${{ matrix.php-versions }})
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, imagick, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
run: |
sudo apt-get update
sudo apt-get install -y ghostscript
composer i
- name: Set up Nextcloud
run: |
mkdir data
cp tests/redis.config.php config/
cp tests/preseed-config.php config/config.php
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
php -f tests/enable_all.php
- name: Nextcloud debug information
run: ./occ app:list && echo "======= System config =======" && ./occ config:list system
- name: PHPUnit database tests
run: composer run test:db -- --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.db.xml' || '' }} tests/lib/Preview/PostscriptTest.php
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.db.xml
flags: phpunit-sqlite
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-sqlite
- name: Print logs
if: always()
run: |
gs --version
cat /etc/ImageMagick-6/policy.xml
cat data/nextcloud.log
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, phpunit-sqlite]
if: always()
name: phpunit-sqlite-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.phpunit-sqlite.result != 'success' }}; then exit 1; fi
+7 -33
View File
@@ -1,55 +1,29 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
# SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-FileCopyrightText: 2023 Marcel Klehr <mklehr@gmx.net>
# SPDX-FileCopyrightText: 2023 Joas Schilling <213943+nickvergessen@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Daniel Kesselberg <mail@danielkesselberg.de>
# SPDX-FileCopyrightText: 2023 Florian Steffens <florian.steffens@nextcloud.com>
# SPDX-License-Identifier: MIT
name: 'Ask for feedback on PRs'
on:
schedule:
- cron: '30 1 * * *'
permissions:
contents: read
pull-requests: write
jobs:
pr-feedback:
if: ${{ github.repository_owner == 'nextcloud' }}
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- name: The get-github-handles-from-website action
uses: marcelklehr/get-github-handles-from-website-action@06b2239db0a48fe1484ba0bfd966a3ab81a08308 # v1.0.1
uses: marcelklehr/get-github-handles-from-website-action@a739600f6b91da4957f51db0792697afbb2f143c # v1.0.0
id: scrape
with:
website: 'https://nextcloud.com/team/'
- name: Get blocklist
id: blocklist
run: |
blocklist=$(curl https://raw.githubusercontent.com/nextcloud/.github/master/non-community-usernames.txt | paste -s -d, -)
echo "blocklist=$blocklist" >> "$GITHUB_OUTPUT"
- uses: nextcloud/pr-feedback-action@f0cab224dea8e1f282f9451de322f323c78fc7a5 # main
- uses: marcelklehr/pr-feedback-action@601109aa729eb4c8d6d0ece7567b9d4901db4aef
with:
feedback-message: |
Hello there,
Thank you so much for taking the time and effort to create a pull request to our Nextcloud project.
Thank you so much for taking the time and effort to create a pull request to our Nextcloud project.
We hope that the review process is going smooth and is helpful for you. We want to ensure your pull request is reviewed to your satisfaction. If you have a moment, our community management team would very much appreciate your feedback on your experience with this PR review process.
We hope that the reviewing process is going smooth and is helpful for you. We want to ensure your pull request is reviewed to your satisfaction. If you have a moment, our community management team would very much appreciate your feedback on your experience with this PR reviewing process.
Your feedback is valuable to us as we continuously strive to improve our community developer experience. Please take a moment to complete our short survey by clicking on the following link: https://cloud.nextcloud.com/apps/forms/s/i9Ago4EQRZ7TWxjfmeEpPkf6
Thank you for contributing to Nextcloud and we hope to hear from you soon!
(If you believe you should not receive this message, you can add yourself to the [blocklist](https://github.com/nextcloud/.github/blob/master/non-community-usernames.txt).)
days-before-feedback: 14
start-date: '2025-06-12'
exempt-authors: '${{ steps.blocklist.outputs.blocklist }},${{ steps.scrape.outputs.users }}'
start-date: "2023-07-10"
exempt-authors: "${{ steps.scrape.outputs.users }}"
exempt-bots: true
-70
View File
@@ -1,70 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Apply rector changes
on:
workflow_dispatch:
schedule:
# At 14:30 on Sundays
- cron: '30 14 * * 0'
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php-versions: [ '8.2' ]
name: rector-apply
steps:
- name: Checkout
id: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
ref: ${{ github.event.repository.default_branch }}
- name: Set up php${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: none
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install dependencies
run: |
composer remove nextcloud/ocp --dev --no-scripts
composer i
git restore lib/composer/composer
- name: Rector
run: composer run rector
- name: Create Pull Request
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v8.1.0
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: 'refactor: Apply rector changes'
committer: GitHub <noreply@github.com>
author: nextcloud-command <nextcloud-command@users.noreply.github.com>
signoff: true
branch: automated/noid/rector-changes
title: 'Apply rector changes'
labels: |
technical debt
3. to review
-45
View File
@@ -1,45 +0,0 @@
# SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
name: Rector
on:
pull_request:
permissions:
contents: read
concurrency:
group: rector-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
strict:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'push' && github.repository_owner != 'nextcloud-gmbh' }}
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
with:
php-version: '8.2'
extensions: apcu,ctype,curl,dom,fileinfo,ftp,gd,imagick,intl,json,ldap,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Composer install
run: composer i
- name: Rector
run: composer run rector:strict
- name: Show changes
if: always()
run: git diff --exit-code -- . ':!lib/composer'
-27
View File
@@ -1,27 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
# SPDX-FileCopyrightText: 2022 Free Software Foundation Europe e.V. <https://fsfe.org>
#
# SPDX-License-Identifier: CC0-1.0
name: REUSE Compliance Check
on: [pull_request]
permissions:
contents: read
jobs:
reuse-compliance-check:
runs-on: ubuntu-latest-low
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: REUSE Compliance Check
uses: fsfe/reuse-action@676e2d560c9a403aa252096d99fcab3e1132b0f5 # v6.0.0
+130
View File
@@ -0,0 +1,130 @@
name: S3 External storage
on:
pull_request:
paths:
- 'apps/files_external/**'
concurrency:
group: s3-external-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
env:
APP_NAME: files_external
jobs:
s3-external-tests-minio:
runs-on: ubuntu-latest
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
strategy:
# do not stop on another job's failure
fail-fast: false
matrix:
php-versions: ['8.0', '8.1']
name: php${{ matrix.php-versions }}-minio
services:
minio:
env:
MINIO_ACCESS_KEY: minio
MINIO_SECRET_KEY: minio123
image: bitnami/minio:2021.10.6
ports:
- "9000:9000"
steps:
- name: Checkout server
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c5fc0d8281aba02c7fda07d3a70cc5371548067d #v2.25.2
with:
php-version: ${{ matrix.php-versions }}
extensions: mbstring, fileinfo, intl, sqlite, pdo_sqlite, zip, gd
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
run: |
composer install
mkdir data
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
./occ app:enable --force ${{ env.APP_NAME }}
php -S localhost:8080 &
- name: PHPUnit
run: |
echo "<?php return ['run' => true, 'secret' => 'actually-not-secret', 'passwordsalt' => 'actually-not-secret', 'hostname' => 'localhost','key' => 'minio','secret' => 'minio123', 'bucket' => 'bucket', 'port' => 9000, 'use_ssl' => false, 'autocreate' => true, 'use_path_style' => true];" > apps/${{ env.APP_NAME }}/tests/config.amazons3.php
composer run test:files_external apps/files_external/tests/Storage/Amazons3Test.php
composer run test:files_external apps/files_external/tests/Storage/VersionedAmazonS3Test.php
- name: S3 logs
if: always()
run: |
docker ps -a
docker logs $(docker ps -aq)
s3-external-tests-localstack:
runs-on: ubuntu-latest
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
strategy:
# do not stop on another job's failure
fail-fast: false
matrix:
php-versions: ['8.0', '8.1']
name: php${{ matrix.php-versions }}-localstack
services:
minio:
env:
SERVICES: s3
DEBUG: 1
image: localstack/localstack:0.12.7
ports:
- "4566:4566"
steps:
- name: Checkout server
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c5fc0d8281aba02c7fda07d3a70cc5371548067d #v2.25.2
with:
php-version: ${{ matrix.php-versions }}
extensions: mbstring, fileinfo, intl, sqlite, pdo_sqlite, zip, gd
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
run: |
composer install
mkdir data
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
./occ app:enable --force ${{ env.APP_NAME }}
php -S localhost:8080 &
- name: PHPUnit
run: |
echo "<?php return ['run' => true,'hostname' => 'localhost','key' => 'ignored','secret' => 'ignored', 'bucket' => 'bucket', 'port' => 4566, 'use_ssl' => false, 'autocreate' => true, 'use_path_style' => true];" > apps/${{ env.APP_NAME }}/tests/config.amazons3.php
composer run test:files_external apps/files_external/tests/Storage/Amazons3Test.php
composer run test:files_external apps/files_external/tests/Storage/VersionedAmazonS3Test.php
- name: S3 logs
if: always()
run: |
docker ps -a
docker logs $(docker ps -aq)
s3-external-summary:
runs-on: ubuntu-latest
needs: [s3-external-tests-minio, s3-external-tests-localstack]
if: always()
steps:
- name: Summary status
run: if ${{ needs.s3-external-tests-minio.result != 'success' }} || ${{ needs.s3-external-tests-localstack.result != 'success' }}; then exit 1; fi
@@ -0,0 +1,95 @@
name: S3 primary storage integration tests
on:
pull_request:
paths:
- '.github/workflows/**'
- '3rdparty/**'
- '**/*.php'
- '**/lib/**'
- '**/tests/**'
- '**/vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
concurrency:
group: s3-external-integration-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
s3-primary-integration-tests-minio:
runs-on: ubuntu-20.04
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
strategy:
# do not stop on another job's failure
fail-fast: false
matrix:
php-versions: ['8.0']
key: ['objectstore', 'objectstore_multibucket']
name: php${{ matrix.php-versions }}-${{ matrix.key }}-minio
services:
redis:
image: redis
ports:
- "6379:6379"
minio:
env:
MINIO_ACCESS_KEY: minio
MINIO_SECRET_KEY: minio123
image: bitnami/minio:2021.12.29
ports:
- "9000:9000"
steps:
- name: Checkout server
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c5fc0d8281aba02c7fda07d3a70cc5371548067d #v2.25.2
with:
php-version: ${{ matrix.php-versions }}
extensions: mbstring, fileinfo, intl, sqlite, pdo_sqlite, zip, gd, redis
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Wait for S3
run: |
sleep 10
curl -f -m 1 --retry-connrefused --retry 10 --retry-delay 10 http://localhost:9000/minio/health/ready
- name: Set up Nextcloud
run: |
mkdir data
echo '<?php $CONFIG=["${{ matrix.key }}" => ["class" => "OC\Files\ObjectStore\S3", "arguments" => ["bucket" => "nextcloud", "autocreate" => true, "key" => "minio", "secret" => "minio123", "hostname" => "localhost", "port" => 9000, "use_ssl" => false, "use_path_style" => true, "uploadPartSize" => 52428800]]];' > config/config.php
echo '<?php $CONFIG=["redis" => ["host" => "localhost", "port" => 6379], "memcache.local" => "\OC\Memcache\Redis", "memcache.distributed" => "\OC\Memcache\Redis"];' > config/redis.config.php
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
php -f index.php
- name: Integration
run: |
cd build/integration
bash run.sh --tags "~@failure-s3" features/webdav-related.feature
- name: S3 logs
if: always()
run: |
cat data/nextcloud.log
docker ps -a
docker ps -aq | while read container ; do IMAGE=$(docker inspect --format='{{.Config.Image}}' $container); echo $IMAGE; docker logs $container; echo "\n\n" ; done
s3-primary-integration-summary:
runs-on: ubuntu-latest
needs: [s3-primary-integration-tests-minio]
if: always()
steps:
- name: Summary status
run: if ${{ needs.s3-primary-integration-tests-minio.result != 'success' }}; then exit 1; fi
+87
View File
@@ -0,0 +1,87 @@
name: S3 primary storage
on:
pull_request:
paths:
- '.github/workflows/**'
- '3rdparty/**'
- '**/*.php'
- '**/lib/**'
- '**/tests/**'
- '**/vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
concurrency:
group: s3-primary-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
s3-primary-tests-minio:
runs-on: ubuntu-20.04
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
strategy:
# do not stop on another job's failure
fail-fast: false
matrix:
php-versions: ['8.0']
key: ['objectstore', 'objectstore_multibucket']
name: php${{ matrix.php-versions }}-${{ matrix.key }}-minio
services:
minio:
env:
MINIO_ACCESS_KEY: minio
MINIO_SECRET_KEY: minio123
image: bitnami/minio:2021.12.29
ports:
- "9000:9000"
steps:
- name: Checkout server
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c5fc0d8281aba02c7fda07d3a70cc5371548067d #v2.25.2
with:
php-version: ${{ matrix.php-versions }}
extensions: mbstring, fileinfo, intl, sqlite, pdo_sqlite, zip, gd
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
run: |
composer install
mkdir data
echo '<?php $CONFIG=["${{ matrix.key }}" => ["class" => "OC\Files\ObjectStore\S3", "arguments" => ["bucket" => "nextcloud", "autocreate" => true, "key" => "minio", "secret" => "minio123", "hostname" => "localhost", "port" => 9000, "use_ssl" => false, "use_path_style" => true, "uploadPartSize" => 52428800]]];' > config/config.php
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
php -f index.php
- name: Wait for S3
run: |
sleep 10
curl -f -m 1 --retry-connrefused --retry 10 --retry-delay 10 http://localhost:9000/minio/health/ready
- name: PHPUnit
run: composer run test:db
- name: S3 logs
if: always()
run: |
docker ps -a
docker logs $(docker ps -aq)
s3-primary-summary:
runs-on: ubuntu-latest
needs: [s3-primary-tests-minio]
if: always()
steps:
- name: Summary status
run: if ${{ needs.s3-primary-tests-minio.result != 'success' }}; then exit 1; fi
+73
View File
@@ -0,0 +1,73 @@
name: SFTP unit tests
on:
pull_request:
paths:
- 'apps/files_external/**'
env:
APP_NAME: files_external
concurrency:
group: sftp-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
sftp-tests:
runs-on: ubuntu-latest
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
strategy:
# do not stop on another job's failure
fail-fast: false
matrix:
php-versions: ['8.0']
sftpd: ['openssh']
name: php${{ matrix.php-versions }}-${{ matrix.sftpd }}
steps:
- name: Checkout server
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
submodules: true
- name: Set up sftpd
run: |
sudo mkdir /tmp/sftp
sudo chown -R 0777 /tmp/sftp
if [[ "${{ matrix.sftpd }}" == 'openssh' ]]; then docker run -p 2222:22 --name sftp -d -v /tmp/sftp:/home/test atmoz/sftp "test:test:::data"; fi
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c5fc0d8281aba02c7fda07d3a70cc5371548067d #v2.25.2
with:
php-version: ${{ matrix.php-versions }}
extensions: mbstring, fileinfo, intl, sqlite, pdo_sqlite, zip, gd
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
run: |
composer install
mkdir data
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
./occ app:enable --force ${{ env.APP_NAME }}
php -S localhost:8080 &
- name: PHPUnit
run: |
echo "<?php return ['run' => true, 'host' => 'localhost:2222','user' => 'test','password' => 'test', 'root' => 'data'];" > apps/${{ env.APP_NAME }}/tests/config.sftp.php
composer run test:files_external apps/files_external/tests/Storage/SftpTest.php
- name: sftpd logs
if: always()
run: |
ls -l /tmp/sftp
docker logs sftp
sftp-summary:
runs-on: ubuntu-latest
needs: sftp-tests
if: always()
steps:
- name: Summary status
run: if ${{ needs.sftp-tests.result != 'success' }}; then exit 1; fi
+55
View File
@@ -0,0 +1,55 @@
name: Samba Kerberos SSO
on:
pull_request:
paths:
- 'apps/files_external/**'
- '.github/workflows/smb-kerberos.yml'
concurrency:
group: smb-kerberos-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
smb-kerberos-tests:
runs-on: ubuntu-latest
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
name: smb-kerberos-sso
steps:
- name: Checkout server
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
submodules: true
- name: Checkout user_saml
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
repository: nextcloud/user_saml
path: apps/user_saml
- name: Pull images
run: |
docker pull ghcr.io/icewind1991/samba-krb-test-dc
docker pull ghcr.io/icewind1991/samba-krb-test-apache
docker pull ghcr.io/icewind1991/samba-krb-test-client
docker tag ghcr.io/icewind1991/samba-krb-test-dc icewind1991/samba-krb-test-dc
docker tag ghcr.io/icewind1991/samba-krb-test-apache icewind1991/samba-krb-test-apache
docker tag ghcr.io/icewind1991/samba-krb-test-client icewind1991/samba-krb-test-client
- name: Setup AD-DC
run: |
DC_IP=$(apps/files_external/tests/sso-setup/start-dc.sh)
sleep 1
apps/files_external/tests/sso-setup/start-apache.sh $DC_IP $PWD
echo "DC_IP=$DC_IP" >> $GITHUB_ENV
- name: Set up Nextcloud
run: |
apps/files_external/tests/sso-setup/setup-sso-nc.sh
- name: Test SSO
run: |
apps/files_external/tests/sso-setup/test-sso-smb.sh ${{ env.DC_IP }}
- name: Show logs
if: failure()
run: |
FILEPATH=$(docker exec --user 33 apache ./occ log:file | grep "Log file:" | cut -d' ' -f3)
echo "$FILEPATH:"
docker exec --user 33 apache cat $FILEPATH
+2 -6
View File
@@ -1,5 +1,3 @@
# SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Close stale issues
on:
@@ -7,9 +5,6 @@ on:
schedule:
- cron: "0 0 * * *"
permissions:
contents: read
jobs:
stale:
runs-on: ubuntu-latest
@@ -20,7 +15,7 @@ jobs:
issues: write
steps:
- uses: actions/stale@b5d41d4e1d5dceea10e7104786b73624c18a190f # v9
- uses: actions/stale@v8
with:
repo-token: ${{ secrets.COMMAND_BOT_PAT }}
stale-issue-message: >
@@ -30,6 +25,7 @@ jobs:
for your contributions.
stale-issue-label: 'stale'
only-labels: 'needs info'
labels-to-remove-when-unstale: 'needs info,stale'
exempt-issue-labels: '1. to develop,2. developing,3. to review,4. to release,security'
days-before-stale: 30
days-before-close: 14
+25 -104
View File
@@ -1,20 +1,7 @@
# SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Psalm static code analysis
on:
pull_request:
push:
branches:
- main
- master
- stable*
paths:
- '.github/workflows/static-code-analysis.yml'
- '**.php'
permissions:
contents: read
concurrency:
group: static-code-analysis-${{ github.head_ref || github.run_id }}
@@ -24,21 +11,19 @@ jobs:
static-code-analysis:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'push' && github.repository_owner != 'nextcloud-gmbh' }}
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
extensions: apcu,ctype,curl,dom,fileinfo,ftp,gd,imagick,intl,json,ldap,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
php-version: '8.0'
extensions: apcu,ctype,curl,dom,fileinfo,ftp,gd,intl,json,ldap,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -47,69 +32,60 @@ jobs:
run: composer i
- name: Psalm
run: composer run psalm -- --threads=1 --monochrome --no-progress --output-format=github --update-baseline
run: composer run psalm:ci -- --monochrome --no-progress --output-format=github --update-baseline --report=results.sarif
- name: Show potential changes in Psalm baseline
if: always()
run: git diff --exit-code -- . ':!lib/composer'
run: git diff -- . ':!lib/composer'
- name: Upload Analysis results to GitHub
if: always()
uses: github/codeql-action/upload-sarif@v2
with:
sarif_file: results.sarif
static-code-analysis-security:
runs-on: ubuntu-latest
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
permissions:
security-events: write
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
uses: shivammathur/setup-php@master
with:
php-version: '8.2'
extensions: ctype,curl,dom,fileinfo,ftp,gd,imagick,intl,json,ldap,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
php-version: '8.0'
extensions: ctype,curl,dom,fileinfo,ftp,gd,intl,json,ldap,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
- name: Composer install
run: composer i
- name: Psalm taint analysis
run: composer run psalm:security -- --threads=1 --monochrome --no-progress --output-format=github --update-baseline --report=results.sarif
- name: Show potential changes in Psalm baseline
if: always()
run: git diff --exit-code -- . ':!lib/composer'
run: composer run psalm:ci -- --monochrome --no-progress --output-format=github --report=results.sarif --taint-analysis
- name: Upload Security Analysis results to GitHub
if: always()
uses: github/codeql-action/upload-sarif@89a39a4e59826350b863aa6b6252a07ad50cf83e # v3
uses: github/codeql-action/upload-sarif@v2
with:
sarif_file: results.sarif
static-code-analysis-ocp:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'push' && github.repository_owner != 'nextcloud-gmbh' }}
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
extensions: ctype,curl,dom,fileinfo,gd,imagick,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
php-version: '8.0'
extensions: ctype,curl,dom,fileinfo,gd,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -118,63 +94,8 @@ jobs:
run: composer i
- name: Psalm
run: composer run psalm:ocp -- --threads=1 --monochrome --no-progress --output-format=github --update-baseline
run: composer run psalm:ci -- -c psalm-ocp.xml --monochrome --no-progress --output-format=github --update-baseline
- name: Show potential changes in Psalm baseline
if: always()
run: git diff --exit-code -- . ':!lib/composer'
static-code-analysis-ncu:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'push' && github.repository_owner != 'nextcloud-gmbh' }}
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: '8.2'
extensions: ctype,curl,dom,fileinfo,gd,imagick,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Composer install
run: composer i
- name: Psalm
run: composer run psalm:ncu -- --threads=1 --monochrome --no-progress --output-format=github
static-code-analysis-strict:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'push' && github.repository_owner != 'nextcloud-gmbh' }}
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
with:
php-version: '8.2'
extensions: ctype,curl,dom,fileinfo,gd,imagick,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Composer install
run: composer i
- name: Psalm
run: composer run psalm:strict -- --threads=1 --monochrome --no-progress --output-format=github
run: git diff -- . ':!lib/composer'
+6 -13
View File
@@ -1,5 +1,3 @@
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Update CA certificate bundle
on:
@@ -7,9 +5,6 @@ on:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
jobs:
update-ca-certificate-bundle:
runs-on: ubuntu-latest
@@ -17,14 +12,13 @@ jobs:
strategy:
fail-fast: false
matrix:
branches: ['master', 'stable33', 'stable32', 'stable31', 'stable30', 'stable29', 'stable28', 'stable27', 'stable26', 'stable25', 'stable24', 'stable23', 'stable22']
branches: ["master", "stable27", "stable26", "stable25", "stable24", "stable23", "stable22"]
name: update-ca-certificate-bundle-${{ matrix.branches }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
persist-credentials: false
ref: ${{ matrix.branches }}
submodules: true
@@ -32,18 +26,17 @@ jobs:
run: curl --etag-compare build/ca-bundle-etag.txt --etag-save build/ca-bundle-etag.txt --output resources/config/ca-bundle.crt https://curl.se/ca/cacert.pem
- name: Create Pull Request
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0
uses: peter-evans/create-pull-request@153407881ec5c347639a548ade7d8ad1d6740e38
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: 'fix(security): Update CA certificate bundle'
commit-message: "fix(security): Update CA certificate bundle"
committer: GitHub <noreply@github.com>
author: nextcloud-command <nextcloud-command@users.noreply.github.com>
signoff: true
branch: 'automated/noid/${{ matrix.branches }}-update-ca-cert-bundle'
title: '[${{ matrix.branches }}] fix(security): Update CA certificate bundle'
branch: automated/noid/${{ matrix.branches }}-update-ca-cert-bundle
title: "[${{ matrix.branches }}] fix(security): Update CA certificate bundle"
body: |
Auto-generated update of CA certificate bundle from [https://curl.se/docs/caextract.html](https://curl.se/docs/caextract.html)
labels: |
dependencies
3. to review
reviewers: ChristophWurst, miaulalala, nickvergessen
@@ -1,52 +0,0 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Update code signing revocation list
on:
workflow_dispatch:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
jobs:
update-code-signing-crl:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
branches: ['master', 'stable33', 'stable32', 'stable31', 'stable30', 'stable29', 'stable28', 'stable27', 'stable26', 'stable25', 'stable24', 'stable23', 'stable22']
name: update-code-signing-crl-${{ matrix.branches }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
ref: ${{ matrix.branches }}
submodules: true
- name: Download CRL file from Appstore repository
run: curl --output resources/codesigning/root.crl https://raw.githubusercontent.com/nextcloud/appstore/master/nextcloudappstore/certificate/nextcloud.crl
- name: Verify CRL is from CRT
run: openssl crl -verify -in resources/codesigning/root.crl -CAfile resources/codesigning/root.crt -noout
- name: Create Pull Request
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: 'fix(security): Update code signing revocation list'
committer: GitHub <noreply@github.com>
author: nextcloud-command <nextcloud-command@users.noreply.github.com>
signoff: true
branch: 'automated/noid/${{ matrix.branches }}-update-code-signing-crl'
title: '[${{ matrix.branches }}] fix(security): Update code signing revocation list'
body: |
Auto-generated update of code signing revocation list from [Appstore](https://github.com/nextcloud/appstore/commits/master/nextcloudappstore/certificate/nextcloud.crl)
labels: |
dependencies
3. to review
reviewers: mgallien, miaulalala, nickvergessen
@@ -1,128 +0,0 @@
# SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Update min supported desktop version
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * 1"
permissions:
contents: read
jobs:
update-minimum-supported-desktop-version:
runs-on: ubuntu-latest-low
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Download desktop client version file from 5 years ago
id: download
run: |
# Create a temporary directory for the downloaded file
mkdir -p tmp
# Download the version file from the provided URL
VERSION_FILE_URL="https://github.com/nextcloud/desktop/raw/@%7B5.years.ago%7D/VERSION.cmake"
# Download the file using curl
curl -s -L "$VERSION_FILE_URL" -o tmp/VERSION.cmake
if [ ! -f "tmp/VERSION.cmake" ]; then
echo "Failed to download VERSION.cmake file"
exit 1
fi
echo "VERSION_FILE=tmp/VERSION.cmake" >> $GITHUB_OUTPUT
echo "Downloaded version file to tmp/VERSION.cmake"
- name: Extract version info
id: extract-version
run: |
# Path to the downloaded version file
VERSION_FILE="${{ steps.download.outputs.VERSION_FILE }}"
# Extract major, minor, patch versions
MAJOR=$(grep "VERSION_MAJOR" $VERSION_FILE | grep -o '[0-9]\+')
MINOR=$(grep "VERSION_MINOR" $VERSION_FILE | grep -o '[0-9]\+')
PATCH=$(grep "VERSION_PATCH" $VERSION_FILE | grep -o '[0-9]\+')
# Construct the version string
VERSION="$MAJOR.$MINOR.$PATCH"
# Validate format: xx.xx.xx where each x is a digit
if ! [[ "$VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
echo "Error: Extracted version '$VERSION' does not match required format (xx.xx.xx)"
exit 1
fi
rm -rf tmp
echo "VERSION=$VERSION" >> $GITHUB_OUTPUT
echo "Extracted Version: $VERSION"
- name: Update files with new version ${{ steps.extract-version.outputs.VERSION }}
id: update-files
run: |
VERSION="${{ steps.extract-version.outputs.VERSION }}"
# Define the files to update
DAV_FILE="apps/dav/lib/Connector/Sabre/BlockLegacyClientPlugin.php"
CONFIG_FILE="config/config.sample.php"
# Check if files exist
if [ ! -f "$DAV_FILE" ]; then
echo "Error: DAV file not found at $DAV_FILE"
exit 1
fi
if [ ! -f "$CONFIG_FILE" ]; then
echo "Error: Config file not found at $CONFIG_FILE"
exit 1
fi
# Update the DAV file - replace the version in the specific line
sed -i "s/\('minimum\.supported\.desktop\.version', '\)[0-9]\+\.[0-9]\+\.[0-9]\+'/\1$VERSION'/g" "$DAV_FILE"
echo "Updated $DAV_FILE"
# Update the config sample file
PREV_VERSION=$(grep "'minimum.supported.desktop.version'" "$CONFIG_FILE" | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+')
sed -i "s/Defaults to \`\`$PREV_VERSION\`\`/Defaults to \`\`$VERSION\`\`/" "$CONFIG_FILE"
sed -i "s/'minimum\.supported\.desktop\.version' => '[0-9]\+\.[0-9]\+\.[0-9]\+'/'minimum.supported.desktop.version' => '$VERSION'/g" "$CONFIG_FILE"
echo "Updated $CONFIG_FILE"
# Check if any changes were made
if [ -n "$(git diff "$DAV_FILE" "$CONFIG_FILE")" ]; then
echo "CHANGES_MADE=true" >> $GITHUB_OUTPUT
echo "Changes were made to the files"
git diff "$DAV_FILE" "$CONFIG_FILE"
else
echo "CHANGES_MADE=false" >> $GITHUB_OUTPUT
echo "No changes were needed (versions might already be up to date)"
fi
- name: Create Pull Request
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0
if: steps.update-files.outputs.CHANGES_MADE == 'true'
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: "chore: Update minimum supported desktop version"
committer: GitHub <noreply@github.com>
author: nextcloud-command <nextcloud-command@users.noreply.github.com>
signoff: true
branch: "automated/noid/${{ matrix.branches }}-update-min-supported-desktop-version"
title: "chore: Update minimum supported desktop version to ${{ steps.extract-version.outputs.VERSION }}"
base: "master"
body: |
Auto-generated update of the minimum supported desktop version using last supported version.
https://github.com/nextcloud/desktop/blob/@%7B5.years.ago%7D/VERSION.cmake
labels: |
client: 💻 desktop
automated
3. to review
reviewers: '@nextcloud/desktop'
@@ -0,0 +1,67 @@
name: Update Psalm baseline
on:
workflow_dispatch:
schedule:
- cron: "5 2 * * *"
jobs:
update-psalm-baseline:
runs-on: ubuntu-latest
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
strategy:
fail-fast: false
matrix:
branches: ["master", "stable27", "stable26", "stable25"]
name: update-psalm-baseline-${{ matrix.branches }}
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
ref: ${{ matrix.branches }}
submodules: true
- name: Set up php
uses: shivammathur/setup-php@v2
with:
php-version: '8.0'
extensions: apcu,ctype,curl,dom,fileinfo,ftp,gd,intl,json,ldap,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Composer install
run: composer install
- name: Psalm
run: composer run psalm:ci -- --monochrome --no-progress --output-format=text --update-baseline
continue-on-error: true
- name: Psalm OCP
run: composer run psalm:ci -- -c psalm-ocp.xml --monochrome --no-progress --output-format=github --update-baseline
continue-on-error: true
- name: Reset composer
run: |
git clean -f lib/composer
git checkout composer.json composer.lock lib/composer
- name: Create Pull Request
uses: peter-evans/create-pull-request@153407881ec5c347639a548ade7d8ad1d6740e38
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: Update psalm baseline
committer: GitHub <noreply@github.com>
author: nextcloud-command <nextcloud-command@users.noreply.github.com>
signoff: true
branch: automated/noid/${{ matrix.branches }}-update-psalm-baseline
title: "[${{ matrix.branches }}] Update psalm-baseline.xml"
body: |
Auto-generated update psalm-baseline.xml with fixed psalm warnings
labels: |
automated pr
3. to review
team-reviewers: server-backend
@@ -1,69 +0,0 @@
# SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Update PRs titles on stable branches
on:
pull_request:
types: [opened, edited]
branches:
- "stable*"
concurrency:
group: stable-pr-title-${{ github.event.pull_request.number }}
cancel-in-progress: true
jobs:
update-pr-title:
runs-on: ubuntu-latest-low
permissions:
pull-requests: write
contents: read
steps:
- name: Wait for potential title edits
run: sleep 15
- name: Get PR details and update title
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const { data: pr } = await github.rest.pulls.get({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: context.issue.number,
});
const baseBranch = pr.base.ref;
const currentTitle = pr.title;
// Check if this is a stable branch
// Should not happen as we only trigger on stable* branches 🤷‍♀️
if (!baseBranch.startsWith('stable')) {
console.log(`Not a stable branch: ${baseBranch}`);
return;
}
const prefix = `[${baseBranch}]`;
// Check if title already has the correct prefix and no other stable tags
const correctTagRegex = new RegExp(`^\\[${baseBranch}\\]\\s*`);
const hasOtherStableTags = /\[stable[\d.]*\]/.test(currentTitle.replace(correctTagRegex, ''));
if (correctTagRegex.test(currentTitle) && !hasOtherStableTags) {
console.log(`Title already has correct prefix only: ${currentTitle}`);
return;
}
// Remove all stable tags and add the correct one
const cleanTitle = currentTitle.replace(/\[stable[\d.]*\]\s*/g, '').trim();
const newTitle = `${prefix} ${cleanTitle}`;
console.log(`Updating title from: "${currentTitle}" to: "${newTitle}"`);
await github.rest.pulls.update({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: context.issue.number,
title: newTitle,
});
+9 -18
View File
@@ -1,7 +1,3 @@
# SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-FileCopyrightText: 2011-2016 ownCloud contributors
# SPDX-FileCopyrightText: 2010 ownCloud contributors
# SPDX-License-Identifier: AGPL-3.0-only
# the default generated dir + db file
/data
/config/config.php
@@ -11,7 +7,7 @@
/apps/inc.php
/assets
/.htaccess
node_modules/
/node_modules
/translationfiles
/translationtool.phar
@@ -35,7 +31,6 @@ node_modules/
!/apps/lookup_server_connector
!/apps/user_ldap
!/apps/oauth2
!/apps/profile
!/apps/provisioning_api
!/apps/settings
!/apps/systemtags
@@ -46,7 +41,6 @@ node_modules/
!/apps/twofactor_backupcodes
!/apps/user_status
!/apps/weather_status
!/apps/webhook_listeners
!/apps/workflowengine
/apps/files_external/3rdparty/irodsphp/PHPUnitTest
/apps/files_external/3rdparty/irodsphp/web
@@ -55,14 +49,15 @@ node_modules/
/apps/files_external/3rdparty/irodsphp/prods/test*
/apps/files_external/tests/config.*.php
# apps modules
/apps/*/node_modules
# ignore themes except the example and the README
/themes/*
!/themes/example
!/themes/README
# Love to people that develop the updater
/updater
# just sane ignores
.*.sw[po]
*.bak
@@ -127,11 +122,13 @@ nbproject
# Tests
/tests/phpunit.xml
# Node Modules
/build/node_modules/
# nodejs
/build/bin
/build/lib/
/build/integration/output/
/build/integration/phpserver.log
/build/jsdocs/
/npm-debug.log
/PhantomJS_*
@@ -144,8 +141,6 @@ Vagrantfile
# Tests - auto-generated files
/data-autotest
/results.sarif
/tests/.phpunit.cache
/tests/.phpunit.result.cache
/tests/coverage*
/tests/css
@@ -167,15 +162,11 @@ tests/acceptance/vendor/
composer.phar
/lib/composer/bin
/lib/composer/bamarni
/vendor-bin/**/vendor
./.htaccess
core/js/mimetypelist.js
# Tests - cypress
cypress/downloads
cypress/snapshots
cypress/videos
/.direnv
-3
View File
@@ -1,6 +1,3 @@
# SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
# SPDX-FileCopyrightText: 2016 ownCloud, Inc.
# SPDX-License-Identifier: AGPL-3.0-only
[submodule "3rdparty"]
path = 3rdparty
url = https://github.com/nextcloud/3rdparty.git
+78 -167
View File
@@ -1,178 +1,97 @@
<IfModule mod_headers.c>
<IfModule mod_setenvif.c>
<IfModule mod_fcgid.c>
SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1
RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION
</IfModule>
<IfModule mod_proxy_fcgi.c>
SetEnvIfNoCase Authorization "(.+)" HTTP_AUTHORIZATION=$1
</IfModule>
<IfModule mod_lsapi.c>
SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1
RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION
</IfModule>
<IfModule mod_setenvif.c>
<IfModule mod_fcgid.c>
SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1
RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION
</IfModule>
<IfModule mod_env.c>
# Add security and privacy related headers
# Avoid doubled headers by unsetting headers in "onsuccess" table,
# then add headers to "always" table: https://github.com/nextcloud/server/pull/19002
<If "%{REQUEST_URI} =~ m#/login$#">
# Only on the login page we need any Origin or Referer header set.
Header onsuccess unset Referrer-Policy
Header always set Referrer-Policy "same-origin"
</If>
<Else>
Header onsuccess unset Referrer-Policy
Header always set Referrer-Policy "no-referrer"
</Else>
Header onsuccess unset X-Content-Type-Options
Header always set X-Content-Type-Options "nosniff"
Header onsuccess unset X-Frame-Options
Header always set X-Frame-Options "SAMEORIGIN"
Header onsuccess unset X-Permitted-Cross-Domain-Policies
Header always set X-Permitted-Cross-Domain-Policies "none"
Header onsuccess unset X-Robots-Tag
Header always set X-Robots-Tag "noindex, nofollow"
SetEnv modHeadersAvailable true
<IfModule mod_proxy_fcgi.c>
SetEnvIfNoCase Authorization "(.+)" HTTP_AUTHORIZATION=$1
</IfModule>
<IfModule mod_lsapi.c>
SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1
RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION
</IfModule>
</IfModule>
# Add cache control for static resources
<FilesMatch "\.(css|js|mjs|svg|gif|png|jpg|webp|ico|wasm|tflite)$">
<If "%{QUERY_STRING} =~ /(^|&)v=/">
Header set Cache-Control "max-age=15778463, immutable"
</If>
<Else>
Header set Cache-Control "max-age=15778463"
</Else>
</FilesMatch>
<IfModule mod_env.c>
# Add security and privacy related headers
# Let browsers cache OTF and WOFF files for a week
<FilesMatch "\.(otf|woff2?)$">
Header set Cache-Control "max-age=604800"
</FilesMatch>
# Avoid doubled headers by unsetting headers in "onsuccess" table,
# then add headers to "always" table: https://github.com/nextcloud/server/pull/19002
Header onsuccess unset Referrer-Policy
Header always set Referrer-Policy "no-referrer"
Header onsuccess unset X-Content-Type-Options
Header always set X-Content-Type-Options "nosniff"
Header onsuccess unset X-Frame-Options
Header always set X-Frame-Options "SAMEORIGIN"
Header onsuccess unset X-Permitted-Cross-Domain-Policies
Header always set X-Permitted-Cross-Domain-Policies "none"
Header onsuccess unset X-Robots-Tag
Header always set X-Robots-Tag "noindex, nofollow"
Header onsuccess unset X-XSS-Protection
Header always set X-XSS-Protection "1; mode=block"
SetEnv modHeadersAvailable true
</IfModule>
# Add cache control for static resources
<FilesMatch "\.(css|js|mjs|svg|gif|png|jpg|ico|wasm|tflite)$">
<If "%{QUERY_STRING} =~ /(^|&)v=/">
Header set Cache-Control "max-age=15778463, immutable"
</If>
<Else>
Header set Cache-Control "max-age=15778463"
</Else>
</FilesMatch>
# Let browsers cache WOFF files for a week
<FilesMatch "\.woff2?$">
Header set Cache-Control "max-age=604800"
</FilesMatch>
</IfModule>
<IfModule mod_php.c>
php_value default_charset 'UTF-8'
php_value output_buffering 0
<IfModule mod_env.c>
SetEnv htaccessWorking true
</IfModule>
php_value mbstring.func_overload 0
php_value default_charset 'UTF-8'
php_value output_buffering 0
<IfModule mod_env.c>
SetEnv htaccessWorking true
</IfModule>
</IfModule>
<IfModule mod_mime.c>
AddType image/svg+xml svg svgz
AddType application/wasm wasm
AddEncoding gzip svgz
# Serve ESM javascript files (.mjs) with correct mime type
AddType text/javascript js mjs
AddType image/svg+xml svg svgz
AddType application/wasm wasm
AddEncoding gzip svgz
# Serve ESM javascript files (.mjs) with correct mime type
AddType text/javascript js mjs
</IfModule>
<IfModule mod_dir.c>
DirectoryIndex index.php index.html
DirectoryIndex index.php index.html
</IfModule>
<IfModule pagespeed_module>
ModPagespeed Off
ModPagespeed Off
</IfModule>
#############
#### Rewrites
#############
<IfModule mod_rewrite.c>
RewriteEngine on
##
## Rule: Workaround for WebDAV with apache+php-cgi
##
## Context:
## - Sets the environment variable `HTTP_AUTHORIZATION` to the value of the `Authorization` request header
## - Always executed before and along with other rules (no `L` used)
## - XXX: *May* be replaced with an equivalent SetEnvIf in theory
## - XXX: SetEnvIf approach is already in use above for mod_proxy_cgi / mod_lsapi / mod_fcgid
##
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
##
## Rule: Workaround for WebDAV with MS DavClnt
##
## Context:
## - DavClnt attempts an OPTIONS request against `/` instead of the specified endpoint
## - Redirects the client to the endpoint rather than the login page (which confuses DavClnt)
##
RewriteCond %{HTTP_USER_AGENT} DavClnt
RewriteRule ^$ /remote.php/webdav/ [L,R=302]
##
## Rule: Map the RFC 8615 / RFC 6764 compliant well-known URI for CardDAV to our Remote DAV endpoint
##
RewriteRule ^\.well-known/carddav /remote.php/dav/ [R=301,L]
##
## Rule: Map the RFC 8615 / RFC 6764 compliant well-known URI for CalDAV to our Remote DAV endpoint
##
RewriteRule ^\.well-known/caldav /remote.php/dav/ [R=301,L]
##
## Rule: Map /remote* --> /remote.php* including the query string
##
## Context:
## - XXX: `QSA` seems unnecessary (no-op) here (query string is passed by default when the replacement URI doesn't contain a query string)
## - XXX: Is this even used anymore? Seems a relic from <NC12
##
RewriteRule ^remote/(.*) remote.php [QSA,L]
##
## Rule: Prevent access to non-public files
##
RewriteRule ^(?:build|tests|config|lib|3rdparty|templates)/.* - [R=404,L]
##
## Rule: Maps most RFC 8615 compliant well-known URIs to our main frontend controller (/index.php) by default
##
## Context:
## - Intentionally excludes URIs used for HTTPS certificate verifications
## - RFC 8555 / ACME HTTP Challenges (acme-challenge)
## - File-based Validations (pki-validation)
## - XXX: `QSA` seems unnecessary (no-op) here (query string is passed by default when the replacement URI doesn't contain a query string)
## - XXX: Sometimes we are using `/index.php` and other times `index.php` as our replacement URI; this may be incorrect
##
RewriteRule ^\.well-known/(?!acme-challenge|pki-validation) /index.php [QSA,L]
##
## Rule: Map the ocm-provider handling to our main frontend controller (/index.php)
##
## Context:
## - XXX: `QSA` seems unnecessary (no-op) here (query string is passed by default when the replacement URI doesn't contain a query string)
## - XXX: Sometimes we are using `/index.php` and other times `index.php` as our replacement URI; this may be incorrect
##
RewriteRule ^ocm-provider/?$ index.php [QSA,L]
##
## Rule: Prevent access to more non-public files
##
## Context:
## - XXX It may make sense to merge some of these with the others (i.e. the ones that don't need to be last)
##
RewriteRule ^(?:\.(?!well-known)|autotest|occ|issue|indie|db_|console).* - [R=404,L]
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} DavClnt
RewriteRule ^$ /remote.php/webdav/ [L,R=302]
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteRule ^\.well-known/carddav /remote.php/dav/ [R=301,L]
RewriteRule ^\.well-known/caldav /remote.php/dav/ [R=301,L]
RewriteRule ^remote/(.*) remote.php [QSA,L]
RewriteRule ^(?:build|tests|config|lib|3rdparty|templates)/.* - [R=404,L]
RewriteRule ^\.well-known/(?!acme-challenge|pki-validation) /index.php [QSA,L]
RewriteRule ^ocm-provider/?$ index.php [QSA,L]
RewriteRule ^(?:\.(?!well-known)|autotest|occ|issue|indie|db_|console).* - [R=404,L]
</IfModule>
# Clients like xDavv5 on Android, or Cyberduck, use chunked requests.
@@ -183,18 +102,10 @@
# Here are more information about the issue:
# - https://docs.cyberduck.io/mountainduck/issues/fastcgi/
# - https://docs.nextcloud.com/server/latest/admin_manual/issues/general_troubleshooting.html#troubleshooting-webdav
<IfModule mod_setenvif.c>
SetEnvIfNoCase Transfer-Encoding "chunked" proxy-sendcl=1
</IfModule>
# Apache disabled the sending of the server-side content-length header
# in their 2.4.59 patch updated which breaks some use-cases in Nextcloud.
# Setting ap_trust_cgilike_cl allows to bring back the usual behaviour.
# See https://bz.apache.org/bugzilla/show_bug.cgi?id=68973
<IfModule mod_env.c>
SetEnv ap_trust_cgilike_cl
<IfModule setenvif.c>
<Location "/remote.php">
SetEnvIf Transfer-Encoding "chunked" proxy-sendcl=1
</Location>
</IfModule>
AddDefaultCharset utf-8
-2
View File
@@ -1,2 +0,0 @@
SPDX-FileCopyrightText: 2014 ownCloud, Inc.
SPDX-License-Identifier: AGPL-3.0-only
+1 -2
View File
@@ -1,5 +1,4 @@
{
"esversion": 11,
"camelcase": true,
"eqeqeq": true,
"immed": true,
@@ -12,10 +11,10 @@
"maxparams": 5,
"curly": true,
"jquery": true,
"maxlen": 120,
"indent": 4,
"browser": true,
"laxbreak": true,
"asi": true,
"globals": {
"console": true,
"it": true,

Some files were not shown because too many files have changed in this diff Show More