Compare commits

..

726 Commits

Author SHA1 Message Date
Roeland Jago Douma a5738cc175 Merge pull request #25064 from nextcloud/version/20.0.5/rc2
20.0.5 RC2
2021-01-12 11:51:22 +01:00
Roeland Jago Douma e89d4a4f40 Merge pull request #25076 from nextcloud/backport/25016/stable20
[stable20] Add setup check to verify that the used DB version is still supported…
2021-01-12 11:50:52 +01:00
Morris Jobke 349c9ef74f Add setup check to verify that the used DB version is still supported in the next major release
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2021-01-12 10:18:19 +01:00
Nextcloud bot 6a1d17312c [tx-robot] updated from transifex 2021-01-12 02:20:00 +00:00
Morris Jobke 4ee41a7679 Merge pull request #25074 from nextcloud/backport/25069/stable20
[stable20] Don't remove assignable column for now
2021-01-11 14:26:14 +01:00
Vincent Petry c96f3e830a Don't remove assignable column for now
It causes side effects.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-01-11 12:19:54 +00:00
Roeland Jago Douma 6594ca4bbb Merge pull request #25066 from nextcloud/psalm/noid/update-psalm-baseline
[stable20] Update psalm-baseline.xml
2021-01-11 10:46:08 +01:00
Morris Jobke 08f6444474 Merge pull request #25019 from nextcloud/backport/24999/stable20
[stable20] Set the user language when adding the footer
2021-01-11 10:24:17 +01:00
Morris Jobke 568d46a3a5 [stable20] Update psalm-baseline.xml
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2021-01-11 10:18:58 +01:00
Morris Jobke 43ec70d43b Merge pull request #25035 from nextcloud/backport/25017/stable20
[stable20] Fix clearing the label of a share
2021-01-11 10:02:21 +01:00
Roeland Jago Douma f71f9a32ec 20.0.5 RC2
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-01-11 09:41:58 +01:00
Nextcloud bot a156722ece [tx-robot] updated from transifex 2021-01-11 02:20:05 +00:00
Nextcloud bot c7b9964b4a [tx-robot] updated from transifex 2021-01-10 02:22:51 +00:00
Nextcloud bot df3ba2fde2 [tx-robot] updated from transifex 2021-01-09 02:21:47 +00:00
Daniel Calviño Sánchez b078f28029 Fix clearing the label of a share
When the label is being edited its value is stored in "newLabel", and
the original label is shown only if "newLabel" is not set. However, as
it was checked against any falsy value instead of only undefined when
the label was cleared and thus it has an empty value the original label
was shown instead.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
2021-01-08 17:30:17 +00:00
Roeland Jago Douma f66d88c85a Merge pull request #25030 from nextcloud/backport/25029/stable20
[stable20] Change defaultapp in config.sample.php to dashboard to improve docs and align it to source code
2021-01-08 12:17:42 +01:00
rakekniven a4e6c44581 Change defaultapp to dashboard
Result of discussion at https://help.nextcloud.com/t/enable-dashboard-on-per-user-basis/94872

Code reference:
https://github.com/nextcloud/server/blob/db86bea18ce41ad73e9c1a06f2b2d89d8d4f2ef8/lib/private/legacy/OC_Util.php#L1106

Signed-off-by: rakekniven <mark.ziegler@rakekniven.de>
2021-01-08 09:10:24 +00:00
Julius Härtl 36388085f6 Set the user language when adding the footer
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-01-08 10:09:41 +01:00
Nextcloud bot 0e20ce014a [tx-robot] updated from transifex 2021-01-08 02:22:41 +00:00
Roeland Jago Douma 6d5f5bfa61 Merge pull request #24960 from nextcloud/version/20.0.5/rc1
20.0.5 RC1
2021-01-07 20:43:19 +01:00
Roeland Jago Douma 102a6fedd0 Merge pull request #25009 from nextcloud/backport/25001/stable20
[stable20] Fix column name to check prior to deleting
2021-01-07 19:46:56 +01:00
blizzz b2cfd43b8f Merge pull request #25013 from nextcloud/backport/25011/stable20
[stable20] Catch throwable instead of exception
2021-01-07 18:14:22 +01:00
Roeland Jago Douma cb958df63a Catch throwable instead of exception
The error that gets thrown can also be a type error etc. So we should
properly catch the Throwable.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-01-07 14:25:15 +00:00
Morris Jobke 8295cc90d8 Merge pull request #24590 from nextcloud/backport/24358/stable20
[stable20] use storage copy implementation when doing dav copy
2021-01-07 14:08:17 +01:00
Joas Schilling 1142b17cda Fix column name to check prior to deleting
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-01-07 12:33:01 +00:00
Morris Jobke fb0067a777 Merge pull request #24592 from nextcloud/backport/23912/stable20
[stable20] use in objectstore copy
2021-01-07 13:28:10 +01:00
Roeland Jago Douma 7db2278ef9 Merge pull request #24716 from nextcloud/backport/24402/stable20
[stable20] LDAP: fix inGroup for memberUid type of group memberships
2021-01-07 13:17:59 +01:00
Roeland Jago Douma 0f395d8527 Merge pull request #24976 from nextcloud/backport/24961/stable20
[stable20] Fix unreliable ViewTest
2021-01-07 13:17:29 +01:00
Roeland Jago Douma 2dbf407f7e Merge pull request #24963 from nextcloud/backport/24829/stable20
[stable20] Add migration for oc_share_external columns
2021-01-07 13:16:56 +01:00
Roeland Jago Douma 2fa3f24d04 Merge pull request #24997 from nextcloud/backport/24988/stable20
[stable20] Set the JSCombiner cache if needed
2021-01-07 09:56:06 +01:00
Vincent Petry 9c7d733c01 Also add missing oc_share_external.share_type column
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-01-07 09:39:10 +01:00
Vincent Petry 9c54467c94 Adjust share_external table
Add column "parent" if missing.
Drop column "lastscan" if exists.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-01-07 09:38:59 +01:00
Roeland Jago Douma 9e6cc31f60 Merge pull request #24972 from nextcloud/backport/24964/stable20
[stable20] Don't throw a 500 when importing a broken ics reminder file
2021-01-07 09:08:11 +01:00
Roeland Jago Douma 82fab4d621 Set the JSCombiner cache if needed
Found while debugging a customer setup. They had to flush their Redis.
Hence the info was no longer there. Since they also used S3 this meant
requesting the files over and over on template render. Which on S3 is
not cheap.

Now we just write it back if we can't get it from the cache in the first
place. So that the next run has it cached properly again.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-01-07 07:43:25 +00:00
Nextcloud bot 2f1c118d3b [tx-robot] updated from transifex 2021-01-07 02:21:21 +00:00
Morris Jobke da150d49be Merge pull request #24990 from nextcloud/backport/24986/stable20
[stable20] Update root.crl due to revocation of transmission.crt
2021-01-06 21:06:29 +01:00
Morris Jobke 9fb384cf7c Update root.crl due to revocation of transmission.crt
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2021-01-06 19:44:38 +00:00
blizzz cb610c9b31 Merge pull request #24760 from nextcloud/backport/24703/stable20
[stable20] enables the file name check also to match name of mountpoints
2021-01-06 09:54:44 +01:00
Nextcloud bot bf0bbc0846 [tx-robot] updated from transifex 2021-01-06 02:20:12 +00:00
blizzz 25143fc87b Merge pull request #24763 from nextcloud/backport/24515/stable20
[stable20] fixes sharing to group ids with characters that are being url encoded
2021-01-05 23:35:26 +01:00
Arthur Schiwon f34202190c fixes sharing to group ids /w chars that are being url encoded, carddav
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-01-05 18:54:15 +01:00
Arthur Schiwon b4434833af fix finding of groups with decodable chars in their id via DAV
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-01-05 18:54:15 +01:00
Arthur Schiwon 3ce013fa14 fixes sharing to group ids with characters that are being url encoded
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-01-05 18:54:15 +01:00
Julius Härtl 8d9fa73371 Properly handle result when copying with failure and throw in tests
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-01-05 16:57:51 +01:00
Julius Härtl 865e4ab0ec Fix writeStream mocking
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-01-05 14:51:40 +00:00
Julius Härtl 2f6b2b6fa4 Merge pull request #24878 from nextcloud/backport/stable20/23017 2021-01-05 15:14:21 +01:00
Joas Schilling 088418fd91 Don't throw a 500 when importing a broken ics reminder file
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-01-05 11:59:40 +00:00
Julius Härtl 24053edf8a Bump bundles
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-01-05 10:05:52 +01:00
Julius Härtl 61b574b130 Show unique displayname context in the user share list entries
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-01-05 10:05:52 +01:00
Julius Härtl 3666754be7 Show unique displayname context in the sharing input
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-01-05 10:05:52 +01:00
Julius Härtl defdaf1e18 Make share results distinguishable if there are more than one with the exact same display name
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-01-05 10:05:52 +01:00
Roeland Jago Douma f96e680fdf 20.0.5 RC1
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-01-05 09:20:14 +01:00
Nextcloud bot 48865b30f5 [tx-robot] updated from transifex 2021-01-05 02:21:38 +00:00
Nextcloud bot 13e5504dcc [tx-robot] updated from transifex 2021-01-04 02:21:58 +00:00
Nextcloud bot ddeb7446cb [tx-robot] updated from transifex 2021-01-03 02:21:07 +00:00
Nextcloud bot 85d5a815fc [tx-robot] updated from transifex 2021-01-01 02:21:13 +00:00
Nextcloud bot 0943120949 [tx-robot] updated from transifex 2020-12-31 02:27:13 +00:00
Roeland Jago Douma f16746e902 Merge pull request #24876 from nextcloud/backport/24874/stable20
[stable20] Avoid huge exception argument logging
2020-12-30 10:51:01 +01:00
Nextcloud bot f00e1e778a [tx-robot] updated from transifex 2020-12-30 02:19:19 +00:00
Roeland Jago Douma 6762e616f5 Avoid huge exception argument logging
In some cases it might happen that you have an argument that deep down
somewhere has an array with a lot of entries (think thousands). Now
before we would just happily print them all. Which would fill the log.

Now it will just print the first 5. And add a line that there are N
more.

