Compare commits

..

1047 Commits

Author SHA1 Message Date
John Molakvoæ 565dc36226 Merge pull request #41104 from nextcloud/release/27.1.3 2023-10-26 19:20:58 +02:00
Joas Schilling 4fe430ccf2 Merge pull request #41124 from nextcloud/backport/41123/stable27
[stable27] fix(external): Get storage before update it
2023-10-26 07:58:33 +02:00
Joas Schilling 7105380511 fix(external): Get storage before update it
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-10-26 06:49:39 +02:00
Nextcloud bot 84c153e34c Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-26 00:26:44 +00:00
John Molakvoæ 73219b4a9d 27.1.3
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2023-10-25 08:31:46 +02:00
Nextcloud bot 6295028913 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-25 00:43:42 +00:00
Nextcloud bot eb83fcb63b Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-24 00:25:55 +00:00
Nextcloud bot dc19882a7a Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-23 00:26:37 +00:00
Nextcloud bot 1d6fd5532b Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-22 00:28:48 +00:00
Nextcloud bot 423f4e6144 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-21 00:27:24 +00:00
Nextcloud bot fe46f23a72 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-20 00:27:27 +00:00
John Molakvoæ 232484f0da Merge pull request #40975 from nextcloud/release/27.1.3_rc2 2023-10-19 17:21:17 +02:00
John Molakvoæ 16e346a8cd Merge pull request #40408 from nextcloud/automated/noid/stable27-update-psalm-baseline 2023-10-19 17:03:04 +02:00
Andy Scherzinger 1d73d95665 Merge pull request #40987 from nextcloud/backport/40977/stable27
[stable27] Update version.php to owncloud 10.13
2023-10-19 16:55:32 +02:00
Rello c891071005 Update version.php to owncloud 10.13
ownCloud's current version is 10.13
migration was tested with a customer; 
documentation was adjusted
https://github.com/nextcloud/documentation/pull/11225

Signed-off-by: Rello <Rello@users.noreply.github.com>
2023-10-19 14:54:15 +00:00
John Molakvoæ 64324aac50 27.1.3 RC2
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2023-10-19 13:52:09 +02:00
nextcloud-command c97ee074a3 Update psalm baseline
Signed-off-by: GitHub <noreply@github.com>
2023-10-19 02:39:11 +00:00
Nextcloud bot f4a9d1ad69 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-19 00:28:22 +00:00
Nextcloud bot 02676462d0 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-18 00:52:44 +00:00
Nextcloud bot 62fde219af Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-17 00:27:50 +00:00
Nextcloud bot 830b2c5c28 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-16 00:28:37 +00:00
Nextcloud bot c41d89b723 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-15 00:27:43 +00:00
Nextcloud bot 5ae0f3a1fd Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-14 00:28:17 +00:00
Nextcloud bot e21da82145 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-13 00:47:15 +00:00
Arthur Schiwon dcaab5f867 Merge pull request #40840 from nextcloud/release/27.1.3_rc1
27.1.3 RC1
2023-10-12 14:49:48 +02:00
Arthur Schiwon 237e880076 Merge pull request #40882 from nextcloud/backport/40413/stable27
[stable27] Add in:users as a search filter to limit searches to users
2023-10-12 14:34:26 +02:00
nextcloud-command a83ef1226e chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-10-12 10:45:27 +00:00
Arthur Schiwon a27399b0ba fix(meta): copyright note 2023-10-12 12:32:19 +02:00
sorbaugh 9a2966e73e remove unused properties
Signed-off-by: sorbaugh <stephan.orbaugh@nextcloud.com>
2023-10-12 12:32:19 +02:00
sorbaugh 7709acb519 Remove unneeded includes.
Usage:
1. Type a string in the search bar
2. Add in:users filter to avoid unnecessary searches in other apps
2023-10-12 12:31:42 +02:00
sorbaugh d657ded9bf Keep Search Provider but remove actual search and display on the searchlist dialog. Will revisit in future search result list in future issue.
Usage:
1. Type a string in the search bar
2. Add in:users filter to avoid unnecessary searches in other apps
2023-10-12 12:31:42 +02:00
sorbaugh 157f2a7062 Add new user filter to search.
Add regex to prevent filter collision in user-list page

Usage:
1. Type a string in the search bar
2. Add in:users to display only users in the search result
2023-10-12 12:31:32 +02:00
Nextcloud bot 75796c2934 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-12 00:25:41 +00:00
Arthur Schiwon b75cb58aff Merge pull request #40856 from nextcloud/backport/40843/stable27
[stable27] remove leading slash
2023-10-11 10:07:03 +02:00
Arthur Schiwon a722274c60 Merge pull request #40569 from nextcloud/backport/40499/stable27
[stable27] add wrapper for external storage to ensure we don't get an mtime that is lower than we know it is
2023-10-11 10:06:29 +02:00
Nextcloud bot 2aa11173f8 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-11 00:28:23 +00:00
Maxence Lange a04a915646 remove leading slash
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2023-10-10 19:36:53 +00:00
Arthur Schiwon 1b1a54403e Merge pull request #40849 from nextcloud/backport/40785/stable27
[stable27] fix: Log critical session renewal and logout paths
2023-10-10 19:28:49 +02:00
Julius Härtl 1f4fffc258 Merge pull request #40577 from nextcloud/s3-multipart-copy-27 2023-10-10 19:22:53 +02:00
Christoph Wurst d932622255 fix: Log critical session renewal and logout paths
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-10-10 09:47:07 +00:00
F. E Noel Nfebe b2c864d609 Merge pull request #40837 from nextcloud/manual/backport/stable27/40801
[stable27] Fixed mixed translations in sharing details
2023-10-10 09:28:25 +01:00
Arthur Schiwon 8567d54025 Merge pull request #39826 from nextcloud/backport/39806/stable27
[stable27] fix(updatenotification): Skip update check
2023-10-10 10:04:57 +02:00
Arthur Schiwon 0856cecb4f Merge pull request #40383 from nextcloud/backport/36830/stable27
[stable27] fix: Avoid failing with duplicate checks
2023-10-10 10:02:33 +02:00
Arthur Schiwon 7fc9b23f28 Merge pull request #40759 from nextcloud/backport/38298/stable27
[stable27] feat: Add occ user:user:sync-account-data for updating oc_accounts information from user backends
2023-10-10 09:59:13 +02:00
Christoph Wurst 52157637da Merge pull request #40683 from nextcloud/backport/40675/stable27
[stable27] fix(unifiedsearch): Allow searching for "0"
2023-10-10 09:52:01 +02:00
Robin Appelman 155fd0b86a apply known mtime wrapper for external storages
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-10-10 09:34:20 +02:00
Robin Appelman 36eef0be67 add wrapper to ensure we don't get an mtime that is lower than we know it is
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-10-10 09:34:20 +02:00
Christoph Wurst 825bb29287 fix(unifiedsearch): Allow searching for "0"
empty("0") evaluates to true

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-10-10 09:09:50 +02:00
nextcloud-command 90402f1dbe chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-10-10 01:03:11 +00:00
Nextcloud bot f14a01cc1e Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-10 00:51:54 +00:00
fenn-cs fe78157b77 Fixed mixed translations in sharing details
Due to a typo in the app passed to the translation method, some
strings translations don't work.

This commit corrects the spelling `file_sharing` to `files_sharing` and
hence resolves : https://github.com/nextcloud/server/issues/40801

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-10-10 01:14:44 +01:00
F. E Noel Nfebe dfd0adff0e Merge pull request #40681 from nextcloud/manual/backport/stable27/40430
[stable27] enh(a11y): Add label to share note textbox
2023-10-10 01:03:39 +01:00
Daniel Calviño Sánchez feccf26928 Merge pull request #40572 from nextcloud/clear-progress-bar-text-when-hiding-it
[stable27] Clear progress bar text when hiding it
2023-10-10 01:26:39 +02:00
Christopher Ng 4516bb0587 enh(a11y): Add label to share note textbox
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2023-10-09 23:43:08 +01:00
F. E Noel Nfebe 4ae4ccc0c2 Merge pull request #40747 from nextcloud/manual/backport/stable27/40629
[stable27] Updates to new sharing flow
2023-10-09 23:35:11 +01:00
Arthur Schiwon a762275dd0 Merge pull request #40718 from nextcloud/backport/40428/stable27
[stable27] Multiple bug fix in users list
2023-10-09 22:51:37 +02:00
Arthur Schiwon 35d73517b5 Merge pull request #40695 from nextcloud/fix/dashboard-widgets-api-stable27
[stable27] Fix Dashboard IManager getWidgets return annotation
2023-10-09 22:51:08 +02:00
Arthur Schiwon 154b70292f Merge pull request #40757 from nextcloud/encode-uri-trashbin-delete-2
[stable27] fix: encode uri for trashbin delete
2023-10-09 22:50:36 +02:00
Arthur Schiwon d5e53f03f4 Merge pull request #40834 from nextcloud/manuabl/backport/stable27/40731
[stable27] Generate all preview sizes for Imaginary
2023-10-09 22:48:09 +02:00
Daniel Calviño Sánchez 39bd125a78 Clear progress bar text when hiding it
When files are uploaded the progress bar text is set accordingly.
However, other operations that show the progress bar, like deleting
files, do not explicitly set any text. Due to that, when the progress
bar was shown again after uploading files the text did not match the
operation. To solve that now the text is cleared when the progress bar
is hidden (it is not cleared when it is shown as in some cases the text
is set already before showing the progress bar).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2023-10-09 22:44:36 +02:00
Arthur Schiwon 9714f0368f Merge pull request #40830 from nextcloud/stable27-cors-app_api
[stable27] added CORS skip if session was created by AppAPI
2023-10-09 22:40:32 +02:00
Arthur Schiwon 7396412b04 Merge pull request #40739 from AaronDewes/stable27
[stable27] Fix: Escape group names for LDAP
2023-10-09 22:39:24 +02:00
Arthur Schiwon 93a331b009 27.1.3 RC1
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-10-09 22:36:03 +02:00
fenn-cs 5f4c56e97c Correct check for enabled expiration date
The default expiration date cannot be enforced if it is not enabled
in the first place. Hence, the check for whether a share has an expiration date
should not consider enforcements but only where the share expiry type is enabled.

For example : Using `this.config.isDefaultExpireDateEnabled` instead of
`this.config.isDefaultExpireDateEnforced` which can be verified by checking `isExpiryDateEnforced`.

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

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-10-09 15:52:35 +00:00
fenn-cs fe9258a7c5 Updates to sharing flow
- Show enforced expiry date for new shares.
- Improve quick share dropdown visibility in dark mode.
- Prevent expiry date from showing expire for incoming shares.
by updating the check for `share.passwordExpirationTime` to equally
check for `undefined`.
- Move "Download permission/attribute" from custom setting (as it is just
another advanced setting and not an actual permission).
- Show correct text for upload/editing when "allow public uploads" is enabled
or disabled by admin.

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2023-10-09 15:49:35 +01:00
Daniel Hansson c9e130ba27 also remove function
Signed-off-by: Daniel Hansson <mailto@danielhansson.nu>
2023-10-09 15:41:49 +01:00
Daniel Hansson cf941ac30a Generate all preview sizes for Imaginary
A follow up on https://github.com/nextcloud/server/pull/40670

Based on discussions here: https://github.com/nextcloud/server/issues/38911#issuecomment-1741819188

This fixes the case were not all previews are generated, for example in the activity view: https://github.com/nextcloud/server/issues/38911#issuecomment-1738886106



Signed-off-by: Daniel Hansson <mailto@danielhansson.nu>
2023-10-09 15:41:36 +01:00
Alexander Piskun 4623fd12d3 fixed Drone test
Signed-off-by: Alexander Piskun <bigcat88@icloud.com>
2023-10-09 14:44:34 +03:00
Alexander Piskun 2fb703dfda added CORS skip if session was created by AppAPI
Signed-off-by: Alexander Piskun <bigcat88@icloud.com>
2023-10-09 14:42:30 +03:00
Nextcloud bot e6832ed932 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-09 00:28:47 +00:00
Nextcloud bot bc9ce9aaec Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-08 00:30:00 +00:00
John Molakvoæ c2d5a6006f Merge pull request #40787 from nextcloud/fix/stable27-wrong-quota-files-app 2023-10-06 16:36:48 +02:00
Ferdinand Thiessen acdc319d84 fix: Adjust cypress component test
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-10-06 14:29:59 +02:00
Ferdinand Thiessen 951ab7a999 fix(files): Show correct quota size (file size base 2)
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-10-06 14:29:59 +02:00
Arthur Schiwon 8a162eeeb1 Merge pull request #40797 from nextcloud/backport/40795/stable27
[stable27] fix(user): Log affected user of app token login name mismatch
2023-10-06 13:33:55 +02:00
Christoph Wurst b07007dac4 fix(user): Log affected user of app token login name mismatch
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-10-06 08:15:06 +00:00
Nextcloud bot d950cff568 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-06 00:26:31 +00:00
Julius Härtl 0d6d088e4e feat: Add occ user:sync-account-data for updating oc_accounts information from user backends
This can be useful in cases where the state between user backend and
oc_accounts has become inconsistent.

Usually the account data is updated once the change on the user backend
is detected. Potential leftovers from older bugs
(https://github.com/nextcloud/user_saml/pull/582) might though never get
updated. This could lead to the contacts menu never showing the correct
display name. The contacts menu is read from the system address book,
which is only updated from oc_accounts.

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-10-05 23:15:48 +02:00
Arthur Schiwon 11b2762d3c Merge pull request #40779 from nextcloud/release/27.1.2
27.1.2
2023-10-05 11:39:15 +02:00
Arthur Schiwon 14ffdff299 Merge pull request #40778 from nextcloud/backport/40745/stable27
[stable27] fix ocm-provider rewrite rules
2023-10-05 11:23:25 +02:00
jld3103 2550a0ec16 Fix Dashboard IManager getWidgets return annotation
Signed-off-by: jld3103 <jld3103yt@gmail.com>
2023-10-05 10:41:05 +02:00
Arthur Schiwon 55a6628ebf 27.1.2
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-10-05 10:38:12 +02:00
Maxence Lange 2459eeeb20 Update .htaccess
Co-authored-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2023-10-05 10:14:31 +02:00
Maxence Lange 5ab96af4ad fix ocm-provider rewrite rules
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2023-10-05 10:14:20 +02:00
Nextcloud bot 6f7b871c0d Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-05 00:40:48 +00:00
Nextcloud bot e24b95837f Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-04 00:27:10 +00:00
Daniel Kesselberg ce0cc84c21 fix: encode uri for trashbin delete
Replace d280912f31 with a cleaner approach.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2023-10-03 17:46:16 +02:00
Nextcloud bot ffe533d3fc Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-03 00:26:17 +00:00
Côme Chilliet e2d3fef5b4 Merge pull request #37201 from AaronDewes/fix/ldap-filter-generation
Fix: Escape group names for LDAP
2023-10-02 11:06:28 +02:00
Nextcloud bot 95f74aff66 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-02 00:26:04 +00:00
Nextcloud bot 5fbfd1a3e8 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-01 00:26:19 +00:00
Nextcloud bot 75778dfba9 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-30 00:26:06 +00:00
Christopher Ng 617f5aef1d chore: compile assets
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2023-09-29 12:14:28 -07:00
Christopher Ng 38fb8fdc87 fix(ux): Show initial loading state of managers
- NcMultiselect version of 50ddc6820e

Signed-off-by: Christopher Ng <chrng8@gmail.com>
2023-09-29 12:14:28 -07:00
Christopher Ng 96d719fd46 Do not preload potential manager list on UserRow mount
- NcMultiselect version of 992c03d842

Signed-off-by: Christopher Ng <chrng8@gmail.com>
2023-09-29 12:14:28 -07:00
Louis Chemineau 65927daf20 Do not manipulate userCount when it is equal to 0
Signed-off-by: Louis Chemineau <louis@chmn.me>
(cherry picked from commit bd787e8593)
2023-09-29 12:14:28 -07:00
Nextcloud bot 6bfbb475ff Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-29 00:25:40 +00:00
Arthur Schiwon fd996fb8e4 Merge pull request #40646 from nextcloud/release/27.1.2_rc1
27.1.2 RC1
2023-09-28 10:26:43 +02:00
Arthur Schiwon 29b96eb960 Merge pull request #40631 from nextcloud/backport/40541/stable27
[stable27] fix(dav): expand recurrences when searching
2023-09-28 10:24:43 +02:00
Daniel 4393db3380 Merge pull request #40642 from nextcloud/fix/noid/stable27-encode-uri-trashbin-restore 2023-09-28 10:22:16 +02:00
Louis a700b2b9ae Merge pull request #40640 from nextcloud/backport/40619/stable27
[stable27] Use proper app id in Version.vue
2023-09-28 09:12:20 +02:00
Nextcloud bot 534c1ad06a Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-28 00:28:07 +00:00
Nextcloud bot d070d5e958 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-27 00:27:04 +00:00
Arthur Schiwon f620319e44 27.1.2 RC1
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-09-26 19:56:57 +02:00
Daniel Kesselberg d280912f31 fix: encode uri for trashbin delete
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2023-09-26 16:47:01 +02:00
nextcloud-command 4e2207bd52 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-09-26 14:12:35 +00:00
Ferdinand Thiessen 67d7986082 Merge pull request #40638 from nextcloud/fix/files-tests
[stable27] Fix jsunit tests
2023-09-26 15:58:19 +02:00
Louis Chemineau 2b856f7e50 Use proper app id in Version.vue
Signed-off-by: Louis Chemineau <louis@chmn.me>
2023-09-26 12:45:00 +00:00
Ferdinand Thiessen 13a2d694f4 fix(files): Adjust files list jsunit tests for file size bugfix
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-09-26 13:06:02 +02:00
Richard Steinmetz 28f58a8af9 fix(dav): expand recurrences when searching
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2023-09-26 08:04:33 +00:00
Côme Chilliet 2ebd5bb939 Merge pull request #40623 from nextcloud/backport/40501/stable27
[stable27] Store size in int|float for 32bit support
2023-09-26 09:39:10 +02:00
Nextcloud bot 9d0db222cf Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-26 00:28:17 +00:00
Côme Chilliet e0eb9a8ce9 Store size in int|float for 32bit support
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-09-25 15:14:31 +00:00
Ferdinand Thiessen 049aa5dfde Merge pull request #40605 from nextcloud/fix/format-file-sizes
[stable27] Revert change that made `OC.Util.humanFileSize` return decimal sizes instead of binary
2023-09-25 15:27:22 +02:00
Louis 033e62a0d9 Merge pull request #40581 from nextcloud/backport/39818/stable27
[stable27] Let `occ trashbin:restore` restore also from groupfolders and add filters
2023-09-25 10:31:17 +02:00
Nextcloud bot ef765c4422 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-25 00:29:56 +00:00
Ferdinand Thiessen b7a939d091 chore: Compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-09-24 17:13:04 +02:00
Ferdinand Thiessen eb73c0bafa fix: Revert change that made OC.Util.humanFileSize return base 10 instead of base 2
Previously the `OC.Util.humanFileSize` was returning file sizes base 2, meaning 1024 bytes = 1 KiB, but the `@nextcloud/files` library had a regression that set the default to base 10. Meaning 1000 bytes = 1 KB.

This is fixed for current `@nextcloud/libraries` but for stable27 we need to fix this manually by wrapping the function.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-09-24 17:13:00 +02:00
John Molakvoæ e0adcc587e Merge pull request #40557 from nextcloud/fix/dialogs-issues-stable27 2023-09-24 12:08:12 +02:00
Nextcloud bot cb307e0098 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-24 00:28:06 +00:00
Ferdinand Thiessen 9b4a42db52 chore: Update @nextcloud/dialogs to 4.2.1
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-09-23 17:27:49 +02:00
Maxence Lange b06bff7922 Merge pull request #40586 from nextcloud/backport/39574/39574-stable27
[stable27] ocm services
2023-09-23 14:08:05 -01:00
Nextcloud bot 6d8cbd5ede Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-23 00:28:10 +00:00
Maxence Lange 0fac750bcd ocm services
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2023-09-22 17:26:02 -01:00
Robin Windey f42481f893 Rename since/until in verbose message
Signed-off-by: GitHub <noreply@github.com>
2023-09-22 11:14:54 +00:00
Robin Windey 9630de5674 Code adjustments according to PR review
* Delete unnecessary function docs
* Rename parameters to 'since' and 'until'
* Style: use '&&' instead of 'and'
* Add types

Signed-off-by: GitHub <noreply@github.com>
2023-09-22 11:14:53 +00:00
Robin Windey 3354d61c8e Make scope parsing more readable
Signed-off-by: GitHub <noreply@github.com>
2023-09-22 11:14:53 +00:00
Robin Windey f5d0264296 Decouple from groupfolders app & remove PSALM warnings
Signed-off-by: GitHub <noreply@github.com>
2023-09-22 11:14:53 +00:00
Robin Windey fd6769beee Let occ trashbin:restore restore also from groupfolders and add additional filters
* Using the TrashManager allows access to all deleted files
* Add 'scope' parameter to choose where to restore from (user or groupfolders)
* Add 'restore-from' and 'restore-to' date parameters to filter files to be
  restored by their deletion date
* Add 'dry-run' flag to be able to see which files would be restored and being
  able to adjust the filter parameters accordingly

Signed-off-by: GitHub <noreply@github.com>
2023-09-22 11:14:53 +00:00
Robin Appelman 22556a67a8 use multipart copy for s3
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-09-22 10:42:07 +02:00
Nextcloud bot 0acad69840 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-22 00:32:13 +00:00
Arthur Schiwon f08d781836 Merge pull request #40525 from nextcloud/release/27.1.1
27.1.1
2023-09-21 11:00:49 +02:00
Arthur Schiwon 21f8cc8847 Merge pull request #40379 from nextcloud/backport/38808/stable27
[stable27] Fix issues where unencrypted_size was being falsely used for non-encrypted home folders
2023-09-21 10:55:43 +02:00
Arthur Schiwon 01ddd29a6c Merge pull request #40535 from nextcloud/manual/backport/stable27/40533
[stable27] Auto set password for new email shares
2023-09-21 10:53:24 +02:00
fenn-cs 236ee6c578 Auto set password for new email shares
Suggest auto generated password for new public share (mail share).

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

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2023-09-21 08:16:48 +01:00
Nextcloud bot 9dd84be4e6 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-21 00:29:35 +00:00
Arthur Schiwon 260b41c6b7 Merge pull request #40530 from nextcloud/manual/backport/stable27/40500
[stable27] Consider share type for enforced share expiry dates
2023-09-20 20:48:09 +02:00
fenn-cs cf2b9e8353 Consider share type for enforced share expiry dates
We have three kind of share expiry date enforcements.

- `isDefaultExpireDateEnforced`
- `isDefaultInternalExpireDateEnforced`
- `isDefaultRemoteExpireDateEnforced`

Before these commit, `isExpiryDateEnforced` that is used to
disable/enable the set expiry date checkbox does not take those into consideration
which is problematic as those have different applications.

In addition, this commit now uses `isExpiryDateEnforced` to disable/enable the input for
expiry date that shows up before the creation of link shares.

Here, `hasExpirationDate` is also removed from 'SharingEntryLink` component as it is
not used.

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-09-20 15:18:44 +00:00
Richard Steinmetz c5377c572b Merge pull request #40520 from nextcloud/fix/guest-pages-contentinfo-stable27 2023-09-20 16:36:26 +02:00
F. E Noel Nfebe bee84a5733 Merge pull request #40429 from nextcloud/manual/backport/stable27/commit-in/40389
[stable27] Fix alignments for share different share entry types.
2023-09-20 15:14:42 +01:00
fenn-cs 4755a47f84 Properly align all sharing-entry types
SharingEntryLink and regular ShareEntry were not properly visually aligned
before this commit.

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-09-20 10:19:55 +00:00
Arthur Schiwon 29ff8a5cfc 27.1.1
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-09-20 11:52:54 +02:00
Joas Schilling fe4d002d1f Merge pull request #40506 from nextcloud/backport/40488/stable27
[stable27] fix(comments): Use provided offset in best effort when loading comments
2023-09-20 10:23:47 +02:00
Robin Appelman 2be08904ed Merge pull request #40487 from nextcloud/backport/40183/stable27
[stable27] SFTP improvements
2023-09-20 10:08:02 +02:00
Richard Steinmetz 664f2aa807 fix: content info footer on guest pages
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2023-09-20 09:27:53 +02:00
Nextcloud bot 1fe62e1862 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-20 00:27:42 +00:00
Robin Appelman e15d999911 use user_saml from git
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-09-19 16:21:42 +02:00
Robin Appelman bd1dadd690 kerberos sso ci fixes
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-09-19 16:20:59 +02:00
Robin Appelman 0a5ebef425 improve s3 error handling
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-09-19 15:52:14 +02:00
Joas Schilling 9cf4e38c4b fix(comments): Use provided offset in best effort when loading comments
When we didn't find the "$lastKnownComment" the whole condition was ignored.
Now we still use the ID as an offset.
This is required as a fall-back for expired messages in Talk
and deleted comments in other apps.

Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-09-19 13:47:51 +00:00
Nextcloud bot 13c5dde076 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-19 00:24:07 +00:00
Robin Appelman 656fd512b5 sftp psalm fixes
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-09-18 17:33:44 +00:00
Robin Appelman b48f118b65 psalm suppress
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-09-18 17:33:43 +00:00
Robin Appelman e9227c29a9 add sftp ci test
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-09-18 17:33:43 +00:00
Robin Appelman 373bd09fbf implement fseek for sftp read stream
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-09-18 17:33:43 +00:00
Robin Appelman 02a50bd99c more optimized getPermissions/getMetaData
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-09-18 17:33:43 +00:00
Robin Appelman 6ab32b00ee sftp optimize file_put_contents, writeStream and copy
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-09-18 17:33:43 +00:00
Robin Appelman 0a219b1dc0 fix error during sftp stream close
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-09-18 17:33:42 +00:00
Robin Appelman 70658918d9 clear sftp stat cache when opening a write stream
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-09-18 17:33:42 +00:00
Daniel 42ed302c01 Merge pull request #40433 from nextcloud/backport/40416/stable27 2023-09-18 17:59:06 +02:00
Daniel Kesselberg efb01db387 fix: use faster method to fetch user count
countUsers: the actual user count reported by the backend.
countSeenUsers: count every user who was logged in once.

1: We should avoid expensive operations (like asking every backend for it's user count) in migrations.
2: The current check is wrong because countUsers returns an array. var_dump([] > 1000) => true ;)

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2023-09-18 14:09:01 +02:00
Daniel e2cfe1deb2 Merge pull request #40444 from nextcloud/backport/40418/stable27 2023-09-18 14:08:30 +02:00
Robin Appelman 2fad5233a2 Merge pull request #40473 from nextcloud/backport/39860/stable27
[stable27] don't preload metadata for the sub-childen
2023-09-18 13:53:18 +02:00
Louis 5a22eb7016 Merge pull request #40448 from nextcloud/manual/backport/stable27/40440
[stable27] Backport consider link shares in removeShare method in SharingTab #40440
2023-09-18 12:37:47 +02:00
Robin Appelman e14858007d only triger metadata preload logic when at least one metadata is requested
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-09-18 09:31:06 +00:00
Robin Appelman 9b3d8f334b don't preload metadata for the sub-childen
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-09-18 09:31:05 +00:00
fenn-cs 65ff60a69b Consider link shares in removeShare method in SharingTab
Currently, the `removeShare` method in the `SharingTab` view,
does not take into account `linkShares`.

Since link shares now shares thesame detail view with other share types,
it should therefore be considered hence this commit.

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

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-09-18 08:35:30 +00:00
Nextcloud bot eaaa3521e5 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-18 00:26:57 +00:00
Simon L 91a7538bec Merge pull request #40461 from nextcloud/backport/40203/stable27
[stable27] fix(mimetype): Fix aborted transaction on PostgreSQL when storing mimetype
2023-09-17 17:18:45 +02:00
Nextcloud bot 8045a6dd22 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-17 00:27:11 +00:00
Lucas Azevedo cfae699d6e Wrap mimetype insert and getLastInsertId in a transaction
Signed-off-by: Lucas Azevedo <lhs_azevedo@hotmail.com>
2023-09-16 19:31:27 +00:00
Lucas Azevedo f0a1716bb5 fix(mimetype): Remove unnecessary transaction when storing a mime type
Fixes #40064.

This could be fixed by adding a rollback and starting a new transaction
before the SELECT query, but in this case that would have the same
effect as not using one.
See https://dev.mysql.com/doc/refman/8.0/en/innodb-autocommit-commit-rollback.html
and https://www.postgresql.org/docs/7.1/sql-begin.html#R1-SQL-BEGIN-1

Signed-off-by: Lucas Azevedo <lhs_azevedo@hotmail.com>
2023-09-16 19:31:26 +00:00
Nextcloud bot 5139643a63 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-16 00:27:38 +00:00
Daniel Kesselberg 562c47223a fix: don't use davtags for tag search
1. https://github.com/nextcloud/server/pull/26813 Initial implementation with support for systemtags and davtags (vcategory)
2. https://github.com/nextcloud/server/pull/39062 Additional check if the given tag exists, though ISystemTagManager.getAllTags only looks for systemtags

Therefore it's not possible anymore to search for davtags and unnecessary to join the other tables.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2023-09-15 17:36:38 +00:00
Arthur Schiwon 4ff639eb51 Merge pull request #40432 from nextcloud/release/27.1.0
27.1.0
2023-09-15 16:26:54 +02:00
Arthur Schiwon ed20a907a4 Merge pull request #40437 from nextcloud/backport/40434/stable27
[stable27] Correctly switch/revert from custom to bundled perms
2023-09-15 16:26:10 +02:00
fenn-cs 481f5bba81 Correctly switch/revert from custom to bundled perms
We have a set custom permissions checkbox, that when selected should set
the quick permissions settings to custom as well as show the custom permission settings.

When the checkbox is unchecked the quick permissions have to be reset to the default,
`bundledPermissions.ALL` but also users can switch from custom permissions to `bundled`
by just changing the radio select, hence we need a mechanism to set the permissions back
to the correct fallback depending on where the user has toggled the the custom permission from.

The mechanism is `revertSharingPermission` and this commit, makes sure revert values are correctly
set upon toggle.

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

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-09-15 13:48:54 +00:00
Arthur Schiwon d5185f0d30 27.1.0
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-09-15 11:54:52 +02:00
Nextcloud bot 5a9df6c168 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-15 00:26:46 +00:00
Arthur Schiwon 0155f05987 Merge pull request #40399 from nextcloud/release/27.1.0_rc4
27.1.0 RC4
2023-09-14 19:04:37 +02:00
Arthur Schiwon df42e781df Merge pull request #40417 from nextcloud/artonge/bump/nextcloud_dialogs_4_2_0
[stable27] Bump @nc/dialogs to 4.2.0
2023-09-14 14:30:46 +02:00
Andy Scherzinger 1ac6c923b4 Merge pull request #40415 from nextcloud/artonge/backport/stable27/40389
[stable27] Fix invite guest for new sharing flow
2023-09-14 14:23:08 +02:00
Andy Scherzinger 87b7c91108 Merge pull request #40414 from nextcloud/artonge/backport/stable27/40365
[stable27] Hide additional content when share details is open
2023-09-14 14:14:52 +02:00
Arthur Schiwon 6c232c511c Merge pull request #40402 from nextcloud/backport/40301/stable27
[stable27] fix(caldav): add webroot to objectid for activities
2023-09-14 12:24:55 +02:00
Louis Chemineau 53bc5c9594 Bump @nc/dialogs to 4.2.0
Signed-off-by: Louis Chemineau <louis@chmn.me>
2023-09-14 12:14:21 +02:00
fenn-cs 15dd2e85e1 Fix invite guest for new sharing flow
Call external handlers such as the one in the guess app
https://github.com/nextcloud/guests/blob/master/src/main.js#L30
if present.

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-09-14 12:04:16 +02:00
Louis Chemineau fb76e03345 Hide additional content when share details is open
Signed-off-by: Louis Chemineau <louis@chmn.me>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-09-14 12:01:18 +02:00
Andy Scherzinger 4bbf010aeb Merge pull request #40412 from nextcloud/manual/backport/stable27/40404
[stable27] Ellipsize user status in sharing entry
2023-09-14 11:57:39 +02:00
fenn-cs cd795e6422 Ellipsize user status in sharing entry
Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-09-14 11:37:18 +02:00
Andy Scherzinger 80dbe54eaf Merge pull request #40405 from nextcloud/manual/backport/stable27/40393
[stable27] Display user status by the side in sharing flow
2023-09-14 11:25:06 +02:00
fenn-cs eb9ba2e8ce Display user status by the side in sharing flow
The quick share drop down now takes the place where the user status
would show in the past, so we have the option of removing it (as it's available
in the profile dropdown) or putting it at the side as such.

It's put on the side without the icon, as the status icon appears on the avatar
when set.

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2023-09-14 08:47:46 +02:00
Nextcloud bot 582c34e605 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-14 00:27:03 +00:00
Daniel Kesselberg 0da5cb3b85 fix(caldav): add webroot to objectid for activities
A calendar uri includes the webroot: example.com/cloud/remote.php/dav/calendars/alice/personal/
The calendar app uses base64(calendar uri) as identifier for calendar objects.

Without this patch the links from activity app to calendar app don't work for installations in a subdirectory.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2023-09-13 19:34:03 +00:00
Arthur Schiwon 0e5bb30929 Merge pull request #40390 from nextcloud/manual/backport/stable27/40372
[stable27] Backport polish sharing flow bugs
2023-09-13 20:40:38 +02:00
Arthur Schiwon e5a043a8ca 27.1.0 RC4
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-09-13 19:50:06 +02:00
fenn-cs 2a54fc57eb Consistent delete button in share details
Delete button text should have same size as other buttons.

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-09-13 10:18:08 +01:00
fenn-cs 51ad9cfcc8 Enfore allowPublicShares admin setting
Use the the modern intial-state library to pass data about
`allowPublicUploads` to the sharing frontend.

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2023-09-13 10:18:08 +01:00
fenn-cs cec466ed3b Refactor migrated addShare method
Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2023-09-13 10:18:07 +01:00
Nextcloud bot 9037509729 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-13 00:24:46 +00:00
Julius Härtl a521973c59 fix: Avoid failing with duplicate checks
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-09-12 15:13:08 +02:00
Julius Härtl fd6990a33b fix: Only read unencrypted_size when file is actually encrypted
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-09-12 15:05:16 +02:00
Julius Härtl b14967cb2c fix: Only store unencrypted_size if path should be encrypted
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-09-12 15:05:13 +02:00
Arthur Schiwon 748720cff6 Merge pull request #40344 from nextcloud/release/27.1.0_rc3
27.1.0 RC3
2023-09-12 10:41:35 +02:00
Arthur Schiwon 8ffe77d036 Merge pull request #40343 from nextcloud/40289-stable27-fix-appearance
[stable27] 40289 fix appearance
2023-09-12 09:28:46 +02:00
Arthur Schiwon 96d72c8bdc Merge pull request #40369 from nextcloud/backport/39128/stable27
[stable27] fix(ldap): avatar is not being fetched
2023-09-12 09:23:27 +02:00
Nextcloud bot 26d6ac7366 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-12 00:27:55 +00:00
nextcloud-command 0abc80785a chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-09-11 18:22:48 +00:00
Arthur Schiwon 00ac153ef7 fix(LDAP): add return type hint and description
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-09-11 17:53:16 +00:00
Arthur Schiwon 1f748ded7e fix(ldap): avatar is not being fetched
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-09-11 17:53:16 +00:00
fenn-cs 8113c027d8 Add icons for bundled permissions
Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-09-11 13:26:25 +01:00
fenn-cs f2a9859117 Adjust share details view UI
- List custom permissions activated in sublime
- Align checkboxes in advanced settings

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

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2023-09-11 13:12:01 +01:00
Arthur Schiwon 7575e870ca Merge pull request #40350 from nextcloud/backport/40349/stable27
[stable27] fix(autoloader): no apcu no side effects
2023-09-11 12:44:46 +02:00
Nextcloud bot 67e82f17ef Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-11 00:27:08 +00:00
Nextcloud bot 058b6c36f9 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-10 00:25:29 +00:00
Nextcloud bot 5125a3455f Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-09 00:25:51 +00:00
Arthur Schiwon 3304b0371b fix(autoloader): no apcu no side effects
apcu lead to side effects especially with app management and (soft)
inter-dependencies, and lead also to 500 server errors. While we could
add management to clear apcu cache in many cases (may stil leave edge
cases) the performance benefit is marginally as also class maps are
already cached in opcache. Hence, the simple and effective way to go is
to not use apcu for autoloading.

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-09-08 18:30:40 +00:00
Arthur Schiwon 07a9200538 Merge pull request #40333 from nextcloud/backport/40329/stable27
[stable27] theming: Revert broken SVG optimization in default-source.svg
2023-09-08 17:06:38 +02:00
Arthur Schiwon 7829019ca8 Merge pull request #40339 from nextcloud/artonge/backport/stable27/40296
[stable27] Enable new versions feature for groupfolders
2023-09-08 17:05:17 +02:00
Arthur Schiwon a1130be0e3 Merge pull request #40342 from nextcloud/backport/40341/stable27
[stable27] fix: Hide set reminder action on public shares
2023-09-08 17:02:22 +02:00
Andy Scherzinger 9cccc03d74 Merge pull request #39890 from nextcloud/less-container-queries-27
[stable27] Reduce the number of container queries
2023-09-08 09:56:50 +02:00
Arthur Schiwon 58fdbded2f 27.1.0 RC3
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-09-08 09:38:29 +02:00
Nextcloud bot b75c0fe306 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-08 00:31:36 +00:00
Christopher Ng 9a4f2f1782 fix: Hide set reminder action on public shares
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 8031ee862a)
2023-09-07 16:15:29 -07:00
Louis Chemineau bab1a981c3 Fix lint error
Signed-off-by: Louis Chemineau <louis@chmn.me>
2023-09-07 22:52:32 +02:00
Louis Chemineau 34e73b3c60 Fix: allow to name the current version
We only need to change the filename
of the current version for the viewer

