Compare commits

..

1086 Commits

Author SHA1 Message Date
John Molakvoæ fb5dbd8059 Merge pull request #30839 from nextcloud/releases/22.2.4 2022-01-27 20:53:49 +01:00
John Molakvoæ c0b29720e1 Merge pull request #30826 from nextcloud/backport/stable22/psalm-fix 2022-01-27 20:05:54 +01:00
Carl Schwan 57514e44a9 Psalm fixing
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-01-27 17:20:48 +01:00
John Molakvoæ d7e58015df Merge pull request #30873 from nextcloud/backport/30844/stable22 2022-01-27 12:10:44 +01:00
John Molakvoæ fa2ac9362e Merge pull request #30741 from nextcloud/backport22 2022-01-27 09:26:53 +01:00
John Molakvoæ 56153ed19f Prevent merging on EOL branches
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2022-01-27 08:12:47 +00:00
Nextcloud bot 995f93978a [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-01-27 02:27:36 +00:00
John Molakvoæ 140dfe5f13 Merge pull request #30848 from nextcloud/backport/30846/stable22 2022-01-26 13:12:58 +01:00
Louis Chemineau 67af56e868 Fix php:cs
Signed-off-by: Louis Chemineau <louis@chmn.me>
2022-01-26 10:52:01 +00:00
Nextcloud bot cd35b216df [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-01-26 02:27:46 +00:00
John Molakvoæ 2ac2075d03 22.2.4 Final 2022-01-25 14:52:43 +01:00
Nextcloud bot 89bc4c1c19 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-01-25 02:27:42 +00:00
Carl Schwan 0262cc33d7 Fix psalm
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-01-24 13:34:48 +01:00
John Molakvoæ 50c7a5e4cd Merge pull request #30807 from nextcloud/dependabot/composer/build/integration/stable22/sabre/dav-4.3.1 2022-01-24 08:07:40 +01:00
Nextcloud bot 81c4d00b70 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-01-24 02:26:51 +00:00
Nextcloud bot b862748a9a [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-01-23 02:26:36 +00:00
John Molakvoæ 067781e55b Merge pull request #30812 from nextcloud/backport/30795/stable22 2022-01-22 14:09:54 +01:00
John Molakvoæ 44c1403708 Merge pull request #30774 from nextcloud/backport/30769/stable22 2022-01-22 10:25:41 +01:00
Carl Schwan 627466a226 Fix accessing undefined offsets
Move this to inside the else clause of the count($matches)

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-01-22 09:01:12 +00:00
Nextcloud bot 7acd13d002 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-01-22 02:26:44 +00:00
dependabot[bot] 49a3607ceb Update sabre/dav requirement from 4.3.0 to 4.3.1 in /build/integration
Updates the requirements on [sabre/dav](https://github.com/sabre-io/dav) to permit the latest version.
- [Release notes](https://github.com/sabre-io/dav/releases)
- [Changelog](https://github.com/sabre-io/dav/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sabre-io/dav/compare/4.3.0...4.3.1)

---
updated-dependencies:
- dependency-name: sabre/dav
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-22 02:18:41 +00:00
John Molakvoæ 7211f53812 Merge pull request #30766 from nextcloud/release/22.2.4rc3 2022-01-21 12:48:22 +01:00
John Molakvoæ b72253c44a Merge pull request #30786 from nextcloud/fix-backport/30470/stable22 2022-01-21 11:02:45 +01:00
Nextcloud bot 592e5811a5 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-01-21 02:27:09 +00:00
Julius Härtl dc21554b52 Add hashed attribute column for indexed job existence check
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-01-20 22:37:42 +01:00
John Molakvoæ 18f67eefb2 Merge pull request #30780 from nextcloud/backport/29349/stable22 2022-01-20 21:26:02 +01:00
John Molakvoæ b6415ad8bf Revert "[stable22] Hash job argument" 2022-01-20 21:10:43 +01:00
Robin Appelman c651fc2078 Add test for samba kerberos sso in ci
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-01-20 19:14:13 +00:00
Robin Appelman 70e13a450f update icewind/smb to 3.5.2
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-01-20 19:14:12 +00:00
Robin Appelman a64bcb22be update to release smb lib
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-01-20 19:14:11 +00:00
Robin Appelman 017e5a1c97 update icewind/smb to 3.5.1
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-01-20 19:14:10 +00:00
Arthur Schiwon 926aa94083 do not use deprecated query() method
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2022-01-20 19:14:09 +00:00
Arthur Schiwon ab983691dc add changes from Sebastian/dassIT and move default_realm to backend
- Sebastian added the switch depending on the preg_match result and with it
  the fall back to login credentials
- I turned default_realm to a backend option (was previously suggested as
  system config key)

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2022-01-20 19:14:08 +00:00
Arthur Schiwon 3dc1ed8eff add KerberosApacheAuth support to files_external
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2022-01-20 19:14:07 +00:00
Côme Chilliet 3f3908b72a Always call flush() as getAllKeys() is broken
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-01-20 15:43:34 +00:00
John Molakvoæ 92fcdc3509 Merge pull request #30727 from nextcloud/backport/30614/stable22 2022-01-20 15:45:22 +01:00
Carl Schwan 8e9f02fce2 Fix tests with email templates
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-01-20 10:38:11 +01:00
John Molakvoæ fd1bcd434c Merge pull request #30760 from nextcloud/backport/30731/stable22 2022-01-20 10:35:07 +01:00
John Molakvoæ 4cf937ad81 Merge pull request #29799 from nextcloud/stable22-disk 2022-01-20 10:33:45 +01:00
John Molakvoæ a2b6f1be00 22.2.4 RC3
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2022-01-20 10:18:40 +01:00
Nextcloud bot a3bbb56632 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-01-20 02:27:32 +00:00
Joas Schilling 8db890a621 Log bruteforce throttle and blocking
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-01-19 11:51:56 +00:00
Joas Schilling ea84427db2 Merge pull request #30752 from nextcloud/fix/stable22/public-shares
Revert "Improve layout for the public download page"
2022-01-19 11:47:36 +01:00
John Molakvoæ 2f82fc2961 Merge pull request #30754 from nextcloud/backport/30738/stable22 2022-01-19 11:04:23 +01:00
John Molakvoæ bf7344799c Merge pull request #30748 from nextcloud/backport/30615/stable22 2022-01-19 10:45:38 +01:00
Joas Schilling a8847c022b Create block-merge-freeze.yml
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2022-01-19 09:23:56 +00:00
Max bdd677c091 Revert "Improve layout for the public download page"
This reverts commit 30decc3ed1.

Signed-off-by: Max <max@nextcloud.com>
2022-01-19 09:53:07 +01:00
Nextcloud bot 9b0f7b3b51 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-01-19 02:27:49 +00:00
Christopher Ng e35bb236fb Update autoload
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2022-01-19 02:20:25 +00:00
Christopher Ng a38ac95ff6 Improve installation pages
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 22768769c3)
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2022-01-19 00:48:36 +00:00
Carl Schwan cac4c1a2de Merge pull request #30736 from nextcloud/backport/30470/stable22
[stable22] Hash job argument
2022-01-18 17:03:40 +01:00
acsfer 3b831e4842 [stable22] Increase email main buttons width for non-english languages
Manual backport of https://github.com/nextcloud/server/pull/30653
2022-01-18 16:03:09 +01:00
Julius Härtl 5bda5e5d95 Add hashed attribute column for indexed job existence check
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-01-18 15:13:11 +01:00
Nextcloud bot 1aaa8e5e9a [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-01-18 02:45:30 +00:00
Marek-Wojtowicz 457bb9b8ef Update Session.php
The http headers according to rfc 2616 is iso-8859-1. This patch fixes the behavior when non-ascii characters are present in the header.

Signed-off-by: Marek Wójtowicz <Marek.Wojtowicz@agh.edu.pl>
2022-01-17 23:23:08 +00:00
MichaIng b4486d20f0 Merge pull request #30692 from nextcloud/backport/29923/stable22
[stable22] Fix users can't login external mount user entered credentials not set
2022-01-17 21:20:42 +01:00
acsfer ad5ea4eb06 [stable22] Check for disk_free_space
Backport of https://github.com/nextcloud/server/pull/29758
2022-01-17 19:56:35 +00:00
blizzz bc81ebd496 Merge pull request #30679 from nextcloud/release/22.2.4rc2
22.2.4 RC2
2022-01-17 12:19:34 +01:00
Louis d316e5a49b Merge pull request #30690 from nextcloud/backport/30645/stable22
[stable22] New Files internal link GET param to avoid opening the file
2022-01-17 10:39:59 +01:00
John Molakvoæ fcb82f6d42 Merge pull request #30687 from nextcloud/backport/30499/stable22 2022-01-17 08:57:36 +01:00
Nextcloud bot c09caf5beb [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-01-17 02:26:03 +00:00
Jonas 293e5550e9 Merge pull request #30694 from nextcloud/backport/30631/stable22
[stable22] updateEncryptedVersion: cleanup on target if cache already got renamed
2022-01-16 10:20:12 +01:00
Nextcloud bot 0e2bc53885 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-01-16 02:27:20 +00:00
Jonas Meurer 5d1157c37c updateEncryptedVersion: cleanup on target if cache already got renamed
When moving a file to trash with encryption enabled, the cache gets
moved before the actual file. According to @icewind1991 this is in order
to not break object storage.

When moving a file from an unencrypted storage (e.g. a collectives
storage) to the encrypted trashbin storage, this causes errors, see

This commit fixes it by doing `updateEncryptedVersion()` on the target
cache entry *if* the source cache entry doesn't exist anymore, but the
corresponding target cache entry does exist already.

Fixes: #26544

Signed-off-by: Jonas Meurer <jonas@freesources.org>
2022-01-15 13:40:01 +01:00
Nextcloud bot 6d305cb8aa [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-01-15 02:27:18 +00:00
MichaIng 537f1e7c67 Merge pull request #30697 from nextcloud/backport/30655/stable22
[stable22] Improve layout for the public download page
2022-01-15 02:39:59 +01:00
Carl Schwan 3067a70086 Add non-breaking space in the file size
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-01-14 22:34:08 +00:00
Carl Schwan 30decc3ed1 Improve layout for the public download page
This centers the content inside the pages, while also not hardcoded the
size of the footer.

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-01-14 22:34:04 +00:00
Carl Schwan 5881082fd8 Merge pull request #30683 from nextcloud/backport/30531/stable22
[stable22] Optimize FileSystemTags workflow for groupfolder
2022-01-14 20:07:40 +01:00
Anderson Luiz Alves 951b25e127 files_external SMB: throw InvalidArgument when user is not set
Signed-off-by: Anderson Luiz Alves <alacn1@gmail.com>
2022-01-14 17:06:40 +00:00
Julien Veyssier b165aa7367 [files] new internal link GET param to avoid setting 'openfile' on redirect
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
2022-01-14 17:01:50 +00:00
John Molakvoæ fbc1007618 Merge pull request #30673 from nextcloud/backport/stable22/30597 2022-01-14 17:30:34 +01:00
Vincent Petry e4b650fa11 Remove inefficient fed share scanner
Remove scanAll which relies on the "shareinfo" endpoint that returns the
full cache tree.
The latter can become big for big shares and result in timeouts.
Furthermode, the full tree would be retrieved again for each and every
detected change which can become expensive quickly.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2022-01-14 16:09:00 +00:00
John Molakvoæ fe7a29155f Merge pull request #30675 from nextcloud/backport/30275/stable22 2022-01-14 16:27:07 +01:00
Carl Schwan 5c155d1e53 Fix psalm issues
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-01-14 14:17:04 +00:00
Carl Schwan 79289c55f2 Add helper method in Wrapper
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-01-14 14:17:01 +00:00
Carl Schwan 7a6612b809 The storage is not static anymore
Don't call twice $cache->getId

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-01-14 14:17:00 +00:00
Carl Schwan 805257e5ad Optimize FileSystemTags workflow for groupfolder
In https://github.com/nextcloud/server/pull/28774 we disabled the
caching for the groupfolder application since it worked due to the fact
that in groupfolders, getFileIds could be called with the same $cacheId
and path for actually different groupfolders.

This revert this change and instead add the folderId from the
groupFolder to the cacheId. This solve the issue of the uniqueness of
the cacheId inside GroupFolder. Downside is that we introduce
groupfolder specific implementation inside the server repo.

The seconf optimization is to not consider paths starting with
__groupfolders in executeCheck. This is due to the fact that files in
the groupfolder application call two times executeCheck one time with
the url __groupfolder/<folderId>/<path> and the other time with <path>.
The first time will always return an empty systemTags array while the
second call will return the correct system tags.

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-01-14 14:16:59 +00:00
Carl Schwan ac19acc9ad Merge pull request #30670 from nextcloud/backport/30363/stable22
[stable22] improve accessibility settings on mobile
2022-01-14 14:11:50 +01:00
Arthur Schiwon 7b97a229e6 22.2.4 RC2
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2022-01-14 12:50:28 +01:00
Vincent Petry 990af94afe Merge pull request #30664 from nextcloud/backport/30530/stable22
[stable22] Fix wrong unified search link to folder
2022-01-14 12:21:54 +01:00
Joas Schilling 2e4f7f6a7f Add version of disabled apps when available
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-01-14 11:05:37 +00:00
blizzz 3015ec1494 Merge pull request #30666 from nextcloud/backport/30568/stable22
[stable22] Fix primary key change in user_ldap migration
2022-01-14 12:04:13 +01:00
Carl Schwan 92132c1b99 Fix file picker not respecting hidden files settings
This will only respect the setting inside the file app. For other apps
we will either need to do an API call or add an input field with the
same idea to spare a blocking api call.

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
(cherry picked from commit 1fa58be1aa)
2022-01-14 12:00:10 +01:00
Julius Härtl 545b96c793 Merge pull request #30658 from nextcloud/backport/29622/stable22 2022-01-14 10:42:22 +01:00
szaimen a373ab4de1 address 2nd review
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-01-14 09:39:06 +00:00
szaimen 9d2c19fa69 address review
Signed-off-by: szaimen <szaimen@e.mail.de>
2022-01-14 09:39:04 +00:00
szaimen 4b34a61ac9 improve accessibility settings on mobile
Signed-off-by: szaimen <szaimen@e.mail.de>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2022-01-14 09:39:03 +00:00
Côme Chilliet 089377bd0d Remove useless indexes with duplicated names on backup table
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-01-14 08:40:56 +00:00
Joas Schilling 8d107d9ce1 Update autoloader
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-01-14 08:40:55 +00:00
Côme Chilliet 488e17cd44 Fix user_ldap migration for long DNs support
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-01-14 08:40:54 +00:00
Côme Chilliet 9a13fb0b0e Move duplicated code to a base class for group_mapping migrations
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Co-authored-by: Joas Schilling <213943+nickvergessen@users.noreply.github.com>
2022-01-14 08:40:54 +00:00
Côme Chilliet 3d3bbf92aa Split dropTable and createTable in two migrations
It is not possible to drop and create the same table in one migration

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-01-14 08:40:53 +00:00
Côme Chilliet 58cd5eb2e1 Fix primary key change in user_ldap migration
Use a backup table to copy the data, drop table and recreate it with
 correct primary key, then copy the data back and drop the backup table.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-01-14 08:40:52 +00:00
John Molakvoæ 290915d70b Fix wrong unified search link to folder
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2022-01-14 08:32:25 +00:00
John Molakvoæ 295348446b Implement multibucket shift for ObjectStore
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2022-01-14 08:32:04 +01:00
Nextcloud bot e0352ae684 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-01-14 02:28:20 +00:00
MichaIng d876046dbe Merge pull request #30644 from nextcloud/backport/30600/stable22
[stable22] Fix idn emails not working in shares
2022-01-13 23:04:06 +01:00
MichaIng 362294283b Merge pull request #30598 from nextcloud/backport/29118/stable22
[stable22] add better index for finding unindexed paths
2022-01-13 23:01:26 +01:00
Carl Schwan e8f6e062dd Fix idn emails not working in shares
And add check before sending email that email address is valid

Fix #30595

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-01-13 17:16:21 +01:00
Robin Appelman 9f2b50db19 add better index for finding unindexed paths
for the following query 'SELECT "path" FROM "oc_filecache" WHERE ("storage" = $storage) AND ("size" < 0) ORDER BY "fileid" DESC LIMIT 1;'

currently the database will in some cases decide to priorize the sort by fileid over the filter when picking what index to use, resulting in a much slower query.

by creating an index that allows first sorting by fileid and also filter by storage and size this case will be greatly sped up

Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-01-13 15:45:08 +01:00
Vincent Petry b62f8795f3 Merge pull request #30637 from nextcloud/backport/30620/stable22
[stable22] Properly abort uploads
2022-01-13 11:35:46 +01:00
Vincent Petry 8a9fcb611e Properly hide progress bar after error
Whenever an error occurs, also hide the progress bar.

The logic was also adjusted to properly detect uploads that are pending
deletion, in which case the progress bar can already be hidden.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2022-01-13 08:32:41 +00:00
Vincent Petry db64ed77ca Properly abort uploads
Add a new approach for flagging an upload as aborted because we can't
rely on the browser fully cancelling the request as we now seem to
receive an error response from the server instead of a jQuery "abort"
message.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2022-01-13 08:32:40 +00:00
Nextcloud bot bf234ca442 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-01-13 02:26:46 +00:00
Vincent Petry 0ea69e4ca3 Merge pull request #30628 from nextcloud/backport/30593/stable22
[stable22] Trigger "changeDirectory" event on URL change
2022-01-12 17:43:13 +01:00
MichaIng 12d92650fd Merge pull request #30622 from nextcloud/backport/30358/stable22
[stable22] Reset job disabling timer on adding the job again
2022-01-12 16:02:12 +01:00
Vincent Petry 67baa7662a Trigger "changeDirectory" even on URL change
When using the browser back button or clicking on sections on the left
sidebar (like favorites), the "changeDirectory" jQuery event did not get
called, so apps like recommendations would not notice the directory
change.

This fixes the issue by also setting changeUrl to true when the file
list's directory got changed as a result from a URL change.

Added optional changedThroughUrl argument to make sure the event
recipient knows if the change was done through a URL change and make it
possible prevent a loop in the onDirectoryChange handler that actually
changes the URL when the origin was already from a URL change.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2022-01-12 13:52:55 +00:00
Carl Schwan 29a3f2cd23 Merge pull request #30618 from nextcloud/backport/30609/stable22
[stable22] Fix RequestURL check for cli commands
2022-01-12 14:01:36 +01:00
Joas Schilling 51d4f30e9b Merge pull request #30610 from nextcloud/backport/30588/stable22
[stable22] Fix undefined/unset scope in account properties
2022-01-12 13:50:43 +01:00
Julius Härtl 96e520584a Reset job disabling timer on adding the job again
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-01-12 10:52:57 +00:00
Carl Schwan efe06231b5 Fix RequestURL check for cli commands
Fix https://github.com/nextcloud/files_automatedtagging/issues/526

Fix https://github.com/nextcloud/groupfolders/issues/1855

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-01-12 09:07:20 +00:00
Nextcloud bot 1bb4b65a77 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-01-12 02:27:09 +00:00
Joas Schilling 7987158438 Fix test
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-01-11 18:44:46 +00:00
Joas Schilling 89f4880a32 Fix undefined/unset scope in account properties
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-01-11 18:44:45 +00:00
Joas Schilling 5eb1f48592 Merge pull request #30603 from nextcloud/backport/30291/stable22
[stable22] Prevent loading images that would require too much memory.
2022-01-11 19:19:15 +01:00
Joachim Bauch d7d47169e4 Prevent loading images that would require too much memory.
For most image formats, the header specifies the width/height.
PHP allocates an image object from that size, even if the actual
image data is much smaller. This image object size is not limited
by the limit configured in PHP.

The memory limit can be configured through "config.php" setting
"preview_max_memory" and defaults to 128 MBytes which should be
enough for most images without filling up all memory.

Signed-off-by: Joachim Bauch <bauch@struktur.de>
2022-01-11 14:49:15 +00:00
Louis c8c73f3fae Merge pull request #30591 from nextcloud/backport/30571/stable22
[stable22] fix: only use jquery once it is available
2022-01-11 14:15:32 +01:00
Azul 896c7431ee fix: only use jquery once it is available
publicpage.js is loaded very early and cannot rely on jquery being loaded already.

Move the use of `$` into the `DomContentLoaded` handler.

Signed-off-by: Azul <azul@riseup.net>
2022-01-11 10:34:30 +00:00
Louis 69e6746525 Merge pull request #30578 from nextcloud/backport/30565/stable22
[stable22] Fix fail when keys/files folder already exists
2022-01-11 10:43:47 +01:00
Vincent Petry e455b71ecd Fix fail when keys/files folder already exists
Fixes an issue with transfer ownership in move mode where the folder
"files_encryption/keys/files" already exists.

Instead of failing, its existence is checked before calling mkdir.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2022-01-11 08:19:50 +00:00
Vincent Petry 0770cb82b2 Merge pull request #30581 from nextcloud/bugfix/noid/npm-ci-for-karma/stable22
[stable22] Use npm ci when running JS tests
2022-01-11 08:53:55 +01:00
Nextcloud bot 328a93f6a5 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-01-11 02:27:16 +00:00
Vincent Petry 5b35a47318 Make chokidar happy with fsevents
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2022-01-10 19:03:51 +01:00
Vincent Petry 730b8909c5 Recompile JS
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2022-01-10 17:50:42 +01:00
Vincent Petry 8210f849ba Fix JS tests after test lib updates
Prevent XHR during load by checking window.TESTING.
Adjust some expected values.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2022-01-10 17:42:19 +01:00
Vincent Petry 4f3ea77370 Update node deps for JS tests
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2022-01-10 17:41:51 +01:00
Vincent Petry f7a64e990c Use npm ci when running JS tests
This makes sure that the pinned versions are selected correctly.
Fixes the colors.js incident.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2022-01-10 17:40:40 +01:00
Nextcloud bot 7cfb52fdf8 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-01-10 02:26:44 +00:00
MichaIng 13ce65125e Merge pull request #30558 from nextcloud/backport/30468/stable22
[stable22] Handle LocalServerException when scanning external shares
2022-01-09 21:27:46 +01:00
Carl Schwan 54924c8dab Handle LocalServerException when scanning external shares
When remoteIsOwnCloud trows LocalServerException, the storage is
unavailable and instead of crashing the scanner, ignore the specific
storage.

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-01-09 17:43:33 +00:00
Nextcloud bot 1cc5a3d244 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-01-09 02:26:35 +00:00
Nextcloud bot 1ef2dce3cf [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-01-08 02:26:35 +00:00
blizzz 5b892d732f Merge pull request #30529 from nextcloud/backport/30511/stable22
[stable22]  update CRL after revocation of sharerenamer.crt
2022-01-08 00:54:57 +01:00
Pytal c267f37ad3 Merge pull request #30526 from nextcloud/backport/30491/stable22 2022-01-07 11:24:28 -08:00
John Molakvoæ e379532d53 Merge pull request #30519 from nextcloud/release/22.2.4 2022-01-07 15:24:36 +01:00
Vitor Mattos d07b647b7b Update crl
Signed-off-by: Vitor Mattos <vitor@php.rio>
2022-01-07 11:25:56 +00:00
Christopher Ng bbb78f848b Fix email verification
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2022-01-07 10:58:40 +00:00
Joas Schilling f9c6a106f4 Merge pull request #30523 from nextcloud/backport/30492/stable22
[stable22] Fix passing on the parameter
2022-01-07 10:50:15 +01:00
Joas Schilling 22ea174f96 Fix passing on the parameter
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-01-07 09:30:26 +01:00
Joas Schilling 42f195bde9 Merge pull request #30515 from nextcloud/backport/29958/stable22
[stable22] Remove iconv from dependencies and tests
2022-01-07 08:46:42 +01:00
John Molakvoæ adf01ab089 Merge pull request #30487 from nextcloud/backport/29780/stable22 2022-01-07 08:44:08 +01:00
John Molakvoæ 5b241fb318 Merge pull request #30237 from nextcloud/backport/30200/stable22 2022-01-07 08:42:20 +01:00
John Molakvoæ 6117316ce6 Merge pull request #29962 from nextcloud/backport/29951/stable22 2022-01-07 08:42:04 +01:00
John Molakvoæ befb85520c 22.2.4 RC1
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2022-01-07 08:23:57 +01:00
Nextcloud bot 575b297891 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-01-07 02:28:15 +00:00
MichaIng 7375a1b747 [stable22] Remove iconv from dependencies and tests
which is not used anymore since: https://github.com/nextcloud/server/pull/29470

Signed-off-by: MichaIng <micha@dietpi.com>
2022-01-06 23:56:28 +01:00
Nextcloud bot ab74892378 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-01-06 02:28:30 +00:00
blizzz d892610348 Merge pull request #29324 from nextcloud/backport/28541/stable22
[stable22] add a prefix index to filecache.path, attempt 2
2022-01-05 11:05:53 +01:00
Nextcloud bot 2dfa9eb7b4 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-01-05 02:27:49 +00:00
Joas Schilling 5b4d362434 Run migrations fully when reenabling an app
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-01-04 16:23:26 +00:00
Greta 9c62f86954 Merge pull request #30481 from nextcloud/backport/30423/stable22
[stable22] Fix uploading text position
2022-01-04 16:20:50 +01:00
MichaIng 46336898ec Merge pull request #28659 from nextcloud/backport/28419/stable22
[stable22] Delete calendar subscriptions as well when deleting user
2022-01-04 15:46:56 +01:00
John Molakvoæ a02c5d7128 Fix uploading text position
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2022-01-04 08:49:38 +00:00
Nextcloud bot e964479efc [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-01-04 02:27:41 +00:00
Louis 8127907890 Merge pull request #30450 from nextcloud/backport/30440/stable22
[stable22] Make sure to get file model in template picker
2022-01-03 10:45:16 +01:00
Nextcloud bot a0c60cf6a3 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-01-03 02:27:49 +00:00
Nextcloud bot b6b2297949 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-01-01 02:27:19 +00:00
MichaIng 42ce0bddea Merge pull request #30432 from nextcloud/backport/30413/stable22
[stable22] Fix rendering app authors with homepage or email
2021-12-31 21:23:01 +01:00
MichaIng 59888692a6 Merge pull request #30434 from nextcloud/backport/30392/stable22
[stable22] Add missing index for propertypath only queries of DAV properties
2021-12-31 17:46:54 +01:00
MichaIng 91ed7e4f95 Merge pull request #30453 from nextcloud/backport/30420/stable22
[stable22] improve status modal
2021-12-31 17:45:19 +01:00
Nextcloud bot 5d2f2eef0e [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-12-31 02:27:43 +00:00
szaimen b1d32be5fd improve status modal
Signed-off-by: szaimen <szaimen@e.mail.de>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2021-12-30 18:50:38 +00:00
Julien Veyssier 1fa0632262 fix template picker for file actions using the fileInfoModel
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2021-12-30 15:15:34 +00:00
Christoph Wurst 25dd51c52e Add the Groupware Team as contactsinteraction co-maintainer
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2021-12-30 14:53:38 +00:00
Louis 7f82061ab9 Merge pull request #30340 from nextcloud/backport/29329/stable22
[stable22] fix potential unwarranted memberships in nested groups from LDAP
2021-12-30 11:03:03 +01:00
Louis 2451f658b9 Merge pull request #30316 from nextcloud/backport/30266/stable22
[stable22] Fix share owner not being displayed in sharing tab
2021-12-30 10:59:09 +01:00
John Molakvoæ e5a65842c1 Merge pull request #30391 from nextcloud/backport/28438/stable22 2021-12-30 08:11:45 +01:00
John Molakvoæ 6c051b242b Merge pull request #30444 from nextcloud/backport/30353/stable22 2021-12-30 08:10:57 +01:00
Nextcloud bot aaef453ac7 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-12-30 02:28:14 +00:00
Carl Schwan 8cb63f3283 Handle external share with invalid host
remoteIsOwnCloud might throw an exception when the host is localhost.
Handle this case instead of aborting completely. The behavior is the
same as that is done 10 lines under it

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2021-12-29 17:13:06 +00:00
Christoph Wurst 6aa7507c05 Add missing index for propertypath only queries against properties
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-12-29 09:57:50 +00:00
Christoph Wurst 345d02ff77 Fix rendering app authors with homepage or email
When the first author of an app doesn't have homepage/email attributes
set in info.xml then any further author was rendered as `[object
Object]` due to the complex XML node seralized to a JavaScript string.
The logic was fixed so that it converts any of the authors to simple
text.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-12-29 08:42:33 +00:00
Nextcloud bot ca5bf437ff [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-12-28 02:27:50 +00:00
Nextcloud bot 21a1ee161f [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-12-27 02:27:29 +00:00
Nextcloud bot 5e0865fa8b [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-12-25 02:27:26 +00:00
Nextcloud bot 7ee3315de4 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-12-24 02:29:22 +00:00
Sven Strickroth d90bf1a73c Don't die with LockedException when removing/restoring multiple files from trash
fixes issue #16491

Signed-off-by: Sven Strickroth <email@cs-ware.de>
2021-12-23 10:33:38 +00:00
Nextcloud bot a70dabfd94 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-12-23 02:27:58 +00:00
Nextcloud bot dfb0c1f8f9 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-12-22 02:28:19 +00:00
John Molakvoæ 664a1cf90a Merge pull request #30357 from nextcloud/backport/30305/stable22 2021-12-21 11:17:21 +01:00
Daniel Calviño Sánchez 738ca085cc Fix persistent tooltip in the "new folder" input of the file picker
When a new folder is tried to be created in the file picker dialog a
tooltip is shown on the input if the folder name exists already.
However, this tooltip was not cleared, so it was still shown even if the
name was fixed, the folder was created and then the "New folder" input
was shown again.

Now the tooltip is cleared as soon as the input changes, as keeping it
shown in that case did not provide any benefit either (and it is
consistent with how the "new folder" input works in the Files app view).

The input is also cleared whenever the menu that shows the input is
opened again, as otherwise the tooltip would be still shown if the menu
was closed and opened again without changing the input (and the menu
could be opened again after changing to another directory where the new
folder name is no longer duplicated).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2021-12-21 07:36:17 +00:00
Nextcloud bot 7329a5e81e [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-12-21 02:28:05 +00:00
MichaIng 97d3f21df9 Merge pull request #30347 from nextcloud/backport/29965/stable22
[stable22] [stable23] Avoid use of iconv to get rid of unicode
2021-12-20 13:58:21 +01:00
Louis 819ea39db5 Merge pull request #30345 from nextcloud/backport/30322/stable22
[stable22] fix overlapping in the help settings section
2021-12-20 11:32:08 +01:00
Côme Chilliet c891fffde8 [stable23] Avoid use of iconv to get rid of unicode
Using iconv for translit depends upon server configuration, locale, and
 PHP version. Using htmlentities instead to have a consistent behavior
 independent of configuration.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Co-authored-by: MichaIng <micha@dietpi.com>
2021-12-20 09:57:43 +00:00
szaimen 8d7822587a fix overlapping in the help settings section
Signed-off-by: szaimen <szaimen@e.mail.de>
2021-12-20 09:33:11 +00:00
Louis 1a6fc7f7b5 Merge pull request #30307 from nextcloud/backport/30281/stable22
[stable22] Ignore non-existing groups when notifying group shares
2021-12-20 10:19:49 +01:00
Arthur Schiwon ad0ea2ccb0 fix potential unwarranted memberships in nested groups from LDAP
- the issue was present only when using PHP based resolving of nested
  group members. Normally nested members are common in AD (and Samba4) and
  are resolved per LDAP_MATCHING_RULE_IN_CHAIN by default
- resolving nested members is recursive
- when the cache entry was created it happend for intermediate groups, too,
  containing members from the parent group
- the check was added to only cache the root group with its members
- a runtime cache stores intermediate ldap read results


Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-12-20 09:10:49 +00:00
Julius Härtl 8629ff9948 Merge pull request #30300 from nextcloud/backport/30119/stable22 2021-12-20 08:59:50 +01:00
Nextcloud bot c1b2eedf04 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-12-20 02:29:50 +00:00
MichaIng d9a3d0eb22 Merge pull request #30250 from nextcloud/backport/30193/stable22
[stable22] Fix setting up 2FA when no providers are set up but backup codes
2021-12-19 19:42:03 +01:00
Nextcloud bot f68269f32c [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-12-19 02:29:30 +00:00
dependabot[bot] a2166d5020 Merge pull request #30323 from nextcloud/dependabot/composer/build/integration/stable22/sabre/dav-4.3.0 2021-12-19 00:36:21 +00:00
dependabot[bot] 9d0be1256b Update sabre/dav requirement from 4.2.3 to 4.3.0 in /build/integration
Updates the requirements on [sabre/dav](https://github.com/sabre-io/dav) to permit the latest version.
- [Release notes](https://github.com/sabre-io/dav/releases)
- [Changelog](https://github.com/sabre-io/dav/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sabre-io/dav/compare/4.2.3...4.3.0)

---
updated-dependencies:
- dependency-name: sabre/dav
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-19 01:01:36 +01:00
Nextcloud bot b5ec29686d [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-12-18 02:27:38 +00:00
Carl Schwan b4e238f62f Fix share owner not being displayed in sharing tab
This only concerns subfolder and files inside a shared folder and is
used as fallback when the OCS api returns a empty result, because it
only works on the shared folder and not the content inside of it.
This unify the tab with the folder list.

This offers a less descriptive share information but making the
OCS api returns all the details even for the subfolder would very
probably be bad for performance (since we would need to fetch the shares
for all the parent folders until we found one or are in the root folder).

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2021-12-17 13:22:50 +00:00
Vincent Petry c7e3ee9e0e Discard share notification for non-existing groups
Group shares might exist even after a group got deleted.

This fix catches the situation and discards the notification for the
obsolete group.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Co-authored-by: Joas Schilling <coding@schilljs.com>
2021-12-17 07:07:01 +00:00
Nextcloud bot 8ba1a2f7ff [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-12-17 02:29:05 +00:00
Azul 1ec793ab2b fix translation source in directEditing templates
The 'Empty file' string is translated in `lib` - not in `core`.

Signed-off-by: Azul <azul@riseup.net>
2021-12-16 18:22:04 +00:00
Côme Chilliet 7f63268461 Merge pull request #30260 from nextcloud/backport/29523/stable22
[stable22] Support LDAP dns longer than 255 characters
2021-12-16 16:35:09 +01:00
Louis 97481259c3 Merge pull request #30288 from nextcloud/backport/30256/stable22
[stable22] Fix ShareLink Upload UI for Folders
2021-12-16 10:58:46 +01:00
Côme Chilliet eeefca2658 Bump user_ldap version to make sure the migration runs
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-12-16 09:05:36 +01:00
Côme Chilliet 1523482047 Add missing copyright headers in migration steps
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-12-16 09:05:36 +01:00
Côme Chilliet 30507846bc Use clearer names for variables
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-12-16 09:05:36 +01:00
Côme Chilliet ddb9727be1 Add an index for directory_uuid as well
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-12-16 09:05:35 +01:00
Côme Chilliet bab9964c01 Make sure that hash function returns a string
The documentation says it can return false, and even if that is highly
 unlikely for sha256, better safe than sorry.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-12-16 09:05:35 +01:00
Côme Chilliet bae8799e80 Add the columns and alter the index in Version1010Date20200630192842
This is to ensure new installations do not need to go through migration
 history.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-12-16 09:05:35 +01:00
Côme Chilliet aa65a4fe90 Fixes in migration step
We cannot set ldap_dn_hash column as notnull because it is empty for
 existing users before postSchemaChange is called

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-12-16 09:05:34 +01:00
Côme Chilliet 581b1d8da6 Put back length check to have a clear error
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-12-16 09:05:34 +01:00
Côme Chilliet 343989aa52 Fixed migration step for user_ldap
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-12-16 09:05:33 +01:00
Joas Schilling 3ba2afbcdf Fix variable names
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-12-16 09:05:33 +01:00
Côme Chilliet 072897cdf8 Change column names to ldap_dn and ldap_dn_hash and add migration
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-12-16 09:05:33 +01:00
Côme Chilliet 0843dda1bd Support LDAP dns longer than 255 characters
Adds an ldap_full_dn column to store the dn, and only store a sha256
 hash in the ldap_dn which is shorter and can be indexed without
 trouble.
Migration still needs to be implemented.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-12-16 09:05:16 +01:00
Nextcloud bot fcea22c1d5 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-12-16 02:27:59 +00:00
nextcloud-command 0e9e385ff0 Compile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2021-12-15 19:07:40 +00:00
Jonas Rittershofer 04cbce5dc4 Fix ShareLink Upload UI for Folders
Do not show the Upload-Option if it is not allowed to check.

Signed-off-by: Jonas Rittershofer <jotoeri@users.noreply.github.com>
2021-12-15 19:50:59 +01:00
Nextcloud bot 959cc738d6 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-12-15 02:28:01 +00:00
Nextcloud bot f9013678db [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-12-14 02:28:07 +00:00
Louis c67013f0e0 Merge pull request #30247 from nextcloud/backport/30245/stable22
[stable22] Only wildcard search if enumeration is allowed
2021-12-13 18:40:41 +01:00
Christoph Wurst ad52519918 Fix setting up 2FA when no providers are set up but backup codes
2FA set up is allowed when only backup codes are set up but no other
provider and no provider is failing.

This patch syncs up the login controller check with the challenge
controller check 10 lines above.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-12-13 15:59:11 +00:00
Louis Chemineau 6a1a9485cf Fix backport
Signed-off-by: Louis Chemineau <louis@chmn.me>
2021-12-13 15:35:05 +01:00
Joas Schilling e552806d46 Make psalm more happy
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-12-13 14:23:05 +00:00
Joas Schilling 76f5436f9b Fix docs to make Psalm happier
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-12-13 14:23:04 +00:00
Joas Schilling 0b717bd056 Convert strict_search to wildcard property and add psalm docs
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-12-13 14:23:04 +00:00
Joas Schilling 3879c2eb1e Limit more contact searches
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-12-13 14:23:04 +00:00
Joas Schilling 1d7971bf41 Only limit search in the system address book
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-12-13 14:23:04 +00:00
Joas Schilling 631b5fc64b Only wildcard search if enumeration is allowed
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-12-13 14:23:04 +00:00
Côme Chilliet db8ed046d4 Merge pull request #30116 from nextcloud/backport/30040/stable22
[stable22] Avoid calling image* methods on boolean
2021-12-13 10:40:31 +01:00
Joas Schilling 5be9194ff4 Don't check the configvalue for lastLogin which is never null
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-12-13 08:46:48 +00:00
Côme Chilliet df23d75930 Avoid assignment in if clause
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-12-13 09:35:00 +01:00
Côme Chilliet 4c3f9830a2 Fix typing problems in OC_Image
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-12-13 09:34:59 +01:00
Côme Chilliet df7de41af2 Avoid calling image* methods on boolean
This avoids fatal errors on PHP>=8, and warnings on older versions.
Log should also be clearer.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-12-13 09:34:35 +01:00
Nextcloud bot 9330b4522c [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-12-13 02:27:55 +00:00
dependabot[bot] 38fbaec9cd Merge pull request #30209 from nextcloud/dependabot/composer/build/integration/stable22/sabre/dav-4.2.3 2021-12-12 02:37:32 +00:00
Nextcloud bot f1c4795ea6 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-12-12 02:28:29 +00:00
dependabot[bot] 68121a95e7 Update sabre/dav requirement from 4.2.1 to 4.2.3 in /build/integration
Updates the requirements on [sabre/dav](https://github.com/sabre-io/dav) to permit the latest version.
- [Release notes](https://github.com/sabre-io/dav/releases)
- [Changelog](https://github.com/sabre-io/dav/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sabre-io/dav/compare/4.2.1...4.2.3)

---
updated-dependencies:
- dependency-name: sabre/dav
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-12 02:50:44 +01:00
Nextcloud bot 1ea03d346e [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-12-11 02:27:42 +00:00
Pytal e9d52bba9f Merge pull request #30191 from nextcloud/backport/30157/stable22 2021-12-10 17:32:35 -08:00
Vincent Petry f79f930176 Merge pull request #30188 from nextcloud/backport/30164/stable22
[stable22] Use correct icon for dir-external-root
2021-12-10 13:24:12 +01:00
John Molakvoæ 1e77ba0e7a Fix first day locale
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2021-12-10 10:33:11 +00:00
John Molakvoæ 9e4e1c3dd3 Properly format sharing datepicker locale
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2021-12-10 09:50:28 +00:00
Vincent Petry fdf8cd17a2 Use correct icon for dir-external-root
When an external storage mount is shared with circles, it triggers the
share icon state to be rerendered. The picking of the mime type icon
would use the regular file icon because there is no actual icon for
"dir-external-root" that is shared.

This fixes the logic to use the "folder-external" icon in such
scenarios.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-12-10 09:32:18 +00:00
John Molakvoæ 7936aec4fe Merge pull request #30185 from nextcloud/backport/30032/stable22 2021-12-10 09:42:06 +01:00
Vincent Petry b880b9507e Merge pull request #30181 from nextcloud/backport/30160/stable22
[stable22] Check resource before closing in encryption wrapper
2021-12-10 08:56:12 +01:00
John Molakvoæ b552105299 Merge pull request #30177 from nextcloud/backport/30168/stable22 2021-12-10 08:47:34 +01:00
Joas Schilling 0cd2f885eb Add an index for selecting the next job
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-12-10 07:43:09 +00:00
Nextcloud bot 86f2f81740 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-12-10 02:27:32 +00:00
Vincent Petry 76e5b1af7c Check resource before closing in encryption wrapper
In case of error there is no guarantee that $source or $target is set or
is a resource when handling an error.

Without this fix, there's a risk that fclose will fail and the actual
exception will not be thrown, making it impossible to find out about the
root cause.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-12-10 00:07:49 +00:00
Pytal 0774a94044 Merge pull request #30171 from nextcloud/fix/jsunit 2021-12-09 15:12:53 -08:00
John Molakvoæ c1592adc2d Allow to delete non-migrated previews instead of moving them
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2021-12-09 23:03:11 +00:00
John Molakvoæ 668895ad25 Jsunit requires npm6
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2021-12-09 17:45:43 +01:00
John Molakvoæ 2f1345b202 Merge pull request #30145 from nextcloud/backport/29968/stable22 2021-12-09 10:33:53 +01:00
Daniel Calviño Sánchez bf499c0bae Remove no longer needed CSS rules
Since Nextcloud 22 the "#new-user" rules had no effect, as the DOM
structure changed to show a dialog rather than adding a row on top of
the list when adding new users.

Similarly, the z-index was no longer needed, as there will be no
"new-user" row that could overlap. Moreover, the z-index was set even
higher (100) in another rule still active.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2021-12-09 07:16:46 +01:00
Daniel Calviño Sánchez aa8b11ca57 Fix input for groups validation in new user form
The hidden input used for form validation was not actually hidden since
Nextcloud 22, as the DOM structure changed to show a dialog rather than
adding a row on top of the list when adding new users, so the CSS rules
no longer matched.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2021-12-09 07:16:46 +01:00
Nextcloud bot bda1956b2c [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-12-09 02:29:38 +00:00
Louis 010be3d775 Merge pull request #30057 from nextcloud/backport/29735/stable22
[stable22] find users for background scan one by one
2021-12-08 17:57:46 +01:00
MichaIng bb44a150a2 Merge pull request #30152 from nextcloud/backport/30141/stable22
[stable22] Reload page instead of file list when getting 401 authentification error
2021-12-08 14:33:09 +01:00
Carl Schwan 41f6437598 Reload page on 401 since there is an authentification problem
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2021-12-08 11:45:07 +00:00
Carl Schwan 2d5192b807 Stop reloading file list when getting 401 error on root dir
When reaching the root dir, instead of reloading the file list we reload
the page completely. This trigger a redirection to the login page automatically
with the correct ?redirect_url= in thr url.

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2021-12-08 11:45:06 +00:00
Nextcloud bot 080a550621 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-12-08 02:28:53 +00:00
Louis 8d96d18628 Merge pull request #30137 from nextcloud/backport/30134/stable22
[stable22] Do not trigger events when setting active view in gotoplugin
2021-12-07 18:52:51 +01:00
Julien Veyssier 35ce61a991 do not trigger events when setting active view in gotoplugin
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
2021-12-07 14:43:02 +00:00
Richard Steinmetz 3d8a610051 Merge pull request #30010 from nextcloud/backport/29905/stable22
[stable22] Only add the vue exeption to actual button elements
2021-12-07 14:36:05 +01:00
marco 10056ff204 Only add the vue exeption to actual button elements
Signed-off-by: marco <marcoambrosini@pm.me>
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2021-12-07 12:11:13 +01:00
John Molakvoæ 5ed89511e6 Merge pull request #30005 from nextcloud/backport/28716/stable22 2021-12-07 10:01:37 +01:00
Nextcloud bot 9bb15a74b6 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-12-07 02:40:03 +00:00
Thomas Citharel 517d89d70b Add repair job to delete calendar subscriptions that were orphaned when
deleteding an user

Follow-up to https://github.com/nextcloud/server/pull/28419

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-12-07 00:35:40 +01:00
Louis b8ce28fde5 Merge pull request #30107 from nextcloud/backport/30104/stable22
[stable22] Strengthify is now in the Nextcloud org
2021-12-06 17:40:03 +01:00
Joas Schilling 19d14366f5 Strengthify is now in the Nextcloud org
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-12-06 10:35:46 +01:00
Nextcloud bot f661ea9d74 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-12-06 02:30:33 +00:00
Robin Appelman dce2198f89 fix tests
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-12-06 01:11:44 +01:00
Robin Appelman 904fce3c87 code checker fixes for instanceOfStorage
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-12-06 01:11:44 +01:00
Robin Appelman aa6ed02587 stop background scan early if a users still has unscanned files after background scan
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-12-06 01:11:44 +01:00
Robin Appelman a33a0a614f find users for background scan one by one
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-12-06 01:11:44 +01:00
Robin Appelman 73a8ea2d4e background scan the source storage when a background scan on a storage jail is triggered
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-12-06 01:11:44 +01:00
Robin Appelman 7ac91d5632 teach psalm about Storage::instanceOfStorage
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-12-06 01:11:43 +01:00
Nextcloud bot 7c64b0d8a7 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-12-05 02:30:29 +00:00
Nextcloud bot 0259eb14d0 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-12-04 02:30:50 +00:00
Christoph Wurst ef7800a328 Merge pull request #30052 from nextcloud/backport/30046/stable22
[stable22] Close open cursor in the caldav back-end
2021-12-03 09:56:39 +01:00
Nextcloud bot 93794bfee8 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-12-03 02:29:24 +00:00
MichaIng 9d844011dd Merge pull request #30019 from nextcloud/dependabot/composer/build/integration/stable22/sabre/dav-4.2.1
Update sabre/dav requirement from 3.2.3 to 4.2.1 in /build/integration
2021-12-02 21:30:58 +01:00
Joas Schilling ea6c0f3b0c Merge pull request #30038 from nextcloud/backport/30028/stable22
[stable22] Fix log_query config flag
2021-12-02 17:13:47 +01:00
dependabot[bot] 6e18cb36d4 Update sabre/dav requirement from 3.2.3 to 4.2.1 in /build/integration
Updates the requirements on [sabre/dav](https://github.com/sabre-io/dav) to permit the latest version.
- [Release notes](https://github.com/sabre-io/dav/releases)
- [Changelog](https://github.com/sabre-io/dav/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sabre-io/dav/compare/3.2.3...4.2.1)

---
updated-dependencies:
- dependency-name: sabre/dav
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-02 16:58:00 +01:00
Christoph Wurst 88f3c5d743 Close open cursor in the caldav back-end
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-12-02 15:33:11 +00:00
Joas Schilling 64834a0d45 Fix log_query config flag
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-12-02 09:38:29 +00:00
Nextcloud bot 68b16b75fa [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-12-02 02:29:26 +00:00
MichaIng 68c1c05b0e Merge pull request #30022 from nextcloud/backport/30018/stable22
[stable22] Fix collaborative tags styles
2021-12-02 02:41:38 +01:00
Christopher Ng 3134370d44 Fix collaborative tags styles
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2021-12-01 19:53:53 +00:00
Nextcloud bot 558b83e12c [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-12-01 02:30:59 +00:00
Côme Chilliet 661ed658e5 Merge pull request #29978 from nextcloud/backport/29974/stable22
[stable22] Let repair step query exceptions bubble up
2021-11-30 14:29:43 +01:00
Christoph Wurst 322f3238d7 Include previous execption for repair steps that don't exist
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-11-30 11:59:28 +00:00
Christoph Wurst 1933b3d8cb Let repair step query exceptions bubble up
And hide the type error caused by a constructor call with missing
arguments.

`new $repairStep();` only works for the rare case that no arguments are
required. Anything else will throw. Then we previously hid the trace of
the more important query exception.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-11-30 11:59:28 +00:00
Nextcloud bot e583ef380b [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-11-30 02:26:35 +00:00
Christoph Wurst cfce6dfe62 Interpolate the log message also for logged exceptions
According to PSR-3 the log message can have placeholders that are
replaced from the context object. Our logger implementation did that for
all PSR-3 logger methods. The only exception was our custom `logException`.

Since PsrLoggerAdapter calls logException when an exception key is
present in the context object, log messages were no longer interpolated.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-11-29 15:52:09 +00:00
Nextcloud bot de79073c98 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-11-29 02:25:21 +00:00
MichaIng 8005e745c1 Merge pull request #29839 from nextcloud/backport/29708/stable22
[stable22] Do not print verbose info about app updates if there are none
2021-11-28 14:30:28 +01:00
Christoph Wurst b030114b39 Do not print verbose info about app updates if there are none
This is cosmetical but if you have a large number of apps installed then
you'll see a wall of text during the server and app upgrade when it
tries to update each app via the app store. In may cases nothing will be
updated. For those boring cases we can hide the verbose info, but show
when occ is run with -v. Any actual update will still print a few lines.
Those are the important ones for the admin.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-11-28 04:27:08 +01:00
Nextcloud bot 5128297a21 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-11-28 02:23:53 +00:00
Nextcloud bot 1fc126ece7 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-11-27 02:26:09 +00:00
Robin Appelman 0aa5229e84 update @since for getDatabasePlatform
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-11-27 02:48:44 +01:00
Robin Appelman 88cc1ba064 disable path prefix index on postgresql for now
having the index work properly for the queries we need it for requires some additional options which dbal does not support at the momement.
to prevent making it harder to add the correct index later on we don't create the index for now on postgresql

Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-11-27 02:48:43 +01:00
Robin Appelman dcb99c43ed add a prefix index to filecache.path
The reason that `filecache.path` hasn't had an index added is the mysql limitation of ~1kb for indexeded fields,
which is to small for the `path`, however mysql supports indexing only the first N bytes of a column instead of the entire column,
allowing us to add an index even if the column is to long.

Because the index doesn't cover the entire column it can't be used in all situations where a normal index would be used, but it does cover the `path like 'folder/path/%'` queries that are used in various places.

Sqlite and Postgresql don't support prefix indexes, but they also don't have the 1kb limit and DBAL handles the differences in index creation.

Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-11-27 02:48:43 +01:00
Thomas Citharel 9f799accff Delete calendar subscriptions as well when deleting user
Closes #28418

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2021-11-27 02:36:08 +01:00
Carl Schwan 0b3d763907 Merge pull request #29912 from nextcloud/backport/29906/stable22
[stable22] Use strict comparison to detect usage of redis cluster
2021-11-26 11:16:33 +01:00
Nextcloud bot 0818069dac [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-11-26 02:46:22 +00:00
Louis Chemineau 71b823782b Use strict comparison to detect usage of redis cluster
Signed-off-by: Louis Chemineau <louis@chmn.me>
2021-11-25 18:54:55 +00:00
szaimen f64987b7f2 Merge pull request #29802 from nextcloud/backport/29632/stable22
[stable22] fix imagecreatetruecolor() error
2021-11-25 17:30:26 +01:00
MichaIng b726e05a63 Merge pull request #29850 from nextcloud/backport/29836/stable22
[stable22] Make sure mapping cache is cleared when deleting a user
2021-11-25 17:15:27 +01:00
Louis 9e43ab5252 Merge pull request #29902 from nextcloud/backport/29895/stable22
[stable22] Check for invalid characters before trimming
2021-11-25 16:32:15 +01:00
Joas Schilling ab20655f5d Correctly set the response after a ClientException as well
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-11-25 15:40:59 +01:00
Joas Schilling 0c3217edfa Add an integration test
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-11-25 15:40:20 +01:00
Joas Schilling 696e4f16a5 Check for invalid characters before trimming
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-11-25 15:39:19 +01:00
Louis 62416a35ee Merge pull request #29509 from nextcloud/backport/28385/stable22
[stable22] properly handle cases where cache wrappers block access
2021-11-25 14:36:39 +01:00
Nextcloud bot 24d284065b [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-11-25 02:25:15 +00:00
Robin Appelman c4fa59c540 properly handle cases where cache wrappers block access
`CacheWrapper::formatCacheEntry` can return false for files that should be filtered out

Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-11-24 20:17:55 +01:00
Pytal ac369f510c Merge pull request #29884 from nextcloud/backport/28519/stable22 2021-11-24 11:01:47 -08:00
Julius Härtl 3a4ef8e87e Add active user count to occ user:report
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-11-24 14:03:53 +00:00
Vincent Petry ae51c54c52 Merge pull request #29878 from nextcloud/backport/29864/stable22
[stable22] Allow to fetch the creation time of folders
2021-11-24 13:59:13 +01:00
Julius Härtl 6e1e0db13a Allow to fetch the creation time of folders
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-11-24 10:33:44 +00:00
Nextcloud bot 6759ee5caf [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-11-24 02:26:06 +00:00
Vincent Petry fd883bda1a Merge pull request #29852 from nextcloud/backport/29835/stable22
[stable22] Fix getting subnet of ipv4 mapped ipv6 addresses
2021-11-23 14:03:27 +01:00
MichaIng f5db8a1bab Merge pull request #29763 from nextcloud/backport/29752/stable22
[stable22] Explicitly allow some routes without 2FA
2021-11-23 13:25:17 +01:00
Vincent Petry 74eeca32ee Type hint in IpAddress
Signed-off-by: Vincent Petry <vincent@nextcloud.com>

Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
2021-11-23 10:25:54 +00:00
Vincent Petry cc0d10435b Improve normalizer detecting IPv4 inside of IPv6
The subnet for an IPv4 address inside of IPv6 is now returned in its
IPv4 form.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-11-23 10:25:54 +00:00
Vincent Petry c247e237d7 Fix getting subnet of ipv4 mapped ipv6 addresses
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-11-23 10:25:54 +00:00
Côme Chilliet d895cd9eaf Test cache invalidation for AbstractMapping in test suite
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-11-23 10:23:10 +00:00
Côme Chilliet 5b2764a2aa Make sure mapping cache is cleared when deleting a user
This avoids phantom remnants staying after user deletion

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-11-23 10:23:10 +00:00
MichaIng 5478d72bc7 Merge pull request #29628 from nextcloud/backport/29611/stable22
[stable22] Show most recently deleted files first in trash can
2021-11-23 03:52:46 +01:00
Nextcloud bot fc785c940d [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-11-23 02:26:14 +00:00
Vincent Petry 3b66b4f0ea Merge pull request #29795 from nextcloud/backport/29605/stable22
[stable22] Normalize file name before existence check in scanner
2021-11-22 09:39:19 +01:00
Nextcloud bot 24993be5da [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-11-22 02:45:46 +00:00
dependabot[bot] cd6fb28ecb Merge pull request #29812 from nextcloud/dependabot/npm_and_yarn/stable22/camelcase-6.2.1 2021-11-21 18:13:32 +00:00
dependabot[bot] 7bf64e7aec Bump camelcase from 6.2.0 to 6.2.1
Bumps [camelcase](https://github.com/sindresorhus/camelcase) from 6.2.0 to 6.2.1.
- [Release notes](https://github.com/sindresorhus/camelcase/releases)
- [Commits](https://github.com/sindresorhus/camelcase/compare/v6.2.0...v6.2.1)

---
updated-dependencies:
- dependency-name: camelcase
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-21 17:44:37 +00:00
Nextcloud bot 4412afa468 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-11-21 02:25:39 +00:00
Nextcloud bot 6f97e1f8f5 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-11-20 02:42:21 +00:00
szaimen 3da3e0f10b fix imagecreatetruecolor() error
Signed-off-by: szaimen <szaimen@e.mail.de>
2021-11-19 19:51:38 +00:00
szaimen a4e6ba1b50 Merge pull request #29790 from nextcloud/backport/29784/stable22
[stable22] App summary is optional
2021-11-19 16:24:23 +01:00
Vincent Petry a721d346b9 Normalize directory entries in Encoding wrapper
Directory entry file names are now normalized in getMetaData(),
getDirectoryContents() and opendir().

This makes the scanner work properly as it assumes pre-normalized names.

In case the names were not normalized, the scanner will now skip the
entries and display a warning when applicable.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-11-19 14:51:40 +00:00
Vincent Petry 2b4badf768 Move storage encoding compatibility warning logic
The encoding check for file names is now happening the Scanner, and an
event will be emitted only if the storage doesn't contain the encoding
compatibility wrapper.

The event is listened to by the occ scan command to be able to display a
warning in case of file name mismatches when they have NFD encoding.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-11-19 14:51:40 +00:00
Vincent Petry 787d7956cb Normalize file name before existence check in scanner
The scanner would not find a NFD-encoded file name in an
existing file list that is normalized.

This normalizes the file name before scanning.

Fixes issues where scanning repeatedly would make NFD files flicker in
and out of existence in the file cache.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-11-19 14:51:39 +00:00
Joas Schilling aea8e78fa5 App summary is optional
Fixing:
Error: Undefined index: summary at /var/www/html/apps/theming/lib/Controller/ThemingController.php#392

Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-11-19 14:11:44 +00:00
Nextcloud bot ab83f3ab0f [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-11-19 02:38:28 +00:00
blizzz 7efa3552e6 Merge pull request #29762 from nextcloud/revert/bcfd4ed5910d29423bfa86214a3b595fe8e92c9c
[stable22] Revert "Explicitly allow some routes without 2FA"
2021-11-18 13:29:42 +01:00
Arthur Schiwon ab629da2d4 Revert "Explicitly allow some routes without 2FA"
This reverts commit bcfd4ed591.

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-11-18 13:16:10 +01:00
Christoph Wurst c49d49c4b0 Explicitly allow some routes without 2FA
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-11-18 13:15:23 +01:00
Christoph Wurst bcfd4ed591 Explicitly allow some routes without 2FA
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-11-18 13:09:35 +01:00
Nextcloud bot d371148bbc [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-11-18 02:25:55 +00:00
Carl Schwan 788c97b439 Merge pull request #29751 from nextcloud/backport/29734/stable22
[stable22] Fixed grammar
2021-11-17 20:53:57 +01:00
rakekniven d7a419435d Fixed grammar
Reported at Transifex.

Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2021-11-17 15:58:50 +00:00
Vincent Petry fe0b7201eb Merge pull request #29636 from nextcloud/backport/29484/stable22
[stable22] Use unique combination of hostname/bucket/key for external storages
2021-11-17 14:45:56 +01:00
MichaIng b9d3f6e3ec Merge pull request #29743 from nextcloud/backport/29695/stable22
[stable22] Fix missing setlocale with php 8
2021-11-17 12:06:00 +01:00
John Molakvoæ e6076d481c Merge pull request #29732 from nextcloud/backport/28764/stable22 2021-11-17 11:31:00 +01:00
John Molakvoæ 3663ceb363 Emit event on link share action
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2021-11-17 10:25:10 +01:00
Naoto Kobayashi 4d1daa5549 OC_Util::isNonUTF8Locale: fix lint error
Signed-off-by: Naoto Kobayashi <naoto.kobayashi4c@gmail.com>
2021-11-17 09:01:46 +00:00
Naoto Kobayashi a0cd7fc176 OC_Util::isSetLocaleWorking: fix typo
Signed-off-by: Naoto Kobayashi <naoto.kobayashi4c@gmail.com>
2021-11-17 09:01:45 +00:00
Naoto Kobayashi 0bb3232a33 OC_Util: Add fallbacks to check if current locale is UTF8
Using escapeshellcmd to get current locale causes error
if the function is disabled.

Add fallbacks to prevent the error.

Signed-off-by: Naoto Kobayashi <naoto.kobayashi4c@gmail.com>
2021-11-17 09:01:45 +00:00
Naoto Kobayashi 0c1f10880b Add check whether escapeshellcmd behaves the same as basename
Signed-off-by: Naoto Kobayashi <naoto.kobayashi4c@gmail.com>
2021-11-17 09:01:45 +00:00
Naoto Kobayashi 87a5620032 Check whether setlocale works only after setlocale
Signed-off-by: Naoto Kobayashi <naoto.kobayashi4c@gmail.com>
2021-11-17 09:01:45 +00:00
Naoto Kobayashi d5cff00d10 Fix missing setlocale with php 8
When php version = 8, basename('§') does not bug even if LC_ALL is non-UTF-8 locale.
This cause OC_Util::isSetLocaleWorking() to skip setlocale("C.UTF-8").

Fix it by using escapeshellcmd instead of basename.

Signed-off-by: Naoto Kobayashi <naoto.kobayashi4c@gmail.com>
2021-11-17 09:01:45 +00:00
Nextcloud bot 692d26edd7 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-11-17 02:45:47 +00:00
Nextcloud bot 976dcf7b15 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-11-16 02:24:32 +00:00
John Molakvoæ c5c529f02e Merge pull request #29720 from nextcloud/release/22.2.3 2021-11-15 20:53:09 +01:00
John Molakvoæ b5b3a8aa90 Merge pull request #29717 from nextcloud/bump-doctrine-dbal-22 2021-11-15 20:00:59 +01:00
John Molakvoæ 84922b908e 22.2.3
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2021-11-15 19:27:41 +01:00
Joas Schilling 3709a8182a Apply changes from master's update to 3.1.3
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-11-15 19:06:36 +01:00
Joas Schilling 1362da82d5 Bump doctrine/dbal to 3.1.4
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-11-15 18:59:19 +01:00
Joas Schilling 5300bade47 Allow NULL as well for limit, not integer only
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-11-15 18:59:14 +01:00
szaimen e302e3566c Merge pull request #29706 from nextcloud/backport/29679/stable22
[stable22] don't flash external storage mountpoints during the status check
2021-11-15 16:33:04 +01:00
szaimen 57529dcab3 don't flash external storage mountpoints during the status check
Signed-off-by: szaimen <szaimen@e.mail.de>
2021-11-15 12:15:44 +00:00
Nextcloud bot 89db6c0f17 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-11-15 02:24:42 +00:00
Nextcloud bot 3e4f4f7c7e [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-11-14 02:25:50 +00:00
dependabot[bot] 1b44ed71ef Merge pull request #29658 from nextcloud/dependabot/npm_and_yarn/stable22/moment-timezone-0.5.34 2021-11-13 20:29:35 +00:00
dependabot[bot] 480806d37c Bump moment-timezone from 0.5.33 to 0.5.34
Bumps [moment-timezone](https://github.com/moment/moment-timezone) from 0.5.33 to 0.5.34.
- [Release notes](https://github.com/moment/moment-timezone/releases)
- [Changelog](https://github.com/moment/moment-timezone/blob/develop/changelog.md)
- [Commits](https://github.com/moment/moment-timezone/compare/0.5.33...0.5.34)

---
updated-dependencies:
- dependency-name: moment-timezone
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2021-11-13 19:58:36 +00:00
Nextcloud bot e127e27f21 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-11-13 02:25:56 +00:00
blizzz dad659ae72 Merge pull request #29687 from nextcloud/version/22.2.2/final
22.2.2
2021-11-12 16:53:36 +01:00
blizzz b6adf296db Merge pull request #29685 from nextcloud/backport/29682/stable22
[stable22] Fix missing token update
2021-11-12 16:53:19 +01:00
Arthur Schiwon c22b5fa5a3 22.2.2
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-11-12 15:59:24 +01:00
Joas Schilling 6ed9bccb3d Fix unit tests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-11-12 14:52:38 +00:00
Joas Schilling 1aaf9f02a8 Fix missing token update
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-11-12 14:52:37 +00:00
Nextcloud bot 92db6f3049 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-11-12 02:23:05 +00:00
Arthur Schiwon c8c18d8d40 bump last version digit for rebuild
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-11-11 15:39:39 +01:00
blizzz 9b35c8f41c Merge pull request #29667 from nextcloud/backport/29664/stable22
[stable22] Fix updating with apps
2021-11-11 15:35:57 +01:00
Joas Schilling ef48e7045e Fix updating with apps
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-11-11 13:42:56 +00:00
Nextcloud bot e7dcfdaa48 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-11-11 02:23:19 +00:00
blizzz 99194e3d33 Merge pull request #29624 from nextcloud/version/22.2.1/final
22.2.1
2021-11-10 20:46:18 +01:00
Arthur Schiwon b5a9019516 update CA bundle
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-11-10 20:37:36 +01:00
Julius Härtl c6e0528679 Add migration to move over existing storage ids
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-11-10 16:52:05 +01:00
Julius Härtl 2e804fb40b Use unique combination of hostname/bucket/key for external storages
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-11-10 15:38:31 +00:00
nextcloud-command f050d970b7 Compile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2021-11-10 14:14:47 +00:00
Orzu Ionut fd979461fc Update filelist test
Signed-off-by: Orzu Ionut <orzu.ionut@gmail.com>
2021-11-10 15:05:01 +01:00
Orzu Ionut 3d6902103a Show most recently deleted files first in trash can
Signed-off-by: Orzu Ionut <orzu.ionut@gmail.com>
2021-11-10 15:05:01 +01:00
Arthur Schiwon 538c1f5177 22.2.1
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-11-10 14:33:52 +01:00
Nextcloud bot c43c2409a6 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-11-10 02:24:39 +00:00
Carl Schwan 4d34ccd88c Merge pull request #29598 from nextcloud/backport/29029/stable22
[stable22] Fix HTML entity rendering in file comments sidebar
2021-11-09 11:19:51 +01:00
Christopher Ng 9f594ea9ff Fix HTML entity rendering in file comments sidebar
Signed-off-by: Christopher Ng <chrng8@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2021-11-09 07:34:43 +00:00
Nextcloud bot 146619e462 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-11-09 03:26:35 +00:00
John Molakvoæ 677cc1c333 Merge pull request #29562 from nextcloud/backport/28466/stable22 2021-11-08 21:40:43 +01:00
John Molakvoæ eb585597bc Merge pull request #29597 from nextcloud/backport/29592/stable22 2021-11-08 20:58:14 +01:00
Julien Veyssier b076968cc2 refs #11864 handle empty dir drop in Files UI
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
2021-11-08 17:18:51 +00:00
Nextcloud bot 43652ca542 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-11-08 02:33:18 +00:00
Nextcloud bot 580759a37a [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-11-07 02:22:43 +00:00
dependabot[bot] 09927fbb8d Merge pull request #29575 from nextcloud/dependabot/npm_and_yarn/stable22/nextcloud/initial-state-1.2.1 2021-11-06 13:03:42 +00:00
dependabot[bot] 1d90a00cbf Bump @nextcloud/initial-state from 1.2.0 to 1.2.1
Bumps [@nextcloud/initial-state](https://github.com/nextcloud/nextcloud-initial-state) from 1.2.0 to 1.2.1.
- [Release notes](https://github.com/nextcloud/nextcloud-initial-state/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-initial-state/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-initial-state/compare/v1.2.0...v1.2.1)

---
updated-dependencies:
- dependency-name: "@nextcloud/initial-state"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2021-11-06 12:21:53 +00:00
dependabot[bot] 123f670054 Merge pull request #29578 from nextcloud/dependabot/composer/build/integration/stable22/behat/behat-approx-3.10.0 2021-11-06 06:19:11 +00:00
dependabot[bot] dd070a7c11 Update behat/behat requirement in /build/integration
Updates the requirements on [behat/behat](https://github.com/Behat/Behat) to permit the latest version.
- [Release notes](https://github.com/Behat/Behat/releases)
- [Changelog](https://github.com/Behat/Behat/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Behat/Behat/compare/v3.9.0...v3.10.0)

---
updated-dependencies:
- dependency-name: behat/behat
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-06 03:35:42 +00:00
Nextcloud bot 40d5086dcf [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-11-06 02:22:52 +00:00
Julius Härtl f6747516e0 Do not retain VerifyUserData job when lookup server is not available
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-11-05 13:20:53 +00:00
Nextcloud bot 97085c9a3a [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-11-05 02:23:07 +00:00
John Molakvoæ bf6522a16e Merge pull request #29549 from nextcloud/backposkjnldsv/update-psalm-baseline 2021-11-04 13:38:58 +01:00
John Molakvoæ 91ad520de9 Add branch-suffix to update-psalm-baseline PR creation
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2021-11-04 11:44:07 +01:00
John Molakvoæ 1f3a9c6337 [stable22] Update update-psalm-baseline workflow
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2021-11-04 11:02:17 +01:00
John Molakvoæ 8cd54a2789 Merge pull request #29538 from nextcloud/version/22.2.1/rc1 2021-11-04 08:46:41 +01:00
John Molakvoæ fd35e9c13b Merge pull request #29383 from nextcloud/backport/29304/stable22 2021-11-04 08:45:57 +01:00
John Molakvoæ 90af0897a4 Merge pull request #29503 from nextcloud/backport/29465/stable22 2021-11-04 08:38:08 +01:00
John Molakvoæ 244b7ca415 Merge pull request #29506 from nextcloud/backport/29281/stable22 2021-11-04 08:37:55 +01:00
John Molakvoæ f376af6421 Merge pull request #29534 from nextcloud/backport/29332/stable22 2021-11-04 08:37:26 +01:00
Arthur Schiwon f2f07f3c86 22.2.1 RC1
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-11-03 18:30:53 +01:00
John Molakvoæ 9b1eab25ce Merge pull request #29528 from nextcloud/revert-stable22-split-capability-AccountPropertyScopesFederationEnabled 2021-11-03 13:42:45 +01:00
tobiasKaminsky 34029fe3c9 Adjust test
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2021-11-03 12:24:25 +00:00
tobiasKaminsky 0d1f92ccf0 Expose send_password_by_mail via capabilities
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2021-11-03 12:24:24 +00:00
Daniel Calviño Sánchez 33cd00723a Revert "Split capability"
This reverts commit 09a5413d26.

The backport was merged before the commit was dropped, but the commit
was meant only for Nextcloud 23, as it may require changes in the
clients.
2021-11-03 06:36:36 +01:00
Nextcloud bot 7d3a01e675 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-11-03 02:23:47 +00:00
Joas Schilling 986ed756a4 Merge pull request #29341 from nextcloud/backport/29320/stable22
[stable22] Fix basic auth for OAuth token endpoint
2021-11-02 15:19:48 +01:00
Côme Chilliet 1a1e0f5d0b Merge pull request #29519 from nextcloud/backport/29479/stable22
[stable22] Fix images on php 8.0
2021-11-02 14:26:01 +01:00
Côme Chilliet 3b4fb5e843 Fix psalm-ocp error about GdImage class
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-11-02 11:07:40 +01:00
Côme Chilliet f8c8b2cea9 Enable Avatar tests as well for PHP>=8
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-11-02 09:59:36 +00:00
Côme Chilliet e498aaf2c8 Revert "Do not run image tests on php8"
This reverts commit d690f90928.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-11-02 09:59:36 +00:00
Côme Chilliet 90203c6ca7 Fix resource usages in OC_Image
This makes sure using resource or GdImage (PHP>=8) behaves the same.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-11-02 09:59:35 +00:00
Nextcloud bot db1d5b82ab [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-11-02 02:22:28 +00:00
Sijmen Schoon 071eda7baa Move query outside the loop and reduce chunk size to 1000
This involved changing CacheQueryBuilder\whereParentIn to take a
parameter name, renaming the function accordingly.

Signed-off-by: Sijmen Schoon <me@sijmenschoon.nl>
2021-11-01 11:08:32 +00:00
Sijmen Schoon ec3b1ccd91 Limit parameter count per query in Cache.removeChildren
Signed-off-by: Sijmen Schoon <me@sijmenschoon.nl>
2021-11-01 11:08:31 +00:00
Arthur Schiwon 89cb3c7b29 update CRL
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-11-01 11:41:27 +01:00
Nextcloud bot 3c1426a477 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-11-01 02:22:49 +00:00
Nextcloud bot c152f48328 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-10-31 02:22:13 +00:00
dependabot[bot] ae1faec4c5 Merge pull request #29495 from nextcloud/dependabot/npm_and_yarn/stable22/bootstrap-4.6.1 2021-10-30 16:24:58 +00:00
dependabot[bot] f232f737a9 Bump bootstrap from 4.6.0 to 4.6.1
Bumps [bootstrap](https://github.com/twbs/bootstrap) from 4.6.0 to 4.6.1.
- [Release notes](https://github.com/twbs/bootstrap/releases)
- [Commits](https://github.com/twbs/bootstrap/compare/v4.6.0...v4.6.1)

---
updated-dependencies:
- dependency-name: bootstrap
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2021-10-30 15:47:34 +00:00
dependabot[bot] 86b14a0197 Merge pull request #29494 from nextcloud/dependabot/npm_and_yarn/stable22/vue-router-3.5.3 2021-10-30 15:00:04 +00:00
dependabot[bot] 6eb31dc8d0 Bump vue-router from 3.5.2 to 3.5.3
Bumps [vue-router](https://github.com/vuejs/vue-router) from 3.5.2 to 3.5.3.
- [Release notes](https://github.com/vuejs/vue-router/releases)
- [Changelog](https://github.com/vuejs/vue-router/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue-router/compare/v3.5.2...v3.5.3)

---
updated-dependencies:
- dependency-name: vue-router
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2021-10-30 14:25:12 +00:00
Carl Schwan 8993cf86f1 Merge pull request #29475 from nextcloud/backport/29115/stable22
[stable22] Fix permissions when copying from ObjectStorage
2021-10-30 11:20:07 +02:00
Nextcloud bot 1cf9660767 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-10-30 02:22:28 +00:00
Joas Schilling b392321e73 Fix basic auth for OAuth token endpoint
Don't try to login when a client is trying to get a OAuth token.
OAuth needs to support basic auth too, so the login is not valid
inside Nextcloud and the Login exception would ruin it.

Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-10-30 02:25:06 +02:00
MichaIng 5bd6a4fd29 Merge pull request #29415 from nextcloud/backport/27440/stable22
[stable22] Handle files with `is_file` instead of `file_exists`
2021-10-30 00:19:28 +02:00
Carl Schwan 7bf4a45f49 Fix permissions when copying from ObjectStorage
Make sure that when a user copy a file from a directory they don't have
all permissions to a directory where they have more permissions, the
permissions are correctly set to the one from the parent taget folder.

This was caused by the ObjectStoreStorage::copyFromStorage using
the jailed storage and cache entry instead of the unjailed one like other
storages (the local one).
Steps to reproduce

+ Use object storage
+ Create a groupfolder with one group having full permission and another one
  who can just read files.
+ With an user who is in the second group, copy a file from the groupfolder to
  the home folder of this user.
+ The file in the home folder of the user will be read only and can't be deleted
  even though it is in their home folder and they are the owner. In oc_filecache,
  the permissions stored for this file are 1 (READ)

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2021-10-30 00:18:26 +02:00
Nextcloud bot 331bf8ec22 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-10-29 02:22:34 +00:00
Nextcloud bot bc4c4f5d55 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-10-28 02:23:05 +00:00
blizzz 04572bc20f Merge pull request #29459 from nextcloud/backport/29454/stable22
[stable22] Detect mimetype by content only with content
2021-10-27 17:22:31 +02:00
Joas Schilling 7fe95c5576 Detect mimetype by content only with content
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-10-27 13:47:35 +00:00
Nextcloud bot f08f410140 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-10-27 02:23:49 +00:00
John Molakvoæ a3ee517895 Merge pull request #29442 from nextcloud/backport/stable22/26841 2021-10-26 16:47:20 +02:00
Joas Schilling c154b5289a Fix "No entries in this …" template
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-10-26 10:58:25 +02:00
Julius Härtl 4133774c0c Move to combined files entrypoint
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-10-26 10:51:42 +02:00
Julius Härtl c7a9bd1f47 Implement local filtering in file list
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-10-26 10:15:43 +02:00
Nextcloud bot 8901b34530 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-10-26 02:23:06 +00:00
Lukas Reschke 5024b5de9b Merge pull request #29427 from nextcloud/fix/user_status_enumeration_22
Backport #29260: Respect user enumeration settings in user status lists
2021-10-25 14:51:45 +02:00
Jonas Meurer f5b4c1c9ae Add integration tests for user_status API
Signed-off-by: Jonas Meurer <jonas@freesources.org>
2021-10-25 11:16:49 +02:00
Jonas Meurer af00399893 Respect user enumeration settings in user status lists
So far, the functions to find user statuses listed didn't respect user
enumeration settings (`shareapi_allow_share_dialog_user_enumeration`
and `shareapi_restrict_user_enumeration_to_group` core app settings).

Fix this privacy issue by returning an empty list in case
`shareapi_allow_share_dialog_user_enumeration` is unset or
`shareapi_restrict_user_enumeration_to_group` is set.

In the long run, we might want to return users from common groups if
`shareapi_restrict_user_enumeration_to_group` is set. It's complicated
to implement this in a way that scales, though. See the discussion at
https://github.com/nextcloud/server/pull/27879#pullrequestreview-753655308
for details.

Also, don't register the user_status dashboard widget at all if
`shareapi_allow_share_dialog_user_enumeration` is unset or
`shareapi_restrict_user_enumeration_to_group` is set.

Fixes: #27122

Signed-off-by: Jonas Meurer <jonas@freesources.org>
2021-10-25 10:00:20 +02:00
Nextcloud bot c799b48563 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-10-25 02:22:35 +00:00
dependabot[bot] 827341cd1c Merge pull request #29409 from nextcloud/dependabot/npm_and_yarn/stable22/babel-loader-8.2.3 2021-10-24 18:50:32 +00:00
dependabot[bot] fd4d4dbd8d Bump babel-loader from 8.2.2 to 8.2.3
Bumps [babel-loader](https://github.com/babel/babel-loader) from 8.2.2 to 8.2.3.
- [Release notes](https://github.com/babel/babel-loader/releases)
- [Changelog](https://github.com/babel/babel-loader/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel-loader/compare/v8.2.2...v8.2.3)

---
updated-dependencies:
- dependency-name: babel-loader
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-24 20:09:02 +02:00
MichaIng eb79cb6861 Merge pull request #29393 from nextcloud/backport/26725/stable22
[stable22] Fix federated scope not shown when public addressbook upload is disabled
2021-10-24 20:05:38 +02:00
Nextcloud bot 6c7efef285 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-10-24 02:22:32 +00:00
blizzz 7fe15c719c Merge pull request #29419 from nextcloud/backport/29400/stable22
[stable22] fixes an undefined index when getAccessList returns an empty array
2021-10-24 01:25:57 +02:00
Daniel Calviño Sánchez 09a5413d26 Split capability
The "federated" and "published" scopes are independent one from each
other, so the capability that encompassed both needs to be split.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2021-10-23 20:25:40 +02:00
Daniel Calviño Sánchez 222f9f77cd Hide "federated" scope when Federation app is disabled
If the Federation app is disabled it is not possible to synchronize the
users from a different server.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2021-10-23 20:25:40 +02:00
Daniel Calviño Sánchez e01af52698 Fix "Federated" scope not shown when the lookup server is disabled
When the lookup server is disabled the address books can still be
exchanged between trusted servers. Therefore the user should be able to
set the "Federated" scope in that case.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2021-10-23 20:25:40 +02:00
Daniel Calviño Sánchez 0547440069 Add missing scope to test
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2021-10-23 20:25:39 +02:00
MichaIng 629225c30a Merge pull request #29391 from nextcloud/backport/29220/stable22
[stable22] s3 external storage fixes
2021-10-23 20:20:25 +02:00
MichaIng daeeae4ae0 Merge pull request #29398 from nextcloud/backport/29378/stable22
[stable22] Make the route name error more helpful
2021-10-23 20:12:28 +02:00
Arthur Schiwon 5145675d43 fixes an undefined index when getAccessList returns an empty array
- [] is a valid return value that should be honored as having no access

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-10-23 12:48:51 +00:00
acsfer 72776e5493 Update Tests 2021-10-23 09:28:13 +00:00
acsfer 1714ead4f2 Tests update 2021-10-23 09:28:13 +00:00
acsfer 3a5d1c1faf Handle files with is_file instead of file_exists
Should fix things like `fread(): read of 8192 bytes failed with errno=21 Is a directory`
2021-10-23 09:28:13 +00:00
dependabot[bot] 99b151e87a Merge pull request #29410 from nextcloud/dependabot/composer/build/integration/stable22/behat/behat-approx-3.9.0 2021-10-23 04:26:55 +00:00
Nextcloud bot 6853c89114 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-10-23 02:22:43 +00:00
dependabot[bot] bf54b2138c Update behat/behat requirement in /build/integration
Updates the requirements on [behat/behat](https://github.com/Behat/Behat) to permit the latest version.
- [Release notes](https://github.com/Behat/Behat/releases)
- [Changelog](https://github.com/Behat/Behat/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Behat/Behat/compare/v3.8.0...v3.9.0)

---
updated-dependencies:
- dependency-name: behat/behat
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-23 02:11:35 +00:00
Christoph Wurst bc17c790ad Make the route name error more helpful
As a developer I have no clue what "Invalid route name" means. If the
exception gives me a hint I might find it easier to figure out why my
route triggers this error.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-10-22 20:36:42 +00:00
Julius Härtl b98d314cec Merge pull request #29381 from nextcloud/backport/29357/stable22 2021-10-22 20:14:56 +02:00
John Molakvoæ 93d0e207cc Merge pull request #29385 from nextcloud/backport/28997/stable22 2021-10-22 18:37:49 +02:00
Richard Steinmetz 6c9a4dfe6f Merge pull request #29389 from nextcloud/backport/29375/stable22
[stable22] Make calendar schedule options translatable
2021-10-22 18:23:24 +02:00
Robin Appelman e62390045a cache versioning enabled status
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-22 12:34:31 +00:00
Robin Appelman da4712b62c minor directory detect improvements
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-22 12:34:31 +00:00
Robin Appelman d85c0f0c73 always set Key field in headObject
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-22 12:34:31 +00:00
Robin Appelman 5f438375a9 more reliable return value for Watcher::checkUpdate
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-22 12:34:30 +00:00
Robin Appelman 4108655a46 more reliable hasUpdated for s3
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-22 12:34:30 +00:00
Robin Appelman 7983ded102 remove old migration method
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-22 12:34:30 +00:00
Robin Appelman 01cd477f04 optimize filetype for s3 directories a bit
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-22 12:34:30 +00:00
Robin Appelman a3d365b33b ci
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-22 12:34:30 +00:00
Robin Appelman 30f0d9962a more reliable directory copy
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-22 12:34:30 +00:00
Robin Appelman 804a7090f5 doesDirectoryExist fixes
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-22 12:34:30 +00:00
Robin Appelman a4a4097068 s3 external storage listing rework
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-22 12:34:30 +00:00
Julius Härtl 517fa5f2b9 Make calendar schedule options translatable
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-10-22 10:38:11 +00:00
Daniel Kesselberg f50ab2b158 Update attendence for external users
For local users it's possible to select their calendar via the principal url and first update their own attendance status.
External users have no calendar event hence the recipient is the organizer.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2021-10-22 10:10:55 +00:00
Anna Larch 2f4d564ad4 Scheduling plugin not updating responding attendee status take two
Signed-off-by: Anna Larch <anna@nextcloud.com>
2021-10-22 10:10:55 +00:00
JanBartels 28cd629de6 Patch for master-branch 2021-10-22 09:35:37 +00:00
John Molakvoæ 029d86a9ac Merge pull request #29316 from nextcloud/backport/29180/stable22 2021-10-22 11:20:19 +02:00
Christoph Wurst 4e41638101 Prevent duplicate auth token activity updates
The auth token activity logic works as follows
* Read auth token
* Compare last activity time stamp to current time
* Update auth token activity if it's older than x seconds

This works fine in isolation but with concurrency that means that
occasionally the same token is read simultaneously by two processes and
both of these processes will trigger an update of the same row.
Affectively the second update doesn't add much value. It might set the
time stamp to the exact same time stamp or one a few seconds later. But
the last activity is no precise science, we don't need this accuracy.

This patch changes the UPDATE query to include the expected value in a
comparison with the current data. This results in an affected row when
the data in the DB still has an old time stamp, but won't affect a row
if the time stamp is (nearly) up to date.

This is a micro optimization and will possibly not show any significant
performance improvement. Yet in setups with a DB cluster it means that
the write node has to send fewer changes to the read nodes due to the
lower number of actual changes.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-10-22 09:16:05 +00:00
Carl Schwan 759c5a762b Merge pull request #29359 from nextcloud/backport/29355/stable22
[stable22] Fix login button alignment
2021-10-22 10:20:44 +02:00
Vincent Petry e67a330fd1 Merge pull request #29365 from nextcloud/backport/29362/stable22
[stable22] Fix security issues when copying groupfolder with advanced ACL
2021-10-22 09:56:02 +02:00
Nextcloud bot 01c1a5945b [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-10-22 02:22:11 +00:00
Carl Schwan 887f4ba2fb Fix security issues when copying groupfolder with advanced ACL
Using advanced ACL, it is possible that an user has access to a
directory but not to a subdirectory, so the copying use
Common::copyFromStorage instead of Local::copyFromStorage.

Fix https://github.com/nextcloud/groupfolders/issues/1692

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2021-10-21 16:34:20 +00:00
Carl Schwan 6b667103c8 Fix login button alignment
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2021-10-21 13:16:58 +00:00
John Molakvoæ cad44d69dd Merge pull request #29288 from nextcloud/backport/28768/stable22 2021-10-21 09:31:46 +02:00
Nextcloud bot 0a1ee2da89 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-10-21 02:24:27 +00:00
Nextcloud bot 74c26288db [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-10-20 02:43:11 +00:00
Pytal 1ad0d3fb07 Merge pull request #29311 from nextcloud/backport/29295/stable22 2021-10-19 19:06:22 -07:00
MichaIng dae59e5203 Merge pull request #29263 from nextcloud/backport/29090/stable22
[stable22] Add configuration flag to disable the background job for files_versions
2021-10-20 00:12:36 +02:00
MichaIng 1c69bc8180 Merge pull request #29262 from nextcloud/backport/29125/stable22
[stable22] Add configuration flag to disable the background job for files_trashbin
2021-10-20 00:10:54 +02:00
Joas Schilling cbb2ffd1d2 Merge pull request #29301 from nextcloud/backport/29259/stable22
[stable22] Fix app upgrade
2021-10-19 13:36:57 +02:00
Côme Chilliet 9f27bde82b Use Psr\Log\LoggerInterface where it can easily be used in user_ldap
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-10-19 09:25:13 +00:00
Côme Chilliet 6372c34c40 Fix two mistakes in previous migration to LoggerInterface in OCA\User_LDAP\Access
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-10-19 09:25:13 +00:00
Côme Chilliet d29a132949 Use Psr\Log\LoggerInterface in OCA\User_LDAP\Access
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-10-19 09:25:13 +00:00
Côme Chilliet 206d6d034f Avoid PHP errors when the LDAP attribute is not found
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-10-19 09:25:12 +00:00
John Molakvoæ 086950faf3 Merge pull request #29283 from nextcloud/backport/28250/stable22 2021-10-19 11:11:42 +02:00
John Molakvoæ 27c23b6f13 Merge pull request #29183 from nextcloud/backport/29028/stable22 2021-10-19 11:11:26 +02:00
Carl Schwan 1787d8257a Fix cliping issues in alternative logging buttons
The issues was caused because the button with its margins was bigger
than the parent. Instead of setting the margin of the button, add
padding to the parent. This is more reliable.

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2021-10-19 08:23:20 +00:00
Nextcloud bot 59376677b4 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-10-19 02:23:00 +00:00
Joas Schilling 6a7b6ea0e8 Fix app upgrade
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-10-18 19:22:48 +00:00
acsfer 50791c61d3 Simplify :) 2021-10-18 07:59:00 +00:00
acsfer 269d9b5e0b Replace file_exists() method by is_file() 2021-10-18 07:58:59 +00:00
acsfer 698527d197 Get filesize() if file_exists()
Should make sense.
2021-10-18 07:58:59 +00:00
Nextcloud bot 4c499a0312 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-10-18 02:24:56 +00:00
pjft 92c16b3d60 Fix bug introduced on drag and drop external files
Drag and drop of external (OS filesystem) to subdirectories in the browser would fail on specific cases, mainly when the subdirectory was no longer off the root folder.
This seemed to have been an issue introduced with the subdirectory free space calculation [here](https://github.com/nextcloud/server/commit/f9536b08096ed1c80391af36d33a18198be1fced) and it seems to fail for any subdirectory that doesn't belong to the root folder.

Bug reports:
- https://help.nextcloud.com/t/drag-drop-into-subfolders/120731
- https://github.com/nextcloud/server/issues/24720

I couldn't find any reference on scenarios or quota management that would suggest when a subdirectory's free space would be different to the parent's free space, other than when on the root folder, where subdirectories can be external mounts.

As such, if my understanding is correct (please review), this calculation can - and should - be made by getting the free space from the first subdirectory in the total path, which caters for all subdirectory scenarios.

Please advise, happy to help improve this.

Co-authored-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
Signed-off-by: pjft <pjft@users.noreply.github.com>
2021-10-17 19:32:45 +00:00
Nextcloud bot 3c29fbc0b8 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-10-17 02:22:09 +00:00
Nextcloud bot 8ee71f4f5c [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-10-16 02:23:32 +00:00
Daniel Kesselberg 383321ac65 Add configuration flag to disable the background job for files_versions
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2021-10-15 14:20:00 +00:00
Daniel Kesselberg f41964bdde Add configuration flag to disable the background job for files_trashbin
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2021-10-15 13:52:22 +00:00
Daniel de6c643362 Merge pull request #29251 from nextcloud/backport/29248/stable22
[stable22] Fix background scan doc in config
2021-10-15 10:18:29 +02:00
Vincent Petry 39381c78a9 Fix background scan doc in config
The background scanner only processes entries with size < 0

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-10-15 08:08:58 +00:00
Nextcloud bot eaaeb5c9c0 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-10-15 02:26:14 +00:00
blizzz cc28d5c16c Merge pull request #29221 from nextcloud/backport/29214/stable22
[stable22] Don't setup the filesystem to check for a favicon we don't use anyway
2021-10-14 12:51:32 +02:00
Joas Schilling 34d546de1d Merge pull request #29225 from nextcloud/backport/26688/stable22
[stable22] Add proper message to created share not found
2021-10-14 10:08:44 +02:00
Nextcloud bot 701ffb0904 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-10-14 02:22:38 +00:00
John Molakvoæ (skjnldsv) 1cf4e4999e Default message for ShareNotFound exception
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-10-13 22:48:09 +00:00
John Molakvoæ (skjnldsv) f70c17cbcf Add proper message to created share not found
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-10-13 22:48:08 +00:00
Joas Schilling 07138686e2 Don't setup the filesystem to check for a favicon we don't use anyway
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-10-13 20:27:37 +00:00
Daniel e0d4246137 Merge pull request #29217 from nextcloud/backport/29136/stable22
[stable22] Add documentation for files_no_background_scan
2021-10-13 20:09:05 +02:00
blizzz ef56aa7c33 Merge pull request #29196 from nextcloud/backport/29020/stable22
[stable22] Keep group restrictions when reenabling apps after an update
2021-10-13 19:30:39 +02:00
Daniel Kesselberg 2290dcb3a4 Add documentation for files_no_background_scan
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2021-10-13 15:57:48 +00:00
Joas Schilling 31cdcf6f8c Merge pull request #29207 from nextcloud/backport/29004/stable22
[stable22] Fix translated app details
2021-10-13 17:02:12 +02:00
Joas Schilling f417c2e642 Keep group restrictions when reenabling apps after an update
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-10-13 14:03:39 +02:00
Joas Schilling 982f956342 Fix translated app details
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-10-13 09:59:48 +00:00
Nextcloud bot 164d118d8e [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-10-13 02:22:48 +00:00
Bjoern Schiessle ff48e1953d add 'supported'-label to all supported apps, also if they are not downloaded yet
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2021-10-12 11:47:43 +00:00
Julius Härtl 96abf31c3b Merge pull request #29160 from nextcloud/backport/24185/stable22 2021-10-12 09:12:11 +02:00
Joas Schilling bdc0c2def4 Merge pull request #29066 from nextcloud/backport/29056/stable22
[stable22] Allow "TwoFactor Nextcloud Notifications" to pull the state of the 2FA again
2021-10-12 09:03:55 +02:00
Nextcloud bot 148c7bfd89 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-10-12 02:22:45 +00:00
MichaIng a388b2fe72 Merge pull request #29129 from nextcloud/backport/27886/stable22
[stable22] Keep pw based auth tokens valid when pw-less login happens
2021-10-12 02:20:07 +02:00
Julius Härtl 9163894634 Merge pull request #29133 from nextcloud/backport/28907/stable22 2021-10-11 22:22:59 +02:00
MichaIng a7872e2202 Merge pull request #29162 from nextcloud/backport/29122/stable22
[stable22] Tokens without password should not trigger changed password invalidation
2021-10-11 14:36:12 +02:00
Julius Härtl 311988673c Tokens without password should not trigger changed password invalidation
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-10-11 09:34:04 +00:00
Julius Härtl 3246eea0b6 Make sure that a empty directory can still be deleted when copied from another storage
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-10-11 08:01:10 +00:00
Julius Härtl 5fc7c22034 Delete object to cleanup leftover of paths when removing directories
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-10-11 08:01:09 +00:00
Nextcloud bot 898e329373 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-10-11 02:22:47 +00:00
Nextcloud bot eb8cbc3fe9 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-10-10 02:21:27 +00:00
Nextcloud bot 622d593210 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-10-09 02:39:38 +00:00
John Molakvoæ c5e9e74a56 Merge pull request #29124 from nextcloud/backport/29123/stable22 2021-10-08 11:40:08 +02:00
John Molakvoæ ae4990f51d Merge pull request #29121 from nextcloud/backport/28608/stable22 2021-10-08 11:39:45 +02:00
Daniel Kesselberg 15417f3824 explicitly close source stream on encryption storage
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2021-10-08 08:04:34 +00:00
Daniel Kesselberg 8ce2a320a1 explicitly close source stream on local storage
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2021-10-08 08:04:34 +00:00
Tobias Assmann caae37e9e7 add spaces around operators
Signed-off-by: Tobias Assmann <tobias.assmann@ecsec.de>
2021-10-08 08:06:06 +02:00
Tobias Assmann ce834cbb55 draft to prevent the invalidation of pw based authn tokens on a pw less login
Signed-off-by: Tobias Assmann <tobias.assmann@ecsec.de>
2021-10-08 08:06:03 +02:00
Nextcloud bot 6990f2ff43 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-10-08 02:23:30 +00:00
Daniel Kesselberg d94d4acad6 Set associative = true for cleanup job
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2021-10-07 19:34:10 +00:00
Robin Appelman d4fb676dd7 generate a better optimized query for path prefix search filters
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-07 15:19:58 +00:00
Louis 97bdedf44d Merge pull request #29113 from nextcloud/backport/25774/stable22
[stable22] Add button color variables
2021-10-07 14:29:20 +02:00
Daniel d9dce2fd04 Merge pull request #29096 from nextcloud/backport/29083/stable22
[stable22] Update the certificate bundle
2021-10-07 12:27:05 +02:00
marco 8223a66d2e Add new variables for buttons
Signed-off-by: marco <marcoambrosini@pm.me>
2021-10-07 09:43:32 +00:00
Marco Ambrosini ea72d8ca00 Do not target vue buttons with server rules
Signed-off-by: Marco Ambrosini <marcoambrosini@pm.me>
2021-10-07 09:43:32 +00:00
Daniel Kesselberg 16136ddda1 Update the certificate bundle
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2021-10-07 09:33:39 +02:00
Nextcloud bot c7ce81fa01 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-10-07 02:25:42 +00:00
MichaIng 3ff8e940d1 Merge pull request #29086 from nextcloud/backport/29082/stable22
[stable22] Add a few sensitive config keys
2021-10-06 13:28:50 +02:00
Julius Härtl 59c5304159 Merge pull request #29062 from nextcloud/backport/28939/stable22 2021-10-06 09:59:30 +02:00
Julien Veyssier c681ed2e9b consider some config keys under 'objectstore_multibucket' as sensitive
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
2021-10-06 07:52:38 +00:00
Nextcloud bot 5d299f2834 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-10-06 02:21:09 +00:00
Pytal c9ef440a13 Merge pull request #29078 from nextcloud/backport/29058/stable22 2021-10-05 17:43:47 -07:00
Vincent Petry abfc24ad99 Do not transfer shares for deleted users
Whenever a user was deleted but is still recipient of share entries,
delete these entries upon transfer.

Usually such entries would disappear after running cleanup background
jobs.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-10-05 07:19:02 +00:00
Nextcloud bot fad7135bc4 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-10-05 02:22:19 +00:00
Daniel 62ba113ac8 Merge pull request #29073 from nextcloud/backport/28473/stable22
[stable22] Fix path of `file_get_contents`
2021-10-04 20:53:59 +02:00
acsfer 99c053e5d9 Avoid usage of Nextcloud API, use PHP function 2021-10-04 17:27:53 +00:00
acsfer 0506288882 Fix path of file_get_contents
Try to fix #28370  and #27441 

Avoid pre-pends the `$path` to the user's own storage.
2021-10-04 17:27:53 +00:00
Joas Schilling 770ed4dcdd Allow "TwoFactor Nextcloud Notifications" to pull the state of the 2FA again
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-10-04 15:19:48 +00:00
Joas Schilling 7eface3bfd Don't further setup disabled users when logging in with apache
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-10-04 11:03:04 +00:00
Nextcloud bot 15de74d82e [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-10-04 02:26:30 +00:00
Daniel c0d5e96cce Merge pull request #29046 from nextcloud/backport/29044/stable22
[stable22] Change output format of Psalm to Github
2021-10-03 20:17:31 +02:00
Morris Jobke 050ba4b8d2 Change output format of Psalm to Github
This automatically inlines the errors into the diff view.

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2021-10-03 17:40:25 +00:00
Nextcloud bot 8b7ea9f62d [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-10-03 02:26:31 +00:00
Nextcloud bot c47046bcf4 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-10-02 02:26:25 +00:00
kesselb 75021cddd5 Merge pull request #29016 from nextcloud/backport/28263/stable22
[stable22] Fix Lots of Error: file_exists(): open_basedir restriction in effect.…
2021-10-01 22:10:09 +02:00
Karel Hink 5b36f44efb Fix Lots of Error: file_exists(): open_basedir restriction in effect. in Log
Signed-off-by: Karel Hink <info@karelhink.cz>
2021-10-01 12:48:38 +00:00
Nextcloud bot 5128ebdf38 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-10-01 02:26:17 +00:00
MichaIng 8fdae489cd Merge pull request #28968 from nextcloud/backport/28876/stable22
[stable22] ensure that user and group IDs in LDAP's tables are also max 64chars
2021-09-30 13:24:39 +02:00
Nextcloud bot 9d6345fcb7 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-09-30 02:30:35 +00:00
blizzz 07e359b7de Merge pull request #28988 from nextcloud/version/22.2.0/final
22.2.0
2021-09-29 23:17:42 +02:00
szaimen 115ae98142 Merge pull request #28998 from nextcloud/backport/28995/stable22
[stable22] Fix redirect during initial setup
2021-09-29 18:55:46 +02:00
Louis Chemineau 33685c58de Prevent empty base URL during installation
Signed-off-by: Louis Chemineau <louis@chmn.me>
2021-09-29 15:38:16 +00:00
Arthur Schiwon 8586d6040d ensure that user and group IDs in LDAP's tables are also max 64chars
- limitation by core tables (e.g. sharing), IDs are always 64chars
- when longer group IDs were requested they are hashed (does not affect
  displaynames)

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-09-29 14:17:13 +02:00
Arthur Schiwon dd9b0ea3d3 22.2.0
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-09-29 11:38:26 +02:00
blizzz 610bc603c8 Merge pull request #28984 from nextcloud/bump-app-versions
[stable22] Bump app versions
2021-09-29 11:05:51 +02:00
Joas Schilling a8415ea7d7 Fix app version check
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-09-29 10:07:45 +02:00
Joas Schilling e7afd64436 Bump app version
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-09-29 10:07:22 +02:00
Nextcloud bot 9be73bfeeb [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-09-29 02:26:14 +00:00
Nextcloud bot 113965df8c [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-09-28 02:25:28 +00:00
szaimen b5366997a5 Merge pull request #28962 from nextcloud/backport/28853/stable22
[stable22] Don't allow to change activity settings that don't work
2021-09-27 10:41:14 +02:00
Joas Schilling fbc9133861 Don't allow to change activity settings that don't work
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-09-27 06:19:09 +00:00
Vincent Petry 53a18945d4 Merge pull request #28954 from nextcloud/backport/28933/stable22
[stable22] Fix check for redis minimal version
2021-09-27 08:14:32 +02:00
Julien Veyssier f71919c967 Merge pull request #28945 from nextcloud/fix/can-upgrade-from
Allow upgrade from 22.2.0.0 to 22.2.0.1
2021-09-26 14:43:18 +02:00
Nextcloud bot 729c0b89ed [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-09-26 02:27:33 +00:00
Nextcloud bot f74e5c4cd5 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-09-25 02:26:47 +00:00
MichaIng 30d81a981e Merge pull request #28953 from nextcloud/backport/27852/stable22
[stable22] Allow casting query functions
2021-09-25 02:05:55 +02:00
Daniel Kesselberg 0927ff1edb Fix check for redis minimal version
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2021-09-24 21:03:00 +00:00
Joas Schilling 7c9167e9b4 Allow casting query functions as well
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-09-24 20:20:02 +00:00
Joas Schilling e4817972d8 Add a unit test to check for casting a IQueryFunction
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-09-24 20:20:02 +00:00
MichaIng 068e977b07 Merge pull request #28949 from nextcloud/backport/28916/stable22
[stable22] fix caching of objectsid searches
2021-09-24 22:06:18 +02:00
Arthur Schiwon 14fa79f37a fix caching of objectsid searches
- store result when no name could be retrieved, too
- cached value is not an array, was treated wrongly

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-09-24 15:07:03 +00:00
Julien Veyssier 106144edc5 allow upgrade from 22.2
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
2021-09-24 12:26:05 +02:00
Nextcloud bot 10c60b9179 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-09-24 02:26:51 +00:00
blizzz c78148c57a Merge pull request #28938 from nextcloud/version/22.2.0/rc2
22.2.0 RC2
2021-09-23 12:16:15 +02:00
blizzz e47f7690c4 Merge pull request #28928 from nextcloud/3rdparty-22
[stable22] Bump 3rdparty ref
2021-09-23 10:28:31 +02:00
blizzz e6d7cdcfd7 Merge pull request #28827 from nextcloud/backport/26584/stable22
[stable22] Update .htaccess (php8+ and mod_lsapi)
2021-09-23 10:27:37 +02:00
blizzz 9410141747 Merge pull request #28683 from nextcloud/backport/26463/stable22
[stable22] Fix S3 ObjectStore proxy option
2021-09-23 10:24:54 +02:00
Arthur Schiwon f5ed8073b8 22.2.0 RC2
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-09-23 10:12:38 +02:00
blizzz 815ec82cd0 Merge pull request #28910 from nextcloud/backport/28802/stable22
[stable22] Support seeking also from the end of file on S3 storage
2021-09-23 09:49:45 +02:00
Nextcloud bot 3985791360 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-09-23 02:29:52 +00:00
Lukas Reschke b1ed97bdca [stable22] Bump 3rdparty ref
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2021-09-22 16:16:49 +02:00
Nextcloud bot db539b58ad [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-09-22 02:26:50 +00:00
MichaIng 3558d87ec4 Merge pull request #28881 from nextcloud/backport/28871/stable22
[stable22] Fix file creation from template without ext
2021-09-21 19:37:42 +02:00
kesselb 72ac7c11d6 Merge pull request #28919 from nextcloud/backport/28918/stable22
[stable22] Use IRoomMetadata as source of truth for supported room types
2021-09-21 18:41:06 +02:00
Richard Steinmetz 0931599ae0 Use IRoomMetadata as source of truth for supported room types
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2021-09-21 16:19:40 +00:00
acsfer fe89d00fd5 Fix module name for PHP8+ 2021-09-21 17:14:50 +02:00
acsfer cb170bacf3 Update .htaccess (PHP8 and mod_lsapi)
- Add `mod_lsapi` (Cloudlinux) authorization headers
- Add `mod_php8` php_values
- Reformating for better lisibilty
2021-09-21 17:14:49 +02:00
Louis Chemineau 0e77b0f496 Use legacy call of generateOcsUrl
Signed-off-by: Louis Chemineau <louis@chmn.me>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2021-09-21 10:42:05 +00:00
Nextcloud bot 5042fda90d [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-09-21 02:27:21 +00:00
Pauli Järvinen 11695164c6 Support seeking also from the end of file on S3 storage
The PR https://github.com/nextcloud/server/pull/20033 added support
for `fseek` for  the S3 storage backend. However, the seek mode SEEK_END
was left out that time. This PR fills this gap.

Signed-off-by: Pauli Järvinen <pauli.jarvinen@gmail.com>
2021-09-20 18:13:25 +00:00
blizzz 772e8a11e7 Merge pull request #28900 from nextcloud/backport/28868/stable22
[stable22] Update CRL due to revoked twofactor_email.crt
2021-09-20 17:44:58 +02:00
Vincent Petry e38832ab30 Merge pull request #28895 from nextcloud/backport/28889/stable22
[stable22] Fall back to full file for video previews
2021-09-20 13:54:32 +02:00
Arthur Schiwon e442ce53be Update CRL due to revoked twofactor_email.crt
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-09-20 11:17:00 +00:00
Vincent Petry 389c7dcd6a Fall back to full file for video previews
If the first 5 MB are not enough to grab a useful frame for the
thumbnail preview, fall back to reading the full file.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-09-20 09:29:58 +00:00
Louis Chemineau c128e0a787 Fix partial backport
Signed-off-by: Louis Chemineau <louis@chmn.me>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2021-09-20 09:09:37 +00:00
Nextcloud bot eb3d06c53a [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-09-20 02:25:53 +00:00
Nextcloud bot 7793e88616 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-09-19 02:25:48 +00:00
kesselb 4ac4c0a94c Merge pull request #28860 from nextcloud/backport/28822/stable22
[stable22] Add email addresses to contacts menu
2021-09-18 16:00:45 +02:00
blizzz 81cd110526 Merge pull request #28888 from nextcloud/dependabot/npm_and_yarn/stable22/vue-clipboard2-0.3.3
Bump vue-clipboard2 from 0.3.2 to 0.3.3
2021-09-18 10:41:58 +02:00
Vincent Petry 7da323aace Merge pull request #28878 from nextcloud/backport/28872/stable22
[stable22] Fix files view change and undefined currentFileList
2021-09-18 09:41:01 +02:00
MichaIng 64d7080575 Merge pull request #28850 from nextcloud/backport/28285/stable22
[stable22] l10n: ignore packed js files from TX sync
2021-09-18 09:22:50 +02:00
Nextcloud bot 9f827142cf [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-09-18 02:28:55 +00:00
dependabot[bot] 1cc0e4b394 Bump vue-clipboard2 from 0.3.2 to 0.3.3
Bumps [vue-clipboard2](https://github.com/Inndy/vue-clipboard2) from 0.3.2 to 0.3.3.
- [Release notes](https://github.com/Inndy/vue-clipboard2/releases)
- [Changelog](https://github.com/Inndy/vue-clipboard2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Inndy/vue-clipboard2/compare/v0.3.2...v0.3.3)

---
updated-dependencies:
- dependency-name: vue-clipboard2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-18 01:59:04 +00:00
John Molakvoæ 265aedc6e5 Fix file creation from template without ext
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2021-09-17 20:22:54 +00:00
John Molakvoæ c406a14fdb Fix files view change and undefined currentFileList
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2021-09-17 19:54:26 +00:00
Daniel Kesselberg 74ba52641d Add email addresses to contacts menu
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2021-09-17 10:04:22 +02:00
Nextcloud bot 8eb6dd8ed5 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-09-17 02:28:20 +00:00
John Molakvoæ 74b009eac3 Merge pull request #28531 from nextcloud/backport/28478/stable22 2021-09-16 20:22:08 +02:00
John Molakvoæ 4ea2060099 Merge pull request #28867 from nextcloud/release/22.2.0-rc1 2021-09-16 20:19:23 +02:00
John Molakvoæ 934a7618a9 22.2.0 RC1
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2021-09-16 19:34:04 +02:00
John Molakvoæ f82529a74c Merge pull request #28865 from nextcloud/backport/28835/stable22 2021-09-16 19:29:31 +02:00
John Molakvoæ 1d5c820354 Bump @nextcloud/vue
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2021-09-16 18:27:44 +02:00
John Molakvoæ 1434a75c73 Add new ExternalShareActions API
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2021-09-16 16:19:44 +00:00
Joas Schilling 8625d516b6 Merge pull request #28852 from nextcloud/backport/28698/stable22
[stable22] l10n: Remove a text string from translation
2021-09-16 16:39:52 +02:00
blizzz 9888b05970 Merge pull request #28855 from nextcloud/backport/28840/stable22
[stable22] let user choose notification email in user settings
2021-09-16 12:58:10 +02:00
nextcloud-command 733f22536d Compile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2021-09-16 10:08:10 +00:00
Arthur Schiwon c77dc0a31c adjusted backport of e26664ba42
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-09-16 11:35:20 +02:00
Vincent Petry 68bfaa1da3 Merge pull request #28851 from nextcloud/backport/28847/stable22
[stable22] Add config.php option for transfer ownership
2021-09-16 08:38:37 +02:00
Nextcloud bot fa7b964ada [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-09-16 02:28:52 +00:00
Pytal 4732aea350 Merge pull request #28841 from nextcloud/backport/28794/stable22
[stable22] allow using of disabled password reset mechanism for special cases
2021-09-15 12:15:16 -07:00
blizzz 8549325752 Merge pull request #28843 from nextcloud/backport/28828/stable22
[stable22] the user always may modify their additional emails
2021-09-15 17:23:34 +02:00
Valdnet f22209dc37 Correct code
Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2021-09-15 15:19:39 +00:00
Valdnet f2cdd8af99 l10n: Remove a text string from translation
Removal of a text string from a translation in Transifex.

Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2021-09-15 15:19:39 +00:00
Vincent Petry 3bd1194526 Add config.php option for transfer ownership
Add option to specify whether to transfer incoming shares by default.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-09-15 15:01:43 +00:00
Vincent Petry 4d5ee24eed Merge pull request #28844 from nextcloud/backport/28118/stable22
[stable22] Added support for transferring incoming file shares.
2021-09-15 16:56:00 +02:00
rakekniven 59d5937b06 l10n: ignore packed js files from TX sync
Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2021-09-15 14:14:51 +00:00
Vincent Petry 42239fc02c Test for transfer ownership with incoming shares
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-09-15 12:18:31 +02:00
Vincent Petry 249582a811 Added support for transfering incoming file shares.
- new option --transfer-incoming-shares=1 | 0
- new config.php option 'transfer-incoming-shares' => true | false

The command line option overrules the config.php option.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Co-authored-by: Immanuel Pasanec <immanuel.pasanec@compaso.de>
2021-09-15 12:18:23 +02:00
nextcloud-command 5250bb0509 Compile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2021-09-15 10:12:48 +00:00
Arthur Schiwon 9741fd466c the user always may modify their additional emails
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-09-15 12:03:58 +02:00
Nextcloud bot 7c870faf17 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-09-15 02:28:11 +00:00
Arthur Schiwon 151fafcd45 allow using of disabled password reset mechanism for special cases
- LostController has three endpoints
- door opener email() still rejects
- resetform(), reachable from mail, checks the token first and may report
  that password reset is disabled
- setPassword() got its check removed as it is behind CSFR anyway and still
  requires a valid token
- this allows special cases like activating a freshly created guest account

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-09-15 01:32:44 +00:00
John Molakvoæ 609494fd4d Merge pull request #28830 from nextcloud/backport/28774/stable22 2021-09-14 18:06:56 +02:00
Richard Steinmetz 438386c96a Do not cache file ids in FileSystemTags inside group folders
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2021-09-14 14:07:25 +00:00
blizzz 5ef25870e5 Merge pull request #28824 from nextcloud/backport/28792/stable22
[stable22] fixes missing prefix to validate password reset token
2021-09-14 10:51:34 +02:00
Arthur Schiwon 3f1e4a0b15 fixes missing prefix to validate password reset token
- also fixes the test which missed asserting the presence of it

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-09-14 07:52:45 +00:00
Nextcloud bot 3f71dd2b8d [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-09-14 02:30:51 +00:00
Lukas Reschke 08673d29ab Merge pull request #28814 from nextcloud/backport/28728/stable22
[stable22] Add database ratelimiting backend
2021-09-13 19:27:34 +02:00
Lukas Reschke 7eb702ec53 Add database ratelimiting backend
In case no distributed memory cache is specified this adds
a database backend for ratelimit purposes.

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2021-09-13 15:36:07 +02:00
Nextcloud bot f8c6c267d5 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-09-13 02:28:30 +00:00
Nextcloud bot 7c812482cf [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-09-12 02:28:38 +00:00
dependabot[bot] b4a4250537 Merge pull request #28801 from nextcloud/dependabot/npm_and_yarn/stable22/vue-clipboard2-0.3.2 2021-09-11 23:30:37 +00:00
dependabot[bot] b343bd5381 Bump vue-clipboard2 from 0.3.1 to 0.3.2
Bumps [vue-clipboard2](https://github.com/Inndy/vue-clipboard2) from 0.3.1 to 0.3.2.
- [Release notes](https://github.com/Inndy/vue-clipboard2/releases)
- [Changelog](https://github.com/Inndy/vue-clipboard2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Inndy/vue-clipboard2/compare/v0.3.1...v0.3.2)

---
updated-dependencies:
- dependency-name: vue-clipboard2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2021-09-11 22:22:58 +00:00
Nextcloud bot 4be2e55af1 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-09-11 02:27:55 +00:00
Pytal 1bcd3c633f Merge pull request #28781 from nextcloud/backport/28767/stable22
[stable22] Dashboard - fix touch layout
2021-09-10 10:54:53 -07:00
Pytal 8eb921c60e Merge pull request #28785 from nextcloud/backport/28377/stable22
[stable22] Scan the shared external storage source on access
2021-09-10 10:22:28 -07:00
John Molakvoæ 317e04dd26 Merge pull request #28780 from nextcloud/backport/28422/stable22 2021-09-10 15:29:11 +02:00
blizzz c57a621deb Merge pull request #28777 from nextcloud/backport/28677/stable22
[stable22] make it possible to  override the default collation on mysql
2021-09-10 14:39:15 +02:00
Arthur Schiwon cc9758e12a also allow admins to set the primary email
- there will be times when it is necessary to reset this value for sure

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-09-10 13:22:27 +02:00
Arthur Schiwon 0571d41df5 use specific email getter where necessary
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-09-10 13:22:27 +02:00
Arthur Schiwon 88fc177e26 enable the user to set a primary (notification) email address (backend)
- specific getters and setters on IUser and implementation
- new notify_email field in provisioning API

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-09-10 13:22:26 +02:00
Arthur Schiwon 4146764686 Confirm mails only per POST
- this is to avoid automatic confirmation by certain softwares that open
  links

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-09-10 13:22:26 +02:00
Arthur Schiwon b699e8f487 add a job to clean up expired verification tokens
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-09-10 13:18:41 +02:00
Arthur Schiwon 5c4c162d0d fix parameter type hint in phpdoc
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-09-10 13:18:23 +02:00
Arthur Schiwon c9c671a466 implement verification for additional mails
- mails added by (sub)admins are automatically verified
- provisioning_api controller as verification endpoint
- IAccountProperty gets a locallyVerified property
- IPropertyCollection gets a method to fetch an IAccountProperty by value
  - an remove equivalent was already present
- AccountManager always initiates mail verification on update if necessary
- add core success template for arbitrary title and message

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-09-10 13:17:39 +02:00
Arthur Schiwon 7c48177830 move verification token logic out of lost password controller
- to make it reusable
- needed for local email verification

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-09-10 13:14:02 +02:00
szaimen c7159f9322 Merge pull request #28769 from nextcloud/backport/28754/stable22
[stable22] Fix trashbin files view sticky action bar
2021-09-10 11:09:13 +02:00
szaimen 3586cf8e04 Dashboard - fix touch layout
Signed-off-by: szaimen <szaimen@e.mail.de>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2021-09-10 08:24:49 +00:00
John Molakvoæ (skjnldsv) ccf9cc964c Return proper watcher if SharedStorage originates from ExternalMount
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-09-10 08:14:28 +00:00
Nextcloud bot 2389b035f3 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-09-10 02:35:58 +00:00
Arthur Schiwon f353dd98f4 make it possible to override the default collation
- allows admins to configure it for edge cases like accent sensitivity

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-09-09 17:41:48 +00:00
Simounet 5a8034c753 Fix trashbin files view sticky action bar
Signed-off-by: Simounet <contact@simounet.net>
2021-09-09 10:59:26 +00:00
Nextcloud bot 0d8a36aebf [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-09-09 02:28:09 +00:00
kesselb 001611ca97 Merge pull request #28748 from nextcloud/backport/28692/stable22
[stable22] Send attendence links to required and optinal attendees of an event without an RSVP
2021-09-08 19:09:10 +02:00
Nextcloud bot a05396b26a [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-09-08 02:27:47 +00:00
szaimen d86877b867 Merge pull request #28701 from nextcloud/fix/stable22-user-list-infinite-loading
[stable22] Fix user list infinite loading state in user settings
2021-09-07 23:00:32 +02:00
Lukas Reschke 3e3ce19bfc Merge pull request #28752 from nextcloud/stable22-bump-3rdparty-ref-1
[stable22] Bump 3rdparty ref
2021-09-07 20:24:41 +02:00
Lukas Reschke 9c468e115d [stable22] Bump 3rdparty ref
Includes https://github.com/nextcloud/3rdparty/pull/780

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2021-09-07 18:08:59 +02:00
Lukas Reschke 1258776f6e Merge pull request #28744 from nextcloud/stable22-bump-3rdparty-ref
[stable22] Bump 3rdparty ref
2021-09-07 17:55:31 +02:00
Anna Larch b5e6ed48ea Send Invitation to Attendees with ROLE=REQ-PARTICIPANT
Signed-off-by: Anna Larch <anna@nextcloud.com>
2021-09-07 14:06:06 +00:00
Lukas Reschke 0bd57da8f0 Merge pull request #28740 from nextcloud/backport/28725/stable22
[stable22] Remove 2FA exemption from PublicPage annotation
2021-09-07 12:46:51 +02:00
Lukas Reschke 7d13ce00e2 [stable22] Bump 3rdparty ref
This includes https://github.com/nextcloud/3rdparty/pull/781

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2021-09-07 11:44:49 +02:00
Lukas Reschke d720b987da Adjust tests
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2021-09-07 08:47:17 +00:00
Lukas Reschke 2e1f7a8161 Remove 2FA exemption from PublicPage annotation
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2021-09-07 08:47:17 +00:00
Lukas Reschke 4b00f5d6e9 Merge pull request #28734 from nextcloud/backport/28726/stable22
[stable22] Check if SVG path is valid
2021-09-07 09:39:38 +02:00
Lukas Reschke 1d5bcdfd84 Resolve absolute path in tests
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2021-09-07 06:34:04 +00:00
Lukas Reschke b87649beeb Fix codestyle
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2021-09-07 06:34:04 +00:00
Lukas Reschke 3061f8a529 Check if SVG path is valid
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2021-09-07 06:34:04 +00:00
Nextcloud bot 22a9470195 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-09-07 02:28:24 +00:00
John Molakvoæ 0fa0d2cce1 Merge pull request #28705 from nextcloud/backport/28700/stable22
[stable22] Pin Psalm version for security analysis
2021-09-06 12:48:09 +02:00
Nextcloud bot 23975c9ce4 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-09-06 02:27:53 +00:00
Nextcloud bot 37c1a05db0 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-09-05 02:27:30 +00:00
MichaIng 78b43482fc Merge pull request #28712 from nextcloud/dependabot/npm_and_yarn/stable22/css-vars-ponyfill-2.4.7
Bump css-vars-ponyfill from 2.4.6 to 2.4.7
2021-09-04 13:13:30 +02:00
dependabot[bot] 42f0a46b12 Bump css-vars-ponyfill from 2.4.6 to 2.4.7
Bumps [css-vars-ponyfill](https://github.com/jhildenbiddle/css-vars-ponyfill) from 2.4.6 to 2.4.7.
- [Release notes](https://github.com/jhildenbiddle/css-vars-ponyfill/releases)
- [Changelog](https://github.com/jhildenbiddle/css-vars-ponyfill/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jhildenbiddle/css-vars-ponyfill/compare/v2.4.6...v2.4.7)

---
updated-dependencies:
- dependency-name: css-vars-ponyfill
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2021-09-04 10:05:27 +00:00
Nextcloud bot 21e8370b43 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-09-04 02:26:22 +00:00
szaimen 6880498324 Merge pull request #28670 from nextcloud/backport/28660/stable22
[stable22] Fix position of search bar
2021-09-03 18:14:13 +02:00
Christoph Wurst eda2be4972 Pin Psalm version for security analysis
The action will otherwise pull dev-master and this can break easily as
we just experience.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-09-03 15:24:40 +00:00
Carl Schwan 3255b22630 Fix position of search bar
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2021-09-03 15:05:36 +00:00
Julien Veyssier d2c6fa02be avoid 'No users in here' in user list when there actually are users
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
2021-09-03 13:32:43 +02:00
John Molakvoæ d45a42595b Merge pull request #28697 from nextcloud/backport/28643/stable22 2021-09-03 09:05:19 +02:00
Nextcloud bot 9165f0c2ff [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-09-03 02:28:42 +00:00
sangramsinh.desai@t-systems.com b1190a03f7 Duplicate code removed
Signed-off-by: Sangramsinh Desai <sangramsinh.desai@t-systems.com>
Signed-off-by: sangramsinh.desai@t-systems.com <sangramsinh.desai@t-systems.com>
2021-09-02 21:41:15 +00:00
sangramsinh.desai@t-systems.com 119010d234 unwanted class removed
Signed-off-by: Sangramsinh Desai <sangramsinh.desai@t-systems.com>
Signed-off-by: sangramsinh.desai@t-systems.com <sangramsinh.desai@t-systems.com>
2021-09-02 21:41:15 +00:00
sangramsinh.desai@t-systems.com 03b14f0ffa space above the downloadFile element added
Signed-off-by: Sangramsinh Desai <sangramsinh.desai@t-systems.com>
Signed-off-by: sangramsinh.desai@t-systems.com <sangramsinh.desai@t-systems.com>
2021-09-02 21:41:15 +00:00
sangramsinh.desai@t-systems.com 469f18568b mimetype condition merged
Signed-off-by: Sangramsinh Desai <sangramsinh.desai@t-systems.com>
Signed-off-by: sangramsinh.desai@t-systems.com <sangramsinh.desai@t-systems.com>
2021-09-02 21:41:15 +00:00
Sangramsinh Desai 792950268a Guest view download button seperated for image
Signed-off-by: Sangramsinh Desai <sangramsinh.desai@t-systems.com>
Signed-off-by: sangramsinh.desai@t-systems.com <sangramsinh.desai@t-systems.com>
2021-09-02 21:41:15 +00:00
Sangramsinh Desai e1aa27c265 Guest view download button seperated for video
Signed-off-by: Sangramsinh Desai <sangramsinh.desai@t-systems.com>
Signed-off-by: sangramsinh.desai@t-systems.com <sangramsinh.desai@t-systems.com>
2021-09-02 21:41:15 +00:00
Nextcloud bot e66a96c3dd [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-09-02 02:27:24 +00:00
Louis a5c1bb06e4 Merge pull request #28685 from nextcloud/backport/28682/stable22
[stable22] NMC-464 Highlight the search term on no results
2021-09-01 16:05:37 +02:00
kavita.sonawane@t-systems.com 429d8082dd Search function strong tag for user input
Signed-off-by: Kavita Sonawane <kavita.sonawane@t-systems.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2021-09-01 11:38:10 +00:00
Maxime Besson d99a72b801 fix(proxy): use accessor
Signed-off-by: Maxime Besson <maxime.besson@worteks.com>
2021-09-01 08:23:18 +00:00
Maxime Besson 956bccc1c0 fix(proxy): reaching s3 storage behind some http proxy
Signed-off-by: Maxime Besson <maxime.besson@worteks.com>
2021-09-01 08:23:18 +00:00
Samuel 4c9e7e2d39 fix(proxy): reaching s3 storage behind some http proxy
Signed-off-by: Maxime Besson <maxime.besson@worteks.com>
2021-09-01 08:23:18 +00:00
MichaIng a022cf8f5d Merge pull request #28658 from nextcloud/backport/28332/stable22
[stable22] Only recommand for php-sodium on >= PHP 7.4
2021-08-31 11:57:38 +02:00
Carl Schwan 320a9478fe Only recommand for php-sodium on >= PHP 7.4
This is because php-sodium will solve the missing PASSWORD_ARGON2I
constant problem only on >= php 7.4, previously argon2 wasn't part of
the standard extension and was disabled on Centos/RHEL.

So installing php-sodium on php 7.2 for example wouldn't hide the
message. Tested on Fedora with php 7.4, Centos 7 with php 7.2,
Centos 8 with php 7.2 and openSUSE with php 7.4.

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2021-08-31 07:22:17 +00:00
Nextcloud bot 7b5c9edd06 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-08-31 02:26:58 +00:00
Nextcloud bot 10ff8e39a5 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-08-30 02:27:15 +00:00
Nextcloud bot 1edc24ef26 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-08-29 02:27:20 +00:00
Nextcloud bot a28b68bc9f [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-08-28 02:53:37 +00:00
Vincent Petry 389123ac3c Merge pull request #28603 from nextcloud/backport/28373/stable22
[stable22] Fix encrypted version to 0 when finding unencrypted file
2021-08-27 08:12:59 +02:00
Nextcloud bot 35d0d36bad [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-08-27 02:26:29 +00:00
Julius Härtl 5a022f797f Merge pull request #28594 from nextcloud/backport/28459/stable22
[stable22] Allow to open any app in a standalone window
2021-08-26 22:15:25 +02:00
blizzz 1eea64f2c3 Merge pull request #28606 from nextcloud/release/22.1.1-final
22.1.1
2021-08-26 15:21:22 +02:00
Louis cfe553e28a Merge pull request #28596 from nextcloud/backport/28262/stable22
[stable22] Fix setting up 2FA providers when 2FA is enforced and bc are generated
2021-08-26 14:20:09 +02:00
Vincent Petry eada9eaace Unregister enc stream wrapper for any exception
This prevents side effects in tests by properly cleaning up
even with expected exceptions.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-08-26 14:17:12 +02:00
Vincent Petry e019b0d329 Fix encrypted version to 0 when finding unencrypted file
Whenever the command is run and a "legacy cipher" seems to be detected
when the legacy option is disabled, it's highly likely that the file is
actually unencrypted but the database contains a encrypted version
higher than 0 for some reason.

The command now detects this case and automatically sets the encrypted
version to 0 so that the file can be read again.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-08-26 14:17:01 +02:00
Arthur Schiwon 2f880f5bcf 22.1.1
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-08-26 13:05:47 +02:00
Christoph Wurst 0629b58382 Fix setting up 2FA providers when 2FA is enforced and bc are generated
When a user has backup codes generated and got their 2FA enforced then
they should be able to set up TOTP and similar providers during the
login.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-08-25 12:39:11 +00:00
Lukas Reschke 34b5d979ff Merge pull request #28583 from nextcloud/backport/28566/stable22
[stable22] use getGetUnjailedRoot to determine if jailed search needs the path filter
2021-08-25 13:21:41 +02:00
szaimen caa9a9dbb5 improve webmanifest
Signed-off-by: szaimen <szaimen@e.mail.de>
2021-08-25 10:23:30 +00:00
Vincent Petry 2a928d46d4 Merge pull request #28573 from nextcloud/backport/28476/stable22
[stable22] use case insensitive like when limiting search to jail
2021-08-25 09:31:58 +02:00
Pytal c7b6e73fe4 Merge pull request #28576 from nextcloud/backport/28574/stable22
[stable22] Log exception message during failed ownership transfer share restore
2021-08-24 17:57:40 -07:00
blizzz 211e14859a Merge pull request #28590 from nextcloud/release/22.1.1-rc2
22.1.1-rc2
2021-08-24 23:34:29 +02:00
Arthur Schiwon 39c73581c1 22.1.1-rc2
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-08-24 23:15:05 +02:00
Robin Appelman 9e5440abc3 use getGetUnjailedRoot to determine if jailed search needs the path filter
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-08-24 12:52:27 +00:00
Christoph Wurst 7f897606e4 Log exception message during failed ownership transfer share restore
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-08-24 09:58:36 +00:00
Robin Appelman 5444db1ebf use case insensitive like when limiting search to jail
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-08-24 07:02:22 +00:00
Nextcloud bot 09921e94f4 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-08-24 02:26:21 +00:00
Julius Härtl f94ec1f80c Merge pull request #28568 from nextcloud/fix/stable22-failing-user-controller-tests
[stable22] fix UserController tests
2021-08-23 22:16:23 +02:00
Julien Veyssier 6d2430701c fix UserController tests failing because of max_quota app value not provided by mocks
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
2021-08-23 19:00:59 +02:00
Pytal d84eed7fb0 Merge pull request #28256 from nextcloud/enh/21045/stable22-quota-restrictions
[stable22] Add quota restrictions options
2021-08-23 09:29:20 -07:00
Louis 2ce0a190b4 Merge pull request #28553 from nextcloud/dependabot/npm_and_yarn/stable22/webdav-4.6.1
Bump webdav from 4.6.0 to 4.6.1
2021-08-23 10:02:49 +02:00
dependabot[bot] 687d0abfc5 Bump webdav from 4.6.0 to 4.6.1
Bumps [webdav](https://github.com/perry-mitchell/webdav-client) from 4.6.0 to 4.6.1.
- [Release notes](https://github.com/perry-mitchell/webdav-client/releases)
- [Changelog](https://github.com/perry-mitchell/webdav-client/blob/master/CHANGELOG.md)
- [Commits](https://github.com/perry-mitchell/webdav-client/compare/v4.6.0...v4.6.1)

---
updated-dependencies:
- dependency-name: webdav
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-23 09:17:14 +02:00
Nextcloud bot 025e057f9d [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-08-22 02:26:01 +00:00
MichaIng 664a95eb75 Merge pull request #28534 from nextcloud/backport/28185/stable22
[stable22]   Fix folder size contained in S3 buckets
2021-08-21 02:13:30 +02:00
Pytal 648ae408e9 Merge pull request #28545 from nextcloud/backport/28532/stable22
[stable22] Do not load versions tab view if the files app is not available
2021-08-20 13:56:49 -07:00
Julius Härtl 1d7e8ca0c3 Do not load versions tab view if the files app is not available
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-08-20 17:10:01 +00:00
kesselb cd9ee1653b Merge pull request #28536 from nextcloud/backport/28452/stable22
[stable22] Set alias for result of cast column function
2021-08-20 18:28:17 +02:00
Daniel Kesselberg bd30d97857 Set alias for result of cast column function
On OCI an expression like to_char(events) end up as $row['to_char(events)'] in the query result.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2021-08-20 13:40:43 +00:00
Louis Chemineau 951aa784b0 Fix folder size contained in S3 buckets
If 'filesystem_check_changes' was set to never, the cached size was alway set to -1 (Pending) on every access

Signed-off-by: Louis Chemineau <louis@chmn.me>
2021-08-20 13:35:22 +00:00
Mátyás Jani df269272cf Fix SQL type error
Fixing the following SQL error encountered with PostgreSQL:

    SQLSTATE[42883]: Undefined function: 7 ERROR:
    No operator matches the given name and argument types. You might need to add explicit type casts.

This prevented the Nextcloud apps/files page to show the files and directories. See #27881
2021-08-20 10:43:29 +00:00
Louis 8be50456e5 Merge pull request #28518 from nextcloud/backport/28512/sable22
[stable22] Output exception in cron
2021-08-20 09:53:07 +02:00
Nextcloud bot e0d632c342 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-08-20 02:26:29 +00:00
Christopher Ng e3be5d49d3 refs #21045 add app config to disable unlimited quota and to set max quota
avoid unlimited quota as default_quota fallback value if unlimited quota is not allowed
avoid getting/setting/displaying unlimited default quota if not allowed
implement tests for unlimited quota restrictions

Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
Signed-off-by: Christopher Ng <chrng8@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2021-08-20 00:52:42 +00:00
John Molakvoæ d73de679a8 Merge pull request #28522 from nextcloud/backport/28504/stable22 2021-08-19 23:27:33 +02:00
kesselb 3a6145becf Merge pull request #28231 from nextcloud/backport/28210/stable22
[stable22] Allow to disable group membership change notification
2021-08-19 22:03:21 +02:00
blizzz 5d4ad75e53 Merge pull request #28514 from nextcloud/release/22.1.1-rc1
22.1.1 RC1
2021-08-19 20:23:26 +02:00
John Molakvoæ (skjnldsv) 945b9288c6 Properly log errors in Movie previews generation
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-08-19 18:02:27 +00:00
Louis Chemineau 2dc669c2ae Output exception in cron
Signed-off-by: Louis Chemineau <louis@chmn.me>
2021-08-19 15:31:52 +02:00
John Molakvoæ (skjnldsv) 10c3974ff7 22.1.1 RC1
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-08-19 15:22:23 +02:00
Marco Ambrosini 1829b5d9c4 Allow to disable group change notification
Signed-off-by: Marco Ambrosini <marcoambrosini@pm.me>
2021-08-19 12:48:47 +00:00
John Molakvoæ f7d5bb5cb1 Merge pull request #28499 from nextcloud/backport/28485/stable22 2021-08-19 14:48:01 +02:00
John Molakvoæ cae51a0a25 Merge pull request #28454 from nextcloud/backport/28303/stable22 2021-08-19 14:47:36 +02:00
John Molakvoæ e2a4dc818c Merge pull request #28209 from nextcloud/backport/27751/stable22 2021-08-19 14:46:01 +02:00
John Molakvoæ 2663b10e49 Merge pull request #27993 from goyome/goyome-stable22-group-shares-limit 2021-08-19 14:44:56 +02:00
Nextcloud bot c485aad988 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-08-19 02:25:59 +00:00
Pytal f3f1c826be Merge pull request #28494 from nextcloud/backport/28481/stable22
[stable22] Hash cache key
2021-08-18 12:48:24 -07:00
Simon Spannagel cb49f19385 Fix #20913: Check image resource before attempting to preserve alpha
Signed-off-by: Simon Spannagel <simonspa@kth.se>
2021-08-18 15:42:52 +00:00
Julius Härtl e1d9a45c6d Merge pull request #28479 from nextcloud/backport/28461/stable22 2021-08-18 17:35:18 +02:00
Julius Härtl 67cbb0318d Merge pull request #28489 from nextcloud/backport/28413/stable22
[stable22] Emit an error log when the app token login name does not match
2021-08-18 16:35:34 +02:00
Christopher Ng 79b5421425 Hash cache key
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2021-08-18 13:21:22 +00:00
Christoph Wurst 461e9079b9 Emit an error log when the app token login name does not match
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-08-18 12:11:12 +00:00
Nextcloud bot 7879484950 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-08-18 02:26:09 +00:00
nextcloud-command d89b462351 Compile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2021-08-17 13:41:44 +00:00
Louis 94e5dcd90e Merge pull request #28470 from nextcloud/backport/28464/stable22
[stable22] Only trap E_ERROR in session handling
2021-08-17 15:29:48 +02:00
Christopher Ng 26d1ac1f1f Autofocus only additional email inputs
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit f7dee7152a)
2021-08-17 13:27:52 +00:00
Julius Härtl 34ba91e141 Only trap E_ERROR in session handling
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-08-17 10:12:56 +00:00
Nextcloud bot f605e1dabf [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-08-17 02:27:19 +00:00
Jonas Meurer 55fcffd11a Use IURLGenerator function to get value of \OC::$WEBROOT global
Signed-off-by: Jonas Meurer <jonas@freesources.org>
2021-08-16 13:12:00 +00:00
Jonas Meurer 57e20ed566 UnifiedSearchController: strip webroot from URL before finding a route
This should fix route matching in UnifiedSearchController on setups with
Nextcloud in a subfolder (webroot).

Fixes: #24144
Signed-off-by: Jonas Meurer <jonas@freesources.org>
2021-08-16 13:11:59 +00:00
Louis e9fc8e1dcb Merge pull request #28446 from nextcloud/backport/28211/stable22
[stable22] Improve auto expiration hint for trashbin and file versions
2021-08-16 13:19:27 +02:00
blizzz f97915101e Merge pull request #28441 from nextcloud/fix/composer-2-missing-files-stable22
[stable22] Add missing files for Composer v2
2021-08-16 12:23:30 +02:00
szaimen 73a52b2565 Improve auto expiration hint
Signed-off-by: szaimen <szaimen@e.mail.de>
Co-Authored-By: Pytal <24800714+Pytal@users.noreply.github.com>
2021-08-16 10:18:59 +00:00
Julius Härtl 7fb8b50cf9 Merge pull request #28416 from nextcloud/backport/28062/stable22
[stable22] Gracefully handle smb acls for users without a domain
2021-08-16 11:57:14 +02:00
Christoph Wurst 4566423e85 Add missing files for Composer v2
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-08-16 08:25:35 +02:00
Nextcloud bot fb5ee6087b [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-08-16 02:26:29 +00:00
Nextcloud bot 51bfaf9faa [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-08-15 02:26:14 +00:00
Nextcloud bot 1415a7ee92 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-08-14 02:26:51 +00:00
Christoph Wurst 54192ed459 Merge pull request #28384 from nextcloud/backport/28318/stable22
[stable22] Make "name" column nullable for workflows
2021-08-13 13:59:39 +02:00
Richard Steinmetz fdd5bc8560 Gracefully handle smb acls for users without a domain
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2021-08-13 08:45:50 +00:00
Nextcloud bot a822e88d24 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-08-13 02:26:45 +00:00
Vincent Petry 0a184a3201 Make "name" column nullable in workflow operations
The "name" column is now unused and the code is always inserting an
empty string. While this works with most databases, Oracle complains
because an empty string is equivalent to null.

To fix this, the column definition is changed to allow null values now.

Also added some logging in case of database exceptions, because without
this nothing would be logged to detect the above problem.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-08-12 13:56:26 +02:00
Nextcloud bot 5ce9276230 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-08-12 02:27:30 +00:00
Julius Härtl 0b44a82ace Merge pull request #28359 from nextcloud/backport/28220/stable22
[stable22] fix Folder->getById() when a single storage is mounted multiple times
2021-08-11 08:59:19 +02:00
Nextcloud bot 02d3de6aef [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-08-11 02:26:52 +00:00
Vincent Petry f60ea8a260 Fix remote share deletion when deleting user
When deleting a user, we should only delete the direct remote user
shares or the remote group based subshares.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-08-10 13:37:37 +02:00
Vincent Petry a22ea02bea Fix route path for pending remote shares
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-08-10 13:37:31 +02:00
Vincent Petry 33b01187cd Replace ILogger with LoggerInterface in remote share manager
Signed-off-by: Vincent Petry <vincent@nextcloud.com>

Co-authored-by: Carl Schwan <carl@carlschwan.eu>
2021-08-10 13:27:59 +02:00
Vincent Petry 2e76d98e13 Fix remote group share decline+accept code path
When declining a remote group share through the dialog that appears when
notifications are off, the mount point is now correctly saved when
re-accepting.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-08-10 13:27:59 +02:00
Vincent Petry 5b111961ae Use mimetype instead of type when defaulting in remote shares
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-08-10 13:27:59 +02:00
Vincent Petry df0ca2f1db Fix external share manager with multiple user groups
Use query builder with proper matching for finding the group names.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-08-10 13:27:59 +02:00
Vincent Petry 701de23857 Fix remote group share API interactions
Accepting and declining can now be done repeatedly on both the parent
group share and sub-share with the same effects.

Added unit tests to cover these cases, and also when the same operation
is repeated.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-08-10 13:27:58 +02:00
Vincent Petry dde4c9d9df Disable default actions in pending file list
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-08-10 13:27:58 +02:00
Vincent Petry 9c0e1d8252 Pending remote group share fixes
Only remove reject share for remote group shares
Also fix share indicator to appear for remote group shares as well.
Fix pending remote share icon to be the one of a share.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-08-10 13:27:58 +02:00
Vincent Petry 37a65237ea Fix re-accepting or re-rejecting remote group shares
When accepting a group share, a sub-share entry is created which also
has a different id.

When accepting or rejecting the sub-share, simply update the "accepted"
flag instead of trying to re-insert the entry.

Adjust getShare to also properly validate group share membership
when called on a sub-share id.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-08-10 13:27:58 +02:00
Vincent Petry 4d0f0095ea Add logging to external shares manager
Instead of just returning false, also log the exception to make
debugging database issues easier.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-08-10 13:27:58 +02:00
Vincent Petry 13781b0425 Remove "Reject share" for pending remote shares
In the list of pending shares, the option for rejecting the share has
been removed.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-08-10 13:27:57 +02:00
Vincent Petry 08ab5d97da Fix received federated group shares
Fix pending shares endpoint to consider user-specific sub-entries
for group shares whenever a share was accepted or declined.

Added unit test for adding remote group shares.

Fixed "removeUserShares" to not send a remote request as we never send
remote requests for group shares.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-08-10 13:27:57 +02:00
Vincent Petry df835ed350 Extend pending shares list to include remote shares
And adjust the accept/decline actions to use the right endpoint for
remote shares.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-08-10 13:27:53 +02:00
Nextcloud bot 5bd4ed19d4 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-08-10 02:31:55 +00:00
Robin Appelman 8a6e3e6aca fix Folder->getById() when a single storage is mounted multiple times
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-08-09 17:29:40 +00:00
szaimen 876545502c Merge pull request #28353 from nextcloud/backport/28352/stable22
[stable22] Change the concurrent upload limit to less than 10
2021-08-09 18:02:09 +02:00
szaimen 6acf1a5493 Change the concurrent upload limit to less than 10
Signed-off-by: szaimen <szaimen@e.mail.de>
2021-08-09 08:33:53 +00:00
Nextcloud bot faef6db11a [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-08-09 02:26:58 +00:00
dependabot[bot] eceee99081 Merge pull request #28342 from nextcloud/dependabot/npm_and_yarn/stable22/vue-loader-15.9.8 2021-08-08 08:39:58 +00:00
dependabot[bot] 59e6c25660 Bump vue-loader from 15.9.7 to 15.9.8
Bumps [vue-loader](https://github.com/vuejs/vue-loader) from 15.9.7 to 15.9.8.
- [Release notes](https://github.com/vuejs/vue-loader/releases)
- [Changelog](https://github.com/vuejs/vue-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue-loader/compare/v15.9.7...v15.9.8)

---
updated-dependencies:
- dependency-name: vue-loader
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-08 08:07:04 +00:00
Nextcloud bot 1f4886d891 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-08-08 02:21:52 +00:00
dependabot[bot] 6f57b3bc79 Merge pull request #28340 from nextcloud/dependabot/npm_and_yarn/stable22/dompurify-2.2.9 2021-08-08 00:26:12 +00:00
dependabot[bot] 164d5a296b Bump dompurify from 2.2.8 to 2.2.9
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 2.2.8 to 2.2.9.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/2.2.8...2.2.9)

---
updated-dependencies:
- dependency-name: dompurify
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2021-08-07 23:51:24 +00:00
dependabot[bot] a58eafb53f Merge pull request #28341 from nextcloud/dependabot/npm_and_yarn/stable22/babel/preset-env-7.14.9 2021-08-07 04:41:51 +00:00
dependabot[bot] 0af0874442 Bump @babel/preset-env from 7.14.8 to 7.14.9
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.14.8 to 7.14.9.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.14.9/packages/babel-preset-env)

---
updated-dependencies:
- dependency-name: "@babel/preset-env"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-07 02:53:06 +00:00
Nextcloud bot 9da252811c [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-08-07 02:27:36 +00:00
Nextcloud bot 9a95bb4f89 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-08-06 02:27:07 +00:00
John Molakvoæ f9dfb535ef Merge pull request #28271 from nextcloud/dependabot/npm_and_yarn/stable22/marked-2.0.7 2021-08-05 14:30:00 +02:00
dependabot[bot] ae3c49d375 Bump marked from 2.0.6 to 2.0.7
Bumps [marked](https://github.com/markedjs/marked) from 2.0.6 to 2.0.7.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Changelog](https://github.com/markedjs/marked/blob/master/release.config.js)
- [Commits](https://github.com/markedjs/marked/compare/v2.0.6...v2.0.7)

---
updated-dependencies:
- dependency-name: marked
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
2021-08-05 10:16:08 +00:00
Julius Härtl 127d8e65a4 Merge pull request #28288 from nextcloud/backport/28259/stable22
[stable22] Check that php was compiled with argon2 support or that the php-sodium extensions is installed
2021-08-05 10:25:10 +02:00
Nextcloud bot f030a16333 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-08-05 02:27:20 +00:00
John Molakvoæ 3290c53d6a Merge pull request #28252 from nextcloud/backport/28240/stable22
[stable22] Add h2 to personal info page, fixing accessibility issue
2021-08-04 09:53:51 +02:00
John Molakvoæ aec771763c Merge pull request #28274 from nextcloud/backport/28202/stable22 2021-08-04 08:12:15 +02:00
John Molakvoæ 525ff78aab Merge pull request #28304 from nextcloud/bugfix/22.1-upgrade 2021-08-04 07:40:58 +02:00
Nextcloud bot 2a4b5752de [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-08-04 02:26:47 +00:00
Christopher Ng 6da7f78ec2 Build
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2021-08-04 00:22:57 +00:00
Christopher Ng fc9066efb2 Remove chunkhash
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 63c3b9a4cc)
2021-08-04 00:10:18 +00:00
Julius Härtl e0ab00e5f1 Allow upgrade from 22.1
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-08-03 22:03:51 +02:00
John Molakvoæ a45d94af7b Merge pull request #28298 from nextcloud/version/22.1.0/Final
22.1.0
2021-08-03 16:36:07 +02:00
John Molakvoæ (skjnldsv) 192858a79b 22.1.0
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-08-03 08:44:58 +02:00
Nextcloud bot 3f3206149e [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-08-03 02:26:24 +00:00
Louis 972f678316 Merge pull request #28215 from nextcloud/backport/28174/stable22
[stable22] Set openfile params when following internal links
2021-08-02 18:37:58 +02:00
Louis 8c13c5a5be Fix typo
Co-authored-by: Pytal <24800714+Pytal@users.noreply.github.com>
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2021-08-02 18:05:13 +02:00
Louis Chemineau 7f044655ed Set openfile params when following internal links
Signed-off-by: Louis Chemineau <louis@chmn.me>
2021-08-02 18:05:13 +02:00
Carl Schwan 94466918e3 Check that php was compiled with argon2 support or that the php-sodium
extensions is installed

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2021-08-02 09:19:09 +00:00
Nextcloud bot e02dde323d [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-08-02 07:56:43 +00:00
Nextcloud bot 7c7dc50ceb [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-08-02 07:35:34 +00:00
dependabot[bot] 4932396052 Merge pull request #28269 from nextcloud/dependabot/composer/build/integration/stable22/guzzlehttp/guzzle-6.5.5 2021-08-01 18:32:48 +00:00
dependabot[bot] 3c494c4031 Update guzzlehttp/guzzle requirement in /build/integration
Updates the requirements on [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) to permit the latest version.
- [Release notes](https://github.com/guzzle/guzzle/releases)
- [Changelog](https://github.com/guzzle/guzzle/blob/6.5.5/CHANGELOG.md)
- [Commits](https://github.com/guzzle/guzzle/compare/6.5.2...6.5.5)

---
updated-dependencies:
- dependency-name: guzzlehttp/guzzle
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-01 18:00:23 +00:00
dependabot[bot] b285f18595 Merge pull request #28270 from nextcloud/dependabot/npm_and_yarn/stable22/css-loader-5.2.7 2021-08-01 16:31:48 +00:00
dependabot[bot] 78a5ece3d9 Bump css-loader from 5.2.6 to 5.2.7
Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 5.2.6 to 5.2.7.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases)
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v5.2.6...v5.2.7)

---
updated-dependencies:
- dependency-name: css-loader
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
2021-08-01 17:58:01 +02:00
dependabot[bot] f3e7212bea Merge pull request #28272 from nextcloud/dependabot/npm_and_yarn/stable22/css-vars-ponyfill-2.4.6 2021-08-01 08:45:05 +00:00
dependabot[bot] b81db1aa1c Bump css-vars-ponyfill from 2.4.5 to 2.4.6
Bumps [css-vars-ponyfill](https://github.com/jhildenbiddle/css-vars-ponyfill) from 2.4.5 to 2.4.6.
- [Release notes](https://github.com/jhildenbiddle/css-vars-ponyfill/releases)
- [Changelog](https://github.com/jhildenbiddle/css-vars-ponyfill/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jhildenbiddle/css-vars-ponyfill/compare/v2.4.5...v2.4.6)

---
updated-dependencies:
- dependency-name: css-vars-ponyfill
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
2021-08-01 08:13:22 +00:00
dependabot[bot] d6641f639d Merge pull request #28273 from nextcloud/dependabot/npm_and_yarn/stable22/regenerator-runtime-0.13.9 2021-07-31 15:18:35 +00:00
dependabot[bot] c3670c9d86 Bump regenerator-runtime from 0.13.7 to 0.13.9
Bumps [regenerator-runtime](https://github.com/facebook/regenerator) from 0.13.7 to 0.13.9.
- [Release notes](https://github.com/facebook/regenerator/releases)
- [Commits](https://github.com/facebook/regenerator/compare/regenerator-runtime@0.13.7...regenerator-runtime@0.13.9)

---
updated-dependencies:
- dependency-name: regenerator-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
2021-07-31 16:44:15 +02:00
marco 6282aca622 Merge pull request #28244 from nextcloud/backport/28238/stable22
[stable22] Fix missing label of Search function
2021-07-30 12:13:09 +02:00
Julien Veyssier f0ca1f7173 Merge pull request #28247 from nextcloud/backport/28242/stable22
[stable22] Add missing order attribute to tag multiselect action
2021-07-30 10:44:36 +02:00
Jan C. Borchardt afbcdb4fa0 Add h2 to personal info page, fixing accessibility issue
Signed-off-by: Jan C. Borchardt <hey@jancborchardt.net>
2021-07-30 06:13:37 +00:00
Jan C. Borchardt cba61e955c Fix missing label and accessibility of Search function
Signed-off-by: Jan C. Borchardt <hey@jancborchardt.net>
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
2021-07-30 06:04:38 +00:00
Julien Veyssier e3cf80aba4 add missing order attribute to tag multiselect action
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
2021-07-29 19:41:59 +00:00
Vincent Petry b7da9efbd3 Merge pull request #28228 from nextcloud/backport/28175/stable22
[stable22] dont apply jail search filter is on the root
2021-07-29 14:15:23 +02:00
Louis 9452553842 Merge pull request #28193 from nextcloud/backport/28173/stable22
[stable22] Fix variable override in file view
2021-07-29 11:55:42 +02:00
Louis Chemineau 79526af7a5 Fix variabable override in file view
Signed-off-by: Louis Chemineau <louis@chmn.me>
2021-07-29 08:08:52 +00:00
Robin Appelman 69e650d4b0 add test for searching within a "root jail"
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-07-29 07:30:22 +00:00
Robin Appelman 1534b24e38 dont apply jail search filter is on the root
the extra '/' breaks things and the filter wouldn't do anything anyway except making the databases job harder

Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-07-29 07:30:21 +00:00
John Molakvoæ 0feea35823 Merge pull request #28161 from nextcloud/version/22.1.0/RC1
22.1.0 RC1
2021-07-29 08:42:58 +02:00
dependabot[bot] 98b14028b5 Merge pull request #27659 from nextcloud/dependabot/npm_and_yarn/stable22/vue-router-3.5.2 2021-07-28 20:33:42 +00:00
dependabot[bot] dc0dbcf437 Bump vue-router from 3.5.1 to 3.5.2
Bumps [vue-router](https://github.com/vuejs/vue-router) from 3.5.1 to 3.5.2.
- [Release notes](https://github.com/vuejs/vue-router/releases)
- [Changelog](https://github.com/vuejs/vue-router/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue-router/compare/v3.5.1...v3.5.2)

---
updated-dependencies:
- dependency-name: vue-router
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
2021-07-28 19:43:55 +00:00
MichaIng 918c75c84b Merge pull request #28222 from nextcloud/backport/27920/stable22
[stable22] Fix Files breadcrumbs being hidden even if there is enough space
2021-07-28 21:08:52 +02:00
Julien Veyssier bd1217ff58 refs #21263 round numbers when checking if breadcrumbs should be hidden
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
2021-07-28 16:48:17 +00:00
John Molakvoæ (skjnldsv) 68905056dc 22.1.0 RC1
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-07-27 19:18:47 +00:00
John Molakvoæ 2585ae80cf Merge pull request #28181 from nextcloud/dependabot/npm_and_yarn/stable22/autosize-4.0.4 2021-07-27 21:11:42 +02:00
Christopher Ng 2e9d5ce5c6 Build
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2021-07-27 18:36:14 +00:00
Pytal 3be3a3ec87 Merge pull request #28197 from nextcloud/backport/27893/stable22
[stable22] Fix comments file action sidebar opening
2021-07-27 09:41:26 -07:00
Julien Veyssier 8550418872 fix jsunit tests for comments
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
2021-07-27 15:22:16 +00:00
Julien Veyssier 6fe61cc8b3 fix comments file action sidebar opening
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
2021-07-27 15:07:44 +00:00
John Molakvoæ 837c08892b Add files via upload 2021-07-27 12:00:30 +02:00
dependabot[bot] 46135e018a Bump autosize from 4.0.2 to 4.0.4
Bumps [autosize](https://github.com/jackmoore/autosize) from 4.0.2 to 4.0.4.
- [Release notes](https://github.com/jackmoore/autosize/releases)
- [Changelog](https://github.com/jackmoore/autosize/blob/master/changelog.md)
- [Commits](https://github.com/jackmoore/autosize/compare/4.0.2...4.0.4)

---
updated-dependencies:
- dependency-name: autosize
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-27 06:22:18 +00:00
John Molakvoæ ff10807f37 Merge pull request #27658 from nextcloud/dependabot/npm_and_yarn/stable22/vue-and-vue-template-compiler-2.6.14 2021-07-27 07:33:53 +02:00
Pytal b91ea46fce Merge pull request #28179 from nextcloud/dependabot/npm_and_yarn/stable22/sass-1.35.2
Bump sass from 1.35.1 to 1.35.2
2021-07-26 15:21:58 -07:00
Pytal 5681de67fc Merge pull request #28149 from nextcloud/dependabot/npm_and_yarn/stable22/css-vars-ponyfill-2.4.5
Bump css-vars-ponyfill from 2.4.3 to 2.4.5
2021-07-26 15:15:06 -07:00
npmbuildbot-nextcloud[bot] 83e84f3aa3 Compile assets
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
2021-07-26 21:18:23 +00:00
npmbuildbot-nextcloud[bot] 6628c2c6ca Compile assets
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
2021-07-26 22:58:52 +02:00
dependabot[bot] 3879860177 Bump css-vars-ponyfill from 2.4.3 to 2.4.5
Bumps [css-vars-ponyfill](https://github.com/jhildenbiddle/css-vars-ponyfill) from 2.4.3 to 2.4.5.
- [Release notes](https://github.com/jhildenbiddle/css-vars-ponyfill/releases)
- [Changelog](https://github.com/jhildenbiddle/css-vars-ponyfill/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jhildenbiddle/css-vars-ponyfill/compare/v2.4.3...v2.4.5)

---
updated-dependencies:
- dependency-name: css-vars-ponyfill
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-26 20:12:52 +00:00
dependabot[bot] 4eae0f7a0a Bump sass from 1.35.1 to 1.35.2
Bumps [sass](https://github.com/sass/dart-sass) from 1.35.1 to 1.35.2.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.35.1...1.35.2)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-26 20:11:48 +00:00
dependabot[bot] 269e436857 Bump vue and vue-template-compiler
Bumps [vue](https://github.com/vuejs/vue) and [vue-template-compiler](https://github.com/vuejs/vue). These dependencies needed to be updated together.

Updates `vue` from 2.6.12 to 2.6.14
- [Release notes](https://github.com/vuejs/vue/releases)
- [Commits](https://github.com/vuejs/vue/compare/v2.6.12...v2.6.14)

Updates `vue-template-compiler` from 2.6.12 to 2.6.14
- [Release notes](https://github.com/vuejs/vue/releases)
- [Commits](https://github.com/vuejs/vue/compare/v2.6.12...v2.6.14)

---
updated-dependencies:
- dependency-name: vue
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: vue-template-compiler
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
2021-07-26 20:10:07 +00:00
John Molakvoæ dc8b42eec4 Merge pull request #28177 from nextcloud/dependabot/npm_and_yarn/stable22/babel/preset-env-7.14.8 2021-07-26 21:58:46 +02:00
szaimen 68015b6680 Merge pull request #28170 from nextcloud/backport/28166/stable22
[stable22] User management - Add icon to user groups
2021-07-26 21:39:05 +02:00
szaimen 0ce687fd33 User management - Add icon to user groups
Signed-off-by: szaimen <szaimen@e.mail.de>
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
2021-07-26 20:53:31 +02:00
John Molakvoæ 185812ed48 Merge pull request #28167 from nextcloud/backport/28075/stable22
[stable22] Admin Audit - Sharing: createShare - report the full path
2021-07-26 20:38:58 +02:00
dependabot[bot] 7e96f06c59 Bump @babel/preset-env from 7.14.7 to 7.14.8
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.14.7 to 7.14.8.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.14.8/packages/babel-preset-env)

---
updated-dependencies:
- dependency-name: "@babel/preset-env"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-26 18:10:06 +00:00
Julien Veyssier 76e0481bd5 Merge pull request #28168 from nextcloud/backport/28164/stable22
[stable22] Fix sort function of files multiple selection actions
2021-07-26 16:56:08 +02:00
Julien Veyssier ed3f47b049 fix sort sort function of files multiple selection actions
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
2021-07-26 13:10:25 +00:00
szaimen 4721a82f92 Admin Audit - Sharing: createShare - report the full path
Signed-off-by: szaimen <szaimen@e.mail.de>
2021-07-26 11:29:41 +00:00
John Molakvoæ 11a252814e Merge pull request #28135 from nextcloud/backport/28133/stable22
[stable22] add an option to the multiple files selected actions to add and remov…
2021-07-26 07:59:09 +02:00
MichaIng c0f3fcd9a1 Merge pull request #28152 from nextcloud/backport/28084/stable22
[stable22] Make sure that the dav propfind plugins always use the proper user id
2021-07-25 17:37:32 +02:00
MichaIng 4c47cef75f Merge pull request #28126 from nextcloud/dependabot/npm_and_yarn/stable22/nextcloud/babel-config-1.0.0
Bump @nextcloud/babel-config from 1.0.0-beta.1 to 1.0.0
2021-07-25 17:29:25 +02:00
Julius Härtl eae6ab29ec Make sure that the dav propfind plugins always use the proper user id
For old android versions it could happen that the requests are performed
with a login name instead of the actual user id, so before this change
the property methods used the wrong value for fetching their information

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-07-24 09:47:41 +00:00
Roland Scheidel 377942d5ef add an option to the multiple files selected actions to add and remove tags from multiple files at once
Signed-off-by: Roland Scheidel <kontakt@scheidel.at>
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-07-23 16:28:23 +00:00
John Molakvoæ add5919175 Merge pull request #28131 from nextcloud/backport/28129/stable22
[stable22] Allow empty Redis config
2021-07-23 18:26:07 +02:00
Vincent Petry d5b38ed5f8 Allow empty Redis config
When Redis config is empty, use defaults.
However when a Redis cluster config is specified, the "seeds" attribute
is mandatory.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-07-23 12:30:41 +00:00
dependabot[bot] 59f56244c6 Bump @nextcloud/babel-config from 1.0.0-beta.1 to 1.0.0
Bumps [@nextcloud/babel-config](https://github.com/nextcloud/babel-config) from 1.0.0-beta.1 to 1.0.0.
- [Release notes](https://github.com/nextcloud/babel-config/releases)
- [Commits](https://github.com/nextcloud/babel-config/commits)

---
updated-dependencies:
- dependency-name: "@nextcloud/babel-config"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-23 06:33:49 +00:00
John Molakvoæ f19f9e1927 Merge pull request #28121 from nextcloud/dependabot/npm_and_yarn/stable22/babel/core-7.14.8 2021-07-23 08:31:59 +02:00
Christopher Ng a6d8b3bbc3 Build
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2021-07-22 22:40:24 +00:00
Julius Härtl 1343e0ce9a Merge pull request #28123 from nextcloud/backport/28122/stable22
[stable22] Let memory limit set in tests fit the used amount
2021-07-22 22:50:03 +02:00
Julius Härtl 16bc5a39da Let memory limit set in tests fit the used amount
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-07-22 16:41:44 +00:00
dependabot[bot] 24714324b8 Bump @babel/core from 7.14.3 to 7.14.8
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.14.3 to 7.14.8.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.14.8/packages/babel-core)

---
updated-dependencies:
- dependency-name: "@babel/core"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-22 15:02:47 +00:00
Julius Härtl a715b8da19 Merge pull request #28112 from nextcloud/backport/27888/stable22 2021-07-22 17:02:26 +02:00
Louis 622bb56f44 Merge pull request #28109 from nextcloud/backport/28101/stable22
[stable22] Fix dark theme in file exists dialog
2021-07-22 13:36:06 +02:00
szaimen bce33f231d Merge pull request #28016 from nextcloud/backport/27997/stable22
[stable22] Update CRL due to revoked twofactor_nextcloud_notification.crt
2021-07-22 13:03:47 +02:00
John Molakvoæ (skjnldsv) 8b17f317ee Properly support RedisCluster
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-07-22 10:52:13 +00:00
John Molakvoæ (skjnldsv) cc34255303 Move integration-php7.3 to latest
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-07-22 10:52:12 +00:00
John Molakvoæ (skjnldsv) 9d2cf57776 Support redis user password auth and tls encryption
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-07-22 10:52:12 +00:00
szaimen cf62f62e80 Fix dark theme in file exists dialog
Signed-off-by: szaimen <szaimen@e.mail.de>
2021-07-22 10:39:51 +00:00
John Molakvoæ 67675c80d6 Merge pull request #28089 from nextcloud/backport/28082/stable22
[stable22] Sanitize more functions from the encryption app
2021-07-22 08:44:25 +02:00
Lukas Reschke b1c3dacd51 Sanitize more functions from the encryption app
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2021-07-21 21:58:48 +02:00
Lukas Reschke 9305eaac55 Merge pull request #28085 from nextcloud/backport/28078/stable22
[stable22] Improve provider check
2021-07-21 21:45:43 +02:00
szaimen 79c10ff847 Merge pull request #28093 from nextcloud/backport/27674/stable22
[stable22] hide download button for public preview of audio files
2021-07-21 19:21:04 +02:00
Florian Storz c44e168c77 Remove trailing whitespace from comment
Signed-off-by: Florian Storz <florian.storz@devlix.de>
2021-07-21 15:57:33 +00:00
Florian Storz 9bb06118ab Add comment linking to PR
PR contains discussion about the implementation with pros and cons

Signed-off-by: Florian Storz <florian.storz@devlix.de>
2021-07-21 15:57:33 +00:00
Florian Storz 1cdf2a268b hide download button for public preview of audio files
When the option to hide downloads was selected at public link creation, the download button can be hidden by the audio html attribute controlsList="nodownload"

Signed-off-by: Florian Storz <florian.storz@devlix.de>
2021-07-21 15:57:33 +00:00
Lukas Reschke 9877075c47 Improve provider check
Check if there is a provider missing.

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2021-07-21 13:25:35 +00:00
Lukas Reschke 81e9495c51 Merge pull request #28079 from nextcloud/backport/28077/stable22
[stable22] Disable HEIC image preview provider for performance concerns
2021-07-21 12:30:11 +02:00
tobiasKaminsky 718cb09dc9 Disable HEIC image preview provider for performance concerns
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2021-07-21 08:31:31 +00:00
John Molakvoæ 359a33f91a Merge pull request #28071 from nextcloud/backport/28057/stable22 2021-07-21 10:08:07 +02:00
Pytal df9abad225 Merge pull request #28073 from nextcloud/backport/28015/stable22
[stable22] fix overlapping of elements in certain views
2021-07-20 21:24:26 -07:00
szaimen 89dd07f051 fix overlapping of elements in certain views
Signed-off-by: szaimen <szaimen@e.mail.de>
2021-07-20 21:08:23 +00:00
kesselb 3bd8bff7db Merge pull request #28053 from nextcloud/backport/28051/stable22
[stable22] Mask password for Redis and RedisCluster on connection failure
2021-07-20 22:57:08 +02:00
Christopher Ng 82017ff311 Build
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2021-07-20 19:49:03 +00:00
Christopher Ng 44fd0d15a7 Improve UX
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 07c6ed3df2)
2021-07-20 19:47:08 +00:00
Carl Schwan 9c13098d65 Merge pull request #28061 from nextcloud/backport/27950/stable22
[stable22] Fix missing theming for login button
2021-07-20 17:12:19 +02:00
Julius Härtl da157ea242 Merge pull request #28011 from nextcloud/backport/27995/stable22
[stable22] some multiselect design fixes
2021-07-20 13:14:58 +02:00
Carl Schwan 4de6ab39ea Fix missing theming for login button
Close #27495

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2021-07-20 10:32:43 +00:00
Daniel Kesselberg bdcf22eee7 Mask password for Redis and RedisCluster on connection failure
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2021-07-19 22:00:30 +00:00
szaimen e915d98fc6 Merge pull request #28047 from nextcloud/backport/28046/stable22
[stable22] Add titleTooltip to sidebar
2021-07-19 14:40:20 +02:00
szaimen 5a9a02ad1d Add titleTooltip to sidebar
Signed-off-by: szaimen <szaimen@e.mail.de>
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
2021-07-19 10:40:52 +00:00
Louis 424027b67f Merge pull request #28043 from nextcloud/backport/27994/stable22
[stable22] Increase footer height for longer menus
2021-07-19 11:37:59 +02:00
szaimen 45617f7b04 Increase footer padding for longer menus
Signed-off-by: szaimen <szaimen@e.mail.de>
Co-Authored-By: Julius Härtl <jus@bitgrid.net>
2021-07-19 08:46:51 +00:00
Julius Härtl 05d49b9a67 Merge pull request #28014 from nextcloud/backport/28004/stable22 2021-07-19 08:26:54 +02:00
Nextcloud bot 5aaad8db1b [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-07-19 02:25:29 +00:00
Nextcloud bot 0bbc64960e [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-07-18 02:25:41 +00:00
Nextcloud bot 9970740f6b [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-07-17 02:44:29 +00:00
Arthur Schiwon f8448323d7 Update CRL due to revoked twofactor_nextcloud_notification.crt
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-07-16 21:41:40 +00:00
Christopher Ng c8c2870191 Build
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2021-07-16 15:53:48 +00:00
Christopher Ng 0ff49820c8 Refine unsupported federation scope checks
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 74aa115125)
2021-07-16 15:50:55 +00:00
szaimen 33f231c5ae some multiselect design fixes
Signed-off-by: szaimen <szaimen@e.mail.de>
2021-07-16 16:32:42 +02:00
szaimen be1444576d Merge pull request #28008 from nextcloud/backport/27980/stable22
[stable22] Improve notcreatable permissions hint
2021-07-16 12:31:44 +02:00
John Molakvoæ 0263eea033 Merge pull request #28001 from nextcloud/backport/27379/stable22 2021-07-16 11:45:08 +02:00
szaimen ac3ffa7d7a Improve notcreatable permissions hint
Signed-off-by: szaimen <szaimen@e.mail.de>
2021-07-16 09:02:45 +00:00
John Molakvoæ d878c68495 Merge pull request #27974 from nextcloud/backport/27973/stable22
[stable22] Fix regression in file sidebar
2021-07-16 09:14:09 +02:00
Nextcloud bot a2c02455d0 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-07-16 02:26:40 +00:00
Christopher Ng 66f07cf203 Build
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2021-07-16 00:13:21 +00:00
Christopher Ng efefffa4cd Refine UX for primary email deletion
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit d8ede941a3aeff8198b695238c8751f92fcd4afd)
2021-07-16 00:11:18 +00:00
Christopher Ng f0c78d45a9 Make emails Vuetiful
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit e01d63d626cd26cf43eb58d9d55a33df12e3e682)
2021-07-16 00:11:13 +00:00
Christopher Ng 84d1398298 Create personal info service
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 5d5ed6ec8eb0003991e8e65dc0280a36867d6f6b)
2021-07-16 00:11:08 +00:00
Christopher Ng a130d113c8 Provide initial state
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 94e469f6caa58ea6ec24d2f8350116dd35002abb)
2021-07-16 00:10:27 +00:00
Julius Härtl 8d31b1a57d Merge pull request #27966 from nextcloud/enh/stable22-breadcrumb-detail-view-in-menu
[stable22] Show registered breadcrumb detail views in breadcrumb menu
2021-07-15 16:27:04 +02:00
Guillaume COLSON 69f2b691cd No limit in the number of group shares
Signed-off-by: Guillaume COLSON <guillaume.colson@univ-lorraine.fr>
2021-07-15 15:24:05 +02:00
Nextcloud bot 6bd2efe549 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2021-07-15 10:37:38 +00:00
Louis d23b723d38 Merge pull request #27979 from nextcloud/backport/27884/stable22
[stable22] Allow to get a local cloud id without going through the contacts manager
2021-07-15 11:09:21 +02:00
Julius Härtl 41ca0af614 Directly return cloud id from user
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-07-14 21:53:12 +00:00
Julius Härtl 4798a29442 Merge pull request #27944 from nextcloud/backport/27912/stable22
[stable22] Do not escape display name in dashboard welcome text
2021-07-14 21:43:40 +02:00
Carl Schwan 295d599b8f Fix regression in file sidebar
See https://github.com/nextcloud/server/pull/27936

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2021-07-14 18:29:59 +00:00
Joas Schilling c04797dca0 Merge pull request #27964 from nextcloud/backport/27761/stable22
[stable22] Also hide group from direct matches
2021-07-14 19:52:19 +02:00
Julien Veyssier 1fbe3cd596 show breadcrumb detail view in breadcrumb menu
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
2021-07-14 14:56:52 +02:00
MichaIng a5fa6c9250 Merge pull request #27957 from nextcloud/backport/27936/stable22
[stable22] Fix svg icons disapearing in app navigation when text overflows
2021-07-14 14:33:31 +02:00
blizzz f16a806819 Merge pull request #27938 from yan12125/backport/27631/stable22
[stable22] Correctly skip suppressed errors in PHP 8.0
2021-07-14 13:26:28 +02:00
Joas Schilling af2a862857 Also hide group from direct matches
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-07-14 11:09:53 +00:00
Carl Schwan 6505312817 Fix svg icons disapearing in app navigation when text overflows
The issue is caused by the icon being positionned with negative margins
and the `overflow: hidden` rule when hide the icon when the text
overflows. Remove positioning with negative margins. This was only
happening in Firefox.

This fix #23849

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2021-07-14 12:56:46 +02:00
Chih-Hsuan Yen 120fc8dd6a Correctly skip suppressed errors in PHP 8.0
Applies the suggested transformation mentioned in
https://www.php.net/manual/en/migration80.incompatible.php,

> The @ operator will no longer silence fatal errors (E_ERROR,
> E_CORE_ERROR, E_COMPILE_ERROR, E_USER_ERROR, E_RECOVERABLE_ERROR,
> E_PARSE). Error handlers that expect error_reporting to be 0 when
> @ is used, should be adjusted to use a mask check instead

The new code still works on PHP 7, as error_reporting() already
returns 0 when diagnostics are suppressed.

This fixes https://github.com/nextcloud/server/issues/25807 in PHP 8.0.
For PHP 7.x, https://github.com/nextcloud/server/pull/22243 suppresses
the E_NOTICE message from the second session_start() call with the error
suppression operator @, and thus those E_NOTICE messages are still
logged in PHP 8.0.

See also https://github.com/nextcloud/server/issues/25806

Signed-off-by: Chih-Hsuan Yen <yan12125@gmail.com>
2021-07-14 17:07:58 +08:00
Julius Härtl ca96a03c6b Merge pull request #27959 from nextcloud/revert-27654-dependabot/composer/build/integration/stable22/guzzlehttp/guzzle-7.3.0
Revert "Update guzzlehttp/guzzle requirement from 6.5.2 to 7.3.0 in /build/integration"
2021-07-14 10:47:36 +02:00
Julius Härtl 54e249bb0f Revert "Update guzzlehttp/guzzle requirement from 6.5.2 to 7.3.0 in /build/integration" 2021-07-14 08:52:47 +02:00
szaimen 49d7a7b896 Merge pull request #27942 from nextcloud/backport/27867/stable22
[stable22] fix newfileMenu on public page
2021-07-13 14:54:18 +02:00
Julien Veyssier ecab457ae0 refs #26113 do not escape display name in dashboard welcome text
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
2021-07-13 12:07:54 +00:00
szaimen 65e9c67bbd fix newfileMenu on public page
Signed-off-by: szaimen <szaimen@e.mail.de>
2021-07-13 11:56:33 +00:00
Christoph Wurst f9e2799855 Merge pull request #27654 from nextcloud/dependabot/composer/build/integration/stable22/guzzlehttp/guzzle-7.3.0
Update guzzlehttp/guzzle requirement from 6.5.2 to 7.3.0 in /build/integration
2021-07-13 10:44:36 +02:00
Julius Härtl b5d6189ca2 Merge pull request #27898 from nextcloud/backport/27887/stable22
[stable22] make user status usable on mobile
2021-07-13 08:55:57 +02:00
Julius Härtl fb018b7435 Merge pull request #27889 from nextcloud/backport/27854/stable22 2021-07-13 08:51:21 +02:00
kesselb 25ad68e6f5 Merge pull request #27925 from nextcloud/backport/27922/stable22
[stable22] Check if dns_get_record returns non-false
2021-07-12 17:55:24 +02:00
Lukas Reschke 5dcc18af46 Check for !== false instead
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2021-07-12 14:46:43 +00:00
Lukas Reschke 525dfd2f4d Check if dns_get_record returns non-false
`dns_get_record` can return false which results in exceptions such as
the ones shown in https://github.com/nextcloud/server/issues/27870.

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2021-07-12 14:46:42 +00:00
Lukas Reschke 32f0d85957 Merge pull request #27861 from nextcloud/backport/27835/stable22
[stable22] Cache images on browser
2021-07-12 11:45:02 +02:00
MichaIng cd0343e6b9 Merge pull request #27825 from nextcloud/backport/27801/stable22
[stable22] Ignore subdomain for soa queries
2021-07-09 15:44:14 +02:00
szaimen b01c3351f8 make user status usable on mobile
Signed-off-by: szaimen <szaimen@e.mail.de>
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
2021-07-09 11:48:24 +00:00
Joas Schilling 2b122fbcf0 Fix accessibility theme for guests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-07-09 09:03:09 +00:00
szaimen 0e90199f1d fix filepicker bug in dark mode
Signed-off-by: szaimen <szaimen@e.mail.de>
2021-07-09 09:03:08 +00:00
Pytal 1826107f56 Merge pull request #27878 from nextcloud/backport/22/bug/27435/add-group-button
[stable22] Fix add group button
2021-07-08 13:54:29 -07:00
Daniel Kesselberg 9f65367112 Fix add group button
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2021-07-08 17:46:37 +02:00
John Molakvoæ 3dd1b95f90 Merge pull request #27856 from nextcloud/backport/27844/stable22
[stable22] Make search popup usable on mobile, too
2021-07-08 16:27:03 +02:00
acsfer 8c6ca5d835 Cache images on browser
Fix #26851
2021-07-07 17:12:04 +00:00
szaimen c5d518c4c5 Make search popup usable on mobile, too
Signed-off-by: szaimen <szaimen@e.mail.de>
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
2021-07-07 15:18:31 +00:00
kesselb 2054614358 Merge pull request #27848 from sanpii/fix-dns-pinning-max-recursion
Fixes recursion count incrementation
2021-07-07 13:54:34 +02:00
Sanpi 2ed3574ea0 Fixes recursion count incrementation
Signed-off-by: Sanpi <sanpi@homecomputing.fr>
2021-07-07 12:59:22 +02:00
Joas Schilling a0d6002297 Merge pull request #27826 from nextcloud/backport/27818/stable22
[stable22] Fix in locking cache check
2021-07-07 12:24:31 +02:00
MichaIng e5fe200076 Fix in locking cache check
The intention obviously was to check whether $lockingCacheClass is defined, and existing class, and available. It was however checked whether the $distributedCacheClass is an existing class, which would have caused an exception already in the previous distributed cache check.

Signed-off-by: MichaIng <micha@dietpi.com>
2021-07-06 17:02:52 +00:00
Daniel Kesselberg a626792e15 Ignore subdomain for soa queries
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2021-07-06 16:58:15 +00:00
John Molakvoæ c67e1420c8 Merge pull request #27813 from nextcloud/version/22/final
22.0.0
2021-07-05 22:20:57 +02:00
Lukas Reschke 3f212b8857 Merge pull request #27814 from nextcloud/backport/27758/stable22
[stable22] Fix DnsPinMiddleware resolve pinning bug
2021-07-05 18:38:55 +02:00
Aaron Ball f8db7ce8f5 Fix DnsPinMiddleware resolve pinning bug
Libcurl expects the value of the CURLOPT_RESOLVE configurations to be an
array of strings, those strings containing a comma delimited list of
resolved IPs for each host:port combination.

The original code here does create that array with the host:port:ip
combination, but multiple ips for a single host:port result in
additional array entries, rather than adding them to the end of the
string with a comma. Per the libcurl docs, the `CURLOPT_RESOLVE` array
entries should match the syntax `host:port:address[,address]`.

This creates a function-scoped associative array which uses `host:port`
as the key (which are supposed to be unique and this ensures that), and
the value is an array containing IP strings (ipv4 or ipv6). Once the
associative array is populated, it is then set to the CURLOPT_RESOLVE
array, imploding the ip arrays using a comma delimiter so the array
syntax matches the expected by libcurl.

Note that this reorders the "foreach ip" and "foreach port" loops.
Rather than looping over ips then ports, we now loop over ports then
ips, since ports are part of the unique host:port map, and multiple ips
can exist therein.

Signed-off-by: Aaron Ball <nullspoon@oper.io>
2021-07-05 15:40:06 +00:00
John Molakvoæ c73070c19d Merge pull request #27752 from nextcloud/backport/27586/stable22
[stable22] Reset checksum when writing files to object store
2021-07-05 17:27:07 +02:00
Lukas Reschke fb8e681161 Merge pull request #27812 from nextcloud/backport/27810/stable22
[stable22] Add a text string to l10n
2021-07-05 17:21:20 +02:00
Arthur Schiwon 0ab8f2f15a 22.0.0
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-07-05 17:09:36 +02:00
Valdnet f6f85478a0 Add a text string to l10n 2021-07-05 14:38:12 +00:00
Valdnet 5e93d571e0 Add a text string to l10n 2021-07-05 14:38:12 +00:00
Lukas Reschke afb7126022 Merge pull request #27802 from nextcloud/backport/27198/stable22
[stable22] Run s3 tests again
2021-07-05 15:05:04 +02:00
Julius Härtl 6a4a5d888e Use minio for s3 tests
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-07-05 09:56:23 +00:00
Julius Härtl cb57285870 Run s3 tests again
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-07-05 09:56:23 +00:00
John Molakvoæ 268e6af00e Merge pull request #27775 from nextcloud/backport/27750/stable22 2021-07-05 08:45:24 +02:00
Robin Appelman cb0e76105e dont include folder being search in in the results
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-07-02 15:52:17 +00:00
blizzz 6c24e13d4b Merge pull request #27749 from nextcloud/backport/27737/stable22
[stable22] make contactsmenu icon bigger
2021-07-01 18:44:29 +02:00
Julius Härtl 226e0c4107 Reset checksum when writing files to object store
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-07-01 15:33:47 +00:00
szaimen b5b58faec0 make contactsmenu icon bigger
Signed-off-by: szaimen <szaimen@e.mail.de>
2021-07-01 13:26:26 +00:00
John Molakvoæ 863686c283 Merge pull request #27706 from nextcloud/version/22.0.0/rc2
22.0.0 RC2
2021-07-01 11:30:42 +02:00
John Molakvoæ e2c96aebd1 Merge pull request #27743 from nextcloud/backport/27739/stable22 2021-07-01 11:30:25 +02:00
szaimen b25e8e7030 design fixes to app-settings button
Signed-off-by: szaimen <szaimen@e.mail.de>
2021-07-01 08:46:48 +00:00
John Molakvoæ 858da2ed1d Merge pull request #27719 from nextcloud/backport/27474/stable22 2021-07-01 08:31:25 +02:00
blizzz 9882ae8986 Merge pull request #27736 from nextcloud/backport/27732/stable22
[stable22] Fix LDAPProviderFactory not found
2021-06-30 20:41:23 +02:00
Arthur Schiwon 87d8e8f6d3 unset ldap provider when disabling user_ldap
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-06-30 16:52:09 +00:00
Arthur Schiwon 1220e48301 ensure that factoryClass exisits before instantiation
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-06-30 16:52:09 +00:00
Vincent Petry 28a21048ac Merge pull request #27726 from nextcloud/backport/27638/stable22
[stable22] Downstream encryption:fix-encrypted-version for repairing "bad signature" errors
2021-06-30 16:56:26 +02:00
Vincent Petry 3ca664dda1 Prevent running FixEncryptedVersion without master key
Return an error when running occ encryption:fix-encrypted-version
when master key encryption is not enabled.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-06-30 12:21:06 +00:00
Vincent Petry 48be209e92 Fix FixEncryptedVersionTest test
Fixed setup to use EncryptionTrait like other existing tests.
Fix expectations to not rely on side effects from previous test cases.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-06-30 12:21:06 +00:00
Vincent Petry bf279980ac Fix warnings in FixEncryptedVersion command
Fixed code warnings

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-06-30 12:21:06 +00:00
Vincent Petry 5bde3d1836 Detect disabled signature check when reparing
When running occ encryption:fix-encrypted-version, detect whether the
setting 'encryption_skip_signature_check' is set and abort if it is,
because the repair cannot detect version mismatch errors with it
enabled.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-06-30 12:21:06 +00:00
Vincent Petry 6b83de79c6 Downstream FixEncryptedVersionTest
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-06-30 12:21:06 +00:00
Vincent Petry 727d2300b6 Downstream encryption:fix-encrypted-version
For fixing "Bad signature" errors.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-06-30 12:21:06 +00:00
Arthur Schiwon 1f6f863d86 fix incredible off-by-one-typo-error
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-06-30 11:04:46 +02:00
Arthur Schiwon 1754c3d979 cleanup
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-06-30 05:15:50 +00:00
Arthur Schiwon 29b36c56f3 fix small issues in UsersController handling
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-06-30 05:15:50 +00:00
Arthur Schiwon cc1d24a008 adjust access permissions of new controller method
- fixes wrong veriable usage also

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-06-30 05:15:50 +00:00
Arthur Schiwon 3550b12e3e fix regex
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-06-30 05:15:50 +00:00
Arthur Schiwon 4565f5d3b4 fix provisioning test check
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-06-30 05:15:50 +00:00
Arthur Schiwon 9d6c11f7da adjust internal data handling logic to fix store and load
- format as stored previously in oc_accounts table is kept

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-06-30 05:15:50 +00:00
Arthur Schiwon 87efcd06ca create a property on editUser when it was not set before
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-06-30 05:15:49 +00:00
Arthur Schiwon b30ce04e15 adjust email verification checker
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-06-30 05:15:49 +00:00
Arthur Schiwon bcedd4031d fix code style
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-06-30 05:15:49 +00:00
Arthur Schiwon 63d2aad5d3 adjust verification state updater method
- also fixes scope of internal methods

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-06-30 05:15:49 +00:00
Arthur Schiwon 19d2367340 make AccountManager actually write multi value properties
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-06-30 05:15:49 +00:00
Arthur Schiwon 51cae9ba98 accounts event handler to use eventdispatcher, DI and Accounts API
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-06-30 05:15:49 +00:00
Arthur Schiwon 148a62939f prov api to be able to edit multivalue properties
- adding as usual
- deleting and scope setting via additional endpoint

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-06-30 05:15:49 +00:00
Arthur Schiwon eb5e445af4 prov api reports multiple mail as editable field
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-06-30 05:15:49 +00:00
Arthur Schiwon 4398cf85c1 prov api reports additional emails on getUser
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-06-30 05:15:48 +00:00
Julius Härtl e74f5aeec2 Merge pull request #27716 from nextcloud/backport/27715/stable22
[stable22] Revert "First attempt to check against core routes before loading all app routes"
2021-06-29 21:47:03 +02:00
Vincent Petry 98005fc331 Revert "First attempt to check against core routes before loading all app routes"
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-06-29 18:52:21 +00:00
Julius Härtl 7e506bab4c Merge pull request #27682 from nextcloud/backport/27668/stable22
[stable22] Harden bootstrap context registrations when apps are missing
2021-06-29 18:05:29 +02:00
Julius Härtl a614537edb Merge pull request #27678 from nextcloud/backport/27675/stable22
[stable22] Validate the theming color also on CLI
2021-06-29 15:16:54 +02:00
Arthur Schiwon f6e544119a 22.0.0 RC2
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-06-29 12:55:30 +02:00
John Molakvoæ 8ee15f9984 Merge pull request #27702 from nextcloud/backport/27698/stable22
[stable22] LDAP: determine shares of offline users only when needed
2021-06-29 08:27:58 +02:00
Arthur Schiwon b299369c15 LDAP: determine shares of offline users only when needed
- determine shares may via Sharing code result in user exists checks
- this may result in an infinite loop when user exists was called before
- the info is really only required at one occ command

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-06-28 17:15:51 +00:00
Joas Schilling 61a3132c76 Merge pull request #27649 from nextcloud/techdebt/noid/stable22-version-fixing
Fix branch selection in stable22
2021-06-28 14:42:25 +02:00
Christoph Wurst 3b5b2af215 Harden bootstrap context registrations when apps are missing
It's not expected that an app would be unavailable when the app
container is created but when services are registered, but Sentry tells
me on Nextcloud 21 there is an edge case where this can happen.
Therefore this patch hardens the code a bit to log a meaningful error
message and skipping the next code instead of logging a php notice for
the undefined index and an exception for calling a method on null.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-06-25 16:46:57 +00:00
Joas Schilling dfc096737d Validate the theming color also on CLI
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-06-25 16:18:22 +00:00
Christoph Wurst 57a4ef9da8 Merge pull request #27669 from nextcloud/backport/27663/stable22
[stable22] Unshift crash reports when they are loaded, to break the recusion
2021-06-25 13:57:48 +02:00
Christoph Wurst 3d7e3185fc Unshift crash reports when they are loaded, to break the recusion
If, for whatever reason, during the loading of a crash reporter a new
log entry is generated, then the lazy loading mechanism will be invoked
*again* while it's already executed. This doesn't result in an endless
recursion, but means that the crash reporters will be built and
registered many times. This then means any further log entry will be
logged x times instead of once.

Unshift makes sure to take the class off the registration list right
away, so another invokation of the same method won't try to do the same
job.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-06-25 06:34:13 +00:00
dependabot[bot] 3d20ca684c Update guzzlehttp/guzzle requirement in /build/integration
Updates the requirements on [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) to permit the latest version.
- [Release notes](https://github.com/guzzle/guzzle/releases)
- [Changelog](https://github.com/guzzle/guzzle/blob/master/CHANGELOG.md)
- [Commits](https://github.com/guzzle/guzzle/compare/6.5.2...7.3.0)

---
updated-dependencies:
- dependency-name: guzzlehttp/guzzle
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-24 13:16:40 +00:00
Joas Schilling 99b7b82d72 Fix branch selection in stable22
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-06-24 13:12:52 +02:00
13812 changed files with 603181 additions and 1007939 deletions
+15
View File
@@ -0,0 +1,15 @@
codecov:
branch: stable22
ci:
- drone.nextcloud.com
- !scrutinizer-ci.com
coverage:
precision: 2
round: down
range: "70...100"
status:
project: off
patch: off
comment: off
+38 -82
View File
@@ -1,91 +1,47 @@
FROM ubuntu:noble
FROM ubuntu:focal
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
RUN apt-get update -y
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 \
php7.4 \
php7.4-gd \
php7.4-zip \
php7.4-curl \
php7.4-xml \
php7.4-mbstring \
php7.4-sqlite \
php7.4-xdebug \
php7.4-pgsql \
php7.4-intl \
php7.4-imagick \
php7.4-gmp \
php7.4-apcu \
php7.4-bcmath \
libmagickcore-6.q16-3-extra \
curl \
vim \
lsof \
make \
unzip
nodejs \
npm
# Composer
RUN curl -sS https://getcomposer.org/installer -o /tmp/composer-setup.php && \
curl -sS https://composer.github.io/installer.sig -o /tmp/composer-setup.sig && \
php -r "if (hash_file('sha384', '/tmp/composer-setup.php') !== trim(file_get_contents('/tmp/composer-setup.sig'))) { echo 'Composer installation failed, invalid hash'; exit(1); }" && \
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/7.4/cli/conf.d/20-xdebug.ini
RUN echo "xdebug.remote_autostart = 1" >> /etc/php/7.4/cli/conf.d/20-xdebug.ini
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
# 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
# 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 && \
apt-get update -y && \
apt-get install -y docker-ce-cli && \
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} && \
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" && \
sed -ri "s/^export APACHE_RUN_GROUP=.*$/export APACHE_RUN_GROUP=${APACHE_RUN_GROUP}/" "/etc/apache2/envvars"
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'
WORKDIR /var/www/html
# Docker
RUN apt-get -y install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
RUN curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
RUN add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
RUN apt-get update -y
RUN apt-get install -y docker-ce docker-ce-cli containerd.io
RUN ln -s /var/run/docker-host.sock /var/run/docker.sock
-2
View File
@@ -1,2 +0,0 @@
SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-76
View File
@@ -1,76 +0,0 @@
<!--
- 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).
That's already it. Everything else will be configured automatically by the Containers startup routine.
## Credentials
On first start the Container installs and configures Nextcloud with the following credentials:
**Nextcloud Admin Login**
Username: `admin` <br>
Password: `admin`
**Postgres credentials**
Username: `postgres` <br>
Password: `postgres` <br>
Database: `postgres`
## Services
The following services will be started:
| Service | Local port | Description |
|---------|------------|-------------|
| Nextcloud (served via Apache) | `80` | The main application |
| Mailhog | `8025` | SMTP email delivery for testing |
| Adminer | `8080` | Database viewer. Use credentials from above and connect to `localhost` to get access to the NC database |
## Permissions
The container runs with the user `devcontainer` who is also running the Apache2 process. All mounted source files have
proper permissions so that this user can access everything which is inside the current workspace. If you need to
get root permissions for whatever reason, use `sudo su` or `sudo <command>` (for example `sudo service apache2 restart`).
Everything else (like building the application, adjusting files, ...) should be done as `devcontainer` user.
## NodeJs and NVM
The container comes with [`nvm`](https://github.com/nvm-sh/nvm) and Node 16 installed. This should be sufficient to
build Nextcloud Core sources via `make`. If you need a different Node Version (for example for
app development), you can easily switch between different versions by running:
```bash
# Install and use Node 14
nvm install 14
nvm use 14
# Check version
node -v
# Switch back to Node 16
nvm use 16
# Check version
node -v
```
Note that `nvm` is only installed for the user `devcontainer` and won't work out of the box for
any other user.
## Debugging
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.
+3 -11
View File
@@ -1,11 +1,6 @@
<?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');
$cloudEnvironmentId = getenv('CLOUDENV_ENVIRONMENT_ID');
$CONFIG = [
'mail_from_address' => 'no-reply',
@@ -17,10 +12,7 @@ $CONFIG = [
'memcache.local' => '\OC\Memcache\APCu',
];
if(is_string($codespaceName) && !empty($codespaceName) && is_string($codespaceDomain) && !empty($codespaceDomain)) {
$host = $codespaceName . '-80.' . $codespaceDomain;
$CONFIG['overwritehost'] = $host;
$CONFIG['overwrite.cli.url'] = 'https://' . $host;
if($cloudEnvironmentId !== true) {
$CONFIG['overwritehost'] = $cloudEnvironmentId . '-80.apps.codespaces.githubusercontent.com';
$CONFIG['overwriteprotocol'] = 'https';
$CONFIG['trusted_domains'] = [ $host ];
}
+11 -17
View File
@@ -3,26 +3,20 @@
"dockerComposeFile": "docker-compose.yml",
"service": "nextclouddev",
"postCreateCommand": ".devcontainer/setup.sh",
"postStartCommand": ".devcontainer/postStart.sh",
"forwardPorts": [
80,
8080,
8025
],
"customizations": {
"vscode": {
"extensions": [
"felixfbecker.php-debug",
"felixfbecker.php-intellisense",
"ms-azuretools.vscode-docker",
"xdebug.php-debug",
"donjayamanne.githistory"
],
"settings": {
"php.suggest.basic": false
}
}
},
"workspaceFolder": "/var/www/html",
"remoteUser": "devcontainer"
"runArgs": [
"--privileged"
],
"extensions": [
"felixfbecker.php-debug",
"felixfbecker.php-intellisense",
"ms-azuretools.vscode-docker"
],
"settings": {
"php.suggest.basic": false,
}
}
-2
View File
@@ -1,2 +0,0 @@
SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors
SPDX-License-Identifier: AGPL-3.0-or-later
+2 -10
View File
@@ -1,13 +1,11 @@
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
version: '3'
services:
nextclouddev:
build: .
volumes:
- .:/workspace:cached
- /var/run/docker.sock:/var/run/docker-host.sock
- ..:/var/www/html
command: /var/www/html/.devcontainer/entrypoint.sh
command: /bin/sh -c "while sleep 1000; do :; done"
ports:
- 80:80
- 8080:8080
@@ -18,9 +16,6 @@ services:
restart: always
environment:
POSTGRES_PASSWORD: postgres
PGDATA: /data/postgres
volumes:
- db:/data/postgres
network_mode: service:nextclouddev
adminer:
@@ -32,6 +27,3 @@ services:
image: mailhog/mailhog
restart: always
network_mode: service:nextclouddev
volumes:
db:
-8
View File
@@ -1,8 +0,0 @@
#!/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
-14
View File
@@ -1,14 +0,0 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9003
}
]
}
-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
-25
View File
@@ -1,33 +1,8 @@
#!/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/
git submodule update --init
# Codespace config
cp .devcontainer/codespace.config.php config/codespace.config.php
# VSCode debugger profile
mkdir -p .vscode && cp .devcontainer/launch.json .vscode/launch.json
# Onetime installation setup
if [[ ! $(sudo -u ${APACHE_RUN_USER} php occ status) =~ installed:[[:space:]]*true ]]; then
echo "Running NC installation"
sudo -u ${APACHE_RUN_USER} php occ maintenance:install \
--verbose \
--database=pgsql \
--database-name=postgres \
--database-host=127.0.0.1 \
--database-port=5432 \
--database-user=postgres \
--database-pass=postgres \
--admin-user admin \
--admin-pass admin
fi
sudo service apache2 restart
+2318
View File
File diff suppressed because it is too large Load Diff
+4 -15
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
@@ -22,15 +23,3 @@ 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
+11
View File
@@ -0,0 +1,11 @@
# Ignoring folders for eslint
node_modules/
3rdparty/
**/vendor/
**/l10n/
**/js/*
*.config.js
tests/lib/
# TODO: remove when comments files is not using handlebar templates anymore
apps/comments/src/templates.js
+17
View File
@@ -0,0 +1,17 @@
module.exports = {
globals: {
__webpack_nonce__: true,
__webpack_public_path__: true,
_: true,
$: true,
moment: true,
escapeHTML: true,
oc_userconfig: true,
dayNames: true,
firstDay: true,
},
extends: ['@nextcloud'],
rules: {
'no-tabs': 'warn',
}
}
-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
+32 -6
View File
@@ -1,6 +1,32 @@
# 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
/.devcontainer/*.sh text eol=lf
/core/js/dist/*.js binary
/core/js/dist/*.js.map binary
/apps/accessibility/js/*.js binary
/apps/accessibility/js/*.js.map binary
/apps/comments/js/*.js binary
/apps/comments/js/*.js.map binary
/apps/dashboard/js/*.js binary
/apps/dashboard/js/*.js.map binary
/apps/files/js/dist/*.js binary
/apps/files/js/dist/*.js.map binary
/apps/files_sharing/js/dist/*.js binary
/apps/files_sharing/js/dist/*.js.map binary
/apps/files_trashbin/js/*.js binary
/apps/files_trashbin/js/*.js.map binary
/apps/files_versions/js/*.js binary
/apps/files_versions/js/*.js.map binary
/apps/oauth2/js/*.js binary
/apps/oauth2/js/*.js.map binary
/apps/settings/js/vue* binary
/apps/systemtags/js/systemtags.js binary
/apps/systemtags/js/systemtags.js.map binary
/apps/twofactor_backupcodes/js/*.js binary
/apps/twofactor_backupcodes/js/*.js.map binary
/apps/updatenotification/js/updatenotification.js binary
/apps/updatenotification/js/updatenotification.js.map binary
/apps/user_status/js/*.js binary
/apps/user_status/js/*.js.map binary
/apps/weather_status/js/*.js binary
/apps/weather_status/js/*.js.map binary
/apps/workflowengine/js/*.js binary
/apps/workflowengine/js/*.js.map binary
+2 -111
View File
@@ -1,111 +1,2 @@
# 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/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/files_external/appinfo/info.xml @icewind1991 @artonge
/apps/files_reminders/appinfo/info.xml @skjnldsv @sorbaugh
/apps/files_sharing/appinfo/info.xml @skjnldsv @come-nc
/apps/files_trashbin/appinfo/info.xml @icewind1991 @sorbaugh
/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/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/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
# Security team
/build/psalm-baseline-security.xml @nickvergessen @nextcloud/server-backend
/resources/codesigning @mgallien @miaulalala @nickvergessen
/resources/config/ca-bundle.crt @miaulalala @nickvergessen
# Two-Factor Authentication
# https://github.com/nextcloud/wg-two-factor-authentication#members
**/TwoFactorAuth @ChristophWurst @miaulalala @nickvergessen
/apps/twofactor_backupcodes @ChristophWurst @miaulalala @nickvergessen
/core/templates/twofactor* @ChristophWurst @miaulalala @nickvergessen
# 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
+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/
-212
View File
@@ -1,212 +0,0 @@
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
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:
value: |
### 👍 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:
label: "⚠️ This issue respects the following points: ⚠️"
description: All conditions are **required**. Your issue can be closed if these are checked incorrectly.
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)_.
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: I agree to follow Nextcloud's [Code of Conduct](https://nextcloud.com/contribute/code-of-conduct/).
required: true
- type: textarea
id: bug-description
attributes:
label: Bug description
description: |
Provide a description of the bug you're experiencing.
Don't just expect someone will guess what your specific problem is and provide full details.
validations:
required: true
- type: textarea
id: reproduce
attributes:
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.
value: |
1.
2.
3.
validations:
required: true
- type: textarea
id: expected-behavior
attributes:
label: Expected behavior
description: Describe what you expected to happen instead.
validations:
required: true
- type: dropdown
id: nextcloud-version
attributes:
label: Nextcloud Server version
description: |
Select Nextcloud Server version.
_Versions not listed here are not maintained and not supported anymore_
options:
- "30"
- "31"
- "32"
- "master"
validations:
required: true
- type: dropdown
id: system
attributes:
label: Operating system
description: |
Select operating system where Nextcloud Server is installed.
_Describe in the "Additional info" section if you chose "Other"._
options:
- "Debian/Ubuntu"
- "RHEL/CentOS"
- "Other"
- type: dropdown
id: php
attributes:
label: PHP engine version
description: |
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 8.1"
- "Other"
- type: dropdown
id: webserver
attributes:
label: Web server
description: |
Select Webserver serving Nextcloud Server.
_Describe in the "Additional info" section if you chose "Other"._
options:
- "Apache (supported)"
- "Nginx"
- "Other"
- type: dropdown
id: database
attributes:
label: Database engine version
description: |
Select Database engine serving Nextcloud Server.
_Describe in the "Additional info" section if you chose "Other"._
options:
- "MySQL"
- "MariaDB"
- "PostgreSQL"
- "SQlite"
- "Oracle"
- "Other"
- type: dropdown
id: fresh
attributes:
label: Is this bug present after an update or on a fresh install?
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)"
- "Fresh Nextcloud Server install"
- type: dropdown
id: encryption
attributes:
label: Are you using the Nextcloud Server Encryption module?
description: Select if encryption is Enabled on your Nextcloud Server.
options:
- "Encryption is Enabled"
- "Encryption is Disabled"
- type: checkboxes
id: users
attributes:
label: What user-backends are you using?
description: |
Select **all** user-backends Enabled on your Nextcloud Server.
_Describe in the "Additional info" section if you chose "Other"._
options:
- label: "Default user-backend _(database)_"
- label: "LDAP/ Active Directory"
- label: "SSO - SAML"
- label: "Other"
- type: textarea
id: configs
attributes:
label: Configuration report
description: |
Provide information about your configuration.
To get this information, execute one of the following commands on the CLI:
```shell
sudo -u www-data php occ config:list system
php occ config:list system
./occ config:list system
```
> NOTE: This will be automatically formatted into code for better readability.
render: json
- type: textarea
id: apps
attributes:
label: List of activated Apps
description: |
Provide information about your apps.
To get this information, execute one of the following commands on the CLI:
```shell
sudo -u www-data php occ app:list
php occ app:list
./occ app:list
```
> NOTE: This will be automatically formatted into code for better readability.
render: shell
- type: textarea
id: nextcloud-signingstatus
attributes:
label: Nextcloud Signing status
description: |
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
```
> NOTE: This will be automatically formatted into code for better readability.
render: shell
- type: textarea
id: nextcloud-log
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:
> NOTE: This will be automatically formatted into code for better readability.
render: json
- type: textarea
id: additional-info
attributes:
label: Additional info
description: Any additional information related to the issue (ex. browser console errors, software versions).
+166
View File
@@ -0,0 +1,166 @@
---
name: 🐛 Bug report
about: Help us improving by reporting a bug
labels: bug, 0. Needs triage
---
<!--
Thanks for reporting issues back to Nextcloud!
Note: This is the **issue tracker of Nextcloud**, please do NOT use this to get answers to your questions or get help for fixing your installation. This is a place to report bugs to developers, after your server has been debugged. You can find help debugging your system on our home user forums: https://help.nextcloud.com or, if you use Nextcloud in a large organization, ask our engineers on https://portal.nextcloud.com. See also https://nextcloud.com/support for support options.
Nextcloud is an open source project backed by Nextcloud GmbH. Most of our volunteers are home users and thus primarily care about issues that affect home users. Our paid engineers prioritize issues of our customers. If you are neither a home user nor a customer, consider paying somebody to fix your issue, do it yourself or become a customer.
Guidelines for submitting issues:
* Please search the existing issues first, it's likely that your issue was already reported or even fixed.
- Go to https://github.com/nextcloud and type any word in the top search/command bar. You probably see something like "We couldnt find any repositories matching ..." then click "Issues" in the left navigation.
- You can also filter by appending e. g. "state:open" to the search string.
- More info on search syntax within github: https://help.github.com/articles/searching-issues
* This repository https://github.com/nextcloud/server/issues is *only* for issues within the Nextcloud Server code. This also includes the apps: files, encryption, external storage, sharing, deleted files, versions, LDAP, and WebDAV Auth
* SECURITY: Report any potential security bug to us via our HackerOne page (https://hackerone.com/nextcloud) following our security policy (https://nextcloud.com/security/) instead of filing an issue in our bug tracker.
* The issues in other components should be reported in their respective repositories: You will find them in our GitHub Organization (https://github.com/nextcloud/)
* You can also use the Issue Template app to prefill most of the required information: https://apps.nextcloud.com/apps/issuetemplate
-->
<!--- Please keep this note for other contributors -->
### How to use GitHub
* Please use the 👍 [reaction](https://blog.github.com/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/) to show that you are affected by the same issue.
* Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
* Subscribe to receive notifications on status change and new comments.
### Steps to reproduce
1.
2.
3.
### Expected behaviour
Tell us what should happen
### Actual behaviour
Tell us what happens instead
### Server configuration
**Operating system:**
**Web server:**
**Database:**
**PHP version:**
**Nextcloud version:** (see Nextcloud admin page)
**Updated from an older Nextcloud/ownCloud or fresh install:**
**Where did you install Nextcloud from:**
**Signing status:**
<details>
<summary>Signing status</summary>
```
Login as admin user into your Nextcloud and access
http://example.com/index.php/settings/integrity/failed
paste the results here.
```
</details>
**List of activated apps:**
<details>
<summary>App list</summary>
```
If you have access to your command line run e.g.:
sudo -u www-data php occ app:list
from within your Nextcloud installation folder
```
</details>
**Nextcloud configuration:**
<details>
<summary>Config report</summary>
```
If you have access to your command line run e.g.:
sudo -u www-data php occ config:list system
from within your Nextcloud installation folder
or
Insert your config.php content here.
Make sure to remove all sensitive content such as passwords. (e.g. database password, passwordsalt, secret, smtp password, …)
```
</details>
**Are you using external storage, if yes which one:** local/smb/sftp/...
**Are you using encryption:** yes/no
**Are you using an external user-backend, if yes which one:** LDAP/ActiveDirectory/Webdav/...
#### LDAP configuration (delete this part if not used)
<details>
<summary>LDAP config</summary>
```
With access to your command line run e.g.:
sudo -u www-data php occ ldap:show-config
from within your Nextcloud installation folder
Without access to your command line download the data/owncloud.db to your local
computer or access your SQL server remotely and run the select query:
SELECT * FROM `oc_appconfig` WHERE `appid` = 'user_ldap';
Eventually replace sensitive data as the name/IP-address of your LDAP server or groups.
```
</details>
### Client configuration
**Browser:**
**Operating system:**
### Logs
<!--- Reports without logs might be closed as unqualified reports! -->
#### Web server error log
<details>
<summary>Web server error log</summary>
```
Insert your webserver log here
```
</details>
#### Nextcloud log (data/nextcloud.log)
<details>
<summary>Nextcloud log</summary>
```
Insert your Nextcloud log here
```
</details>
#### Browser log
<details>
<summary>Browser log</summary>
```
Insert your browser log here, this could for example include:
a) The javascript console log
b) The network log
c) ...
```
</details>
@@ -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
+113 -93
View File
@@ -1,32 +1,37 @@
# 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"
# Testing master npm
- package-ecosystem: npm
directory: "/build"
schedule:
interval: weekly
day: saturday
@@ -36,110 +41,125 @@ 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: stable19
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
- dependency-name: "*"
update-types: ["version-update:semver-major"]
# 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
# ignore all GitHub linguist patch updates
- 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: stable20
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"]
- package-ecosystem: npm
directory: "/"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
target-branch: stable21
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"]
# Testing StableXX composer
- package-ecosystem: composer
directory: "/build/integration"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
target-branch: stable19
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"]
- package-ecosystem: composer
directory: "/build/integration"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
target-branch: stable20
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"]
- package-ecosystem: composer
directory: "/build/integration"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
target-branch: stable21
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"]
-25
View File
@@ -1,25 +0,0 @@
<!--
- 🚨 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 -->
## Summary
## TODO
- [ ] ...
## Checklist
- Code is [properly formatted](https://docs.nextcloud.com/server/latest/developer_manual/digging_deeper/continuous_integration.html#linting)
- [Sign-off message](https://github.com/src-d/guide/blob/master/developer-community/fix-DCO.md) is added to all commits
- [ ] Tests ([unit](https://docs.nextcloud.com/server/latest/developer_manual/app_development/tutorial.html#unit-tests), [integration](https://docs.nextcloud.com/server/latest/developer_manual/app_development/tutorial.html#integration-tests), api and/or acceptance) are included
- [ ] 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
+33
View File
@@ -0,0 +1,33 @@
# We wait 1 months to check
daysUntilStale: 30
# If no answer after two weeks, we close
daysUntilClose: 14
# Only issues that requires info from the op
onlyLabels:
- "needs info"
# Only if issues that are not triaged
exemptLabels:
- "1. to develop"
- "2. developing"
- "3. to review"
- "4. to release"
- security
# Label to use when marking as stale
staleLabel: stale
# Comment to post when marking as stale. Set to `false` to disable
markComment: >
This issue has been automatically marked as stale because it has not had
recent activity and seems to be missing some essential information.
It will be closed if no further activity occurs. Thank you
for your contributions.
# Limit the number of actions per hour, from 1-30. Default is 30
limitPerRun: 30
# Limit to only `issues` or `pulls`
only: issues
-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
+12 -31
View File
@@ -2,48 +2,29 @@
#
# 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
name: Pull request checks
on: pull_request
permissions:
contents: read
concurrency:
group: block-merge-eol-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
block-merges-eol:
name: Block merges for EOL branches
# 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' | grep --silent -i 'false'
+6 -42
View File
@@ -2,56 +2,20 @@
#
# 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
name: Pull request checks
on:
pull_request:
types: [opened, ready_for_review, reopened, synchronize]
permissions:
contents: read
concurrency:
group: block-merge-freeze-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
on: pull_request
jobs:
block-merges-during-freeze:
name: Block merges during freezes
name: Block merges during feature freezes
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}}"
-222
View File
@@ -1,222 +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: Compile Command
on:
issue_comment:
types: [created]
permissions:
contents: read
jobs:
init:
runs-on: ubuntu-latest
# On pull requests and if the comment starts with `/compile`
if: github.event.issue.pull_request != '' && startsWith(github.event.comment.body, '/compile')
outputs:
git_path: ${{ steps.git-path.outputs.path }}
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
with:
require: write
- name: Add reaction on start
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reactions: '+1'
- name: Parse command
uses: skjnldsv/parse-command-comment@5c955203c52424151e6d0e58fb9de8a9f6a605a1 # v2
id: command
# Init path depending on which command is run
- name: Init path
id: git-path
run: |
if ${{ startsWith(steps.command.outputs.arg1, '/') }}; then
echo "path=${{steps.command.outputs.arg1}}" >> $GITHUB_OUTPUT
else
echo "path=${{steps.command.outputs.arg2}}" >> $GITHUB_OUTPUT
fi
- name: Init branch
uses: xt0rted/pull-request-comment-branch@e8b8daa837e8ea7331c0003c9c316a64c6d8b0b1 # v3.0.0
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
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'
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
id: package-engines-versions
with:
fallbackNode: '^20'
fallbackNpm: '^10'
- name: Set up node ${{ steps.package-engines-versions.outputs.nodeVersion }}
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
with:
node-version: ${{ steps.package-engines-versions.outputs.nodeVersion }}
cache: npm
- name: Set up npm ${{ steps.package-engines-versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ steps.package-engines-versions.outputs.npmVersion }}'
- name: Rebase to ${{ needs.init.outputs.base_ref }}
if: ${{ contains(needs.init.outputs.arg1, 'rebase') }}
run: |
git fetch origin '${{ needs.init.outputs.base_ref }}:${{ needs.init.outputs.base_ref }}'
# Start the rebase
git rebase 'origin/${{ needs.init.outputs.base_ref }}' || {
# Handle rebase conflicts in a loop
while [ -d .git/rebase-merge ] || [ -d .git/rebase-apply ]; do
echo "Handling rebase conflict..."
# Remove and checkout /dist and /js folders from the base branch
if [ -d "dist" ]; then
rm -rf dist
git checkout origin/${{ needs.init.outputs.base_ref }} -- dist/ 2>/dev/null || echo "No dist folder in base branch"
fi
if [ -d "js" ]; then
rm -rf js
git checkout origin/${{ needs.init.outputs.base_ref }} -- js/ 2>/dev/null || echo "No js folder in base branch"
fi
# Stage all changes
git add .
# Check if there are any changes after resolving conflicts
if git diff --cached --quiet; then
echo "No changes after conflict resolution, skipping commit"
git rebase --skip
else
echo "Changes found, continuing rebase without editing commit message"
git -c core.editor=true rebase --continue
fi
# Break if rebase is complete
if [ ! -d .git/rebase-merge ] && [ ! -d .git/rebase-apply ]; then
break
fi
done
}
- 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') }}
run: |
git add '${{ github.workspace }}${{ needs.init.outputs.git_path }}'
git commit --signoff -m 'chore(assets): Recompile assets'
- name: Commit fixup
if: ${{ contains(needs.init.outputs.arg1, 'fixup') }}
run: |
git add '${{ github.workspace }}${{ needs.init.outputs.git_path }}'
git commit --fixup=HEAD --signoff
- name: Commit amend
if: ${{ contains(needs.init.outputs.arg1, 'amend') }}
run: |
git add '${{ github.workspace }}${{ 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"
- 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'
-100
View File
@@ -1,100 +0,0 @@
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Update 3rdparty 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 `/update-3rdparty`
if: github.event.issue.pull_request != '' && startsWith(github.event.comment.body, '/update-3rdparty')
steps:
- name: Add reaction on start
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v3.0.1
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reactions: '+1'
- name: Disabled on forks
if: ${{ github.event.pull_request.head.repo.full_name != github.repository }}
run: |
echo 'Can not execute /update-3rdparty on forks'
exit 1
- 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
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'
- name: Pull 3rdparty
if: ${{ env.server_ref != '' }}
run: git submodule foreach 'if [ "$sm_path" == "3rdparty" ]; then git pull origin '"'"'${{ env.server_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 push
- name: Add reaction on failure
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # 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'
-240
View File
@@ -1,240 +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: Cypress
on: pull_request
concurrency:
group: cypress-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
env:
# Adjust APP_NAME if your repository name is different
APP_NAME: ${{ github.event.repository.name }}
# This represents the server branch to checkout.
# Usually it's the base branch of the PR, but for pushes it's the branch itself.
# e.g. 'main', 'stable27' or 'feature/my-feature'
# n.b. server will use head_ref, as we want to test the PR branch.
BRANCH: ${{ github.head_ref || github.ref_name }}
permissions:
contents: read
jobs:
init:
runs-on: ubuntu-latest
outputs:
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: Check composer.json
id: check_composer
uses: andstor/file-existence-action@076e0072799f4942c8bc574a82233e1e4d13e9d6 # v3.0.0
with:
files: "composer.json"
- name: Install composer dependencies
if: steps.check_composer.outputs.files_exists == 'true'
run: composer install --no-dev
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
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 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
with:
key: cypress-context-${{ github.run_id }}
path: ./
cypress:
runs-on: ubuntu-latest
needs: init
strategy:
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
name: runner ${{ matrix.containers }}
steps:
- name: Restore context
uses: buildjet/cache/restore@3e70d19e31d6a8030aeddf6ed8dbe601f94d09f4 # v4.0.2
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
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
- name: Run ${{ matrix.containers == 'component' && 'component' || 'E2E' }} cypress tests
uses: cypress-io/github-action@b8ba51a856ba5f4c15cf39007636d4ab04f23e3c # v6.10.2
with:
# We already installed the dependencies in the init job
install: false
component: ${{ matrix.containers == 'component' }}
group: ${{ matrix.use-cypress-cloud && matrix.containers == 'component' && 'Run component' || matrix.use-cypress-cloud && 'Run E2E' || '' }}
# cypress env
ci-build-id: ${{ matrix.use-cypress-cloud && format('{0}-{1}', github.sha, github.run_number) || '' }}
tag: ${{ matrix.use-cypress-cloud && github.event_name || '' }}
env:
# Needs to be prefixed with CYPRESS_
CYPRESS_BRANCH: ${{ env.BRANCH }}
# https://github.com/cypress-io/github-action/issues/124
COMMIT_INFO_MESSAGE: ${{ github.event.pull_request.title }}
# Needed for some specific code workarounds
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
if: always()
with:
name: snapshots_videos_${{ matrix.containers }}
path: |
cypress/snapshots
cypress/videos
- name: Show 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
- 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
- name: Upload data dir archive
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
if: failure() && matrix.containers != 'component'
with:
name: nc_data_${{ matrix.containers }}
path: data.tar
summary:
runs-on: ubuntu-latest-low
needs: [init, cypress]
if: always()
name: cypress-summary
steps:
- name: Summary status
run: if ${{ needs.init.result != 'success' || ( needs.cypress.result != 'success' && needs.cypress.result != 'skipped' ) }}; then exit 1; fi
+8 -28
View File
@@ -2,48 +2,28 @@
#
# 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
- stable*
permissions:
contents: read
concurrency:
group: dependabot-approve-merge-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
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
permissions:
# for hmarr/auto-approve-action to approve PRs
pull-requests: write
auto-merge:
runs-on: ubuntu-latest
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
- uses: hmarr/auto-approve-action@b40d6c9ed2fa10c9a2749eca7eb004418a705501 # v2
# Default github action approve
- uses: hmarr/auto-approve-action@v2
if: github.actor == 'dependabot[bot]'
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
# Nextcloud bot approve and merge request
- uses: ahmadnassri/action-dependabot-auto-merge@45fc124d949b19b6b8bf6645b6c9d55f4f9ac61a # v2
- uses: ahmadnassri/action-dependabot-auto-merge@v2
if: github.actor == 'dependabot[bot]'
with:
target: minor
github-token: ${{ secrets.DEPENDABOT_AUTOMERGE_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
+4 -28
View File
@@ -1,36 +1,12 @@
# 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: Block fixup and squash commits
on:
pull_request:
types: [opened, ready_for_review, reopened, synchronize]
permissions:
contents: read
concurrency:
group: fixup-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
name: Pull request checks
on: pull_request
jobs:
commit-message-check:
if: github.event.pull_request.draft == false
permissions:
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: xt0rted/block-autosquash-commits-action@main
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
@@ -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
-100
View File
@@ -1,100 +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 eslint
on: pull_request
permissions:
contents: read
concurrency:
group: lint-eslint-${{ 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/**'
- '**/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
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
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
-84
View File
@@ -1,84 +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 php-cs
on: pull_request
permissions:
contents: read
concurrency:
group: lint-php-cs-${{ 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/**'
- '**/lib/**'
- '**/tests/**'
- '**/vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
lint:
runs-on: ubuntu-latest
name: PHP CS fixer lint
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Set up php8.1
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4
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:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install dependencies
run: composer i
- 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
-84
View File
@@ -1,84 +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 php
on: pull_request
permissions:
contents: read
concurrency:
group: lint-php-${{ 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/**'
- '**/lib/**'
- '**/tests/**'
- '**/vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
lint:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
strategy:
matrix:
php-versions: [ '8.2', '8.3', '8.4' ]
name: php-lint
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 # v2.35.4
with:
php-version: ${{ matrix.php-versions }}
coverage: none
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Lint
run: composer run lint
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, lint]
if: always()
name: php-lint-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.lint.result != 'success' }}; 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
+64
View File
@@ -0,0 +1,64 @@
name: Lint
on: pull_request
jobs:
php-linters:
runs-on: ubuntu-latest
strategy:
matrix:
php-versions: ['7.3', '7.4', '8.0']
name: php${{ matrix.php-versions }} lint
steps:
- name: Checkout
uses: actions/checkout@master
- name: Set up php${{ matrix.php-versions }}
uses: shivammathur/setup-php@master
with:
php-version: ${{ matrix.php-versions }}
extensions: ctype,curl,dom,fileinfo,gd,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
- name: Lint
run: composer run lint
php-cs-fixer:
name: php-cs check
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@master
- name: Set up php
uses: shivammathur/setup-php@master
with:
php-version: 7.4
extensions: ctype,curl,dom,fileinfo,gd,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
tools: cs2pr
- name: Install dependencies
run: composer i
- name: Run coding standards check
run: |
composer run cs:check -- --format=checkstyle | cs2pr
composer run cs:check || ( echo 'Please run `composer run cs:fix` to format your code' && exit 1 )
shell: bash
node:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [12.x]
name: eslint node${{ matrix.node-version }}
steps:
- uses: actions/checkout@v2
- name: Set up node ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Install dependencies
run: npm ci
- name: Lint
run: npm run lint
-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
+70 -98
View File
@@ -1,110 +1,82 @@
# 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: Node
on: pull_request
permissions:
contents: read
concurrency:
group: node-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
on:
pull_request:
push:
branches:
- master
- stable*
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'
strategy:
matrix:
node-version: [12.x]
name: NPM build
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: actions/checkout@v2
- name: Use node ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Install dependencies & build
run: |
make clean
npm ci
npm run build --if-present
- name: Check webpack build changes
run: |
bash -c "[[ ! \"`git status --porcelain `\" ]] || ( echo 'Uncommited changes in webpack build' && git status && exit 1 )"
env:
CI: true
test:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [12.x]
steps:
- uses: actions/checkout@v2
- name: Use node ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Install dependencies
run: |
npm ci
- name: Test
run: npm run test
jsunit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Use node ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
# This test requires npm6 for some reason
- name: Set up npm 6
run: npm i -g npm@^6
- name: Test
run: ./autotest-js.sh
handlebars:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [12.x]
steps:
- uses: actions/checkout@v2
- name: Use node ${{ matrix.node-version }}
uses: actions/setup-node@v1
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 & build
env:
CYPRESS_INSTALL_BINARY: 0
PUPPETEER_SKIP_DOWNLOAD: true
node-version: ${{ matrix.node-version }}
- name: Install dependencies
run: |
npm ci
npm run build --if-present
- name: Check webpack build changes
run: |
bash -c "[[ ! \"`git status --porcelain `\" ]] || (echo 'Please recompile and commit the assets, see the section \"Show changes on failure\" for details' && exit 1)"
- name: Show changes on failure
if: failure()
run: |
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
- name: Run compile
run: ./build/compile-handlebars-templates.sh
-81
View File
@@ -1,81 +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: Npm audit fix and compile
on:
workflow_dispatch:
schedule:
# At 2:30 on Sundays
- cron: '30 2 * * 0'
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
branches: ['main', 'master', 'stable32', 'stable31', 'stable30']
name: npm-audit-fix-${{ matrix.branches }}
steps:
- name: Checkout
id: checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
ref: ${{ matrix.branches }}
continue-on-error: true
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
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: Fix npm audit
id: npm-audit
uses: nextcloud-libraries/npm-audit-action@1b1728b2b4a7a78d69de65608efcf4db0e3e42d0 # v0.2.0
- name: Run npm ci and npm run build
if: steps.checkout.outcome == 'success'
env:
CYPRESS_INSTALL_BINARY: 0
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
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: 'fix(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 }}
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
+56
View File
@@ -0,0 +1,56 @@
name: PHPUnit
on:
pull_request:
push:
branches:
- master
- stable*
jobs:
phpunit-oci8:
runs-on: ubuntu-20.04
strategy:
# do not stop on another job's failure
fail-fast: false
matrix:
php-versions: [ '7.4' ]
databases: [ 'oci' ]
name: php${{ matrix.php-versions }}-${{ matrix.databases }}
services:
oracle:
image: deepdiver/docker-oracle-xe-11g # "wnameless/oracle-xe-11g-r2"
ports:
- "1521:1521"
steps:
- name: Checkout server
uses: actions/checkout@v2
- name: Checkout submodules
shell: bash
run: |
auth_header="$(git config --local --get http.https://github.com/.extraheader)"
git submodule sync --recursive
git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
extensions: ctype,curl,dom,fileinfo,gd,intl,json,mbstring,oci8,openssl,pdo_sqlite,posix,sqlite,xml,zip
tools: phpunit:8.5.2
coverage: none
- 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
-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
-127
View File
@@ -1,127 +0,0 @@
# 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']
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
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
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
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
php -S localhost:8080 &
- name: Apply blueprint
uses: icewind1991/blueprint@00504403f76cb2a09efd0d16793575055e6f63cb # v0.1.2
with:
blueprint: tests/blueprints/basic.toml
ref: ${{ github.event.pull_request.head.ref }}
- name: Run before measurements
uses: nextcloud/profiler@6801ee10fc80f10b444388fb6ca9b36ad8a2ea83
with:
run: |
curl -s -X PROPFIND -u test:test http://localhost:8080/remote.php/dav/files/test
curl -s -u test:test http://localhost:8080/remote.php/dav/files/test/test.txt
curl -s -X PROPFIND -u test:test http://localhost:8080/remote.php/dav/files/test/many_files
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
- name: Apply PR # zizmor: ignore[template-injection]
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 submodule update
./occ upgrade
- name: Run after measurements
id: compare
uses: nextcloud/profiler@6801ee10fc80f10b444388fb6ca9b36ad8a2ea83
with:
run: |
curl -s -X PROPFIND -u test:test http://localhost:8080/remote.php/dav/files/test
curl -s -u test:test http://localhost:8080/remote.php/dav/files/test/test.txt
curl -s -X PROPFIND -u test:test http://localhost:8080/remote.php/dav/files/test/many_files
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
compare-with: before.json
- name: Upload profiles
if: always()
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02
with:
name: profiles
path: |
before.json
after.json
- uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7
if: failure() && steps.compare.outcome == 'failure'
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
let comment = `Possible performance regression detected\n`;
comment += `<details><summary>Show Output</summary>
\`\`\`
${{ steps.compare.outputs.compare }}
\`\`\`
</details>`;
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: comment
})
-71
View File
@@ -1,71 +0,0 @@
# 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/*"
workflow_dispatch:
schedule:
- cron: "15 1 * * 1-6"
permissions:
contents: read
concurrency:
group: phpunit-32bits-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
phpunit-32bits:
runs-on: ubuntu-latest
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
container: shivammathur/node:latest-i386
strategy:
fail-fast: false
matrix:
php-versions: ["8.2", "8.3", "8.4"]
steps:
- name: Checkout server
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
submodules: true
- name: Install tools
run: |
sudo apt-get update
sudo apt-get install -y ffmpeg imagemagick libmagickcore-6.q16-3-extra
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@ec406be512d7077f68eed36e63f4d91bc006edc4 #v2.35.4
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
coverage: none
ini-file: development
ini-values: apc.enabled=on, apc.enable_cli=on, disable_functions= # https://github.com/shivammathur/setup-php/discussions/573
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up 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
- name: PHPUnit
run: composer run test -- --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
+28
View File
@@ -0,0 +1,28 @@
name: Psalm show github
on:
pull_request:
push:
branches:
- master
- stable*
jobs:
psalm:
name: Psalm
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
submodules: recursive
- name: Psalm
uses: docker://vimeo/psalm-github-actions:4.9.3
continue-on-error: true
with:
composer_ignore_platform_reqs: false
report_file: results.sarif
- name: Upload Analysis results to GitHub
uses: github/codeql-action/upload-sarif@v1
with:
sarif_file: results.sarif
+28
View File
@@ -0,0 +1,28 @@
name: Psalm Security Analysis
on:
pull_request:
push:
branches:
- master
- stable*
jobs:
psalm:
name: Psalm
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
submodules: recursive
- name: Psalm
uses: docker://vimeo/psalm-github-actions:4.9.3
with:
security_analysis: true
composer_ignore_platform_reqs: false
report_file: results.sarif
- name: Upload Security Analysis results to GitHub
uses: github/codeql-action/upload-sarif@v1
with:
sarif_file: results.sarif
-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
+124
View File
@@ -0,0 +1,124 @@
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
strategy:
# do not stop on another job's failure
fail-fast: false
matrix:
php-versions: ['7.4', '8.0']
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@v2
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
tools: phpunit
extensions: mbstring, fileinfo, intl, sqlite, pdo_sqlite, zip, gd
- 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' => '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
strategy:
# do not stop on another job's failure
fail-fast: false
matrix:
php-versions: ['7.4', '8.0']
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@v2
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
tools: phpunit
extensions: mbstring, fileinfo, intl, sqlite, pdo_sqlite, zip, gd
- 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
+78
View File
@@ -0,0 +1,78 @@
name: Samba Kerberos SSO
on:
push:
branches:
- master
- stable*
paths:
- 'apps/files_external/**'
pull_request:
paths:
- 'apps/files_external/**'
jobs:
smb-kerberos-tests:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php-versions: ['7.4', '8.0']
name: php${{ matrix.php-versions }}-${{ matrix.ftpd }}
steps:
- name: Checkout server
uses: actions/checkout@v2
with:
submodules: true
- name: Pull images
run: |
docker pull icewind1991/samba-krb-test-dc
docker pull icewind1991/samba-krb-test-apache
docker pull icewind1991/samba-krb-test-client
- name: Setup AD-DC
run: |
mkdir data
sudo chown -R 33 data apps config
apps/files_external/tests/setup-krb.sh
- name: Set up Nextcloud
run: |
docker exec --user 33 apache ./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
docker exec --user 33 apache ./occ config:system:set trusted_domains 1 --value 'httpd.domain.test'
# setup user_saml
docker exec --user 33 apache ./occ app:enable user_saml --force
docker exec --user 33 apache ./occ config:app:set user_saml type --value 'environment-variable'
docker exec --user 33 apache ./occ config:app:set user_saml general-uid_mapping --value REMOTE_USER
# setup external storage
docker exec --user 33 apache ./occ app:enable files_external --force
docker exec --user 33 apache ./occ files_external:create smb smb smb::kerberosapache
docker exec --user 33 apache ./occ files_external:config 1 host krb.domain.test
docker exec --user 33 apache ./occ files_external:config 1 share netlogon
docker exec --user 33 apache ./occ files_external:list
- name: Test SSO
run: |
mkdir cookies
chmod 0777 cookies
DC_IP=$(docker inspect dc --format '{{.NetworkSettings.IPAddress}}')
docker run --rm --name client -v $PWD/cookies:/cookies -v /tmp/shared:/shared --dns $DC_IP --hostname client.domain.test icewind1991/samba-krb-test-client \
curl -c /cookies/jar -s --negotiate -u testuser@DOMAIN.TEST: --delegation always http://httpd.domain.test/index.php/apps/user_saml/saml/login
CONTENT=$(docker run --rm --name client -v $PWD/cookies:/cookies -v /tmp/shared:/shared --dns $DC_IP --hostname client.domain.test icewind1991/samba-krb-test-client \
curl -b /cookies/jar -s --negotiate -u testuser@DOMAIN.TEST: --delegation always http://httpd.domain.test/remote.php/webdav/smb/test.txt)
echo $CONTENT
CONTENT=$(echo $CONTENT | tr -d '[:space:]')
[[ $CONTENT == "testfile" ]]
smb-kerberos-summary:
runs-on: ubuntu-latest
needs: smb-kerberos-tests
if: always()
steps:
- name: Summary status
run: if ${{ needs.smb-kerberos-tests.result != 'success' }}; then exit 1; fi
-37
View File
@@ -1,37 +0,0 @@
# SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Close stale issues
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * *"
permissions:
contents: read
jobs:
stale:
runs-on: ubuntu-latest
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
permissions:
issues: write
steps:
- uses: actions/stale@3a9db7e6a41a89f618792c92c0e97cc736e1b13f # v9
with:
repo-token: ${{ secrets.COMMAND_BOT_PAT }}
stale-issue-message: >
This issue has been automatically marked as stale because it has not had
recent activity and seems to be missing some essential information.
It will be closed if no further activity occurs. Thank you
for your contributions.
stale-issue-label: 'stale'
only-labels: 'needs info'
exempt-issue-labels: '1. to develop,2. developing,3. to review,4. to release,security'
days-before-stale: 30
days-before-close: 14
# debug-only: true
+52 -142
View File
@@ -1,146 +1,56 @@
# SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Psalm static code analysis
name: 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
on: [pull_request]
jobs:
static-code-analysis:
runs-on: ubuntu-latest
static-code-analysis:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Checkout submodules
shell: bash
run: |
auth_header="$(git config --local --get http.https://github.com/.extraheader)"
git submodule sync --recursive
git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
- name: Set up php7.4
uses: shivammathur/setup-php@master
with:
php-version: 7.4
extensions: ctype,curl,dom,fileinfo,gd,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
- name: Composer install
run: composer i
- name: Psalm
run: composer run psalm -- --monochrome --no-progress --output-format=github --update-baseline || ( git diff -- . ':!lib/composer' && exit 1 )
- name: Check diff
run: git diff -- . ':!lib/composer'
- name: Show potential changes in Psalm baseline
run: |
bash -c "[[ ! \"`git status --porcelain build/psalm-baseline.xml`\" ]] || ( echo 'Uncommited changes in Psalm baseline' && git status && git diff build/psalm-baseline.xml)"
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: apcu,ctype,curl,dom,fileinfo,ftp,gd,imagick,intl,json,ldap,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Composer install
run: composer i
- name: Psalm
run: composer run psalm -- --threads=1 --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-security:
runs-on: ubuntu-latest
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
steps:
- name: Checkout code
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,ftp,gd,imagick,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'
- name: Upload Security Analysis results to GitHub
if: always()
uses: github/codeql-action/upload-sarif@51f77329afa6477de8c49fc9c7046c15b9a4e79d # v3
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
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:ocp -- --threads=1 --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
static-code-analysis-ocp:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Checkout submodules
shell: bash
run: |
auth_header="$(git config --local --get http.https://github.com/.extraheader)"
git submodule sync --recursive
git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
- name: Set up php7.4
uses: shivammathur/setup-php@master
with:
php-version: 7.4
extensions: ctype,curl,dom,fileinfo,gd,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
- name: Composer install
run: composer i
- name: Psalm
run: composer run psalm -- -c psalm-ocp.xml --monochrome --no-progress --output-format=github --update-baseline || ( git diff -- . ':!lib/composer' && exit 1 )
- name: Check diff
run: git diff -- . ':!lib/composer'
- name: Show potential changes in Psalm baseline
run: |
bash -c "[[ ! \"`git status --porcelain build/psalm-baseline-ocp.xml`\" ]] || ( echo 'Uncommited changes in Psalm baseline' && git status && git diff build/psalm-baseline.xml)"
@@ -1,49 +0,0 @@
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Update CA certificate bundle
on:
workflow_dispatch:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
jobs:
update-ca-certificate-bundle:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
branches: ['master', 'stable32', 'stable31', 'stable30', 'stable29', 'stable28', 'stable27', 'stable26', 'stable25', 'stable24', 'stable23', 'stable22']
name: update-ca-certificate-bundle-${{ matrix.branches }}
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
ref: ${{ matrix.branches }}
submodules: true
- name: Download CA certificate bundle from curl
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
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: 'fix(security): Update CA certificate bundle'
committer: GitHub <noreply@github.com>
author: nextcloud-command <nextcloud-command@users.noreply.github.com>
signoff: true
branch: 'automated/noid/${{ matrix.branches }}-update-ca-cert-bundle'
title: '[${{ matrix.branches }}] fix(security): Update CA certificate bundle'
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,53 @@
name: Update Psalm baseline
on:
workflow_dispatch:
schedule:
- cron: '5 4 * * *'
jobs:
update-psalm-baseline:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Set up php7.4
uses: shivammathur/setup-php@v2
with:
php-version: 7.4
extensions: ctype,curl,dom,fileinfo,gd,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
- 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: 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@v3
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/psalm-baseline-update
# Make sure we can open multiple PRs
branch-suffix: timestamp
title: '[Automated] 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,
});
+11 -31
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,12 +7,13 @@
/apps/inc.php
/assets
/.htaccess
node_modules/
/node_modules
/translationfiles
/translationtool.phar
# ignore all apps except core ones
/apps*/*
!/apps/accessibility
!/apps/cloud_federation_api
!/apps/comments
!/apps/contactsinteraction
@@ -28,14 +25,12 @@ node_modules/
!/apps/sharebymail
!/apps/encryption
!/apps/files_external
!/apps/files_reminders
!/apps/files_sharing
!/apps/files_trashbin
!/apps/files_versions
!/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
@@ -79,7 +74,6 @@ CVS/*
RCS/*
*.backup*
.php_cs.cache
.php-cs-fixer.cache
# kdevelop
.kdev
@@ -102,7 +96,6 @@ nbproject
# vscode
.vscode
*.code-workspace
# geany
*.geany
@@ -127,13 +120,16 @@ 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_*
/build/package-lock.json
# puphpet
puphpet
@@ -144,8 +140,6 @@ Vagrantfile
# Tests - auto-generated files
/data-autotest
/results.sarif
/tests/.phpunit.cache
/tests/.phpunit.result.cache
/tests/coverage*
/tests/css
@@ -160,22 +154,8 @@ 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
+26 -44
View File
@@ -15,22 +15,18 @@
<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"
Header onsuccess unset X-Download-Options
Header always set X-Download-Options "noopen"
Header onsuccess unset X-Frame-Options
Header always set X-Frame-Options "SAMEORIGIN"
@@ -38,28 +34,38 @@
Header always set X-Permitted-Cross-Domain-Policies "none"
Header onsuccess unset X-Robots-Tag
Header always set X-Robots-Tag "noindex, nofollow"
Header always set X-Robots-Tag "none"
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)$">
<If "%{QUERY_STRING} =~ /(^|&)v=/">
Header set Cache-Control "max-age=15778463, immutable"
</If>
<Else>
Header set Cache-Control "max-age=15778463"
</Else>
<FilesMatch "\.(css|js|svg|gif|png|jpg|ico)$">
Header set Cache-Control "max-age=15778463"
</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>
# PHP 7.x
<IfModule mod_php7.c>
php_value mbstring.func_overload 0
php_value default_charset 'UTF-8'
php_value output_buffering 0
<IfModule mod_env.c>
SetEnv htaccessWorking true
</IfModule>
</IfModule>
# PHP 8+
<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>
@@ -69,10 +75,7 @@
<IfModule mod_mime.c>
AddType image/svg+xml svg svgz
AddType application/wasm wasm
AddEncoding gzip svgz
# Serve ESM javascript files (.mjs) with correct mime type
AddType text/javascript js mjs
</IfModule>
<IfModule mod_dir.c>
@@ -93,29 +96,8 @@
RewriteRule ^remote/(.*) remote.php [QSA,L]
RewriteRule ^(?:build|tests|config|lib|3rdparty|templates)/.* - [R=404,L]
RewriteRule ^\.well-known/(?!acme-challenge|pki-validation) /index.php [QSA,L]
RewriteRule ^ocm-provider/?$ index.php [QSA,L]
RewriteRule ^(?:\.(?!well-known)|autotest|occ|issue|indie|db_|console).* - [R=404,L]
</IfModule>
# Clients like xDavv5 on Android, or Cyberduck, use chunked requests.
# 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
+1 -2
View File
@@ -1,5 +1,4 @@
{
"esversion": 11,
"camelcase": true,
"eqeqeq": true,
"immed": true,
@@ -12,10 +11,10 @@
"maxparams": 5,
"curly": true,
"jquery": true,
"maxlen": 120,
"indent": 4,
"browser": true,
"laxbreak": true,
"asi": true,
"globals": {
"console": true,
"it": true,
-3
View File
@@ -82,7 +82,6 @@ Dan Callahan <dan.callahan@gmail.com>
Dan Jones <dan@danneh.org>
Daniel <daniel@mars.(none)>
Daniel Hansson <enoch85@gmail.com>
Daniel Kesselberg <mail@danielkesselberg.de> kesselb <mail@danielkesselberg.de>
Daniel Köb <daniel.koeb@peony.at>
Daniel Molkentin <daniel@molkentin.de>
Daniele E. Domenichelli <daniele.domenichelli@gmail.com>
@@ -215,7 +214,6 @@ Lennart Rosam <lennart.rosam@medien-systempartner.de>
Sebastian Döll <sebastian.doell@libasys.de> libasys <sebastian.doell@libasys.de>
Lode Hoste <zillode@zillode.be>
lolozere <laurent@chedanne.pro>
Louis Chemineau <louis@chmn.me> Louis Chemineau <6653109+artonge@users.noreply.github.com>
Lorenzo M. Catucci <lorenzo@sancho.ccd.uniroma2.it>
Lukas Reschke <lukas@statuscode.ch> Lukas Reschke <lukas@owncloud.com>
Lukas Reschke <lukas@statuscode.ch> Lukas Reschke <lukas@owncloud.org>
@@ -252,7 +250,6 @@ Michael Monreal <michael.monreal@gmail.com>
Michael Roitzsch <reactorcontrol@icloud.com>
michag86 <micha_g@arcor.de>
Michiel de Jong <michiel@unhosted.org> Michiel@unhosted <michiel@unhosted.org>
Micke Nordin <kano@sunet.se> Mikael Nordin <mickenordin@users.noreply.github.com>
Miguel Prokop <miguel.prokop@vtu.com>
miicha <pfitzner@physik.hu-berlin.de>
Miquel Rodríguez Telep / Michael Rodríguez-Torrent <miquel@designunbound.co.uk>

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