If you are on debug level we will still print them all.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-12-29 10:46:56 +00:00
Nextcloud bot af77e89e67 [tx-robot] updated from transifex 2020-12-29 02:20:01 +00:00
Roeland Jago Douma d96555c413 Merge pull request #24854 from nextcloud/backport/24833/stable20
[stable20] Fix total upload size overwritten by next upload
2020-12-28 14:19:49 +01:00
Julius Härtl 530e637e35 Merge pull request #24853 from nextcloud/backport/24832/stable20
[stable20] Make oc_files_trash.auto_id a bigint
2020-12-28 12:40:20 +01:00
Roeland Jago Douma fc327ee9de Merge pull request #24728 from nextcloud/backport/24721/stable20
[stable20] Cancel user search requests to avoid duplicate results being added
2020-12-28 11:27:30 +01:00
Roeland Jago Douma 1935993e47 Merge pull request #24709 from nextcloud/backport/24683/stable20
[stable20] [Fix #24682]: ensure federation cloud id is retruned if FN property not found
2020-12-28 11:24:29 +01:00
Daniel Calviño Sánchez d4b1ba7785 Fix total upload size overwritten by next upload
The upload progress is based on the "totalToUpload" variable. However,
as the variable is set when an upload is submitted, if another upload is
submitted before the previous one finished the upload progress only took
into account the size of the new upload (although the upload itself
worked fine; the files of the new submitted upload are added to the
active one). Now "totalToUpload" is either increased or set depending on
whether an upload is active or not.

Note that although "data.total" holds the total size of the files being
uploaded "totalToUpload" needs to be used in "fileuploadprogressall"
instead; "totalToUpload" is calculated when the upload is submitted, but
since 7c4c5fe6ae the actual upload of the files, and thus updating the
value of "data.total", may be deferred until the parent folders were
created.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-12-28 10:21:13 +00:00
Roeland Jago Douma afbc2d5cd3 Merge pull request #24826 from nextcloud/backport/24824/stable20
[stable20] Catch the error on heartbeat update
2020-12-28 10:47:29 +01:00
Vincent Petry 558cf72a28 Make oc_files_trash.auto_id a bigint
Adjusted migration.
Added to occ command to update existing tables.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2020-12-28 09:46:02 +00:00
Nextcloud bot fab7e85bbb [tx-robot] updated from transifex 2020-12-28 02:19:20 +00:00
Nextcloud bot 3cb3125c4c [tx-robot] updated from transifex 2020-12-27 02:24:54 +00:00
Nextcloud bot 421244e777 [tx-robot] updated from transifex 2020-12-26 02:19:59 +00:00
Nextcloud bot 1524e7b431 [tx-robot] updated from transifex 2020-12-24 02:20:20 +00:00
Roeland Jago Douma 72c5356a55 Catch the error on heartbeat update
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
2020-12-23 11:48:21 +00:00
Roeland Jago Douma e97a0c1307 Merge pull request #24823 from nextcloud/backport/24730/stable20
[stable20] Fix IPv6 localhost regex
2020-12-23 09:33:42 +01:00
Nextcloud bot f4a2a7302e [tx-robot] updated from transifex 2020-12-23 02:20:21 +00:00
J0WI d749f515de Fix IPv6 localhost regex
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2020-12-22 20:55:55 +00:00
John Molakvoæ 680e03c628 Merge pull request #24806 from nextcloud/backport/24604/stable20
[stable20] Allow to force rename a conflicting calendar
2020-12-22 10:59:08 +01:00
Roeland Jago Douma d5f4ca6e74 Merge pull request #24798 from nextcloud/backport/24796/stable20
[stable20] Actually set the TTL on redis set
2020-12-22 09:10:47 +01:00
John Molakvoæ (skjnldsv) 4fa34362a3 Allow to force rename a conflicting calendar
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2020-12-22 07:35:23 +00:00
Nextcloud bot 1b19cc5bae [tx-robot] updated from transifex 2020-12-22 02:19:17 +00:00
Guillaume Virlet a8f60c82e4 [Fix #24682]: ensure federation cloud id is retruned if FN property not found
Signed-off-by: Guillaume Virlet <github@virlet.org>
2020-12-21 22:59:43 +01:00
Roeland Jago Douma 34b8e42bf0 Actually set the TTL on redis set
Else well the keys remain for ever and ever.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-12-21 13:51:18 +00:00
Roeland Jago Douma db22392fd0 Merge pull request #24792 from nextcloud/backport/23319/stable20
[stable20] Fix Argon2 descriptions
2020-12-21 13:32:55 +01:00
Roeland Jago Douma 98c235a436 Merge pull request #24751 from nextcloud/backport/24737/stable20
[stable20] Also unset the other possible unused paramters
2020-12-21 11:43:49 +01:00
Roeland Jago Douma 2a91d7837b Merge pull request #24791 from nextcloud/backport/24715/stable20
[stable20] Limit getIncomplete query to one row
2020-12-21 10:32:28 +01:00
MichaIng d8ff570971 Fix Argon2 descriptions
The threads option for the password_hash function does not define the maximum allowed number of CPU threads to be used by the hashing algorithm but the exact number of threads that is used.

Similarly the memory_cost option for the password_hash function does not define the maximum allowed memory to be used by the hashing algorithm, but the exact amount of memory that is used by the hashing table. The minimum value is 8 KiB per thread.

The time_cost option for the password_hash function does not define the allowed time in seconds, but the number of iterations for the hash function.

If the minimum values are understood, the minimum values are used instead.

Signed-off-by: MichaIng <micha@dietpi.com>
2020-12-21 08:26:34 +00:00
Daniel Kesselberg d22ff8624b Limit getIncomplete query to one row
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2020-12-21 08:17:46 +00:00
Nextcloud bot 98c22e2c77 [tx-robot] updated from transifex 2020-12-21 02:19:05 +00:00
Nextcloud bot bfb8c07724 [tx-robot] updated from transifex 2020-12-20 02:19:39 +00:00
Nextcloud bot b47bbce075 [tx-robot] updated from transifex 2020-12-19 02:19:47 +00:00
Arthur Schiwon b432a9f5da consider local external storages, too
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-12-18 10:48:46 +00:00
Arthur Schiwon c0c88e3bd8 enables the file name check also to match name of mountpoints
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-12-18 10:48:42 +00:00
Roeland Jago Douma 5de0c3c5f7 Also unset the other possible unused paramters
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-12-18 07:41:00 +00:00
Nextcloud bot 5ea6481355 [tx-robot] updated from transifex 2020-12-18 02:20:20 +00:00
Nextcloud bot 8363530294 [tx-robot] updated from transifex 2020-12-17 02:20:29 +00:00
Julius Härtl 979331baae Bump bundles
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
2020-12-16 13:16:04 +00:00
Julius Härtl 824b10956f Only let the infinite handler fetch more results if the limit is hit
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-16 12:59:40 +00:00
Julius Härtl d2e63cd31a Cancel user search requests to avoid duplicate results being added
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-16 12:59:38 +00:00
Roeland Jago Douma 6c8cd720b8 Merge pull request #24714 from nextcloud/backport/24713/stable20
[stable20] Do not include non-required scripts on the upgrade page
2020-12-16 08:55:17 +01:00
Nextcloud bot 257e3dd50b [tx-robot] updated from transifex 2020-12-16 02:20:51 +00:00
Arthur Schiwon 270eb6c593 php-cs happyness
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-12-15 21:37:58 +00:00
Arthur Schiwon 43c6bc134e add unit tests
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-12-15 21:37:56 +00:00
Arthur Schiwon cca1fb792b check number of members after potential resolving of rdns
- the type check is not necessary anymore for the return type of
  _groupMembers()

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-12-15 21:37:54 +00:00
Arthur Schiwon 213464afca use faster and less hungry foreach
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-12-15 21:37:51 +00:00
Tobias Perschon 250c7535cd moved the array_reduce to fix large search case
also added some additional comments and renamed some vars to make it intuitive whats in them

Signed-off-by: Tobias Perschon <tobias@perschon.at>
2020-12-15 21:37:49 +00:00
Arthur Schiwon d818975d84 flatten result array as expected by following code
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-12-15 21:37:47 +00:00
Julius Härtl 55d7848384 Do not include non-required scripts on the upgrade page
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-15 20:42:07 +00:00
Roeland Jago Douma 9305a00414 Merge pull request #24546 from nextcloud/backport/24543/stable20
[stable20] Don't log params of imagecreatefromstring
2020-12-15 16:36:00 +01:00
Roeland Jago Douma e6e6725024 Merge pull request #24697 from nextcloud/backport/24589/stable20
[stable20] Add tel, note, org and title search
2020-12-15 09:17:30 +01:00
Roeland Jago Douma f0c2807cac Merge pull request #24698 from nextcloud/backport/24416/stable20
[stable20] Check php compatibility of app store app releases
2020-12-15 09:15:17 +01:00
Nextcloud bot 2304f1ef10 [tx-robot] updated from transifex 2020-12-15 02:22:22 +00:00
Roeland Jago Douma d50e8d85c7 Merge pull request #24693 from nextcloud/version/20.0.4/final
20.0.4
2020-12-14 19:40:45 +01:00
Christoph Wurst 0ae5c8dd3b Check php compatibility of app store app releases
Apps might increase the minimum php version requirement, in which case
an update could break the app or even the whole instance. We must not
install those releases, or better, don't even show them for
update/installation. This extends the app fetcher code to filter out the
releases that are not installable.

The filter respects minimum and maximum requirements. E.g. apps that are
still only released for php7.3 won't show up for php7.4 instances. This
behavior is new but if an app lists an explicit version requirement,
then we ought to repect that.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-14 17:22:10 +00:00
John Molakvoæ (skjnldsv) d44c6aa524 Add tel, note, org and title search
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2020-12-14 16:41:55 +00:00
Roeland Jago Douma 176a07895b Bump bundle
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-12-14 15:54:56 +01:00
Roeland Jago Douma 556a14f283 20.0.4
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-12-14 15:36:19 +01:00
Roeland Jago Douma 24fe3ee439 Merge pull request #24653 from nextcloud/backport/23044/stable20
[stable20] Handle owncloud migration to latest release
2020-12-14 15:35:00 +01:00
Roeland Jago Douma 209d4c0ff8 Merge pull request #24654 from nextcloud/backport/24247/stable20
[stable20] Use string for storing a OCM remote id
2020-12-14 15:31:12 +01:00
Roeland Jago Douma 8fc1ab560a Merge pull request #24636 from nextcloud/fix/noid/dashboard-without-accessibility
[stable20] Avoid dashboard crash when accessibility app is not installed
2020-12-14 15:14:52 +01:00
Julius Härtl be0936daed Bump dav app version
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-14 11:14:07 +01:00
Julius Härtl 5dbc94bfad Add missing table columns
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-14 11:12:52 +01:00
Julius Härtl b84bdb1080 Make sure the migrations table schema is always checked
Signed-off-by: Julius Härtl <jus@bitgrid.net>

Revert "Make sure the migrations table schema is always checked"

This reverts commit 258955ef738a52d9da2ac2fe59466e6093d7e9bc.

Set current vendor during upgrade and perform migrations table change if needed

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-14 11:12:52 +01:00
Julius Härtl 0207be4c79 Change further columns to be nullable with a default of 0
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-14 11:12:52 +01:00
Julius Härtl 368dac3ba3 Properly migrate from new owncloud avatar location
as the files are not scanned we cannot use the OCP\Files api

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-14 11:12:52 +01:00
Julius Härtl 7c3d3c58d3 Dump autoloader
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-14 11:12:52 +01:00
Julius Härtl 7ce95a4fcb Readd repair steps that are relevant when migrating from ownCloud
This reverts commit d9b1492e03.

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-14 11:12:52 +01:00
Julius Härtl de369fdeaa Handle oc_dav_properties migration
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-14 11:12:51 +01:00
Julius Härtl df44acfa07 Add missing index on oc_cards and rename if it previously existed
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-14 11:12:51 +01:00
Julius Härtl 8e72e8c622 Move authtoken login_name column to varchar(255)
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-14 11:12:51 +01:00
Julius Härtl 7c9fcc434f Add missing mount_id index
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-14 11:12:51 +01:00
Julius Härtl 1fe7836c8d Drop attributes on oc_share table
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-14 11:12:51 +01:00
Julius Härtl 3373eff308 Drop assignable systemtag column
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-14 11:12:51 +01:00
Julius Härtl a35cba722d Drop oc_dav_job_status table
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-14 11:12:50 +01:00
Vincent Petry d9bdb5b94b Adjust execution duration to 0
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2020-12-14 11:12:50 +01:00
Vincent Petry 958f7968e3 Adjust further columns
- calendarsubscriptions.lastmodified -> not null
- external_config.value -> allow null

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2020-12-14 11:12:50 +01:00
Vincent Petry 1fef301334 Adjust calendars.components to 64 chars
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2020-12-14 11:12:50 +01:00
Julius Härtl ab40a7c585 Allow major/minor match for owncloud version
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-14 11:12:50 +01:00
Julius Härtl 934f8a17f9 Avoid checking for brute force protection capabilities when upgrading
This might happen a releases that doesn't have this table yet

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-14 11:12:50 +01:00
Julius Härtl 7f1f8963e4 Fix missing authtoken scope
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-14 11:12:50 +01:00
Julius Härtl 5d2988e3bd Drop fk constraints on locks table
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-14 11:12:49 +01:00
Julius Härtl cc9825c70d Allow upgrade from oc 10.5
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-14 11:12:49 +01:00
Julius Härtl 5c0e8c648b Bump app versions for federatedfilesharing and files_sharing
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-14 11:11:56 +01:00
Julius Härtl 05919a27b8 Update psalm baseline
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-14 11:11:00 +01:00
Julius Härtl e155943a3b Resolve conflict in addShare parameters
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-14 11:11:00 +01:00
Julius Härtl 0bbc0dde10 Update psalm baseline
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-14 11:10:59 +01:00
Julius Härtl ace90466d6 Add temporary test for migrating int to string
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-14 11:10:59 +01:00
Julius Härtl 3cf7041c94 Adjust default
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-14 11:10:59 +01:00
Julius Härtl ff544a2880 Do not register share menu in cases where the files app has not been registered yet
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-14 11:10:59 +01:00
Julius Härtl e97897cfa5 Get rid of database.xml in files_sharing
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-14 11:10:59 +01:00
Julius Härtl 58f6238af2 Move columns to bigint
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-14 11:10:58 +01:00
Julius Härtl 40a8bb53b1 Migrate files_sharing to migrations and move remote_id to a string in share_external
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-14 11:10:58 +01:00
Julius Härtl 62ecb57c7f Move remoteId of remote reshares to string
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-14 11:10:58 +01:00
Nextcloud bot adc00127ab [tx-robot] updated from transifex 2020-12-14 02:19:37 +00:00
Nextcloud bot cbad21aa2c [tx-robot] updated from transifex 2020-12-13 02:18:42 +00:00
Nextcloud bot c676da759e [tx-robot] updated from transifex 2020-12-12 02:18:57 +00:00
Julien Veyssier ec02f6f3a5 avoid dashboard js crash when accessibility app is not installed
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
2020-12-11 12:22:27 +00:00
Roeland Jago Douma dec23ed599 Merge pull request #24649 from nextcloud/dependabot/npm_and_yarn/stable20/ini-1.3.7
[Security] Bump ini from 1.3.5 to 1.3.7
2020-12-11 13:05:42 +01:00
Nextcloud bot 62a7ec3d28 [tx-robot] updated from transifex 2020-12-11 02:20:27 +00:00
dependabot-preview[bot] 7f755a0718 [Security] Bump ini from 1.3.5 to 1.3.7
Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.7. **This update includes a security fix.**
- [Release notes](https://github.com/isaacs/ini/releases)
- [Commits](https://github.com/isaacs/ini/compare/v1.3.5...v1.3.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-10 17:45:20 +00:00
Nextcloud bot 4a51875a73 [tx-robot] updated from transifex 2020-12-10 02:20:27 +00:00
Roeland Jago Douma 9c053c6660 Merge pull request #24621 from nextcloud/version/20.0.3/final
20.0.3
2020-12-09 20:24:07 +01:00
Roeland Jago Douma 7830a6dd14 20.0.3
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-12-09 20:05:53 +01:00
Nextcloud bot f413277fe1 [tx-robot] updated from transifex 2020-12-09 02:19:57 +00:00
Nextcloud bot c007cd01e9 [tx-robot] updated from transifex 2020-12-08 02:20:33 +00:00
Roeland Jago Douma 0576ca83fd Merge pull request #24584 from nextcloud/version/20.0.3/RC2
20.0.3 RC2
2020-12-07 21:20:14 +01:00
Robin Appelman 694032c54c use in objectstore copy
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-12-07 16:07:21 +00:00
Robin Appelman 6790369cfe use storage copy implementation when doing dav copy
instead of using the sabredav fallback (which does a read+write stream copy)

this greatly speeds up dav copies

Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-12-07 16:07:06 +00:00
Roeland Jago Douma b9011c1d1d Merge pull request #24563 from nextcloud/backport/24552/stable20
[stable20] Remember me is not an app_password
2020-12-07 11:52:17 +01:00
Roeland Jago Douma d73ba6595a 20.0.3 RC2
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-12-07 11:44:46 +01:00
Roeland Jago Douma 519ce1add9 Merge pull request #24582 from nextcloud/backport/24581/stable20
[stable20] Do not load nonexisting setup.js
2020-12-07 11:16:12 +01:00
Julius Härtl 6e2dc3e4f0 Do not load nonexisting setup.js
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-07 08:20:02 +00:00
Nextcloud bot b8e8bc5ddd [tx-robot] updated from transifex 2020-12-07 02:20:52 +00:00
Nextcloud bot 80ef7e14da [tx-robot] updated from transifex 2020-12-06 02:19:39 +00:00
Nextcloud bot 4a2abf3d49 [tx-robot] updated from transifex 2020-12-05 02:19:00 +00:00
Morris Jobke 607e902070 Fix typo
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-12-04 15:56:29 +00:00
Roeland Jago Douma e6947bd6ca Remember me is not an app_password
While technically they are stored the same. This session variable is
used to indicate that a user is using an app password to authenticate.
Like from a client. Or when having it generated automatically.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-12-04 15:56:24 +00:00
Christoph Wurst d22fb14d92 Merge pull request #24557 from nextcloud/bugfix/noid/force-composerv1/stable20
[stable20] dont use system composer for autoload checker
2020-12-04 16:17:26 +01:00
Roeland Jago Douma 233d4164a6 Merge pull request #24553 from nextcloud/backport/24550/stable20
[stable20] Generate a new session id if the decrypting the session data fails
2020-12-04 16:09:52 +01:00
Roeland Jago Douma c7cb8eb007 Merge pull request #24556 from nextcloud/revert/stable20/21090
Revert "Do not read certificate bundle from data dir by default"
2020-12-04 15:09:22 +01:00
Julius Härtl 55b9e554ec Force composer v1
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-04 14:27:35 +01:00
Robin Appelman c55197791a cleanup after autoloader generation
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-12-04 14:27:14 +01:00
Robin Appelman ec041c3ad5 dont use system composer for autoload checker
this ensures that the same composer version is used by everyone (and ci)

Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-12-04 14:27:03 +01:00
Morris Jobke b1e9752169 Revert "Do not read certificate bundle from data dir by default"
This reverts commit 18b0d753f2.
2020-12-04 13:37:10 +01:00
Roeland Jago Douma f52337e8be Generate a new session id if the decrypting the session data fails
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-12-04 11:55:31 +00:00
Vincent Petry d4d009fc8e Don't log params of imagecreatefromstring
To prevent flooding the log with actual image data.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2020-12-04 09:45:29 +00:00
Nextcloud bot a53871f629 [tx-robot] updated from transifex 2020-12-04 02:19:34 +00:00
Morris Jobke 84250221d7 Merge pull request #24472 from nextcloud/version/20.0.3/RC1
20.0.3 RC1
2020-12-03 13:49:47 +01:00
Roeland Jago Douma 8f2ba14e0a 20.0.3 RC1
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-12-03 13:11:53 +01:00
Morris Jobke 55a76ab3e2 Merge pull request #24534 from nextcloud/3rdparty/stable20/archive_tar
[3rdparty][security] Archive TAR to 1.4.11
2020-12-03 13:11:12 +01:00
Roeland Jago Douma ce953d1571 Merge pull request #24532 from nextcloud/backport/24409/stable20
[stable20] Also run repair steps when encryption is disabled but a legacy key is present
2020-12-03 12:22:41 +01:00
Roeland Jago Douma a91320ff0c [3rdparty][security] Archive TAR to 1.4.11
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-12-03 11:28:41 +01:00
Morris Jobke 1a041f7ac7 Merge pull request #24530 from nextcloud/fix/stable20-nextcloud-log-normalizer
[stable20] Replace abandoned log normalizer with our fork
2020-12-03 11:14:46 +01:00
Morris Jobke 73f854dc0a Merge pull request #24531 from nextcloud/backport/24516/stable20
[stable20] Add icon to user limit notification
2020-12-03 11:14:03 +01:00
Roeland Jago Douma ff0d6c1cb9 Merge pull request #24527 from nextcloud/backport/24519/stable20
[stable20] Fix vsprint parameter
2020-12-03 11:00:56 +01:00
Julius Härtl 14d95cb2e3 Also handle legacy cipher support when encryption is disabled but an old master key is present
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-03 09:56:59 +00:00
Morris Jobke 4c5662a658 Improve wording
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-12-03 09:00:56 +00:00
Morris Jobke 3d132f293f Add icon to user limit notification
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-12-03 09:00:54 +00:00
Christoph Wurst 67e5af58ed Replace abandoned log normalizer with our fork
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-03 09:50:10 +01:00
Roeland Jago Douma f6c24133a4 Merge pull request #24517 from nextcloud/backport/24459/stable20
[stable20] Only execute plain mimetype check for directories and do the fallback…
2020-12-03 09:37:44 +01:00
Roeland Jago Douma 428f0ec151 Fix vsprint parameter
%2\$; is not valid. On php7 this is just ignored but on php8 it gives an
error. %2\$s; works.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-12-03 08:20:04 +00:00
Nextcloud bot 6093d1bcc1 [tx-robot] updated from transifex 2020-12-03 02:20:01 +00:00
Morris Jobke 1181058d18 Only execute plain mimetype check for directories and do the fallback only for non-directories
Ref #23096

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-12-02 20:02:27 +00:00
Morris Jobke 54ab2b9f28 Merge pull request #24513 from nextcloud/backport/24501/stable20
[stable20] set mountid for personal external storage mounts
2020-12-02 20:50:08 +01:00
Roeland Jago Douma bdbb60a67b Merge pull request #24509 from nextcloud/backport/23257/stable20
[stable20] Fix file size computation on 32bit platforms
2020-12-02 20:03:24 +01:00
Robin Appelman 987cd0d5ed set mountid for personal external storage mounts
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-12-02 18:50:58 +00:00
Roeland Jago Douma 4d68c618e3 Merge pull request #24511 from nextcloud/backport/23278/stable20
[stable20] Allow subscription to indicate that a userlimit is reached
2020-12-02 19:47:18 +01:00
Morris Jobke a8780debd3 Add notification for user limit
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-12-02 17:24:44 +00:00
Morris Jobke d2fd49c461 Allow subscription to indicate that a userlimit is reached
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-12-02 17:24:42 +00:00
Greta 02427cd76f Merge pull request #24491 from nextcloud/backport/24376/stable20
[stable20] fix loading mtime of new file in conflict dialog in firefox
2020-12-02 16:45:17 +01:00
aler9 dc7eb53a8f Fix file size computation on 32bit platforms
Signed-off-by: aler9 <46489434+aler9@users.noreply.github.com>
2020-12-02 15:27:30 +00:00
Morris Jobke e8b284e807 Merge pull request #24502 from nextcloud/backport/24499/stable20
[stable20] Harden setup check for TLS version if host is not reachable
2020-12-02 16:14:12 +01:00
Morris Jobke 03956c5862 Harden setup check for TLS version if host is not reachable
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-12-02 13:27:43 +00:00
Robin Appelman 1f6e5c6d8e fix loading mtime of new file in conflict dialog in firefox
Signed-off-by: Robin Appelman <robin@icewind.nl>
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
2020-12-02 07:37:19 +00:00
Nextcloud bot 2a0c0ea584 [tx-robot] updated from transifex 2020-12-02 02:20:20 +00:00
Morris Jobke 4949429567 Merge pull request #24477 from nextcloud/backport/24189/stable20
[stable20] Set frame-ancestors to none if none are filled
2020-12-01 23:44:35 +01:00
Morris Jobke 41cc1f7360 Merge pull request #24478 from nextcloud/backport/24186/stable20
[stable20] Move the password fiels of chaging passwords to post
2020-12-01 23:29:35 +01:00
Morris Jobke 74f734dc97 Merge pull request #24479 from nextcloud/backport/24188/stable20
[stable20] Move the global password for files external to post
2020-12-01 23:28:33 +01:00
Morris Jobke 910fecf8f8 Merge pull request #24483 from nextcloud/backport/24094/stable20
[stable20] Only attempt to move to trash if a file is not in appdata
2020-12-01 23:20:48 +01:00
Roeland Jago Douma 3fb850940f Set frame-ancestors to none if none are filled
frame-ancestors doesn't fall back to default-src. So when we apply a
very restricted CSP we should make sure to set it to 'none' and not
leave it empty.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-12-01 22:23:13 +01:00
Roeland Jago Douma 3e982a3346 Move the password fiels of chaging passwords to post
* This is not actually used with GET (obviously). But else some scanners
  trip on it

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-12-01 22:23:02 +01:00
Roeland Jago Douma c24534866b Move the global password for files external to post
Again more false positives in some scanners

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-12-01 22:22:33 +01:00
Julius Härtl 7d786a4e37 Only attempt to move to trash if a file is not in appdata
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-01 22:20:11 +01:00
Morris Jobke 86da5013c8 Merge pull request #24325 from nextcloud/backport/24103/stable20
[stable20] Only check path for being accessible when the storage is a object home
2020-12-01 11:04:22 +01:00
Roeland Jago Douma ebf046bc15 Merge pull request #24462 from nextcloud/backport/24460/stable20
[stable20] Use correct l10n source in files_sharing JS code
2020-12-01 08:48:16 +01:00
Nextcloud bot 965614f3e2 [tx-robot] updated from transifex 2020-12-01 02:19:56 +00:00
Morris Jobke fba0145bef Use correct l10n source in files_sharing JS code
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
2020-11-30 19:30:28 +00:00
Morris Jobke d56300a86c Merge pull request #24455 from nextcloud/backport/24451/stable20
[stable20] external storages: save group ids not display names in configuration
2020-11-30 17:22:42 +01:00
Morris Jobke 4a2b72dcbe Merge pull request #24453 from nextcloud/backport/24449/stable20
[stable20] Store scss variables under a different prefix for each theming config version
2020-11-30 16:54:02 +01:00
Arthur Schiwon a6d288e1ac save group ids not display names in configuration
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-11-30 14:49:11 +00:00
Julius Härtl 7d57b2c317 Store scss variables under a different prefix for each theming config version
The main issue with using the general theming- prefix is that with APCu caching
the cache is not shared between processes, so when trying to reset the cache
through the CLI, e.g. when updating the theming config the old cache is never
invalidated.

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-11-30 14:24:28 +00:00
Morris Jobke 6916240d98 Merge pull request #24446 from nextcloud/backport/23652/stable20
[stable20] Fix public calendars shared to circles
2020-11-30 11:24:38 +01:00
Morris Jobke b1f3f5d7cb Merge pull request #24443 from nextcloud/backport/24357/stable20
[stable20] Make sure we add new line between vcf groups exports
2020-11-30 10:24:27 +01:00
Daniel Kesselberg 6635dbb3bd A valid user session is required for circles.
The circles app depends on a valid userId. A public shared calender might be viewed by guests without a user session. For such requests the principal is null.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2020-11-30 09:01:53 +00:00
Daniel Kesselberg 761ee14fd7 Update phpdoc for circleToPrincipal
as the QueryException is already catched inside circleToPrincipal.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2020-11-30 09:01:51 +00:00
John Molakvoæ (skjnldsv) 8e262d9e59 Make sure we add new line between vcf groups exports
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2020-11-30 08:13:46 +00:00
Nextcloud bot c1e993333e [tx-robot] updated from transifex 2020-11-30 02:19:54 +00:00
Nextcloud bot 7ea0f2b936 [tx-robot] updated from transifex 2020-11-29 02:19:21 +00:00
Nextcloud bot 7ad1420e61 [tx-robot] updated from transifex 2020-11-28 02:18:33 +00:00
Christoph Wurst f4d1f01209 Merge pull request #24387 from nextcloud/backport/24382/stable20
[stable20] Properly encode path when fetching inherited shares
2020-11-27 09:44:45 +01:00
Nextcloud bot 80bf325bb0 [tx-robot] updated from transifex 2020-11-27 02:18:26 +00:00
blizzz e78989fd8a Merge pull request #24391 from nextcloud/backport/24375/stable20
[stable20] formatting remote sharer should take protocol, path into account
2020-11-26 22:13:43 +01:00
npmbuildbot-nextcloud[bot] ad79aa3f32 Compile assets
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
2020-11-26 14:11:40 +00:00
Joas Schilling 61f1c12fb1 Merge pull request #24333 from nextcloud/backport/24315/stable20
[stable20] avoid empty null default with value that will be inserted anyways
2020-11-26 14:50:27 +01:00
Arthur Schiwon 8e8861f716 formatting remote sharer should take protocol, path into account
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-11-26 13:12:11 +00:00
Julius Härtl 72a3f5cd31 Properly encode path when fetching inherited shares
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
2020-11-26 12:39:57 +00:00
Nextcloud bot 921f9441d3 [tx-robot] updated from transifex 2020-11-26 02:18:57 +00:00
blizzz 76671c2a46 Merge pull request #24377 from nextcloud/backport/24374/stable20
[stable20] Use proper bundles for files client and fileinfo
2020-11-25 20:38:29 +01:00
Julius Härtl 49bd82292c Files client and info bundles are always loaded so we don't need to load them again
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-11-25 16:11:36 +00:00
Roeland Jago Douma 2003995e32 Merge pull request #24353 from nextcloud/backport/24162/stable20
[stable20] set the display name of federated sharees from addressbook
2020-11-25 16:18:23 +01:00
Roeland Jago Douma ae9fd3e225 Merge pull request #24367 from nextcloud/backport/24363/stable20
[stable20] Catch storage not available in versions expire command
2020-11-25 16:17:34 +01:00
Arthur Schiwon 4e6f0df777 send expected format of cloud id
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-11-25 14:16:08 +01:00
Christoph Wurst 2ff42f6b1a Catch storage not available in versions expire command
External storage with session credentials is not accessible without a
user session, hence background jobs and CLI commands can't work with
them. The previously unhandled exception causes logged errors in the
nextcloud log. This patch catches the specific exception and logs it as
warnings. So for a production instance the error won't spam their logs
for this non-recoverable and technically unsolvable error if the minimum
log level is set to the default of 3 (error).

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-11-25 10:40:21 +00:00
Nextcloud bot 940e8c3a99 [tx-robot] updated from transifex 2020-11-25 02:19:04 +00:00
Arthur Schiwon c9814c716a set the display name of federated sharees from addressbook
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-11-24 22:52:31 +01:00
John Molakvoæ 6e279bf6c6 Merge pull request #24346 from nextcloud/backport/24341/stable20
[stable20] Fix the config key on the sharing expire checkbox
2020-11-24 18:38:46 +01:00
John Molakvoæ bd4931032e Merge pull request #24342 from nextcloud/backport/24331/stable20
[stable20] Fix contacts menu position and show uid as a tooltip
2020-11-24 18:37:23 +01:00
Julius Härtl a1a178eb53 Fix contacts menu position and show uid as a tooltip
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
2020-11-24 14:55:21 +00:00
Christoph Wurst 4b9d8c75ec Fix the config key on the sharing expire checkbox
We don't use `shareapi_internal_enforce_expire_date` anywhere.
`shareapi_enforce_internal_expire_date` is the one we want.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-11-24 14:54:02 +00:00
Arthur Schiwon 4850019fcd avoid empty null default with value that will be inserted anyways
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-11-24 10:31:27 +00:00
Julius Härtl 866e273599 Only check path for being accessible when the storage is a object home
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-11-24 09:14:39 +00:00
Nextcloud bot 56cee9e405 [tx-robot] updated from transifex 2020-11-24 02:19:05 +00:00
Morris Jobke e375010589 Merge pull request #24297 from nextcloud/backport/stable20/23023
[stable20] Delete files that exceed trashbin size immediately
2020-11-23 21:06:33 +01:00
Christoph Wurst fcaa75858c Merge pull request #24311 from nextcloud/fix/stable20-sabre-parse-xml-errors
[stable20] Update sabre/xml to fix XML parsing errors
2020-11-23 14:40:34 +01:00
Christoph Wurst 55d9834c95 Update sabre/xml to fix XML parsing errors
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-11-23 14:00:19 +01:00
Julius Härtl e241f14f24 Delete files that exceed trashbin size immediately
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-11-23 09:11:53 +01:00
Nextcloud bot aaa9c0ba6c [tx-robot] updated from transifex 2020-11-23 02:18:57 +00:00
Nextcloud bot ac8bb267a3 [tx-robot] updated from transifex 2020-11-22 02:18:39 +00:00
Nextcloud bot 9a0c85d0cd [tx-robot] updated from transifex 2020-11-21 02:19:27 +00:00
Morris Jobke 347aaf23b2 Merge pull request #24249 from nextcloud/backport/24241/stable20
[stable20] Harden EncryptionLegacyCipher a bit
2020-11-20 22:42:17 +01:00
Morris Jobke e772fd6409 Merge pull request #24263 from nextcloud/backport/24108/stable20
[stable20] Use correct year for generated birthdays events
2020-11-20 22:41:51 +01:00
Sven Strickroth 5aac8a1b34 Use correct year for generated birthdays events
'X-APPLE-OMIT-YEAR' is not always present, at least iOS 12.4 uses the hard coded date of 1604 (the start of the gregorian calendar) when the year is unknown.

cf. https://forums.bitfire.at/topic/2050/bday-without-year-for-vcard-3-0-if-server-drops-property-x-apple-omit-year and https://gitlab.com/CardBook/CardBook/-/issues/586

Signed-off-by: Sven Strickroth <email@cs-ware.de>
2020-11-20 20:47:56 +00:00
Morris Jobke cb2bed6a8a Merge pull request #24258 from nextcloud/backport/24242/stable20
[stable20] Update ScanLegacyFormat.php
2020-11-20 21:31:17 +01:00
Morris Jobke 72ba3dfe3c Merge pull request #24259 from nextcloud/backport/24257/stable20
[stable20] Simple typo in comments
2020-11-20 21:29:15 +01:00
Carlos Ferreira a8ba2df8e6 Simple typo in comments 2020-11-20 19:45:23 +00:00
essys 8d44a1006a Update ScanLegacyFormat.php
Fixed a small typo on line 99.
2020-11-20 19:42:37 +00:00
Morris Jobke e0e3334fc2 Merge pull request #24230 from nextcloud/backport/24007/stable20
[stable20] allow selecting multiple columns with SELECT DISTINCT
2020-11-20 14:27:27 +01:00
Morris Jobke 7fa352b28c Merge pull request #24228 from nextcloud/backport/24135/stable20
[stable20] Fix nextcloud logo in email notifications misalignment
2020-11-20 14:23:00 +01:00
Roeland Jago Douma 06286f8c0e Harden EncryptionLegacyCipher a bit
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-11-20 13:18:25 +00:00
Roeland Jago Douma 322b0ab2b3 Merge pull request #24239 from nextcloud/backport/24203/stable20
[stable20] Use regex when searching on single file shares
2020-11-20 10:15:04 +01:00
Roeland Jago Douma 3839c8449a Merge pull request #24231 from nextcloud/backport/23757/stable20
[stable20] use file name instead of path in 'not allowed to share' message
2020-11-20 10:04:54 +01:00
Roeland Jago Douma 10086b3f43 Merge pull request #24232 from nextcloud/backport/24211/stable20
[stable20] Fix setting images through occ for theming
2020-11-20 10:04:30 +01:00
Roeland Jago Douma 37df208bd7 Limit shared cache search if it is just a file
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-11-20 07:27:47 +00:00
Nextcloud bot 78b62b6b65 [tx-robot] updated from transifex 2020-11-20 02:20:19 +00:00
Julius Härtl c8e9694a69 Fix setting images through occ for theming
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-11-19 22:18:55 +00:00
Robin Appelman f65a89dd07 use file name instead of path in 'not allowed to share' message
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-11-19 21:44:42 +00:00
Robin Appelman 22bf656e02 allow selecting multiple columns with SELECT DISTINCT
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-11-19 21:41:13 +00:00
medcloud 7ccf700432 Fix #23357
Signed-off-by: medcloud <42641918+medcloud@users.noreply.github.com>
2020-11-19 20:38:54 +00:00
Roeland Jago Douma 8021bacbdc Merge pull request #24181 from nextcloud/backport/24102/stable20
[stable20] Check quota of subdirectories when uploading to them
2020-11-19 10:40:11 +01:00
Roeland Jago Douma 2c5a1fd636 Merge pull request #24196 from nextcloud/backport/24098/stable20
[stable20] circleId too short in some request
2020-11-19 10:09:45 +01:00
Roeland Jago Douma d0417e0d1f Merge pull request #24212 from nextcloud/backport/24207/stable20
[stable20] missing level in ScopedPsrLogger
2020-11-19 09:50:32 +01:00
Maxence Lange 8c398453ac missing level
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2020-11-19 07:40:38 +00:00
Nextcloud bot 6a4ced077e [tx-robot] updated from transifex 2020-11-19 02:20:21 +00:00
Roeland Jago Douma 96f99a40f5 Merge pull request #24172 from nextcloud/version/20.0.2/final
20.0.2
2020-11-18 20:35:11 +01:00
Maxence Lange d4ea5fd63f circleId too short in some request
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2020-11-18 07:57:22 +00:00
Nextcloud bot c03db79569 [tx-robot] updated from transifex 2020-11-18 02:18:47 +00:00
Roeland Jago Douma cc42b5e502 Merge pull request #24183 from nextcloud/revert-24178-backport/24098/stable20
Revert "[stable20] circleId too short in some request"
2020-11-17 21:53:22 +01:00
Julius Härtl 8c7030e0bd Bump bundles
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-11-17 19:47:56 +01:00
Julius Härtl 892bb8cae5 Check for target folder available quota when uploading
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-11-17 15:33:54 +01:00
Julius Härtl b134107316 Fetch quota with files propfind
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-11-17 15:33:54 +01:00
Christoph Wurst 1941f1b1a8 Revert "[stable20] circleId too short in some request" 2020-11-17 14:20:02 +01:00
Christoph Wurst f06f9a91b3 Merge pull request #24178 from nextcloud/backport/24098/stable20
[stable20] circleId too short in some request
2020-11-17 13:31:57 +01:00
Maxence Lange 6db68e9ba3 circleId too short in some request
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2020-11-17 10:28:24 +00:00
Roeland Jago Douma 35c29b46ea 20.0.2
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-11-17 09:38:45 +01:00
Nextcloud bot 51d8134e50 [tx-robot] updated from transifex 2020-11-17 02:18:36 +00:00
Roeland Jago Douma f1da86e7a1 Merge pull request #24091 from nextcloud/version/20.0.2/rc2
20.0.2 RC2
2020-11-16 20:55:05 +01:00
Daniel Calviño Sánchez cdbb2b3e4b Merge pull request #24159 from nextcloud/backport/24069/stable20
[stable20] Fix default internal expiration date
2020-11-16 17:46:37 +01:00
Daniel Calviño Sánchez 34a143b05f Add integration tests for creating shares with default expiration dates
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-11-16 13:17:01 +00:00
Daniel Calviño Sánchez bf844567a5 Reset app configs by deleting the values instead of setting the defaults
This avoids the need to keep the default values in the integration tests
in sync with the code, and also makes possible to reset values with
"dynamic" defaults (defaults that depend on other values).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-11-16 13:17:00 +00:00
Daniel Calviño Sánchez 1464ace788 Add unit tests for "validateExpirationDateInternal"
They were copied and adjusted as needed from the tests for
"validateExpirationDate".

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-11-16 13:16:59 +00:00
Daniel Calviño Sánchez 182e28bfbc Fix default internal expiration date
The default expiration date for internal shares was set from the default
link expiration date instead of the internal one.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-11-16 13:16:57 +00:00
Daniel Calviño Sánchez 709abd4fc7 Add explicit time to test date for clarity
This shows in a clearer way that the expected expiration date is the
original one, but without time.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-11-16 13:16:56 +00:00
Daniel Calviño Sánchez 731cce4542 Add unit test for expiration date with date and with default
This adds back what was being actually tested in the unit test fixed in
the previous commit.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-11-16 13:16:55 +00:00
Daniel Calviño Sánchez 115a988cd2 Fix unit test for expiration date without date but with default
The expiration date was explicitly given, so it was not testing what it
should. Moreover, "link_defaultExpDays" needs to be mapped when testing
the default value (even if it will just fallback to the value of
"shareapi_expire_after_n_days").

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-11-16 13:16:53 +00:00
Daniel Calviño Sánchez eaa43d22e2 Fix unit test method name
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-11-16 13:16:52 +00:00
Daniel Calviño Sánchez 4e418100bf Fix unit test for verifying enforced valid expiration date.
The enforced expiration date was not actually enabled, as for that
"shareapi_default_expire_date" needs to be explicitly set to "yes".

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-11-16 13:16:51 +00:00
Daniel Calviño Sánchez 20c72ac03e Fix unit test for verifying enforced expire date too far in the future
The test should fail if no exception was thrown, and no exception was
thrown due to a missing configuration parameter. However, the use of
"addToAssertionCount(1)" made the test pass even if no exception was
thrown and, therefore, to silently fail.

Now the missing configuration parameter was added and the test will fail
if the expected exception is not thrown.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-11-16 13:16:49 +00:00
Daniel Calviño Sánchez 22357a72e5 Add unit tests to enforce a relaxed default share expiration date
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-11-16 13:16:48 +00:00
Daniel Calviño Sánchez b75c171ee2 Remove wrong and misleading comment
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-11-16 13:16:47 +00:00
Daniel Calviño Sánchez d6ba3b2f7c Remove extra spaces
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-11-16 13:16:45 +00:00
Daniel Calviño Sánchez 76bbbca220 Fix typo in variable name
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-11-16 13:16:44 +00:00
Daniel Calviño Sánchez 446c90879f Fix typos in method names
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-11-16 13:16:42 +00:00
Roeland Jago Douma b14ec966c1 Merge pull request #24156 from nextcloud/backport/24112/stable20
[stable20] Set up FS before querying storage info in settings
2020-11-16 14:14:43 +01:00
John Molakvoæ f4d92d2e3a Merge pull request #24153 from nextcloud/dependencies/dompurify 2020-11-16 13:12:40 +01:00
Roeland Jago Douma bca0633e2b Merge pull request #24147 from nextcloud/backport/24146/stable20
[stable20] Don't throw on SHOW VERSION query
2020-11-16 12:08:56 +01:00
Vincent Petry 32758894a4 Set up FS before querying storage info in settings
The personal info section of the personal settings is querying the
storage quota information. For this it requires the FS to be setup which
is not always guaranteed.

This fixes an issue where refreshing the settings page would cause it to
fail after Redis caches are full. It is likely that when Redis cache is
populated, some code path is initializing the FS, so it works so far.
But when the cache is populated, that code path is skipped so the FS is
not guaranteed to be setup...

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2020-11-16 11:06:35 +00:00
Julius Härtl 889d162ab7 Bump bundles
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-11-16 11:36:35 +01:00
Julius Härtl ccc845b1c4 Bump dompurify to 2.2.2
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-11-16 11:30:59 +01:00
Joas Schilling 7a821da1bc Merge pull request #24079 from nextcloud/backport/24053/stable20
[stable20] Make is_user_defined nullable so we can store false on oracle
2020-11-16 11:23:17 +01:00
John Molakvoæ 18f5ad1a34 Merge pull request #24114 from nextcloud/backport/24096/stable20
[stable20] Convert the card resource to a string if necessary
2020-11-16 10:15:18 +01:00
Joas Schilling f10327b245 Don't throw on SHOW VERSION query
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-16 08:59:47 +00:00
Joas Schilling 9b694e59f5 Bump versions
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-16 08:54:30 +01:00
Joas Schilling d334dd1455 Merge pull request #24106 from nextcloud/backport/24085/stable20
[stable20] Register new command db:add-missing-primary-keys
2020-11-16 08:50:01 +01:00
Nextcloud bot 9abc65c573 [tx-robot] updated from transifex 2020-11-16 02:19:33 +00:00
Nextcloud bot c9001eb7ef [tx-robot] updated from transifex 2020-11-15 02:19:11 +00:00
Nextcloud bot 66b6ccc69e [tx-robot] updated from transifex 2020-11-14 02:19:47 +00:00
Christoph Wurst 07861fe52d Convert the card resource to a string if necessary
Apparently the fetched column can be a string or resource. Hence we have
to catch the resource type and convert it to a string.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-11-13 18:18:24 +00:00
MichaIng e0dbfdf575 Register new command db:add-missing-primary-keys
Introduced with: https://github.com/nextcloud/server/commit/d5df033ede1f2b19b87c365b1f808130023edf17

Signed-off-by: MichaIng <micha@dietpi.com>
2020-11-13 14:41:51 +00:00
Roeland Jago Douma bf95044a29 20.0.2 RC2
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-11-13 08:38:57 +01:00
Roeland Jago Douma 8ebafbb7dc Merge pull request #24081 from nextcloud/backport/24066/stable20
[stable20] Fix default internal expiration date enforce
2020-11-13 08:37:54 +01:00
John Molakvoæ (skjnldsv) 680853d077 Fix default internal expiration date enforce
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
2020-11-13 06:31:16 +00:00
Nextcloud bot 584cfa4e2e [tx-robot] updated from transifex 2020-11-13 02:19:35 +00:00
Morris Jobke ca363131d9 Dump autoloader
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-11-12 20:46:59 +00:00
Joas Schilling 1def6f92ee Also make direct_edit.accessed nullable
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-12 20:46:57 +00:00
Joas Schilling 32d7459d8b Make is_user_defined nullable so we can store false on oracle
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-12 20:46:55 +00:00
Roeland Jago Douma 105fc60eb1 Merge pull request #23989 from nextcloud/version/20.0.2/rc1
20.0.2 RC1
2020-11-12 21:08:19 +01:00
Roeland Jago Douma e61e3f9eb3 20.0.2 RC1
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-11-12 19:57:13 +01:00
Morris Jobke 2e3637f826 Merge pull request #24049 from nextcloud/backport/23882/stable20
[stable20] Run unit tests against oracle
2020-11-12 19:54:36 +01:00
Morris Jobke 9497dca2b0 Update psalm-baseline
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-11-12 19:38:06 +01:00
Robin Appelman 388b3107eb fix migration of oc_credentials table
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-11-12 15:56:34 +01:00
Joas Schilling d09a22069f Update baseline, I'm sorry
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-12 12:57:52 +01:00
Joas Schilling dabed84bd4 Fix unique key in test table
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-12 12:57:52 +01:00
Joas Schilling 07c28f1576 Fix naming of jobs and steps
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-12 12:57:52 +01:00
Joas Schilling cd76043691 Fix CS
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-12 12:57:52 +01:00
Joas Schilling bb52911d16 Create primary keys on all tables and add a command to create the afterwards
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-12 12:57:52 +01:00
Joas Schilling f3c183b6c3 Replace the credentials table with one that can have empty user
Primary key columns on Oracle can not have empty strings

Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-12 12:57:52 +01:00
Joas Schilling dee42027ed Don't try to update on NotNullConstraintViolationException, only on unique or foreign key
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-12 12:57:51 +01:00
Joas Schilling a66591ee79 Fix comparing the empty string for global credentials
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-12 12:57:51 +01:00
Joas Schilling 97b0402984 Empty string is returned as null, but empty string in file cache is the root and exists
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-12 12:57:51 +01:00
Joas Schilling b6ce689e25 Fix public calendars as they are stored with null on oracle
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-12 12:57:51 +01:00
Joas Schilling 8ff0523c3d Make sure columns with an empty default are nullable for Oracle
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-12 12:57:51 +01:00
Joas Schilling fcef3c0e8a Fix "Invalid fetch style: 12" on Oracle
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-12 12:57:51 +01:00
Joas Schilling 48c2f6d5a0 Make the test pass on repeating calls
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-12 12:57:51 +01:00
Joas Schilling e3b3ff6d43 Skip the insertIfNotExists() tests on Oracle because it doesn't work with clob
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-12 12:57:51 +01:00
Joas Schilling 3ec48cd59f Easier debugging and spell fix
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-12 12:57:50 +01:00
Joas Schilling f58ffadb34 Use a different column for the primary key as we can not insert it on oracle
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-12 12:57:50 +01:00
Julius Härtl a35b0956f1 Add github action for oci8
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-11-12 12:57:50 +01:00
Nextcloud bot 140068e91d [tx-robot] updated from transifex 2020-11-12 02:19:35 +00:00
Roeland Jago Douma a0f95cd1d3 Merge pull request #24058 from nextcloud/backport/24054/stable20
[stable20] Manually iterate over calendardata when oracle is used
2020-11-11 21:54:55 +01:00
Roeland Jago Douma 8270aed206 Merge pull request #24050 from nextcloud/backport/23915/stable20
[stable20] Use png icons in caldav reminder emails
2020-11-11 21:27:53 +01:00
Julius Härtl bf0dbffe81 Manually iterate over calendardata when oracle is used
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-11-11 16:12:25 +00:00
Morris Jobke bcb6a71548 Merge pull request #24044 from nextcloud/backport/24042/stable20
[stable20] Fix sharing tab state not matching resharing admin settings
2020-11-11 13:45:46 +01:00
Richard Steinmetz b82b3b0140 Use png icons in caldav reminder emails
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2020-11-11 12:38:21 +00:00
Daniel Calviño Sánchez 487c603f95 Add integration tests for default share permissions
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-11-11 11:51:28 +01:00
Daniel Calviño Sánchez f58174fdd8 Add acceptance tests for reshares by link when resharing is disabled
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-11-11 11:51:28 +01:00
Daniel Calviño Sánchez 7d7169fdbe Add acceptance tests for reshares when resharing is disabled
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-11-11 11:51:28 +01:00
Daniel Calviño Sánchez bafab8af2d Disable share input for a received share if resharing is not allowed
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-11-11 11:51:26 +01:00
Daniel Calviño Sánchez c034dff408 Do not show "Can reshare" in the menu if resharing is not allowed
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-11-11 11:51:18 +01:00
Joas Schilling 60ca39bb53 Merge pull request #24033 from nextcloud/backport/23993/stable20
[stable20] Don't leave cursors open
2020-11-11 10:56:53 +01:00
Nextcloud bot 3d3cebc321 [tx-robot] updated from transifex 2020-11-11 02:20:23 +00:00
Joas Schilling 19816fe85f Don't leave cursors open when tests fail
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-10 14:18:02 +00:00
Morris Jobke 6a5b921284 Merge pull request #23950 from nextcloud/backport/23928/stable20
[stable20] Fix repair mimetype step to not leave stray cursors
2020-11-10 13:46:15 +01:00
Morris Jobke cecf579e81 Update psalm-baseline.xml to accept new errors
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-11-10 13:43:51 +01:00
Joas Schilling 5f3d62600e Fix repair mimetype step to not leave stray cursors
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-10 10:27:09 +01:00
Morris Jobke 73c2ad293b Merge pull request #23998 from nextcloud/backport/23937/stable20
[stable20] Use query builder instead of OC_DB in OC\Files\*
2020-11-10 10:26:04 +01:00
Morris Jobke bf6aa03eb3 Merge pull request #23995 from nextcloud/backport/23741/stable20
[stable20] Unlock when promoting to exclusive lock fails
2020-11-10 10:16:34 +01:00
Roeland Jago Douma 8edc29bfef Merge pull request #23955 from nextcloud/backport/23938/stable20
[stable20] Replace some usages of OC_DB in OC\Share\* with query builder
2020-11-10 08:59:54 +01:00
John Molakvoæ 7032c880f0 Merge pull request #24012 from nextcloud/backport/23981/stable20
[stable20] Fix js search in undefined ocs response
2020-11-10 07:00:19 +01:00
Nextcloud bot 34fae53598 [tx-robot] updated from transifex 2020-11-10 02:18:56 +00:00
John Molakvoæ (skjnldsv) 49676d909b Fix js search in undefined ocs response
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
2020-11-09 19:28:15 +00:00
Roeland Jago Douma c1e43efa35 Merge pull request #24001 from nextcloud/backport/23889/stable20
[stable20] Shortcut to avoid file system setup when generating the logo URL
2020-11-09 19:55:38 +01:00
Roeland Jago Douma 0d52ba6239 Merge pull request #24004 from nextcloud/backport/23999/stable20
[stable20] Remove old legacy scripts references
2020-11-09 19:38:21 +01:00
John Molakvoæ 559acf83ed Removed config.js 2020-11-09 16:01:06 +00:00
John Molakvoæ 750455399d Remove old legacy search script 2020-11-09 16:01:05 +00:00
Morris Jobke 1a26b63246 Merge pull request #23996 from nextcloud/backport/23982/stable20
[stable20] Make sure root storage is valid before checking its size
2020-11-09 15:37:24 +01:00
Morris Jobke cc777911c2 Shortcut to avoid file system setup when generating the logo URL
If an SVG is requested and the app config value for logoMime is set then the logo is there. Otherwise we need to check it and maybe also generate a PNG from the SVG (that's done in getImage() which needs to be called then).

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-11-09 13:13:31 +00:00
Morris Jobke 3459db0472 Merge pull request #23992 from nextcloud/backport/23574/stable20
[stable20] Fix link share label placeholder not showing
2020-11-09 14:10:41 +01:00
Joas Schilling adcc942553 Use query builder instead of OC_DB in OC\Files\*
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-09 11:01:09 +00:00
John Molakvoæ (skjnldsv) 0c4297cee9 Make sure root storage is valid before checking its size
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2020-11-09 10:05:54 +00:00
Ashod Nakashian 7298d037b2 Unlock when promoting to exclusive lock fails
In certain cases changeLock to EXCLUSIVE fails
and throws LockedException. This leaves the
file locked as SHARED in file_put_contents,
which prevents retrying (because on second
call file_put_contents takes another SHARED
lock on the same file, and changeLock doesn't
allow more than a single SHARED lock to promote
to EXCLUSIVE).

To avoid this case, we catch the LockedException
and unlock before re-throwing.

Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2020-11-09 10:03:15 +00:00
Morris Jobke 20885847c8 Merge pull request #23971 from nextcloud/backport/23936/stable20
[stable20] Use query builder instead of OC_DB in trashbin
2020-11-09 10:27:29 +01:00
Morris Jobke f28c436fd5 Check in failing psalm checks
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-11-09 10:21:05 +01:00
Morris Jobke 40c4d24e31 Merge pull request #23975 from nextcloud/backport/23923/stable20
[stable20] Fix greatest/least order for oracle
2020-11-09 10:17:11 +01:00
Daniel Kesselberg a01da78f1d Add explicit typecast for $value.
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2020-11-09 10:13:36 +01:00
Gary Kim baf06b9894 Fix link share label placeholder not showing
Signed-off-by: Gary Kim <gary@garykim.dev>
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
2020-11-09 08:29:05 +00:00
Nextcloud bot 0624ca3527 [tx-robot] updated from transifex 2020-11-09 02:19:02 +00:00
Nextcloud bot d34145f942 [tx-robot] updated from transifex 2020-11-08 02:18:33 +00:00
Joas Schilling b3dfa9290d Update parameters
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-07 15:57:47 +00:00
Joas Schilling 2e3cffc53b Make sure Oracle always casts everything in the best way
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-07 15:57:46 +00:00
Joas Schilling c71cc6824e Use Query builder function
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-07 15:57:45 +00:00
Joas Schilling d111e88d4c Fix order of GREATEST for Oracle
As per https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions060.htm
Oracle uses the first value to cast the rest or the values.
So when the first value is a plain int, instead of doing the math,
it will cast the expression to int and continue with a potential 0.

Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-07 15:57:44 +00:00
Roeland Jago Douma 71de05f775 Merge pull request #23951 from nextcloud/backport/23922/stable20
[stable20] Improve query type detection
2020-11-07 10:49:06 +01:00
Joas Schilling ef22580a32 Use query builder instead of OC_DB in trashbin
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-07 09:21:46 +00:00
Roeland Jago Douma bac92bb814 Merge pull request #23954 from nextcloud/backport/23943/stable20
[stable20] Fix iLike() falsely turning escaped % and _ into wildcards
2020-11-07 09:18:23 +01:00
Roeland Jago Douma a5c6abc93a Merge pull request #23948 from nextcloud/backport/23940/stable20
[stable20] Skip already loaded apps in loadApps
2020-11-07 07:59:52 +01:00
Nextcloud bot c9f3f2563f [tx-robot] updated from transifex 2020-11-07 02:19:08 +00:00
Joas Schilling 73a09a4f54 Replace some usages of OC_DB in OC\Share\* with query builder
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-06 21:43:46 +00:00
Joas Schilling 3a7e2fbff1 Fix iLike() falsely turning escaped % and _ into wildcards
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-06 21:29:48 +00:00
Morris Jobke f8b550dab7 Merge pull request #23935 from nextcloud/backport/23921/stable20
[stable20] Fix casting of integer and boolean on Oracle
2020-11-06 22:24:31 +01:00
Joas Schilling 3ffd31353c Improve query type detection
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-06 21:20:44 +00:00
Morris Jobke a2c9915ca4 Merge pull request #23924 from nextcloud/backport/23920/stable20
[stable20] Bearer must be in the start of the auth header
2020-11-06 22:10:01 +01:00
Roeland Jago Douma ef5cee12d1 Skip already loaded apps in loadApps
Otherwise you might end up calling a lot of functions unneeded.
And while the individual calls are cheap if you multiply them by 20k
they still get somewhat expensive.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-11-06 21:01:12 +00:00
Joas Schilling 990bb07002 Cast bool things to numbers as that is how they are stored in the database
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-06 13:36:57 +01:00
Joas Schilling 2b0b57d304 Fix casting to integer on Oracle
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-06 10:42:15 +00:00
Roeland Jago Douma 93211e7ded Merge pull request #23917 from nextcloud/backport/23887/stable20
[stable20] Do not emit UserCreatedEvent twice
2020-11-06 10:55:41 +01:00
Roeland Jago Douma c9bf32b454 Bearer must be in the start of the auth header
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-11-06 08:21:30 +00:00
Nextcloud bot 43a80714a7 [tx-robot] updated from transifex 2020-11-06 02:19:21 +00:00
Tobias Assmann 2b55a90ae4 fix: also remove use statement of UserCreatedEvent
Signed-off-by: Tobias Assmann <tobias.assmann@ecsec.de>
2020-11-05 23:08:14 +01:00
Tobias Assmann 6d1ecf2218 fix: no more translation from postCreateUser hook to UserCreatedEvent anymore, as event is already emitted in user manager
Signed-off-by: Tobias Assmann <tobias.assmann@ecsec.de>
2020-11-05 23:08:04 +01:00
Greta 7ad87937c8 Merge pull request #23902 from nextcloud/backport/23798/stable20
[stable20] Add default font size
2020-11-05 10:50:37 +01:00
GretaD 6787f5de50 Add default font size
Signed-off-by: GretaD <gretadoci@gmail.com>
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
2020-11-05 08:40:28 +00:00
Nextcloud bot 841801b9ac [tx-robot] updated from transifex 2020-11-05 02:18:59 +00:00
Morris Jobke e30c80c490 Merge pull request #23894 from nextcloud/backport/23799/stable20-minimal
[stable20] fix potentially passing null to events where IUser is expected
2020-11-04 21:14:51 +01:00
Morris Jobke 5e4debcd98 Merge pull request #23899 from nextcloud/backport/23898/stable20
[stable20] Make user status styles scoped
2020-11-04 19:34:55 +01:00
Morris Jobke cea90b9dcb Merge pull request #23900 from nextcloud/backport/23897/stable20
[stable20] Move help to separate stylesheet
2020-11-04 19:34:44 +01:00
Julius Härtl 2386f8e1cc Make user status styles scoped
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
2020-11-04 14:51:48 +00:00
John Molakvoæ 54fd9bfecf Merge pull request #23884 from nextcloud/backport/23097/stable20
[stable20] Restrict query when searching for versions of trashbin files
2020-11-04 15:40:32 +01:00
Julius Härtl 0d457ce76d Move help to separate stylesheet
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-11-04 14:34:33 +00:00
Arthur Schiwon 59f9183ea1 fix potentially passing null to events where IUser is expected
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-11-04 11:59:09 +01:00
Morris Jobke 54fb4c28c4 Merge pull request #23419 from nextcloud/backport/23350/stable20
[stable20] Inidicate preview availability in share api responses
2020-11-04 08:45:44 +01:00
Julius Härtl 07506dd10c Restrict query when searching for versions of trashbin files
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-11-04 07:32:47 +00:00
Julius Härtl ba201aace6 Merge pull request #23874 from nextcloud/backport/23866/stable20
[stable20] Fix grid view toggle in tags view
2020-11-04 08:28:55 +01:00
Nextcloud bot c14defb527 [tx-robot] updated from transifex 2020-11-04 02:19:13 +00:00
Richard Steinmetz 4baeaeccdb Indicate preview availability in share api responses
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
2020-11-03 19:55:35 +00:00
Morris Jobke 28b4420797 Merge pull request #23858 from nextcloud/backport/23842/stable20
[stable20] UserStatus: clear status message if message is null
2020-11-03 20:41:11 +01:00
Morris Jobke 33c27e61c2 Fix grid view in tags view
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-11-03 19:25:40 +00:00
Morris Jobke cb31977ba6 Merge pull request #23850 from nextcloud/backport/23841/stable20
[stable20] ensure filepicker list is empty before populating
2020-11-03 10:47:11 +01:00
Morris Jobke 59df41170a Merge pull request #23846 from nextcloud/backport/23839/stable20
[stable20] No need to check if there is an avatar available, because it is gener…
2020-11-03 10:46:41 +01:00
Simon Spannagel 9750efe5ab UserStatus: no message means clear status message. This fixes #23332
Signed-off-by: Simon Spannagel <simonspa@kth.se>
2020-11-03 09:31:05 +00:00
Nextcloud bot a81b901c71 [tx-robot] updated from transifex 2020-11-03 02:19:28 +00:00
Robin Appelman 773bc3b496 ensure filepicker list is empty before populating
Signed-off-by: Robin Appelman <robin@icewind.nl>
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
2020-11-02 20:20:07 +00:00
Morris Jobke 23d3586865 No need to check if there is an avatar available, because it is generated on the fly nowadays
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-11-02 18:10:23 +00:00
Roeland Jago Douma 7e1c26ebea Merge pull request #23829 from nextcloud/backport/23267/stable20
[stable20] Remove bold font-weight and lower font-size for empty search box
2020-11-02 12:28:06 +01:00
Nextcloud bot 3b887153c4 [tx-robot] updated from transifex 2020-11-02 02:19:14 +00:00
Jacob Neplokh 633b760c6d Change font-weight and font-size for empty search
Signed-off-by: Jacob Neplokh <me@jacobneplokh.com>
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
2020-11-01 15:36:02 +00:00
Nextcloud bot d02186e985 [tx-robot] updated from transifex 2020-11-01 02:18:34 +00:00
Roeland Jago Douma d156a7c121 Merge pull request #23794 from nextcloud/backport/23788/stable20
[stable20] Only run phpunit when "php" changed
2020-10-31 08:49:39 +01:00
Nextcloud bot b1159294a8 [tx-robot] updated from transifex 2020-10-31 02:18:57 +00:00
Morris Jobke 7bf32677b8 Add script to old versions
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-10-30 13:37:49 +01:00
Joas Schilling 3f5d275e6d Also run for .sh and .json (when not package or package-lock)
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-10-30 12:12:39 +00:00
Joas Schilling 0a7fef6272 Also run all tests when drone config is modified
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-10-30 12:12:39 +00:00
Joas Schilling 53c18b8c26 Only run phpunit when php, xml or test files are modified
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-10-30 12:12:38 +00:00
Christoph Wurst c099469ece Merge pull request #23789 from nextcloud/backport/23742/stable20
[stable20] Type the event dispatcher listener callables with Psalm
2020-10-30 12:40:19 +01:00
Morris Jobke f2a0ba4b55 Merge pull request #23787 from nextcloud/backport/23783/stable20
[stable20] Fetch the logger and system config once for all query builder instances
2020-10-30 11:03:33 +01:00
Roeland Jago Douma 5e496cd2e8 Fix invalid usages of the new dispatcher
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-10-30 08:57:07 +00:00
Christoph Wurst 7ef3c95fa3 Type the event dispatcher listener callables with Psalm
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-10-30 08:57:06 +00:00
Morris Jobke 24e93bbba4 Fetch the logger and system config once for all query builder instances
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-10-30 06:40:43 +00:00
Nextcloud bot dac9c01eb5 [tx-robot] updated from transifex 2020-10-30 02:19:19 +00:00
Morris Jobke ebbb4857f1 Merge pull request #23779 from nextcloud/backport/23775/stable20
[stable20] Document the backend registered events of LDAP
2020-10-29 15:08:37 +01:00
Morris Jobke 0207d34d57 Document the backend registered events of LDAP
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-10-29 13:08:13 +00:00
Roeland Jago Douma fcd7bcfe2f Merge pull request #23774 from nextcloud/backport/23762/stable20
[stable20] catch errors when closing file conflict dialog
2020-10-29 10:30:42 +01:00
Robin Appelman eb59fd2baa catch errors when closing file conflict dialog
Signed-off-by: Robin Appelman <robin@icewind.nl>
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
2020-10-29 09:10:33 +00:00
Morris Jobke 62f81da02e Merge pull request #23759 from nextcloud/backport/23752/stable20
[stable20] inform the user when flow config data exceeds thresholds
2020-10-29 08:55:43 +01:00
Nextcloud bot 6f31880a63 [tx-robot] updated from transifex 2020-10-29 02:19:27 +00:00
Morris Jobke 2c69c7c863 Merge pull request #23763 from nextcloud/backport/23746/stable20
[stable20] Type the \OCP\IUserManager::callForSeenUsers closure with Psalm
2020-10-28 21:10:50 +01:00
Morris Jobke bce4ca7bf2 Merge pull request #23751 from nextcloud/backport/23744/stable20
[stable20] Type the \OCP\AppFramework\Services\IInitialState::provideLazyInitial…
2020-10-28 21:10:37 +01:00
Christoph Wurst c509410b1d Type the \OCP\IUserManager::callForSeenUsers closure with Psalm
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-10-28 19:08:14 +00:00
Arthur Schiwon e2577440b3 inform the user when flow config data exceeds thresholds
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-10-28 15:11:06 +00:00
Morris Jobke 9dbc227043 Merge pull request #23749 from nextcloud/backport/23743/stable20
[stable20] Type the \OCP\IUserManager::callForAllUsers closure with Psalm
2020-10-28 15:27:16 +01:00
Roeland Jago Douma 092f346d6e Merge pull request #23753 from nextcloud/backport/23750/stable20
[stable20] Don't overwrite the event if we use it later
2020-10-28 15:19:56 +01:00
Roeland Jago Douma f14c0dec40 Don't overwrite the event if we use it later
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-10-28 13:41:38 +00:00
Christoph Wurst 29aa60d65a Type the \OCP\AppFramework\Services\IInitialState::provideLazyInitialState closure with Psalm
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-10-28 13:05:58 +00:00
Christoph Wurst adc1b28419 Type the \OCP\IUserManager::callForAllUsers closure with Psalm
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-10-28 12:16:45 +00:00
Morris Jobke 3869c235de Merge pull request #23745 from nextcloud/backport/23723/stable20
[stable20] Also run the SabreAuthInitEvent for the main server
2020-10-28 13:13:18 +01:00
Roeland Jago Douma aa12dd403e Also run the SabreAuthInitEvent for the main server
else for example trusted servers breaks

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-10-28 08:10:21 +00:00
Morris Jobke ca4eaf9ab5 Merge pull request #23736 from nextcloud/backport/23721/stable20
[stable20] reset avatar cropper before showing
2020-10-28 08:49:49 +01:00
Morris Jobke 21e9ec1f08 Merge pull request #23733 from nextcloud/backport/23720/stable20
[stable20] save email as lower case
2020-10-28 08:49:29 +01:00
Roeland Jago Douma da92c70823 Merge pull request #23732 from nextcloud/backport/23725/stable20
[stable20] Specify accept argument to avatar upload input field
2020-10-28 08:43:16 +01:00
Nextcloud bot 9150a8bce6 [tx-robot] updated from transifex 2020-10-28 02:19:02 +00:00
Robin Appelman 5c93d08bc1 reset avatar cropper before showing
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-10-27 20:25:40 +00:00
Robin Appelman d4303b6e8a save email as lower case
email addresses are case insensitive

Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-10-27 20:25:25 +00:00
Morris Jobke 2337ce2efd Specify accept argument to avatar upload input field
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-10-27 20:15:25 +00:00
Roeland Jago Douma 86c66c29a9 Merge pull request #23726 from nextcloud/backport/23711/stable20
[stable20] Fix default quota display value in user row
2020-10-27 20:07:29 +01:00
Roeland Jago Douma 9cfaf9081d Merge pull request #23727 from nextcloud/backport/23722/stable20
[stable20] Use lib instead if core as l10n module in OC_Files
2020-10-27 20:04:37 +01:00
Roeland Jago Douma bc8740a46a Merge pull request #23710 from nextcloud/backport/23701/stable20
[stable20] Make sure the function signatures of the backgroundjob match
2020-10-27 19:54:51 +01:00
Morris Jobke 017a3f86c2 Use lib instead if core as l10n module in OC_Files
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-10-27 16:30:26 +00:00
Vincent Petry 2230585765 Fix default quota display value in user row
When selecting default quota in the dropdown, the actual numeric value
or "Unlimited" will be displayed instead of "0 B". This matches whatever
is displayed after refreshing the page.

In the case where the default quota is unlimited, for which the server
returns -3 instead of "none", the frontend now also shows "Unlimited"
instead of "0 B".

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2020-10-27 16:58:03 +01:00
Morris Jobke 4ea4918b62 Merge pull request #23713 from nextcloud/backport/23645/stable20
[stable20] Check if array elements exist before using them
2020-10-27 16:25:35 +01:00
Roeland Jago Douma 42d56c9655 Check if array elements exist before using them
It seems that in some recent upgrade here. Not always the entries we
expect are returned. So we should first check if they exist. As to not
spam the log.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-10-27 10:57:51 +00:00
Roeland Jago Douma 0277829be8 Make sure the function signatures of the backgroundjob match
Else PHP says no

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-10-27 09:16:03 +00:00
John Molakvoæ b0eec52c85 Merge pull request #23702 from nextcloud/fix/noid/remnants-sharee-display-20-and-older 2020-10-27 09:46:24 +01:00
Morris Jobke c4d016887b Merge pull request #23699 from nextcloud/backport/23680/stable20
[stable20] Enable theming background transparency
2020-10-27 09:06:05 +01:00
Nextcloud bot e4534d8389 [tx-robot] updated from transifex 2020-10-27 02:18:45 +00:00
John Molakvoæ (skjnldsv) 3e4e05bb93 Enable theming background transparency
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2020-10-26 19:51:38 +00:00
Arthur Schiwon 37301a5378 fixes determining whether former user is a share owner
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-10-26 14:00:57 +01:00
Morris Jobke 429700ac3a Merge pull request #23690 from nextcloud/backport/23688/stable20
[stable20] Use bigint for fileid in filecache_extended
2020-10-26 13:57:41 +01:00
Arthur Schiwon 71c34876a6 split instantiation from business logic in OfflineUser
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-10-26 13:54:03 +01:00
Arthur Schiwon 2a1e5d8beb add test for active shares flag
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-10-26 13:52:27 +01:00
timm2k 6a3889b531 Update CheckSetupController.php 2020-10-26 09:00:18 +00:00
timm2k 67211199e1 Update ConvertFilecacheBigInt.php 2020-10-26 09:00:16 +00:00
Nextcloud bot 792e42d411 [tx-robot] updated from transifex 2020-10-26 02:18:16 +00:00
Morris Jobke badb56b952 Merge pull request #23636 from nextcloud/backport/23630/stable20
[stable20] Bring back the restore share button
2020-10-25 21:57:52 +01:00
Morris Jobke 2b12d71a0d Merge pull request #23641 from nextcloud/backport/23602/stable20
[stable20] Fix updates of NULL appconfig values
2020-10-25 21:38:49 +01:00
Nextcloud bot 42339e0cdc [tx-robot] updated from transifex 2020-10-25 02:18:40 +00:00
Roeland Jago Douma 1ab03a0d3e Merge pull request #23563 from nextcloud/backport/23497/stable20
[stable20] CalDavBackend: check if timerange is array before accessing
2020-10-24 10:57:58 +02:00
Roeland Jago Douma 5a7a0a2f64 Merge pull request #23583 from nextcloud/backport/23580/stable20
[stable20] Also expire share type email
2020-10-24 10:54:41 +02:00
Roeland Jago Douma 2d3a2e20ae Merge pull request #23575 from nextcloud/backport/23415/stable20
[stable20] Some emojis are in CHAR_CATEGORY_GENERAL_OTHER_TYPES
2020-10-24 10:54:29 +02:00
Roeland Jago Douma 0b46ebe3c6 Merge pull request #23611 from nextcloud/backport/23606/stable20
[stable20] Only use index of mount point when it is there
2020-10-24 10:53:45 +02:00
Roeland Jago Douma 50d39324a2 Merge pull request #23633 from nextcloud/backport/23374/stable20
[stable20] Only retry fetching app store data once every 5 minutes in case it fails
2020-10-24 10:53:01 +02:00
Roeland Jago Douma 0b67ea0d67 Merge pull request #23646 from nextcloud/backport/23627/stable20
[stable20] Fix sharing input placeholder for emails
2020-10-24 10:52:33 +02:00
Roeland Jago Douma 89d88b3ea5 Merge pull request #23639 from nextcloud/version/noid/20.0.1
20.0.1
2020-10-24 10:32:10 +02:00
Nextcloud bot 3674d341ea [tx-robot] updated from transifex 2020-10-24 02:18:55 +00:00
John Molakvoæ (skjnldsv) 2562d45af2 Fix sharing input placeholder for emails
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
Signed-off-by: npmbuildbot[bot] <npmbuildbot[bot]@users.noreply.github.com>
2020-10-23 13:06:01 +00:00
Roeland Jago Douma 1cc6a0f8e3 Fix updates of NULL appconfig values
The comparisson of NULL is a bit special.
So we need to handle this a tad beter else it might not replace NULL
values. or allow you to set NULL values on updates.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-10-23 08:45:29 +00:00
Nextcloud bot 526a392002 [tx-robot] updated from transifex 2020-10-23 02:18:59 +00:00
Morris Jobke dcc146a5c0 20.0.1
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-10-22 23:11:04 +02:00
Vincent Petry d391e7fe02 Bring back the restore share button
Fix disabled default file action to still use an anchor element, as this
is used in many other places (and potentially apps).

Adjusted anchor style to not look like it's clickable and added extras
to make sure everything inside still looks clickable as before.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2020-10-22 18:58:57 +00:00
Julius Härtl 367a7bd87e Only retry fetching app store data once every 5 minutes in case it fails
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-10-22 14:14:49 +00:00
Morris Jobke 820881168d Merge pull request #23621 from nextcloud/backport/23613/stable20
[stable20] Disable unreliable app-files.feature:108
2020-10-22 15:58:35 +02:00
Daniel Calviño Sánchez 0dcdb14966 Merge pull request #23622 from nextcloud/backport/23614/stable20
[stable20] Disable unreliable app-files-sharing.feature:108
2020-10-22 15:39:20 +02:00
Morris Jobke eba5eb8876 Disable unreliable app-files-sharing.feature:108
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-10-22 10:22:53 +00:00
Morris Jobke 78d233276f Disable unreliable app-files.feature:108
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-10-22 10:20:38 +00:00
Nextcloud bot f7798def38 [tx-robot] updated from transifex 2020-10-22 02:19:16 +00:00
Joas Schilling 2160dc9583 Only use index of mount point when it is there
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-10-21 18:46:13 +00:00
blizzz 36070d70d7 Merge pull request #23570 from nextcloud/backport/23566/stable20
[stable20] LDAP: when nesting is not enabled, the group filter can be applied right away
2020-10-21 16:12:58 +02:00
Nextcloud bot e6ed412c2a [tx-robot] updated from transifex 2020-10-21 02:18:54 +00:00
John Molakvoæ (skjnldsv) 2aa69ba895 Also expire share type email
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2020-10-20 09:35:45 +00:00
Nextcloud bot 2005119af2 [tx-robot] updated from transifex 2020-10-20 02:18:50 +00:00
Joas Schilling 57cfed3f3d Some emojis are in CHAR_CATEGORY_GENERAL_OTHER_TYPES
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-10-19 15:19:50 +00:00
Arthur Schiwon 7fad750a2d tame psalm. why does it ignore '@property'?
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-10-19 13:37:23 +00:00
Arthur Schiwon fbfac673c9 when nesting is not enabled, the group filter can be applied right away
- helps performance, but skipping unnecessary entries
- reduces reoccuring info-level log output against groups that do not
  qualify ("no or empty name")

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-10-19 13:37:22 +00:00
Morris Jobke 97ad590aea Merge pull request #23474 from nextcloud/version/noid/20.0.1RC1
20.0.1 RC 1
2020-10-19 13:31:27 +02:00
Simon Spannagel b1d3877625 CalDavBackend: check if timerange is array before accessing
Signed-off-by: Simon Spannagel <simonspa@kth.se>
2020-10-19 10:56:51 +00:00
Morris Jobke b6bd757644 Update CA bundle
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-10-19 10:30:14 +02:00
Morris Jobke 9db12a5651 20.0.1 RC 1
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-10-19 10:16:43 +02:00
Morris Jobke 41090d0faa Merge pull request #23205 from nextcloud/backport/23012/stable20
[stable20] Make BeforeTemplateRenderedEvent aware of the actual response
2020-10-19 10:15:22 +02:00
Morris Jobke cbde9d878f Merge pull request #23514 from nextcloud/backport/23508/stable20
[stable20] fixes potential passing of null to getUserGroupIds
2020-10-19 10:14:06 +02:00
Morris Jobke 3f180d2946 Merge pull request #23422 from nextcloud/backport/23295/stable20
[stable20] Fix undefined index and consequential damages in versions code
2020-10-19 10:12:49 +02:00
Morris Jobke bd11c9c620 Merge pull request #23426 from nextcloud/backport/23021/stable20
[stable20] allow using saved login credentials for notify
2020-10-19 10:12:38 +02:00
Morris Jobke ae5500b0cb Merge pull request #23438 from nextcloud/disable-notify-self-check-20
[20] add option to disable notify self check
2020-10-19 10:12:09 +02:00
Morris Jobke a6b4770afc Update @since tag
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-10-19 10:00:15 +02:00
blizzz 52f873942c Merge pull request #23548 from nextcloud/backport/23264/stable20
[stable20] Add local version of escapeHTML
2020-10-19 09:32:26 +02:00
Nextcloud bot 6e8f9b7aef [tx-robot] updated from transifex 2020-10-19 02:18:07 +00:00
Daniel Kesselberg 732f65b5fd Add local version of escapeHTML
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2020-10-18 15:28:17 +00:00
Nextcloud bot 97eb117251 [tx-robot] updated from transifex 2020-10-18 02:17:52 +00:00
Nextcloud bot 5e52e63672 [tx-robot] updated from transifex 2020-10-17 02:18:57 +00:00
Morris Jobke 401c245101 Merge pull request #23513 from nextcloud/backport/23478/stable20
[stable20] Clear cached app config while waiting for the SCSSCache lock to return
2020-10-16 18:15:58 +02:00
Morris Jobke e95a1420f1 Clear cached app config while waiting for the SCSSCache to finish processing the file
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-10-16 15:46:59 +02:00
Arthur Schiwon a615e7dcfa fixes potential passing of null to getUserGroupIds
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-10-16 13:01:06 +00:00
Morris Jobke 130689ac2a Merge pull request #23510 from nextcloud/backport/23488/stable20
[stable20] SCSSCacher - Lock should not be removed
2020-10-16 14:55:47 +02:00
Morris Jobke 2dcf50cd78 SCSSCacher - Lock should not be removed
This is within the failed lock acquiring branch. So the lock is free by another process and should not be removed because the cached file (that was created by the process having the lock) appeared on the filesystem.

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-10-16 11:27:36 +00:00
Morris Jobke bc41e93bf8 Merge pull request #23503 from nextcloud/backport/23490/stable20
[stable20] Provide log statements for SCSS cache
2020-10-16 13:23:40 +02:00
Morris Jobke 3c1a745301 Merge pull request #23480 from nextcloud/backport/23401/stable20
[stable20] Use own psalm instead of a global one
2020-10-16 13:22:33 +02:00
Morris Jobke 7054159cda Do not fail on changes to baseline.xml
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-10-16 13:17:19 +02:00
Morris Jobke 8c9fe98446 Update psalm-baseline
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-10-16 13:17:19 +02:00
Morris Jobke 8985f4679a Merge pull request #23498 from nextcloud/backport/23492/stable20
[stable20] SharedMountTest.php:367 is unreliable
2020-10-16 10:57:31 +02:00
Morris Jobke 3d765dafe7 Merge pull request #23472 from nextcloud/backport/23464/stable20
[stable20] Add psalm types for the migration schema closure
2020-10-16 09:50:22 +02:00
Morris Jobke 96e08a508e Provide log statements for SCSS cache
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-10-16 07:50:21 +00:00
Morris Jobke dd7c6d1947 Merge pull request #23491 from nextcloud/backport/23481/stable20
[stable20] Add psalm types for the event dispatcher
2020-10-16 09:32:47 +02:00
Morris Jobke 5994f66659 Merge pull request #23336 from nextcloud/backport/23239/stable20
[stable20] Fix database password visibility toggle
2020-10-16 09:31:53 +02:00
Christoph Wurst 6536501579 Update the baseline
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-10-16 09:15:54 +02:00
Christoph Wurst be3a46038f Use own psalm instead of a global one
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-10-16 08:45:07 +02:00
Morris Jobke 653596b2c9 SharedMountTest.php:367 is unreliable
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-10-16 06:41:23 +00:00
Richard Steinmetz a7b0778b4b Fix password visibility toggles
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
Signed-off-by: npmbuildbot[bot] <npmbuildbot[bot]@users.noreply.github.com>
2020-10-16 06:15:07 +00:00
Nextcloud bot 7aeb050124 [tx-robot] updated from transifex 2020-10-16 02:18:20 +00:00
Christoph Wurst 3a3d7ea6cd Type the authentication listeners
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-10-15 22:34:18 +00:00
Christoph Wurst dff399973f Add psalm types for the event dispatcher
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-10-15 22:34:18 +00:00
John Molakvoæ 904396c5d2 Merge pull request #23458 from nextcloud/backport/23448/stable20
[stable20] Fix app sidebar mountpoint
2020-10-15 16:43:30 +02:00
John Molakvoæ (skjnldsv) 1d5ffe3326 Fix app sidebar mountpoint
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
Signed-off-by: npmbuildbot[bot] <npmbuildbot[bot]@users.noreply.github.com>
2020-10-15 13:25:31 +00:00
Morris Jobke 646e0ac99d Merge pull request #23473 from nextcloud/backport/23436/stable20
[stable20] Remove posix_getpwuid and compare only userid
2020-10-15 14:04:34 +02:00
hoellen 0201154183 Adjust sudo command to UID instead of username
Signed-off-by: hoellen <dev@hoellen.eu>
2020-10-15 11:35:21 +00:00
hoellen 6e3513aa89 Remove posix_getpwuid and compare only userid
Signed-off-by: hoellen <dev@hoellen.eu>
2020-10-15 11:35:20 +00:00
Christoph Wurst 5290cc77bc Add psalm types for the migration schema closure
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-10-15 11:24:10 +00:00
Morris Jobke c9d196af78 Merge pull request #23466 from nextcloud/dependencies/nextcloud-vue-2.6.9
[stable20] Bump @nextcloud/vue to 2.6.9
2020-10-15 13:15:03 +02:00
Julius Härtl 8c132c30bf Bump @nextcloud/vue to 2.6.9
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Signed-off-by: npmbuildbot[bot] <npmbuildbot[bot]@users.noreply.github.com>
2020-10-15 09:48:06 +00:00
Nextcloud bot 76f62e3891 [tx-robot] updated from transifex 2020-10-15 02:18:34 +00:00
Morris Jobke 5e9e90655e Merge pull request #23446 from nextcloud/backport/23377/stable20
[stable20] Annotate IContainer so Psalm knows what resove and query return
2020-10-14 17:40:06 +02:00
Christoph Wurst 327ec78e15 Annotate IContainer so Psalm knows what resove and query return
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-10-14 15:07:07 +00:00
Christoph Wurst d77ed81666 Merge pull request #23384 from nextcloud/backport/23284/stable20
[stable20] Fix adminpass strengthify margin
2020-10-14 15:58:46 +02:00
Robin Appelman 43778d8aae add option to disable notify self check
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-10-14 14:06:40 +02:00
Nextcloud bot 1b8d9e9c13 [tx-robot] updated from transifex 2020-10-14 02:18:55 +00:00
Morris Jobke dc972cc162 Merge pull request #23420 from nextcloud/backport/23402/stable20
[stable20] Encode requesttoken for logout url in auto logout
2020-10-13 21:43:53 +02:00
Robin Appelman d5e77685a4 also give storage backend it's change to manipulate the config
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-10-13 17:44:21 +00:00
Robin Appelman b750503f4a allow using saved login credentials for notify
when only the user is provided, we use to provided user to try and get saved login credentials

Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-10-13 17:44:20 +00:00
Julius Härtl 098c631129 Encode requesttoken for logout url in auto logout
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Signed-off-by: npmbuildbot[bot] <npmbuildbot[bot]@users.noreply.github.com>
2020-10-13 15:57:25 +00:00
Morris Jobke 09b4f9b13e Merge pull request #23395 from nextcloud/backport/23300/stable20
[stable20] Stop transfer of ownership between same users
2020-10-13 17:46:32 +02:00
Morris Jobke 2b1f3df3da Return all keys in getAllVersions() instead
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-10-13 15:39:33 +00:00
Christoph Wurst 8a25ded758 Fix undefined index and consequential damages in versions code
If the user has no space and there are no versions, there won't be an
`all` index in the versions entry. Hence this triggers a warning and
becomes `null`, afterwards `count`, `foreach` and friends will happily
throw even more warnings and errors because they don't want to play with
`null`. Thus adding a fallback to an empty array.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-10-13 15:39:32 +00:00
Christoph Wurst 4af8bf2468 Merge pull request #23403 from nextcloud/backport/23396/stable20
[stable20] VersioningTest.php:729 is unreliable and should be disabled
2020-10-13 11:45:24 +02:00
Morris Jobke 3fc4120ebb VersioningTest:729 is unreliable and should be disabled
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-10-13 07:10:52 +00:00
Morris Jobke f730812af3 Merge pull request #23281 from nextcloud/backport/23269/stable20
[stable20] Fix the user remove from group in UI
2020-10-13 00:29:44 +02:00
Sujith Haridasan 67fa9edef0 Stop transfer of ownership between same users
Stop the transfer of ownership between same user.

Signed-off-by: Sujith Haridasan <sujith.h@gmail.com>
2020-10-12 20:03:17 +00:00
npmbuildbot[bot] 64da029df9 Compile assets
Signed-off-by: npmbuildbot[bot] <npmbuildbot[bot]@users.noreply.github.com>
2020-10-12 19:53:34 +00:00
Morris Jobke a70bbf1f4b Merge pull request #23388 from nextcloud/backport/23378/stable20
[stable20] Fix typo 'shared'
2020-10-12 21:50:14 +02:00
Morris Jobke cf9c643793 Merge pull request #23390 from nextcloud/backport/23379/stable20
[stable20] Expose CLOUD federation for local users in the recent addressbook
2020-10-12 21:38:25 +02:00
John Molakvoæ (skjnldsv) a9425c7ebf Drop X-NEXTCLOUD-UID
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2020-10-12 18:51:53 +00:00
John Molakvoæ (skjnldsv) a9a552ec95 Expose CLOUD federation for local users as well
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2020-10-12 18:51:53 +00:00
Morris Jobke a7ff7c47ab Fix code style
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-10-12 18:08:36 +00:00
Robin Windey 06895ef8cc Fix typo 'shared' 2020-10-12 18:08:36 +00:00
kesselb 830d911507 Merge pull request #23383 from nextcloud/backport/23371/stable20
[stable20] Add Psalm type for the bootstrap registration context
2020-10-12 19:12:21 +02:00
Richard Steinmetz a8e7b5ad3a Fix adminpass strengthify margin
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2020-10-12 15:43:13 +00:00
Christoph Wurst bab06f9bf9 Add Psalm type for the bootstrap registration context
This can potentially catch a few bugs with wrong class strings.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-10-12 15:16:34 +00:00
Morris Jobke aff015661f Merge pull request #23375 from nextcloud/backport/23310/stable20
[stable20] Add template typing to the QBMapper
2020-10-12 13:50:35 +02:00
Christoph Wurst a1856176d5 Add template typing to the QBMapper
The QBMapper is kind of a generic type, though this concept does not
exist in php. Hence you have a lot of type coercion in subtypes (mappers
in the individual apps) because you suddenly don't expect an Entity[]
but your specific type.

Luckily Psalm lets us type those. Then in the subclass you can
psalm-implement the mapper with a concrete type and psalm will do all
the magic to ensure types are used correctly.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-10-12 11:12:35 +00:00
Roeland Jago Douma e58134e0c9 Merge pull request #23288 from nextcloud/backport/23275/stable20
[stable20] Fix dashboard statuses sort
2020-10-08 20:06:03 +02:00
Julien Veyssier 07ad1978a8 fix dashboard statuses sort function
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
Signed-off-by: npmbuildbot[bot] <npmbuildbot[bot]@users.noreply.github.com>
2020-10-08 13:39:54 +00:00
Sujith Haridasan 22b24b8f5d Fix the user remove from group in UI
Fix the removal of user from the group in UI.

Signed-off-by: Sujith Haridasan <sujith.h@gmail.com>
2020-10-08 11:21:02 +00:00
John Molakvoæ c578b11fe3 Merge pull request #23271 from nextcloud/fix/sidebar-updateTabs
Fix sidebar updateTabs method
2020-10-08 12:25:59 +02:00
Roeland Jago Douma 2d2cba3c9b Merge pull request #23256 from nextcloud/backport/23184/stable20
[stable20] Make sure getUsersFavoritingObject can be run without a user
2020-10-08 11:49:03 +02:00
John Molakvoæ (skjnldsv) fbf77cb653 Fix sidebar updateTabs method
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
Signed-off-by: npmbuildbot[bot] <npmbuildbot[bot]@users.noreply.github.com>
2020-10-08 09:36:24 +00:00
Joas Schilling d68d62f052 Make sure getUsersFavoritingObject can be run without a user
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-10-07 11:10:38 +00:00
Morris Jobke f4891da160 Merge pull request #23254 from nextcloud/backport/23252/stable20
[stable20] Use the correct l10n for activities
2020-10-07 12:24:28 +02:00
Roeland Jago Douma 1f3e3e782f Use the correct l10n for activities
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-10-07 09:37:23 +00:00
Roeland Jago Douma f26998364b Merge pull request #23216 from nextcloud/backport/23183/stable20
[stable20] Don't influence toastify errors and always use white
2020-10-07 11:06:53 +02:00
Morris Jobke 7581ba94f4 Merge pull request #23235 from nextcloud/backport/22974/stable20
[stable20] Fix appid in translation
2020-10-06 22:13:15 +02:00
Joas Schilling f3060b62c6 Fix appid in translation
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-10-06 18:55:40 +02:00
Morris Jobke 21f00069fe Merge pull request #23213 from nextcloud/backport/22937/stable20
[stable20] Allow configuring the activity update interval of token
2020-10-06 16:07:54 +02:00
Roeland Jago Douma ca32ee1a65 Merge pull request #23220 from nextcloud/backport/23215/stable20
[stable20] Only run the query to get the account data once
2020-10-06 14:46:06 +02:00
Roeland Jago Douma ee1a6ad434 Merge pull request #23195 from nextcloud/backport/23175/stable20
[stable20] Fix legacy update notifications
2020-10-06 13:29:26 +02:00
Roeland Jago Douma a81ec17235 Merge pull request #23170 from nextcloud/backport/22913/stable20
[stable20] add mount point to quota warning message
2020-10-06 13:18:12 +02:00
Roeland Jago Douma 3bd9297bb1 Merge pull request #23211 from nextcloud/backport/23096/stable20
[stable20] Also check the path based mimetype for flow rule checks
2020-10-06 13:07:11 +02:00
Joas Schilling 851acc1d74 Only run the query to get the account data once
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-10-06 10:48:24 +00:00
Joas Schilling 27854f05a8 Don't influence toastify errors and always use white
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-10-06 09:09:01 +00:00
Roeland Jago Douma e0bc29d907 Allow configuring the activity update interval of token
On some systems with a lot of users this creates a lot of extra DB
writes.
Being able to increase this interval helps there.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-10-06 08:04:12 +00:00
Morris Jobke 76fe051ecb Merge pull request #23185 from nextcloud/backport/23109/stable20
[stable20] dont hold a transaction during the move to trash
2020-10-06 09:10:57 +02:00
Morris Jobke 853b17b2a9 Merge pull request #23207 from nextcloud/backport/23028/stable20
[stable20] Fix array to string conversion on event search
2020-10-06 09:09:34 +02:00
Julius Härtl 53ac186473 Make sure to check the mimetype on the path if a secure one could not be detemined though the content
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-10-06 06:08:04 +00:00
Joas Schilling 732cf6b8d3 Fix array to string conversion on event search
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-10-05 21:07:05 +00:00
Morris Jobke 20524cff33 Merge pull request #23203 from nextcloud/backport/23182/stable20
[stable20] Fix the user email issue while creating a user
2020-10-05 23:03:48 +02:00
Julius Härtl bc0a429822 Add acutal response to BeforeTemplateRenderedEvent
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-10-05 19:53:05 +00:00
Julius Härtl 7b65eecf72 Only load user status script when needed
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-10-05 19:53:04 +00:00
Sujith Haridasan c998209ec1 Fix the user email issue while creating a user
When the user is created, the provisioning api
was not adding the email address of the user
when provided if the `send email to new user`
is not set.

Signed-off-by: Sujith Haridasan <sujith.h@gmail.com>
2020-10-05 19:34:24 +00:00
Roeland Jago Douma 453aafee73 Fix unit tests
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-10-05 21:33:40 +02:00
Roeland Jago Douma 4f5a24bb50 Merge pull request #23192 from nextcloud/backport/23179/stable20
[stable20] Fix dashboard rendering if accessibility app is disabled
2020-10-05 20:01:30 +02:00
Julius Härtl 2070ef6270 Fix dashboard rendering if accessibility app is disabled
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Signed-off-by: npmbuildbot[bot] <npmbuildbot[bot]@users.noreply.github.com>
2020-10-05 14:13:56 +00:00
mrtnmtth 608fab3741 Fix legacy update notifications
Signed-off-by: mrtnmtth <mrtn.mtth@gmx.de>
2020-10-05 14:07:51 +00:00
Robin Appelman acef3620e0 dont hold a transaction during the move to trash
because moving to trash can take a long time, keeping a transaction active for the duration can lead to issues

Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-10-05 15:25:36 +02:00
Robin Appelman aec422a874 add mount point to quota warning message
makes it more clear to the user what the quota applies to

Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-10-04 11:05:24 +00:00
Roeland Jago Douma 615b994816 Merge pull request #23071 from nextcloud/version/20.0.0/final
20 final
2020-10-02 18:42:10 +02:00
Roeland Jago Douma c2eb39d662 Merge pull request #23143 from nextcloud/backport/23114/stable20
[stable20]  Show icon only with dnd status in the message
2020-10-02 18:33:17 +02:00
Joas Schilling d2bd0664be Show the full status and icon all the time
Signed-off-by: Joas Schilling <coding@schilljs.com>
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-10-02 17:18:43 +02:00
Julius Härtl d3d7209be9 Show icon only with dnd status in the message
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-10-02 17:13:26 +02:00
Roeland Jago Douma 2c149fbd9a Merge pull request #23141 from nextcloud/backport/23136/stable20
[stable20] Mark all compiled JS as binary
2020-10-02 17:01:03 +02:00
Roeland Jago Douma 998ab15206 Merge pull request #23132 from nextcloud/backport/23130/stable20
[stable20] Move online status into modal
2020-10-02 16:58:35 +02:00
Joas Schilling d204e5855c Mark all compiled JS as binary
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-10-02 13:41:55 +00:00
John Molakvoæ (skjnldsv) bb662c20fe Bump @nextcloud/vue to v2.6.8
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2020-10-02 13:33:43 +02:00
John Molakvoæ (skjnldsv) 097d62049d Fix subline hint
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2020-10-02 13:22:42 +02:00
Joas Schilling be778c94e1 Show the subline
Signed-off-by: Joas Schilling <coding@schilljs.com>
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-10-02 12:50:29 +02:00
Joas Schilling ac3a32f305 Set status is also there now
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-10-02 09:26:53 +00:00
Joas Schilling 28ae039588 Update @nextcloud/vue to 2.6.7
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-10-02 09:26:52 +00:00
Jan C. Borchardt 1f0a5aeae3 Status: Add subline for Invisible to explain it properly
Signed-off-by: Jan C. Borchardt <hey@jancborchardt.net>
2020-10-02 09:26:50 +00:00
Jan C. Borchardt 741ebf5177 Enable scrollbar for too long content, same way as in Dashboard customize
Signed-off-by: Jan C. Borchardt <hey@jancborchardt.net>
2020-10-02 09:26:50 +00:00
John Molakvoæ (skjnldsv) 4817005733 Move online status into modal
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2020-10-02 09:26:50 +00:00
Roeland Jago Douma fa4cd4435b Merge pull request #23089 from nextcloud/backport/23074/stable20
[stable20] Do not match sharees on an empty email address
2020-10-01 19:29:39 +02:00
Roeland Jago Douma 61a0069dd5 Merge pull request #23115 from nextcloud/backport/23108/stable20
[stable20] Reset the user status when clearing the custom message
2020-10-01 19:23:51 +02:00
Roeland Jago Douma 2433550eff Merge pull request #23121 from nextcloud/backport/23112/stable20
[stable20] Increase the timeout of statuses
2020-10-01 15:09:51 +02:00
Joas Schilling d7d805ef79 Increase the timeout of statuses
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-10-01 09:45:46 +00:00
Roeland Jago Douma 612306d290 Merge pull request #23116 from nextcloud/backport/23113/stable20
[stable20] Change wording from 'custom status' to 'status message'
2020-10-01 08:29:27 +02:00
Jan C. Borchardt b66f5c55e5 Change wording from 'custom status' to 'status message'
Signed-off-by: Jan C. Borchardt <hey@jancborchardt.net>
Signed-off-by: Gary Kim <gary@garykim.dev>
2020-09-30 22:26:57 -04:00
Joas Schilling 413a6042f3 Reset the user status when clearing the custom message
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-09-30 17:27:14 +00:00
Roeland Jago Douma f0dc0d1347 Merge pull request #23098 from nextcloud/backport/22999/stable20
[stable20] Adjust scroll container height to make it a proper boundary element for actions
2020-09-30 13:48:05 +02:00
Roeland Jago Douma 6b8356ce35 Merge pull request #23095 from nextcloud/backport/23043/stable20
[stable20] Avoid crash when unauthenticated users make weather-related requests
2020-09-29 21:35:17 +02:00
Julius Härtl 143c6356c5 Adjust scroll container height to make it a proper boundary element for actions
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-09-29 16:43:41 +00:00
Roeland Jago Douma 2e87668f77 Merge pull request #23092 from nextcloud/backport/23083/stable20
[stable20] Generate exception to log on php errors
2020-09-29 16:38:56 +02:00
Julien Veyssier 2364808913 avoid crash when unauthenticated users make weather-related requests, mention it in UI
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
2020-09-29 12:18:55 +00:00
Roeland Jago Douma f72ebcd956 Merge pull request #23085 from nextcloud/backport/23013/stable20
[stable20] Show federation and email results also with exact user match unless c…
2020-09-29 12:16:00 +02:00
Roeland Jago Douma b1879c4fcb Merge pull request #23084 from nextcloud/backport/22983/stable20
[stable20] Sync all users to the system addresssbook
2020-09-29 11:52:15 +02:00
Julius Härtl 05fa5e4d9e Generate exception to log on php errors
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-09-29 08:17:21 +00:00
Christoph Wurst 851333edab Do not match sharees on an empty email address
When asking for sharees we compare not only UID and displayname but also
the email address. And if that matches we return the sharee as an exact
match. This logic had a flaw as in that it also matched the empty string
to users with no email address.

This is most noticeable when you disable sharee enumeration and open the
ownership transfer dialog. It suggested other users of the instance
before. This has stopped now.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-09-29 07:29:43 +00:00
Joas Schilling 71b33fb87a Show federation and email results also with exact user match unless containing @
Before when you have a user "smith" and a federated user "smith@example.com"
you could see the federation result with "smit" but not with "smith" anymore.
With most LDAP configurations and local backend setups this is disturbing and
causes issues.
The idea of not showing the email and federation on a matching user was with:
Local user registered with "smith@example.com" user id and having that same
email / cloud id in your contacts addressbook. So we now only hide those
"side results" when the search does contain an @

Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-09-29 07:16:12 +00:00
Joas Schilling 6365e7e162 Sync all users to the system addresssbook
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-09-29 07:15:49 +00:00
Roeland Jago Douma fb426c90b7 Merge pull request #23072 from nextcloud/backport/23051/stable20
[stable20] Fix app text going too far down on hover/focus
2020-09-28 12:40:18 +02:00
Roeland Jago Douma 15ff980583 Merge pull request #23029 from nextcloud/backport/23024/stable20
[stable20] Add occ command to set theming values
2020-09-28 12:24:23 +02:00
Jan C. Borchardt d358f9dddf Fix app text going too far down on hover/focus
Signed-off-by: Jan C. Borchardt <hey@jancborchardt.net>
2020-09-28 07:34:29 +00:00
Roeland Jago Douma 7496a10227 Merge pull request #23032 from nextcloud/backport/23015/stable20
[stable20] Log slow dashboard widgets
2020-09-28 09:33:56 +02:00
Roeland Jago Douma 7630052a60 Merge pull request #23048 from nextcloud/backport/23034/stable20
[stable20] Fix numeric folders throwing on markDirty
2020-09-28 09:32:40 +02:00
Roeland Jago Douma 5ab7392d56 20 final
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-09-28 09:28:36 +02:00
Joas Schilling aefbf4c01d Fix numeric folders throwing on markDirty
TypeError: strpos() expects parameter 1 to be string, int given

The problem is that in cacheNode() we strip of any slashes, so
a folder "0/" will be trimmed to "0" and be used as an array key.
Since PHP automatically casts numeric array keys to integers,
you afterwards get $nodePath as int(0). Since it's now a number,
the strpos() function does not accept it anymore. Simply casting
$nodePath to a string again in the foreach solves the issue

Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-09-25 13:14:49 +00:00
Roeland Jago Douma d81b4e2ff7 Merge pull request #23030 from nextcloud/backport/22948/stable20
[stable20] Add more integration tests for "files:transfer-ownership" command
2020-09-24 21:32:28 +02:00
Roeland Jago Douma 3320d8ecf1 Merge pull request #23038 from nextcloud/fix-running-video-verification-integration-tests-in-drone-in-stable20
[stable20] Fix running video verification integration tests in Drone
2020-09-24 21:30:23 +02:00
Daniel Calviño Sánchez a1d3213e7d Fix running video verification integration tests in Drone in stable20
In order to run the video verification integration tests the Talk app
needs to be cloned in a branch compatible with the server.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-09-24 16:52:04 +02:00
Joas Schilling 5475bb4083 Log a warning if a "lazy" initial state loads longer than 1 second
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-09-24 13:00:19 +00:00
Joas Schilling 87f8e1e366 Log an error if a dashboard widget loads longer than 1 second
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-09-24 13:00:19 +00:00
Daniel Calviño Sánchez 0dd18e0356 Add integration tests to check that only the given path is transferred
Until recently (it was fixed in ac2999a26a) when a path was transferred
other shares with the target user were removed, so a test was added to
ensure that it does not happen again.

Besides that a test to ensure that other files with the target user are
not transferred was added too (it did not fail before, but seemed
convenient to have that covered too :-) ).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-09-24 12:47:47 +00:00
Daniel Calviño Sánchez bf9a24efbe Add integration tests for transferring files of a user with a risky name
The files:transfer-ownership performs a sanitization of users with
"risky" display names (including characters like "\" or "/").

In order to allow (escaped) double quotes in the display name the
regular expression used in the "user XXX with displayname YYY exists"
step had to be adjusted.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-09-24 12:47:47 +00:00
Daniel Calviño Sánchez 87b9dbdb56 Add integration test for transferring the path of a single file
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-09-24 12:47:47 +00:00
Julius Härtl 19390a4b5e Fix tests
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-09-24 12:38:53 +00:00
Julius Härtl 99b25ef3fe Add occ command to set theming values
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-09-24 12:38:53 +00:00
Roeland Jago Douma d247f198a9 Merge pull request #23000 from nextcloud/version/20.0.0/RC2
20 RC2
2020-09-24 13:41:12 +02:00
Roeland Jago Douma e29b5c6d92 Merge pull request #23026 from nextcloud/backport/23014/stable20
[stable20] Make 'Reasons to use Nextcloud' button translatable, fix #22977
2020-09-24 11:31:39 +02:00
Roeland Jago Douma fa0f815dda Merge pull request #23001 from nextcloud/backport/22940/stable20
[stable20] Never copy the share link when the password is forced
2020-09-24 09:37:22 +02:00
Jan C. Borchardt 2be71de5a1 Make 'Reasons to use Nextcloud' button translatable, fix #22977
Signed-off-by: Jan C. Borchardt <hey@jancborchardt.net>
2020-09-24 07:26:18 +00:00
Roeland Jago Douma 724276c7a7 Merge pull request #23018 from nextcloud/backport/23016/stable20
[stable20] Don't log a known shared section
2020-09-24 09:24:42 +02:00
Joas Schilling 26603c7cdd Don't log "duplicate section" for the shared "connected-accounts" section
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-09-23 11:03:50 +00:00
Joas Schilling 7edced3807 Merge pull request #23009 from nextcloud/backport/23008/stable20
[stable20] Add padding to the empty content and center it
2020-09-23 10:46:50 +02:00
Joas Schilling 3daddfce14 Add padding to the empty content and center it
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-09-22 19:16:30 +00:00
Joas Schilling 9838d54cb5 Never copy the share link when the password is forced
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-09-22 11:45:58 +00:00
Roeland Jago Douma 46babff37b Merge pull request #22928 from nextcloud/backport/22915/stable20
[stable20] improve handling of out of space errors for smb
2020-09-22 13:08:21 +02:00
Roeland Jago Douma ff8eb8dfa2 20 RC2
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-09-22 13:05:52 +02:00
John Molakvoæ 289bc8e345 Merge pull request #22946 from nextcloud/backport/22924/stable20
[stable20] Make sure most app names don’t ellipsize, fix #22845, fix #22219
2020-09-19 00:02:01 +02:00
Morris Jobke a0e8a78945 Fix transifex name of dashboard app
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-09-18 20:47:38 +02:00
Morris Jobke 065f3e125e Merge pull request #22950 from nextcloud/backport/22949/stable20
[stable20] Add transifex config for all new apps
2020-09-18 20:43:29 +02:00
Morris Jobke bf58dcb247 Add transifex config for all new apps
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-09-18 18:42:09 +00:00
Jan C. Borchardt ada7ad6930 Make sure most app names don’t ellipsize, fix #22845, fix #22219
Signed-off-by: Jan C. Borchardt <hey@jancborchardt.net>
2020-09-18 16:18:48 +00:00
Morris Jobke 5d81cb36b5 Merge pull request #22938 from nextcloud/backport/22911/stable20
[stable20] Allow to run occ preview:repair in parallel
2020-09-18 18:14:29 +02:00
Morris Jobke 03d00afe31 Merge pull request #22935 from nextcloud/backport/22868/stable20
[stable20] Fix/unified search papercuts
2020-09-18 18:14:17 +02:00
Morris Jobke b35daf665f Migrate verbose messages to inline syntax of writeln()
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-09-18 11:13:52 +00:00
Morris Jobke 55393939ce Show lock messages only in verbose mode
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-09-18 11:13:52 +00:00
Morris Jobke e9e5a02d7c Allow to run occ preview:repair in parallel
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-09-18 11:13:52 +00:00
John Molakvoæ (skjnldsv) 7ad973494a Prevent empty search placeholder
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2020-09-18 09:36:41 +00:00
John Molakvoæ (skjnldsv) 5646144fae Build assets and fix unified search event syntax
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2020-09-18 09:36:40 +00:00
John Molakvoæ (skjnldsv) 839f597921 Properly show loading state if there are still pending requests
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2020-09-18 09:36:39 +00:00
John Molakvoæ (skjnldsv) 3c6319f275 Properly use form role=search and unify reset button
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2020-09-18 09:36:39 +00:00
John Molakvoæ (skjnldsv) 2672f5da59 Fix loading error catch
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2020-09-18 09:36:39 +00:00
Roeland Jago Douma 2000e2faa5 Merge pull request #22932 from nextcloud/backport/22925/stable20
[stable20] Dashboard: Fix accessibility skip links
2020-09-18 11:32:38 +02:00
Jan C. Borchardt 0504873a8a Dashboard: Fix accessibility skip links
Signed-off-by: Jan C. Borchardt <hey@jancborchardt.net>
2020-09-18 06:35:28 +00:00
Robin Appelman eba4723428 improve handling of out of space errors for smb
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-09-17 18:47:33 +00:00
12777 changed files with 452782 additions and 821024 deletions
+15
View File
@@ -0,0 +1,15 @@
codecov:
branch: master
ci:
- drone.nextcloud.com
- !scrutinizer-ci.com
coverage:
precision: 2
round: down
range: "70...100"
status:
project: off
patch: off
comment: off
-89
View File
@@ -1,89 +0,0 @@
FROM ubuntu:noble
ARG DEBIAN_FRONTEND=noninteractive
# PHP
RUN apt-get update -y && \
apt install -y apache2 vim software-properties-common sudo nano gnupg2
RUN apt-get install --no-install-recommends -y \
php8.3 \
php8.3-common \
php8.3-gd \
php8.3-zip \
php8.3-curl \
php8.3-xml \
php8.3-xmlrpc \
php8.3-mbstring \
php8.3-sqlite \
php8.3-xdebug \
php8.3-pgsql \
php8.3-intl \
php8.3-imagick \
php8.3-gmp \
php8.3-apcu \
php8.3-bcmath \
php8.3-redis \
php8.3-soap \
php8.3-imap \
php8.3-opcache \
php8.3-cli \
php8.3-dev \
libmagickcore-6.q16-7-extra \
curl \
lsof \
make \
unzip
# 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/8.3/cli/conf.d/20-xdebug.ini && \
echo "xdebug.remote_autostart = 1" >> /etc/php/8.3/cli/conf.d/20-xdebug.ini && \
echo "apc.enable_cli=1" >> /etc/php/8.3/cli/conf.d/20-apcu.ini
# Autostart XDebug for apache
RUN { \
echo "xdebug.mode=debug"; \
echo "xdebug.start_with_request=yes"; \
} >> /etc/php/8.3/apache2/conf.d/20-xdebug.ini
# Increase PHP memory limit to 512mb
RUN sed -i 's/memory_limit = .*/memory_limit = 512M/' /etc/php/8.3/apache2/php.ini
# Docker
RUN apt-get -y install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common && \
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && \
add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable" && \
apt-get update -y && \
apt-get install -y docker-ce docker-ce-cli containerd.io && \
ln -s /var/run/docker-host.sock /var/run/docker.sock
# Dedicated DevContainer user runs Apache
ENV APACHE_RUN_USER=devcontainer
ENV APACHE_RUN_GROUP=devcontainer
RUN useradd -ms /bin/bash ${APACHE_RUN_USER} && \
adduser ${APACHE_RUN_USER} sudo && \
echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers && \
sed -ri "s/^export APACHE_RUN_USER=.*$/export APACHE_RUN_USER=${APACHE_RUN_USER}/" "/etc/apache2/envvars" && \
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 16'
WORKDIR /var/www/html
-2
View File
@@ -1,2 +0,0 @@
SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-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.
-26
View File
@@ -1,26 +0,0 @@
<?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');
$CONFIG = [
'mail_from_address' => 'no-reply',
'mail_smtpmode' => 'smtp',
'mail_sendmailmode' => 'smtp',
'mail_domain' => 'example.com',
'mail_smtphost' => 'localhost',
'mail_smtpport' => '1025',
'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;
$CONFIG['overwriteprotocol'] = 'https';
$CONFIG['trusted_domains'] = [ $host ];
}
-28
View File
@@ -1,28 +0,0 @@
{
"name": "NextcloudServer",
"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"
}
-2
View File
@@ -1,2 +0,0 @@
SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-38
View File
@@ -1,38 +0,0 @@
# 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
ports:
- 80:80
- 8080:8080
- 8025:8025
db:
image: postgres
restart: always
environment:
POSTGRES_PASSWORD: postgres
PGDATA: /data/postgres
volumes:
- db:/data/postgres
network_mode: service:nextclouddev
adminer:
image: adminer
restart: always
network_mode: service:nextclouddev
mailhog:
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
-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
#
# Set git safe.directory
git config --global --add safe.directory /var/www/html
git config --global --add safe.directory /var/www/html/3rdparty
-33
View File
@@ -1,33 +0,0 @@
#!/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
-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
[*]
@@ -26,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
-14
View File
@@ -1,14 +0,0 @@
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
# Ignoring folders for eslint
node_modules/
3rdparty/
**/vendor/
**/l10n/
**/js/*
*.config.js
tests/lib/
apps-extra
# TODO: remove when comments files is not using handlebar templates anymore
apps/comments/src/templates.js
+6 -37
View File
@@ -1,48 +1,17 @@
/**
* SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
module.exports = {
globals: {
__webpack_nonce__: true,
__webpack_public_path__: true,
_: true,
$: true,
dayNames: true,
escapeHTML: true,
firstDay: true,
moment: true,
escapeHTML: true,
oc_userconfig: true,
sinon: true,
dayNames: true,
firstDay: true
},
plugins: [
'cypress',
],
extends: [
'@nextcloud/eslint-config/typescript',
'plugin:cypress/recommended',
],
extends: ['@nextcloud'],
rules: {
'no-tabs': 'warn',
// TODO: make sure we fix this as this is bad vue coding style.
// Use proper sync modifier
'vue/no-mutating-props': 'warn',
'vue/custom-event-name-casing': ['error', 'kebab-case', {
// allows custom xxxx:xxx events formats
ignores: ['/^[a-z]+(?:-[a-z]+)*:[a-z]+(?:-[a-z]+)*$/u'],
}],
},
settings: {
jsdoc: {
mode: 'typescript',
},
},
overrides: [
// Allow any in tests
{
files: ['**/*.spec.ts'],
rules: {
'@typescript-eslint/no-explicit-any': 'warn',
},
}
],
}
}
-17
View File
@@ -1,17 +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
+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
-78
View File
@@ -1,80 +1,2 @@
# App maintainers
/apps/admin_audit/appinfo/info.xml @luka-nextcloud @blizzz
/apps/cloud_federation_api/appinfo/info.xml @mejo-
/apps/comments/appinfo/info.xml @edward-ly @Pytal
/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 @st3iny @SebastianKrupinski @tcitworld
/apps/dav/lib/CardDAV @hamza221 @SebastianKrupinski
/apps/dav/tests/unit/CalDAV @st3iny @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
/apps/files/appinfo/info.xml @skjnldsv @Pytal @ArtificialOwl @come-nc @artonge @icewind1991 @szaimen @susnux @nfebe
/apps/files_external/appinfo/info.xml @icewind1991 @artonge
/apps/files_reminders/appinfo/info.xml @Pytal
/apps/files_sharing/appinfo/info.xml @skjnldsv @come-nc
/apps/files_trashbin/appinfo/info.xml @Pytal @icewind1991
/apps/files_versions/appinfo/info.xml @artonge @icewind1991
/apps/oauth2/appinfo/info.xml @julien-nc @ChristophWurst
/apps/provisioning_api/appinfo/info.xml @provokateurin @nickvergessen
/apps/settings/appinfo/info.xml @Pytal @JuliaKirschenheuter
/apps/sharebymail/appinfo/info.xml @Altahrim
/apps/systemtags/appinfo/info.xml @Antreesy @marcelklehr
/apps/theming/appinfo/info.xml @skjnldsv @juliusknorr
/apps/twofactor_backupcodes/appinfo/info.xml @st3iny @miaulalala @ChristophWurst
/apps/updatenotification/appinfo/info.xml @Pytal @JuliaKirschenheuter
/apps/user_ldap/appinfo/info.xml @come-nc @blizzz
/apps/user_status/appinfo/info.xml @Antreesy @nickvergessen
/apps/weather_status/appinfo/info.xml @julien-nc @juliusknorr
/apps/webhook_listeners/appinfo/info.xml @come-nc @julien-nc
/apps/workflowengine/appinfo/info.xml @blizzz @juliusknorr
# Frontend expertise
/apps/files/src* @skjnldsv
/apps/files_external/src* @skjnldsv
/apps/files_reminders/src* @skjnldsv
/apps/files_sharing/src/actions* @skjnldsv
/apps/files_trashbin/src* @skjnldsv
# Security team
/build/psalm-baseline-security.xml @nickvergessen
/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 @st3iny
/apps/twofactor_backupcodes @ChristophWurst @miaulalala @nickvergessen @st3iny
/core/templates/twofactor* @ChristophWurst @miaulalala @nickvergessen @st3iny
# Limit login to IP
# Watch login routes for https://github.com/nextcloud/limit_login_to_ip
/core/routes.php @Altahrim
# OpenAPI
openapi*.json @provokateurin
ResponseDefinitions.php @provokateurin
# Talk team
/lib/private/Comments @nickvergessen
/lib/private/Federation @nickvergessen
/lib/private/Talk @nickvergessen
/lib/public/Comments @nickvergessen
/lib/public/Federation @nickvergessen
/lib/public/OCM @nickvergessen
/lib/public/Talk @nickvergessen
/lib/public/UserStatus @nickvergessen
# Groupware
/build/integration/dav_features/caldav.feature @st3iny @SebastianKrupinski
/build/integration/dav_features/carddav.feature @st3iny @SebastianKrupinski
# Personal interest
*/Activity/* @nickvergessen
*/Notifications/* @nickvergessen
/lib/private/Profiler @CarlSchwan
/lib/public/Profiler @CarlSchwan
+6 -17
View File
@@ -1,10 +1,6 @@
<!--
- SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
- SPDX-License-Identifier: AGPL-3.0-or-later
-->
## Submitting issues
If you have questions about how to install or use Nextcloud, please direct these to our [forum][forum]. We are also available on [IRC][irc] (unofficial).
If you have questions about how to install or use Nextcloud, please direct these to our [forum][forum]. We are also available on [IRC][irc].
### Short version
@@ -25,7 +21,7 @@ Help us to maximize the effort we can spend fixing issues and adding new feature
[templates]: ./ISSUE_TEMPLATE
[forum]: https://help.nextcloud.com/
[irc]: https://web.libera.chat/#nextcloud
[irc]: https://webchat.freenode.net/?channels=nextcloud
## Contributing to Source Code
@@ -33,13 +29,6 @@ Thanks for wanting to contribute source code to Nextcloud. That's great!
Please read the [Developer Manuals][devmanual] to learn how to create your first application or how to test the Nextcloud code with PHPUnit.
### Conventional Commits
Please use [Conventional Commits](https://www.conventionalcommits.org) for your commit messages. This helps maintain clarity and consistency across the project, making it easier to understand changes and automate versioning.
```
feat(files_sharing): allow sharing with contacts
```
### Tests
In order to constantly increase the quality of our software we can no longer accept pull request which submit un-tested code.
@@ -48,16 +37,16 @@ In some areas unit testing is hard (aka almost impossible) as of today - in thes
### Sign your work
We use the Developer Certificate of Origin (DCO) as an additional safeguard
We use the Developer Certificate of Origin (DCO) as a additional safeguard
for the Nextcloud project. This is a well established and widely used
mechanism to assure contributors have confirmed their right to license
their contribution under the project's license.
Please read [contribute/developer-certificate-of-origin][dcofile].
If you can certify it, then just add a line to every git commit message:
```
Signed-off-by: Random J Developer <random@developer.example.org>
```
````
Signed-off-by: Random J Developer <random@developer.example.org>
````
Use your real name (sorry, no pseudonyms or anonymous contributions).
If you set your `user.name` and `user.email` git configs, you can sign your
-3
View File
@@ -1,3 +0,0 @@
# SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
custom: https://nextcloud.com/include/
-211
View File
@@ -1,211 +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"]
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:
- "29"
- "30"
- "31"
- "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>
@@ -1,2 +0,0 @@
SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
SPDX-License-Identifier: AGPL-3.0-or-later
+4 -8
View File
@@ -1,12 +1,8 @@
# 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
- name: ❓ Question
url: https://help.nextcloud.com/
about: Configuration, webserver/proxy or performance issues and other questions
about: I have a question
- name: 💼 Nextcloud Enterprise
url: https://portal.nextcloud.com/
about: If you are a Nextcloud Enterprise customer, or need Professional support, so it can be resolved directly by our dedicated engineers more quickly
about: If you are a customer and are using Nextcloud Enterprise, please submit your issue directly in the Nextcloud Portal so it can be resolved by our dedicated engineers more quickly.
-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
-243
View File
@@ -1,243 +0,0 @@
# SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
version: 2
updates:
# Linting and coding style
- package-ecosystem: composer
directory: "/"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
# cs-fixer
- package-ecosystem: composer
directory: "/vendor-bin/cs-fixer"
schedule:
interval: weekly
day: saturday
time: "04:10"
timezone: Europe/Copenhagen
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
# openapi-extractor
- package-ecosystem: composer
directory: "/vendor-bin/openapi-extractor"
schedule:
interval: weekly
day: saturday
time: "04:20"
timezone: Europe/Brussels
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
- "provokateurin"
# psalm
- package-ecosystem: composer
directory: "/vendor-bin/psalm"
schedule:
interval: weekly
day: saturday
time: "04:30"
timezone: Europe/Madrid
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
# phpunit
- package-ecosystem: composer
directory: "/vendor-bin/phpunit"
schedule:
interval: weekly
day: saturday
time: "04:40"
timezone: Europe/Madrid
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
# Main master npm
- package-ecosystem: npm
directory: "/"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
open-pull-requests-limit: 10
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
# Disable automatic rebasing because without a build CI will likely fail anyway
rebase-strategy: "disabled"
# Testing master npm
- package-ecosystem: npm
directory: "/build"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
labels:
- "3. to review"
- "feature: dependencies"
# Testing master composer
- package-ecosystem: composer
directory: "/build/integration"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
labels:
- "3. to review"
- "feature: dependencies"
- package-ecosystem: npm
directory: "/"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
target-branch: stable29
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
ignore:
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor"]
# Disable automatic rebasing because without a build CI will likely fail anyway
rebase-strategy: "disabled"
- package-ecosystem: npm
directory: "/"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
target-branch: stable30
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
ignore:
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor"]
# Disable automatic rebasing because without a build CI will likely fail anyway
rebase-strategy: "disabled"
- package-ecosystem: npm
directory: "/"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
target-branch: stable31
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
ignore:
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor"]
# Disable automatic rebasing because without a build CI will likely fail anyway
rebase-strategy: "disabled"
- package-ecosystem: composer
directory: "/build/integration"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
target-branch: stable29
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
ignore:
# ignore all GitHub linguist patch updates
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor", "version-update:semver-patch"]
- package-ecosystem: composer
directory: "/build/integration"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
target-branch: stable30
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
ignore:
# ignore all GitHub linguist patch updates
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor", "version-update:semver-patch"]
- package-ecosystem: composer
directory: "/build/integration"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
target-branch: stable31
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
ignore:
# ignore all GitHub linguist patch updates
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor", "version-update:semver-patch"]
# GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: monthly
timezone: Europe/Paris
groups:
github-actions:
patterns:
- "*"
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
-23
View File
@@ -1,23 +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)
-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
-98
View File
@@ -1,98 +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'
autocheckers:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
strategy:
matrix:
php-versions: ['8.1']
name: PHP checkers
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: none
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
run: composer i
- name: Check auto loaders
run: bash ./build/autoloaderchecker.sh
- 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
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, autocheckers]
if: always()
name: autocheckers-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.autocheckers.result != 'success' }}; then exit 1; fi
-40
View File
@@ -1,40 +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: Block merges for EOL
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
steps:
- name: Set server major version environment
run: |
# retrieve version number from branch reference
server_major=$(echo "${{ github.base_ref }}" | sed -En 's/stable//p')
echo "server_major=$server_major" >> $GITHUB_ENV
echo "current_month=$(date +%Y-%m)" >> $GITHUB_ENV
- name: Checking if ${{ env.server_major }} is EOL
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
-35
View File
@@ -1,35 +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: Block merges during freezes
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
jobs:
block-merges-during-freeze:
name: Block merges during freezes
if: github.event.pull_request.draft == false
runs-on: ubuntu-latest-low
steps:
- 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
run: cat version.php | grep 'OC_VersionString' | grep -i -v 'RC'
@@ -1,55 +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@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- 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: Last 3rdparty commit on target branch
id: target
run: |
echo "commit=$(git ls-remote https://github.com/nextcloud/3rdparty refs/heads/${{ github.base_ref }} | awk '{ print $1}')" >> "$GITHUB_OUTPUT"
- name: Compare if 3rdparty commits are different
run: |
echo '3rdparty/ seems to not point to the last commit of the dedicated branch:'
echo 'Branch has: ${{ steps.actual.outputs.commit }}'
echo '${{ github.base_ref }} has: ${{ steps.target.outputs.commit }}'
- name: Fail if 3rdparty commits are different
if: ${{ steps.changes.outputs.src != 'false' && steps.actual.outputs.commit != steps.target.outputs.commit }}
run: |
exit 1
@@ -1,34 +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@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: webiny/action-conventional-commits@8bc41ff4e7d423d56fa4905f6ff79209a78776c7 # v1.3.0
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-180
View File
@@ -1,180 +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]
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@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
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@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.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 }}'
git rebase 'origin/${{ needs.init.outputs.base_ref }}'
- 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') }}
run: git push origin '${{ needs.init.outputs.head_ref }}'
- name: Force push
if: ${{ contains(needs.init.outputs.arg1, 'rebase') || contains(needs.init.outputs.arg1, 'amend') }}
run: git push --force origin '${{ needs.init.outputs.head_ref }}'
- name: Add reaction on failure
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
if: failure()
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reactions: '-1'
@@ -1,68 +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@11bd71901bbe5b1630ceea73d27597364c9af683
with:
fetch-depth: 0
token: ${{ secrets.COMMAND_BOT_PAT }}
ref: ${{ steps.comment-branch.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: Pull 3rdparty
run: git submodule foreach 'if [ "$sm_path" == "3rdparty" ]; then git pull origin '"'"'${{ github.event.issue.pull_request.base.ref }}'"'"'; fi'
- name: Commit and push changes
run: |
git add 3rdparty
git commit -s -m 'Update submodule 3rdparty to latest ${{ github.event.issue.pull_request.base.ref }}'
git push
- name: Add reaction on failure
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v3.0.1
if: failure()
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reactions: '-1'
-186
View File
@@ -1,186 +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 }}
# Server requires head_ref instead of base_ref, as we want to test the PR branch
BRANCH: ${{ github.head_ref || github.ref_name }}
jobs:
init:
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@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
# 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@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.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@v4
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: ["component", '0', '1', '2', '3', '4', '5', '6', '7']
# Hack as strategy.job-total includes the component and GitHub does not allow math expressions
# Always align this number with the total of e2e runners (max. index + 1)
total-containers: [8]
name: runner ${{ matrix.containers }}
steps:
- name: Restore context
uses: buildjet/cache/restore@v4
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@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.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@7271bed2a170d73c0b08939cd192db51a1c46c50 # v6.7.10
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 }}
- name: Upload snapshots and videos
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
if: always()
with:
name: snapshots_videos_${{ matrix.containers }}
path: |
cypress/snapshots
cypress/videos
- name: Extract NC logs
if: failure() && matrix.containers != 'component'
run: docker logs nextcloud-cypress-tests_${{ env.APP_NAME }} > nextcloud.log
- name: Upload NC logs
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
if: failure() && matrix.containers != 'component'
with:
name: nc_logs_${{ matrix.containers }}
path: nextcloud.log
- name: Create data dir archive
if: failure() && matrix.containers != 'component'
run: docker exec nextcloud-cypress-tests_${{ env.APP_NAME }} tar -cvjf - data > data.tar
- name: Upload data dir archive
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
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
+9 -39
View File
@@ -1,49 +1,19 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2021-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Dependabot
on:
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
on: pull_request
jobs:
auto-approve-merge:
if: github.actor == 'dependabot[bot]' || github.actor == '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.0.0
if: github.actor == 'dependabot[bot]' || github.actor == 'dependabot-preview[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@v1
if: github.actor == 'dependabot[bot]' || github.actor == 'dependabot-preview[bot]'
with:
target: minor
target: patch
github-token: ${{ secrets.DEPENDABOT_AUTOMERGE_TOKEN }}
-121
View File
@@ -1,121 +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 * * *"
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:
# do not stop on another job's failure
fail-fast: false
matrix:
php-versions: ['8.1', '8.4']
ftpd: ['proftpd', 'vsftpd', 'pure-ftpd']
include:
- php-versions: '8.1'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-${{ matrix.ftpd }}
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
- name: Set up ftpd
run: |
sudo mkdir /tmp/ftp
sudo chmod -R 0777 /tmp/ftp
if [[ "${{ matrix.ftpd }}" == 'proftpd' ]]; then echo '$6$Q7V2n3q2GRVv5YeQ$/AhLu07H76Asojy7bxGXMY1caKLAbp5Vt82LOZYMkD/8uDzyMAEXwk0c1Bdz1DkBsk2Vh/9SF130mOPavRGMo.' > /tmp/secret.txt; fi
if [[ "${{ matrix.ftpd }}" == 'proftpd' ]]; then echo 'FTP_ROOT=/home/test' > $GITHUB_ENV; fi
if [[ "${{ matrix.ftpd }}" == 'proftpd' ]]; then docker run --name ftp -d --net host -e PASV_ADDRESS=127.0.0.1 -e FTPUSER_NAME=test -v /tmp/secret.txt:/run/secrets/ftp-user-password-secret -v /tmp/ftp:/home/test instantlinux/proftpd; fi
if [[ "${{ matrix.ftpd }}" == 'vsftpd' ]]; then docker run --name ftp -d --net host -e FTP_USER=test -e FTP_PASS=test -e PASV_ADDRESS=127.0.0.1 -v /tmp/ftp:/home/vsftpd/test fauria/vsftpd; fi
if [[ "${{ matrix.ftpd }}" == 'pure-ftpd' ]]; then docker run --name ftp -d --net host -e "PUBLICHOST=localhost" -e FTP_USER_NAME=test -e FTP_USER_PASS=test -e FTP_USER_HOME=/home/test -v /tmp/ftp:/home/test -v /tmp/ftp:/etc/pure-ftpd/passwd stilliard/pure-ftpd; fi
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
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 \
${{ matrix.coverage && ' --coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v5.3.1
with:
files: ./clover.xml
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
-187
View File
@@ -1,187 +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 * * *"
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:
matrix:
php-versions: ['8.1', '8.2', '8.3', '8.4']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-s3
services:
minio:
image: bitnami/minio
env:
MINIO_ROOT_USER: nextcloud
MINIO_ROOT_PASSWORD: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
MINIO_DEFAULT_BUCKETS: nextcloud
ports:
- '9000:9000'
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
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, '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: |
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:files_external -- \
apps/files_external/tests/Storage/Amazons3Test.php \
apps/files_external/tests/Storage/VersionedAmazonS3Test.php \
${{ matrix.coverage && ' --coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v5.3.1
with:
files: ./clover.xml
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
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.1', '8.2', '8.3']
include:
- php-versions: '8.3'
coverage: true
name: php${{ matrix.php-versions }}-s3
services:
localstack:
env:
SERVICES: s3
DEBUG: 1
image: localstack/localstack
ports:
- "4566:4566"
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
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,'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 -- \
apps/files_external/tests/Storage/Amazons3Test.php \
apps/files_external/tests/Storage/VersionedAmazonS3Test.php \
${{ matrix.coverage && ' --coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v5.3.1
with:
files: ./clover.xml
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
-111
View File
@@ -1,111 +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 * * *"
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:
# do not stop on another job's failure
fail-fast: false
matrix:
php-versions: ['8.1', '8.4']
sftpd: ['openssh']
include:
- php-versions: '8.1'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-${{ matrix.sftpd }}
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
- name: Set up sftpd
run: |
sudo mkdir /tmp/sftp
sudo chown -R 0777 /tmp/sftp
if [[ '${{ matrix.sftpd }}' == 'openssh' ]]; then docker run -p 2222:22 --name sftp -d -v /tmp/sftp:/home/test atmoz/sftp 'test:test:::data'; fi
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
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 \
${{ matrix.coverage && ' --coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v5.3.1
with:
files: ./clover.xml
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,101 +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 * * *"
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@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
- name: Checkout user_saml
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
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
docker pull ghcr.io/icewind1991/samba-krb-test-client
docker tag ghcr.io/icewind1991/samba-krb-test-dc icewind1991/samba-krb-test-dc
docker tag ghcr.io/icewind1991/samba-krb-test-apache icewind1991/samba-krb-test-apache
docker tag ghcr.io/icewind1991/samba-krb-test-client icewind1991/samba-krb-test-client
- name: Setup AD-DC
run: |
DC_IP=$(apps/files_external/tests/sso-setup/start-dc.sh)
sleep 1
apps/files_external/tests/sso-setup/start-apache.sh $DC_IP $PWD
echo "DC_IP=$DC_IP" >> $GITHUB_ENV
- name: Set up Nextcloud
run: |
apps/files_external/tests/sso-setup/setup-sso-nc.sh
- name: Test SSO
run: |
apps/files_external/tests/sso-setup/test-sso-smb.sh ${{ env.DC_IP }}
- name: Show logs
if: 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
-110
View File
@@ -1,110 +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 * * *"
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:
matrix:
php-versions: ['8.1']
include:
- php-versions: '8.1'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-smb
services:
samba:
image: ghcr.io/nextcloud/continuous-integration-samba:latest
ports:
- 445:445
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
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 -- --verbose \
apps/files_external/tests/Storage/SmbTest.php \
${{ matrix.coverage && ' --coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@13ce06bfc6bbe3ecf90edbbf1bc32fe5978ca1d3 # v4.1.1
with:
files: ./clover.xml
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
-107
View File
@@ -1,107 +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 * * *"
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:
matrix:
php-versions: ['8.1', '8.2', '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
ports:
- 8081:80
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
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 -- --verbose \
apps/files_external/tests/Storage/WebdavTest.php \
${{ matrix.coverage && ' --coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@13ce06bfc6bbe3ecf90edbbf1bc32fe5978ca1d3 # v4.1.1
with:
files: ./clover.xml
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
-95
View File
@@ -1,95 +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 * * *"
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:
matrix:
php-versions: ['8.1', '8.2', '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@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
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 -- \
${{ matrix.coverage && ' --coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v5.3.1
with:
files: ./clover.xml
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
-36
View File
@@ -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: 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
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
steps:
- name: Run check
uses: skjnldsv/block-fixup-merge-action@c138ea99e45e186567b64cf065ce90f7158c236a # v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
-125
View File
@@ -1,125 +0,0 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: DAV integration tests
on:
pull_request:
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:
# do not stop on another job's failure
fail-fast: false
matrix:
php-versions: ['8.1']
endpoint: ['old', 'new']
service: ['CalDAV', 'CardDAV']
name: ${{ matrix.service }} (${{ matrix.endpoint }} endpoint) php${{ matrix.php-versions }}
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
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/setup-python-action@master
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
-112
View File
@@ -1,112 +0,0 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Litmus integration tests
on:
pull_request:
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:
# do not stop on another job's failure
fail-fast: false
matrix:
php-versions: ['8.1']
endpoint: ['webdav', 'dav']
name: Litmus WebDAV ${{ matrix.endpoint }}
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
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,119 +0,0 @@
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: S3 primary storage integration tests
on:
pull_request:
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:
# do not stop on another job's failure
fail-fast: false
matrix:
php-versions: ['8.1']
key: ['objectstore', 'objectstore_multibucket']
name: php${{ matrix.php-versions }}-${{ matrix.key }}-minio
services:
redis:
image: ghcr.io/nextcloud/continuous-integration-redis:latest
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
ports:
- 6379:6379/tcp
minio:
image: bitnami/minio
env:
MINIO_ROOT_USER: nextcloud
MINIO_ROOT_PASSWORD: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
MINIO_DEFAULT_BUCKETS: nextcloud
ports:
- "9000:9000"
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
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
-170
View File
@@ -1,170 +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'
- 'setup_features'
- 'sharees_features'
- 'sharing_features'
- 'videoverification_features'
php-versions: ['8.1']
spreed-versions: ['main']
services:
redis:
image: ghcr.io/nextcloud/continuous-integration-redis:latest
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-7
ports:
- 389:389
env:
SLAPD_DOMAIN: nextcloud.ci
SLAPD_ORGANIZATION: Nextcloud
SLAPD_PASSWORD: admin
SLAPD_ADDITIONAL_MODULES: memberof
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
submodules: true
- name: Checkout Talk app
if: ${{ matrix.test-suite == 'videoverification_features' }}
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
repository: nextcloud/spreed
path: apps/spreed
ref: ${{ matrix.spreed-versions }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
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 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
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
-95
View File
@@ -1,95 +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
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@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- 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@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v3
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}'
- 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
-82
View File
@@ -1,82 +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@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up php8.1
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
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
-82
View File
@@ -1,82 +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.1', '8.2', '8.3', '8.4' ]
name: php-lint
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
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
-51
View File
@@ -1,51 +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@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- 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@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.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
+40
View File
@@ -0,0 +1,40 @@
name: Lint
on: pull_request
jobs:
php-linters:
runs-on: ubuntu-latest
strategy:
matrix:
php-versions: ['7.2', '7.3', 7.4]
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 }}
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
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 {0}
-173
View File
@@ -1,173 +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
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@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- 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@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up node ${{ needs.versions.outputs.nodeVersion }}
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.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@13ce06bfc6bbe3ecf90edbbf1bc32fe5978ca1d3 # v4.3.1
with:
files: ./coverage/lcov.info
jsunit:
runs-on: ubuntu-latest
needs: [versions, changes]
if: ${{ needs.versions.result != 'failure' && needs.changes.outputs.src != 'false' }}
env:
CYPRESS_INSTALL_BINARY: 0
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up node ${{ needs.versions.outputs.nodeVersion }}
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.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: Test
run: npm run test:jsunit
handlebars:
runs-on: ubuntu-latest
needs: [versions, changes]
if: ${{ needs.versions.result != 'failure' && needs.changes.outputs.src != 'false' }}
env:
CYPRESS_INSTALL_BINARY: 0
PUPPETEER_SKIP_DOWNLOAD: true
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up node ${{ needs.versions.outputs.nodeVersion }}
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.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, jsunit, handlebars]
if: always()
name: node-test-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && (needs.test.result != 'success' || needs.jsunit.result != 'success' || needs.handlebars.result != 'success') }}; then exit 1; fi
+54 -92
View File
@@ -1,105 +1,67 @@
# 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
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@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- 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: |
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
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
id: versions
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
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:
fallbackNode: '^20'
fallbackNpm: '^10'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v3
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}'
- 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
-75
View File
@@ -1,75 +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'
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
branches: ['main', 'master', 'stable31', 'stable30', 'stable29']
name: npm-audit-fix-${{ matrix.branches }}
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ matrix.branches }}
- 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@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v3
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}'
- name: Fix npm audit
id: npm-audit
uses: nextcloud-libraries/npm-audit-action@2a60bd2e79cc77f2cc4d9a3fe40f1a69896f3a87 # v0.1.0
- name: Run npm ci and npm run build
if: always()
env:
CYPRESS_INSTALL_BINARY: 0
run: |
npm ci
npm run build --if-present
- name: Create Pull Request
if: always()
uses: peter-evans/create-pull-request@67ccf781d68cd99b580ae25a5c18a1cc84ffff1f # v7.0.6
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
-127
View File
@@ -1,127 +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 * * *"
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:
matrix:
php-versions: ['8.1', '8.2']
include:
- php-versions: '8.3'
coverage: true
name: php${{ matrix.php-versions }}-azure
services:
azurite:
image: mcr.microsoft.com/azure-storage/azurite
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
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@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
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 | grep -i -C9999 error && echo "Error during app setup" && exit 1 || exit 0
- name: PHPUnit
env:
OBJECT_STORE: azure
OBJECT_STORE_KEY: nextcloud
OBJECT_STORE_SECRET: bmV4dGNsb3Vk
run: composer run test -- --group PRIMARY-azure ${{ matrix.coverage && ' --coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v5.3.1
with:
files: ./clover.xml
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
-133
View File
@@ -1,133 +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 * * *"
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:
matrix:
php-versions: ['8.1', '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
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
minio:
image: bitnami/minio
env:
MINIO_ROOT_USER: nextcloud
MINIO_ROOT_PASSWORD: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
MINIO_DEFAULT_BUCKETS: nextcloud
ports:
- "9000:9000"
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
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 | grep -i -C9999 error && echo "Error during app setup" && exit 1 || exit 0
- 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 ${{ matrix.coverage && ' --coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v5.3.1
with:
files: ./clover.xml
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
-123
View File
@@ -1,123 +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 * * *"
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:
matrix:
php-versions: ['8.1', '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
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
ports:
- 5000:5000
- 8080:8080
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
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 | grep -i -C9999 error && echo "Error during app setup" && exit 1 || exit 0
- name: PHPUnit
env:
OBJECT_STORE: swift
OBJECT_STORE_SECRET: veryfast
run: composer run test -- --group PRIMARY-swift ${{ matrix.coverage && ' --coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v5.3.1
with:
files: ./clover.xml
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-latest
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: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, oci8
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
-45
View File
@@ -1,45 +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@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up php
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
with:
php-version: '8.1'
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
-120
View File
@@ -1,120 +0,0 @@
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Performance testing
on:
pull_request:
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' }}
strategy:
fail-fast: false
matrix:
php-versions: ['8.1']
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@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
ref: ${{ github.event.pull_request.base.ref }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
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@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
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@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08
with:
name: profiles
path: |
before.json
after.json
- uses: actions/github-script@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
})
-66
View File
@@ -1,66 +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'
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:
matrix:
php-versions: ['8.1','8.3']
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
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@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
with:
php-version: ${{ matrix.php-versions }}
extensions: ctype, curl, dom, fileinfo, gd, imagick, intl, json, mbstring, openssl, pdo_sqlite, posix, sqlite, xml, zip, apcu
coverage: none
ini-file: development
ini-values:
apc.enabled=on, apc.enable_cli=on, disable_functions= # https://github.com/shivammathur/setup-php/discussions/573
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
env:
DB_PORT: 4444
run: |
composer install
mkdir data
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-port=$DB_PORT --database-user=autotest --database-pass=rootpassword --admin-user admin --admin-pass admin
php -f index.php
- name: PHPUnit
run: composer run test -- --exclude-group PRIMARY-azure,PRIMARY-s3,PRIMARY-swift,Memcached,Redis,RoutingWeirdness
-144
View File
@@ -1,144 +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
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:
matrix:
php-versions: ['8.1']
mariadb-versions: ['10.3', '10.6', '10.11', '11.4']
include:
- php-versions: '8.3'
mariadb-versions: '10.11'
coverage: ${{ github.event_name != 'pull_request' }}
- php-versions: '8.4'
mariadb-versions: '11.4'
name: MariaDB ${{ matrix.mariadb-versions }} (PHP ${{ matrix.php-versions }}) - database tests
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest
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@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
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 | grep -i -C9999 error && echo "Error during app setup" && exit 1 || exit 0
- name: PHPUnit
run: composer run test:db ${{ matrix.coverage && ' -- --coverage-clover ./clover.db.xml' || '' }}
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v5.3.1
with:
files: ./clover.db.xml
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
-126
View File
@@ -1,126 +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:
matrix:
php-versions: ['8.1', '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
ports:
- 11212:11212/tcp
- 11212:11212/udp
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
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 | grep -i -C9999 error && echo "Error during app setup" && exit 1 || exit 0
- name: PHPUnit memcached tests
run: composer run test -- --group Memcache,Memcached ${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v5.3.1
with:
files: ./clover.xml
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,184 +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:
matrix:
php-versions: ['8.1']
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
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
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
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
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
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
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@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
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 | grep -i -C9999 error && echo "Error during app setup" && exit 1 || exit 0
- name: PHPUnit
run: composer run test:db ${{ matrix.coverage && ' -- --coverage-clover ./clover.db.xml' || '' }}
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v5.3.1
with:
files: ./clover.db.xml
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
-149
View File
@@ -1,149 +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
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:
matrix:
php-versions: ['8.1']
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
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
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@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
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 | grep -i -C9999 error && echo "Error during app setup" && exit 1 || exit 0
- name: PHPUnit
run: composer run test:db ${{ matrix.coverage && ' -- --coverage-clover ./clover.db.xml' || '' }}
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v5.3.1
with:
files: ./clover.db.xml
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
-131
View File
@@ -1,131 +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/**'
- '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:
matrix:
php-versions: ['8.1', '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
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@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
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 | grep -i -C9999 error && echo "Error during app setup" && exit 1 || exit 0
- name: PHPUnit nodb testsuite
run: composer run test -- --exclude-group DB,SLOWDB ${{ matrix.coverage && ' --coverage-clover ./clover.nodb.xml' || '' }}
- name: Upload nodb code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v5.3.1
with:
files: ./clover.nodb.xml
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,121 +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 * * *"
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:
# do not stop on another job's failure
fail-fast: false
matrix:
php-versions: ['8.1']
key: ['s3', 's3-multibucket']
name: php${{ matrix.php-versions }}-${{ matrix.key }}-minio
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
minio:
image: bitnami/minio
env:
MINIO_ROOT_USER: nextcloud
MINIO_ROOT_PASSWORD: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
MINIO_DEFAULT_BUCKETS: nextcloud
ports:
- "9000:9000"
steps:
- name: Checkout server
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
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 | grep -i -C9999 error && echo "Error during app setup" && exit 1 || exit 0
- 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
-153
View File
@@ -1,153 +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
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.1'
- oracle-versions: '18'
php-versions: '8.1'
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
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@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
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 | grep -i -C9999 error && echo "Error during app setup" && exit 1 || exit 0
- name: PHPUnit
run: composer run test:db ${{ matrix.coverage && ' -- --coverage-clover ./clover.db.xml' || '' }}
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v5.3.1
with:
files: ./clover.db.xml
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
-148
View File
@@ -1,148 +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
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:
matrix:
php-versions: ['8.1']
# 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
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
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@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
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 | grep -i -C9999 error && echo "Error during app setup" && exit 1 || exit 0
- name: PHPUnit database tests
run: composer run test:db ${{ matrix.coverage && ' -- --coverage-clover ./clover.db.xml' || '' }}
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v5.3.1
with:
files: ./clover.db.xml
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
-130
View File
@@ -1,130 +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
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:
matrix:
php-versions: ['8.2', '8.3', '8.4']
include:
- php-versions: '8.1'
coverage: ${{ github.event_name != 'pull_request' }}
name: SQLite (PHP ${{ matrix.php-versions }})
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest
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@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
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 | grep -i -C9999 error && echo "Error during app setup" && exit 1 || exit 0
- name: Nextcloud debug information
run: ./occ app:list && echo "======= System config =======" && ./occ config:list system
- name: PHPUnit database tests
run: composer run test:db ${{ matrix.coverage && ' -- --coverage-clover ./clover.db.xml' || '' }}
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v5.3.1
with:
files: ./clover.db.xml
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
-50
View File
@@ -1,50 +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 * * *'
jobs:
pr-feedback:
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: marcelklehr/pr-feedback-action@1883b38a033fb16f576875e0cf45f98b857655c4
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 }},nextcloud-command,nextcloud-android-bot'
exempt-bots: true
-22
View File
@@ -1,22 +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]
jobs:
reuse-compliance-check:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: REUSE Compliance Check
uses: fsfe/reuse-action@bb774aa972c2a89ff34781233d275075cbddf542 # v5.0.0
-34
View File
@@ -1,34 +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 * * *"
jobs:
stale:
runs-on: ubuntu-latest
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
permissions:
issues: write
steps:
- uses: actions/stale@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
+26 -136
View File
@@ -1,139 +1,29 @@
# 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'
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
if: ${{ github.event_name != 'push' && github.repository_owner != 'nextcloud-gmbh' }}
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
- name: Set up php
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
with:
php-version: '8.1'
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@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
- name: Set up php
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
with:
php-version: '8.1'
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@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@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
- name: Set up php
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
with:
php-version: '8.1'
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@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
- name: Set up php
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 #v2.32.0
with:
php-version: '8.1'
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:
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
coverage: none
- name: Composer install
run: composer i
- name: Psalm
run: composer run psalm -- --monochrome --no-progress --output-format=text --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)"
@@ -1,45 +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 * * *"
jobs:
update-ca-certificate-bundle:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
branches: ['master', 'stable31', 'stable30', 'stable29', 'stable28', 'stable27', 'stable26', 'stable25', 'stable24', 'stable23', 'stable22']
name: update-ca-certificate-bundle-${{ matrix.branches }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
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@67ccf781d68cd99b580ae25a5c18a1cc84ffff1f
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,48 +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 * * *"
jobs:
update-code-signing-crl:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
branches: ['master', 'stable30', 'stable29', 'stable28', 'stable27', 'stable26', 'stable25', 'stable24', 'stable23', 'stable22']
name: update-code-signing-crl-${{ matrix.branches }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
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@67ccf781d68cd99b580ae25a5c18a1cc84ffff1f
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
@@ -0,0 +1,43 @@
name: Update Psalm baseline
on:
schedule:
- cron: '5 4 * * *'
jobs:
update-psalm-baseline:
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: Remove composer.json
shell: bash
run: rm composer.json composer.lock
- name: Psalm
uses: docker://jakzal/phpqa:php7.4-alpine
with:
args: psalm --monochrome --no-progress --output-format=text --update-baseline
- name: Reset composer.json and composer.lock
run: |
git checkout -- composer.json composer.lock
- name: Create Pull Request
uses: peter-evans/create-pull-request@v3
with:
token: ${{ secrets.MACHINE_USER_PAT }}
push-to-fork: nextcloud-pr-bot/server
commit-message: Update psalm baseline
committer: GitHub <noreply@github.com>
author: Nextcloud-PR-Bot <nextcloud-pr-bot@users.noreply.github.com>
signoff: true
branch: automated/noid/psalm-baseline-update
title: '[Automated] Update psalm-baseline.xml'
body: |
Auto-generated update psalm-baseline.xml with fixed psalm warnings
labels: |
automated pr
reviewers: rullzer, morrisjobke, kesselb
+3 -27
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
@@ -17,6 +13,7 @@
# ignore all apps except core ones
/apps*/*
!/apps/accessibility
!/apps/cloud_federation_api
!/apps/comments
!/apps/contactsinteraction
@@ -28,14 +25,12 @@
!/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 @@
!/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
@@ -64,9 +58,6 @@
!/themes/example
!/themes/README
# Love to people that develop the updater
/updater
# just sane ignores
.*.sw[po]
*.bak
@@ -83,7 +74,6 @@ CVS/*
RCS/*
*.backup*
.php_cs.cache
.php-cs-fixer.cache
# kdevelop
.kdev
@@ -106,7 +96,6 @@ nbproject
# vscode
.vscode
*.code-workspace
# geany
*.geany
@@ -138,10 +127,9 @@ nbproject
/build/bin
/build/lib/
/build/jsdocs/
/build/integration/output/
/build/integration/phpserver.log
/npm-debug.log
/PhantomJS_*
/build/package-lock.json
# puphpet
puphpet
@@ -152,7 +140,6 @@ Vagrantfile
# Tests - auto-generated files
/data-autotest
/results.sarif
/tests/.phpunit.result.cache
/tests/coverage*
/tests/css
@@ -167,20 +154,9 @@ Vagrantfile
/config/config-autotest-backup.php
/config/autoconfig.php
clover.xml
/coverage
# Tests - dependencies
tests/acceptance/composer.lock
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
-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 -65
View File
@@ -7,30 +7,22 @@
<IfModule mod_proxy_fcgi.c>
SetEnvIfNoCase Authorization "(.+)" HTTP_AUTHORIZATION=$1
</IfModule>
<IfModule mod_lsapi.c>
SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1
RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION
</IfModule>
</IfModule>
<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,7 +30,7 @@
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"
@@ -47,22 +39,16 @@
</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)$">
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>
<IfModule mod_php.c>
<IfModule mod_php7.c>
php_value mbstring.func_overload 0
php_value default_charset 'UTF-8'
php_value output_buffering 0
@@ -70,56 +56,31 @@
SetEnv htaccessWorking true
</IfModule>
</IfModule>
<IfModule mod_mime.c>
AddType image/svg+xml svg svgz
AddType application/wasm wasm
AddEncoding gzip svgz
# Serve ESM javascript files (.mjs) with correct mime type
AddType text/javascript js mjs
</IfModule>
<IfModule mod_dir.c>
DirectoryIndex index.php index.html
</IfModule>
<IfModule pagespeed_module>
ModPagespeed Off
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} DavClnt
RewriteRule ^$ /remote.php/webdav/ [L,R=302]
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteRule ^\.well-known/host-meta /public.php?service=host-meta [QSA,L]
RewriteRule ^\.well-known/host-meta\.json /public.php?service=host-meta-json [QSA,L]
RewriteRule ^\.well-known/webfinger /public.php?service=webfinger [QSA,L]
RewriteRule ^\.well-known/nodeinfo /public.php?service=nodeinfo [QSA,L]
RewriteRule ^\.well-known/carddav /remote.php/dav/ [R=301,L]
RewriteRule ^\.well-known/caldav /remote.php/dav/ [R=301,L]
RewriteRule ^remote/(.*) remote.php [QSA,L]
RewriteRule ^(?:build|tests|config|lib|3rdparty|templates)/.* - [R=404,L]
RewriteRule ^\.well-known/(?!acme-challenge|pki-validation) /index.php [QSA,L]
RewriteRule ^ocm-provider/?$ index.php [QSA,L]
RewriteRule ^(?:\.(?!well-known)|autotest|occ|issue|indie|db_|console).* - [R=404,L]
RewriteCond %{REQUEST_URI} !^/\.well-known/(acme-challenge|pki-validation)/.*
RewriteRule ^(?:\.|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 mod_mime.c>
AddType image/svg+xml svg svgz
AddEncoding gzip svgz
</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 mod_dir.c>
DirectoryIndex index.php index.html
</IfModule>
AddDefaultCharset utf-8
Options -Indexes
<IfModule pagespeed_module>
ModPagespeed Off
</IfModule>
-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 -9
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>
@@ -165,7 +164,6 @@ ideaship <ideaship@users.noreply.github.com>
Ignacio Daniel Rostagno <ignaciorostagno@vijona.com.ar>
infoneo <infoneo@yahoo.pl>
Insanemal <insanemal@gmail.com>
Tobias Perschon <tobias@perschon.at> Tobias Perschon <tofuSCHNITZEL@users.noreply.github.com>
Tobias Ramforth <tobias@ramforth.com> Tobias Ramforth <tobias.ramforth@udo.edu>
Tobias Ramforth <tobias@ramforth.com> irgsmirx <tobias.ramforth@udo.edu>
Isaac Rosenberg <irosenb7@gmail.com>
@@ -215,7 +213,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>
@@ -360,8 +357,7 @@ Simon Birnbach <simon@simon-birnbach.de>
Simon Könnecke <simonkoennecke@gmail.com>
Simon Whittaker <simon@swbh.net>
Sjors van der Pluijm <sjors@desjors.nl> Sjors van der Pluijm <sjors@youngguns.nl>
John Molakvoæ <skjnldsv@protonmail.com> John Molakvoæ <skjnldsv@users.noreply.github.com>
John Molakvoæ <skjnldsv@protonmail.com> John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com> John Molakvoæ <skjnldsv@users.noreply.github.com>
st3so <st3so@server.fake>
Stefan <mu.stefan@googlemail.com>
Stefan Göckeritz <admin@s-goecker.de>
@@ -385,7 +381,6 @@ TheSFReader <TheSFReader@gmail.com>
Thibaut GRIDEL <tgridel@free.fr>
thomas <thomas@thomas-VirtualBox.(none)>
Thomas Citharel <nextcloud@tcit.fr> Thomas Citharel <tcit@tcit.fr>
Thomas Citharel <nextcloud@tcit.fr> Thomas Citharel <github@tcit.fr>
Thomas Müller <thomas.mueller@tmit.eu> Thomas Mueller <thomas.mueller@tmit.eu>
Thomas Müller <thomas.mueller@tmit.eu> Thomas Müller <DeepDiver1975@users.noreply.github.com>
Thomas Olsen <tol@tanghus>
@@ -411,9 +406,8 @@ Victor Dubiniuk <dubiniuk@owncloud.com> Victor Dubiniuk <victor.dubiniuk@gmail.c
Victor Dubiniuk <dubiniuk@owncloud.com> VicDeo <dubiniuk@owncloud.com>
Victor Dubiniuk <dubiniuk@owncloud.com> VicDeo <victor.dubiniuk@gmail.com>
Vincent Cloutier <vincent1cloutier@gmail.com>
Vincent Petry <vincent@nextcloud.com> Vincent Petry <PVince81@yahoo.fr>
Vincent Petry <vincent@nextcloud.com> Vincent Petry <vincent@vvortex.site>
Vincent Petry <vincent@nextcloud.com> Vincent Petry <pvince81@owncloud.com>
Vincent Petry <pvince81@owncloud.com> Vincent Petry <PVince81@yahoo.fr>
Vincent Petry <pvince81@owncloud.com> Vincent Petry <vincent@vvortex.site>
Vinicius Cubas Brand <vinicius@eita.org.br> Vinicius Cubas Brand <viniciuscb@gmail.com>
Vitaly Kuznetsov <vitty@altlinux.ru>
Vladimir Sapronov <vladimir.sapronov@gmail.com>
-1
View File
@@ -1 +0,0 @@
**/*.spec.js
-37
View File
@@ -1,37 +0,0 @@
<?php
declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
require_once './vendor-bin/cs-fixer/vendor/autoload.php';
use Nextcloud\CodingStandard\Config;
use PhpCsFixer\Runner\Parallel\ParallelConfigFactory;
$config = new Config();
$config
->setParallelConfig(ParallelConfigFactory::detect())
->getFinder()
->exclude('config')
->exclude('3rdparty')
->exclude('build/stubs')
->exclude('composer')
->in(__DIR__);
$ignoredEntries = shell_exec('git status --porcelain --ignored ' . escapeshellarg(__DIR__));
$ignoredEntries = explode("\n", $ignoredEntries);
$ignoredEntries = array_filter($ignoredEntries, static fn (string $line) => str_starts_with($line, '!! '));
$ignoredEntries = array_map(static fn (string $line) => substr($line, 3), $ignoredEntries);
$ignoredEntries = array_values($ignoredEntries);
foreach ($ignoredEntries as $ignoredEntry) {
if (str_ends_with($ignoredEntry, '/')) {
$config->getFinder()->exclude($ignoredEntry);
} else {
$config->getFinder()->notPath($ignoredEntry);
}
}
return $config;
+20
View File
@@ -0,0 +1,20 @@
<?php
declare(strict_types=1);
require_once './lib/composer/autoload.php';
use Nextcloud\CodingStandard\Config;
$config = new Config();
$config
->getFinder()
->ignoreVCSIgnored(true)
->exclude('config')
->exclude('data')
->notPath('3rdparty')
->notPath('build/stubs')
->notPath('composer')
->notPath('vendor')
->in(__DIR__);
return $config;
-19
View File
@@ -1,19 +0,0 @@
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.3.0
hooks:
- id: end-of-file-fixer
- id: check-yaml
- id: check-added-large-files
- repo: https://github.com/nextcloud/pre-commit-php.git
rev: 1.5.1
hooks:
- id: php-lint
- id: php-cs-fixer
files: \.(php)$
exclude: ^(config|data|composer|lib\/composer)
args: []
-344
View File
File diff suppressed because one or more lines are too long
-3
View File
@@ -1,6 +1,3 @@
# SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-FileCopyrightText: 2016 ownCloud, Inc.
# SPDX-License-Identifier: AGPL-3.0-only
before_commands:
- 'git submodule update --init --recursive'
+146 -158
View File
@@ -1,195 +1,183 @@
[main]
host = https://www.transifex.com
lang_map = fi_FI: fi, hu_HU: hu, nb_NO: nb, sk_SK: sk, th_TH: th, ja_JP: ja, bg_BG: bg, cs_CZ: cs
host = https://www.transifex.com
lang_map = bg_BG: bg, cs_CZ: cs, fi_FI: fi, hu_HU: hu, nb_NO: nb, sk_SK: sk, th_TH: th, ja_JP: ja
[o:nextcloud:p:nextcloud:r:admin_audit]
file_filter = translationfiles/<lang>/admin_audit.po
source_file = translationfiles/templates/admin_audit.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:cloud_federation_api]
file_filter = translationfiles/<lang>/cloud_federation_api.po
source_file = translationfiles/templates/cloud_federation_api.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:comments]
file_filter = translationfiles/<lang>/comments.po
source_file = translationfiles/templates/comments.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:contactsinteraction]
file_filter = translationfiles/<lang>/contactsinteraction.po
source_file = translationfiles/templates/contactsinteraction.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:core]
[nextcloud.core]
file_filter = translationfiles/<lang>/core.po
source_file = translationfiles/templates/core.pot
source_lang = en
type = PO
type = PO
[o:nextcloud:p:nextcloud:r:dashboard-shipped-with-server]
file_filter = translationfiles/<lang>/dashboard.po
source_file = translationfiles/templates/dashboard.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:dav]
file_filter = translationfiles/<lang>/dav.po
source_file = translationfiles/templates/dav.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:federatedfilesharing]
file_filter = translationfiles/<lang>/federatedfilesharing.po
source_file = translationfiles/templates/federatedfilesharing.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:federation]
file_filter = translationfiles/<lang>/federation.po
source_file = translationfiles/templates/federation.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:files]
[nextcloud.files]
file_filter = translationfiles/<lang>/files.po
source_file = translationfiles/templates/files.pot
source_lang = en
type = PO
type = PO
[o:nextcloud:p:nextcloud:r:files_encryption]
file_filter = translationfiles/<lang>/encryption.po
source_file = translationfiles/templates/encryption.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:files_external]
file_filter = translationfiles/<lang>/files_external.po
source_file = translationfiles/templates/files_external.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:files_reminders]
file_filter = translationfiles/<lang>/files_reminders.po
source_file = translationfiles/templates/files_reminders.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:files_sharing]
file_filter = translationfiles/<lang>/files_sharing.po
source_file = translationfiles/templates/files_sharing.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:files_trashbin]
file_filter = translationfiles/<lang>/files_trashbin.po
source_file = translationfiles/templates/files_trashbin.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:files_versions]
file_filter = translationfiles/<lang>/files_versions.po
source_file = translationfiles/templates/files_versions.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:lib]
file_filter = translationfiles/<lang>/lib.po
source_file = translationfiles/templates/lib.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:lookup_server_connector]
file_filter = translationfiles/<lang>/lookup_server_connector.po
source_file = translationfiles/templates/lookup_server_connector.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:oauth2]
file_filter = translationfiles/<lang>/oauth2.po
source_file = translationfiles/templates/oauth2.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:profile]
file_filter = translationfiles/<lang>/profile.po
source_file = translationfiles/templates/profile.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:provisioning_api]
file_filter = translationfiles/<lang>/provisioning_api.po
source_file = translationfiles/templates/provisioning_api.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:settings-1]
[nextcloud.settings-1]
file_filter = translationfiles/<lang>/settings.po
source_file = translationfiles/templates/settings.pot
source_lang = en
type = PO
type = PO
[o:nextcloud:p:nextcloud:r:sharebymail]
file_filter = translationfiles/<lang>/sharebymail.po
source_file = translationfiles/templates/sharebymail.pot
[nextcloud.lib]
file_filter = translationfiles/<lang>/lib.po
source_file = translationfiles/templates/lib.pot
source_lang = en
type = PO
type = PO
[o:nextcloud:p:nextcloud:r:systemtags]
file_filter = translationfiles/<lang>/systemtags.po
source_file = translationfiles/templates/systemtags.pot
[nextcloud.dav]
file_filter = translationfiles/<lang>/dav.po
source_file = translationfiles/templates/dav.pot
source_lang = en
type = PO
type = PO
[o:nextcloud:p:nextcloud:r:theming]
file_filter = translationfiles/<lang>/theming.po
source_file = translationfiles/templates/theming.pot
[nextcloud.files_encryption]
file_filter = translationfiles/<lang>/encryption.po
source_file = translationfiles/templates/encryption.pot
source_lang = en
type = PO
type = PO
[o:nextcloud:p:nextcloud:r:twofactor_backupcodes]
file_filter = translationfiles/<lang>/twofactor_backupcodes.po
source_file = translationfiles/templates/twofactor_backupcodes.pot
[nextcloud.files_external]
file_filter = translationfiles/<lang>/files_external.po
source_file = translationfiles/templates/files_external.pot
source_lang = en
type = PO
type = PO
[o:nextcloud:p:nextcloud:r:updatenotification]
file_filter = translationfiles/<lang>/updatenotification.po
source_file = translationfiles/templates/updatenotification.pot
[nextcloud.files_sharing]
file_filter = translationfiles/<lang>/files_sharing.po
source_file = translationfiles/templates/files_sharing.pot
source_lang = en
type = PO
type = PO
[o:nextcloud:p:nextcloud:r:user_ldap]
[nextcloud.files_trashbin]
file_filter = translationfiles/<lang>/files_trashbin.po
source_file = translationfiles/templates/files_trashbin.pot
source_lang = en
type = PO
[nextcloud.files_versions]
file_filter = translationfiles/<lang>/files_versions.po
source_file = translationfiles/templates/files_versions.pot
source_lang = en
type = PO
[nextcloud.user_ldap]
file_filter = translationfiles/<lang>/user_ldap.po
source_file = translationfiles/templates/user_ldap.pot
source_lang = en
type = PO
type = PO
[o:nextcloud:p:nextcloud:r:user_status]
file_filter = translationfiles/<lang>/user_status.po
source_file = translationfiles/templates/user_status.pot
[nextcloud.comments]
file_filter = translationfiles/<lang>/comments.po
source_file = translationfiles/templates/comments.pot
source_lang = en
type = PO
type = PO
[o:nextcloud:p:nextcloud:r:weather_status]
file_filter = translationfiles/<lang>/weather_status.po
source_file = translationfiles/templates/weather_status.pot
[nextcloud.federatedfilesharing]
file_filter = translationfiles/<lang>/federatedfilesharing.po
source_file = translationfiles/templates/federatedfilesharing.pot
source_lang = en
type = PO
type = PO
[o:nextcloud:p:nextcloud:r:webhook_listeners]
file_filter = translationfiles/<lang>/webhook_listeners.po
source_file = translationfiles/templates/webhook_listeners.pot
[nextcloud.federation]
file_filter = translationfiles/<lang>/federation.po
source_file = translationfiles/templates/federation.pot
source_lang = en
type = PO
type = PO
[o:nextcloud:p:nextcloud:r:workflowengine]
[nextcloud.oauth2]
file_filter = translationfiles/<lang>/oauth2.po
source_file = translationfiles/templates/oauth2.pot
source_lang = en
type = PO
[nextcloud.sharebymail]
file_filter = translationfiles/<lang>/sharebymail.po
source_file = translationfiles/templates/sharebymail.pot
source_lang = en
type = PO
[nextcloud.systemtags]
file_filter = translationfiles/<lang>/systemtags.po
source_file = translationfiles/templates/systemtags.pot
source_lang = en
type = PO
[nextcloud.updatenotification]
file_filter = translationfiles/<lang>/updatenotification.po
source_file = translationfiles/templates/updatenotification.pot
source_lang = en
type = PO
[nextcloud.theming]
file_filter = translationfiles/<lang>/theming.po
source_file = translationfiles/templates/theming.pot
source_lang = en
type = PO
[nextcloud.twofactor_backupcodes]
file_filter = translationfiles/<lang>/twofactor_backupcodes.po
source_file = translationfiles/templates/twofactor_backupcodes.pot
source_lang = en
type = PO
[nextcloud.workflowengine]
file_filter = translationfiles/<lang>/workflowengine.po
source_file = translationfiles/templates/workflowengine.pot
source_lang = en
type = PO
type = PO
[nextcloud.accessibility]
file_filter = translationfiles/<lang>/accessibility.po
source_file = translationfiles/templates/accessibility.pot
source_lang = en
type = PO
[nextcloud.provisioning_api]
file_filter = translationfiles/<lang>/provisioning_api.po
source_file = translationfiles/templates/provisioning_api.pot
source_lang = en
type = PO
[nextcloud.lookup_server_connector]
file_filter = translationfiles/<lang>/lookup_server_connector.po
source_file = translationfiles/templates/lookup_server_connector.pot
source_lang = en
type = PO
[nextcloud.dashboard-shipped-with-server]
file_filter = translationfiles/<lang>/dashboard.po
source_file = translationfiles/templates/dashboard.pot
source_lang = en
type = PO
[nextcloud.contactsinteraction]
file_filter = translationfiles/<lang>/contactsinteraction.po
source_file = translationfiles/templates/contactsinteraction.pot
source_lang = en
type = PO
[nextcloud.cloud_federation_api]
file_filter = translationfiles/<lang>/cloud_federation_api.po
source_file = translationfiles/templates/cloud_federation_api.pot
source_lang = en
type = PO
[nextcloud.admin_audit]
file_filter = translationfiles/<lang>/admin_audit.po
source_file = translationfiles/templates/admin_audit.pot
source_lang = en
type = PO
[nextcloud.user_status]
file_filter = translationfiles/<lang>/user_status.po
source_file = translationfiles/templates/user_status.pot
source_lang = en
type = PO
[nextcloud.weather_status]
file_filter = translationfiles/<lang>/weather_status.po
source_file = translationfiles/templates/weather_status.pot
source_lang = en
type = PO
-3
View File
@@ -1,6 +1,3 @@
; SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
; SPDX-FileCopyrightText: 2014-2016 ownCloud, Inc.
; SPDX-License-Identifier: AGPL-3.0-only
mbstring.func_overload=0
always_populate_raw_post_data=-1
default_charset='UTF-8'
+18 -236
View File
@@ -1,76 +1,42 @@
<!--
- SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
- SPDX-FileCopyrightText: 2016 ownCloud, Inc.
- SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Authors
Nextcloud is written by:
- AW-UC <git@a-wesemann.de>
- Aaron Ball <nullspoon@oper.io>
- Aaron Wood <aaronjwood@gmail.com>
- Abijeet <abijeetpatro@gmail.com>
- Adam Blakey <adam@blakey.family>
- Achim Königs <garfonso@tratschtante.de>
- Adam Williamson <awilliam@redhat.com>
- Administrator "Administrator@WINDOWS-2012"
- Adrian Brzezinski <adrian.brzezinski@eo.pl>
- Akhil <akhil.potukuchi@gmail.com>
- Akhil <akhil@e.email>
- Akhil Potukuchi <akhil.potukuchi@gmail.com>
- Alan Meeson <alan@carefullycalculated.co.uk>
- Aldo "xoen" Giambelluca <xoen@xoen.org>
- Alecks Gates <alecks.g@gmail.com>
- Alejandro Varela <epma01@gmail.com>
- Alexander A. Klimov <grandmaster@al2klimov.de>
- Alexandre Salomé <alexandre.salome@gmail.com>
- Alex Harpin <development@landsofshadow.co.uk>
- Alex Weirig <alex.weirig@technolink.lu>
- Alexander A. Klimov <grandmaster@al2klimov.de>
- Alexander Bergolth <leo@strike.wu.ac.at>
- Alexander F <32201363+alx-tuilmenau@users.noreply.github.com>
- Alexey Pyltsyn <lex61rus@gmail.com>
- Allan Nordhøy <epost@anotheragency.no>
- Anderson Luiz Alves <alacn1@gmail.com>
- Andreas Fischer <bantu@owncloud.com>
- Andreas Pflug <dev@admin4.org>
- Andrew Brown <andrew@casabrown.com>
- Andrey Borysenko <andrey.borysenko@nextcloud.com>
- André Gaul <gaul@web-yard.de>
- Andy Xheli <axheli@axtsolutions.com>
- Anna Larch <anna@nextcloud.com>
- Anna Larch <anna.larch@gmx.net>
- Anupam Kumar <kyteinsky@gmail.com>
- ArcticFall <23174635+ArcticFall@users.noreply.github.com>
- Ardinis <Ardinis@users.noreply.github.com>
- Ari Selseng <ari@selseng.net>
- Arne Hamann <kontakt+github@arne.email>
- Arne Hamann <github@arne.email>
- Artem Kochnev <MrJeos@gmail.com>
- Artem Sidorenko <artem@posteo.de>
- Arthur Schiwon <blizzz@arthur-schiwon.de>
- Artur Neumann <artur@jankaritech.com>
- Artur Neumann <info@individual-it.net>
- Ashod Nakashian <ashod.nakashian@collabora.co.uk>
- Asier Iturralde Sarasola <asier.iturralde@gmail.com>
- Axel Helmert <axel.helmert@luka.de>
- Azul <azul@riseup.net>
- Bart Visscher <bartv@thisnet.nl>
- Bartek Przybylski <bart.p.pl@gmail.com>
- Bastien Durel <bastien@durel.org>
- Bastien Ho <bastienho@urbancube.fr>
- Benjamin Diele <benjamin@diele.be>
- Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
- Benjamin Liles <benliles@arch.tamu.edu>
- Bennet Becker <bbecker@pks.mpg.de>
- Bennet Becker <dev@bennet.cc>
- Bernard Spil <Sp1l@users.noreply.github.com>
- Bernd Rederlechner <Bernd.Rederlechner@t-systems.com>
- Bernd Stellwag <burned@zerties.org>
- Bernhard Ostertag <bernieo.code@gmx.de>
- Bernhard Posselt <dev@bernhard-posselt.com>
- Bernhard Reiter <ockham@raz.or.at>
- Bill McGonigle <bill-github.com@bfccomputing.com>
- Birk Borkason <daniel.niccoli@gmail.com>
- Bjoern Schiessle <bjoern@schiessle.org>
- Björn Schießle <bjoern@schiessle.org>
- Bjørn Forsman <bjorn.forsman@gmail.com>
- Blaok <i@blaok.me>
- Boris Rybalkin <ribalkin@gmail.com>
- Borjan Tchakaloff <borjan@tchakaloff.fr>
@@ -79,133 +45,82 @@
- Branko Kokanovic <branko@kokanovic.org>
- Brice Maron <brice@bmaron.net>
- Byron Marohn <combustible@live.com>
- CRA Yoshihito Nakatani <yoshihito.nakatani@craftsman-software.com>
- Carl Csaposs <carl@csaposs.com>
- Carl Schwan <carl@carlschwan.eu>
- Carla Schroder <carla@owncloud.com>
- Carlos Cerrillo <ccerrillo@gmail.com>
- Carlos Ferreira <carlos@reendex.com>
- Carsten Wiedmann <carsten_sttgt@gmx.de>
- Chih-Hsuan Yen <yan12125@gmail.com>
- Christian <16852529+cviereck@users.noreply.github.com>
- Christian Berendt <berendt@b1-systems.de>
- Christian Jürges <christian@eqipe.ch>
- Christian Kampka <christian@kampka.net>
- Christian Oliff <christianoliff@yahoo.com>
- Christian Weiske <cweiske@cweiske.de>
- Christoph Schaefer "christophł@wolkesicher.de"
- Christoph Seitz <christoph.seitz@posteo.de>
- Christoph Wickert <cwickert@suse.de>
- Christoph Wurst <christoph@winzerhof-wurst.at>
- Christopher Bartz <bartz@dkrz.de>
- Christopher Ng <chrng8@gmail.com>
- Christopher Schäpers <kondou@ts.unde.re>
- Christopher T. Johnson <ctjctj@gmail.com>
- Clark Tomlinson <fallen013@gmail.com>
- Claas Augner <github@caugner.de>
- Claus-Justus Heine <himself@claus-justus-heine.de>
- Clement Wong <git@clement.hk>
- Cornelius Kölbel <cornelius.koelbel@netknights.it>
- Cthulhux <git@tuxproject.de>
- Cyrille Bollu <cyrpub@bollu.be>
- Cédric Neukom <github@webguy.ch>
- Côme Chilliet <91878298+come-nc@users.noreply.github.com>
- Côme Chilliet <come.chilliet@nextcloud.com>
- Damjan Georgievski <gdamjan@gmail.com>
- Dan Callahan <dan.callahan@gmail.com>
- Daniel <mail@danielkesselberg.de>
- Daniel Calviño Sánchez <danxuliu@gmail.com>
- Daniel Hansson <daniel@techandme.se>
- Daniel Jagszent <daniel@jagszent.de>
- Daniel Kesselberg <mail@danielkesselberg.de>
- Daniel Rudolf <github.com@daniel-rudolf.de>
- Daniel Rudolf <nextcloud.com@daniel-rudolf.de>
- Daniel Schneider <daniel@schneidoa.de>
- Daniel Teichmann <daniel.teichmann@das-netzwerkteam.de>
- Dariusz Olszewski <starypatyk@users.noreply.github.com>
- David <37280718+yeyulantu@users.noreply.github.com>
- David Prévot <taffit@debian.org>
- David Toledo <dtoledo@solidgear.es>
- Denis Mosolov <denismosolov@gmail.com>
- Derek <derek.kelly27@gmail.com>
- Dominik Schmidt <dev@dominik-schmidt.de>
- Donquixote <marjunebatac@gmail.com>
- Dries Mys <dries.mys@my-dreams.be>
- EWouters <6179932+EWouters@users.noreply.github.com>
- Elijah Martin-Merrill <elijah@nyp-itsours.com>
- Ember 'n0emis' Keske <git@n0emis.eu>
- Eric Masseran <rico.masseran@gmail.com>
- Erik van Velzen <erik@evanv.nl>
- Estelle Poulin <dev@inspiredby.es>
- Evgeny Golyshev <eugulixes@gmail.com>
- Ezhil Shanmugham <ezhil930@gmail.com>
- Fabian Dreßler <nudelsalat@clouz.de>
- Fabien Potencier <fabien@symfony.com>
- Fabrizio Steiner <fabrizio.steiner@gmail.com>
- Faraz Samapoor <f.samapoor@gmail.com>
- Felix Epp <work@felixepp.de>
- Felix Heidecke <felix@heidecke.me>
- Felix Moeller <mail@felixmoeller.de>
- Felix Nieuwenhuizen <felix@tdlrali.com>
- Felix Nüsse <Felix.nuesse@t-online.de>
- Felix Rupp <github@felixrupp.com>
- Ferdinand Thiessen <opensource@fthiessen.de>
- Ferdinand Thiessen <rpm@fthiessen.de>
- Filis Futsarov <filisko@users.noreply.github.com>
- Florent <florent@coppint.com>
- Florian Schunk <florian.schunk@rwth-aachen.de>
- Florin Peter <github@florin-peter.de>
- Fon E. Noel NFEBE <opensource@nfebe.com>
- Flávio Gomes da Silva Lisboa <flavio.lisboa@serpro.gov.br>
- Frank Isemann <frank@isemann.name>
- Frank Karlitschek <frank@karlitschek.de>
- François Freitag <mail@franek.fr>
- François Kubler <francois@kubler.org>
- François Ménabé <francois.menabe@gmail.com>
- Frederic Werner <frederic-github@werner-net.work>
- Frédéric Fortier <frederic.fortier@oronospolytechnique.com>
- Gary Kim <gary@garykim.dev>
- Georg Ehrke <oc.list@georgehrke.com>
- Git'Fellow <12234510+solracsf@users.noreply.github.com>
- Git'Fellow <carlos@reendex.com>
- Glandos <bugs-github@antipoul.fr>
- GrayFix <grayfix@gmail.com>
- Greta Doci <gretadoci@gmail.com>
- GretaD <gretadoci@gmail.com>
- Grigorii K. Shartsev <me@shgk.me>
- Guillaume COMPAGNON <gcompagnon@outlook.com>
- Guillaume Colson <guillaume.colson@univ-lorraine.fr>
- Guillaume Virlet <github@virlet.org>
- Hasso Tepper <hasso@zone.ee>
- Hemanth Kumar Veeranki <hems.india1997@gmail.com>
- Hendrik Leppelsack <hendrik@leppelsack.de>
- Hinrich Mahler <22366557+Bibo-Joshi@users.noreply.github.com>
- Hinrich Mahler <nextcloud@mahlerhome.de>
- Holger Hees <holger.hees@gmail.com>
- HouraisanNEET <HouraisanNEET@users.noreply.github.com>
- Ilja Neumann <ineumann@owncloud.com>
- Ilya Apasov <apasov@users.noreply.github.com>
- Immanuel Pasanec <immanuel.pasanec@compaso.de>
- Individual IT Services <info@individual-it.net>
- Informatyka Boguslawski sp. z o.o. sp.k., http://www.ib.pl/
- Iscle <albertiscle9@gmail.com>
- J0WI <J0WI@users.noreply.github.com>
- Jaakko Salo <jaakkos@gmail.com>
- Jacob Neplokh <me@jacobneplokh.com>
- Jake Nabasny <jake@nabasny.com>
- Jakob Sack <mail@jakobsack.de>
- Jakub Onderka <ahoj@jakubonderka.cz>
- James Guo <i@ze3kr.com>
- James Letendre <James.Letendre@gmail.com>
- Jan C. Borchardt <hey@jancborchardt.net>
- Jan Messer <jan@mtec-studios.ch>
- Jan-Christoph Borchardt <hey@jancborchardt.net>
- Jan-Philipp Litza <jpl@plutex.de>
- Jan-Philipp Litza <jplitza@users.noreply.github.com>
- JanBartels <j.bartels@arcor.de>
- Janis Köhr <janis.koehr@novatec-gmbh.de>
- Janis Köhr <janiskoehr@icloud.com>
- Jared Boone <jared.boone@gmail.com>
- Jarkko Lehtoranta <devel@jlranta.com>
- Jasper Weyne <jasperweyne@gmail.com>
- Jean-Louis Dupond <jean-louis@dupond.be>
- Jens-Christian Fischer <jens-christian.fischer@switch.ch>
- Jesús Macias <jmacias@solidgear.es>
@@ -215,46 +130,31 @@
- Joel S <joel.devbox@protonmail.com>
- Johan Björk <johanimon@gmail.com>
- Johannes Ernst <jernst@indiecomputing.com>
- Johannes Leuker <j.leuker@hosting.de>
- Johannes Merkel <mail@johannesgge.de>
- Johannes Riedel <joeried@users.noreply.github.com>
- Johannes Riedel <johannes@johannes-riedel.de>
- Johannes Schlichenmaier <johannes@schlichenmaier.info>
- Johannes Willnecker <johannes@willnecker.com>
- John Molakvoæ <skjnldsv@protonmail.com>
- Jonas <jonas@freesources.org>
- Jonas Heinrich <heinrich@synyx.de>
- Jonas Meurer <jonas@freesources.org>
- Jonas Rittershofer <jotoeri@users.noreply.github.com>
- John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
- Jonas Sulzer <jonas@violoncello.ch>
- Jonny007-MKD <1-23-4-5@web.de>
- Jos Poortvliet <jos@opensuse.org>
- Jose Quinteiro <github@quinteiro.org>
- Josh Richards <josh.t.richards@gmail.com>
- Joshua Trees <me@jtrees.io>
- Juan Pablo Villafañez <jvillafanez@solidgear.es>
- Juan Pablo Villafáñez <jvillafanez@solidgear.es>
- Julien Lutran <julien.lutran@corp.ovh.com>
- Julien Veyssier <eneiluj@posteo.net>
- Julien Veyssier <julien-nc@posteo.net>
- Julius Haertl <jus@bitgrid.net>
- Julius Härtl <jus@bitgrid.net>
- Jérôme Herbinet <33763786+Jerome-Herbinet@users.noreply.github.com>
- Jörn Friedrich Dreyer <jfd@butonic.de>
- KB7777 <k.burkowski@gmail.com>
- Kamil Domanski <kdomanski@kdemail.net>
- Kareem <yemkareems@gmail.com>
- Karel Hink <info@karelhink.cz>
- Kate Döen <kate.doeen@nextcloud.com>
- Kawohl <john@owncloud.com>
- Kenneth Newwood <kenneth@newwood.name>
- Kevin Lanni <therealklanni@gmail.com>
- Kevin Ndung'u <kevgathuku@gmail.com>
- Kevin Niehage <k.niehage@syseleven.de>
- Kim Brose <kim.brose@rwth-aachen.de>
- Kirill Popov <kirill.s.popov@gmail.com>
- Klaas Freitag <freitag@owncloud.com>
- Knut Ahlers <knut@ahlers.me>
- Ko- <k.stoffelen@cs.ru.nl>
- Konrad Abicht <hi@inspirito.de>
- Konrad Bucheli <kb@open.ch>
- Kristof Provost <github@sigsegv.be>
- Kyle Fazzari <kyrofa@ubuntu.com>
@@ -263,7 +163,6 @@
- Laurens Post <Crote@users.noreply.github.com>
- Laurens Post <lkpost@scept.re>
- Lauris Binde <laurisb@users.noreply.github.com>
- Lee Garrett <lgarrett@rocketjump.eu>
- Lennart Rosam <hello@takuto.de>
- Lennart Rosam <lennart.rosam@medien-systempartner.de>
- Leon Klingele <git@leonklingele.de>
@@ -273,25 +172,12 @@
- Lionel Elie Mamane <lionel@mamane.lu>
- Loki3000 <github@labcms.ru>
- Lorenzo M. Catucci <lorenzo@sancho.ccd.uniroma2.it>
- Lorenzo Tanganelli <35271287+tanganellilore@users.noreply.github.com>
- Louis <6653109+artonge@users.noreply.github.com>
- Louis Chemineau <louis@chmn.me>
- Loïc Hermann <loic.hermann@sciam.fr>
- Lucas Azevedo <lhs_azevedo@hotmail.com>
- Luka Trovic <luka@nextcloud.com>
- Lukas Reschke <lukas@statuscode.ch>
- Lukas Stabe <lukas@stabe.de>
- Luke Policinski <lpolicinski@gmail.com>
- Magnus Walbeck <mw@mwalbeck.org>
- Maksim Sukharev <antreesy.web@gmail.com>
- Marc Hefter <marchefter@gmail.com>
- Marc Hefter <marchefter@march42.net>
- Marcel Klehr <mklehr@gmx.net>
- Marcel Müller <marcel-mueller@gmx.de>
- Marcel Müller <marcel.mueller@nextcloud.com>
- Marcel Waldvogel <marcel.waldvogel@uni-konstanz.de>
- Marco Ambrosini <marcoambrosini@pm.me>
- Marco Ziech <marco@ziech.net>
- Marin Treselj <marin@pixelipo.com>
- Mario Danic <mario@lovelyhq.com>
- Mario Kolling <mario.kolling@serpro.gov.br>
@@ -299,9 +185,8 @@
- Marius David Wieschollek <git.public@mdns.eu>
- Markus Goetz <markus@woboq.com>
- Markus Staab <markus.staab@redaxo.de>
- Markus Zeller <git@markuszeller.com>
- MartB <mart.b@outlook.de>
- Martin Brugnara <martin@0x6d62.eu>
- Martin <github@diemattels.at>
- Martin Konrad <info@martin-konrad.net>
- Martin Konrad <konrad@frib.msu.edu>
- Martin Mattel <martin.mattel@diemattels.at>
@@ -309,75 +194,49 @@
- Masaki Kawabata Neto <masaki.kawabata@gmail.com>
- MasterOfDeath <rinat.gumirov@mail.ru>
- Matthew Setter <matthew@matthewsetter.com>
- Matthieu Gallien <matthieu.gallien@nextcloud.com>
- Mattia Narducci <mattianarducci1@gmail.com>
- Max <max@nextcloud.com>
- Max Kovalenko <mxss1998@yandex.ru>
- Max Kunzelmann <maxdev@posteo.de>
- Max Schmit <maxschm@hotmail.com>
- Maxence Lange <maxence@artificial-owl.com>
- Maxence Lange <maxence@nextcloud.com>
- Maxence Lange <maxence@pontapreta.net>
- Maxime Besson <maxime.besson@worteks.com>
- Maximilian Martin <maximilian_martin@gmx.de>
- Maxopoly <max@dermax.org>
- MichaIng <28480705+MichaIng@users.noreply.github.com>
- MichaIng <micha@dietpi.com>
- Michael Gapczynski <GapczynskiM@gmail.com>
- Michael Göhler <somebody.here@gmx.de>
- Michael Jobst <mjobst+github@tecratech.de>
- Michael Jobst <mjobst@necls.com>
- Michael Kuhn <github@ikkoku.de>
- Michael Kuhn <michael@ikkoku.de>
- Michael Letzgus <www@chronos.michael-letzgus.de>
- Michael Roitzsch <reactorcontrol@icloud.com>
- Michael Roth <michael.roth@rz.uni-augsburg.de>
- Michael Weimann <mail@michael-weimann.eu>
- Michael Zamot <michael@zamot.io>
- Michał Węgrzynek <michal.wegrzynek@malloc.com.pl>
- Michiel de Jong <michiel@unhosted.org>
- Micke Nordin <kano@sunet.se>
- Mickey Knox <mickey@netfreaks.org>
- Miguel Prokop <miguel.prokop@vtu.com>
- Mikael Hammarin <mikael@try2.se>
- Mikael Nordin <mickenordin@users.noreply.github.com>
- Mikael Saarinen <mikaels@iki.fi>
- Mikhail Sazanov <m@sazanof.ru>
- Mitar <mitar.git@tnode.com>
- Mohammed Abdellatif <m.latief@gmail.com>
- Morris Jobke <hey@morrisjobke.de>
- Mátyás Jani <jzombi@gmail.com>
- nacho <nacho@ownyourbits.com>
- Naoto Kobayashi <naoto.kobayashi4c@gmail.com>
- Nazar Mokrynskyi <nazar@mokrynskyi.com>
- Nick Sweeting <git@sweeting.me>
- Nicolai Ehemann <en@enlightened.de>
- Nicolas Grekas <nicolas.grekas@gmail.com>
- Nicolas SIMIDE <2083596+dems54@users.noreply.github.com>
- Nils <git@to.nilsschnabel.de>
- Nils Wittenbrink <nilswittenbrink@web.de>
- Nina Pypchenko <22447785+nina-py@users.noreply.github.com>
- Nmz <nemesiz@nmz.lt>
- NoSleep82 <52562874+NoSleep82@users.noreply.github.com>
- Noveen Sachdeva <noveen.sachdeva@research.iiit.ac.in>
- Ole Ostergaard <ole.c.ostergaard@gmail.com>
- Ole Ostergaard <ole.ostergaard@knime.com>
- Oliver Gasser <oliver.gasser@gmail.com>
- Oliver Kohl D.Sc. <oliver@kohl.bz>
- Oliver Salzburg <oliver.salzburg@gmail.com>
- Oliver Wegner <void1976@gmail.com>
- Olivier Paroz <github@oparoz.com>
- Olivier Paroz <owncloud@interfasys.ch>
- Orzu Ionut <orzu.ionut@gmail.com>
- Owen Winkler <a_github@midnightcircus.com>
- Pascal de Bruijn <pmjdebruijn@pcode.nl>
- Patrick Paysant <patrick.paysant@linagora.com>
- Patrik Kernstock <info@pkern.at>
- Pauli Järvinen <pauli.jarvinen@gmail.com>
- Pavel Krasikov <klonishe@gmail.com>
- Pawel Boguslawski <pawel.boguslawski@ib.pl>
- Pellaeon Lin <nfsmwlin@gmail.com>
- Peter Kubica <peter@kubica.ch>
- Petre T <petre.tudor@dorkfarm.com>
- Phil Davis <phil.davis@inf.org>
- Philip Gatzka <philip.gatzka@mailbox.org>
- Philipp Kapfer <philipp.kapfer@gmx.at>
- Philipp Schaffrath <github@philipp.schaffrath.email>
- Philipp Staiger <philipp@staiger.it>
@@ -387,11 +246,8 @@
- Piotr Filiciak <piotr@filiciak.pl>
- Piotr M <mrow4a@yahoo.com>
- Piotr Mrowczynski <mrow4a@yahoo.com>
- Piotr Mrowczynski <piotr@owncloud.com>
- Piotr Mrówczyński <mrow4a@yahoo.com>
- Pytal <24800714+Pytal@users.noreply.github.com>
- Qingping Hou <dave2008713@gmail.com>
- Raghu Nayyar <hey@raghunayyar.com>
- Ralph Krimmel <rkrimme1@gwdg.de>
- Ramiro Aparicio <rapariciog@gmail.com>
- Randolph Carter <RandolphCarter@fantasymail.de>
@@ -400,10 +256,6 @@
- RealRancor <fisch.666@gmx.de>
- Rello <Rello@users.noreply.github.com>
- Remco Brenninkmeijer <requist1@starmail.nl>
- Retidurc Silvernight <retidurc@silvernight.social>
- Richard Steinmetz <richard@steinmetz.cloud>
- Richard de Boer <github@tubul.net>
- Rid <rid@cylo.io>
- Rinat Gumirov <rinat.gumirov@mail.ru>
- Robert Dailey <rcdailey@gmail.com>
- Robin Appelman <robin@icewind.nl>
@@ -415,28 +267,23 @@
- Romain Rivière <lecoyote@lecoyote.org>
- Roman Kreisel <mail@romankreisel.de>
- Ross Nicoll <jrn@jrn.me.uk>
- Rsplwe <i@rsplwe.com>
- Ruben Homs <ruben@homs.codes>
- RussellAult <RussellAult@users.noreply.github.com>
- Rémy Jacquin <remy@remyj.fr>
- S. Cat <33800996+sparrowjack63@users.noreply.github.com>
- SA <stephen@mthosting.net>
- Sascha Sambale <mastixmc@gmail.com>
- Sam Bull <aa6bs0@sambull.org>
- Sam Tuke <mail@samtuke.com>
- Sam Tuke <samtuke@owncloud.com>
- Samuel <faust64@gmail.com>
- Samuel CHEMLA <chemla.samuel@gmail.com>
- Sander Ruitenbeek <s.ruitenbeek@getgoing.nl>
- Sander Ruitenbeek <sander@grids.be>
- Sandro Lutz <sandro.lutz@temparus.ch>
- Sanpi <sanpi@homecomputing.fr>
- Sascha Sambale <mastixmc@gmail.com>
- Sascha Wiswedel <sascha.wiswedel@nextcloud.com>
- Scott Dutton <exussum12@users.noreply.github.com>
- Scott Dutton <scott@exussum.co.uk>
- Scott Shambarger <devel@shambarger.net>
- Sean Comeau <sean@ftlnetworks.ca>
- Sean Molenaar <sean@seanmolenaar.eu>
- Sebastian Döll <sebastian.doell@libasys.de>
- Sebastian Steinmetz <462714+steiny2k@users.noreply.github.com>
- Sebastian Steinmetz <me@sebastiansteinmetz.ch>
@@ -449,32 +296,21 @@
- Sergey Shliakhov <husband.sergey@gmail.com>
- Sergio Bertolin <sbertolin@solidgear.es>
- Sergio Bertolín <sbertolin@solidgear.es>
- Serhii Shliakhov <shlyakhov.up@gmail.com>
- Sijmen Schoon <me@sijmenschoon.nl>
- Simon Könnecke <simonkoennecke@gmail.com>
- Simon L <szaimen@e.mail.de>
- Simon Leiner <simon@leiner.me>
- Simon Spannagel <simonspa@kth.se>
- Simounet <contact@simounet.net>
- Sjors van der Pluijm <sjors@desjors.nl>
- Stanimir Bozhilov <stanimir.bozhilov.1998@gmail.com>
- Stanimir Bozhilov <stanimir@audriga.com>
- Stefan <Stefan.Schilling@EXXETA.com>
- Stefan Rado <owncloud@sradonia.net>
- Stefan Schneider <stefan.schneider@squareweave.com.au>
- Stefan Weiberg <sweiberg@suse.com>
- Stefan Weil <sw@weilnetz.de>
- Steffen Lindner <mail@steffen-lindner.de>
- Stephan Müller <mail@stephanmueller.eu>
- Stephan Orbaugh <stephan.orbaugh@nextcloud.com>
- Stephan Peijnik <speijnik@anexia-it.com>
- Stephen Cuppett <steve@cuppett.com>
- Steven Bühner <buehner@me.com>
- Sujith H <sharidasan@owncloud.com>
- Sujith Haridasan <Sujith_Haridasan@mentor.com>
- Sujith Haridasan <sujith.h@gmail.com>
- Sven Strickroth <email@cs-ware.de>
- Sylvain <git@sylvain.dev>
- Sylvia van Os <sylvia@hackerchick.me>
- Tekhnee <info@tekhnee.org>
- Temtaime <temtaime@gmail.com>
@@ -493,118 +329,74 @@
- Timo Förster <tfoerster@webfoersterei.de>
- Tobia De Koninck <LEDfan@users.noreply.github.com>
- Tobia De Koninck <tobia@ledfan.be>
- Tobias Assmann <tobias.assmann@ecsec.de>
- Tobias Kaminsky <tobias@kaminsky.me>
- Tobias Perschon <tobias@perschon.at>
- Tom Grant <TomG736@users.noreply.github.com>
- Tom Needham <tom@owncloud.com>
- Tomasz Grobelny <tomasz@grobelny.net>
- Tomasz Paluszkiewicz <tomasz.paluszkiewicz@gmail.com>
- Tor Lillqvist <tml@collabora.com>
- UmbrellaCodr <umbrella@biohazard.cc>
- Unknown <anpz.asutp@gmail.com>
- Unpublished <unpublished@gmx.net>
- Valdnet <47037905+Valdnet@users.noreply.github.com>
- Vanessa Pertsch <vanessa.pertsch@nextcloud.com>
- Varun Patil <radialapps@gmail.com>
- Varun Patil <varunpatil@ucla.edu>
- Victor Dubiniuk <dubiniuk@owncloud.com>
- Viktor Szépe <viktor@szepe.net>
- Vincent Chan <plus.vincchan@gmail.com>
- Vincent Petry <pvince81@owncloud.com>
- Vincent Petry <vincent@nextcloud.com>
- Vincent Van Houtte <vvh@aplusv.be>
- Vinicius Cubas Brand <vinicius@eita.org.br>
- Vitor Mattos <vitor@php.rio>
- Vlastimil Pecinka <pecinka@email.cz>
- Volkan Gezer <volkangezer@gmail.com>
- Volker <skydiablo@gmx.net>
- William <william.hak57@gmail.com>
- William Pain <pain.william@gmail.com>
- Xheni Myrtaj <myrtajxheni@gmail.com>
- Xheni Myrtaj <xheni@protonmail.com>
- Xuanwo <xuanwo@yunify.com>
- ZitronePlus <tobiasscharf92@gmail.com>
- acsfer <12234510+acsfer@users.noreply.github.com>
- acsfer <carlos@reendex.com>
- adrien <adrien.waksberg@believedigital.com>
- alanmeeson <alan@carefullycalculated.co.uk>
- aler9 <46489434+aler9@users.noreply.github.com>
- alexweirig <alex.weirig@technolink.lu>
- b108@volgograd "b108@volgograd"
- bbx-github <53237674+bbx-github@users.noreply.github.com>
- bladewing <lukas@ifflaender-family.de>
- bline <scottbeck@gmail.com>
- blizzz <blizzz@arthur-schiwon.de>
- brad2014 <brad2014@users.noreply.github.com>
- brumsel <brumsel@losecatcher.de>
- cahogan <caitlin.hogan@swiftsolar.com>
- call-me-matt <nextcloud@matthiasheinisch.de>
- castillo92 <37965565+castillo92@users.noreply.github.com>
- cetra3 <peter@parashift.com.au>
- cmeh <cmeh@users.noreply.github.com>
- comradekingu <epost@anotheragency.no>
- dartcafe <github@dartcafe.de>
- davidgumberg <davidnoizgumberg@gmail.com>
- davitol <dtoledo@solidgear.es>
- dems54 <2083596+dems54@users.noreply.github.com>
- derkostka <sebastian.kostka@gmail.com>
- duritong <peter.meier+github@immerda.ch>
- eduardo <eduardo@vnexu.net>
- eleith <online+github@eleith.com>
- enoch <lanxenet@hotmail.com>
- essys <essys@users.noreply.github.com>
- exner104 <59639860+exner104@users.noreply.github.com>
- fabian <fabian@web2.0-apps.de>
- felixboehm <felix@webhippie.de>
- fenn-cs <fenn25.fn@gmail.com>
- fnuesse <felix.nuesse@t-online.de>
- fnuesse <fnuesse@techfak.uni-bielefeld.de>
- greta <gretadoci@gmail.com>
- helix84 <helix84@centrum.sk>
- hkjolhede <hkjolhede@gmail.com>
- hoellen <dev@hoellen.eu>
- hosting.de, Johannes Leuker <developers@hosting.de>
- howardZa <33491519+howardZa@users.noreply.github.com>
- ideaship <ideaship@users.noreply.github.com>
- j-ed <juergen@eisfair.org>
- j3l11234 <297259024@qq.com>
- jaltek <jaltek@mailbox.org>
- jknockaert <jasper@knockaert.nl>
- jld3103 <jld3103yt@gmail.com>
- josh4trunks <joshruehlig@gmail.com>
- julia.kirschenheuter <julia.kirschenheuter@nextcloud.com>
- karakayasemi <karakayasemi@itu.edu.tr>
- kevin147147 <kevintamool@gmail.com>
- korelstar <korelstar@users.noreply.github.com>
- leith abdulla <online-nextcloud@eleith.com>
- lui87kw <lukas.ifflaender@uni-wuerzburg.de>
- luz paz <luzpaz@github.com>
- luz paz <luzpaz@pm.me>
- lynn-stephenson <lynn.stephenson@protonmail.com>
- macjohnny <estebanmarin@gmx.ch>
- marco44 <cousinmarc@gmail.com>
- martin-rueegg <martin.rueegg@metaworx.ch>
- martin.mattel@diemattels.at <martin.mattel@diemattels.at>
- martink-p <47943787+martink-p@users.noreply.github.com>
- matt <34400929+call-me-matt@users.noreply.github.com>
- medcloud <42641918+medcloud@users.noreply.github.com>
- michaelletzgus <michaelletzgus@users.noreply.github.com>
- michag86 <micha_g@arcor.de>
- michag86 <michag86@arcor.de>
- mmccarn <mmccarn-github@mmsionline.us>
- nhirokinet <nhirokinet@nhiroki.net>
- nik gaffney <nik@fo.am>
- nishiki <nishiki@yaegashi.fr>
- noiob <8197071+noiob@users.noreply.github.com>
- noveens <noveen.sachdeva@research.iiit.ac.in>
- npmbuildbot[bot] "npmbuildbot[bot]@users.noreply.github.com"
- onehappycat <one.happy.cat@gmx.com>
- oparoz <owncloud@interfasys.ch>
- phisch <git@philippschaffrath.de>
- pjft <pjft@users.noreply.github.com>
- plumbeo <plumbeo@users.noreply.github.com>
- rakekniven <2069590+rakekniven@users.noreply.github.com>
- rakekniven <mark.ziegler@rakekniven.de>
- raul <raul@nextcloud.com>
- robottod <83244577+robottod@users.noreply.github.com>
- rawtaz <rawtaz@users.noreply.github.com>
- root "root@oc.(none)"
- root <root@localhost.localdomain>
- rubo77 <github@r.z11.de>
@@ -613,25 +405,15 @@
- scolebrook <scolebrook@mac.com>
- shkdee <louis.traynard@m4x.org>
- simonspa <1677436+simonspa@users.noreply.github.com>
- smichel17 <git@smichel.me>
- sodimel <corentin@244466666.xyz>
- ste101 <stephan_bauer@gmx.de>
- sualko <klaus@jsxc.org>
- szaimen <szaimen@e.mail.de>
- tbartenstein <tbartenstein@users.noreply.github.com>
- tbelau666 <thomas.belau@gmx.de>
- tgrant <tom.grant760@gmail.com>
- timm2k <timm2k@gmx.de>
- tux-rampage <tux-rampage@users.noreply.github.com>
- v1r0x <vinzenz.rosenkranz@gmail.com>
- voxsim "Simon Vocella"
- waleczny <michal@walczak.xyz>
- zorn-v <zorn7@yandex.ru>
- zulan <git@zulan.net>
- Łukasz Buśko <busko.lukasz@pm.me>
- Nextcloud GmbH
- ownCloud GmbH
- ownCloud, Inc.
With help from many libraries and frameworks including:
Open Collaboration Services
+1 -5
View File
@@ -1,8 +1,4 @@
<!--
- SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
- SPDX-License-Identifier: AGPL-3.0-or-later
-->
Changelog
=========
The change log is at [https://nextcloud.com/changelog/](https://nextcloud.com/changelog/).
The change log is at [https://nextcloud.com/changelog/](https://nextcloud.com/changelog/).

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