Signed-off-by: Louis Chemineau <louis@chmn.me>
2023-09-07 22:39:52 +02:00
Louis Chemineau eb4185590b Enable new versions feature for groupfolders
Signed-off-by: Louis Chemineau <louis@chmn.me>
2023-09-07 22:37:22 +02:00
Louis Chemineau 4d93b8f9bc Move module versions management logic out of main logic
Signed-off-by: Louis Chemineau <louis@chmn.me>
2023-09-07 22:35:04 +02:00
jld3103 021b97dcb8 theming: Revert broken SVG optimization from f2afcc in default-source.svg
Signed-off-by: jld3103 <jld3103yt@gmail.com>
2023-09-07 15:11:50 +00:00
Robin Appelman ee8c1a5c60 only determine quota_include_external_storage once for quota wrapper
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-09-07 16:25:23 +02:00
Robin Appelman 9242e8939f only get logger when needed in sabre/directory
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-09-07 16:25:16 +02:00
Robin Appelman a23447c050 better caching in storage stats calculations
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-09-07 16:25:10 +02:00
Robin Appelman 4c604bf531 only gather dependencies for trashbin wrapper once
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-09-07 16:24:59 +02:00
Robin Appelman 5ebceaa54c reuse dependencies from wrapped cache
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-09-07 16:22:00 +02:00
Arthur Schiwon 1e8a067b93 Merge pull request #40278 from nextcloud/release/27.1.0_rc2
27.1.0 RC2
2023-09-07 15:33:56 +02:00
Arthur Schiwon 865e32e431 Merge pull request #40327 from nextcloud/manual/backport/stable27/40266
[stable27] Backport Polish new sharing flow : accesibility, expand bahavior, click outside behaviour
2023-09-07 15:32:09 +02:00
nextcloud-command c0b97ea89a chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-09-07 13:31:24 +00:00
fenn-cs 1539d5e262 Add accesibility features to quick share dropdown
- Adds appropriate aria attributes
- Uses button element for dropdown items as it's more semantically correct
- Uses trap-focus lib to trap focus when the drowpdown is active
- Adds custom handling for arrow up and down

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2023-09-07 15:17:50 +02:00
fenn-cs 8fab35475f Close quickshare dropdown on outside click
If a user clicks anywhere outside of the quickshare dropdown,
it should be closed.

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2023-09-07 15:17:50 +02:00
fenn-cs c22c9c917b Do not toggle custom permissions
Currently, swithcing between permissions in the sharing permissions
details view would toggle the custom permissions view.

We think, it's better for the custom permission option to simple
expand the custom permissions view and never close it gain even if the
user is switching between bundled permissions.

The user can always collapse the view by using the "Advanced settings" toggle.

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2023-09-07 15:17:49 +02:00
Arthur Schiwon a5f71a7502 Merge pull request #40298 from nextcloud/backport/39693/39693-stable27
[stable27] enable download configuration on circles shares
2023-09-07 15:06:58 +02:00
Arthur Schiwon 6548558267 Merge pull request #40271 from nextcloud/backport/39895/stable27
[stable27] admin have no special rights on users' entries
2023-09-07 12:58:40 +02:00
Arthur Schiwon ea48ef5905 Merge pull request #40309 from nextcloud/backport/40292/stable27
[stable27] fix(CalDAV): check birthday calendar owner
2023-09-07 12:55:57 +02:00
Maxence Lange d4bc489de1 admin have no special rights on users' entries
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2023-09-07 11:04:55 +02:00
Arthur Schiwon bb08cc15b0 Merge pull request #40286 from nextcloud/backport/40233/stable27
[stable27] Detect aborted connection in OC\Files\View and stop writing data to t…
2023-09-07 11:03:42 +02:00
Anna Larch 9459352f53 fix(CalDAV): check birthday calendar owner
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-09-07 09:25:08 +02:00
Andy Scherzinger aa8094a71b Merge pull request #40315 from nextcloud/backport/40295/stable27
[stable27] Rename AppEcosystemV2 to AppAPI
2023-09-07 09:21:57 +02:00
Alexander Piskun 89cca0cd7c new name of AppEcosystem is AppAPI
Signed-off-by: Alexander Piskun <bigcat88@icloud.com>
2023-09-07 05:32:20 +00:00
Nextcloud bot bb74c5dfb0 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-07 00:29:13 +00:00
Andy Scherzinger dd52ddf4f8 Merge pull request #40300 from nextcloud/backport/40293/stable27
[stable27] fix(ratelimit): Only use memory cache backend for redis
2023-09-06 19:33:19 +02:00
Julius Härtl 42e70cf639 Merge pull request #40297 from nextcloud/backport/40184/stable27 2023-09-06 18:55:36 +02:00
Andy Scherzinger 8d4b298ceb Merge pull request #40220 from nextcloud/automated/noid/stable27-fix-npm-audit
[stable27] Fix npm audit
2023-09-06 17:51:36 +02:00
Joas Schilling 52d68d3109 fix(ratelimit): Only use memory cache backend for redis
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-09-06 15:42:21 +00:00
nextcloud-command b29375f686 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-09-06 15:00:39 +00:00
Maxence Lange 15eb92f517 enable download configuration on circles shares
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2023-09-06 13:40:55 -01:00
Julius Härtl a518225a80 feat: Add events for version restore
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-09-06 13:59:34 +00:00
John Molakvoæ 325e42f2b3 Merge pull request #40281 from nextcloud/deps/nextcloud/dialogs-4.2.0-beta.5 2023-09-06 10:59:53 +02:00
Arthur Schiwon 801c5556f4 Merge pull request #40231 from nextcloud/sharing-mask-wrapper-27
[27] move share permission logic to storage wrapper
2023-09-06 10:27:55 +02:00
Arthur Schiwon b956f0ffd2 Merge pull request #40200 from nextcloud/backport/39925/stable27
[stable27] fix(CardDAV): allow disabling of the system address book
2023-09-06 10:27:14 +02:00
Benjamin Gaussorgues 8c7017679d Detect aborted connection in OC\Files\View and stop writing data to the output buffer
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2023-09-06 09:22:06 +02:00
Christopher Ng c140b385e5 chore: Compile assets
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2023-09-05 11:58:20 -07:00
Christopher Ng 80e3a86b85 chore: Bump @nextcloud/dialogs to v4.2.0 beta 5
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2023-09-05 11:53:53 -07:00
Christopher Ng 0607f21485 chore: Add patch-package dev dep for @nextcloud/dialogs
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2023-09-05 11:52:29 -07:00
Arthur Schiwon 33b05ce7eb Merge pull request #40197 from nextcloud/update-sabre-http-for-stable27
[stable27] chore(3rdparty): update sabre/http to 5.1.10
2023-09-05 19:22:17 +02:00
Arthur Schiwon 36b8f46b2d Merge pull request #40269 from nextcloud/ftp-ci-fix-27
[27] change proftpd ci image
2023-09-05 19:21:31 +02:00
Arthur Schiwon 90a2802f95 Merge pull request #40258 from nextcloud/backport/40234/stable27
[stable27] enh: skip processing for empty response
2023-09-05 19:14:52 +02:00
Arthur Schiwon 278f79f932 Merge pull request #40227 from nextcloud/backport/40195/stable27
[stable27] fix: prevent sharing permissions on user root folder
2023-09-05 19:14:24 +02:00
Arthur Schiwon c7d6320fbf Merge pull request #40186 from nextcloud/backport/39017/stable27
[stable27] fix(s3): fix handling verify_bucket_exists parameter
2023-09-05 19:13:02 +02:00
Arthur Schiwon 7c7475c11d 27.1.0 RC2
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-09-05 17:42:21 +02:00
Robin Appelman b401580081 change proftpd ci image
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-09-05 14:48:46 +02:00
Anna Larch 6354dce7ea fix(CardDAV): allow disabling of the system address book via config option
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-09-05 10:22:52 +02:00
Nextcloud bot 9ddb07ca19 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-05 00:27:32 +00:00
Daniel Kesselberg b6c6475e18 enh: skip processing for empty response
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2023-09-04 18:51:27 +00:00
Robin Appelman fc21ecbd2a cleanup di for share permissions wrapper
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-09-04 14:13:57 +02:00
Robin Appelman 8511fb91ca more share permission logic to storage wrapper
this way we only have to determine the share permissions once

Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-09-04 14:09:41 +02:00
Daniel Kesselberg 29be847370 chore(3rdparty): update sabre/http to 5.1.10
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2023-09-04 12:06:19 +02:00
John Molakvoæ d60f95833b fix: prevent sharing permissions on user root folder
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2023-09-04 09:05:11 +00:00
Nextcloud bot 09fd427df1 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-04 00:32:39 +00:00
nextcloud-command a149b78ccb chore(deps): fix npm audit
Signed-off-by: GitHub <noreply@github.com>
2023-09-03 02:53:57 +00:00
Nextcloud bot 1f2abf43e1 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-03 00:25:42 +00:00
Nextcloud bot ebe2b370a0 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-02 00:26:55 +00:00
Nextcloud bot 322bb03a58 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-01 00:29:48 +00:00
Thomas Citharel fe618feeb0 fix(s3): fix handling verify_bucket_exists parameter
If 'verify_bucket_exists' is set to false in the config.php s3 configuration, it's supposed to avoid
verifying that the bucket exists. However empty(falsy) will  always return true, so this condition
would not work.

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-08-31 21:21:16 +00:00
Arthur Schiwon 3519f20add Merge pull request #40098 from nextcloud/release/27.1.0_rc1
27.1.0 RC1
2023-08-31 15:38:46 +02:00
Arthur Schiwon 1aea79689d Merge pull request #40179 from nextcloud/artonge/backport/stable27/39472_2
[stable27] Improve sharing flow
2023-08-31 15:37:06 +02:00
fenn-cs 1d74d62d2a Improve sharing flow
This commit introduces the following changes:

- Does not create new share once user is selected for internal shares
- Adds a `SharingDetails` view for share configurations
- Adds a quick share select to enable fast changes in share permisions.

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

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
Signed-off-by: Louis Chemineau <louis@chmn.me>
2023-08-31 14:28:13 +02:00
Joas Schilling db1a7ba03a Merge pull request #40175 from nextcloud/rev/noid/direct-push
[stable27] revert accidental direct push of 8b42fb033f
2023-08-31 13:35:31 +02:00
Arthur Schiwon 7cdafeac36 Revert "Improve sharing flow"
This reverts commit 8b42fb033f.
2023-08-31 12:22:10 +02:00
Andy Scherzinger bfd7b49be7 Merge pull request #40074 from nextcloud/backport/39944/stable27
[stable27] pass the share to the cache instead of having to ask the storage
2023-08-31 11:47:23 +02:00
Nextcloud bot 3d13383e9b Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-31 00:34:53 +00:00
Daniel 03da441629 Merge pull request #40162 from nextcloud/backport/40108/stable27 2023-08-30 20:38:38 +02:00
fenn-cs 8b42fb033f Improve sharing flow
This commit introduces the following changes:

- Does not create new share once user is selected for internal shares
- Adds a `SharingDetails` view for share configurations
- Adds a quick share select to enable fast changes in share permisions.

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

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
Signed-off-by: Louis Chemineau <louis@chmn.me>
2023-08-30 18:12:49 +02:00
Daniel Kesselberg 4338d0747d feat: add switch to disable dns pinning
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2023-08-30 13:07:55 +00:00
Nextcloud bot 191e20d7f4 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-30 00:31:48 +00:00
Arthur Schiwon daa2d69a1f Merge pull request #40032 from nextcloud/backport/40013/stable27
[stable27] Do not log passwords in debug mode
2023-08-29 21:22:09 +02:00
Joas Schilling 20969519f0 Merge pull request #40101 from nextcloud/backport/38545/stable27
[stable27] fix(CI): Add empty eslint and node when unrelated (PHP only)
2023-08-29 17:10:01 +02:00
Joas Schilling b9a493ed9b Merge pull request #40080 from nextcloud/backport/40077/stable27
[stable27] fix(cache): Remove displayname cache entry on delete
2023-08-29 15:49:23 +02:00
Joas Schilling 6e4976c9f1 fix(CI): Add empty eslint and node when unrelated (PHP only)
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-08-29 15:47:38 +02:00
Joas Schilling ff0569abab Merge pull request #40039 from nextcloud/backport/39511/stable27
[stable27] fix(utility): De- deprecate getDateTime and getTime as now() only returns DateTimeImmutable
2023-08-29 14:41:40 +02:00
Arthur Schiwon a03054c9e1 27.1.0 RC1
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-08-29 14:39:23 +02:00
Andy Scherzinger 67ff5d50fd Merge pull request #40081 from nextcloud/fix/stable27/check-vobject-exists
[stable27] fix(CalDAV): check voject exists before attempting any operation
2023-08-29 09:57:30 +02:00
Nextcloud bot a48036560b Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-29 00:31:10 +00:00
Anna Larch c3f92ac5d9 fix(CalDAV): check voject exists before attempting any operation
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-08-28 18:49:44 +02:00
Andy Scherzinger 887bc6fd6e Merge pull request #40078 from nextcloud/backport/39699/stable27
[stable27] Hide shares by disabled users
2023-08-28 18:33:20 +02:00
Joas Schilling 7ffc89e7ff fix(cache): Remove displayname cache entry on delete
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-08-28 16:18:59 +00:00
Côme Chilliet 6076e7b8ce Use nullsafe call syntax instead of additionnal check
Co-authored-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
Signed-off-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
2023-08-28 13:50:27 +00:00
Côme Chilliet eb61f94807 Fix tests, add test for the new feature
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-08-28 13:50:26 +00:00
Côme Chilliet 98fa5fe627 Set files_sharing:hide_disabled_user_shares to 'yes' to hide shares from disabled users
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-08-28 13:50:26 +00:00
Robin Appelman 5df53bd0fd pass the share to the cache instead of having to ask the storage
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-08-28 12:02:17 +00:00
Ferdinand Thiessen 68ae8706d8 Merge pull request #40060 from nextcloud/backport/27-upload-progress
[stable27] Improve upload progress visualization
2023-08-28 12:53:20 +02:00
Anna Larch 513371152a fix(utility): De- deprecate getDateTime as now() only returns immutable objects
This will mean lots of code like
```$dateTime = (new DateTime())->setTimestamp(ITimeFactory::now()->getTimestamp()```
if a regular DateTime object is needed

Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-08-28 12:44:11 +02:00
Anna e8b3b774c2 Merge pull request #40066 from nextcloud/backport/39911/stable27
[stable27] fix(CardDAV): only run upgrade sync if 1000 users or less
2023-08-28 12:35:03 +02:00
Nextcloud bot cf59499274 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-28 00:26:39 +00:00
Anna Larch b3526ea81f fix(CardDAV): only run upgrade sync if 1000 users or less
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-08-27 14:04:44 +00:00
John Molakvoæ 897c4d4037 Merge pull request #40062 from nextcloud/fix/theming-async-chunks 2023-08-27 11:38:21 +02:00
Louis c5668cf79c Merge pull request #39728 from nextcloud/automated/noid/stable27-fix-npm-audit
[stable27] Fix npm audit
2023-08-27 05:33:20 +02:00
nextcloud-command 3ccd52340c chore(deps): fix npm audit
Signed-off-by: GitHub <noreply@github.com>
2023-08-27 02:46:14 +00:00
Nextcloud bot c5a5864144 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-27 00:30:56 +00:00
Ferdinand Thiessen 4a558dbb36 fix(theming): Add __webpack_nounce__ to support async chunks like the filepicker
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-08-26 16:50:21 +02:00
Ferdinand Thiessen eee7cbf5f2 fix: Upload progress shows number of files to upload and current index
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-08-26 15:04:23 +02:00
Ferdinand Thiessen 60a5eb6059 fix: Make smooth bitrate and remaining upload time work when unset
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-08-26 15:03:38 +02:00
Phlogi ace7374613 Smooth time remaining, bitrate and stabilize user information
Besides the existing moving average, a smoothing factor is introduced for the time remaining display as well as the bitrate.
Furthermore, half of the buffer needs to be filled before the first prediction is displayed to the user. This reduces volatile and jumping durations towards the user and improves usability.

Signed-off-by: Cyrill H. <phlogi@posteo.de>
Co-authored-by: Carl Schwan <carl@carlschwan.eu>
2023-08-26 15:03:38 +02:00
Nextcloud bot ea090a30ad Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-26 00:32:44 +00:00
John Molakvoæ 9577f97c7e Merge pull request #40045 from nextcloud/backport/27/encode-filename-trashbin-restore 2023-08-25 21:18:04 +02:00
Daniel Kesselberg 6b0fba15fa fix: encode basename in restore action
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2023-08-25 17:28:33 +02:00
Joas Schilling 8aad539918 Merge pull request #40034 from nextcloud/fix/stable27/log-condition-user
[stable27] Fix user log.condition feature
2023-08-25 09:57:30 +02:00
Côme Chilliet 8277d0a5aa Fix user log.condition feature
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-08-25 08:15:05 +02:00
John Molakvoæ 146cc6ad45 Merge pull request #39900 from nextcloud/fix/stable27/set-owner-principal-for-SAB 2023-08-25 08:11:42 +02:00
John Molakvoæ 9441fa568c Merge pull request #40028 from nextcloud/release/27.1.0_beta_3
27.1.0 beta 3
2023-08-25 07:51:43 +02:00
Nextcloud bot 8612cece7f Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-25 00:34:36 +00:00
John Molakvoæ fcaee86280 Merge pull request #39939 from nextcloud/deps/stable27/tarstreamer-php8 2023-08-24 20:28:13 +02:00
Daniel Kesselberg 4526ee4958 chore: update tarstreamer to 2.1.0
To improve php8 support

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2023-08-24 17:42:50 +02:00
Anna Larch 504f396d33 fix(CardDAV): set owner-principal, displayname properties for SAB
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-08-24 15:07:24 +02:00
Anna Larch 1e6e722703 Do not log passwords in debug mode
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-08-24 13:03:37 +02:00
John Molakvoæ 480d2c2fd0 Merge pull request #40030 from nextcloud/fix/update-dialogs-to-4.2.0-beta.4 2023-08-24 13:00:41 +02:00
Ferdinand Thiessen 84493b1d55 chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-08-24 12:12:46 +02:00
Ferdinand Thiessen 66fc35f8d4 chore: Update @nextcloud/dialogs to 4.2.0-beta.4 for FilePicker improvments
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-08-24 12:06:41 +02:00
John Molakvoæ 927374fef8 Merge pull request #39953 from nextcloud/backport/39903/stable27 2023-08-24 10:06:05 +02:00
John Molakvoæ d27830984c Merge pull request #39952 from nextcloud/szaimen-patch-1 2023-08-24 10:05:45 +02:00
John Molakvoæ ce604576f1 27.1.0 beta 3
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2023-08-24 09:24:28 +02:00
Nextcloud bot 31c4a93ef6 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-24 01:01:19 +00:00
Joas Schilling d12b56bf63 Merge pull request #39997 from nextcloud/backport/39870/stable27
[stable27] feat(security): Add a bruteforce protection backend base on memcache
2023-08-23 08:43:01 +02:00
John Molakvoæ 7ef9721347 Merge pull request #40007 from nextcloud/automated/noid/stable27-update-ca-cert-bundle 2023-08-23 08:10:43 +02:00
Joas Schilling 26832ec5da fix(middleware): Fix header injection for bruteforce middleware
Calling setHeaders(getHeaders()) breaks the CSP nonce for unknown reasons
So shifting back to old standard practise for now

Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-08-23 06:44:09 +02:00
Joas Schilling 866a8a2368 feat(admin): Show an error when the admin is throttled
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-08-23 06:44:08 +02:00
Joas Schilling 759fc11f39 fix: Make bypass function public API
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-08-23 06:44:08 +02:00
Joas Schilling b5dbb4d9f2 feat(OCC): Add a command to get the bruteforce state of an IP
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-08-23 06:44:07 +02:00
Joas Schilling b55359b23c feat: Expose if the own IP is allowed to bypass bruteforce protection
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-08-23 06:44:07 +02:00
Joas Schilling 5c0789197f feat: Add a header which signals that the request was throttled
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-08-23 06:44:06 +02:00
Joas Schilling 97548e789f feat(security): Add a "testing mode" for bruteforce protection that doesn't sleep
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-08-23 06:44:06 +02:00
Joas Schilling befa2f6d51 feat(security): Add a bruteforce protection backend base on memcache
Similar to the ratelimit backend

Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-08-23 06:44:05 +02:00
nextcloud-command 896cfa012c fix(security): Update CA certificate bundle
Signed-off-by: GitHub <noreply@github.com>
2023-08-23 02:09:59 +00:00
Nextcloud bot 130514267d Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-23 00:28:29 +00:00
Joas Schilling 7d795d0203 Merge pull request #39993 from nextcloud/backport/39937/stable27
[stable27] feat(dashboard): implement widget item api v2
2023-08-22 14:21:15 +02:00
Joas Schilling 900439ea42 Fix(CI): Satisfy old psalm by being less specific
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-08-22 13:15:13 +02:00
Joas Schilling c166fa0161 chore(assets): Recompile JS
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-08-22 10:44:41 +02:00
Richard Steinmetz 3fd18ce450 feat(dashboard): implement widget item api v2
This API enables the dashboard to render all widgets from the API data
alone without having apps to provide their own bundles. This saves a lot
of traffic and execution time as a lot less javascript has to be parsed
on the frontend.

Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2023-08-22 10:38:46 +02:00
Julius Härtl 2a435e8bd2 Merge pull request #39934 from nextcloud/backport/39481/stable27 2023-08-22 08:58:16 +02:00
Julius Härtl c9978db8e6 Merge pull request #39949 from nextcloud/backport/39770/stable27 2023-08-22 08:57:02 +02:00
Nextcloud bot 80480279de Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-22 00:52:06 +00:00
Anna Larch 818ddb02c5 fix: don't emit Hooks when hookpaths are empty
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-08-21 09:58:21 +02:00
Nextcloud bot c735c6f67a Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-21 00:27:51 +00:00
Nextcloud bot e17555b553 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-20 00:34:05 +00:00
Ferdinand Thiessen a922283055 Merge pull request #39919 from nextcloud/fix/legacy-files-list-sorting
[stable27] fix(files): Fix legacy files list sorting
2023-08-19 16:22:39 +02:00
Ferdinand Thiessen cb5c1725d1 fix(files): Fix legacy files list sorting
The sorting was not saved since files2vue changes in Nextcloud 27, as a new API endpoint
was introduced and the old one was dropped without adjusting the legacy file list to use it.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-08-19 15:08:39 +02:00
Joas Schilling cb894ebede Merge pull request #39962 from nextcloud/backport/39961/stable27
[stable27] fix(CS): Use the naming pattern for the URL scheme
2023-08-19 10:44:30 +02:00
Christopher Ng b0ca81aaa5 chore: compile assets
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2023-08-19 10:14:30 +02:00
Joas Schilling b483cab3c0 fix(CS): Use the naming pattern for the URL scheme
Signed-off-by: Joas Schilling <coding@schilljs.com>
(cherry picked from commit bf2a9aa46d)
2023-08-19 10:14:30 +02:00
Nextcloud bot 464881da02 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-19 00:34:11 +00:00
Joas Schilling 820d05dfa7 Merge pull request #39947 from nextcloud/backport/39910/stable27
[stable27] fix(memcache): Fix comparison of Memcache configs to classes
2023-08-18 13:21:01 +02:00
Robin Appelman dbc80b02b9 don't bother checking dav acl's in files
any permissions for files is handled in the filesystem layer anyway

Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-08-18 08:08:34 +00:00
Simon L e9c15980fb [stable27] allow to upgrade from 26.0.x to 27.1.x directly
Signed-off-by: Simon L <szaimen@e.mail.de>

Signed-off-by: Simon L. <szaimen@e.mail.de>
2023-08-18 09:34:15 +02:00
Nextcloud bot 7901a7059f Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-18 00:36:00 +00:00
Max f32dccd540 fix: always use display name from correct backend
Overwrite the display name after the account is initialized
when using an instacne of IGetDisplayNameBackend.

Before when using a variation of user_oidc and registering
a Backend.php implementing IGetDisplayNameBackend
the personal setting page shows 'uid'.

The UserManager/AccountManager seems not to use consistently
the correct backend.

The correct backend is used in this sequence:

server/lib/private/TemplateLayout.php

          $userDisplayName = \OC_User::getDisplayName();
          $this->assign(user_displayname, $userDisplayName);

In the settings page, it definitely not calls the registered backend,
but seems to fall back to default Backend and shows (usually) uid
or a value from the standard account property table.

Signed-off-by: Max <max@nextcloud.com>
2023-08-17 21:49:28 +00:00
Joas Schilling 30a9ba05d2 fix(memcache): Fix comparison of Memcache configs to classes
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-08-17 21:08:09 +00:00
Ferdinand Thiessen 362acd93aa Merge pull request #39930 from nextcloud/backport/39906/stable27
[stable27] Prevent PHP warning when CacheEntry extension keys are not set
2023-08-17 15:59:41 +02:00
Ferdinand Thiessen 752523f874 fix: Prevent PHP warnings when optional CacheEntry attributes are unset
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-08-17 09:48:53 +00:00
Ferdinand Thiessen 258a85d5c7 tests: Add test for CacheEntry getters
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-08-17 09:48:53 +00:00
John Molakvoæ c3108e52fe Merge pull request #39908 from nextcloud/release/27.1.0_beta_2 2023-08-17 10:10:15 +02:00
John Molakvoæ 0c222eb6d1 Merge pull request #39921 from nextcloud/backport/39916/stable27 2023-08-17 08:07:24 +02:00
Nextcloud bot 0b2439aa7b Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-17 00:33:58 +00:00
Simon L cfc4d2ec05 try to fix regression with public file upload button
Signed-off-by: Simon L <szaimen@e.mail.de>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-08-16 22:51:34 +00:00
Julius Härtl 5c521da9e4 Merge pull request #39873 from nextcloud/backport/39786/stable27 2023-08-16 20:54:33 +02:00
Ferdinand Thiessen bddf9f417e Merge pull request #39913 from nextcloud/fix/stable27-filepicker-update
Update `@nextcloud/dialogs` to 4.2.0-beta.3 to fix FilePicker issues
2023-08-16 20:29:28 +02:00
Simon L 843598cf80 Merge pull request #39915 from nextcloud/backport/39884/stable27
[stable27] adjust add button
2023-08-16 18:37:43 +02:00
nextcloud-command abc64fb65c chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-08-16 16:15:10 +00:00
Simon L cf335c93af address review
Signed-off-by: Simon L <szaimen@e.mail.de>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-08-16 17:45:12 +02:00
Simon L cfd0f2c198 adjust add button
Signed-off-by: Simon L <szaimen@e.mail.de>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-08-16 17:45:06 +02:00
Ferdinand Thiessen 3cf2252b91 fix: Update @nextcloud/dialogs to 4.2.0-beta.3 to fix FilePicker issues
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-08-16 17:05:47 +02:00
John Molakvoæ 8065a2f635 Merge pull request #39904 from nextcloud/backport/38397/stable27 2023-08-16 15:44:16 +02:00
Julius Härtl 6c05eb95ee fix: Also cleanup version metadata if expiring
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-08-16 15:44:06 +02:00
John Molakvoæ f95ed098c5 Merge pull request #39871 from nextcloud/backport/38714/stable27
[stable27] select the fileid first when looking for incomplete files
2023-08-16 15:43:43 +02:00
John Molakvoæ de7822477c Merge pull request #39858 from nextcloud/backport/39568/stable27 2023-08-16 15:43:10 +02:00
John Molakvoæ 29407c2764 Merge pull request #39817 from nextcloud/backport/39700/stable27 2023-08-16 15:42:43 +02:00
John Molakvoæ c42a3e95b3 27.1.0 beta 2
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2023-08-16 15:37:08 +02:00
Johannes Merkel 8dae579261 enh(contacts): show/hide addressbooks for all
Signed-off-by: Johannes Merkel <mail@johannesgge.de>
2023-08-16 10:47:40 +00:00
Andy Scherzinger 5af9b6cb99 Merge pull request #39893 from nextcloud/fix/stable27-filepicker-ref
[stable27] Fix smart picker integration of new Vue based file picker
2023-08-16 07:38:23 +02:00
Nextcloud bot 25baaefef7 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-16 00:25:46 +00:00
Ferdinand Thiessen 33afa7130a fix(files): Files reference picker migrated to new file picker
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-08-15 22:41:08 +02:00
Pytal 493d164dfb Merge pull request #39887 from nextcloud/backport/39876/stable27 2023-08-15 09:55:04 -07:00
Andy Scherzinger c535210496 Merge pull request #39886 from nextcloud/backport/39885/stable27
[stable27] Bump Hub 5 -> Hub 6
2023-08-15 17:53:58 +02:00
Christopher Ng 95688ea412 fix(files_reminders): Delete reminders on node deleted
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2023-08-15 15:48:59 +00:00
Christopher Ng 6f879f24db fix(files_reminders): Always respect json output option
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2023-08-15 15:48:59 +00:00
Christopher Ng efd1e11f31 fix(files_reminders): Allow non-admin
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2023-08-15 15:48:59 +00:00
Andy Scherzinger b9d372c587 BUmp Hub 5 -> Hub 6
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-08-15 15:10:44 +00:00
Nextcloud bot 75d7dc78a0 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-15 00:59:46 +00:00
Pytal 5df864b69b Merge pull request #39855 from nextcloud/backport/39820/stable27 2023-08-14 17:15:43 -07:00
F. E Noel Nfebe fe7d4ba784 Merge pull request #39853 from nextcloud/manual/backport/39804/wrap-org-name-login-form
[stable27] Wrap long productName on login form
2023-08-14 21:33:20 +01:00
fenn-cs 41819791f9 Wrap long productName on login form
Backport : #39848

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-08-14 20:18:08 +00:00
Robin Appelman a5cd892caa select the fileid first when looking for incomplete files
this seems to improve mariadbs index selection

Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-08-14 18:58:47 +00:00
Christopher Ng b92988cc01 Add l10n for files_reminders
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2023-08-14 11:54:48 -07:00
Robin Appelman 526a1404c0 cache calendar objects from calendarQuery
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-08-14 09:10:19 +00:00
Robin Appelman 234ae93f18 preload shares for calendars when listing calendars
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-08-14 09:10:19 +00:00
Nextcloud bot 76efab3c7c Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-14 09:06:01 +00:00
Nextcloud bot 6e68b866b9 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-14 00:26:10 +00:00
Nextcloud bot 3e7ca2b916 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-13 00:25:10 +00:00
Nextcloud bot 06e3df8329 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-12 00:27:51 +00:00
Christopher Ng 6dc9438eee test(updatenotification): No internet
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit de4bc44f95)
2023-08-11 16:31:36 -07:00
Christopher Ng 0c3324f478 fix(updatenotification): Skip update check
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit b63dbae68a)
2023-08-11 16:31:36 -07:00
Daniel Kesselberg f10972e2fe fix: close cursor after reading the invitation
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2023-08-11 16:37:37 +00:00
Benjamin Gaussorgues acd4e5dc0f Merge pull request #39813 from nextcloud/fix/bump-nextcloud-vue/7.12.2-in-stable27
[stable27] chore: update `@nextcloud-vue` to `v7.12.2`
2023-08-11 16:15:11 +02:00
Benjamin Gaussorgues 8f1dbeff20 chore: update @nextcloud-vue to v7.12.2
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-08-11 11:48:31 +00:00
John Molakvoæ b871ef7935 Merge pull request #39757 from nextcloud/release/27.1.0 2023-08-11 09:06:57 +02:00
John Molakvoæ cc97d03b72 Merge branch 'stable27' into release/27.1.0
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2023-08-11 09:06:46 +02:00
John Molakvoæ cb17127451 Merge pull request #39785 from nextcloud/backport/39741/stable27 2023-08-11 09:05:54 +02:00
John Molakvoæ 0642cecaae Merge pull request #39746 from nextcloud/backport/39058/stable27 2023-08-11 09:05:36 +02:00
John Molakvoæ bb06aadda9 Merge pull request #39722 from nextcloud/backport/39698/stable27 2023-08-11 09:05:22 +02:00
John Molakvoæ 58f1fffde4 Merge pull request #39710 from nextcloud/backport/39689/stable27 2023-08-11 09:05:05 +02:00
John Molakvoæ 5ec25e9e9a Merge pull request #38526 from nextcloud/backport/38520/stable27 2023-08-11 09:03:37 +02:00
Jérôme Herbinet 26d1416d11 Improved display of app links
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-08-11 08:23:27 +02:00
John Molakvoæ e20d10ce19 Merge pull request #39637 from nextcloud/backport/8c846ce1035052d9450495da2a056e31e8560899 2023-08-11 08:21:02 +02:00
nextcloud-command 2a618531fd chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-08-11 08:00:48 +02:00
Ferdinand Thiessen 05c71eb6fc feat(settings): Show supported apps on app settings if subscribed
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-08-11 07:57:34 +02:00
John Molakvoæ c239d69bb7 Merge pull request #39799 from nextcloud/appecosystem-auth-stable27 2023-08-11 07:56:16 +02:00
Nextcloud bot 9df163c656 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-11 00:30:19 +00:00
Andrey Borysenko c2a8280743 Fix psalm ci (stub). Wrap server container with try-catch
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
2023-08-11 01:37:01 +02:00
Alexander Piskun ebf21bed51 added Application Ecosystem V2 login handler
Signed-off-by: Alexander Piskun <bigcat88@icloud.com>
2023-08-11 01:37:01 +02:00
Andy Scherzinger d46779711c Merge pull request #39803 from nextcloud/feat/stable27-update-dialogs
[stable27] Update `@nextcloud/dialogs` for FilePicker design fixes
2023-08-11 01:36:14 +02:00
Ferdinand Thiessen 856d800ba6 chore: Update @nextcloud/dialogs to 4.2.0-beta.2 for fixing FilePicker designs
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-08-11 01:19:03 +02:00
Ferdinand Thiessen aa73590338 Merge pull request #39793 from nextcloud/feat/vue-filepicker-27
[stable27] Vue based FilePicker
2023-08-11 01:07:51 +02:00
Ferdinand Thiessen 376f46e475 fix: Move broken filepicker selenium tests to cypress
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-08-10 23:47:56 +02:00
Ferdinand Thiessen 631a1f917b fix(cypress): Fix the user theming cypress test for the new filepicker
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-08-10 23:47:41 +02:00
Ferdinand Thiessen b73586563d feat: Add new Vue FilePicker from @nextcloud/dialogs and use it by default.
Still providing the legacy one until the Vue FilePicker is out of beta.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-08-10 23:47:40 +02:00
Andy Scherzinger 1f0eb714aa Merge pull request #39800 from nextcloud/backport/39798/stable27
[stable27] enh(files_reminders): Adjust reminder options
2023-08-10 23:23:02 +02:00
Christopher Ng 556da6674c chore: compile assets
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 17cc3b36028d2d50f43b92acc7b2d0f2397c2710)
2023-08-10 11:23:17 -07:00
Christopher Ng 70f7fe6e0d enh(files_reminders): Adjust reminder options
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 9d93588a5d757fb34cd851e0d140a8f8883120dc)
2023-08-10 11:17:08 -07:00
Julius Härtl edc0df32e1 Merge pull request #39794 from nextcloud/backport/39789/stable27 2023-08-10 19:55:53 +02:00
nextcloud-command 79e7ecf77d chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-08-10 16:29:37 +00:00
Julius Härtl cff9a567d2 fix: Pass proper viewer filename
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-08-10 17:50:47 +02:00
Andy Scherzinger 77119282af Merge pull request #39783 from nextcloud/backport/39685/stable27
[stable27] feat: Set file reminders
2023-08-10 16:58:14 +02:00
Simon L 6d07a29f18 Merge pull request #39795 from nextcloud/backport/39780/stable27
[stable27] log imaginary errors as info to not spam the server logs
2023-08-10 15:35:39 +02:00
Simon L 3f51e2d58b log imaginary errors as info to not spam the server logs
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-10 12:45:43 +00:00
Jamie McClelland b025e67d8d ensure outerquery ->where() function doesn't clobber earier ->andWhere()
Signed-off-by: Jamie McClelland <jm@mayfirst.org>
2023-08-10 12:54:20 +02:00
Jamie McClelland 6de2eccb7b optimize calendar search query
see https://github.com/nextcloud/calendar/issues/4758

Signed-off-by: Jamie McClelland <jm@mayfirst.org>
2023-08-10 12:54:20 +02:00
Christopher Ng a3c333c69f chore: compile assets
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 1d2ec6bb0b)
2023-08-10 12:28:19 +02:00
Christopher Ng 87f9700ff5 enh: set later today to 6pm
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 9d43583b47)
2023-08-10 12:28:19 +02:00
Christopher Ng 0c0ed382f8 enh: pass params in subject
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 86db2d7f15)
2023-08-10 12:28:19 +02:00
Christopher Ng 15ade72d18 chore: compile assets
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 38e4ba211d)
2023-08-10 12:28:19 +02:00
Christopher Ng 6c89550bc6 enh: move to 8am
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit ffd68a80fc)
2023-08-10 12:28:19 +02:00
Christopher Ng f6a84410ed enh: en dash
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit ce3119ef07)
2023-08-10 12:28:19 +02:00
Christopher Ng c71db8aada feat: custom date & time
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 597abe0a1e)
2023-08-10 12:28:19 +02:00
Christopher Ng 271122e05a enh: remove icons
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit d086fe38cc)
2023-08-10 12:28:19 +02:00
Christopher Ng fa4840976e refactor: format options
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit dbe8ba2b1d)
2023-08-10 12:28:19 +02:00
Christopher Ng e5e5c97668 enh: use alarm icon
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 893da9c395)
2023-08-10 12:28:19 +02:00
Christopher Ng 72bcafbc0f fix: remove non-existing reminder notification
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 0b15feec7f)
2023-08-10 12:28:19 +02:00
Christopher Ng 0131005066 fix: load script
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 89692cf8a1)
2023-08-10 12:28:19 +02:00
Christopher Ng 3bba555891 fix: eslint
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 683041cdb8)
2023-08-10 12:28:19 +02:00
Christopher Ng 6335282d22 enh: add clean up buffer
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 18fb955a41)
2023-08-10 12:28:19 +02:00
Christopher Ng 68f4a134d7 feat(files_reminders): v1.0.0
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 7af30fcf87)
2023-08-10 12:28:19 +02:00
Christopher Ng 64cd84b897 fix: composer
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 7a4c200db3)
2023-08-10 12:28:19 +02:00
Christopher Ng d498414b39 enh: use vue-material-design-icons
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit d1367ec779)
2023-08-10 12:28:19 +02:00
Christopher Ng d13b8dd7b5 fix: indent with tabs
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 41856fb8ca)
2023-08-10 12:28:19 +02:00
Christopher Ng effc2105c5 enh: shorten date string if same day
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 440959a014)
2023-08-10 12:28:19 +02:00
Christopher Ng 2139e33fb3 enh: rename to saturday sunday
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit c2dfc42899)
2023-08-10 12:28:19 +02:00
Christopher Ng 3248e3f961 enh: later today 3 hours later
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 07c0f7e25b)
2023-08-10 12:28:19 +02:00
Christopher Ng ec8f8ce2a0 feat(files_reminders): add set reminder actions
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 5e4881b90c)
2023-08-10 12:28:19 +02:00
Christopher Ng 33c48616a8 feat(files_reminders): add verbose date string util
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 419bea67dd)
2023-08-10 12:28:19 +02:00
Christopher Ng 103f2c6bc3 fix: prevent sidebar from opening
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 10a921ea33)
2023-08-10 12:28:19 +02:00
Christopher Ng 118ea83b41 feat(files_reminders): mount set reminder actions
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 10b0d6737e)
2023-08-10 12:28:19 +02:00
Christopher Ng dd36606de5 feat(files_reminders): add types
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit fdfdb2ac3b)
2023-08-10 12:28:19 +02:00
Christopher Ng b10a1a7212 feat(files_reminders): add webpack module
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 2089fbaf82)
2023-08-10 12:28:19 +02:00
Christopher Ng 1af7287490 feat(files_reminders): add logger
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 5ca3770fb0)
2023-08-10 12:28:19 +02:00
Christopher Ng c2be544c41 fix: action icon color
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit e6cbb38175)
2023-08-10 12:28:19 +02:00
Christopher Ng b57a884a20 feat(files_reminders): emit action menu opened
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 1acdb73a7d)
2023-08-10 12:28:19 +02:00
Christopher Ng 5c6925dd8e feat(files_reminders): register file action
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit d6bf9e3c10)
2023-08-10 12:28:19 +02:00
Christopher Ng 1d4663270e feat(files_reminders): add datetime utils
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit e97206bb06)
2023-08-10 12:28:19 +02:00
Christopher Ng ec4d660377 fix: frontend ocs
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 00da82aa47)
2023-08-10 12:28:19 +02:00
Christopher Ng c25ed870d8 fix: due date nullable
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit efed517976)
2023-08-10 12:28:19 +02:00
Christopher Ng a3abb0b188 feat(files_reminders): add reminder service
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 71943eb1a4)
2023-08-10 12:28:19 +02:00
Christopher Ng 840ec3603c feat(files_reminders): integrate load scripts
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit dec011180a)
2023-08-10 12:28:19 +02:00
Christoph Wurst d97a58dde6 Merge pull request #39784 from nextcloud/feat/caldav/linkify-location-in-email-stable27
[stable27] feat(caldav): linkify location in scheduling mails
2023-08-10 09:32:30 +02:00
Richard Steinmetz e5a0d65af4 feat(caldav): linkify location in scheduling mails
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2023-08-10 08:20:39 +02:00
Nextcloud bot 231cec61ef Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-10 00:26:58 +00:00
Julius Härtl b86e0f685f Merge pull request #39763 from nextcloud/backport/39171/stable27 2023-08-09 18:18:37 +02:00
nextcloud-command 12bea04671 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-08-09 15:01:03 +00:00
Louis Chemineau bb791a895d feat: Use viewer to open and compare versions
Signed-off-by: Louis Chemineau <louis@chmn.me>
2023-08-09 16:49:55 +02:00
Marcel Klehr b2589c8f90 Merge pull request #39776 from nextcloud/backport/39680/stable27 2023-08-09 15:47:55 +02:00
Julien Veyssier 71db3ffad9 compile assets
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2023-08-09 14:58:48 +02:00
Julien Veyssier 240eb8829d bump last version digit
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2023-08-09 14:58:47 +02:00
Julien Veyssier 8a9ad050d0 fix psalm issues
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2023-08-09 14:58:02 +02:00
Julien Veyssier 79d43fadb5 fix eslint issue
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2023-08-09 14:58:02 +02:00
Julien Veyssier 993a559ec6 fix psalm issue
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
(cherry picked from commit f154fe7f8e)
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2023-08-09 14:58:02 +02:00
Julius Härtl 0564bd23f2 feat: Add delete task API
Signed-off-by: Julius Härtl <jus@bitgrid.net>
(cherry picked from commit fca1c309a0)
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2023-08-09 14:58:02 +02:00
Julien Veyssier f363f1153e change sql where order to match index order
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
(cherry picked from commit 05a6a799a7)
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2023-08-09 14:58:02 +02:00
Julien Veyssier 8e657a8945 allow anon text processing scheduling
add a textprocessing_tasks index
convert anotations to method attributes
refactor TP manager
add mapper methods

Signed-off-by: Julien Veyssier <julien-nc@posteo.net>

(cherry picked from commit 41b19cf969)
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2023-08-09 14:58:02 +02:00
Julien Veyssier 6eb18570c0 start implementing ocs endpoint to get task list from user+appId+identifier
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
(cherry picked from commit 9986e02097)
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2023-08-09 14:58:02 +02:00
Marcel Klehr 41918cc8b2 Fix TextProcessing test for 32bit
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2023-08-09 10:43:59 +02:00
Daniel Kesselberg 4bae251baf fix: missing argument for TextProcessing Manager
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2023-08-09 10:40:51 +02:00
Julien Veyssier 2d9a064a5e fix composer autoload files
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
(cherry picked from commit 8d6a6e5242)
2023-08-09 10:28:02 +02:00
Julien Veyssier 0029171c6c fix wrong NcSelect event in AI admin settings
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
(cherry picked from commit a877865fba)
2023-08-09 10:28:02 +02:00
Julien Veyssier 67fa798dc0 polish AI admin settings UI
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
(cherry picked from commit 0ace67c762)
2023-08-09 10:28:01 +02:00
Julien Veyssier f95cf63895 use DB type constants
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
(cherry picked from commit 601679bd25)
2023-08-09 10:28:01 +02:00
Julien Veyssier 52a1748a0b move long click handlers into methods
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
(cherry picked from commit 577640663b)
2023-08-09 10:28:00 +02:00
Marcel Klehr 8dee7d082c Admin AI settings: Use ContainerInterface instead of IServerContainer
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 7adb2ce819)
2023-08-09 10:28:00 +02:00
Marcel Klehr 3d9a588c77 Admin AI settings: Improve a11y of machine translation precendence
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 830692cebd)
2023-08-09 10:27:59 +02:00
Marcel Klehr dbcfef1335 Update apps/settings/src/components/AdminAI.vue
Co-authored-by: Julien Veyssier <julien-nc@posteo.net>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit ff39466e4f)
2023-08-09 10:27:59 +02:00
Marcel Klehr d13ceb3a41 Update apps/settings/src/components/AdminAI.vue
Co-authored-by: Julien Veyssier <julien-nc@posteo.net>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 3ca44282d0)
2023-08-09 10:27:58 +02:00
Marcel Klehr f4160e0fef Fix typo
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit a0eaed0296)
2023-08-09 10:27:58 +02:00
Marcel Klehr 50adc8c9ab Migration: Drop llm_tasks table and add textprocessing_tasks
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit ad3f353335)
2023-08-09 10:27:58 +02:00
Marcel Klehr 4b97ec7c65 AI admin settings: lint:fix
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit be7487b559)
2023-08-09 10:27:47 +02:00
Marcel Klehr 9e6a864dcc AI admin settings: lint:fix
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit a193458e38)
2023-08-09 10:27:47 +02:00
Marcel Klehr 8507112f90 AI admin settings: lint:fix
Signed-off-by: Marcel Klehr <mklehr@gmx.net>

(cherry picked from commit 112268a48a)
2023-08-09 10:27:46 +02:00
Marcel Klehr 832e0d392d AI admin settings: cs:fix
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 4ec150c9b6)
2023-08-09 10:22:49 +02:00
Marcel Klehr 6c8c047b4d AI admin settings: strict_types
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit f72f3f7df4)
2023-08-09 10:22:49 +02:00
Marcel Klehr 40d4da1319 AI admin settings: Update composer autoloaders
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit aa74d6fd31)
2023-08-09 10:22:34 +02:00
Marcel Klehr 850a92ec88 AI admin settings: Add a draggable icon in UI for translation provider precedence
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 2d29413d5d)
2023-08-09 10:22:33 +02:00
Marcel Klehr 7fd0b1b49d AI admin settings: Use config values in AI feature managers
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 2a3ef102f7)
2023-08-09 10:22:33 +02:00
Marcel Klehr 674fd354b5 AI admin settings: Add save mechanism
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit a840e8c6e5)
2023-08-09 10:22:32 +02:00
Marcel Klehr d4b2012b21 fix(TextProcessing): Inject L10N\IFactory instead of IL10N
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 8ec1926aba)
2023-08-09 10:22:32 +02:00
Marcel Klehr 43926a2c17 AI Admin settings: Implement mt settings, stt settings and tp settings
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 4e33d04444)
2023-08-09 10:22:31 +02:00
Marcel Klehr cc5818f8a9 First pass at ai admin settings
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit fc9780a41d)
2023-08-09 10:22:31 +02:00
Marcel Klehr ad645c96f3 Fix tests: Adjust constructor signature
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 6d568b0d32)
2023-08-09 10:05:24 +02:00
Marcel Klehr cac51714e2 Fix tests: Adjust constructor signature
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit fd0fd97a65)
2023-08-09 10:05:24 +02:00
Marcel Klehr 00e3fb143f Remove Task::factory method
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 7389567c7d)
2023-08-09 10:05:23 +02:00
Marcel Klehr 96ec6ff5ea Fix psalm errors
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit d63c122ec0)
2023-08-09 10:05:23 +02:00
Marcel Klehr 2d296ce698 cs:fix
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 2811932247)
2023-08-09 10:05:21 +02:00
Marcel Klehr 4118baa412 Update autoloaders
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit add5962b4c)
2023-08-09 10:05:21 +02:00
Marcel Klehr 322bb9763a Apply suggestions from code review
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 590eefea70)
2023-08-09 10:05:13 +02:00
Marcel Klehr 87ac99582b Fix psalm errors
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit df1cf18f36)
2023-08-09 10:05:11 +02:00
Marcel Klehr d8c44da4f4 Fix psalm errors
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 95d2d3af5c)
2023-08-09 10:05:09 +02:00
Marcel Klehr cf2c42ae36 Massive refactoring: Turn LanguageModel OCP API into TextProcessing API
Signed-off-by: Marcel Klehr <mklehr@gmx.net>

(cherry picked from commit ffe27ce14c)
2023-08-09 10:05:05 +02:00
Marcel Klehr 696a45ddf1 Update core/Controller/LanguageModelApiController.php
Co-authored-by: Kate <26026535+provokateurin@users.noreply.github.com>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit bd45c436eb)
2023-08-09 10:02:34 +02:00
Marcel Klehr 5d975b96e7 Update core/Controller/LanguageModelApiController.php
Co-authored-by: Kate <26026535+provokateurin@users.noreply.github.com>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit d430cbbfca)
2023-08-09 10:02:32 +02:00
Marcel Klehr 6f5119c093 Fix openapi docs
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 48c8206538)
2023-08-09 10:02:30 +02:00
Marcel Klehr fbd178ab8b Update core/Controller/LanguageModelApiController.php
Co-authored-by: Kate <26026535+provokateurin@users.noreply.github.com>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit b7c3b50e41)
2023-08-09 10:02:28 +02:00
Marcel Klehr 8acb1dc475 Since 27.1.0
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 069962d04f)
2023-08-09 10:02:26 +02:00
Marcel Klehr 1ad0a2960e LanguageModelApiController: Use jsonSerialize method to help psalm
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 49ea56b306)
2023-08-09 10:02:25 +02:00
Marcel Klehr a39e3c90e9 cs:fix
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit a4578cd995)
2023-08-09 10:02:22 +02:00
Marcel Klehr 6b2687eb11 LLM OCP API: Change Tests to use EventDispatcher mock
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit bf2dcd67f3)
2023-08-09 10:02:20 +02:00
Marcel Klehr 15f08a7487 LLM OCP API: Improve scheduleTask docblock
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 9f405a19f7)
2023-08-09 10:02:18 +02:00
Marcel Klehr 39d59a10b1 LLM OCP API: Fix OpenApi docs
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit ea4dc4cba8)
2023-08-09 10:02:17 +02:00
Marcel Klehr 17351b64ec LLM OCP API: Fix psalm issues
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit de1cfaae9c)
2023-08-09 10:02:16 +02:00
Marcel Klehr 5e86054858 LLM OCP API: Avoid using OC in OCP
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 8f1a4f4255)
2023-08-09 10:02:14 +02:00
Marcel Klehr 413a4f63ee OCP\Common\NotFoundException: Add param type
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 3974953464)
2023-08-09 10:02:11 +02:00
Marcel Klehr d578974b81 LLM OCP API: Simplify TaskBackgroundJob#run catch block
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 9ccc65d68c)
2023-08-09 10:02:09 +02:00
Marcel Klehr 4ce77b9d56 LLM OCP API: Explain TaskBackgroundJob#setAllowParallelRuns
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit e810a8b66b)
2023-08-09 10:02:07 +02:00
Marcel Klehr ddb2726140 LLM OCP API: Don't lose trace of wrapped exceptions
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 05fcf31987)
2023-08-09 10:02:05 +02:00
Marcel Klehr 39bc710d17 LLM OCP API: Simplify LanguageModelManager#canHandleTask
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 945522768e)
2023-08-09 10:02:04 +02:00
Marcel Klehr 70e65ff7a3 LLM OCP API: s/getAvailableTasks/getAvailableTaskClasses/
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit d56286b8ac)
2023-08-09 10:02:00 +02:00
Marcel Klehr 3350811ce3 LLM OCP API: Add missing copyright and strict types
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit a28d8fac2f)
2023-08-09 10:01:58 +02:00
Marcel Klehr b0cb5a43c7 LLM Migration: Return null if nothing changed
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 0909657ea0)
2023-08-09 10:01:57 +02:00
Marcel Klehr 9a36bb4f91 Update lib/public/LanguageModel/Events/TaskFailedEvent.php
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit bad124c07b)
2023-08-09 10:01:55 +02:00
Marcel Klehr 7a423e416f Update lib/public/LanguageModel/ILanguageModelProvider.php
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit ba950f7e34)
2023-08-09 10:01:53 +02:00
Marcel Klehr 22a93bfc3a Apply suggestions from code review
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 95d2bd50da)
2023-08-09 10:01:50 +02:00
Marcel Klehr e312b2bdd2 LLM OCS API: Add OpenAPI docs
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 61b9b4f474)
2023-08-09 10:01:48 +02:00
Marcel Klehr 8567315c93 LLM OCS API: s/tasks/tasktypes/
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit d33b7a8da4)
2023-08-09 10:01:46 +02:00
Marcel Klehr d9f2aaf869 LLM OCP API: Fix psam error
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 0a0e812453)
2023-08-09 10:01:43 +02:00
Marcel Klehr 7320011948 LLM OCP API: Fix psam errors
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit d6d4e0ffe3)
2023-08-09 10:01:40 +02:00
Marcel Klehr 445b72a93c LLM OCP API: Fix security issue
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit f7e1e79880)
2023-08-09 10:01:36 +02:00
Marcel Klehr 8f0618de9f LLM OCP API: Fix psalm error
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 62b19e0675)
2023-08-09 10:01:33 +02:00
Marcel Klehr ffedcebc50 LLM OCP API: Add identifier param
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit f6f8cb4331)
2023-08-09 10:01:31 +02:00
Marcel Klehr 97a4a063f4 Apply suggestions from code review
Co-authored-by: Christoph Wurst <ChristophWurst@users.noreply.github.com>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 5b772468ad)
2023-08-09 10:01:29 +02:00
Marcel Klehr 4447d59d17 cs:fix
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit fb657bfff8)
2023-08-09 10:01:28 +02:00
Marcel Klehr 8197403de1 Fix LanguageModelManager#runTask: Insert task into db if it doesn't exist
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 1747068e51)
2023-08-09 10:01:25 +02:00
Marcel Klehr 09a8541d74 Add test for task cleanup
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit c568c4a464)
2023-08-09 10:01:23 +02:00
Marcel Klehr e7179598c7 Make tests pass
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 66c0e6b9f7)
2023-08-09 10:01:21 +02:00
Marcel Klehr d21f7bf1fb Fix tests
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 20cb9935ca)
2023-08-09 10:01:20 +02:00
Marcel Klehr a4627508e8 Add preliminary tests
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit ebc7631544)
2023-08-09 10:01:18 +02:00
Marcel Klehr c1085bf1d7 ILanguageModelTask: Use php type checking along with psalm parameterized types
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 27e1c86652)
2023-08-09 10:01:17 +02:00
Marcel Klehr 970d6886e6 ILanguageModelManager: Add docblock description
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 0a94525042)
2023-08-09 10:01:13 +02:00
Marcel Klehr 2234497c49 TaskMapper#update: Use time factory
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 1623ad9eda)
2023-08-09 10:01:12 +02:00
Marcel Klehr 91325efa78 Add tasks::last_updated column and vacate tasks after a week
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit cb0f918d21)
2023-08-09 10:01:10 +02:00
Marcel Klehr 44ce285469 cs:fix
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 1d3661ded9)
2023-08-09 10:01:08 +02:00
Marcel Klehr e90dd4a000 LLM OCP API: Fix copyright
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 94fcf88892)
2023-08-09 10:01:05 +02:00
Marcel Klehr fb9262e864 LLM OCP API: Use OCP\Common\Exception\NotFoundException
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit b00a9a6eae)
2023-08-09 10:01:02 +02:00
Marcel Klehr d203e3ad8d OCP: Introduce OCP\Common\Exception\NotFoundException
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit a7cd6bf5b8)
2023-08-09 10:01:00 +02:00
Marcel Klehr ddeaaeace0 LLM OCP API: strict types and copyright
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 83db23ea48)
2023-08-09 10:00:58 +02:00
Marcel Klehr c8bbe8fc75 LLM OCP API: Type shenanigans for Visitor pattern
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 906e9b7014)
2023-08-09 10:00:56 +02:00
Marcel Klehr 4405027471 Apply suggestions from code review
Co-authored-by: Daniel <mail@danielkesselberg.de>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 8e4aa92167)
2023-08-09 10:00:52 +02:00
Marcel Klehr 4e3ca11fee Update lib/public/AppFramework/Bootstrap/IRegistrationContext.php
Co-authored-by: Daniel <mail@danielkesselberg.de>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit fb55afc9ff)
2023-08-09 10:00:43 +02:00
Marcel Klehr 1ac86d2c62 LLM OCP API: Commit autoloaders
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 5bc6180b38)
2023-08-09 10:00:39 +02:00
Marcel Klehr ecda18b515 LLM OCP API: Add task definitions
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit fb4de16c11)
2023-08-09 10:00:33 +02:00
Marcel Klehr 6320c68c3b Update lib/public/LanguageModel/ITopicsProvider.php
Co-authored-by: Julien Veyssier <julien-nc@posteo.net>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 249dd5cce4)
2023-08-09 10:00:30 +02:00
Marcel Klehr dd7eafaa48 LLM OCP API: Fix coding style and psalm
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 72ea76178a)
2023-08-09 10:00:24 +02:00
Marcel Klehr 612af73d92 LLM OCP API: cs:fix
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 75d7af86ac)
2023-08-09 10:00:22 +02:00
Marcel Klehr 02c78be790 LLM OCP API: Fix static analysis
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit fac83ce4b6)
2023-08-09 10:00:16 +02:00
Marcel Klehr 0024f0d1cb LLM OCP API: Add @since
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 9935034480)
2023-08-09 10:00:13 +02:00
Marcel Klehr dbd9420ebe LLM OCP API: Fix type errors
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit b6a95e35b0)
2023-08-09 10:00:07 +02:00
Marcel Klehr 01db2cff5a LLM OCP API: Make linters happy
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit b8a9f08d83)
2023-08-09 10:00:05 +02:00
Marcel Klehr 76a5db8867 LLM OCP API: cs:fix
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit b6941aa5c3)
2023-08-09 10:00:03 +02:00
Marcel Klehr 236c32b13f LLM OCP API: Implement ocs API
Signed-off-by: Marcel Klehr <mklehr@gmx.net>

(cherry picked from commit 795b097122)
2023-08-09 09:59:58 +02:00
Marcel Klehr 5807c431b8 LLM OCP API: ADd topics and headline tasks
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 9d5717d239)
2023-08-09 09:55:30 +02:00
Marcel Klehr 33f3379855 Fix Copyright
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 9e9fc1d99b)
2023-08-09 09:55:27 +02:00
Marcel Klehr ed3672a5c2 LLM OCP API: Add to RegistrationContext
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 82d3b00ab1)
2023-08-09 09:55:24 +02:00
Marcel Klehr 7031072717 LLM OCP API: Add db migration
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 6fc4cb63ef)
2023-08-09 09:55:21 +02:00
Marcel Klehr d20ee42580 LLM OCP API: Implement private backend code + add ILanguageModelTask
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 3413873653)
2023-08-09 09:55:18 +02:00
Marcel Klehr 457f1eb407 LLM OCP API: Rework to use Task objects
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 01dd1a894d)
2023-08-09 09:55:16 +02:00
Marcel Klehr 2e9dea2061 Initial work on lm OCP API
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
(cherry picked from commit 70d5bf79e3)
2023-08-09 09:55:13 +02:00
John Molakvoæ 946305dc08 Merge pull request #39761 from nextcloud/bugfix/noid/fix-3rdparty 2023-08-09 09:28:14 +02:00
Nextcloud bot 2f1d247c3a Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-09 00:50:53 +00:00
Pytal b697522db9 Merge pull request #39764 from nextcloud/backport/39651/stable27 2023-08-08 17:10:58 -07:00
Christopher Ng d3991ee4a8 enh: handle user deleted
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit a806bd0d3c)
2023-08-08 16:29:12 -07:00
Christopher Ng dfba8f4e59 fix: set endpoint description
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 5a11535c51)
2023-08-08 16:29:12 -07:00
Christopher Ng 2e8906fc05 fix(ci): add to enabled apps
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit af98c702e0)
2023-08-08 16:29:12 -07:00
Christopher Ng 33f30f5ea2 fix: ignore non-existing
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 2c4b562cdc)
2023-08-08 16:29:12 -07:00
Christopher Ng a377862ed1 enh: add json output to command
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit e320166b15)
2023-08-08 16:29:12 -07:00
Christopher Ng 0ffb3672fe enh: add codeowner
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 113d061919)
2023-08-08 16:29:12 -07:00
Christopher Ng cdaee2b219 fix: return null if table exists
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit d61916621d)
2023-08-08 16:29:12 -07:00
Christopher Ng 05436ac58e fix: remove unnecessary parsed subject
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 7381c80caf)
2023-08-08 16:29:12 -07:00
Christopher Ng 3b81da97a5 enh: highlight filename
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 7beef657e4)
2023-08-08 16:29:12 -07:00
Christopher Ng fa7985d0fd fix: catch NodeNotFoundException in notifier
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit c4b7056f58)
2023-08-08 16:29:12 -07:00
Christopher Ng 6fc3530b4f fix: exit on reminder not found
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 9e8354e0ac)
2023-08-08 16:29:12 -07:00
Christopher Ng e12ae21745 enh: handle node deleted
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit f865c3ad21)
2023-08-08 16:29:12 -07:00
Christopher Ng 1c6114b21a fix: construct background jobs
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 7617519502)
2023-08-08 16:29:12 -07:00
Christopher Ng 67df58135d fix: remove throwable handling
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 7daf11f8f6)
2023-08-08 16:29:12 -07:00
Christopher Ng ee7aff3342 fix: return ocs data
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 3ade06cd9c)
2023-08-08 16:29:12 -07:00
Christopher Ng 67abe99047 enh: does not exist return null
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 9bd7ddd074)
2023-08-08 16:29:12 -07:00
Christopher Ng 8f54e2c5f7 enh: serialize path
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit db7f5a29f3)
2023-08-08 16:29:12 -07:00
Christopher Ng b77a3757cd enh: comment interval
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit b04d1a70e2)
2023-08-08 16:29:12 -07:00
Christopher Ng 8a410f19b4 enh: return created status code
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit bdf07413d0)
2023-08-08 16:29:12 -07:00
Christopher Ng 332fd3d93b fix: create only if file exists
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit d31302e72c)
2023-08-08 16:29:12 -07:00
Christopher Ng ab357bfe20 feat(files_reminders): add remove endpoint
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 777a791e72)
2023-08-08 16:29:12 -07:00
Christopher Ng fb71f8cec5 fix: update find due query
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 05e454ee61)
2023-08-08 16:29:12 -07:00
Christopher Ng f4c7759257 feat(files_reminders): create or update
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 887058591c)
2023-08-08 16:29:12 -07:00
Christopher Ng e99f1b011a enh: add updated at
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 5ff178a753)
2023-08-08 16:29:12 -07:00
Christopher Ng 3f668f3944 fix: catch Throwable
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 7637bf2ae0)
2023-08-08 16:29:12 -07:00
Christopher Ng c0f327d650 enh: rename to due date
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit fa77564152)
2023-08-08 16:29:12 -07:00
Christopher Ng bb4134af81 enh: add to shipped
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit beb8a27d94)
2023-08-08 16:29:12 -07:00
Christopher Ng ca003e2967 fix: add composer autoload
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit cfbac9b73c)
2023-08-08 16:29:12 -07:00
Christopher Ng 143346b485 feat(files_reminders): add api controller
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit a7892fb682)
2023-08-08 16:29:12 -07:00
Christopher Ng f5036b5e01 enh: implement JsonSerializable
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 774e3e6d4b)
2023-08-08 16:29:12 -07:00
Christopher Ng 5e8668bc1d enh: add created at
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 4fabd77432)
2023-08-08 16:29:11 -07:00
Christopher Ng cbbd0c65e8 enh: use datetime
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 163b059c11)
2023-08-08 16:29:11 -07:00
Christopher Ng 5aca833f21 feat(files_reminders): add list command
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit c8a32a70cd)
2023-08-08 16:29:11 -07:00
Christopher Ng 782a462cad feat(files_reminders): add service and notifier
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit ea5e128fef)
2023-08-08 16:29:11 -07:00
Christopher Ng b195fe7313 feat(files_reminders): add background jobs
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit a3ac1b82da)
2023-08-08 16:29:11 -07:00
Christopher Ng 6da4542391 feat(files_reminders): add info xml
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit b75fac31aa)
2023-08-08 16:29:11 -07:00
Christopher Ng 29a78fef17 feat(files_reminders): add Application
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 59a2ef4ea1)
2023-08-08 16:29:11 -07:00
Christopher Ng 43ac71adee feat: init files_reminders migration
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit e16001b8eb)
2023-08-08 16:29:11 -07:00
Joas Schilling 3852246c07 fix(3rdparty): Revert accidental 3rdparty bump
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-08-08 17:21:25 +02:00
Joas Schilling c5da296d3c Merge pull request #39740 from nextcloud/backport/38613/stable27
[stable27] feat(HTTPClient): Provide wrapped access to Guzzle's asyncRequest()
2023-08-08 16:42:46 +02:00
Andy Scherzinger 5ae0569849 Merge pull request #39755 from nextcloud/backport/39694/stable27
[stable27] expose gps data via webdav
2023-08-08 16:11:31 +02:00
John Molakvoæ a9c474ec54 27.1.0 beta 1
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2023-08-08 16:01:57 +02:00
Robin Appelman 2c4535d2fd preload all requested metadata
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-08-08 13:29:34 +00:00
tobiasKaminsky 963a783747 expose gps data via webdav 2023-08-08 13:29:34 +00:00
John Molakvoæ 9234ae4a0a Merge pull request #39745 from nextcloud/release/27.0.2 2023-08-08 10:20:49 +02:00
Côme Chilliet d47e122180 Avoid adding (attribute=) part to filter which will confuse LDAP servers
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-08-08 07:40:19 +00:00
John Molakvoæ 44df402f05 27.0.2
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2023-08-08 09:25:28 +02:00
Nextcloud bot 6136a8fed2 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-08 00:29:41 +00:00
Joas Schilling 32bfd43d29 feat(HTTPClient): Provide wrapped access to Guzzle's asyncRequest()
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-08-07 15:38:09 +02:00
Nextcloud bot cc66e3bcd1 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-07 00:30:36 +00:00
Nextcloud bot 66a4c6c3d6 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-06 00:25:36 +00:00
John Molakvoæ 0638f58632 fix: simplify sourceData check
Co-authored-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2023-08-05 10:34:12 +00:00
Josh Richards d6fe5acbec Catch more invalid cache source storage paths
OC\Files\Cache\Cache::get can return string|false|null, not just string|false.

- nextcloud/server#26270 added handling of false, but null is needed too.
- Well, or we change the default $resullt to false, but I'm not sure if that has other ramifications and the real need here is to simply catch situations where the cache source storage path is not valid for whatever reason

Related: nextcloud/server#19009

Signed-off-by: Josh Richards <josh.t.richards@gmail.com>
2023-08-05 10:34:11 +00:00
Nextcloud bot 2b4be90b34 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-05 00:29:52 +00:00
Joas Schilling aaa620044c fix(notifications): Remove share notification when the node is deleted
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-08-04 07:52:46 +00:00
Nextcloud bot 72c285f471 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-04 00:30:25 +00:00
Arthur Schiwon 795863c89c Merge pull request #39677 from nextcloud/release/27.0.2_rc1
27.0.2 RC1
2023-08-03 12:55:34 +02:00
Arthur Schiwon 73072114ba Merge pull request #38563 from nextcloud/backport/38549/stable27
[stable27] Fix app menu flicker
2023-08-03 12:54:38 +02:00
Arthur Schiwon c8ceae540c Merge pull request #39059 from nextcloud/backport/31790/stable27
[stable27] Fix creating events with old (< unix time) lastoccurence
2023-08-03 12:22:26 +02:00
ZetaTom bd28a0abfc Fix app menu flicker
Signed-off-by: ZetaTom <70907959+ZetaTom@users.noreply.github.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
Signed-off-by: Jonas <jonas@freesources.org>
2023-08-03 11:50:17 +02:00
Julius Härtl 6587cf4314 Merge pull request #39642 from nextcloud/backport/39629/stable27 2023-08-03 08:47:22 +02:00
Nextcloud bot b599e5808a Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-03 00:28:51 +00:00
Thomas Citharel e08051dbbc style(caldav): improve getDenormalizedData method
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-08-02 21:12:09 +02:00
Thomas Citharel c47942d653 Fix creating events with old (< unix time) lastoccurence
Closes #20804

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-08-02 21:12:09 +02:00
Arthur Schiwon 200b018a2f Merge pull request #39596 from nextcloud/backport/38667/stable27
[stable27] fix(SystemTagManager): Use truncated tagName in getTag and updateTag
2023-08-02 20:59:16 +02:00
Arthur Schiwon 2a8498607a Merge pull request #39554 from nextcloud/backport/39221/stable27
[stable27] Bugfix/bulk upload empty files
2023-08-02 20:57:20 +02:00
Arthur Schiwon 0d96313256 Merge pull request #39499 from nextcloud/backport/38934/stable27
[stable27] fix(s3): Pass SSE-C parameters for multipart upload
2023-08-02 20:55:24 +02:00
Arthur Schiwon 83d114b091 Merge pull request #39448 from nextcloud/backport/38907/stable27
[stable27] Fix: ContactManager search with fullmatch
2023-08-02 20:54:48 +02:00
Arthur Schiwon a0750349fa Merge pull request #39435 from nextcloud/backport/39309/stable27
[stable27] fix(profile): fix getUID on nullable user variable
2023-08-02 20:54:09 +02:00
Arthur Schiwon 0c3fe91239 Merge pull request #39369 from nextcloud/backport/39339/stable27
[stable27] fix(node): non-existing folder is not searchable
2023-08-02 20:53:37 +02:00
Ferdinand Thiessen 500d4b8246 Merge pull request #39665 from nextcloud/backport/39649/stable27
[stable27] fix(files_sharing): String translations
2023-08-02 16:40:02 +02:00
Arthur Schiwon 5c6bc1e3d0 Merge pull request #39678 from nextcloud/backport/39672/stable27
[stable27] fix(dav): use quota of destination in s3 chunk upload
2023-08-02 16:19:36 +02:00
Max 4f2a538b7a fix(dav): use quota of destination in s3 chunk upload
Resolves: #39228.
Check the free space on the destination.

Before it was checking the free space on `$storage`
which is the upload storage of the user who triggered the upload.
This led to user quota being applied
even when uploading to a share with unlimited space.

Signed-off-by: Max <max@nextcloud.com>
2023-08-02 11:58:09 +00:00
Arthur Schiwon bfad626291 27.0.2 RC1
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-08-02 13:53:46 +02:00
Julien Veyssier e33ac4e6a8 Merge pull request #39663 from nextcloud/backport/39527/stable27
[stable27] only show weather credits if the app is enabled and the weather statu…
2023-08-02 10:15:23 +02:00
Nextcloud bot ad511185f7 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-02 00:53:39 +00:00
Christopher Ng 6f30d86a96 fix(files_sharing): String translations
Signed-off-by: Christopher Ng <chrng8@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
(cherry picked from commit 8a51d64b09)
2023-08-01 09:54:38 -07:00
Arthur Schiwon de0e8627e0 only show weather credits if the app is enabled and the weather status is enabled
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-08-01 18:00:30 +02:00
Andy Scherzinger 46da23f018 Merge pull request #39614 from nextcloud/dav-permissions-share-root-write-27
[27] fix share roots always being marked as writable
2023-08-01 16:53:18 +02:00
John Molakvoæ 59fe990632 Merge pull request #39643 from nextcloud/backport/39588/stable27 2023-08-01 14:53:20 +02:00
Max d2008f2d80 fix(files): url used to retrive storage stats
Signed-off-by: Max <max@nextcloud.com>
2023-08-01 09:26:28 +02:00
Nextcloud bot 7ed4493a92 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-01 00:29:52 +00:00
Tobias Zimmerer 46ba7ed60a fix(s3): add SSE-C parameters to headObject call
Signed-off-by: Tobias Zimmerer <3228193+ir0nhide@users.noreply.github.com>
2023-07-31 16:36:16 +00:00
Julien Veyssier 3b5489ae89 Merge pull request #39601 from nextcloud/backport/39537/stable27
[stable27] `/ocs/v1.php/cloud/groups` `UPDATE` method - correct status when group not found
2023-07-31 18:21:29 +02:00
Alexander Piskun d1260b833d to return correct code when group not found
Signed-off-by: Alexander Piskun <bigcat88@icloud.com>
2023-07-31 15:36:06 +02:00
Nextcloud bot 8cb59d3457 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-31 00:30:10 +00:00
Nextcloud bot 68d72bf2db Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-30 00:25:31 +00:00
Nextcloud bot f1e9484ae7 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-29 00:32:21 +00:00
Andy Scherzinger 850db06244 Merge pull request #39612 from nextcloud/backport/39473/stable27
[stable27] fix(IParallelAwareJob): Check for other reserved jobs before setting new ones as reserved
2023-07-28 18:44:59 +02:00
Robin Appelman 2fe6370923 fix share roots always being marked as writable
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-07-28 14:57:06 +02:00
Marcel Klehr 070533efa9 JobTest: Remove outdated tests
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2023-07-28 11:44:39 +00:00
Marcel Klehr c92baafc0f Remove allowParallelRuns check in OCP\BackgroundJob\Job
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2023-07-28 11:44:39 +00:00
Marcel Klehr 2b23be897b cs:fix
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2023-07-28 11:44:39 +00:00
Marcel Klehr 2bc56fef1e Fix ParallelAwareJob tests
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2023-07-28 11:44:39 +00:00
Marcel Klehr ed84fce879 Add test for ParallelAwareJob
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2023-07-28 11:44:39 +00:00
Ferdinand Thiessen 6d9cf9e299 Merge pull request #39566 from nextcloud/fix/filename-files
[stable27] fix(files): fix extension with custom displayName
2023-07-28 12:32:56 +02:00
Nextcloud bot 56a6037cd6 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-28 00:30:56 +00:00
Simon L 7504d28e6c Merge pull request #39543 from nextcloud/automated/noid/stable27-fix-npm-audit
[stable27] Fix npm audit
2023-07-28 00:30:39 +02:00
Marcel Klehr d44a12bb8b fix(SystemTagManager): Use truncated tagName in getTag and updateTag
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2023-07-27 17:03:02 +00:00
Andy Scherzinger 5fbb3bb7f0 Merge pull request #39522 from nextcloud/backport/39264/stable27
[stable27] Add instance category while checking new updates
2023-07-27 12:04:52 +02:00
Nextcloud bot d0ac2b4494 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-27 00:26:09 +00:00
Nextcloud bot 1ceaa3c0eb Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-26 00:57:34 +00:00
John Molakvoæ (skjnldsv) b575404a94 fix(files): fix extension with custom displayName
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-07-25 09:47:57 +00:00
Matthieu Gallien 337b1b3886 when reading an empty file getting EOF is not an error
will allow uploading empty files via bulk upload

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-07-25 11:44:48 +02:00
Nextcloud bot 6278a12c94 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-25 00:25:40 +00:00
Julius Härtl 92ea19e618 Merge pull request #39458 from nextcloud/backport/27/objectstore-without-multipart 2023-07-24 08:28:29 +02:00
Nextcloud bot a0ba7c2c4e Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-24 00:25:43 +00:00
Daniel Kesselberg 5d4a880437 fix: check that object store backend supports multi part uploads
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2023-07-23 16:07:21 +02:00
nextcloud-command 81501c0f31 chore(deps): fix npm audit
Signed-off-by: GitHub <noreply@github.com>
2023-07-23 02:55:32 +00:00
Nextcloud bot dea727f453 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-23 00:28:14 +00:00
Ferdinand Thiessen 97b994941f Merge pull request #39462 from nextcloud/backport/39456/stable27
[stable27] fix: Correctly add `module` content type to script tags with versions
2023-07-23 01:28:51 +02:00
Ferdinand Thiessen ad2727aef8 fix: Correctly add module content type to script tags when scripts with versions are used
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-07-23 00:38:53 +02:00
Nextcloud bot 446b2d283f Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-22 00:31:34 +00:00
Benjamin Gaussorgues 46b462285d Add instance category while checking new updates
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2023-07-21 10:02:58 +00:00
Nextcloud bot 841c5c3527 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-21 00:24:33 +00:00
Arthur Schiwon e9174a4189 Merge pull request #39503 from nextcloud/release/27.0.1
27.0.1
2023-07-20 12:44:55 +02:00
Arthur Schiwon feca3449fa Merge pull request #39491 from nextcloud/backport/39490/stable27
[stable27] fix(apps): Fix loading info.xml file
2023-07-20 12:36:42 +02:00
Arthur Schiwon 642ae54d6f 27.0.1
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-07-20 11:59:39 +02:00
Julius Härtl e25db0e294 fix(s3): Pass SSE-C parameters for multipart upload
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-07-20 09:13:41 +00:00
Joas Schilling 227497705e fix(apps): Fix loading info.xml file
Ref: https://bugs.php.net/bug.php?id=62577

Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-07-20 10:45:58 +02:00
Nextcloud bot 04d19fb1d7 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-20 00:26:24 +00:00
Nextcloud bot 6883c52e9d Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-19 00:26:42 +00:00
Andy Scherzinger 281117a2fb Merge pull request #39454 from nextcloud/backport/39447/stable27
[stable27] Fix sharing of encrypted files
2023-07-18 13:59:48 +02:00
Côme Chilliet d7ef87cc95 Fix sharing of encrypted files
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-07-18 10:00:00 +00:00
Johannes Merkel 7065a5e0e4 fix(mail): ContactManager search with fullmatch
Signed-off-by: Johannes Merkel <mail@johannesgge.de>
2023-07-18 08:52:40 +00:00
Nextcloud bot 855e766cae Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-18 00:24:15 +00:00
Arthur Schiwon 705a4d9f98 Merge pull request #39428 from nextcloud/release/27.0.1_rc2
27.0.1 RC2
2023-07-17 19:43:23 +02:00
Thomas Citharel 56899c1a83 fix(profile): fix getUID on nullable user variable
As per method signature, $visitingUser is nullable, so we can't be sure calling getUid() on it will
work.

Closes #35766

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-07-17 13:24:08 +00:00
Joas Schilling 9fbe979179 Merge pull request #39417 from nextcloud/backport/39416/stable27
[stable27] fix(core): Add password confirmation requirement for getapppassword
2023-07-17 13:55:51 +02:00
Arthur Schiwon 3a84f54ed8 Merge pull request #39374 from nextcloud/backport/39329/stable27
[stable27] fix: also run phpunit on `apps/theming/css` modified files
2023-07-17 12:46:45 +02:00
Arthur Schiwon 25ecdf9f17 27.0.1 RC2
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-07-17 12:41:08 +02:00
Joas Schilling 0ea23b6ef0 fix(core): Add password confirmation requirement for getapppassword
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-07-17 12:09:47 +02:00
Julius Härtl 83f7ea01cd Merge pull request #39396 from nextcloud/backport/39389/stable27 2023-07-17 11:26:00 +02:00
Nextcloud bot 31f07f3192 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-17 00:25:41 +00:00
Nextcloud bot e2cf51a8f7 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-16 00:25:14 +00:00
Nextcloud bot 0ccbad04a9 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-15 00:27:15 +00:00
Arthur Schiwon 1ab5cd1db9 Merge pull request #39392 from nextcloud/backport/39380/stable27
[stable27] fix(db): no hardcoded table prefix is expected
2023-07-14 19:29:21 +02:00
Julius Härtl 18db96c304 feat: Add public event for missing indices
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-07-14 16:29:37 +02:00
Arthur Schiwon 95c8e5c47b fix(db): no hardcoded table prefix is expected
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-07-14 11:29:17 +00:00
Nextcloud bot 2a18283b82 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-14 00:30:08 +00:00
John Molakvoæ fd1796624c fix: also run phpunit on apps/theming/css modified files
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2023-07-13 16:04:32 +00:00
Arthur Schiwon bf00591278 fix(node): non-existing folder is not searchable
the previosuly introduced searchBySystemTag was not overwritten in
NonExistingFolder and could run the inherited method.

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-07-13 14:26:26 +00:00
Arthur Schiwon 4e4a6cec5a Merge pull request #39282 from nextcloud/release/27.0.1_rc1
27.0.1 RC1
2023-07-13 14:56:17 +02:00
Andy Scherzinger 882225867d Merge pull request #39354 from nextcloud/backport/39323/39323-stable27
[stable27] getStorage before remove
2023-07-13 14:17:24 +02:00
Arthur Schiwon eae4a1ea51 Merge pull request #39326 from nextcloud/automated/noid/stable27-update-psalm-baseline
[stable27] Update psalm-baseline.xml
2023-07-13 13:37:11 +02:00
Maxence Lange 6c98f951d5 getStorage before remove
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2023-07-13 10:18:31 -01:00
Andy Scherzinger 1cb90e2cc1 Merge pull request #39344 from nextcloud/ci/sign-drone-stable27
[stable27] chore(CI): Sign .drone.yml file
2023-07-13 12:44:34 +02:00
Arthur Schiwon 00eaf789c6 Merge pull request #38395 from nextcloud/backport/38164/stable27
[stable27] Show pending popover menu when password is enabled by default
2023-07-13 12:11:19 +02:00
Joas Schilling 3f06018c23 chore(CI): Sign .drone.yml file
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-07-13 11:49:34 +02:00
nextcloud-command 8ccff9c88d chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-07-13 06:44:14 +00:00
Daniel Calviño Sánchez 03095bb928 Show pending popover menu when password is enabled by default
When "Enforce password protection" is enabled in the sharing settings a
popover menu is shown to set a password before the share is created. On
the other hand, when "Always ask for a password" was enabled in the
sharing settings and a new link share was created the share was
immediately created with a default password; the user was not able to
specify a password (nor create the share without password).

The component template already provided the needed elements to also ask
for the password without enforcing it, but the popover menu was not
shown due to "enableLinkPasswordByDefault" being missing in "if"
conditions.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2023-07-13 07:34:55 +02:00
Daniel Calviño Sánchez 024141db54 Rename "pendingPassword" to "pendingEnforcedPassword"
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2023-07-13 07:34:55 +02:00
Nextcloud bot 09ff81267c Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-13 00:29:43 +00:00
Arthur Schiwon 2f75ab3a96 Merge pull request #38991 from nextcloud/backport/38665/stable27
[stable27] fix(weather_status): Pass address as param to OSM API
2023-07-12 23:43:16 +02:00
Arthur Schiwon 592aeec17e Merge pull request #38919 from nextcloud/backport/38639/stable27
[stable27] pruneOutdatedSyncTokens deletes all entries
2023-07-12 19:50:40 +02:00
Arthur Schiwon e9b582164e Merge pull request #39333 from nextcloud/backport/38950/stable27
[stable27] fix(files): sanitize name and ext display
2023-07-12 19:49:56 +02:00
Ferdinand Thiessen 61f70340ec fix(weather_status): Pass address as param
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-07-12 19:47:17 +02:00
Arthur Schiwon 0f19858a43 Merge pull request #38678 from nextcloud/backport/38655/stable27
[stable27] fix(systemtags): Incorrect tags shown temporarily
2023-07-12 19:35:56 +02:00
Arthur Schiwon 125285bf64 Merge pull request #39334 from nextcloud/backport/39324/stable27
[stable27] ci(32bit): fix failing test setup
2023-07-12 15:05:50 +02:00
John Molakvoæ ea37d1a2ee fix(files): sanitize name and ext display
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-07-12 12:05:42 +00:00
Arthur Schiwon b3b7b5d3fe ci(32bit): fix failing test setup
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-07-12 14:00:48 +02:00
Andy Scherzinger 789f027e2a Merge pull request #39283 from nextcloud/orphan-share-command-stable27
[27] add command do delete orphan shares
2023-07-12 13:12:07 +02:00
nextcloud-command 1c650177f0 Update psalm baseline
Signed-off-by: GitHub <noreply@github.com>
2023-07-12 02:39:06 +00:00
Christopher Ng 6662e140f3 Show loading icon when loading tags
Signed-off-by: Christopher Ng <chrng8@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-07-11 18:34:18 -07:00
Christopher Ng 6cf0cac025 Reset show tags on close
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2023-07-11 18:29:30 -07:00
Ferdinand Thiessen 0a7feab3ce Merge pull request #39325 from nextcloud/automated/noid/stable27-fix-npm-audit
[stable27] Fix npm audit
2023-07-12 03:08:02 +02:00
Nextcloud bot 3d7f3d3b4a Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-12 00:22:12 +00:00
Arthur Schiwon 0f359f385a Merge pull request #39292 from nextcloud/backport/39248/stable27
[stable27] preload custom properties when propfinding folders
2023-07-12 01:06:34 +02:00
Arthur Schiwon 8cfe927f93 Merge pull request #38971 from nextcloud/backport/38945/stable27
[stable27] implement optimized getDirectoryContent for DAV
2023-07-12 01:05:35 +02:00
Arthur Schiwon 21a8eb1a62 Merge pull request #38816 from nextcloud/backport/38490/stable27
[stable27] emit an event when a message is logged
2023-07-12 01:05:14 +02:00
Arthur Schiwon fe1a2277cb Merge pull request #38756 from nextcloud/backport/38468/stable27
[stable27] log failures to read certificates during listing
2023-07-12 01:03:05 +02:00
Arthur Schiwon 421fec8f5f Merge pull request #38572 from nextcloud/backport/38301/stable27
[stable27] fix(caldav): Ignore invalid events for reminder generation
2023-07-12 01:01:40 +02:00
Arthur Schiwon 8adad15e77 Merge pull request #38475 from nextcloud/backport/38454/stable27
[stable27] fix(carddav): Make system contact phone number RFC compliant
2023-07-12 01:00:12 +02:00
nextcloud-command 48642aaddc chore(deps): fix npm audit
Signed-off-by: GitHub <noreply@github.com>
2023-07-11 21:50:39 +00:00
John Molakvoæ bb66a5eea4 Merge pull request #39301 from nextcloud/fix/legacy-navigate-param 2023-07-11 18:25:36 +02:00
Arthur Schiwon d18b65afe1 Merge pull request #38357 from nextcloud/automated/noid/stable27-update-psalm-baseline
[stable27] Update psalm-baseline.xml
2023-07-11 18:05:44 +02:00
Arthur Schiwon 7fd10d5bb7 Merge pull request #39269 from nextcloud/backport/35915/35915-stable27
[stable27] display displayname on federated shares
2023-07-11 17:56:58 +02:00
Arthur Schiwon 6cad7da1c2 Merge pull request #38671 from nextcloud/backport/38577/stable27
[stable27] Improve oauth2 database migration from ownCloud
2023-07-11 17:52:34 +02:00
John Molakvoæ af144f7bc3 fix(files): fix legacy router query change
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-07-11 12:01:51 +00:00
Maxence Lange 3b93a35108 display displayname on federated shares
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2023-07-11 09:25:09 -01:00
Richard Steinmetz f2e9044494 fix(dav): close cursor when fetching max id
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2023-07-11 08:02:45 +02:00
Joas Schilling b43e45d3c2 Merge pull request #38960 from nextcloud/fix/missing-systemtags-index-stable27
[stable27] fix(systemtags): Add missing systemtags index
2023-07-11 07:23:07 +02:00
Nextcloud bot e211096573 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-11 00:32:34 +00:00
Louis c2af1493e2 Merge pull request #39265 from nextcloud/artonge/backport/stable27/39165
[stable27] Enable all files_versions features when groupfolders is enabled
2023-07-10 22:34:37 +01:00
Robin Appelman eb44900d35 preload custom properties when propfinding folders
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-07-10 20:19:22 +00:00
Julien Veyssier 3a45af2e27 shorten oauth2 client names before resizing the column
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2023-07-10 21:13:20 +02:00
Julien Veyssier 47a19f2217 drop the oauth2_clients trusted column, delete unsupported clients and their access tokens
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2023-07-10 21:13:20 +02:00
Arthur Schiwon 70e2243f0f Merge pull request #39261 from nextcloud/backports/39146/stable27
[stable27] fix(files_sharing): hide download permission for circle shares
2023-07-10 18:42:54 +02:00
Arthur Schiwon 9c6cf06c6d Merge pull request #39142 from nextcloud/fix/password-confirmation-27
[stable27] Fix(OC/password-confirmation): Hide the correct button
2023-07-10 18:42:34 +02:00
Marcel Klehr 7226a9a560 fix(systemtags): Keep non-existing index
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2023-07-10 18:41:42 +02:00
Marcel Klehr dafe202c53 fix(systemtags): Move index creation from new migration to existing original migration
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2023-07-10 18:41:42 +02:00
Marcel Klehr a1ced608e4 fix(systemtags): Add missing systemtags index
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2023-07-10 18:41:42 +02:00
Arthur Schiwon 66506502fe Merge pull request #39267 from nextcloud/backport/39170/stable27
[stable27] add command do delete orphan shares
2023-07-10 18:39:33 +02:00
Arthur Schiwon f5a7d40621 Merge pull request #39099 from nextcloud/backport/39093/stable27
[stable27] Silent `imagecreatefromstring()` errors
2023-07-10 18:32:15 +02:00
Git'Fellow 61cd250935 Include PR #38965
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2023-07-10 18:31:45 +02:00
Robin Appelman 98ec2f023f implement optimized getDirectoryContent for DAV
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-07-10 18:31:45 +02:00
Arthur Schiwon ff86e8c411 Merge pull request #38968 from nextcloud/backport/38747/stable27
[stable27] perf: skip request without write permission
2023-07-10 18:30:41 +02:00
Arthur Schiwon d3f50f28e1 Merge pull request #38953 from nextcloud/backport/38917/stable27
[stable27] fix(l10n): Fix plural issue with different locale and language
2023-07-10 18:29:58 +02:00
Robin Appelman 7d17d2517f emit an event when a message is logged
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-07-10 18:29:09 +02:00
Arthur Schiwon 1b422df12a Merge pull request #38792 from nextcloud/backport/38777/stable27
[stable27] fix(carddav): Make SystemAddressBook::__construct $groupManager argument nullable
2023-07-10 18:28:02 +02:00
Robin Appelman 6d881c10e8 log failures to read certificates during listing
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-07-10 18:27:38 +02:00
Arthur Schiwon 7073c21e2d Merge pull request #38659 from nextcloud/backport/38649/stable27
[stable27] fix(caldav): Close DB cursor in reminder index background job
2023-07-10 18:25:24 +02:00
Christoph Wurst 1bbeffa4a5 fix(caldav): Ignore invalid events for reminder generation
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-07-10 18:24:05 +02:00
greta e44cd0f080 fix(carddav): Make system contact phone number RFC compliant
Signed-off-by: greta <gretadoci@gmail.com>
2023-07-10 18:21:33 +02:00
Robin Appelman 7c7b1e6d82 add command do delete orphan shares
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-07-10 17:06:06 +02:00
Arthur Schiwon 4cfcb6b9fc 27.0.1 RC1
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-07-10 17:05:24 +02:00
Robin Appelman f0c60686da add command do delete orphan shares
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-07-10 11:26:32 +00:00
Louis Chemineau e7d5432782 Enable all files versions features when groupfolders is enabled
Signed-off-by: Louis Chemineau <louis@chmn.me>
2023-07-10 11:51:14 +02:00
Louis 0a876e3ac8 Merge pull request #39147 from nextcloud/backport/38794/stable27
[stable27] Enable version features again with S3 versioning
2023-07-10 10:37:38 +01:00
Richard Steinmetz 0387440a6c fix(files_sharing): hide download permission for circle shares
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2023-07-10 09:43:49 +02:00
Nextcloud bot 7e9bd4fcea Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-10 00:28:54 +00:00
Nextcloud bot 1d58eac451 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-09 00:35:33 +00:00
Nextcloud bot a0279e7a9b Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-08 00:30:20 +00:00
Johannes 05de066ee7 Merge pull request #38947 from nextcloud/fix/contacts/3404/put-location-in-proper-place-stable27
[stable27] Manuel backport: fix(sab): put location in proper address field
2023-07-07 18:02:56 +02:00
Johannes Merkel db8da6a571 fix(sab): put location in proper address field
Signed-off-by: Johannes Merkel <mail@johannesgge.de>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-07-07 15:16:58 +00:00
Arthur Schiwon 8f20b0c0ff Merge pull request #39202 from nextcloud/backport/37969/stable27
[stable27] use more efficient tag retrieval on DAV report request
2023-07-07 16:49:36 +02:00
Arthur Schiwon a7b4f502aa refactor: adjust to unexposed searchBySystemTag
- in this backport we have to drop the breaking addition in
  \OCP\Files\Folder
- this requires adjustments in check for the existance of the method but
  also in testing
- another change in \OCP\SystemTag\ISystemTagManager can be applied as
  this interface is not implemented elsewhere

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-07-07 12:25:04 +02:00
John Molakvoæ bdd16dd0c0 Merge pull request #39205 from nextcloud/backport/39203/stable27 2023-07-07 09:21:31 +02:00
nextcloud-command ea851ce098 Update psalm baseline
Signed-off-by: GitHub <noreply@github.com>
2023-07-07 02:40:55 +00:00
Nextcloud bot 7ac99a60d1 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-07 00:27:42 +00:00
Pytal 2263d03c59 Merge pull request #38716 from nextcloud/backport/38715/stable27 2023-07-06 16:44:16 -07:00
Christopher Ng 8360af1422 chore(deps): Bump @nextcloud/vue from 7.11.6 to 7.12.0
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 21382099d0)
2023-07-06 15:33:30 -07:00
John Molakvoæ c247e41006 fix(cypress): revert only toggle
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2023-07-06 20:40:44 +00:00
Arthur Schiwon 35de0b5504 fix: cannot apply limit+offset on multi-tag-search
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-07-06 21:52:53 +02:00
Arthur Schiwon d05d185862 refactor: save unnecessary method_exists
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-07-06 21:52:52 +02:00
Arthur Schiwon 653812d583 fix: use array_unitersect against objects
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-07-06 21:52:52 +02:00
Arthur Schiwon a5a134567b fix: obey offset and limit for results from favs and circles
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-07-06 21:52:52 +02:00
Arthur Schiwon b55be6fd8f fix: cominbation of small fixes
- possible null return
- parameter name mismatch in implementation
- incomplete unit test

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-07-06 21:52:52 +02:00
Arthur Schiwon 66a7064db3 fix: include invisible tags for admins
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-07-06 21:52:51 +02:00
Arthur Schiwon 4ac77f0f7a fix: search with more than one search tags
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-07-06 21:52:51 +02:00
Benjamin Somers f287866982 Enable version features again with S3 versioning
Signed-off-by: Benjamin Somers <bsomers@resel.fr>
2023-07-06 19:29:17 +02:00
Arthur Schiwon 4e5c3bd166 fix: no search when LazyFolder was provided
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-07-06 17:29:13 +00:00
Arthur Schiwon f87286754e chore: cleanup unused code
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-07-06 17:29:13 +00:00
Arthur Schiwon 36a0d1486e fix: ensure searchBySystemTag() is available
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-07-06 17:29:13 +00:00
Arthur Schiwon 99442b60d5 fix: favorites view and universal search against tags
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-07-06 17:29:12 +00:00
Arthur Schiwon 7d8d586983 fix: change if with conditionless else to switch; and a parameter value
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-07-06 17:29:12 +00:00
Arthur Schiwon 7bfe6f2cc0 use efficient tag retrieval on DAV report request
- uses DAV search approach against valid files joined by systemtag selector
- reduced table join for tag/systemtag search
- supports pagination
- no changes to the output formats or similar

Example request body:

<?xml version="1.0"?>
<oc:filter-files xmlns:d="DAV:" xmlns:oc="http://owncloud.org/ns" xmlns:nc="http://nextcloud.org/ns" xmlns:ocs="http://open-collaboration-services.org/ns">
  <d:prop>
    <d:getcontentlength/>
    <d:getcontenttype/>
    <d:getetag/>
    <d:getlastmodified/>
    <d:resourcetype/>
    <nc:face-detections/>
    <nc:file-metadata-size/>
    <nc:has-preview/>
    <nc:realpath/>
    <oc:favorite/>
    <oc:fileid/>
    <oc:permissions/>
    <nc:nbItems/>
  </d:prop>
  <oc:filter-rules>
    <oc:systemtag>32</oc:systemtag>
  </oc:filter-rules>
  <d:limit>
    <d:nresults>50</d:nresults>
    <nc:firstresult>0</nc:firstresult>
  </d:limit>
</oc:filter-files>

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-07-06 17:29:11 +00:00
Arthur Schiwon d2be510ff1 Merge pull request #39151 from nextcloud/backport/39115/stable27
[stable27] fix(sse): don't update uncached files
2023-07-06 18:42:29 +02:00
Arthur Schiwon 1bdbb39ecc Merge pull request #39193 from nextcloud/fix/stable27/tag-search-short-circuit-master
[stable27] fix(TagSearchProvider): Short circuit if no tag matches the query
2023-07-06 18:09:12 +02:00
Marcel Klehr 789832698f Fix psalm error
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2023-07-06 14:53:01 +02:00
Marcel Klehr 470f2ec937 fix(TagSearchProvider): Short circuit if no tag matches the query
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2023-07-06 14:52:49 +02:00
Nextcloud bot 0e0b468c10 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-06 00:30:47 +00:00
Christoph Wurst 82c5f41dde Merge pull request #39157 from nextcloud/backport/39043/stable27
[stable27] fix(ocp): Fix reference of dashboard IAPIWidget::getItems from WidgetItem
2023-07-05 20:00:46 +02:00
Christoph Wurst 6efaf84ceb fix(ocp): Fix reference of dashboard IAPIWidget::getItems from WidgetItem
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-07-05 10:23:38 +00:00
Louis d119cb132a Merge pull request #39119 from nextcloud/artonge/backport/stable27/38905
[stable27] Reduce load of files versions preview loading
2023-07-05 08:53:27 +02:00
Nextcloud bot 27e86ab470 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-05 00:26:55 +00:00
Richard Steinmetz aaa7b41a33 fix(sse): don't update uncached files
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2023-07-04 20:18:17 +00:00
Arthur Schiwon dd2dfc89fd Merge pull request #38976 from nextcloud/backport/38625/stable27
[stable27] fix: expect interface, not a specific implementation
2023-07-04 22:07:29 +02:00
Robin Appelman bab5a54aed Merge pull request #38731 from nextcloud/backport/38226/stable27
[stable27] add utility command for object store objects
2023-07-04 21:06:48 +02:00
Robin Appelman 0ff32cadf3 add utility command for object store objects
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-07-04 17:59:21 +02:00
Marcel Klehr 763453803d Fix(OC/password-confirmation): Hide the correct button
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2023-07-04 14:20:49 +02:00
Daniel Kesselberg 8e00afbb47 perf: skip request without write permission
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2023-07-04 10:32:26 +02:00
Nextcloud bot 61f8314f83 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-04 00:29:28 +00:00
Maksim Sukharev 8cad04dcd0 Merge pull request #39055 from nextcloud/backport/38832/stable27
[stable27] Adjust saving of status messages
2023-07-03 18:06:36 +02:00
Maksim Sukharev d8141c6ad7 wrap user status message input and buttons with native form
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>

(cherry picked from commit bcb074a90d)
2023-07-03 15:34:25 +02:00
Louis Chemineau 859552b887 Base versions' has-preview on mimetype
Signed-off-by: Louis Chemineau <louis@chmn.me>
2023-07-03 11:11:47 +02:00
Louis Chemineau 97a72b1d78 Compile assets
Signed-off-by: Louis Chemineau <louis@chmn.me>
2023-07-03 11:08:52 +02:00
Louis Chemineau 2e7d7042a7 Do not load preview if version tab is not active
Signed-off-by: Louis Chemineau <louis@chmn.me>
2023-07-03 11:04:57 +02:00
Louis Chemineau b164af46c7 Provide hasPreview in files_versions DAV API
This allow to no request non existing previews
I also set some properties to the img element to reduce preview loading to what the browser think is necessary

Signed-off-by: Louis Chemineau <louis@chmn.me>
2023-07-03 11:04:57 +02:00
Nextcloud bot 5fd29c6f50 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-03 00:30:49 +00:00
Nextcloud bot 7b5375b671 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-02 00:31:11 +00:00
Git'Fellow ecbeacbdf5 Silent imagecreatefromstring() errors
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2023-07-01 14:38:30 +00:00
Nextcloud bot eb537ad664 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-01 00:25:24 +00:00
Julius Härtl 968622098f Merge pull request #39078 from nextcloud/backport/39025/stable27 2023-06-30 11:40:13 +02:00
Julius Härtl e37ca5694b fix(files): Only render the menu if there are actions to show
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-06-30 08:21:56 +00:00
Nextcloud bot 96348bf75d Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-30 00:29:54 +00:00
John Molakvoæ de6d5b6d62 Merge pull request #39067 from nextcloud/fix/cypress-ref/stable27 2023-06-29 18:39:11 +02:00
John Molakvoæ 16c7c078d6 chore: update cypress workflow from templates
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2023-06-29 18:19:11 +02:00
John Molakvoæ 772aa81269 fix(cypress): branch definition
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2023-06-29 17:23:49 +02:00
Simon L 297cc0e512 Merge pull request #38994 from nextcloud/backport/38988/stable27
[stable27] fix: restore AppsSlideToggle feature
2023-06-28 19:14:11 +02:00
John Molakvoæ bbeed21430 fix: restore AppsSlideToggle feature
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-06-28 15:00:19 +00:00
Robin Appelman fdb62dbdf4 Merge pull request #39019 from nextcloud/backport/38858/stable27
[stable27] file scanner performance improvements
2023-06-28 14:23:10 +02:00
Nextcloud bot 5aa23c26cb Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-28 00:30:52 +00:00
Simon L 50f1fc0b74 Merge pull request #39028 from nextcloud/backport/39005/stable27
[stable27] fix(dav): Catch SAB sync errors during upgrade
2023-06-27 14:34:17 +02:00
Joas Schilling 81f9d9a690 fix(l10n): Fix plural issue with different locale and language
We need to use the language code here instead of the locale,
because Symfony does not distinguish between the two and would
otherwise e.g. with locale "Czech" and language "German" try to
pick a non-existing plural rule, because Czech has 4 plural forms
and German only 2.

Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-06-27 14:13:00 +02:00
Christoph Wurst 0fd478b9e3 fix(dav): Catch SAB sync errors during upgrade
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-06-27 11:08:39 +00:00
Louis ff04de6fbc Merge pull request #38970 from nextcloud/backport/38800/stable27
[stable27] fix: Avoid failing to update the current version entry if there is none
2023-06-27 09:36:22 +02:00
Nextcloud bot cd1ec4aa17 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-27 00:32:18 +00:00
Louis Chemineau af0f1149ed Do not create a new version if previousNode has the same mtime
Signed-off-by: Louis Chemineau <louis@chmn.me>
2023-06-26 17:57:38 +02:00
Julius Härtl 9d348950c0 fix: Add logging statement for cases when updating the version fails
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-06-26 17:57:38 +02:00
Louis Chemineau e8a2847bad Handle previousNode size === 0 on version creation
Signed-off-by: Louis Chemineau <louis@chmn.me>
2023-06-26 17:57:38 +02:00
Julius Härtl ea30d1165b fix: Avoid failing to update the current version entry if there is none
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-06-26 17:57:38 +02:00
Robin Appelman b219a17cc6 file scanner performance improvements
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-06-26 15:44:16 +00:00
Arthur Schiwon 5ba5c2d88e docs: adjust @since version to backport
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-06-26 17:40:21 +02:00
Simon L 3190dfb5ae Merge pull request #39004 from nextcloud/backport/38958/stable27
[stable27] use getsystemvalue-functions in Mailer.php
2023-06-26 11:45:05 +02:00
Simon L 9c2bd71ad4 try to fix tests
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-06-26 08:32:52 +00:00
Simon L bb2da7ed5d use getsystemvalue-functions in Mailer.php
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-06-26 08:32:51 +00:00
Nextcloud bot a57741487c Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-26 00:28:06 +00:00
John Molakvoæ 1ebea4f4b9 Merge pull request #38983 from nextcloud/automated/noid/stable27-fix-npm-audit 2023-06-25 12:56:21 +02:00
nextcloud-command 589a6e2e5e chore(deps): fix npm audit
Signed-off-by: GitHub <noreply@github.com>
2023-06-25 03:02:52 +00:00
Nextcloud bot a1e9508f55 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-25 00:31:41 +00:00
Simon L 8880e387ad Merge pull request #38980 from nextcloud/backort/38852/stable27
[stable27] Move deprecation warnings to debug
2023-06-24 18:49:06 +02:00
Simon L ff40cd7563 Move deprecation warnings to debug
Signed-off-by: Simon L <szaimen@e.mail.de>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-06-24 16:25:58 +00:00
Nextcloud bot 4f666927bd Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-24 00:26:21 +00:00
Arthur Schiwon 29e11a4273 ci: pro forma check of existence of internal method
createNode() is protected and used by Folder, but being an internal-only
method it shall not be exposed in the Folder or IRootFolder interface.

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-06-23 23:04:45 +00:00
Arthur Schiwon 09c4ba257c refactor: declare getMount() and getMountsIn() at IRootFolder
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-06-23 23:04:44 +00:00
Arthur Schiwon f724760f67 chore: ugly type juggling
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-06-23 23:04:44 +00:00
Arthur Schiwon faea2440ed fix: add typehine for IRootFolder
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-06-23 23:04:44 +00:00
Arthur Schiwon c04b1ed857 fix: expect interface, not a specific implementation
- fixes a regression when deleting folders while music app was enabled,
  for a LazyRoot was passed to this method.

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-06-23 23:04:44 +00:00
Nextcloud bot 2ade1650d7 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-22 00:30:33 +00:00
Simon L 41f5631b2c Merge pull request #38929 from nextcloud/backport/38915/stable27
[stable27] adjust admin setup check to increase warning to configure https
2023-06-21 16:57:25 +02:00
Simon L b638173825 adjust admin setup check to increase warning to set up https
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-06-21 13:28:38 +00:00
Julien Veyssier 44aa756c48 Merge pull request #38898 from nextcloud/backport/38773/stable27
[stable27] Add bruteforce protection in OauthApiController
2023-06-21 12:50:59 +02:00
Julien Veyssier bebf199511 add bruteforce protection in OauthApiController
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2023-06-21 11:35:43 +02:00
Christof Arnosti 011c19ce5d Issue #36644: Test cases
Signed-off-by: Christof Arnosti <charno@charno.ch>
2023-06-21 08:12:59 +02:00
Christof Arnosti 8457a227e3 Issue #36644: Fix pruneOutdatedSyncTokens for CalDAV
pruneOutdatedSyncTokens accidentally deletes all entries of the calendarchanges table
instead of leaving $limit elements in the table

Signed-off-by: Christof Arnosti <charno@charno.ch>
2023-06-21 08:12:52 +02:00
Nextcloud bot c7a2ff2baa Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-21 00:37:51 +00:00
Jonas 870e59972d Merge pull request #38897 from nextcloud/fix/inverted-text-color-stable27
[stable27] fix(core): Do not invert app menu text color
2023-06-20 13:17:47 +02:00
Philipp Hempel 7fb287cc45 chore(assets): Recompile assets
Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>
2023-06-20 11:14:55 +02:00
Ferdinand Thiessen cdea2d0d01 fix(core): Do not invert app menu text color
* Also fixes other cypress test
* Build assets

Signed-off-by: Philipp Hempel <Philipp.Hempel1@web.de>
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-06-20 11:10:31 +02:00
Nextcloud bot 0d961dc9a2 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-20 00:23:02 +00:00
Julius Härtl fec43fc132 Merge pull request #38891 from nextcloud/obj-store-copy-list-source-cache-27 2023-06-19 22:39:57 +02:00
Simon L 02af883123 Merge pull request #38885 from nextcloud/backport/38868/stable27
[stable27] fix confusion around mail settings and improve layout a bit
2023-06-19 14:33:54 +02:00
Julien Veyssier d1aa03a81e Merge pull request #38707 from nextcloud/backport/38398/stable27
[stable27] Store encrypted OAuth2 client secrets
2023-06-19 13:12:48 +02:00
Julien Veyssier c18e42f63f add test that inserts a long oauth client secret
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2023-06-19 13:12:30 +02:00
Julien Veyssier 86fe33f664 encrypt oauth2 client secrets
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2023-06-19 13:12:30 +02:00
Robin Appelman 782736ab54 use source cache when listing folder during recursive copy
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-06-19 12:32:04 +02:00
Simon L 43c66b0ecd Merge pull request #38851 from nextcloud/backport/38823/stable27
[stable27] generate user themed favicon and touchicon
2023-06-19 12:20:34 +02:00
Simon L f3d231aab9 fix confusion around mail settings
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-06-19 09:43:57 +00:00
Nextcloud bot 7b4084f43a Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-19 00:18:11 +00:00
Simon L 97613e3cae Merge pull request #38740 from nextcloud/automated/noid/stable27-fix-npm-audit
[stable27] Fix npm audit
2023-06-18 05:54:45 +02:00
nextcloud-command a9ec4498c7 chore(deps): fix npm audit
Signed-off-by: GitHub <noreply@github.com>
2023-06-18 02:51:52 +00:00
Nextcloud bot ec0dbf123a Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-18 00:17:59 +00:00
Simon L a87ecd1a4f Merge pull request #38420 from nextcloud/backport/38259/stable27
[stable27] reload filelist when adding or removing shares
2023-06-17 08:14:24 +02:00
Nextcloud bot 595412fb5e Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-17 00:18:03 +00:00
Christoph Wurst 78c5a0094e Merge pull request #38474 from nextcloud/backport/38458/stable27
[stable27] Revert "Fix table view"
2023-06-16 17:20:48 +02:00
Simon L 53c0790e8f generate user themed favicon and touchicon
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-06-16 11:16:28 +00:00
Nextcloud bot a499cab938 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-16 00:18:07 +00:00
Andy Scherzinger a23743cf75 Merge pull request #38847 from nextcloud/backport/38841/stable27
[stable27] fix: Removed invalid user from CODEOWNERS file
2023-06-16 00:21:56 +02:00
Christoph Wurst 965360f468 fix: Removed invalid user from CODEOWNERS file
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-06-15 22:11:45 +00:00
Simon L 630e4835f0 Merge pull request #38825 from nextcloud/backport/38292/stable27
[stable27] Add config variable for curl timeout
2023-06-15 12:39:50 +02:00
Nextcloud bot 15a2bd1131 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-15 00:18:07 +00:00
Dominik Fuchß 681d2c0402 Fix deprecated method call
Signed-off-by: Dominik Fuchß <develop@fuchss.org>
2023-06-14 20:27:39 +00:00
Dominik Fuchß a6ca1546cc Changes after code review.
Signed-off-by: Dominik Fuchß <develop@fuchss.org>
2023-06-14 20:27:39 +00:00
Dominik Fuchß c64e9f6e93 Add config variable for curl timeout
Add the config variable for curl calls ("remote_curl_timeout"). E.g., needed for nextcloud federation.

Signed-off-by: Dominik Fuchß <develop@fuchss.org>
2023-06-14 20:27:38 +00:00
Ferdinand Thiessen f83d31d6e8 Merge pull request #38689 from nextcloud/backport/38688/stable27
[stable27] fix(apache): Serve `mjs` (module javascript) as static files
2023-06-14 18:56:28 +02:00
Simon L c615681ff3 Merge pull request #38811 from nextcloud/backport/38804/stable27
[stable27] make sure to show download button only one time
2023-06-14 16:56:55 +02:00
Ferdinand Thiessen 31d5f720fb fix(apache): Serve mjs (module javascript) as static files
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-06-14 16:51:58 +02:00
Simon L 9f53338e85 make sure to show download button only one time
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-06-14 15:35:01 +02:00
Louis dfc2888276 Merge pull request #38510 from nextcloud/artonge/backport/stable27/38467
[stable27] Add fallback when a there is no preview for a version
2023-06-14 10:40:34 +02:00
Louis Chemineau 7337188aa0 Add fallback when a there is no preview for a version
Signed-off-by: Louis Chemineau <louis@chmn.me>
2023-06-14 09:56:23 +02:00
Louis Chemineau ea7e18716a Improve handling of undefined version label
Signed-off-by: Louis Chemineau <louis@chmn.me>
2023-06-14 09:56:23 +02:00
Julia Kirschenheuter d6d524e0bf Merge branch 'stable27' into backport/38458/stable27 2023-06-14 08:57:34 +02:00
Nextcloud bot 669836790e Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-14 00:18:04 +00:00
Arthur Schiwon b7ae4b93f5 Merge pull request #38580 from nextcloud/backport/38206/stable27
[stable27] Increase from 100000 to 600000 iterations for hash_pbkdf2
2023-06-13 19:31:18 +02:00
julia.kirschenheuter 83f2cc2f05 Revert "Fix table view"
This reverts commit cb852ef6

Signed-off-by: julia.kirschenheuter <julia.kirschenheuter@nextcloud.com>
2023-06-13 15:21:09 +02:00
Simon L 34c98566df Merge pull request #38751 from nextcloud/backport/38735/stable27
[stable27] allow to specify upgrade.cli-upgrade-link in order to link to the correct documentation
2023-06-13 13:46:01 +02:00
Simon L 404eb86dbc Merge pull request #38361 from nextcloud/backport/38344/stable27
[stable27] 38340 fix add group broken
2023-06-13 13:05:47 +02:00
Christoph Wurst 270d661fda fix(carddav): Make SystemAddressBook::__construct $groupManager argument nullable
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-06-13 10:48:29 +00:00
Nextcloud bot bb23b9187d Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-13 00:18:15 +00:00
Arthur Schiwon add4e4365a Merge pull request #38753 from nextcloud/release/27.0.0
27.0.0
2023-06-12 16:53:32 +02:00
Arthur Schiwon 4a4d5a7179 27.0.0
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-06-12 14:28:29 +02:00
Simon L c5b43a4302 allow to specify upgrade.cli-upgrade-link in order to link to the correct documentation
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-06-12 11:36:29 +00:00
Nextcloud bot 0ef69969bc Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-12 00:18:04 +00:00
Nextcloud bot f5e4594e83 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-11 00:34:39 +00:00
Nextcloud bot e6f343432e Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-10 00:17:44 +00:00
John Molakvoæ 0b8183e360 Merge pull request #38719 from nextcloud/skjnldsv-patch-1 2023-06-09 11:12:59 +02:00
John Molakvoæ c19eb782c7 Merge pull request #38693 from nextcloud/release/27.0.0_rc4 2023-06-09 10:50:57 +02:00
John Molakvoæ b1f13297bc Create lint-eslint-when-unrelated.yml
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2023-06-09 10:49:58 +02:00
John Molakvoæ adef6deb3d 27.0.0 RC4
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2023-06-09 09:43:39 +02:00
John Molakvoæ a0a5d5d063 Merge pull request #38717 from nextcloud/backport/38703/stable27 2023-06-09 09:42:49 +02:00
Côme Chilliet 9330739014 Correctly react to bad configuration
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-06-09 08:40:54 +02:00
Côme Chilliet 71adc305dc Do not cast sizes to int in Trashbin class
This helps with 32bits support

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-06-09 08:40:53 +02:00
fenn-cs f2e58c6c11 Fix add new group event
1ee8fbaad1 broke the addgroup functionality
by not updating the event to reflect the one in
https://github.com/nextcloud/nextcloud-vue/blob/master/src/components/NcAppNavigationNewItem/NcAppNavigationNewItem.vue

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

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-06-08 17:15:30 +02:00
John Molakvoæ 09464c6453 Merge pull request #38702 from nextcloud/backport/38486/stable27 2023-06-08 16:19:59 +02:00
Joas Schilling 9c8e229ee9 fix(psalm): Install apcu, ftp and ldap extension like in static-code-analysis-security
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-06-08 14:06:02 +02:00
Joas Schilling 84af099e72 fix(CI): Temporary workaround - Run Psalm CI with 1 thread only so it finishes
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-06-08 14:06:02 +02:00
Joas Schilling 55ef2a093b fix(CI): Update oracle image and config
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-06-08 13:06:41 +02:00
John Molakvoæ 52d39183c5 chore: update workflows from templates
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2023-06-08 13:06:36 +02:00
Simon L fb20f258d5 Merge pull request #38697 from nextcloud/backport/38694/stable27
[stable27] fix(actions): cypress
2023-06-08 12:42:00 +02:00
John Molakvoæ 7a137fcaa5 fix(actions): cypress
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2023-06-08 08:19:18 +00:00
Nextcloud bot f68b801500 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-08 00:19:02 +00:00
Nextcloud bot 92d287b64c Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-07 00:18:03 +00:00
Christoph Wurst 1196299b61 fix(caldav): Close DB cursor in reminder index background job
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-06-06 07:22:40 +00:00
Andy Scherzinger 2eaf70b92c Merge pull request #38657 from nextcloud/backport/38656/stable27
[stable27] Fix OpenAPI core paths
2023-06-06 07:01:59 +02:00
jld3103 5d5ed4f57a Fix OpenAPI core paths
Signed-off-by: jld3103 <jld3103yt@gmail.com>
2023-06-06 04:49:31 +00:00
Nextcloud bot 32976c8fe5 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-06 00:17:48 +00:00
Arthur Schiwon b72cd54ee0 Merge pull request #38571 from nextcloud/backport/38355/stable27
[stable27] fix(trashbin): Truncate long filenames
2023-06-05 17:38:08 +02:00
Andy Scherzinger dfd0be7be5 Merge pull request #38641 from nextcloud/backport/38640/stable27
[stable27] openapi: Fix wrapping OCS responses that are not DataResponse
2023-06-05 09:08:28 +02:00
jld3103 e312b5bf2b openapi: Fix wrapping OCS responses that are not DataResponse
Signed-off-by: jld3103 <jld3103yt@gmail.com>
2023-06-05 07:05:02 +00:00
Nextcloud bot ddc8634695 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-05 00:17:37 +00:00
Nextcloud bot 114ab80d4a Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-04 00:17:44 +00:00
Simon L 462940e423 Merge pull request #38617 from nextcloud/automated/noid/stable27-fix-npm-audit
[stable27] Fix npm audit
2023-06-03 13:03:39 +02:00
Nextcloud bot e5fdcde2aa Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-03 00:17:58 +00:00
nextcloud-command 0f6e6dc208 chore(deps): fix npm audit
Signed-off-by: GitHub <noreply@github.com>
2023-06-02 15:25:44 +00:00
Nextcloud bot 889d76f3fd Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-02 00:17:35 +00:00
Andy Scherzinger 3e72ad1152 Merge pull request #38588 from nextcloud/backport/38586/stable27
[stable27] fix(ocp): Mark IMessage::attachInline as @since 27
2023-06-01 18:46:32 +02:00
Christoph Wurst a7bade0e03 fix(ocp): Mark IMessage::attachInline as @since 27
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-06-01 16:40:32 +00:00
John Molakvoæ 8c2cb58542 Merge pull request #38559 from nextcloud/release/27.0.0_rc3 2023-06-01 17:37:13 +02:00
Arthur Schiwon a845fc7395 Merge pull request #38449 from nextcloud/backport/38415/stable27
[stable27] don't always check if we need to setup the object store root
2023-06-01 17:33:50 +02:00
Andy Scherzinger f5d5636272 Merge pull request #38538 from nextcloud/backport/37758/stable27
[stable27] redis: use atomic operations everywhere
2023-06-01 17:12:05 +02:00
Côme Chilliet 6bd0b88f33 Adapt encryption test to change in generateHeader
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-06-01 16:14:24 +02:00
Côme Chilliet 47de152d76 Increase from 100000 to 600000 iterations for hash_pbkdf2
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-06-01 16:14:10 +02:00
Christopher Ng 4d206376f3 fix(trashbin): Truncate long filenames
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2023-06-01 09:37:28 +00:00
John Molakvoæ ca1d9a167e Merge pull request #38522 from nextcloud/artonge/backport/stable27/38469 2023-06-01 10:15:01 +02:00
John Molakvoæ 962dc932d9 Merge pull request #38507 from nextcloud/backport/38496/stable27 2023-06-01 10:08:06 +02:00
John Molakvoæ 4baba4d7e9 Merge pull request #38360 from nextcloud/backport/38294/stable27 2023-06-01 10:06:26 +02:00
John Molakvoæ 1a76ea188d Merge pull request #38409 from nextcloud/backport/38291/stable27 2023-06-01 10:05:11 +02:00
Nextcloud bot a379bba6b8 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-01 00:18:03 +00:00
John Molakvoæ 615e466017 27.0.0 RC3
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2023-05-31 16:37:30 +02:00
Joas Schilling 3f1236ce9e Merge pull request #38531 from nextcloud/automated/noid/stable27-update-ca-cert-bundle
[stable27] Update ca-cert bundle
2023-05-31 09:26:01 +02:00
Varun Patil 24875c02db redis: move lua scripts to class and add type hints
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-05-31 07:13:21 +00:00
Robin Appelman 5b137a2498 add test to verify redis lua script hashes
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-05-31 07:13:20 +00:00
Varun Patil 8745f76bd0 redis: use atomic operations everywhere
This removes a lot of acrobatics in the code and does each operation
atomically using a lua script. This also reduces several round trips
to the server, and the scripts are compiled and cached server-side.

Notably, since all operations work only on a single key (except clear,
which is broken anyway and shouldn't be used), they will continue to
function and be atomic for Redis cluster.

Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-05-31 07:13:20 +00:00
nextcloud-command ade5db1821 Update CA certificate bundle
Signed-off-by: GitHub <noreply@github.com>
2023-05-31 02:33:27 +00:00
Nextcloud bot 9ef37aaa6e Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-31 00:17:47 +00:00
Louis Chemineau e54bfc00bd Fix initialisation of versions in the DB
Broken after https://github.com/nextcloud/server/pull/36690

Signed-off-by: Louis Chemineau <louis@chmn.me>
2023-05-30 16:41:03 +02:00
Joas Schilling 297ba1cd3a Merge pull request #38416 from nextcloud/backport/38308/stable27
[stable27] fix(carddav): Check if SERVER variables are set before accessing them
2023-05-30 12:12:53 +02:00
Daniel Kesselberg 5630703061 fix: catch errors in id3parser library
We use a forked version of getID3 to read embedded images from mp3 files to use them as previews.

If the library is unable to extract a image or fails on something different we should handle it properly.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2023-05-30 09:06:35 +00:00
Nextcloud bot d9ff25230c Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-30 00:17:41 +00:00
Nextcloud bot f5083aacc7 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-28 00:17:37 +00:00
Nextcloud bot 0ad9cbf884 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-27 00:18:02 +00:00
Joas Schilling 281d0aa964 Merge pull request #38485 from nextcloud/backport/38481/stable27
[stable27] fix(dav): Fix avatar size in system address book
2023-05-26 14:14:25 +02:00
Joas Schilling bbb9437116 fix(dav): Fix avatar size in system address book
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-05-26 10:28:59 +00:00
Arthur Schiwon 3ad8007218 Merge pull request #38436 from nextcloud/release/27.0.0_rc2
27.0.0 RC2
2023-05-25 18:51:49 +02:00
Arthur Schiwon 7e7a113c66 Merge pull request #38471 from nextcloud/backport/38448/stable27
[stable27] fix(carddav): Don't show system address book cards to guests
2023-05-25 18:50:42 +02:00
Christoph Wurst 67d8c36537 fix(carddav): Don't show system address book cards to guests
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-05-25 18:21:06 +02:00
Arthur Schiwon ebb2f813a7 Merge pull request #38440 from nextcloud/bugfix/stable27/catch-doctrine-exception
[stable27] fix: Catch Deadlock properly as execute throws Doctrine exceptions not our wrapped ones
2023-05-25 12:27:27 +02:00
Andy Scherzinger f5dc8fdfba Merge pull request #38455 from nextcloud/backport/38423/stable27
[stable27] fix(carddav): Check enumeration settings for all SAB methods
2023-05-25 12:11:45 +02:00
John Molakvoæ 6e10a457d7 Merge pull request #38444 from nextcloud/backport/38441/stable27 2023-05-25 10:35:24 +02:00
Christoph Wurst 11d21994f9 fix(carddav): Check enumeration settings for all SAB methods
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-05-25 08:26:57 +00:00
John Molakvoæ adcd4efbcc fix(files): make open folder a default action
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-05-25 06:32:34 +00:00
Robin Appelman 780a744e07 don't always check if we need to setup the object store root
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-05-24 21:55:56 +00:00
Julius Härtl ce8e21d2c5 fix: execute throws docrine exceptions not our wrapped ones
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-05-24 20:45:51 +02:00
Andy Scherzinger 0799ef8ec5 Merge pull request #38443 from nextcloud/backport/38438/stable27
[stable27] Add OpenAPI specs
2023-05-24 19:32:19 +02:00
jld3103 b683f77842 Add OpenAPI specs
Signed-off-by: jld3103 <jld3103yt@gmail.com>
2023-05-24 16:25:28 +00:00
Robin Appelman bf6071608e reload filelist when adding or removing shares
Signed-off-by: Robin Appelman <robin@icewind.nl>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-05-24 14:14:36 +00:00
Arthur Schiwon 12d5152f62 27.0.0 RC2
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-05-24 15:17:54 +02:00
Johannes 16a1ec629f Merge pull request #38419 from nextcloud/backport/38413/stable27
[stable27] fix(SAB): Save avatar to SAB
2023-05-23 20:02:49 +02:00
Johannes Merkel d96200baed fix(SAB): Save avatar to SAB
Signed-off-by: Johannes Merkel <mail@johannesgge.de>
2023-05-23 14:08:35 +00:00
Anna Larch c1ac314ff1 fix(carddav): Check if SERVER variables are set before accessing them
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-05-23 12:41:15 +00:00
Robin Appelman 21d50794f0 fix loading custom logo image
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-05-23 07:41:40 +00:00
fenn-cs 241a513b7e Use aria-expanded correctly on toggle user actions
The aria-expanded attribute was added on the expandable item rather
Than the button that triggers the expand.

Resolves : #37137

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2023-05-22 10:46:54 +00:00
Joas Schilling 713b9603a4 Merge pull request #38339 from nextcloud/welcome/stable27
chore(CI): Test against stable27 branches of needed apps
2023-05-22 11:09:55 +02:00
Arthur Schiwon 74b4fd28d8 Merge pull request #38341 from nextcloud/release/27.0.0_rc1
27.0.0 RC1
2023-05-17 15:25:05 +02:00
Arthur Schiwon 24b86cec64 27.0.0 RC1
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-05-17 12:47:46 +02:00
Joas Schilling a11db03693 chore(CI): Test against stable27 branches of needed apps
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-05-17 10:58:55 +02:00
12880 changed files with 586746 additions and 807979 deletions
+15
View File
@@ -0,0 +1,15 @@
codecov:
branch: master
ci:
- drone.nextcloud.com
- !scrutinizer-ci.com
coverage:
precision: 2
round: down
range: "70...100"
status:
project: off
patch: off
comment: off
+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');
-1
View File
@@ -3,7 +3,6 @@
"dockerComposeFile": "docker-compose.yml",
"service": "nextclouddev",
"postCreateCommand": ".devcontainer/setup.sh",
"postStartCommand": ".devcontainer/postStart.sh",
"forwardPorts": [
80,
8080,
-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
-13
View File
@@ -1,13 +0,0 @@
#!/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
+4 -4
View File
@@ -1,12 +1,12 @@
#!/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/
# Set git safe.directory
git config --global --add safe.directory /var/www/html
git config --global --add safe.directory /var/www/html/3rdparty
git submodule update --init
# Codespace config
+1941
View File
File diff suppressed because it is too large Load Diff
+4 -11
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
@@ -23,14 +24,6 @@ trim_trailing_whitespace = false
[*.svg]
insert_final_newline = false
[package*.json]
indent_size = 2
indent_style = space
[build/psalm-baseline.xml]
indent_size = 2
indent_style = space
[config/*config.php]
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
+38
View File
@@ -0,0 +1,38 @@
module.exports = {
globals: {
__webpack_nonce__: true,
_: true,
$: true,
moment: true,
escapeHTML: true,
oc_userconfig: true,
dayNames: true,
firstDay: true,
'cypress/globals': true,
},
parserOptions: {
parser: '@typescript-eslint/parser',
},
plugins: [
'cypress',
],
extends: [
'@nextcloud',
'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
+22 -90
View File
@@ -1,111 +1,43 @@
# 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/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
# Two-Factor Authentication
# https://github.com/nextcloud/wg-two-factor-authentication#members
**/TwoFactorAuth @ChristophWurst @miaulalala @nickvergessen
/apps/twofactor_backupcodes @ChristophWurst @miaulalala @nickvergessen
*/TwoFactorAuth/* @ChristophWurst @miaulalala @nickvergessen
/core/templates/twofactor* @ChristophWurst @miaulalala @nickvergessen
# Limit login to IP
# Watch login routes for https://github.com/nextcloud/limit_login_to_ip
/core/routes.php @Altahrim @nextcloud/server-backend
# OpenAPI
openapi*.json @provokateurin @nextcloud/server-backend
ResponseDefinitions.php @provokateurin @nextcloud/server-backend
# 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
# 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/
+37 -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:
@@ -28,10 +17,12 @@ body:
options:
- label: This is a **bug**, not a question or a configuration/webserver/proxy issue.
required: true
- label: This issue is **not** already reported on [Github](https://github.com/nextcloud/server/issues?q=is%3Aopen+is%3Aissue+label%3Abug) OR [Nextcloud Community Forum](https://help.nextcloud.com/) _(I've searched it)_.
- label: This issue is **not** already reported on Github _(I've searched it)_.
required: true
- label: Nextcloud Server **is** up to date. See [Maintenance and Release Schedule](https://github.com/nextcloud/server/wiki/Maintenance-and-Release-Schedule) for supported versions.
required: true
- label: Nextcloud Server **is** running on 64bit capable CPU, PHP and OS.
required: true
- label: I agree to follow Nextcloud's [Code of Conduct](https://nextcloud.com/contribute/code-of-conduct/).
required: true
- type: textarea
@@ -49,7 +40,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 +54,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:
- "Official All-in-One appliance"
- "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"
- type: dropdown
id: nextcloud-version
attributes:
@@ -71,9 +78,9 @@ body:
Select Nextcloud Server version.
_Versions not listed here are not maintained and not supported anymore_
options:
- "30"
- "31"
- "32"
- "24"
- "25"
- "26"
- "master"
validations:
required: true
@@ -96,9 +103,9 @@ body:
Select PHP engine version serving Nextcloud Server.
_Describe in the "Additional info" section if you chose "Other"._
options:
- "PHP 8.4"
- "PHP 8.3"
- "PHP 8.2"
- "PHP 7.3"
- "PHP 7.4"
- "PHP 8.0"
- "PHP 8.1"
- "Other"
- type: dropdown
@@ -111,6 +118,7 @@ body:
options:
- "Apache (supported)"
- "Nginx"
- "Lighttpd"
- "Other"
- type: dropdown
id: database
@@ -133,8 +141,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.2.3 to 22.2.4)"
- "Updated to a major version (ex. 22.2.3 to 23.0.1)"
- "Fresh Nextcloud Server install"
- type: dropdown
id: encryption
@@ -169,7 +177,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:
@@ -184,6 +192,8 @@ body:
```
> NOTE: This will be automatically formatted into code for better readability.
render: shell
validations:
required: true
- type: textarea
id: nextcloud-signingstatus
attributes:
@@ -192,7 +202,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 +211,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:
@@ -2,8 +2,6 @@
name: 🚀 Feature request
about: Suggest an idea for this project
labels: enhancement, 0. Needs triage
type: "Enhancement"
---
<!--
@@ -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
+98 -94
View File
@@ -1,32 +1,39 @@
# SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
version: 2
updates:
# GitHub Actions
- package-ecosystem: "github-actions"
# Linting and coding style
- package-ecosystem: composer
directory: "/"
schedule:
interval: monthly
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
groups:
github-actions:
patterns:
- "*"
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
# Main composer (linting, testing, openapi)
- package-ecosystem: composer
directories:
- "/"
- "/build/integration"
- "/vendor-bin/cs-fixer"
- "/vendor-bin/openapi-extractor"
- "/vendor-bin/phpunit"
- "/vendor-bin/psalm"
- "/vendor-bin/rector"
# 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
@@ -36,110 +43,107 @@ updates:
- "3. to review"
- "feature: dependencies"
# Main master npm frontend dependencies
- package-ecosystem: npm
directories:
- "/"
- "/build/frontend"
- "/build/frontend-legacy"
# Testing master composer
- package-ecosystem: composer
directory: "/build/integration"
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"
# Latest stable release
# Composer dependencies for linting and testing
- package-ecosystem: composer
target-branch: stable32
directories:
- "/"
- "/build/integration"
- "/vendor-bin/cs-fixer"
- "/vendor-bin/openapi-extractor"
- "/vendor-bin/phpunit"
- "/vendor-bin/psalm"
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"]
# Latest stable branch
# frontend dependencies
# Main stableXX npm
- package-ecosystem: npm
target-branch: stable32
directory: "/"
schedule:
interval: weekly
day: saturday
time: "03:30"
time: "03:00"
timezone: Europe/Paris
open-pull-requests-limit: 20
target-branch: stable24
labels:
- "3. to review"
- "feature: dependencies"
# Disable automatic rebasing because without a build CI will likely fail anyway
rebase-strategy: "disabled"
reviewers:
- "nextcloud/server-dependabot"
ignore:
# no major updates on stable branches
# ignore all GitHub linguist patch updates
- dependency-name: "*"
update-types: ["version-update:semver-major"]
update-types: ["version-update:semver-major", "version-update:semver-minor", "version-update:semver-patch"]
# Older stable releases
# Composer dependencies for linting and testing
- package-ecosystem: composer
target-branch: stable31
directories:
- "/"
- "/build/integration"
- "/vendor-bin/cs-fixer"
- "/vendor-bin/openapi-extractor"
- "/vendor-bin/phpunit"
- "/vendor-bin/psalm"
schedule:
interval: weekly
day: saturday
time: "04:00"
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: stable31
directory: "/"
schedule:
interval: weekly
day: saturday
time: "04:00"
time: "03:00"
timezone: Europe/Paris
open-pull-requests-limit: 20
target-branch: stable25
labels:
- "3. to review"
- "feature: dependencies"
# Disable automatic rebasing because without a build CI will likely fail anyway
rebase-strategy: "disabled"
reviewers:
- "nextcloud/server-dependabot"
ignore:
# no major updates on stable branches
# ignore all GitHub linguist patch updates
- dependency-name: "*"
update-types: ["version-update:semver-major"]
update-types: ["version-update:semver-major", "version-update:semver-minor", "version-update:semver-patch"]
- 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"]
# Testing StableXX composer
- package-ecosystem: composer
directory: "/build/integration"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
target-branch: stable24
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: 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"]
-7
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,5 +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`)
-2
View File
@@ -1,2 +0,0 @@
SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-126
View File
@@ -1,126 +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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
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@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
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_month to ' + (new Date()).toISOString().substr(0, 7));
core.exportVariable('current_month', (new Date()).toISOString().substr(0, 7));
}
- 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" | . >= "${{ env.current_month }}"' \
| 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@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
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@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- uses: webiny/action-conventional-commits@8bc41ff4e7d423d56fa4905f6ff79209a78776c7 # v1.3.0
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Initialize CodeQL
uses: github/codeql-action/init@5d5cd550d3e189c569da8f16ea8de2d821c9bf7a # v3.31.2
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
config-file: ./.github/codeql-config.yml
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@5d5cd550d3e189c569da8f16ea8de2d821c9bf7a # v3.31.2
with:
category: "/language:${{matrix.language}}"
+29 -134
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@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
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@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
uses: peter-evans/create-or-update-comment@ca08ebd5dc95aa0cd97021e9708fcd6b87138c9b # v3.0.1
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,150 +39,79 @@ 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@71345be0265236311c031f5c7866368bd1eff043 # v4.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
with:
path: .git
key: git-repo
- name: Checkout ${{ needs.init.outputs.head_ref }}
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
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@0ce2ed60f6df073a62a77c0a4958dd0fc68e32e7 # v2.1
id: package-engines-versions
with:
fallbackNode: '^20'
fallbackNpm: '^10'
fallbackNode: '^16'
fallbackNpm: '^7'
- name: Set up node ${{ steps.package-engines-versions.outputs.nodeVersion }}
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3
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:
CYPRESS_INSTALL_BINARY: 0
PUPPETEER_SKIP_DOWNLOAD: true
run: |
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@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
uses: peter-evans/create-or-update-comment@ca08ebd5dc95aa0cd97021e9708fcd6b87138c9b # 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"
+10 -55
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,38 @@ jobs:
steps:
- name: Add reaction on start
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v3.0.1
uses: peter-evans/create-or-update-comment@v2
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reactions: '+1'
reaction-type: "+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
- name: Init branch
uses: xt0rted/pull-request-comment-branch@e8b8daa837e8ea7331c0003c9c316a64c6d8b0b1 # v1
id: comment-branch
- name: Checkout ${{ steps.comment-branch.outputs.head_ref }}
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Checkout the latest code
uses: actions/checkout@v3
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@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
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@71345be0265236311c031f5c7866368bd1eff043 # 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@71345be0265236311c031f5c7866368bd1eff043 # v3.0.1
uses: peter-evans/create-or-update-comment@v2
if: failure()
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reactions: '-1'
reaction-type: "-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@ca08ebd5dc95aa0cd97021e9708fcd6b87138c9b # 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@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # 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@ca08ebd5dc95aa0cd97021e9708fcd6b87138c9b # 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"
+45 -132
View File
@@ -1,33 +1,19 @@
# 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
concurrency:
group: cypress-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
on:
pull_request:
push:
branches:
- main
- master
- stable*
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.
# Server requires head_ref instead of base_ref, as we want to test the PR branch
BRANCH: ${{ github.head_ref || github.ref_name }}
permissions:
contents: read
jobs:
init:
runs-on: ubuntu-latest
@@ -35,28 +21,13 @@ jobs:
nodeVersion: ${{ steps.versions.outputs.nodeVersion }}
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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
# We need to checkout submodules for 3rdparty
submodules: true
- name: Checkout app
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- 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"
@@ -65,30 +36,27 @@ jobs:
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@0ce2ed60f6df073a62a77c0a4958dd0fc68e32e7 # v2.1
id: versions
with:
fallbackNode: "^20"
fallbackNpm: "^10"
fallbackNode: "^14"
fallbackNpm: "^7"
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.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: ./
@@ -101,88 +69,38 @@ jobs:
fail-fast: false
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' || ''}}
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' || ''}}
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' || ''}}
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' || ''}}
ports:
- '1521'
env:
ORACLE_PASSWORD: oracle
options: --health-cmd healthcheck.sh --health-interval 20s --health-timeout 10s --health-retries 10
# Please increase the number or runners as your tests suite grows
containers: ["component", 1, 2]
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@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.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@b8ba51a856ba5f4c15cf39007636d4ab04f23e3c # v6.10.2
uses: cypress-io/github-action@db1693016f23ccf9043f4b2428f9b04e5d502a73 # v5.8.1
with:
# We already installed the dependencies in the init job
install: false
record: true
parallel: true
# cypress run type
component: ${{ matrix.containers == 'component' }}
group: ${{ matrix.use-cypress-cloud && matrix.containers == 'component' && 'Run component' || matrix.use-cypress-cloud && 'Run E2E' || '' }}
group: Run ${{ matrix.containers == 'component' && 'component' || 'E2E' }}
# cypress env
ci-build-id: ${{ matrix.use-cypress-cloud && format('{0}-{1}', github.sha, github.run_number) || '' }}
tag: ${{ matrix.use-cypress-cloud && github.event_name || '' }}
ci-build-id: ${{ github.sha }}-${{ github.run_number }}
tag: ${{ github.event_name }}
env:
# Needs to be prefixed with CYPRESS_
CYPRESS_BRANCH: ${{ env.BRANCH }}
@@ -192,43 +110,38 @@ jobs:
TESTING: true
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
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@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
- name: Upload snapshots
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
if: always()
with:
name: snapshots_videos_${{ matrix.containers }}
path: |
cypress/snapshots
cypress/videos
name: snapshots_${{ matrix.containers }}
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@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
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 dir archive
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
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()
+4 -13
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: 2021-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Dependabot
on:
pull_request_target: # zizmor: ignore[dangerous-triggers]
pull_request_target:
branches:
- main
- master
@@ -24,20 +21,14 @@ 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
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
# GitHub actions bot approve
# Github actions bot approve
- uses: hmarr/auto-approve-action@b40d6c9ed2fa10c9a2749eca7eb004418a705501 # v2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
-131
View File
@@ -1,131 +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/**'
- 'apps/files_external/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- '**.php'
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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
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@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
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@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.xml
flags: phpunit-files-external-ftp
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.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
-213
View File
@@ -1,213 +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/**'
- 'apps/files_external/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- '**.php'
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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
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@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.xml
flags: phpunit-files-external-s3
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
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@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.xml
flags: phpunit-files-external-s3
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.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
-121
View File
@@ -1,121 +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/**'
- 'apps/files_external/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- '**.php'
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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
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@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
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@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.xml
flags: phpunit-files-external-sftp
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.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,118 +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/**'
- 'apps/files_external/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- '**.php'
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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Checkout user_saml
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
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
sftp-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
-121
View File
@@ -1,121 +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/**'
- 'apps/files_external/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- '**.php'
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/nextcloud/continuous-integration-samba:latest # zizmor: ignore[unpinned-images]
ports:
- 445:445
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
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@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.xml
flags: phpunit-files-external-smb
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.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
-119
View File
@@ -1,119 +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/**'
- 'apps/files_external/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- '**.php'
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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
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@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.xml
flags: phpunit-files-external-webdav
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.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
-107
View File
@@ -1,107 +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/**'
- 'apps/files_external/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
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@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.xml
flags: phpunit-files-external-generic
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.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 }}
+87
View File
@@ -0,0 +1,87 @@
name: FTP unit tests
on:
push:
branches:
- master
- stable*
paths:
- '.github/**'
- 'apps/files_external/**'
pull_request:
paths:
- '.github/**'
- 'apps/files_external/**'
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@v3
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@v2
with:
php-version: ${{ matrix.php-versions }}
tools: phpunit:9
extensions: mbstring, fileinfo, intl, sqlite, pdo_sqlite, zip, gd
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- 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 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
phpunit --configuration tests/phpunit-autotest-external.xml 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,103 +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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
repository: nextcloud/github_helper
path: github_helper
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
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@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4
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 }}"
-128
View File
@@ -1,128 +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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
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@bff0a193747a3ac7930a665fc1d4b23eba583b99 # v2025.814.40518
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
-115
View File
@@ -1,115 +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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
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,122 +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/**'
- '**/*.php'
- '**/lib/**'
- '**/tests/**'
- '**/vendor-bin/**'
- 'build/integration/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
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: |
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
-185
View File
@@ -1,185 +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'
- '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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Checkout Talk app
if: ${{ matrix.test-suite == 'videoverification_features' }}
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
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@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
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 production dependencies
run: composer i --no-dev
- name: Set up behat dependencies
working-directory: build/integration
run: composer i
- 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
@@ -0,0 +1,39 @@
# 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
#
# 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:
paths-ignore:
- '.github/workflows/**'
- 'src/**'
- 'apps/**/appinfo/info.xml'
- 'package.json'
- 'package-lock.json'
- 'tsconfig.json'
- '.eslintrc.*'
- '.eslintignore'
- '**.js'
- '**.ts'
- '**.vue'
permissions:
contents: read
jobs:
lint:
permissions:
contents: none
runs-on: ubuntu-latest
name: eslint
steps:
- run: 'echo "No eslint required"'
+23 -61
View File
@@ -3,12 +3,25 @@
# 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:
paths:
- '.github/workflows/**'
- 'src/**'
- 'apps/**/appinfo/info.xml'
- 'package.json'
- 'package-lock.json'
- 'tsconfig.json'
- '.eslintrc.*'
- '.eslintignore'
- '**.js'
- '**.ts'
- '**.vue'
permissions:
contents: read
@@ -18,83 +31,32 @@ concurrency:
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/**'
- '**/src/**'
- '**/appinfo/info.xml'
- 'package.json'
- 'package-lock.json'
- 'tsconfig.json'
- '.eslintrc.*'
- '.eslintignore'
- '**.js'
- '**.ts'
- '**.vue'
lint:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
name: NPM lint
name: eslint
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- 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@0ce2ed60f6df073a62a77c0a4958dd0fc68e32e7 # v2.1
id: versions
with:
fallbackNode: '^20'
fallbackNpm: '^10'
fallbackNode: '^16'
fallbackNpm: '^7'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3
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:
CYPRESS_INSTALL_BINARY: 0
PUPPETEER_SKIP_DOWNLOAD: true
run: npm ci
- name: Lint
run: npm run lint
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, lint]
if: always()
# This is the summary, we just avoid to rename it so that branch protection rules still match
name: eslint
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.lint.result != 'success' }}; then exit 1; fi
+4 -48
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
@@ -18,45 +15,19 @@ concurrency:
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/**'
- '**/lib/**'
- '**/tests/**'
- '**/vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
lint:
runs-on: ubuntu-latest
name: PHP CS fixer lint
name: php-cs
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- name: Set up php8.1
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4
- name: Set up php
uses: shivammathur/setup-php@c5fc0d8281aba02c7fda07d3a70cc5371548067d # v2
with:
php-version: 8.1
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:
@@ -67,18 +38,3 @@ jobs:
- name: Lint
run: composer run cs:check || ( echo 'Please run `composer run cs:fix` to format your code' && exit 1 )
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, lint]
if: always()
# This is the summary, we just avoid to rename it so that branch protection rules still match
name: php-cs
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.lint.result != 'success' }}; then exit 1; fi
+14 -38
View File
@@ -2,13 +2,16 @@
#
# 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:
push:
branches:
- main
- master
- stable*
permissions:
contents: read
@@ -18,47 +21,20 @@ concurrency:
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/**'
- '**/lib/**'
- '**/tests/**'
- '**/vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
lint:
php-lint:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
strategy:
matrix:
php-versions: [ '8.2', '8.3', '8.4' ]
php-versions: [ "8.0", "8.1", "8.2" ]
name: php-lint
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4
uses: shivammathur/setup-php@c5fc0d8281aba02c7fda07d3a70cc5371548067d # v2
with:
php-version: ${{ matrix.php-versions }}
coverage: none
@@ -72,8 +48,8 @@ jobs:
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, lint]
runs-on: ubuntu-latest
needs: php-lint
if: always()
@@ -81,4 +57,4 @@ jobs:
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.lint.result != 'success' }}; then exit 1; fi
run: if ${{ needs.php-lint.result != 'success' && needs.php-lint.result != 'skipped' }}; then exit 1; fi
-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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
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: '^20'
fallbackNpm: '^10'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.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 }}'
- name: Install dependencies
env:
CYPRESS_INSTALL_BINARY: 0
run: npm ci
- name: Lint
run: npm run stylelint
-159
View File
@@ -1,159 +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'
versions:
runs-on: ubuntu-latest-low
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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
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: '^20'
fallbackNpm: '^10'
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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Set up node ${{ needs.versions.outputs.nodeVersion }}
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
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 & build
run: |
npm ci
npm run build --if-present
- name: Test and process coverage
run: npm run test:coverage --if-present
- name: Collect coverage
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./coverage/lcov.info
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Set up node ${{ needs.versions.outputs.nodeVersion }}
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
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: Run compile
run: ./build/compile-handlebars-templates.sh
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, test, handlebars]
if: always()
name: node-test-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && (needs.test.result != 'success' || needs.handlebars.result != 'success') }}; then exit 1; fi
+95
View File
@@ -0,0 +1,95 @@
name: Node tests
on:
pull_request:
push:
branches:
- master
- stable*
jobs:
versions:
runs-on: ubuntu-latest
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
outputs:
nodeVersion: ${{ steps.versions.outputs.nodeVersion }}
npmVersion: ${{ steps.versions.outputs.npmVersion }}
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@v1.1
id: versions
with:
fallbackNode: '^12'
fallbackNpm: '^6'
test:
runs-on: ubuntu-latest
needs: versions
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up node ${{ needs.versions.outputs.nodeVersion }}
uses: actions/setup-node@v2
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: Test
run: npm run test
jsunit:
runs-on: ubuntu-latest
needs: versions
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up node ${{ needs.versions.outputs.nodeVersion }}
uses: actions/setup-node@v2
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: Test
run: npm run test:jsunit
handlebars:
runs-on: ubuntu-latest
needs: versions
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up node ${{ needs.versions.outputs.nodeVersion }}
uses: actions/setup-node@v2
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: Run compile
run: ./build/compile-handlebars-templates.sh
+43
View File
@@ -0,0 +1,43 @@
# 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
#
# Use node together with node-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: Node
on:
pull_request:
paths-ignore:
- '.github/workflows/**'
- 'src/**'
- 'apps/**/appinfo/info.xml'
- 'package.json'
- 'package-lock.json'
- 'tsconfig.json'
- '**.js'
- '**.ts'
- '**.vue'
push:
branches:
- main
- master
- stable*
concurrency:
group: node-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
build:
permissions:
contents: none
runs-on: ubuntu-latest
name: node
steps:
- name: Skip
run: 'echo "No JS/TS files changed, skipped Node"'
+24 -63
View File
@@ -2,13 +2,26 @@
#
# 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:
paths:
- '.github/workflows/**'
- 'src/**'
- 'apps/**/appinfo/info.xml'
- 'package.json'
- 'package-lock.json'
- 'tsconfig.json'
- '**.js'
- '**.ts'
- '**.vue'
push:
branches:
- main
- master
- stable*
permissions:
contents: read
@@ -18,67 +31,30 @@ concurrency:
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/**'
- '**/src/**'
- '**/appinfo/info.xml'
- 'package.json'
- 'package-lock.json'
- 'tsconfig.json'
- '**.js'
- '**.ts'
- '**.vue'
- 'core/css/*'
- 'core/img/**'
- 'version.php'
build:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
name: NPM build
name: node
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- 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@0ce2ed60f6df073a62a77c0a4958dd0fc68e32e7 # v2.1
id: versions
with:
fallbackNode: '^20'
fallbackNpm: '^10'
fallbackNode: '^16'
fallbackNpm: '^7'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3
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 & build
env:
CYPRESS_INSTALL_BINARY: 0
PUPPETEER_SKIP_DOWNLOAD: true
run: |
npm ci
npm run build --if-present
@@ -93,18 +69,3 @@ jobs:
git status
git --no-pager diff
exit 1 # make it red to grab attention
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, build]
if: always()
# This is the summary, we just avoid to rename it so that branch protection rules still match
name: node
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.build.result != 'success' }}; then exit 1; fi
+17 -27
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,58 +18,54 @@ jobs:
strategy:
fail-fast: false
matrix:
branches: ['main', 'master', 'stable32', 'stable31', 'stable30']
branches: ["main", "master", "stable27", "stable26", "stable25", "stable24"]
name: npm-audit-fix-${{ matrix.branches }}
steps:
- name: Checkout
id: checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
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@0ce2ed60f6df073a62a77c0a4958dd0fc68e32e7 # v2.1
id: versions
with:
fallbackNode: '^20'
fallbackNpm: '^10'
fallbackNode: '^16'
fallbackNpm: '^7'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3
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'
env:
CYPRESS_INSTALL_BINARY: 0
if: always()
run: |
npm ci
npm run build --if-present
- name: Create Pull Request
if: steps.checkout.outcome == 'success'
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8
if: always()
uses: peter-evans/create-pull-request@284f54f989303d2699d373481a0cfa13ad5a6666 # 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
-138
View File
@@ -1,138 +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/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
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: true
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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
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@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.xml
flags: phpunit-azure
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.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
-144
View File
@@ -1,144 +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/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
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: true
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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
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@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.xml
flags: phpunit-s3
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.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
-134
View File
@@ -1,134 +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/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
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: true
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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
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@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.xml
flags: phpunit-swift
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.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
+86
View File
@@ -0,0 +1,86 @@
name: PHPUnit oci
on: pull_request
permissions:
contents: read
concurrency:
group: phpunit-oci-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
phpunit-oci:
runs-on: ubuntu-20.04
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
strategy:
matrix:
php-versions: ['8.0', '8.1', '8.2']
services:
oracle:
image: ghcr.io/gvenzl/oracle-xe:11
# Provide passwords and other environment variables to container
env:
ORACLE_RANDOM_PASSWORD: true
APP_USER: autotest
APP_USER_PASSWORD: owncloud
# Forward Oracle port
ports:
- 1521:1521/tcp
# Provide healthcheck script options for startup
options: >-
--health-cmd healthcheck.sh
--health-interval 10s
--health-timeout 5s
--health-retries 10
steps:
- name: Checkout server
uses: actions/checkout@v3
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
extensions: ctype, curl, dom, fileinfo, gd, imagick, intl, json, mbstring, oci8, openssl, pcntl, pdo_sqlite, posix, sqlite, xml, zip
tools: phpunit:9
coverage: none
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
run: |
mkdir data
./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
working-directory: tests
run: phpunit --configuration phpunit-autotest.xml --group DB,SLOWDB
- name: Run repair steps
run: |
./occ maintenance:repair --include-expensive
summary:
permissions:
contents: none
runs-on: ubuntu-latest
needs: phpunit-oci
if: always()
name: phpunit-oci-summary
steps:
- name: Summary status
run: if ${{ needs.phpunit-oci.result != 'success' }}; then exit 1; fi
-47
View File
@@ -1,47 +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-FileCopyrightText: 2024 Arthur Schiwon <blizzz@arthur-schiwon.de>
# SPDX-License-Identifier: MIT
name: OpenAPI
on: pull_request
permissions:
contents: read
concurrency:
group: openapi-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
openapi:
runs-on: ubuntu-latest
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Set up php
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4
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
coverage: none
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
run: composer i
- name: OpenAPI checker
run: build/openapi-checker.sh
+16 -35
View File
@@ -1,51 +1,33 @@
# 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
jobs:
performance-testing:
runs-on: ubuntu-latest
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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@v3
with:
persist-credentials: false
submodules: true
ref: ${{ github.event.pull_request.base.ref }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4
uses: shivammathur/setup-php@v2
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
tools: phpunit:9
extensions: mbstring, fileinfo, intl, sqlite, pdo_sqlite, zip, gd
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -56,13 +38,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@6801ee10fc80f10b444388fb6ca9b36ad8a2ea83
uses: nextcloud/profiler@1e66a9de5f76a01e9d1db4f0153bcc1cbf989b3d
with:
run: |
curl -s -X PROPFIND -u test:test http://localhost:8080/remote.php/dav/files/test
@@ -71,20 +52,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: stable27
- 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@6801ee10fc80f10b444388fb6ca9b36ad8a2ea83
uses: nextcloud/profiler@1e66a9de5f76a01e9d1db4f0153bcc1cbf989b3d
with:
run: |
curl -s -X PROPFIND -u test:test http://localhost:8080/remote.php/dav/files/test
@@ -93,19 +74,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: stable27
compare-with: before.json
- name: Upload profiles
if: always()
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02
uses: actions/upload-artifact@v2
with:
name: profiles
path: |
before.json
after.json
- uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7
- uses: actions/github-script@v5
if: failure() && steps.compare.outcome == 'failure'
with:
github-token: ${{secrets.GITHUB_TOKEN}}
+13 -19
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"
@@ -29,15 +25,13 @@ jobs:
container: shivammathur/node:latest-i386
strategy:
fail-fast: false
matrix:
php-versions: ["8.2", "8.3", "8.4"]
php-versions: ['8.0']
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@v3
with:
persist-credentials: false
submodules: true
- name: Install tools
@@ -46,26 +40,26 @@ jobs:
sudo apt-get install -y ffmpeg imagemagick libmagickcore-6.q16-3-extra
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
uses: shivammathur/setup-php@9c77701ae57b0c47f6732beebfbdec76e4e5c90a #debian bookworm fix
with:
php-version: ${{ matrix.php-versions }}
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, apcu, ldap
extensions: ctype, curl, dom, fileinfo, gd, imagick, intl, json, mbstring, openssl, pdo_sqlite, posix, sqlite, xml, zip, apcu
tools: phpunit:9
coverage: none
ini-file: development
ini-values: apc.enabled=on, apc.enable_cli=on, disable_functions= # https://github.com/shivammathur/setup-php/discussions/573
ini-values:
apc.enabled=on,
apc.enable_cli=on
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
run: composer i
- name: Set up Nextcloud
env:
DB_PORT: 4444
run: |
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 tests/enable_all.php
php -f index.php
- name: PHPUnit
run: composer run test -- --exclude-group PRIMARY-azure,PRIMARY-s3,PRIMARY-swift,Memcached,Redis,RoutingWeirdness
working-directory: tests
run: phpunit --configuration phpunit-autotest.xml --exclude-group PRIMARY-azure,PRIMARY-s3,PRIMARY-swift,Memcached,Redis,RoutingWeirdness
-155
View File
@@ -1,155 +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.3', '10.6', '10.11', '11.4', '11.8']
include:
- php-versions: '8.3'
mariadb-versions: '10.11'
coverage: ${{ github.event_name != 'pull_request' }}
- php-versions: '8.4'
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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4
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@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.db.xml
flags: phpunit-mariadb
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.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
-134
View File
@@ -1,134 +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']
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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
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,Memcached --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.xml
flags: phpunit-memcached
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.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,192 +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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
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@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.db.xml
flags: phpunit-mysql
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.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
-160
View File
@@ -1,160 +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', '8.4']
include:
- mysql-versions: '8.0'
php-versions: '8.3'
coverage: ${{ github.event_name != 'pull_request' }}
- mysql-versions: '8.4'
php-versions: '8.4'
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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4
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@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.db.xml
flags: phpunit-mysql
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.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
-140
View File
@@ -1,140 +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']
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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
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,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@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.nodb.xml
flags: phpunit-nodb
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.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,124 +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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
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
-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 OCI
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: phpunit-oci-${{ 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-oci:
runs-on: ubuntu-latest
needs: changes
if: ${{ needs.changes.outputs.src != 'false' && github.repository_owner != 'nextcloud-gmbh' }}
strategy:
fail-fast: false
matrix:
include:
- oracle-versions: '11'
php-versions: '8.2'
- oracle-versions: '18'
php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
- oracle-versions: '21'
php-versions: '8.2'
- oracle-versions: '23'
php-versions: '8.3'
- oracle-versions: '23'
php-versions: '8.4'
name: Oracle ${{ matrix.oracle-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
oracle:
image: ghcr.io/gvenzl/oracle-${{ matrix.oracle-versions < 23 && 'xe' || 'free' }}:${{ matrix.oracle-versions }}
# Provide passwords and other environment variables to container
env:
ORACLE_PASSWORD: oracle
# Forward Oracle port
ports:
- 1521:1521
# Provide healthcheck script options for startup
options: >-
--health-cmd healthcheck.sh
--health-interval 20s
--health-timeout 10s
--health-retries 10
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4
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' }}
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/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
- 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@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.db.xml
flags: phpunit-oci
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
with:
flags: phpunit-oci
- name: Run repair steps
run: |
./occ maintenance:repair --include-expensive
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, phpunit-oci]
if: always()
name: phpunit-oci-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.phpunit-oci.result != 'success' }}; then exit 1; fi
-159
View File
@@ -1,159 +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: ['13', '17']
include:
- php-versions: '8.3'
postgres-versions: '17'
coverage: ${{ github.event_name != 'pull_request' }}
- php-versions: '8.4'
postgres-versions: '17'
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/data --health-cmd pg_isready --health-interval 5s --health-timeout 2s --health-retries 5
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4
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@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.db.xml
flags: phpunit-postgres
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.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
-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: 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']
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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4
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 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: 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' || '' }}
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 # v5.5.0
with:
files: ./clover.db.xml
flags: phpunit-sqlite
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
with:
flags: phpunit-sqlite
- name: Print logs
if: always()
run: |
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
-55
View File
@@ -1,55 +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-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
steps:
- name: The get-github-handles-from-website action
uses: marcelklehr/get-github-handles-from-website-action@06b2239db0a48fe1484ba0bfd966a3ab81a08308 # v1.0.1
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@1883b38a033fb16f576875e0cf45f98b857655c4 # main
with:
feedback-message: |
Hello there,
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.
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: '2024-04-30'
exempt-authors: '${{ steps.blocklist.outputs.blocklist }},${{ steps.scrape.outputs.users }}'
exempt-bots: true
-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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: REUSE Compliance Check
uses: fsfe/reuse-action@bb774aa972c2a89ff34781233d275075cbddf542 # v5.0.0
+132
View File
@@ -0,0 +1,132 @@
name: S3 External storage
on:
push:
branches:
- master
- stable*
paths:
- 'apps/files_external/**'
pull_request:
paths:
- 'apps/files_external/**'
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@v3
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
tools: phpunit:9
extensions: mbstring, fileinfo, intl, sqlite, pdo_sqlite, zip, gd
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- 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 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
phpunit --configuration tests/phpunit-autotest-external.xml apps/files_external/tests/Storage/Amazons3Test.php
phpunit --configuration tests/phpunit-autotest-external.xml 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@v3
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
tools: phpunit:9
extensions: mbstring, fileinfo, intl, sqlite, pdo_sqlite, zip, gd
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- 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 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
phpunit --configuration tests/phpunit-autotest-external.xml apps/files_external/tests/Storage/Amazons3Test.php
phpunit --configuration tests/phpunit-autotest-external.xml 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,86 @@
name: S3 primary storage integration tests
on:
pull_request:
push:
branches:
- master
- stable*
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@v3
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
tools: phpunit:9
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
+78
View File
@@ -0,0 +1,78 @@
name: S3 primary storage
on:
pull_request:
push:
branches:
- master
- stable*
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@v3
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
tools: phpunit:9
extensions: mbstring, fileinfo, intl, sqlite, pdo_sqlite, zip, gd
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- 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
./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
working-directory: tests
run: phpunit --configuration phpunit-autotest.xml --group DB,SLOWDB
- 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
+75
View File
@@ -0,0 +1,75 @@
name: SFTP unit tests
on:
push:
branches:
- master
- stable*
paths:
- 'apps/files_external/**'
pull_request:
paths:
- 'apps/files_external/**'
env:
APP_NAME: files_external
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@v3
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 }}
tools: phpunit:9
extensions: mbstring, fileinfo, intl, sqlite, pdo_sqlite, zip, gd
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- 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 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
phpunit --configuration tests/phpunit-autotest-external.xml 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
+58
View File
@@ -0,0 +1,58 @@
name: Samba Kerberos SSO
on:
push:
branches:
- master
- stable*
paths:
- 'apps/files_external/**'
- '.github/workflows/smb-kerberos.yml'
pull_request:
paths:
- 'apps/files_external/**'
- '.github/workflows/smb-kerberos.yml'
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@v3
with:
submodules: true
- name: Checkout user_saml
uses: actions/checkout@v3
with:
repository: nextcloud/user_saml
path: apps/user_saml
ref: stable27
- 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)
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@3a9db7e6a41a89f618792c92c0e97cc736e1b13f # v9
- uses: actions/stale@v5
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 -70
View File
@@ -1,43 +1,29 @@
# 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 }}
cancel-in-progress: true
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@08c6903cd8c0fde910a37f88322edcfb5dd907a8
uses: actions/checkout@v3
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
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 }}
@@ -46,64 +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' }}
steps:
- name: Checkout code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8
uses: actions/checkout@v3
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
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@51f77329afa6477de8c49fc9c7046c15b9a4e79d # 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@08c6903cd8c0fde910a37f88322edcfb5dd907a8
uses: actions/checkout@v3
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
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 }}
@@ -112,35 +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@08c6903cd8c0fde910a37f88322edcfb5dd907a8
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
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
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', 'stable32', 'stable31', 'stable30', 'stable29', 'stable28', 'stable27', 'stable26', 'stable25', 'stable24', 'stable23', 'stable22']
branches: ["master", "stable26", "stable25", "stable24", "stable23", "stable22"]
name: update-ca-certificate-bundle-${{ matrix.branches }}
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: actions/checkout@v3
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@271a8d0340265f705b14b6d32b9829c1cb33d45e
uses: peter-evans/create-pull-request@v3
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: 'fix(security): Update CA certificate bundle'
commit-message: 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 }}] Update ca-cert 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', 'stable32', 'stable31', 'stable30', 'stable29', 'stable28', 'stable27', 'stable26', 'stable25', 'stable24', 'stable23', 'stable22']
name: update-code-signing-crl-${{ matrix.branches }}
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
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@271a8d0340265f705b14b6d32b9829c1cb33d45e
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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
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@271a8d0340265f705b14b6d32b9829c1cb33d45e
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", "stable26", "stable25", "stable24", "stable23"]
name: update-psalm-baseline-${{ matrix.branches }}
steps:
- uses: actions/checkout@v3
with:
ref: ${{ matrix.branches }}
submodules: true
- name: Set up php
uses: shivammathur/setup-php@v2
with:
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 }}
- name: Composer install
run: composer install
- name: Psalm
run: composer run psalm -- --monochrome --no-progress --output-format=text --update-baseline
continue-on-error: true
- name: Psalm OCP
run: composer run psalm -- -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@v4
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@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
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 -19
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
@@ -160,22 +155,17 @@ Vagrantfile
/config/config-autotest-backup.php
/config/autoconfig.php
clover.xml
/coverage
# Tests - dependencies
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
+10 -33
View File
@@ -15,18 +15,11 @@
<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 Referrer-Policy
Header always set Referrer-Policy "no-referrer"
Header onsuccess unset X-Content-Type-Options
Header always set X-Content-Type-Options "nosniff"
@@ -40,11 +33,14 @@
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|webp|ico|wasm|tflite)$">
<FilesMatch "\.(css|js|mjs|svg|gif|png|jpg|ico|wasm|tflite)$">
<If "%{QUERY_STRING} =~ /(^|&)v=/">
Header set Cache-Control "max-age=15778463, immutable"
</If>
@@ -53,13 +49,14 @@
</Else>
</FilesMatch>
# Let browsers cache OTF and WOFF files for a week
<FilesMatch "\.(otf|woff2?)$">
# 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 mbstring.func_overload 0
php_value default_charset 'UTF-8'
php_value output_buffering 0
<IfModule mod_env.c>
@@ -97,25 +94,5 @@
RewriteRule ^(?:\.(?!well-known)|autotest|occ|issue|indie|db_|console).* - [R=404,L]
</IfModule>
# Clients like xDavv5 on Android, or Cyberduck, use chunked requests.
# When FastCGI or FPM is used with apache, requests arrive to Nextcloud without any content.
# This leads to the creation of empty files.
# The following directive will force the problematic requests to be buffered before being forwarded to Nextcloud.
# This way, the "Transfer-Encoding" header is removed, the "Content-Length" header is set, and the request content is proxied to Nextcloud.
# 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>
AddDefaultCharset utf-8
Options -Indexes
-2
View File
@@ -1,2 +0,0 @@
SPDX-FileCopyrightText: 2014 ownCloud, Inc.
SPDX-License-Identifier: AGPL-3.0-only

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