Compare commits

..

905 Commits

Author SHA1 Message Date
Morris Jobke 21872b8227 Merge pull request #15545 from nextcloud/version/14.0.11
14.0.11
2019-05-15 14:18:58 +02:00
Morris Jobke 629dce1882 14.0.11
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-05-15 11:18:28 +02:00
Nextcloud bot 07b05d8d53 [tx-robot] updated from transifex 2019-05-14 02:13:35 +00:00
Nextcloud bot f6320a9e9e [tx-robot] updated from transifex 2019-05-13 00:12:56 +00:00
Nextcloud bot be64907459 [tx-robot] updated from transifex 2019-05-12 00:22:20 +00:00
Nextcloud bot 6dca105ef2 [tx-robot] updated from transifex 2019-05-11 00:13:32 +00:00
Nextcloud bot 7c88d77f40 [tx-robot] updated from transifex 2019-05-10 00:13:23 +00:00
Morris Jobke 162e6eb848 Merge pull request #15222 from nextcloud/version/14.0.11/RC1
14.0.11 RC 1
2019-05-09 17:16:46 +02:00
Roeland Jago Douma 9fca6b5cd4 14.0.11 RC 1
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-05-09 16:13:28 +02:00
Morris Jobke 4d806a9579 Merge pull request #15484 from nextcloud/backport/15478/stable14
[stable14] Update file-upload.js
2019-05-09 16:12:25 +02:00
Valdnet 88d5b47966 Update file-upload.js
Change the location of the translation file.
2019-05-09 16:03:29 +02:00
Morris Jobke a108a7c3d0 Merge pull request #15473 from nextcloud/backport/15468/stable14
[stable14] Remove recommendation for opcache on CLI
2019-05-09 15:24:33 +02:00
Morris Jobke bcc0e5c7e0 Remove recommendation for opcache on CLI
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-05-09 11:49:29 +00:00
Morris Jobke 89c811335e Merge pull request #15467 from nextcloud/backport/15464/stable14
[stable14] Revert "Run phan tests only on high memory machines"
2019-05-09 11:44:20 +02:00
Morris Jobke 8728c64b1d Revert "Run phan tests only on high memory machines" 2019-05-09 09:43:11 +00:00
Nextcloud bot 8fc8a9913c [tx-robot] updated from transifex 2019-05-09 00:13:06 +00:00
Morris Jobke 9751a9ed8a Merge pull request #15444 from nextcloud/backport/15308/stable14
[stable14] remove setup args from logging
2019-05-08 23:47:43 +02:00
Morris Jobke 842a403fb9 Merge pull request #15449 from nextcloud/backport/15446/stable14
[stable14] Run phan tests only on high memory machines
2019-05-08 16:41:03 +02:00
Morris Jobke 4d82ec7f7e Run phan tests only on high memory machines
This should fix the out of memory issues we are seeing with this job

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-05-08 14:36:22 +00:00
Joas Schilling 7b4b2c6186 fix class might be undefined
Co-Authored-By: blizzz <blizzz@arthur-schiwon.de>

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-05-08 13:53:59 +00:00
Arthur Schiwon c9a0fbef62 remove args from logging of common-spelled methods dependent on class
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-05-08 13:53:58 +00:00
Arthur Schiwon 21ee2db3be remove setup args from logging
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-05-08 13:53:58 +00:00
Nextcloud bot 8ae1b9a477 [tx-robot] updated from transifex 2019-05-08 00:13:35 +00:00
Morris Jobke 15a2853d14 Merge pull request #15423 from nextcloud/stb14/fix/cssvars/edge-support
[stable14] Set Edge < 16 as incompatible with css vars
2019-05-07 22:17:24 +02:00
John Molakvoæ (skjnldsv) 5fc0559fb7 [stable14] Set Edge < 16 as incompatible with css vars
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2019-05-07 18:31:22 +02:00
John Molakvoæ (skjnldsv) 021fcc5011 [stable14] Set Edge < 16 as incompatible with css vars
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2019-05-07 18:20:24 +02:00
Nextcloud bot 596a3de6ce [tx-robot] updated from transifex 2019-05-07 00:13:17 +00:00
Morris Jobke e15960677a Merge pull request #15391 from nextcloud/backport/15384/stable14
[stable14] Fix collapse button in app navigation in IE11
2019-05-06 15:29:46 +02:00
Daniel Calviño Sánchez 5f0489432a Fix collapse button in app navigation in IE11
Although the collapse button has an absolute position Internet Explorer
11 needs the left position of that button to be explicitly set to 0
(other browsers do it implicitly due to the absolute position);
otherwise the button appears to the right of the link (and behind the
app content).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-05-06 12:10:48 +00:00
Morris Jobke 28c3547683 Merge pull request #15330 from nextcloud/dependabot/npm_and_yarn/apps/accessibility/stable14/tar-4.4.8
[Security] Bump tar from 4.4.1 to 4.4.8 in /apps/accessibility
2019-05-06 09:40:56 +02:00
Morris Jobke a5c76e5753 Merge pull request #15331 from nextcloud/dependabot/npm_and_yarn/apps/oauth2/stable14/tar-4.4.8
[Security] Bump tar from 4.4.1 to 4.4.8 in /apps/oauth2
2019-05-06 09:38:35 +02:00
Nextcloud bot 922d1099cd [tx-robot] updated from transifex 2019-05-06 00:13:39 +00:00
Nextcloud bot 710be115f9 [tx-robot] updated from transifex 2019-05-05 00:13:22 +00:00
Nextcloud bot d8af4bac4b [tx-robot] updated from transifex 2019-05-04 00:13:12 +00:00
dependabot[bot] 3246fb0217 [Security] Bump tar from 4.4.1 to 4.4.8 in /apps/accessibility
Bumps [tar](https://github.com/npm/node-tar) from 4.4.1 to 4.4.8. **This update includes security fixes.**
- [Release notes](https://github.com/npm/node-tar/releases)
- [Commits](https://github.com/npm/node-tar/compare/v4.4.1...v4.4.8)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-05-03 18:43:39 +00:00
dependabot[bot] 463769b1d6 [Security] Bump tar from 4.4.1 to 4.4.8 in /apps/oauth2
Bumps [tar](https://github.com/npm/node-tar) from 4.4.1 to 4.4.8. **This update includes security fixes.**
- [Release notes](https://github.com/npm/node-tar/releases)
- [Commits](https://github.com/npm/node-tar/compare/v4.4.1...v4.4.8)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-05-03 18:43:39 +00:00
Roeland Jago Douma 81b1edab15 Merge pull request #15335 from nextcloud/dependabot/npm_and_yarn/settings/stable14/tar-4.4.8
[Security] Bump tar from 4.4.1 to 4.4.8 in /settings
2019-05-03 20:42:02 +02:00
Roeland Jago Douma ac612881d4 Merge pull request #15347 from nextcloud/backport/15309/stable14
[stable14] Do NOT assume all files are selected if the first checkbox is
2019-05-03 15:45:36 +02:00
dependabot[bot] ff79c3e4f8 [Security] Bump tar from 4.4.1 to 4.4.8 in /settings
Bumps [tar](https://github.com/npm/node-tar) from 4.4.1 to 4.4.8. **This update includes security fixes.**
- [Release notes](https://github.com/npm/node-tar/releases)
- [Commits](https://github.com/npm/node-tar/compare/v4.4.1...v4.4.8)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-05-03 13:37:51 +00:00
Roeland Jago Douma 61d1317a2a Merge pull request #15329 from nextcloud/dependabot/npm_and_yarn/apps/updatenotification/stable14/tar-4.4.8
[Security] Bump tar from 4.4.1 to 4.4.8 in /apps/updatenotification
2019-05-03 15:36:09 +02:00
Nextcloud bot 3f4525045a [tx-robot] updated from transifex 2019-05-03 00:13:07 +00:00
John Molakvoæ (skjnldsv) 56a33a374a Do NOT assume all files are selected if the first checkbox is
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2019-05-02 11:49:13 +00:00
Roeland Jago Douma 07c97edd08 Merge pull request #15343 from nextcloud/backport/15122/stable14
[stable14] Check if the data is in the lookup server
2019-05-02 13:23:05 +02:00
Joas Schilling d6e588d792 Check if the data is in the lookup server
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-05-02 10:01:39 +00:00
Nextcloud bot e73d1233ea [tx-robot] updated from transifex 2019-05-02 00:13:15 +00:00
dependabot[bot] 5cc0c43bf2 [Security] Bump tar from 4.4.1 to 4.4.8 in /apps/updatenotification
Bumps [tar](https://github.com/npm/node-tar) from 4.4.1 to 4.4.8. **This update includes security fixes.**
- [Release notes](https://github.com/npm/node-tar/releases)
- [Commits](https://github.com/npm/node-tar/compare/v4.4.1...v4.4.8)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-05-01 18:43:37 +00:00
Nextcloud bot f606d25468 [tx-robot] updated from transifex 2019-05-01 00:13:02 +00:00
Morris Jobke f402815a0d Merge pull request #15140 from nextcloud/backport/15129/stable14
Backport/15129/stable14
2019-04-30 14:57:08 +02:00
Nextcloud bot 44d3bb862f [tx-robot] updated from transifex 2019-04-30 00:13:01 +00:00
Nextcloud bot e94b15764f [tx-robot] updated from transifex 2019-04-29 00:12:56 +00:00
Nextcloud bot c2e23425e5 [tx-robot] updated from transifex 2019-04-28 00:12:52 +00:00
Nextcloud bot 65ce62e6c0 [tx-robot] updated from transifex 2019-04-27 00:12:53 +00:00
Nextcloud bot 046a0dc15f [tx-robot] updated from transifex 2019-04-26 00:12:50 +00:00
Nextcloud bot c811859022 [tx-robot] updated from transifex 2019-04-25 00:12:58 +00:00
Roeland Jago Douma 5b910ecc0a Merge pull request #15207 from nextcloud/backport/15146/stable14
[stable14] Prefetching blows up if there are a lot of files.
2019-04-24 15:54:12 +02:00
Roeland Jago Douma c519393a59 Prefetching blows up if there are a lot of files.
I saw instances where people had a lot of files (each with custom
properties) and all this prefetching blew up and started to consume an
insane amount of RAM resulting in the process getting killed.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-04-24 07:04:32 +00:00
Nextcloud bot c8338e350a [tx-robot] updated from transifex 2019-04-24 00:12:48 +00:00
Nextcloud bot d738c645e5 [tx-robot] updated from transifex 2019-04-23 00:12:54 +00:00
Nextcloud bot 20be502de4 [tx-robot] updated from transifex 2019-04-22 00:13:08 +00:00
Nextcloud bot cb2e6fc029 [tx-robot] updated from transifex 2019-04-21 00:13:27 +00:00
Nextcloud bot 054e5853c2 [tx-robot] updated from transifex 2019-04-20 00:13:11 +00:00
Nextcloud bot f606140290 [tx-robot] updated from transifex 2019-04-19 00:13:06 +00:00
Morris Jobke 8900a36714 Merge pull request #15159 from nextcloud/backport/15153/stable14
[stable14] Load apps before running repair steps
2019-04-18 18:39:04 +02:00
Temtaime e1ff3b6500 Fix #15042 2019-04-18 13:06:53 +00:00
Nextcloud bot 31f8d7499b [tx-robot] updated from transifex 2019-04-18 00:13:06 +00:00
Joas Schilling 0784369790 Use the querybuilder for the queries
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-04-17 15:58:10 +02:00
Joas Schilling a99a92b673 Allow to use Subqueries in from
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-04-17 15:57:20 +02:00
Roeland Jago Douma 23c422655d Repair step for link shares
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-04-17 15:57:16 +02:00
Nextcloud bot 6ae35af90d [tx-robot] updated from transifex 2019-04-17 00:13:10 +00:00
Morris Jobke 71f40fce3d Merge pull request #15120 from nextcloud/backport/15115/stable14
[stable14] Do not use spaces in generated passwords
2019-04-16 11:41:46 +02:00
Nextcloud bot 6fdbdc326a [tx-robot] updated from transifex 2019-04-16 00:17:47 +00:00
Morris Jobke f437eb0443 Do not use spaces in generated passwords
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-04-15 21:08:08 +00:00
Morris Jobke cfd5cdbbf3 Merge pull request #15072 from nextcloud/backport/14652/stable14
[stable14] Do not allow invalid users to be created
2019-04-15 12:00:53 +02:00
Morris Jobke 4240a0ead3 Merge pull request #15070 from nextcloud/3rdparty/stable14/sabre/dav/3.2.3
[stable14][3rdparty] Bump sabre to 3.2.3
2019-04-15 09:46:46 +02:00
Roeland Jago Douma 374fff51a1 Merge pull request #15007 from nextcloud/backport/14480/stable14
[stable14] Reconnect to DB after timeout for Notify command. Fixes #14479
2019-04-15 09:17:09 +02:00
Roeland Jago Douma 9d8099f5f2 Do not allow invalid users to be created
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-04-15 09:05:52 +02:00
Nextcloud bot 20e09a9b5a [tx-robot] updated from transifex 2019-04-15 00:13:11 +00:00
Nextcloud bot c0163901ae [tx-robot] updated from transifex 2019-04-14 00:13:43 +00:00
Nextcloud bot 77259f742d [tx-robot] updated from transifex 2019-04-13 00:15:52 +00:00
Roeland Jago Douma 819bba3592 [stable14][3rdparty] Bump sabre to 3.2.3
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-04-12 08:21:49 +02:00
Nextcloud bot 72816bf044 [tx-robot] updated from transifex 2019-04-12 00:13:07 +00:00
Nextcloud bot 7966a5efd6 [tx-robot] updated from transifex 2019-04-11 00:13:22 +00:00
Nextcloud bot dd920b01ed [tx-robot] updated from transifex 2019-04-10 00:13:13 +00:00
Nextcloud bot 1e1e9ebabf [tx-robot] updated from transifex 2019-04-09 00:13:17 +00:00
Morris Jobke 338c782540 Merge pull request #15004 from nextcloud/version/noid/14.0.10
14.0.10
2019-04-09 00:12:29 +02:00
Morris Jobke cf91813301 14.0.10
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-04-08 22:10:29 +02:00
Morris Jobke 726c49eb2d Merge pull request #15002 from nextcloud/backport/14985/stable14
[stable14] Check if OCA.Files.App is available before calling
2019-04-08 22:10:05 +02:00
Ari Selseng a94b9c39d5 Correct log attribute
Signed-off-by: Ari Selseng <ari@selseng.net>
2019-04-08 15:28:12 +00:00
Ari Selseng 793b02a27d Added logging to Notify command.
Signed-off-by: Ari Selseng <ari@selseng.net>
2019-04-08 15:28:11 +00:00
Ari Selseng 393d4fe921 Reconnect to DB after timeout for Notify command. Fixes #14479
Signed-off-by: Ari Selseng <ari@selseng.net>
2019-04-08 15:28:11 +00:00
Julius Härtl 70c4335383 Check if OCA.Files.App is available before calling
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-04-08 16:52:19 +02:00
Morris Jobke 89cab32243 Merge pull request #14996 from nextcloud/fix/noid/drone-yml-14
[stable14] Fix .drone.yml syntax
2019-04-08 15:51:41 +01:00
Morris Jobke 0f7f839c59 Fix secret name
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-04-08 16:14:59 +02:00
Morris Jobke 0fdbe9d1bb Fix .drone.yml syntax
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-04-08 15:47:04 +02:00
Nextcloud bot 76b1ca3f89 [tx-robot] updated from transifex 2019-04-08 00:14:37 +00:00
Nextcloud bot 3bdd352ba3 [tx-robot] updated from transifex 2019-04-07 00:13:39 +00:00
Nextcloud bot d2d4887f23 [tx-robot] updated from transifex 2019-04-06 00:13:28 +00:00
Nextcloud bot 5b1816dfa0 [tx-robot] updated from transifex 2019-04-05 00:13:34 +00:00
Roeland Jago Douma 752140bb18 Merge pull request #14951 from nextcloud/version/noid/14.0.9
14.0.9
2019-04-04 09:19:07 +01:00
Nextcloud bot f107a8d99d [tx-robot] updated from transifex 2019-04-04 00:13:41 +00:00
Morris Jobke 1fef65610b 14.0.9
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-04-03 17:35:34 +01:00
Nextcloud bot a8115f0d3f [tx-robot] updated from transifex 2019-04-03 00:13:53 +00:00
Nextcloud bot 0a3176dea5 [tx-robot] updated from transifex 2019-04-02 00:13:56 +00:00
Nextcloud bot 8d2701c422 [tx-robot] updated from transifex 2019-04-01 00:14:16 +00:00
Nextcloud bot 2989f6b99a [tx-robot] updated from transifex 2019-03-31 01:13:01 +00:00
Nextcloud bot bef8f3336f [tx-robot] updated from transifex 2019-03-30 01:13:53 +00:00
Roeland Jago Douma f3dd8d7959 Merge pull request #14910 from nextcloud/version/rc/14.0.9rc1
14.0.9 RC 1
2019-03-29 15:19:36 +01:00
Roeland Jago Douma d6c380d0ed 14.0.9 RC 1
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-03-29 13:32:51 +01:00
Roeland Jago Douma ed0e18fb89 Merge pull request #14890 from nextcloud/stable14-14886
[stable14] Fix opening folders from different file lists
2019-03-29 13:31:47 +01:00
Nextcloud bot f105bc53b9 [tx-robot] updated from transifex 2019-03-29 01:13:08 +00:00
Julius Härtl c1bad831cd Fix opening folders from different file lists
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-03-28 09:25:33 +01:00
Nextcloud bot 5b802c0a26 [tx-robot] updated from transifex 2019-03-28 01:13:41 +00:00
Roeland Jago Douma b1e8e68643 Merge pull request #14866 from nextcloud/backport/14456/stable14
[stable14] Fix a bug with smb notify having leading slash when it should not
2019-03-27 19:51:18 +01:00
Ari Selseng 3ce43ce3ce Fix a bug with smb notify having leading slash when it should not
Signed-off-by: Ari Selseng <ari@selseng.net>
2019-03-27 13:34:14 +01:00
Nextcloud bot ad06248889 [tx-robot] updated from transifex 2019-03-27 12:06:49 +00:00
Roeland Jago Douma 09066fd0c7 Merge pull request #14881 from nextcloud/backport/stable14/fix_translations
[stable14] Fix translations of settings
2019-03-27 12:51:21 +01:00
Roeland Jago Douma b05da8bf5c [stable14] Fix translations of settings
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-03-27 12:50:11 +01:00
Roeland Jago Douma ba0516c4ce Merge pull request #14868 from nextcloud/backport/14058/stable14
[stable14] Avoid replacement by user object
2019-03-26 20:16:34 +01:00
Vlastimil Pecinka 73dbc29f21 Store user object later in the code
Signed-off-by: Vlastimil Pecinka <pecinka@email.cz>
2019-03-26 17:40:31 +01:00
Morris Jobke 0b4c90dfa1 Merge pull request #14856 from nextcloud/backport/14583/remove-g+-federation-14
[stable14] Remove Google+ federation usersettings
2019-03-26 14:20:05 +01:00
Marius Blüm 35957d8675 Remove G+ CSS rule (Feedback from Joas)
Signed-off-by: Marius Blüm <marius@lineone.io>
2019-03-26 11:54:44 +01:00
Marius Blüm 699b01a9c8 Remove G+ code from Federated Files Sharing-usersettings
Signed-off-by: Marius Blüm <marius@lineone.io>
2019-03-26 11:54:40 +01:00
Marius Blüm 6c5a872b90 Remove G+ icon from Federated Files Sharing-usersettings
Signed-off-by: Marius Blüm <marius@lineone.io>
2019-03-26 11:54:37 +01:00
Nextcloud bot a1aaa0bd3f [tx-robot] updated from transifex 2019-03-26 10:41:51 +00:00
Roeland Jago Douma 887c3f5246 Merge pull request #14841 from nextcloud/backport/14838/stable14
[stable14] Fix placeholder in disable message
2019-03-26 08:50:54 +01:00
Joas Schilling 7b39a8c766 Fix placeholder in disable message
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-03-25 16:02:13 +00:00
Roeland Jago Douma d072bb16e4 Merge pull request #14783 from nextcloud/backport/14744/stable14
[stable14] Always register the Notifier
2019-03-21 15:47:48 +01:00
Morris Jobke 054521d030 Merge pull request #14782 from nextcloud/backport/14778/stable14
[stable14] Fix user creation using LDAP Plugin
2019-03-21 13:54:13 +01:00
Joas Schilling 0b1ea8002a Always register the Notifier
... so background jobs without a user can prepare push notifications

Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-03-21 10:36:37 +00:00
Vinicius Cubas Brand d97339830d LDAP plugin: force createUser to return new user's DN
LDAP plugins must change the createUser method to return the DN, as we
need this to update the cache.

Signed-off-by: Vinicius Cubas Brand <viniciuscb@gmail.com>
2019-03-21 10:33:46 +00:00
Vinicius Cubas Brand dd30daa3af Cache cleaning when subadmin adds user to group
This commit fix an error happening when the subadmin tries to create an
user, adding him/her to the group s/he is subadmin of, using a LDAP
User/Group plugin.

This just forces the cache to be reset after an user is added to a
group.

Signed-off-by: Vinicius Cubas Brand <viniciuscb@gmail.com>
2019-03-21 10:33:46 +00:00
Vinicius Cubas Brand 0f3df7609a fix user creation using LDAP Plugin
Signed-off-by: Vinicius Cubas Brand <viniciuscb@gmail.com>
2019-03-21 10:33:45 +00:00
Nextcloud bot 70589dfc68 [tx-robot] updated from transifex 2019-03-21 01:14:17 +00:00
Morris Jobke 5066a676a8 Merge pull request #14760 from nextcloud/backport/14691/stable14
[stable14] always allow moving mountpoints inside the same mountpoint
2019-03-20 16:41:16 +01:00
Robin Appelman d47106cdcc always allow moving mountpoints inside the same mountpoint
even if that mountpoint isn't normally a valid target for moving mounts into

Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-03-20 10:00:03 +00:00
Nextcloud bot 863e17d4e6 [tx-robot] updated from transifex 2019-03-20 01:13:05 +00:00
Nextcloud bot 31086f6e25 [tx-robot] updated from transifex 2019-03-19 01:13:02 +00:00
Nextcloud bot 0ab85c0977 [tx-robot] updated from transifex 2019-03-18 01:12:46 +00:00
Nextcloud bot f94dccbe8d [tx-robot] updated from transifex 2019-03-17 01:13:41 +00:00
Nextcloud bot a3436d8b09 [tx-robot] updated from transifex 2019-03-16 01:12:52 +00:00
Morris Jobke 929c2e2513 Merge pull request #14701 from nextcloud/backport/14690/stable14
[stable14] throw a proper error if rename fails in dav
2019-03-15 10:53:33 +01:00
Nextcloud bot cf03367938 [tx-robot] updated from transifex 2019-03-15 01:15:38 +00:00
Morris Jobke 12e1c5c6b9 Merge pull request #14673 from nextcloud/backport/14640/disable-failing-tests-14
[stable14] Disable fragile tests
2019-03-15 00:24:45 +01:00
Robin Appelman 7bb97e713e throw a proper error if rename fails in dav
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-03-14 19:29:36 +00:00
Nextcloud bot 0afe723932 [tx-robot] updated from transifex 2019-03-14 16:08:54 +00:00
Morris Jobke 3899a70480 Add time between SMB test runs and properly log full changeset
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-14 16:43:30 +01:00
Morris Jobke 5d95e353ee Disable failing files app test - act 4
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-14 16:31:57 +01:00
Morris Jobke b1b9aa3df9 Disable failing files app test - act 3
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-14 16:24:31 +01:00
Morris Jobke 9b25620b4c Disable failing app management test
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-14 16:21:30 +01:00
Morris Jobke 4146d3c868 Disable failing comments app test - act 2
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-14 13:45:46 +01:00
Morris Jobke 10d0bbcd33 Disable failing files app test - act 2
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-14 13:44:28 +01:00
Morris Jobke 1de05264a6 Wait up to 10 seconds for incoming changes from SMB notifier
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-13 22:20:36 +01:00
Morris Jobke 74b4655696 Disable fragile user acceptance tests
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-13 22:20:34 +01:00
Morris Jobke f66b7f41c0 Disable failing login test
* tests/acceptance/features/login.feature:15
<details><summary>Show full log</summary>

```
  Scenario: log in with valid user and invalid password once fixed by admin # /drone/src/github.com/nextcloud/server/tests/acceptance/features/login.feature:15
    Given I act as John                                                     # ActorContext::iActAs()
    And I can not log in with user user0 and password 654231                # LoginPageContext::iCanNotLogInWithUserAndPassword()
    When I act as Jane                                                      # ActorContext::iActAs()
    And I am logged in as the admin                                         # LoginPageContext::iAmLoggedInAsTheAdmin()
    And I open the User settings                                            # SettingsMenuContext::iOpenTheUserSettings()
    And I set the password for user0 to 654321                              # UsersSettingsContext::iSetTheFieldForUserTo()
    And I act as John                                                       # ActorContext::iActAs()
    And I log in with user user0 and password 654321                        # LoginPageContext::iLogInWithUserAndPassword()
    Then I see that the current page is the Files app                       # FilesAppContext::iSeeThatTheCurrentPageIsTheFilesApp()
      Failed asserting that 'http://acceptance-login/index.php/login?user=user0' starts with "http://acceptance-login/index.php/apps/files/".

```
</details>

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-13 22:20:31 +01:00
Morris Jobke 788759d743 Disable failing comments test
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-13 22:20:27 +01:00
Morris Jobke b2eae64111 Disable failing files app test
Fails with:

 * tests/acceptance/features/app-files.feature:90
<details><summary>Show full log</summary>

```
  Scenario: show favorites                                            # /drone/src/github.com/nextcloud/server/tests/acceptance/features/app-files.feature:90
    Given I am logged in                                              # LoginPageContext::iAmLoggedIn()
    And I mark "welcome.txt" as favorite                              # FileListContext::iMarkAsFavorite()
    When I open the "Favorites" section                               # AppNavigationContext::iOpenTheSection()
    Then I see that the current section is "Favorites"                # AppNavigationContext::iSeeThatTheCurrentSectionIs()
    Then I see that the file list contains a file named "welcome.txt" # FileListContext::iSeeThatTheFileListContainsAFileNamed()
      Row for file welcome.txt in file list could not be found after 100 seconds (NoSuchElementException)
```
</details>

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-13 22:20:24 +01:00
Morris Jobke 3b2cab6e05 Disable failing apps management test
Fails with:

 * tests/acceptance/features/apps.feature:66
<details><summary>Show full log</summary>

```
  Scenario: Show section from app store                       # /drone/src/github.com/nextcloud/server/tests/acceptance/features/apps.feature:66
    Given I act as Jane                                       # ActorContext::iActAs()
    And I am logged in as the admin                           # LoginPageContext::iAmLoggedInAsTheAdmin()
    And I open the Apps management                            # SettingsMenuContext::iOpenTheAppsManagement()
    And I see that the current section is "Your apps"         # AppNavigationContext::iSeeThatTheCurrentSectionIs()
    When I open the "Files" section                           # AppNavigationContext::iOpenTheSection()
      Files section item in App Navigation could not be found after 100 seconds (NoSuchElementException)
    Then I see that there some apps listed from the app store # AppsManagementContext::iSeeThatThereSomeAppsListedFromTheAppStore()
    And I see that the current section is "Files"             # AppNavigationContext::iSeeThatTheCurrentSectionIs()

```
</details>

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-13 22:20:21 +01:00
Morris Jobke 503e487b25 Disable failing files tag test
Fails with:

 * tests/acceptance/features/app-files-tags.feature:42
<details><summary>Show full log</summary>

```
  Scenario: add tags using the dropdown in the details view                                 # /drone/src/github.com/nextcloud/server/tests/acceptance/features/app-files-tags.feature:42
    Given I am logged in as the admin                                                       # LoginPageContext::iAmLoggedInAsTheAdmin()
    And I visit the settings page                                                           # SettingsMenuContext::iVisitTheSettingsPage()
    And I open the "Tag management" section                                                 # AppNavigationContext::iOpenTheSection()
    And I see that the button to select tags is shown                                       # SettingsContext::iSeeThatTheButtonToSelectTagsIsShown()
    And I create the tag "tag1" in the settings                                             # SettingsContext::iCreateTheTagInTheSettings()
    And I create the tag "tag2" in the settings                                             # SettingsContext::iCreateTheTagInTheSettings()
    And I create the tag "tag3" in the settings                                             # SettingsContext::iCreateTheTagInTheSettings()
    And I create the tag "tag4" in the settings                                             # SettingsContext::iCreateTheTagInTheSettings()
    And I see that the dropdown for tags in the settings eventually contains the tag "tag1" # SettingsContext::iSeeThatTheDropdownForTagsInTheSettingsEventuallyContainsTheTag()
    And I see that the dropdown for tags in the settings eventually contains the tag "tag2" # SettingsContext::iSeeThatTheDropdownForTagsInTheSettingsEventuallyContainsTheTag()
    And I see that the dropdown for tags in the settings eventually contains the tag "tag3" # SettingsContext::iSeeThatTheDropdownForTagsInTheSettingsEventuallyContainsTheTag()
    And I see that the dropdown for tags in the settings eventually contains the tag "tag4" # SettingsContext::iSeeThatTheDropdownForTagsInTheSettingsEventuallyContainsTheTag()
    And I log out                                                                           # SettingsMenuContext::iLogOut()
    And I am logged in                                                                      # LoginPageContext::iAmLoggedIn()
    And I open the details view for "welcome.txt"                                           # FileListContext::iOpenTheDetailsViewFor()
    And I open the input field for tags in the details view                                 # FilesAppContext::iOpenTheInputFieldForTagsInTheDetailsView()
    When I check the tag "tag2" in the dropdown for tags in the details view                # FilesAppContext::iCheckTheTagInTheDropdownForTagsInTheDetailsView()
    And I check the tag "tag4" in the dropdown for tags in the details view                 # FilesAppContext::iCheckTheTagInTheDropdownForTagsInTheDetailsView()
    Then I see that the tag "tag2" in the dropdown for tags in the details view is checked  # FilesAppContext::iSeeThatTheTagInTheDropdownForTagsInTheDetailsViewIsChecked()
    And I see that the tag "tag4" in the dropdown for tags in the details view is checked   # FilesAppContext::iSeeThatTheTagInTheDropdownForTagsInTheDetailsViewIsChecked()
    And I see that the input field for tags in the details view contains the tag "tag2"     # FilesAppContext::iSeeThatTheInputFieldForTagsInTheDetailsViewContainsTheTag()
      Failed asserting that false is true.
    And I see that the input field for tags in the details view contains the tag "tag4"     # FilesAppContext::iSeeThatTheInputFieldForTagsInTheDetailsViewContainsTheTag()

```
</details>

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-13 22:20:18 +01:00
Morris Jobke 891b7e189b Disable failing federated sharing tests
Fails with:

 * build/integration/federation_features/federated.feature:183
 * build/integration/federation_features/federated.feature:232
 * build/integration/federation_features/federated.feature:247
 * build/integration/federation_features/federated.feature:263
<details><summary>Show full log</summary>

```
  Scenario: Reshare a federated shared file                                                             # /drone/src/github.com/nextcloud/server/build/integration/federation_features/federated.feature:183
    Given Using server "REMOTE"                                                                         # FederationContext::usingServer()
    And user "user1" exists                                                                             # FederationContext::assureUserExists()
    And user "user2" exists                                                                             # FederationContext::assureUserExists()
    And Using server "LOCAL"                                                                            # FederationContext::usingServer()
    And user "user0" exists                                                                             # FederationContext::assureUserExists()
    And User "user0" from server "LOCAL" shares "/textfile0.txt" with user "user1" from server "REMOTE" # FederationContext::federateSharing()
    And User "user1" from server "REMOTE" accepts last pending share                                    # FederationContext::acceptLastPendingShare()
    And Using server "REMOTE"                                                                           # FederationContext::usingServer()
    And As an "user1"                                                                                   # FederationContext::asAn()
    When creating a share with                                                                          # FederationContext::creatingShare()
      | path        | /textfile0 (2).txt |
      | shareType   | 0                  |
      | shareWith   | user2              |
      | permissions | 19                 |
    Then the OCS status code should be "100"                                                            # FederationContext::theOCSStatusCodeShouldBe()
      Failed asserting that SimpleXMLElement Object &000000007d8e0d3c00000000403fd08a (
          0 => '404'
      ) matches expected '100'.
    ...
{"message":"Can not find share with ID: 8"}

  Scenario: Overwrite a federated shared folder as recipient                                             # /drone/src/github.com/nextcloud/server/build/integration/federation_features/federated.feature:232
    Given Using server "REMOTE"                                                                          # FederationContext::usingServer()
    And user "user1" exists                                                                              # FederationContext::assureUserExists()
    And user "user2" exists                                                                              # FederationContext::assureUserExists()
    And Using server "LOCAL"                                                                             # FederationContext::usingServer()
    And user "user0" exists                                                                              # FederationContext::assureUserExists()
    And User "user0" from server "LOCAL" shares "/PARENT" with user "user1" from server "REMOTE"         # FederationContext::federateSharing()
    And User "user1" from server "REMOTE" accepts last pending share                                     # FederationContext::acceptLastPendingShare()
    And Using server "REMOTE"                                                                            # FederationContext::usingServer()
    And As an "user1"                                                                                    # FederationContext::asAn()
    And User "user1" modifies text of "/textfile0.txt" with text "BLABLABLA"                             # FederationContext::modifyTextOfFile()
    When User "user1" uploads file "../../data/user1/files/textfile0.txt" to "/PARENT (2)/textfile0.txt" # FederationContext::userUploadsAFileTo()
      Client error: `PUT http://localhost:8180/remote.php/webdav/PARENT%20(2)/textfile0.txt` resulted in a `404 Not Found` response:
      <?xml version="1.0" encoding="utf-8"?>
      <d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
        <s:exception>Sabre\DA (truncated...)
       (GuzzleHttp\Exception\ClientException)
    ...
{"message":"Can not find share with ID: 10"}

  Scenario: Overwrite a federated shared file as recipient using old chunking                           # /drone/src/github.com/nextcloud/server/build/integration/federation_features/federated.feature:247
    Given Using server "REMOTE"                                                                         # FederationContext::usingServer()
    And user "user1" exists                                                                             # FederationContext::assureUserExists()
    And user "user2" exists                                                                             # FederationContext::assureUserExists()
    And Using server "LOCAL"                                                                            # FederationContext::usingServer()
    And user "user0" exists                                                                             # FederationContext::assureUserExists()
    And User "user0" from server "LOCAL" shares "/textfile0.txt" with user "user1" from server "REMOTE" # FederationContext::federateSharing()
    And User "user1" from server "REMOTE" accepts last pending share                                    # FederationContext::acceptLastPendingShare()
    And Using server "REMOTE"                                                                           # FederationContext::usingServer()
    And As an "user1"                                                                                   # FederationContext::asAn()
    And user "user1" uploads chunk file "1" of "3" with "AAAAA" to "/textfile0 (2).txt"                 # FederationContext::userUploadsChunkFileOfWithToWithChecksum()
      Client error: `PUT http://localhost:8180/remote.php/webdav/textfile0%20(2).txt-chunking-42-3-0` resulted in a `404 Not Found` response:
      <?xml version="1.0" encoding="utf-8"?>
      <d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
        <s:exception>Sabre\DA (truncated...)
       (GuzzleHttp\Exception\ClientException)
    ...
{"message":"Can not find share with ID: 11"}

  Scenario: Overwrite a federated shared folder as recipient using old chunking                  # /drone/src/github.com/nextcloud/server/build/integration/federation_features/federated.feature:263
    Given Using server "REMOTE"                                                                  # FederationContext::usingServer()
    And user "user1" exists                                                                      # FederationContext::assureUserExists()
    And user "user2" exists                                                                      # FederationContext::assureUserExists()
    And Using server "LOCAL"                                                                     # FederationContext::usingServer()
    And user "user0" exists                                                                      # FederationContext::assureUserExists()
    And User "user0" from server "LOCAL" shares "/PARENT" with user "user1" from server "REMOTE" # FederationContext::federateSharing()
    And User "user1" from server "REMOTE" accepts last pending share                             # FederationContext::acceptLastPendingShare()
    And Using server "REMOTE"                                                                    # FederationContext::usingServer()
    And As an "user1"                                                                            # FederationContext::asAn()
    And user "user1" uploads chunk file "1" of "3" with "AAAAA" to "/PARENT (2)/textfile0.txt"   # FederationContext::userUploadsChunkFileOfWithToWithChecksum()
      Client error: `PUT http://localhost:8180/remote.php/webdav/PARENT%20(2)/textfile0.txt-chunking-42-3-0` resulted in a `404 Not Found` response:
      <?xml version="1.0" encoding="utf-8"?>
      <d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
        <s:exception>Sabre\DA (truncated...)
       (GuzzleHttp\Exception\ClientException)
    ...
{"message":"Can not find share with ID: 12"}

```
</details>

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-13 22:20:16 +01:00
Morris Jobke 5cdb4f97e3 Do not run fragile TrashbinTest
Fails with:

There was 1 failure:

1) TrashbinTest::testExpireOldFiles
Failed asserting that null is identical to 'file2.txt'.

/drone/src/github.com/nextcloud/server/apps/files_trashbin/tests/TrashbinTest.php:186

OR

1) TrashbinTest::testExpireOldFiles
Failed asserting that null is identical to 'file2.txt'.

/drone/src/github.com/nextcloud/server/apps/files_trashbin/tests/TrashbinTest.php:193

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-13 22:20:13 +01:00
Morris Jobke 33682c4e3b Merge pull request #14659 from nextcloud/backport/14644/stable14
[stable14] Remove sensitive SMB arguments from exception log
2019-03-13 17:15:14 +01:00
Morris Jobke 9ddff52753 Remove sensitive SMB arguments from exception log
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-13 13:01:48 +00:00
Morris Jobke c9b87701d0 Merge pull request #14598 from nextcloud/backport/14425/stable14
[stable14] Do not calculate folder size for parent that also needs proper scan, fixes #3524
2019-03-08 17:32:16 +01:00
Morris Jobke 67aab99962 Merge pull request #14592 from nextcloud/backport/14464/stable14
[stable14] resolve user and groups in nested groups first before filtering the results
2019-03-08 17:31:30 +01:00
Morris Jobke 48b707bf35 Merge pull request #14595 from nextcloud/backport/14587/stable14
[stable14] Remove Google+ from Social Sharing Bundle
2019-03-08 17:30:31 +01:00
Morris Jobke f4a6e6fadb Merge pull request #14600 from nextcloud/backport/14585/stable14
[stable14] Mention Open Cloud Mesh in Federated User Settings
2019-03-08 10:25:39 +01:00
Marius Blüm 9c8bcf9c62 Mention Open Cloud Mesh in Federated User Settings
Signed-off-by: Marius Blüm <marius@lineone.io>
2019-03-08 08:43:21 +00:00
Ari Selseng 3ff6465cdc Avoid calculating folder size for parent that needs scan.
Signed-off-by: Ari Selseng <ari@selseng.net>
2019-03-08 08:14:33 +00:00
Marius Blüm b8470f30bd Remove Google+ from Social Sharing Bundle (2)
Signed-off-by: Marius Blüm <marius@lineone.io>
2019-03-08 08:06:52 +00:00
Marius Blüm 2f179cb327 Remove "socialsharing_googleplus" from Social Sharing Bundle
Signed-off-by: Marius Blüm <marius@lineone.io>
2019-03-08 08:06:51 +00:00
Arthur Schiwon 7fa490fde4 remove unused use statement
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-03-07 22:47:40 +01:00
Arthur Schiwon 0867fa6623 add missing config bits to integration tests
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-03-07 22:47:30 +01:00
Arthur Schiwon 12e5fe00d9 with LDAP server set offline, config cannot be controlled via ocs anymore
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-03-07 22:47:14 +01:00
Arthur Schiwon a23ef68ffe fix nested group retrieval also for 2 other cases
and also consolidate logic in one method

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-03-07 22:47:06 +01:00
Roland Tapken a202fc808d Fixed unit test: groupsMatchFilter will not be called multiple times anymore.
Signed-off-by: Roland Tapken <roland@bitarbeiter.net>
2019-03-07 22:46:20 +01:00
Roland Tapken f88a09140d Reduce queries to LDAP by caching nested groups
Nested groups are now cached in a CappedMemoryCache object to reduce
queries to the LDAP backend.

Signed-off-by: Roland Tapken <roland@bitarbeiter.net>
2019-03-07 22:46:14 +01:00
Roland Tapken 177901d079 user_ldap: really resolve nested groups
The previous patch fixed the problem only for one level of indirection
because groupsMatchFilter() had been applied on each recursive call (and
thus there would be no second level if the first level fails the check).

This new implementation replaces the recursive call with a stack that
iterates all nested groups before filtering with groupsMatchFilter().

Signed-off-by: Roland Tapken <roland@bitarbeiter.net>
2019-03-07 22:46:08 +01:00
Roland Tapken 8f57824707 user_ldap: Filter groups after nexted groups
Currently groupsMatchFilter is called before nested groups are resolved.
This basicly breaks this feature since it is not possible to inherit
membership in a group from another group.

Minimal example:

  Group filter: (&(objectClass=group),(cn=nextcloud))
  Nested groups: enabled

  cn=nextcloud,ou=Nextcloud,ou=groups,dn=company,dn=local
    objectClass: group

  cn=IT,ou=groups,dn=company,dn=local
    objectClass: group
    memberOf: cn=nextcloud,ou=Nextcloud,ou=groups,dn=company,dn=local

  cn=John Doe,ou=users,dn=company,dn=local
    objectClass: person
    memberOf: cn=IT,ou=groups,dn=company,dn=local

Since 'cn=IT,ou=groups,dn=company,dn=local' doesn't match the group
filter, John wouldn't be a member of group 'nextcloud'.

This patch fixes this by filtering the groups after all nested groups
have been collected. If nested groups is disabled the result will be the
same as without this patch.

Signed-off-by: Roland Tapken <roland@bitarbeiter.net>
2019-03-07 22:45:58 +01:00
Roeland Jago Douma 8ca4bc7a9e Merge pull request #14547 from nextcloud/backport/14373/stable14
[stable14] Add test for updated CA bundle
2019-03-05 19:52:48 +01:00
Daniel Kesselberg a68c72ac6e DRONE_BRANCH is the target branch. DRONE_COMMIT_REFSPEC should work.
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-03-05 16:15:27 +00:00
Morris Jobke e79907e6f6 Add test for updated CA bundle
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-05 16:15:27 +00:00
Morris Jobke 0532077969 Merge pull request #14543 from nextcloud/backport/14451/stable14
[stable14] Check if password can be changed for the users backend in OCS api
2019-03-05 16:26:14 +01:00
Morris Jobke 45af4e6ea3 Merge pull request #14417 from nextcloud/backport/14343/stable14
[stable14] Parse multiple navigation items
2019-03-05 15:06:23 +01:00
Julius Härtl 05f3abaf6b Check if password can be changed for the users backend in OCS api
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-03-05 13:28:47 +00:00
Morris Jobke f7af3af72a Merge pull request #14533 from nextcloud/backport/14528/stable14
[stable14] Fix database configuration
2019-03-05 12:21:44 +01:00
Joas Schilling 59c62d01ec Fix whitespaces
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-03-05 10:02:13 +00:00
Joas Schilling e84498784e Fix database configuration
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-03-05 10:02:13 +00:00
Roeland Jago Douma 21dd025760 Merge pull request #14513 from nextcloud/smb-3.0.2-14
update icewind/smb to 3.0.2
2019-03-04 21:28:20 +01:00
Morris Jobke 7610e38089 Merge pull request #14504 from nextcloud/backport/stable14/14390
[stable14] Fix expire date change eventhandler
2019-03-04 17:34:59 +01:00
Robin Appelman 79abac9084 update icewind/smb to 3.0.2
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-03-04 16:38:46 +01:00
Julius Härtl f7609eedad Add handler for change event of the expire date field
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-03-04 14:59:29 +01:00
Morris Jobke 38f1d9e6f1 Merge pull request #14498 from nextcloud/backport/14494/stable14
[stable14] Make header.feature more robust by running it on apache
2019-03-04 12:37:25 +01:00
Morris Jobke edeb695d14 Merge pull request #14496 from nextcloud/backport/14440/stable14
[stable14] Run tests that fail with "no such process" over to apache server
2019-03-04 11:32:43 +01:00
Morris Jobke a3ff98c282 Make header.feature more robust by running it on apache
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-04 10:09:32 +00:00
Morris Jobke 7f010dba25 Run tests that fail with "no such process" over to apache server
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-04 09:23:20 +00:00
Morris Jobke 21fe11fc2a Merge pull request #14491 from nextcloud/backport/14489/stable14
[stable14] Add accessibility translations
2019-03-03 23:24:45 +01:00
John Molakvoæ (skjnldsv) 2d8dccbe0b Add accessibility translations
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2019-03-03 22:23:47 +00:00
Nextcloud bot affd0dcaf2 [tx-robot] updated from transifex 2019-03-01 01:12:57 +00:00
Roeland Jago Douma 84c2dfd442 Merge pull request #14415 from nextcloud/backport/13844/stable14
[stable14] Bugfix for issue 10862: Trash-bin ignores trashbin_retention_obligation
2019-02-28 09:43:31 +01:00
Nextcloud bot 1d33283332 [tx-robot] updated from transifex 2019-02-28 01:12:58 +00:00
Morris Jobke c1c7491a2e Merge pull request #14421 from nextcloud/version/noid/14.0.8
14.0.8
2019-02-27 21:33:46 +01:00
Morris Jobke 4b15f1df52 14.0.8
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-02-27 17:29:02 +01:00
Daniel Kesselberg b7570092f7 two item => two items
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-02-27 15:09:37 +00:00
Daniel Kesselberg 3e1f327ac9 Generate id for navigation item
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-02-27 15:09:36 +00:00
Daniel Kesselberg 70edd2b633 Parse multiple navigation items
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-02-27 15:09:36 +00:00
Felix Nieuwenhuizen 39cbc6e09e Fix for issue 10862: calculation of free space ignores external storage (doesn't count towards quota)
Signed-off-by: Felix Nieuwenhuizen <felix@tdlrali.com>
2019-02-27 14:56:54 +00:00
Nextcloud bot a05e578d36 [tx-robot] updated from transifex 2019-02-27 01:12:27 +00:00
Nextcloud bot 18cbf6445d [tx-robot] updated from transifex 2019-02-26 09:10:22 +00:00
Nextcloud bot 1274001632 [tx-robot] updated from transifex 2019-02-26 01:12:30 +00:00
Morris Jobke 165dc87bef Merge pull request #14375 from nextcloud/version/noid/14.0.8RC2
14.0.8 RC 2
2019-02-25 19:51:26 +01:00
Morris Jobke 1473cbfd14 14.0.8 RC 2
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-02-25 15:53:04 +01:00
Morris Jobke 7a4e7df939 Merge pull request #14372 from nextcloud/backport/14369/stable14
[stable14] Use latest ca-bundle.crt from https://curl.haxx.se/docs/caextract.html
2019-02-25 15:50:58 +01:00
Daniel Kesselberg b4f03a94bf Use latest ca-bundle.crt from https://curl.haxx.se/docs/caextract.html
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-02-25 11:29:01 +00:00
Nextcloud bot 7cb9934638 [tx-robot] updated from transifex 2019-02-25 01:12:37 +00:00
Nextcloud bot 8a48ad749e [tx-robot] updated from transifex 2019-02-24 01:14:01 +00:00
Nextcloud bot 41455c6df4 [tx-robot] updated from transifex 2019-02-23 01:13:03 +00:00
Nextcloud bot 71b5f7a640 [tx-robot] updated from transifex 2019-02-22 01:12:29 +00:00
Nextcloud bot e7d5630947 [tx-robot] updated from transifex 2019-02-21 01:12:22 +00:00
Morris Jobke 150e4f1abd Merge pull request #14305 from nextcloud/version/noid/14.0.8RC1
14.0.8 RC 1
2019-02-20 16:22:01 +01:00
Morris Jobke 5e2059968f 14.0.8 RC 1
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-02-20 12:03:24 +01:00
Nextcloud bot d4d62435e9 [tx-robot] updated from transifex 2019-02-20 01:12:14 +00:00
Roeland Jago Douma 4a449adfd0 Merge pull request #14284 from nextcloud/backport/14194/stable14
[stable14] Correctly determinate the owner in case of shared external storages
2019-02-19 11:25:30 +01:00
Joas Schilling 06769735b7 Correctly determinate the owner in case of shared external storages
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-02-19 09:29:54 +00:00
Morris Jobke 543ab23e50 Merge pull request #14278 from nextcloud/backport/14234/stable14
[stable14] Catch Request exception in testRemoteUrl
2019-02-19 09:52:14 +01:00
Roeland Jago Douma cf6cbf4870 Catch Request exception in testRemoteUrl
Else the background job fails hard if the remote has for example an
invalid certificate.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-19 07:06:27 +00:00
Nextcloud bot 53b295456d [tx-robot] updated from transifex 2019-02-19 01:12:27 +00:00
Nextcloud bot 84354c3008 [tx-robot] updated from transifex 2019-02-18 01:12:29 +00:00
Nextcloud bot a906a9c216 [tx-robot] updated from transifex 2019-02-17 01:13:48 +00:00
Nextcloud bot bcc1250173 [tx-robot] updated from transifex 2019-02-16 01:12:44 +00:00
Morris Jobke 29e9ec6224 Merge pull request #14226 from nextcloud/backport/14221/stable14
[stable14] Remove trailing spaces from localized strings
2019-02-15 14:12:09 +01:00
Morris Jobke 13e3a125f6 Remove trailing spaces from localized strings
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-02-15 12:43:49 +00:00
Nextcloud bot 2a1c76b499 [tx-robot] updated from transifex 2019-02-15 01:13:12 +00:00
Roeland Jago Douma 5b5108fe49 Merge pull request #14196 from nextcloud/backport/14185/stable14
[stable14] Fix recent files
2019-02-14 21:22:05 +01:00
Roeland Jago Douma 5330739cec Merge pull request #14086 from nextcloud/backport/14023/stable14
[stable14] Fix: Check if `$this->params['user']` is an array
2019-02-14 19:50:01 +01:00
Roeland Jago Douma 80ecaf06a6 Merge pull request #14206 from nextcloud/backport/14200/stable14
[stable14] ensure attribute names are lower cased
2019-02-14 19:43:46 +01:00
Roeland Jago Douma c801c765d7 Merge pull request #14202 from nextcloud/backport/14160/stable14
[stable14] Update CRL to contain revoked files_external_dropbox, passman & payback
2019-02-14 19:42:37 +01:00
Roeland Jago Douma 777d663163 Merge pull request #14205 from nextcloud/backport/14177/stable14
[stable14] Fix small glitches in update notification page
2019-02-14 19:41:21 +01:00
Arthur Schiwon ecd70ca011 ensure attribute names are lower cased
otherwise they will be skipped when the results is being formatted and the
lower-cased result keys do not match.

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-02-14 15:36:37 +01:00
Morris Jobke e31f44978d Fix style of warning for EoL version
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-02-14 15:28:00 +01:00
Morris Jobke 82d0a52ce6 Fix border in update notification section
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-02-14 15:20:19 +01:00
Morris Jobke 9617f714db Update CRL to contain revoked files_external_dropbox, passman & payback
* see https://github.com/nextcloud/app-certificate-requests/pull/221
* see https://github.com/nextcloud/app-certificate-requests/pull/219#issuecomment-463577509

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-02-14 13:54:26 +00:00
Roeland Jago Douma 51a9995047 Merge pull request #14188 from nextcloud/dependabot/npm_and_yarn/build/stable14/handlebars-4.1.0
[Security] Bump handlebars from 4.0.11 to 4.1.0 in /build
2019-02-14 11:47:49 +01:00
Roeland Jago Douma 3bc0990749 Filter out versions and trashbin
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-14 10:27:44 +00:00
Roeland Jago Douma d97adfe4b1 Loop for the recent search
Else it might happen that less entries than requested are returned

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-14 10:27:44 +00:00
Roeland Jago Douma 7dbcddaa2c We need to initialize the storage else the jailed path is always null
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-14 10:27:44 +00:00
dependabot[bot] 07027947ef [Security] Bump handlebars from 4.0.11 to 4.1.0 in /build
Bumps [handlebars](https://github.com/wycats/handlebars.js) from 4.0.11 to 4.1.0. **This update includes security fixes.**
- [Release notes](https://github.com/wycats/handlebars.js/releases)
- [Changelog](https://github.com/wycats/handlebars.js/blob/v4.1.0/release-notes.md)
- [Commits](https://github.com/wycats/handlebars.js/compare/v4.0.11...v4.1.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-14 04:42:33 +00:00
Nextcloud bot afa91c75e5 [tx-robot] updated from transifex 2019-02-14 01:12:47 +00:00
Nextcloud bot 13af316b8d [tx-robot] updated from transifex 2019-02-13 01:12:35 +00:00
Roeland Jago Douma 0ff8c309d3 Merge pull request #14152 from nextcloud/backport/14149/stable14
[stable14] Fix the thorrtler whitelist bitmask
2019-02-12 09:46:21 +01:00
Roeland Jago Douma cb0b6cedd1 Fix the thorrtler whitelist bitmask
Before we actually didn't check each bit of the bitmask. Now we do.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-12 07:56:11 +00:00
Nextcloud bot 7192688c98 [tx-robot] updated from transifex 2019-02-12 01:12:47 +00:00
Nextcloud bot cb67b6776c [tx-robot] updated from transifex 2019-02-11 01:12:40 +00:00
Nextcloud bot 933ff3d466 [tx-robot] updated from transifex 2019-02-10 01:13:48 +00:00
Nextcloud bot 79f02c13e8 [tx-robot] updated from transifex 2019-02-09 01:12:58 +00:00
Nextcloud bot 868b6dbcae [tx-robot] updated from transifex 2019-02-08 01:12:58 +00:00
Roeland Jago Douma 50390558ae Merge pull request #14096 from nextcloud/dependabot/npm_and_yarn/apps/updatenotification/stable14/lodash-4.17.11
[Security] Bump lodash from 4.17.10 to 4.17.11 in /apps/updatenotification
2019-02-07 22:37:39 +01:00
Roeland Jago Douma dc811dfa18 Merge pull request #14092 from nextcloud/dependabot/npm_and_yarn/apps/oauth2/stable14/lodash-4.17.11
[Security] Bump lodash from 4.17.10 to 4.17.11 in /apps/oauth2
2019-02-07 22:36:09 +01:00
Roeland Jago Douma abb43be3e4 Merge pull request #14090 from nextcloud/dependabot/npm_and_yarn/apps/accessibility/stable14/lodash-4.17.11
[Security] Bump lodash from 4.17.10 to 4.17.11 in /apps/accessibility
2019-02-07 21:51:21 +01:00
Roeland Jago Douma df9d3c2bbc Merge pull request #14091 from nextcloud/dependabot/npm_and_yarn/build/stable14/lodash-4.17.11
[Security] Bump lodash from 4.17.10 to 4.17.11 in /build
2019-02-07 21:25:40 +01:00
dependabot[bot] 74f9fefbd5 [Security] Bump lodash in /apps/updatenotification
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.10 to 4.17.11. **This update includes security fixes.**
- [Release notes](https://github.com/lodash/lodash/releases)
- [Changelog](https://github.com/lodash/lodash/blob/master/CHANGELOG)
- [Commits](https://github.com/lodash/lodash/compare/4.17.10...4.17.11)

Signed-off-by: dependabot[bot] <support@dependabot.com>
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-07 21:15:33 +01:00
dependabot[bot] 697dcee5cd [Security] Bump lodash from 4.17.10 to 4.17.11 in /apps/oauth2
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.10 to 4.17.11. **This update includes security fixes.**
- [Release notes](https://github.com/lodash/lodash/releases)
- [Changelog](https://github.com/lodash/lodash/blob/master/CHANGELOG)
- [Commits](https://github.com/lodash/lodash/compare/4.17.10...4.17.11)

Signed-off-by: dependabot[bot] <support@dependabot.com>
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-07 21:10:54 +01:00
Roeland Jago Douma 81b035e99a Rebuild
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-07 21:08:28 +01:00
Roeland Jago Douma d268a0a965 Merge pull request #14089 from nextcloud/dependabot/npm_and_yarn/build/stable14/extend-3.0.2
[Security] Bump extend from 3.0.1 to 3.0.2 in /build
2019-02-07 21:05:20 +01:00
dependabot[bot] e174179d56 [Security] Bump lodash from 4.17.10 to 4.17.11 in /build
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.10 to 4.17.11. **This update includes security fixes.**
- [Release notes](https://github.com/lodash/lodash/releases)
- [Changelog](https://github.com/lodash/lodash/blob/master/CHANGELOG)
- [Commits](https://github.com/lodash/lodash/compare/4.17.10...4.17.11)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-07 19:06:39 +00:00
dependabot[bot] eccf1c72d7 [Security] Bump lodash from 4.17.10 to 4.17.11 in /apps/accessibility
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.10 to 4.17.11. **This update includes security fixes.**
- [Release notes](https://github.com/lodash/lodash/releases)
- [Changelog](https://github.com/lodash/lodash/blob/master/CHANGELOG)
- [Commits](https://github.com/lodash/lodash/compare/4.17.10...4.17.11)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-07 19:06:01 +00:00
dependabot[bot] 234f7d513b [Security] Bump extend from 3.0.1 to 3.0.2 in /build
Bumps [extend](https://github.com/justmoon/node-extend) from 3.0.1 to 3.0.2. **This update includes security fixes.**
- [Release notes](https://github.com/justmoon/node-extend/releases)
- [Changelog](https://github.com/justmoon/node-extend/blob/master/CHANGELOG.md)
- [Commits](https://github.com/justmoon/node-extend/compare/v3.0.1...v3.0.2)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-07 18:27:58 +00:00
Morris Jobke 028038e5a3 Merge pull request #14069 from nextcloud/smb-3.0.1-14
[14] update icewind/smb to 3.0.1
2019-02-07 16:36:55 +01:00
William Pain 130c094df0 Fix: Check if $this->params['user'] is an array
Signed-off-by: William Pain <pain.william@gmail.com>
2019-02-07 13:33:21 +00:00
Morris Jobke 34226642c4 Merge pull request #14062 from nextcloud/version/noid/14.0.7
14.0.7
2019-02-06 23:54:18 +01:00
Nextcloud bot 707b1c7909 [tx-robot] updated from transifex 2019-02-06 22:18:42 +00:00
Robin Appelman c6a52efb29 update icewind/smb to 3.0.1
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-02-06 18:12:41 +01:00
Morris Jobke 3e56ae8f44 14.0.7
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-02-06 15:07:32 +01:00
Nextcloud bot ffaff1b2ab [tx-robot] updated from transifex 2019-02-06 11:27:51 +00:00
Morris Jobke 83dd6ea9cf Merge pull request #13913 from nextcloud/version/noid/14.0.7RC1
14.0.7 RC 1
2019-01-31 10:42:26 +01:00
Morris Jobke 537a703b45 14.0.7 RC 1
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-01-31 09:13:13 +01:00
Roeland Jago Douma 1fd8e68fa0 Merge pull request #13931 from nextcloud/backport/12636/stable14
[stable14] handle mail send error gracefully
2019-01-31 09:10:26 +01:00
Roeland Jago Douma 1572b2661e Merge pull request #13922 from nextcloud/backport/13644/stable14
[stable14] ignore non existing users when retrieving details of group members
2019-01-30 22:53:35 +01:00
Christoph Wurst a7c897b445 Fix typos and unused return values
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-01-30 19:11:16 +00:00
Bjoern Schiessle 41de36b5d8 fix typo
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2019-01-30 19:11:15 +00:00
Bjoern Schiessle 849ad5a8bb log full exception
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2019-01-30 19:11:13 +00:00
Bjoern Schiessle 2dcab24f8c handle mail send error gracefully
log the error in case a notification mail of a new share couldn't
be send to the recipient and finish the share operation successfully

Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2019-01-30 19:11:12 +00:00
Arthur Schiwon 37e7f3dae6 ignore non existing users when retrieving details of group members
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-01-30 20:06:35 +01:00
Roeland Jago Douma 3512f27bbe Merge pull request #13928 from nextcloud/backport/13786/stable14
[stable14] Remove .css fileending from accessibility user css route
2019-01-30 20:04:34 +01:00
Julius Härtl 87fb1f411e Remove .css fileending from accessibility user css route
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-01-30 16:50:16 +01:00
Morris Jobke bb262f5c03 Merge pull request #13923 from nextcloud/backport/13865/stable14
[stable14] fix paged search with multiple bases (LDAP)
2019-01-30 15:57:44 +01:00
Morris Jobke 257f9c4a4b Merge pull request #13921 from nextcloud/backport/13412/stable14
[stable14] forward error message from password policy
2019-01-30 15:24:31 +01:00
Morris Jobke ecce44c050 Merge pull request #13916 from nextcloud/backport/13869/stable14
[stable14] Clean pending 2FA authentication on password reset
2019-01-30 15:06:44 +01:00
Christoph Wurst 3add3f997e Merge pull request #13888 from nextcloud/backport/13883/stable14
[stable14] Fix dropping a folder on a folder row
2019-01-30 13:52:04 +01:00
Arthur Schiwon d77220bc7e iterate over bases instead of doing parallel search
parallel search is not compatible with paged search, but the letter is
usually always applied.

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-01-30 12:12:24 +01:00
Arthur Schiwon 0306473a59 integration test: pages search scenario with multiple bases
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-01-30 12:12:14 +01:00
Arthur Schiwon 1ee53d6796 typo
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-01-30 12:11:07 +01:00
Robin Appelman 917ca1caf2 forward error message from password policy
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-01-30 10:57:41 +00:00
Roeland Jago Douma 931056e711 Clean pending 2FA authentication on password reset
When a password is reste we should make sure that all users are properly
logged in. Pending states should be cleared. For example a session where
the 2FA code is not entered yet should be cleared.

The token is now removed so the session will be killed the next time
this is checked (within 5 minutes).

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-01-30 10:43:15 +01:00
Roeland Jago Douma bce6e7fc2b Merge pull request #13901 from nextcloud/stable14-13897-fix-updating-the-password-of-a-link-share-when-passwords-are-enforced
[stable14] Fix updating the password of a link share when passwords are enforced
2019-01-30 09:53:16 +01:00
Daniel Calviño Sánchez a94fa97350 Fix template format
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-01-30 00:16:50 +01:00
Daniel Calviño Sánchez 355edcee74 Fix updating the password of a link share when passwords are enforced
The password input was shown in the popup menu when passwords were not
enforced, or when they were enforced but no password was set, which
prevented updating/changing the password once set. As the popover menu
is shown only when the share is a link share, and the password input
should be shown too when password are enforced and a password is set no
condition is needed, so now the password input is always shown.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-01-30 00:14:10 +01:00
Daniel Calviño Sánchez ab684934ea Remove unused parameter
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-01-30 00:08:09 +01:00
Daniel Calviño Sánchez 6fb6f3872e Fix dropping a folder on a folder row
When the uploaded files have a relative path (that is, when a folder is
uploaded) it is first ensured that all the parent folders exist, which
is done by trying to create them. When a folder is created in the
currently opened folder the file list is updated and a row for the new
folder is added. However, this was done too when the folder already
existed, which caused the previous row to be removed and a new one added
to replace it.

For security reasons, some special headers need to be set in requests;
this is done automatically for jQuery by handling the "ajaxSend" event
in the document. In the case of DAV requests, if the headers are not set
the server rejects the request with "CSRF check not passed".

When a file or folder is dropped on a folder row the jQuery upload
events are chained from the initial drop event, which has the row as its
target. In order to upload the file jQuery performs a request, which
triggers the "ajaxSend" event in the row; this event then bubbles up to
the document, which is then handled by adding the special headers to the
request.

However, when a folder was dropped on a folder row that folder row was
removed when ensuring that the folder exists. The jQuery upload events
were still triggered on the row, but as it had been removed it had no
parent nodes, and thus the events did not bubble up. Due to this the
"ajaxSend" event never reached the document when triggered on the
removed row, the headers were not set, and the upload failed.

All this is simply fixed by not removing the folder row when trying to
create it if it existed already.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-01-29 14:47:46 +00:00
Morris Jobke c66f93ad58 Merge pull request #13708 from nextcloud/stb14-vcard-avatar-fixes
[stable14] vcard avatar fixes
2019-01-28 17:36:12 +01:00
Roeland Jago Douma d8b5dfe5a8 Merge pull request #13822 from nextcloud/dependabot/npm_and_yarn/build/stable14/bower-1.8.8
[Security] Bump bower from 1.8.4 to 1.8.8 in /build
2019-01-28 13:41:57 +01:00
Nextcloud bot c0c5921719 [tx-robot] updated from transifex 2019-01-26 01:12:36 +00:00
dependabot[bot] fb7d0c8435 [Security] Bump bower from 1.8.4 to 1.8.8 in /build
Bumps [bower](https://github.com/bower/bower) from 1.8.4 to 1.8.8. **This update includes security fixes.**
- [Release notes](https://github.com/bower/bower/releases)
- [Changelog](https://github.com/bower/bower/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bower/bower/compare/v1.8.4...v1.8.8)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-25 11:43:40 +00:00
Nextcloud bot 32cc6dd7e5 [tx-robot] updated from transifex 2019-01-25 01:12:38 +00:00
Roeland Jago Douma c7fd71ee7d Merge pull request #13767 from nextcloud/backport/13747/stable14
[stable14] Honor remember_login_cookie_lifetime
2019-01-24 18:32:43 +01:00
Morris Jobke 081f96b420 Merge pull request #13788 from nextcloud/stable14-13217-add-acceptance-tests-for-moving-and-copying-files
[stable14] Add acceptance tests for moving and copying files
2019-01-24 14:52:32 +01:00
Daniel Calviño Sánchez 45178d935c Add acceptance tests for moving and copying selections to another folder
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-01-24 11:15:51 +01:00
Daniel Calviño Sánchez 1c764b22b5 Add acceptance tests for moving and copying files to another folder
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-01-24 11:15:51 +01:00
Morris Jobke b0c1846794 Merge pull request #13782 from nextcloud/backport/13772/stable14
[stable14] Show proper default locale
2019-01-24 11:02:35 +01:00
Morris Jobke de2c5350a9 Show proper default locale
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-01-24 07:33:03 +00:00
Nextcloud bot 78fadcb9b7 [tx-robot] updated from transifex 2019-01-24 01:12:25 +00:00
Roeland Jago Douma 38f01c1361 Honor remember_login_cookie_lifetime
If the remember_login_cookie_lifetime is set to 0 this means we do not
want to use remember me at all. In that case we should also not creatae
a remember me cookie and should create a proper temp token.

Further this specifies that is not 0 the remember me time should always
be larger than the session timeout. Because else the behavior is not
really defined.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-01-23 17:09:09 +01:00
Morris Jobke e5af104517 Merge pull request #13741 from nextcloud/backport/13140/stable14
[stable14] Cache tokens when using swift's v2 authentication
2019-01-23 15:30:12 +01:00
Morris Jobke 238655538e Merge pull request #13763 from nextcloud/backport/13730/stable14
[stable14] Respect user locale in natural sort comparator
2019-01-23 13:33:45 +01:00
Christoph Wurst aafc32ecca Respect user locale in natural sort comparator
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-01-23 11:20:56 +00:00
Morris Jobke 5c6a1f70cb Merge pull request #13745 from nextcloud/backport/13739/stable14
[stable14] cleanup shared lock if changing to exclusive lock failed
2019-01-23 08:18:37 +01:00
Nextcloud bot 9455303874 [tx-robot] updated from transifex 2019-01-23 01:12:27 +00:00
Robin Appelman 0625d2957c cleanup shared lock if changing to exclusive lock failed
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-01-22 15:13:40 +00:00
Roeland Jago Douma 4da5589fe2 Bump autoloader
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-01-22 14:37:14 +00:00
Robin Appelman a5c5a77322 Cache tokens when using swift's v2 authentication
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-01-22 14:37:13 +00:00
Roeland Jago Douma 417997220f Merge pull request #13671 from nextcloud/backport/13660/stable14
[stable14] Fix template paramter
2019-01-22 11:08:17 +01:00
Roeland Jago Douma 16cca10b11 Fix template paramter
Else we get shown an error page instead of the correct 403.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-01-22 10:12:04 +01:00
Nextcloud bot 6bc8e1b5df [tx-robot] updated from transifex 2019-01-22 01:12:46 +00:00
Morris Jobke 16283258ea Update apps/dav/lib/CardDAV/PhotoCache.php
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>

Co-Authored-By: skjnldsv <skjnldsv@users.noreply.github.com>
2019-01-21 10:11:40 +01:00
John Molakvoæ (skjnldsv) 65e667adf2 Log failure on parsing
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2019-01-21 10:11:32 +01:00
John Molakvoæ (skjnldsv) d4652bbe8f Allow URI as data for vcard PHOTO
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2019-01-21 10:05:28 +01:00
Nextcloud bot a5e77bc130 [tx-robot] updated from transifex 2019-01-21 01:12:11 +00:00
Nextcloud bot 4384c633ef [tx-robot] updated from transifex 2019-01-20 01:12:50 +00:00
Nextcloud bot 22ebd26324 [tx-robot] updated from transifex 2019-01-19 01:12:40 +00:00
Morris Jobke 1dcda19614 Merge pull request #13666 from nextcloud/backport/13664/stable14
[stable14] Use warning background color & primary text color for setting warnings
2019-01-18 17:11:58 +01:00
Morris Jobke 9b4c4b4448 Use warning background color & primary text color for setting warnings
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-01-18 12:59:35 +00:00
Joas Schilling 04bad1b3bf Merge pull request #13654 from nextcloud/backport/13650/stable14
[stable14] Fix colorizeSvg with transformations that contain a comma (,)
2019-01-18 09:06:12 +01:00
Nextcloud bot 51dfe8bdd6 [tx-robot] updated from transifex 2019-01-18 01:14:52 +00:00
John Molakvoæ 4b025649c0 [stable15] Fix colorizeSvg with transformations that contain a comma (,)
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2019-01-17 16:02:21 +01:00
Morris Jobke 64de706bda Merge pull request #13637 from nextcloud/backport/13634/stable14
[stable14] update URL for federation
2019-01-17 09:34:58 +01:00
Nextcloud bot 27aa1cf944 [tx-robot] updated from transifex 2019-01-17 01:12:39 +00:00
Jos Poortvliet 4a17daa71b update URL for federation 2019-01-16 21:43:39 +00:00
Morris Jobke 06302d89df Merge pull request #13599 from nextcloud/3rdpart/stable14/pear/archive_tar-1.4.5
[stable14] [3rdparty] Update pear/acrchive_tar to 1.4.5
2019-01-16 16:22:15 +01:00
Nextcloud bot 5f961a494f [tx-robot] updated from transifex 2019-01-16 01:12:56 +00:00
Roeland Jago Douma 51f2ad1788 [3rdparty] Update pear/acrchive_tar to 1.4.5
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-01-15 14:23:33 +01:00
Nextcloud bot 054848a387 [tx-robot] updated from transifex 2019-01-15 01:12:35 +00:00
Morris Jobke f8e0203354 Merge pull request #13583 from nextcloud/backport/13573/stable14
[stable14] Principals can be principal/user/<name> or principal/<name> from lega…
2019-01-14 15:22:53 +01:00
Joas Schilling f083f211f6 Principals can be principal/user/<name> or principal/<name> from legacy installs
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-01-14 13:20:37 +00:00
Morris Jobke 64b3ac63af Merge pull request #13385 from nextcloud/3rdparty/broker-add-timezone-cancel-message-stable14
[stable14][3rdparty] Broker: add timezone to CANCEL messages
2019-01-14 11:47:50 +01:00
Roeland Jago Douma 50ed420440 Merge pull request #13035 from nextcloud/objectstore-write-exists-14
[14] upload new files in objectstore to a .part path first
2019-01-14 11:29:52 +01:00
Nextcloud bot 671e375313 [tx-robot] updated from transifex 2019-01-14 01:12:20 +00:00
Roeland Jago Douma dfad1cae2f Merge pull request #13558 from nextcloud/backport/13354/stable14
[stable14] check anonymous OPTIONS requests file in root (not in subdir)
2019-01-13 19:34:53 +01:00
Bastien Durel 7b4d4dcca8 check anonymous OPTIONS requests file in root (not in subdir)
Signed-off-by: Bastien Durel <bastien@durel.org>
2019-01-13 13:05:59 +00:00
Nextcloud bot 39b0d4700f [tx-robot] updated from transifex 2019-01-13 01:13:14 +00:00
Nextcloud bot fcedd6bc58 [tx-robot] updated from transifex 2019-01-12 01:12:17 +00:00
Morris Jobke 58d94d16a6 Merge pull request #13516 from nextcloud/version/noid/14.0.6
14.0.6
2019-01-11 16:17:39 +01:00
Morris Jobke 654af43402 14.0.6
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-01-11 14:28:22 +01:00
Roeland Jago Douma 6f0d248be9 Merge pull request #13507 from nextcloud/backport/13503/stable14
[stable14] RemoveClassifiedEventActivity: check if calendar still exists
2019-01-11 12:56:30 +01:00
Roeland Jago Douma 404099c678 Check for no longer existing calendars
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-01-11 10:32:20 +00:00
Nextcloud bot 0b3d91c0b8 [tx-robot] updated from transifex 2019-01-11 01:12:50 +00:00
Daniel Kesselberg a0d1aba9cd [3rdparty] Broker: add timezone to CANCEL messages
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-01-10 20:10:16 +01:00
Roeland Jago Douma da98b29850 Merge pull request #13480 from nextcloud/backport/13473/stable14
[stable14] Don't log parameters on user creation in case of error/exception
2019-01-10 19:57:22 +01:00
Morris Jobke 32805f3d1a Merge pull request #13476 from nextcloud/version/noid/14.0.5
14.0.5
2019-01-10 15:29:53 +01:00
Joas Schilling 9acd376d58 Fix doc block
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-01-10 11:37:41 +00:00
Joas Schilling 96dab990e7 Don't log parameters on user creation in case of error/exception
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-01-10 11:37:41 +00:00
Morris Jobke 70ae5773df 14.0.5
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-01-10 11:21:03 +01:00
Morris Jobke 529e535d81 Merge pull request #13470 from nextcloud/backport/13467/stable14
[stable14] Show the repair steps and repair info output in the web for better feedback
2019-01-10 10:46:02 +01:00
Morris Jobke a26969617e Show the repair steps and repair info output in the web for better feedback
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-01-10 07:37:41 +00:00
Nextcloud bot a08d477905 [tx-robot] updated from transifex 2019-01-10 01:12:26 +00:00
Roeland Jago Douma ea353f3e12 Merge pull request #13453 from nextcloud/version/noid/14.0.5RC2
14.0.5 RC 2
2019-01-09 21:16:41 +01:00
Morris Jobke 1111afbc35 14.0.5 RC 2
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-01-09 20:23:02 +01:00
Roeland Jago Douma d52666da09 Merge pull request #13441 from nextcloud/backport/13430-14
[stable14] Respect classification of calendar events in activity stream
2019-01-09 20:21:41 +01:00
Morris Jobke 4696a32e08 Merge pull request #13445 from nextcloud/backport/12969/stable14
[stable14] add support for boolean default
2019-01-09 17:58:48 +01:00
Joas Schilling 32a2125281 Prevent php info about missing index for old events
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-01-09 14:51:34 +01:00
Maxence Lange 9940058a60 add support for boolean default
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
code cleaning

Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
code cleaning

Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2019-01-09 13:02:06 +00:00
Joas Schilling cdffeb7e4b Add a repair step to remove sensitive event activity
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-01-09 13:19:12 +01:00
Joas Schilling 10dec5ff98 Correctly handle the classification of events in the activity stream
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-01-09 13:17:37 +01:00
Nextcloud bot 32adb9c66f [tx-robot] updated from transifex 2019-01-09 01:13:00 +00:00
Morris Jobke 596d69d23d Merge pull request #13426 from nextcloud/backport/13418/stable14
[stable14] HttpClient getHeader can return empty string
2019-01-08 17:02:02 +01:00
Roeland Jago Douma df25c44a2d HttpClient getHeader can return empty string
Fixes #11999

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-01-08 15:26:32 +00:00
Nextcloud bot 67c8ca25a2 [tx-robot] updated from transifex 2019-01-08 01:12:22 +00:00
Nextcloud bot 50685cc404 [tx-robot] updated from transifex 2019-01-07 01:12:19 +00:00
Nextcloud bot 7f81025f10 [tx-robot] updated from transifex 2019-01-06 01:13:25 +00:00
Roeland Jago Douma 2d72e798eb Merge pull request #13347 from nextcloud/version/noid/14.0.5RC1
14.0.5 RC 1
2019-01-05 21:38:33 +01:00
Nextcloud bot 3d5ecac012 [tx-robot] updated from transifex 2019-01-05 01:12:17 +00:00
Morris Jobke 41ee4d4807 14.0.5 RC 1
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-01-05 00:13:11 +01:00
Morris Jobke c39ad3d37b Merge pull request #13373 from nextcloud/backport/13138/stable14
[stable14] register and show when an LDAP user was detected as unavailable/deleted
2019-01-05 00:12:36 +01:00
Morris Jobke 11994b66c9 Merge pull request #13371 from nextcloud/backport/13363/stable14
[stable14] Fix loginflow with apptoken enter on iOS
2019-01-04 23:57:53 +01:00
Morris Jobke 7a0772e602 Merge pull request #13369 from nextcloud/backport/13367/stable14
[stable14] Throttle with correct metadata
2019-01-04 23:24:28 +01:00
Arthur Schiwon 9bef634cc9 ensure db is pristine before starting the tests
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-01-04 21:49:16 +00:00
Arthur Schiwon ac2577fd66 LDAP: extend remnants output with "detected on" field
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-01-04 21:49:16 +00:00
Arthur Schiwon 4884c294b5 add tests for the DUI
as they are interact with the DB they are more integraiton than unit tests

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-01-04 21:49:15 +00:00
Roeland Jago Douma 5cf1a3d4dc Fix loginflow with apptoken enter on iOS
It seems iOS doesn't like us to change the location. So now we submit it
to the server that geneartes the redirect.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-01-04 21:43:36 +00:00
Roeland Jago Douma 17b7a4805a Throttle with correct metadata
Fixes #13202

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-01-04 21:22:19 +00:00
Roeland Jago Douma 15851c6d2f Merge pull request #13350 from nextcloud/backport/13172/stable14
[stable14] fix can change password check in case of encryption is enabled
2019-01-04 14:10:16 +01:00
Morris Jobke 848029fc47 Merge pull request #13353 from nextcloud/backport/13351/stable14
[stable14] Update the CRL
2019-01-04 10:44:42 +01:00
Roeland Jago Douma a52310af3b Update the CRL
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-01-04 09:40:33 +00:00
Bjoern Schiessle 5153c1b519 fix can change password check in case of encryption is enabled
Admin should _not_ be able to change password when:
- if an encryption module is loaded and it uses per-user keys
- if encryption is enabled but no encryption modules are loaded

Admin should be able to change the password when:
- no encryption module is loaded and encryption is disabled
- encryption module is loaded but it doesn't require per user keys

Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2019-01-04 08:54:46 +00:00
Nextcloud bot 4cd730c5bd [tx-robot] updated from transifex 2019-01-04 01:12:48 +00:00
John Molakvoæ 9afb2ce843 Merge pull request #13224 from nextcloud/stb14-svg-controller-fixes
[stable14] Use only app path to get the icon on the svg api
2019-01-03 17:53:53 +01:00
Roeland Jago Douma 4db95a8b5f Merge pull request #13254 from nextcloud/backport/13227/stable14
[stable14] Fix opening search results for comments
2019-01-03 11:37:14 +01:00
Morris Jobke 25fe43fa1a Merge pull request #13321 from nextcloud/bugfix/noid/backport-of-issues-fixed-in-12105
[stable14] Force var to be integer
2019-01-03 10:41:51 +01:00
Roeland Jago Douma 3698a44f17 Merge pull request #13322 from nextcloud/backport/13163/stable14
[stable14] Make the footer "Get your own free account" translatable
2019-01-03 07:39:57 +01:00
Nextcloud bot 6e78ac0888 [tx-robot] updated from transifex 2019-01-03 01:12:07 +00:00
Michael Weimann 5fae1b9cda Make the footer "Get your own free account" translatable
Signed-off-by: Michael Weimann <mail@michael-weimann.eu>
2019-01-02 11:57:03 +00:00
Maxence Lange bdf5c93c30 force var to be integer
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2019-01-02 09:49:03 -01:00
Nextcloud bot 0c746c0826 [tx-robot] updated from transifex 2019-01-02 01:11:48 +00:00
Nextcloud bot 591b4ec18a [tx-robot] updated from transifex 2019-01-01 01:11:54 +00:00
Nextcloud bot 0c9fb32585 [tx-robot] updated from transifex 2018-12-31 01:12:01 +00:00
Nextcloud bot d3eb44469e [tx-robot] updated from transifex 2018-12-30 01:13:01 +00:00
Nextcloud bot 58b744acf0 [tx-robot] updated from transifex 2018-12-29 01:12:01 +00:00
Nextcloud bot 61000a7c1d [tx-robot] updated from transifex 2018-12-28 01:12:07 +00:00
Nextcloud bot ed43996cc1 [tx-robot] updated from transifex 2018-12-27 01:12:01 +00:00
Nextcloud bot e8fc1decf4 [tx-robot] updated from transifex 2018-12-26 01:12:16 +00:00
Nextcloud bot 99bd29414f [tx-robot] updated from transifex 2018-12-25 01:11:54 +00:00
Daniel Calviño Sánchez e2465c6793 Fix opening search results for comments
"OC.dirname" removes everything after the last "/", so a path without
slashes is returned without changes. "result.path" does not include
leading nor trailing "/", so when the path is for a file or folder in
the base folder "OC.dirname(result.path)" returns "result.path".

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-12-24 13:22:06 +00:00
Daniel Calviño Sánchez 0f3a0420f7 Add acceptance tests for opening search results for comments
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-12-24 13:22:06 +00:00
Daniel Calviño Sánchez aeb2760d7e Add acceptance tests for searching comments
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-12-24 13:22:06 +00:00
Nextcloud bot c099e7cbe9 [tx-robot] updated from transifex 2018-12-24 01:12:08 +00:00
Nextcloud bot 398429c6b0 [tx-robot] updated from transifex 2018-12-23 01:12:46 +00:00
Roeland Jago Douma ce2c08da6a Merge pull request #12617 from nextcloud/backport/10839/stable14
[stable14] adjust Calendar resource / room interfaces to use class implementation
2018-12-22 12:15:05 +01:00
Roeland Jago Douma 0bbb1fa6ba Merge pull request #13216 from nextcloud/backport/13212/stable14
[stable14] Files list not rendering if user has favorites navigation unfolded
2018-12-22 10:35:08 +01:00
Nextcloud bot 54ee69929a [tx-robot] updated from transifex 2018-12-22 01:12:06 +00:00
John Molakvoæ (skjnldsv) 8a8ef211c8 Use only app path to get the icon on the svg api
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-12-21 17:37:29 +01:00
blizzz b9628e74fc Merge pull request #13219 from nextcloud/backport/13187/stable14
[stable14] do not forgot to store the second displayname portion
2018-12-21 16:58:17 +01:00
Arthur Schiwon f82c5b5074 do not forgot to store the second displayname portion
otherwise it causes a chain reaction of system addressbook updates

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2018-12-21 13:44:09 +00:00
Roeland Jago Douma a599dc11f9 Merge pull request #13207 from nextcloud/backport/13154/stable14
[stable14] Fix ie11 checkboxes
2018-12-21 14:22:56 +01:00
Julius Härtl faf7a1906f Replace ChildNode.before with custom before helper
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-12-21 13:21:52 +00:00
John Molakvoæ (skjnldsv) 4550da7016 Fix ie11 checkboxes
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-12-21 09:19:10 +00:00
Nextcloud bot 01fa79d8d6 [tx-robot] updated from transifex 2018-12-21 01:12:05 +00:00
Roeland Jago Douma 1fc24cbcf3 Merge pull request #13180 from nextcloud/backport/13171/stable14
[stable14] Use a case insensitive search for email
2018-12-20 20:38:02 +01:00
Roeland Jago Douma 73f19a7a4c Use a case insensitive search for email
Fixes #7084
Now entering wrongly cased email (roeland@ instead of Roeland@) for
password reset etc. Will also work.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-12-20 15:19:28 +00:00
Nextcloud bot e3d3472ff5 [tx-robot] updated from transifex 2018-12-20 01:12:03 +00:00
John Molakvoæ fa08e9639c Merge pull request #13152 from nextcloud/backport/13133/stable14
[stable14] Prevent special characters from breaking the file drop remote url
2018-12-19 11:22:01 +01:00
John Molakvoæ (skjnldsv) b1c1ac1459 Prevent special characters from breaking the file drop remote url
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-12-19 08:55:09 +00:00
Nextcloud bot 0a59b4ec6b [tx-robot] updated from transifex 2018-12-19 01:12:05 +00:00
Roeland Jago Douma 5d4d48de99 Merge pull request #13124 from nextcloud/backport/13118/stable14
[stable14] Fix SAML Client login flow on Apple devices
2018-12-18 16:20:01 +01:00
Julius Härtl b84f37c467 Merge pull request #13120 from nextcloud/backport/12693/stable14
[stable14] fix exception on LDAP mapping during login
2018-12-18 10:48:53 +01:00
Nextcloud bot fe710e0431 [tx-robot] updated from transifex 2018-12-18 01:11:52 +00:00
Roeland Jago Douma 359e4d8c0c Fix SAML Client login flow on Apple devices
Because the redirect from the SAML/SSO endpoint is a POST the lax/strict
cookies are not properly send.

Note that it is not strictly requried on this endpoint as we do not need
the remember me data. Only the real session info is enough. The endpoint
is also already protected by a state token.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-12-17 13:19:23 +00:00
Roeland Jago Douma 107e983da0 Merge pull request #13077 from nextcloud/stb14-ie11-compatibility-updatenotifications
[stable14] Ie11 compatibility updatenotifications
2018-12-17 13:26:18 +01:00
Arthur Schiwon 4d6cfe12dd LDAP clear cache on config modification also when done via API or CLI
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2018-12-17 13:19:28 +01:00
Arthur Schiwon 3683b3e32d run LDAP integrations tests with redis which is the recommended setup
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2018-12-17 13:19:16 +01:00
Arthur Schiwon a76695962b be careful with mixed return values even if it may look unsuspicious…
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2018-12-17 13:11:25 +01:00
Arthur Schiwon aff41210ad cache users as existing after mapping
during login they might be cached as non-existing and cause an Exception
in the long run

reduces some duplication, too

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2018-12-17 13:10:56 +01:00
Nextcloud bot f336720697 [tx-robot] updated from transifex 2018-12-17 01:11:50 +00:00
Nextcloud bot a7e515e8aa [tx-robot] updated from transifex 2018-12-16 01:12:51 +00:00
Nextcloud bot a1c9949911 [tx-robot] updated from transifex 2018-12-15 01:11:56 +00:00
John Molakvoæ (skjnldsv) 15dc9d8d15 Transpile arrow function for ie11 compatibility
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-12-14 16:49:00 +01:00
Nextcloud bot 715f4c2853 [tx-robot] updated from transifex 2018-12-14 01:12:50 +00:00
Nextcloud bot 9a8c2a94de [tx-robot] updated from transifex 2018-12-13 01:12:16 +00:00
Roeland Jago Douma f73de0a707 Merge pull request #13037 from nextcloud/settings-ie11-fixes
[stable14] Settings ie11 fixes
2018-12-12 17:56:35 +01:00
John Molakvoæ (skjnldsv) e63f2af8b2 Merge branch 'stable14' of https://github.com/nextcloud/server into settings-ie11-fixes 2018-12-12 16:45:51 +01:00
John Molakvoæ (skjnldsv) 35636c0b12 IE11 compatibility for users management
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-12-12 16:23:33 +01:00
Roeland Jago Douma 729f6f7e6d Merge pull request #13030 from nextcloud/backport/13009/stable14
[stable14] Better activities for systemtags that are removed by CLI
2018-12-12 15:52:37 +01:00
Robin Appelman 2c1ab34aca upload new files in objectstore to a .part path first
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-12-12 15:48:29 +01:00
Robin Appelman 601f35c337 Add objectExists to objectstore interface
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-12-12 15:42:06 +01:00
Joas Schilling 824ff7688f Better activities for systemtags that are removed by CLI
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-12-12 12:38:48 +00:00
Nextcloud bot cfb1338705 [tx-robot] updated from transifex 2018-12-12 01:11:55 +00:00
Nextcloud bot 90f967ba32 [tx-robot] updated from transifex 2018-12-11 01:12:05 +00:00
Christoph Wurst 26a5b6d5c6 Merge pull request #12749 from nextcloud/backport/12424/stable14
[stable14] Add pipe mode for sendmail
2018-12-10 09:46:12 +01:00
Nextcloud bot 9ec09d7ce2 [tx-robot] updated from transifex 2018-12-10 01:11:56 +00:00
Nextcloud bot 4e91c9b079 [tx-robot] updated from transifex 2018-12-09 01:12:45 +00:00
Carsten Wiedmann 571e3c155c Apply patch from @cwiedmann but drop -oi option for pipe
* Add sendmailmode to gui
* Add testcases for pipe mode

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2018-12-08 17:18:04 +01:00
John Molakvoæ cabded04e1 Merge pull request #12739 from nextcloud/stable14-12408
[stable14] Make sure to always load the latest icons-vars.css file
2018-12-08 11:13:17 +01:00
Nextcloud bot bb83753d93 [tx-robot] updated from transifex 2018-12-08 01:11:42 +00:00
Julius Härtl 72ab9edb8d Make sure to always load the latest icons-vars.css file
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-12-07 23:30:28 +01:00
Morris Jobke 76a46191c8 Merge pull request #12914 from nextcloud/backport/12897/stable14
[stable14] Fix unread comment icon not shown for the sharee
2018-12-07 16:12:44 +01:00
Roeland Jago Douma 4ed291ce23 If the parent is not cached we should request the file
Else we ignore all incomming shares. Which basically does 💥

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-12-07 14:08:50 +00:00
Daniel Calviño Sánchez edab262b0e Add acceptance tests for comments on shared files and folders
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-12-07 14:08:50 +00:00
Nextcloud bot 95eecb4f33 [tx-robot] updated from transifex 2018-12-07 01:12:00 +00:00
Roeland Jago Douma aed094418a Merge pull request #12860 from nextcloud/fix/stable14-fix-password-confirmation-ie11
[stable14] Fix password confirmation lib for ie11
2018-12-06 09:02:43 +01:00
Roeland Jago Douma 2d6cfdce58 Merge pull request #12869 from nextcloud/backport/12857/stable14
[stable14] Emit write update only once on touch
2018-12-06 08:30:31 +01:00
Nextcloud bot e772457d6b [tx-robot] updated from transifex 2018-12-06 01:12:21 +00:00
Morris Jobke 50b2115f4e Merge pull request #12862 from nextcloud/backport/12855/stable14
[stable14] Only execute query in propagateChange once
2018-12-06 00:05:49 +01:00
Roeland Jago Douma bdd974db3f Emit write update only once on touch
When a touch is done (i.e. when creating a new file in the node API)
The hooks contain 'write' and 'touch' (and the operation is touch as
well). This would cause a double write update. Which doesn't make sense.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-12-05 21:56:01 +00:00
Roeland Jago Douma ab31b26b0c Only execute query in propagateChange once
The second execute statement should be inside the if block. Else it gets
executed twice which makes no sense.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-12-05 20:45:15 +00:00
Christoph Wurst db480acf5c Fix password confirmation lib for ie11
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2018-12-05 21:36:43 +01:00
Roeland Jago Douma 13b2617761 Merge pull request #12850 from nextcloud/stb14-missing-click-apps-update
[stable14] Fix missing click event on update button
2018-12-05 21:08:16 +01:00
Julius Härtl 52f4d0171f Fix missing click event on update button
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-12-05 14:26:37 +01:00
Morris Jobke 133aec72c2 Merge pull request #12834 from nextcloud/backport/12831/stable14
[stable14] Do not update child all child shares on group share update
2018-12-05 09:35:03 +01:00
Roeland Jago Douma 218b83b656 Merge pull request #12817 from nextcloud/backport/12813/stable14
[stable14] Fix the system address book
2018-12-05 08:42:29 +01:00
Nextcloud bot f65ec57243 [tx-robot] updated from transifex 2018-12-05 01:12:15 +00:00
Roeland Jago Douma ab8f31b24c Do not update child all child shares on group share update
Else we overwrite the whole share for link shares. Basically breaking
them.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-12-04 21:53:35 +00:00
Roeland Jago Douma 8f984532cd Merge pull request #12826 from nextcloud/backport/12822/stable14
[stable14] PHP module is named mbstring
2018-12-04 20:12:48 +01:00
Morris Jobke 316d79b2ae PHP module is named mbstring
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-12-04 17:57:19 +00:00
Roeland Jago Douma 2bb278ecb0 Fix the system address book
c23a66cda4 broke the system address book.
We now move the ACL rules for this special case up and all is good in
the world again.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-12-04 14:21:16 +00:00
Roeland Jago Douma de83581694 Merge pull request #12748 from nextcloud/backport/14/11200/stable14
[stable14] Fix interaction with groups that contain a slash
2018-12-04 15:03:11 +01:00
Roeland Jago Douma 2d757a0e4c Merge pull request #12812 from nextcloud/backport/12808/stable14
[stable14] Only run the AnonymousOptionsPlugion on Anonymous requests
2018-12-04 14:50:43 +01:00
Roeland Jago Douma 877b23a3fd Only run the AnonymousOptionsPlugion on Anonymous requests
Fixes #12744

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-12-04 12:12:11 +00:00
Nextcloud bot 70b8588d93 [tx-robot] updated from transifex 2018-12-04 01:12:26 +00:00
Nextcloud bot 34cbcb41cb [tx-robot] updated from transifex 2018-12-03 01:11:52 +00:00
Nextcloud bot 2b35e12350 [tx-robot] updated from transifex 2018-12-02 01:12:56 +00:00
Nextcloud bot ba285c087e [tx-robot] updated from transifex 2018-12-01 01:11:47 +00:00
Nextcloud bot bcc0956ec0 [tx-robot] updated from transifex 2018-11-30 01:12:17 +00:00
Morris Jobke 43b8cc46f8 Merge pull request #12745 from nextcloud/backport/12647/stable14
[stable14] update compatible versions for cloud federation api
2018-11-29 22:44:57 +01:00
Joas Schilling 6b6f923b8b Fix interaction with groups that contain a slash
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-11-29 21:57:21 +01:00
Robin Appelman 0b662f8aa3 update compatible versions for cloud federation api
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-11-29 21:42:30 +01:00
Roeland Jago Douma 58aaf8ecb8 Merge pull request #12738 from nextcloud/backport/12690/stable14
[stable14] Set Referrer-Policy also in addSecurityHeaders()
2018-11-29 19:35:42 +01:00
Peter Kraume 6dbfe24777 Set Referrer-Policy also in addSecurityHeaders()
Fix: #12689
Signed-off-by: Peter Kraume <peter.kraume@gmx.de>
2018-11-29 16:48:12 +00:00
Nextcloud bot 76cd8babd2 [tx-robot] updated from transifex 2018-11-29 01:11:52 +00:00
Morris Jobke 2b011b3626 Merge pull request #12715 from nextcloud/backport/12708/stable14
[stable14] Fix folder path containing leading slash when getting mount root by id
2018-11-28 23:05:42 +01:00
Robin Appelman 7ee9781087 Fix folder path containing leading slash when getting mount root by id
This fixes collabora on public link shared groupfolders

Fixes https://github.com/nextcloud/groupfolders/issues/225

Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-11-28 19:07:51 +00:00
Daniel Kesselberg e1739e3da9 Merge pull request #12701 from nextcloud/stable14-12632-add-acceptance-tests-for-sharing-files-and-folders-with-another-user
[stable14] Add acceptance tests for sharing files and folders with another user
2018-11-28 14:11:55 +01:00
Nextcloud bot d572bdea74 [tx-robot] updated from transifex 2018-11-28 01:12:15 +00:00
Daniel Kesselberg b8311b0dd5 Merge pull request #12697 from nextcloud/backport/12649/stable14
[stable14] Make acceptance tests for comments more robust
2018-11-27 21:25:10 +01:00
Daniel Calviño Sánchez 876ee0fd76 Wait for the comment to be added before changing to another file
If the server is too slow, changing to a different file immediately
after sending a new comment but without waiting for the comment to be
shown for the original file could cause the new comment to be shown for
the current file instead.

This is, indeed, a bug in the comments. However, it is not possible to
test it reliably in the acceptance tests, as it depends on how fast the
server adds the message and how fast the client changes to a different
file; sometimes the test would fail and sometimes it would not.

Therefore, now it is waited for the comment to be added before changing
to another file, as in this case it can be reliably tested that changing
to a different file does not cause the comments from the previous file
to be shown in the current file (this was a different bug already fixed
and due to which this test was added in the first place).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-11-27 16:56:38 +00:00
Daniel Calviño Sánchez fc0a1d1015 Wait for the empty content element to be shown
When the "Comments" tab is open the empty content element is always in
the DOM, although it is only shown once the message collection was
fetched and there were no messages. Due to this it is necessary to
explicitly wait for it to be shown instead of relying on the implicit
wait made to find the element; otherwise it would be found immediately
and if the collection was not fetched yet it would not be visible,
causing the test to fail.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-11-27 16:56:38 +00:00
Roeland Jago Douma 2706bc7df7 Merge pull request #12684 from nextcloud/backport/12650/stable14
[stable14] Fix count on string
2018-11-27 16:28:56 +01:00
Daniel Kesselberg 5c10df6d2d Add return type
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2018-11-27 13:16:28 +00:00
Daniel Kesselberg 375ece362d Fix count on string
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2018-11-27 13:16:28 +00:00
Nextcloud bot 5fc0565695 [tx-robot] updated from transifex 2018-11-27 01:11:51 +00:00
Morris Jobke 24c4ab8265 Merge pull request #12639 from nextcloud/backport/12556/stable14
[stable14] extend anonymous options to work on every dav url
2018-11-26 11:02:46 +01:00
Nextcloud bot fd3e080aa6 [tx-robot] updated from transifex 2018-11-26 01:11:41 +00:00
Nextcloud bot 1901b750c7 [tx-robot] updated from transifex 2018-11-25 01:12:33 +00:00
Nextcloud bot 5238d79452 [tx-robot] updated from transifex 2018-11-24 01:11:37 +00:00
Robin Appelman ff9093e183 extend anonymous options to work on every dav url
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-11-23 19:37:52 +00:00
Daniel Calviño Sánchez c55054e2a5 Rename "FilesSharingAppContext" to "PublicShareContext"
Having both "FilesAppSharingContext" and "FilesSharingAppContext" was
confusing, so "FilesSharingAppContext" was renamed to a more descriptive
name.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-11-23 15:14:49 +01:00
Daniel Calviño Sánchez 6be19a5ca3 Extract locators and steps for sharing in Files app to their own context
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-11-23 15:14:49 +01:00
Daniel Calviño Sánchez 2af399f0ae Extract sharing related acceptance tests to their own feature files
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-11-23 15:14:49 +01:00
Daniel Calviño Sánchez fca154d1e0 Add acceptance tests for folders that can not be reshared
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-11-23 15:14:48 +01:00
Daniel Calviño Sánchez 708e40e303 Add acceptance tests for resharing a folder with another user
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-11-23 15:14:48 +01:00
Daniel Calviño Sánchez 792863ed10 Add acceptance test for checking that the owner can see reshares
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-11-23 15:14:48 +01:00
Daniel Calviño Sánchez fd4e10e056 Add acceptance test for resharing a file with another user
To reshare a file there must be at least three enabled users in the
system; although it would be possible to run the steps to create a third
user in the scenarios that need it for convenience a third enabled user
besides "admin" and "user0" was added to the default setup.

In a similar way, a new step was added too to login as a given user
name, similar to the steps to log in as "user0" and as "admin".

Finally, another actor, "Jim", was introduced for those scenarios which
should be played by three standard actors (that is, without a special
configuration like "Rubeus").

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-11-23 15:14:48 +01:00
Daniel Calviño Sánchez 2a27481e2f Add acceptance tests for sharing a folder with another user
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-11-23 15:14:48 +01:00
Daniel Calviño Sánchez 971c548256 Add acceptance tests for sharing a file with another user
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-11-23 15:14:43 +01:00
Morris Jobke c6232291a0 Merge pull request #12598 from nextcloud/stable14-12577-fix-rendering-of-the-sidebar-in-files-app
[stable14] Fix rendering of the sidebar in Files app
2018-11-23 08:51:22 +01:00
Morris Jobke b289150700 Merge pull request #12560 from nextcloud/stb14-share-menu-click-fix
[stable14] Fix share link password input
2018-11-23 08:46:07 +01:00
Morris Jobke e1873e8928 Merge pull request #12593 from nextcloud/backport/12554/stable14
[stable14] Do not switch to root folder if filelist is already shown
2018-11-23 08:44:02 +01:00
Nextcloud bot d655567672 [tx-robot] updated from transifex 2018-11-23 01:13:19 +00:00
Morris Jobke 77c87b1b23 Merge pull request #12596 from nextcloud/backport/12448/stable14
[stable14] Load apps that have a dav type set before the dav server plugins
2018-11-22 23:43:55 +01:00
Georg Ehrke 92b264cc09 RoomManager/ResourceManager: Inject IServerContainer instead of using OC Server
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2018-11-22 22:41:29 +00:00
Georg Ehrke b0d17266e4 adjust Calendar resource / room interfaces to use class implementation
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2018-11-22 22:41:28 +00:00
John Molakvoæ (skjnldsv) d8a8c03c36 Fix share link password input
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-11-22 21:59:23 +01:00
Roeland Jago Douma 55c4d3f555 Merge pull request #12600 from nextcloud/backport/12592/stable14
[stable14] Fix Typo in Original English String and All Translations
2018-11-22 20:16:42 +01:00
Patrick Baber 49c8512f59 fix typo in original english string and all translations
Signed-off-by: Patrick Baber <patrick@p-squared.de>
2018-11-22 18:22:56 +00:00
Daniel Calviño Sánchez e3d90efdbb Fix rendering of the sidebar in Files app
When a view is rendered it should not be concerned with where it is
going to be placed in the document; in general this should be a
responsibility of the object using the view.

Moreover, when the details view is rendered it should simply prepare a
skeleton that includes the root elements provided by the plugins; those
elements will be updated by the plugins as needed when a file or a tab
is selected.

Finally, the details view should not be explicitly rendered. The
rendering removes the previous elements, but that is needed only when
the details view is in a dirty state, that is, when new plugins were
added since the last time that it was rendered. However, that dirty
state is internally handled, and the view is automatically rendered
again if needed when a file info is set.

Due to all that the details view is no longer explicitly rendered when
updating it with a different file. Also, as each file list has its own
details view, and each details view has its own element, but there can
be only one details view/sidebar element in the document, when the file
list updates the details view it also replaces the current one in the
document with its own details view if needed (that is, if it is not the
current one already).

Besides that, when the element of a details view is replaced with the
element of a different details view the old one should be detached from
the document, but never removed. Otherwise the event handlers would not
work when that element is attached again later (when changing to a
different section in the Files app and then going back to the previous
one).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-11-22 17:45:46 +01:00
Daniel Calviño Sánchez 2d58826d42 Add acceptance tests for showing again the input field for tags
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-11-22 17:43:58 +01:00
Daniel Calviño Sánchez f9efd31623 Add acceptance tests for opening and closing again the details view
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-11-22 17:43:58 +01:00
Daniel Calviño Sánchez 400d42a47a Add acceptance tests for marking a file as favorite in the details view
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-11-22 17:43:58 +01:00
Daniel Calviño Sánchez d0ea4ad8b8 Add acceptance tests for switching to the comments of another file
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-11-22 17:43:58 +01:00
Julius Härtl a584406947 Load apps that have a dav type set before the dav server plugins
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-11-22 16:26:14 +00:00
Julius Härtl 07c5c686a0 Do not switch to root folder if filelist is already shown
Navigating to the root folder is already handled by
OCA.Files.Navigation.setActiveItem in case the view doesn't change.

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-11-22 15:10:53 +00:00
Morris Jobke ff59905b12 Merge pull request #12540 from nextcloud/backport/12450/stable14
[stable14] Throw exception if decryption fails
2018-11-22 14:54:02 +01:00
Morris Jobke 47b9e5d08c Merge pull request #12555 from nextcloud/backport/12552/stable14
[stable14] Respect the disabled setting for lost_password_link
2018-11-22 14:53:46 +01:00
Morris Jobke d25e8a774a Merge pull request #12586 from nextcloud/version/noid/14.0.4
14.0.4
2018-11-22 14:14:28 +01:00
Morris Jobke 99646e1976 14.0.4
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-11-22 11:05:37 +01:00
Nextcloud bot 7d6aea2e54 [tx-robot] updated from transifex 2018-11-22 01:12:30 +00:00
Roeland Jago Douma 4044ac3b71 Merge pull request #12561 from nextcloud/backport/12544/stable14
[14] Handle permission in update of share better
2018-11-21 08:58:02 +01:00
Nextcloud bot 3593764e1b [tx-robot] updated from transifex 2018-11-21 01:12:26 +00:00
Roeland Jago Douma e07db91900 Merge pull request #12545 from nextcloud/backport/12543/stable14
[stable14] Bearer tokens are app token
2018-11-20 20:06:39 +01:00
Roeland Jago Douma 395d697598 Handle permission in update of share better
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-11-20 19:36:17 +01:00
Roeland Jago Douma b776c3b89f Respect the disabled setting for lost_password_link
Fixes #11146
As documented when it is set to disabled the user can't request a lost
password.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-11-20 14:53:19 +00:00
Roeland Jago Douma adf1488e4e Bearer tokens are app token
Fixes #12498

This means that we set that it is a proper app token once it is
validated. This will allow the 2FA middleware to just run the same
check.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-11-20 10:50:21 +00:00
Morris Jobke b4a410e502 Merge pull request #12533 from nextcloud/version/noid/14.0.4rc2
14.0.4 RC 2
2018-11-20 10:17:01 +01:00
Morris Jobke 07d25f6582 14.0.4 RC 2
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-11-20 09:17:38 +01:00
Morris Jobke e03f159961 Merge pull request #12542 from nextcloud/stb14-settings-svg-icons-scss-fix
Remove unused svg api route
2018-11-20 09:16:26 +01:00
John Molakvoæ (skjnldsv) 761f6e6413 Remove unused sg api route
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-11-20 07:41:30 +01:00
Nextcloud bot 2820179e73 [tx-robot] updated from transifex 2018-11-20 01:12:49 +00:00
Roeland Jago Douma 40a3937877 Throw exception if decryption fails
For #11868

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-11-19 21:26:01 +00:00
Roeland Jago Douma b133ca311e Merge pull request #12529 from nextcloud/backport/12401/php-warning
[stable14] Fix the warning appearing in the admin section when mail_smtpmode is not configured
2018-11-19 19:43:22 +01:00
Morris Jobke 511eade1d4 Use the proper default values
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-11-19 15:49:49 +01:00
Kyle Fazzari 5ba33b7574 Verify that isPhpMailerUsed uses config as expected
Signed-off-by: Kyle Fazzari <kyrofa@ubuntu.com>
2018-11-19 15:49:49 +01:00
Marc Peña Segarra dba617ada3 Fix the warning appearing check setup when mail_smtpmode is not configured.
Closes #11107
2018-11-19 15:49:49 +01:00
Morris Jobke 079e59dd4b Merge pull request #12502 from nextcloud/swift-object-not-found-14
[14] forward object not found error in swift as dav 404
2018-11-19 15:32:46 +01:00
Robin Appelman f43cfd9275 forward object not found error in swift as dav 404
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-11-19 11:36:33 +01:00
Nextcloud bot 3ba18cea8f [tx-robot] updated from transifex 2018-11-19 01:12:15 +00:00
Roeland Jago Douma b2c9dce235 Merge pull request #12492 from nextcloud/stable14-12489
[stable14] Only use width and opacity for transition
2018-11-18 20:20:49 +01:00
Nextcloud bot 3671606051 [tx-robot] updated from transifex 2018-11-18 01:13:09 +00:00
Nextcloud bot 4fe3f9eead [tx-robot] updated from transifex 2018-11-17 01:12:57 +00:00
Julius Härtl b5dd252a06 Only use width and opacity for transition
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-11-16 16:32:26 +01:00
Morris Jobke a79c7c7b05 Merge pull request #12482 from nextcloud/share-menu-click-fix
Fix wrong share popover opening on share link
2018-11-16 14:18:45 +01:00
John Molakvoæ (skjnldsv) 5f1f9952dc Fix wrong share popover opening on share link
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-11-16 10:58:48 +01:00
Nextcloud bot cd196f31a0 [tx-robot] updated from transifex 2018-11-16 01:12:25 +00:00
Morris Jobke d1e50a10e3 Merge pull request #12436 from nextcloud/version/noid/14.0.4RC1
14.0.4 RC 1
2018-11-15 15:44:52 +01:00
Morris Jobke 5bd5dc2822 14.0.4 RC 1
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-11-15 13:49:19 +01:00
Morris Jobke 9070de4753 Update autoloader dump
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-11-15 13:49:19 +01:00
Morris Jobke 7781485fb7 Merge pull request #12459 from nextcloud/bugfix-stable14/dav_shares_hickup
[stable14] fixes dav share issue with owner
2018-11-15 13:41:31 +01:00
Georg Ehrke cc27fdad46 fix caldav tests
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2018-11-15 13:01:04 +01:00
Nextcloud bot 659e4746db [tx-robot] updated from transifex 2018-11-15 01:12:24 +00:00
Georg Ehrke 94c2b66df3 fixes dav share issue with owner
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2018-11-14 21:51:40 +01:00
Morris Jobke c4155e2f18 Merge pull request #12441 from nextcloud/stable14-10888
[stable14] Fix missing quickaccess favorite folder on add
2018-11-14 21:18:33 +01:00
Morris Jobke 94a5ffe394 Update PHPDoc to fix typos
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-11-14 21:18:16 +01:00
Morris Jobke fc516b508e Merge pull request #12432 from nextcloud/stb14-accessibility-cache-fixes
[stable14] Added cache override to ensure an always up-to-date accessibility css
2018-11-14 16:54:15 +01:00
Nextcloud bot ee060c8231 [tx-robot] updated from transifex 2018-11-14 01:12:22 +00:00
Felix Nüsse 13a22c7224 fix for favorites-quickaccess: newly added folders dont show up when added to favorites
Signed-off-by: fnuesse <felix.nuesse@t-online.de>
2018-11-13 17:22:40 +01:00
Morris Jobke 46dc5fea9d Merge pull request #12440 from nextcloud/stable14-10890
[stable14] Fix app menu calculation for random size of the right header
2018-11-13 17:14:18 +01:00
Julius Härtl a5fbbe2b0b Fix app menu calculation for random size of the right header
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-11-13 15:52:15 +01:00
Morris Jobke fb559ed05e Merge pull request #12372 from nextcloud/suppress-wrong-audit-log-message-stable14
[stable14] suppress wrong audit log messages about failed login attempts
2018-11-13 15:10:17 +01:00
Morris Jobke db9e1b90f9 Merge pull request #12375 from nextcloud/backport/12284/stable14
[14] Properly search the root of a shared external storage
2018-11-13 15:09:24 +01:00
Morris Jobke 846fa89045 Merge pull request #12431 from nextcloud/stb14-ie11-width-fix
Fix IE rule for min width
2018-11-13 15:08:31 +01:00
Morris Jobke 40f5f124a4 Merge pull request #12433 from nextcloud/backport/12411-12413/unique-constraint-fix
[stable14] Unique contraint and deadlock fixes for filecache and file_locks
2018-11-13 15:04:12 +01:00
John Molakvoæ (skjnldsv) 1aac8d8f0f Added cache override to ensure an always up-to-date accessibility css
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-11-13 14:02:03 +01:00
Morris Jobke ec5c11d284 Fix UniqueConstraintViolationException while insert into oc_file_locks
* fixes #9305 by not being prone to the race condition in insertIfNotExists
* fixes #6899 by not using a query that can result in a deadlock
* replaces the insertIfNotExists call with an insert which is wrapped into a try-catch block
* followup to #12371

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-11-13 13:59:24 +01:00
Morris Jobke 442680024f Fix UniqueConstraintViolationException while insert into oc_filecache
* fixes #6160 by not being prone to the race condition in insertIfNotExists
* fixes #12228 by not using a query that can result in a deadlock
* replaces the insertIfNotExists call with an insert which is wrapped into a try-catch block

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-11-13 13:59:15 +01:00
John Molakvoæ (skjnldsv) ae9f96f2c5 Fix IE rule for min width
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-11-13 13:51:04 +01:00
Nextcloud bot 655b7f047c [tx-robot] updated from transifex 2018-11-13 01:12:52 +00:00
Morris Jobke b28398fe15 Merge pull request #12416 from nextcloud/stb14-admin-vue-approval-fix
[stable14] Use nextcloud-password-confirmation
2018-11-12 23:13:20 +01:00
Morris Jobke 17d581a446 Merge pull request #12412 from nextcloud/backport/12358/fix-update-check
[stable14] Fix app update available check
2018-11-12 16:23:33 +01:00
John Molakvoæ (skjnldsv) 89e5ec4183 Use nextcloud-password-confirmation
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-11-12 15:39:02 +01:00
Joas Schilling da2106391d Adjust unit tests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-11-12 14:29:00 +01:00
Morris Jobke 90cd445019 Improve style of incompatible apps list
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-11-12 14:28:43 +01:00
Joas Schilling 8ac7d060dd Use the version number when checking the appstore for compatible updates
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-11-12 14:28:24 +01:00
Morris Jobke 888fd4c218 Fix overlapping update button in notifications
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-11-12 14:26:59 +01:00
Nextcloud bot 13eae29509 [tx-robot] updated from transifex 2018-11-12 01:12:58 +00:00
Nextcloud bot d476fc9d25 [tx-robot] updated from transifex 2018-11-11 01:13:19 +00:00
Nextcloud bot 0fac79a8a1 [tx-robot] updated from transifex 2018-11-10 01:12:35 +00:00
Roeland Jago Douma 2b204616d5 Merge pull request #12374 from nextcloud/backport/12342/stable14
[14] Add fix for IE11 flexbox height bug
2018-11-09 15:12:19 +01:00
Roeland Jago Douma b71bc1289b Properly search the root of a shared external storage
Fixes #1020

When an external storage is shared with you in full the root is ''
(empty). This adds an extra check for an empty jail basically.

Because if the jail is on the empty string. It matches all paths.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-11-09 13:21:45 +01:00
Julius Härtl 50ee75db5a Add fix for IE11 flexbox height bug
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-11-09 13:11:45 +01:00
Bjoern Schiessle 1eaa4b443f first check if the user is already logged in and then try to authenticate via apache, this way we suppress wrong audit log messages about failed login attempts
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-11-09 11:43:51 +01:00
Nextcloud bot 7fba370a75 [tx-robot] updated from transifex 2018-11-09 01:12:36 +00:00
Morris Jobke 5ad40b2060 Merge pull request #12353 from nextcloud/backport/11838/fix-default-types-of-members
[stable14] Fix default types of activity event member variables
2018-11-08 22:42:23 +01:00
Joas Schilling f48f43818e Fix default types of activity event member variables
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-11-08 14:14:01 +01:00
Roeland Jago Douma 911321dc4a Merge pull request #12339 from nextcloud/bugfix/12007
fix - Add to favorites not working in IE11
2018-11-08 10:24:45 +01:00
Yevhenii Kostiuk 81ce3c22ff fix - Add to favorites not working in IE11 - polyfill needed #12007
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-11-08 07:43:02 +01:00
Roeland Jago Douma 66b7adfff9 Merge pull request #12341 from nextcloud/stb14-ie11-function-fix
Remove arrow function for ie compatibility
2018-11-08 07:42:14 +01:00
Nextcloud bot 9c88ff5eda [tx-robot] updated from transifex 2018-11-08 01:12:28 +00:00
John Molakvoæ (skjnldsv) 3745b0a4e1 Remove arrow function for ie compatibility
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-11-07 18:29:45 +01:00
Morris Jobke 1a079fd514 Merge pull request #12331 from nextcloud/backport/12306/stable14
[14] Disabled ldap fix
2018-11-07 16:19:55 +01:00
Roeland Jago Douma 21c9146bdb Build settings
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-11-07 13:20:11 +01:00
John Molakvoæ (skjnldsv) df841cc073 Show disabled even if empty if ldap enabled
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-11-07 13:19:29 +01:00
Nextcloud bot 390518c140 [tx-robot] updated from transifex 2018-11-07 01:12:40 +00:00
Morris Jobke 358512f136 Merge pull request #12297 from nextcloud/backport/12127/stable14
[14] A folder should get a folder mimetype
2018-11-06 18:14:05 +01:00
Morris Jobke 8a86f59c02 Merge pull request #12300 from nextcloud/backport/12230/stable14
[14]  Do not log FileLock as exception
2018-11-06 18:13:24 +01:00
Morris Jobke e10b7c8c33 Merge pull request #12299 from nextcloud/backport/12177/stable14
[14] Use the proper server for the apptoken flow login
2018-11-06 10:15:40 +01:00
Roeland Jago Douma 524a344d25 Merge pull request #12301 from nextcloud/backport/12231/stable14
[14] Set the filemodel before rending the detailsview
2018-11-06 09:59:48 +01:00
Roeland Jago Douma 2d153adb64 Set the filemodel before rending the detailsview
fixes #10934

Else it triggers the rendering two times. Resulting is weird state in
for example the comments. Because the comments for OLD_FILEID are
retrieved but then the model is changed to NEW_FILEID. But the old
comments still get in and get parsed.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-11-06 08:10:19 +01:00
Roeland Jago Douma 9386a0c36a Fix tests
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-11-06 08:07:16 +01:00
Roeland Jago Douma aaf060893c Do not log FileLock as exception
There is no reason to log FileLock errors as exceptions to the log file.
Locks happen for very legit reasons and it is actually a sign of the
code doing its job.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-11-06 08:07:07 +01:00
Roeland Jago Douma 5678f432a4 Use the proper server for the apptoken flow login
If a user can't authenticate normally (because they have 2FA that is not
available on their devices for example). The redirect that is generated
should be of the proper format.

This means

1. Include the protocol
2. Include the possible subfolder

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-11-06 08:05:02 +01:00
Roeland Jago Douma 41c8a9314c A folder should get a folder mimetype
If doing achunked upload the mimetype of the folder would otherwise be
guessed from the path. Which always returned application/octet-stream.

If an access control rule to block that is in place this means that all
chunked uploads fail hard in directories as the isCreatable on the
directory always fails.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-11-06 08:02:21 +01:00
Nextcloud bot 288991a610 [tx-robot] updated from transifex 2018-11-06 01:12:48 +00:00
Nextcloud bot f962a43388 [tx-robot] updated from transifex 2018-11-05 01:12:47 +00:00
Nextcloud bot d829b158f6 [tx-robot] updated from transifex 2018-11-04 01:14:13 +00:00
Nextcloud bot 311b29641f [tx-robot] updated from transifex 2018-11-03 01:12:49 +00:00
Roeland Jago Douma a46ca94723 Merge pull request #12197 from nextcloud/backport/12188/revert-wait-for-cron
[stable14] Revert "Wait for cron to finish before running upgrade command"
2018-11-02 08:21:05 +01:00
Roeland Jago Douma fd39fba5f7 Merge pull request #12202 from brad2014/stable14
Fix bug #12151: fix list formatting by correcting malformed html
2018-11-02 08:20:31 +01:00
Nextcloud bot d30918886b [tx-robot] updated from transifex 2018-11-02 01:13:45 +00:00
brad2014 98dd7c1075 Fix bug #12151: fix list formatting by correcting malformed html
Signed-off-by: Brad Rubenstein <brad@wbr.tech>
2018-11-01 15:30:03 -07:00
Morris Jobke b292f919c6 Revert "Wait for cron to finish before running upgrade command"
This reverts commit 18e9631810.

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-11-01 22:09:45 +01:00
Morris Jobke 5bb7378bf3 Merge pull request #12187 from nextcloud/stable14-12163
[stable14] Do not set indeterminate state for file shares
2018-11-01 15:04:15 +01:00
Julius Härtl a83a320e5d Add tests for edit permission state on file shares
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-11-01 12:36:37 +01:00
Julius Härtl 94e8cd5cac Do not set indeterminate state for file shares
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-11-01 12:36:26 +01:00
Morris Jobke aa92a00129 Merge pull request #12184 from nextcloud/add-gss-to-excluded-backends-stable14
[stable14] add global site selector as user back-end which doesn't support password confirmation
2018-11-01 11:00:50 +01:00
Morris Jobke d1d82fcfc8 Merge pull request #12160 from Dagefoerde/stable14-oauth-backports
[stable14] Bruteforce protection handling in combination with
2018-11-01 10:40:36 +01:00
Bjoern Schiessle c47d634837 add global site selector as user back-end which doesn't support password confirmation
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-11-01 10:07:12 +01:00
Nextcloud bot 41c842f469 [tx-robot] updated from transifex 2018-11-01 01:13:13 +00:00
Roeland Jago Douma e3f3212fbc Error out early on an expired token
Fixes #12131

If we hit an expired token there is no need to continue checking. Since
we know it is a token.

We also should not register this with the bruteforce throttler as it is
actually a valid token. Just expired. Instead the authentication should
fail. And buisness continues as usual.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-10-31 10:54:17 +01:00
Roeland Jago Douma f171378837 Move ExpiredTokenException to the correct namespace
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-10-31 10:54:17 +01:00
Roeland Jago Douma 71d2d3ca00 Reset bruteforce on token refresh OAuth
When using atoken obtained via OAuth the token expires. Resulting in
brute force attempts hitting the requesting IP.

This resets the brute force attempts for that UID on a valid refresh of
the token.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-10-31 10:54:17 +01:00
Nextcloud bot 4b9998533c [tx-robot] updated from transifex 2018-10-31 01:13:03 +00:00
blizzz b80f83bf66 Merge pull request #12141 from nextcloud/backport/12054/stable14
[stable14] LDAP: announce display name changes so that addressbook picks it up
2018-10-30 16:06:23 +01:00
Arthur Schiwon bdb8e37e93 Backport of #12054 to stable14
only write when the displayname differs, but then announce it

refs #5212 and fixes #9112

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>

do not run into UniqueConstraintViolationException

… when an unmapped user logs in for the first time when background job
mode is ajax and no memcache was configured.

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2018-10-30 13:46:57 +01:00
blizzz 500b5d8f0b Merge pull request #12137 from nextcloud/backport/12070/stable14
[stable14] fixes wrong variable usage
2018-10-30 13:42:05 +01:00
Roeland Jago Douma 1ec92c0497 Merge pull request #12040 from nextcloud/backport/12022/stable14
[14] Allow chunked uploads even if your quota is not sufficient
2018-10-30 12:33:13 +01:00
Arthur Schiwon 64fa99a974 fixes wrong variable usage
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2018-10-30 12:19:24 +01:00
Nextcloud bot 0578126ab7 [tx-robot] updated from transifex 2018-10-30 01:13:04 +00:00
Roeland Jago Douma 8a452dc8d0 Merge pull request #12122 from nextcloud/backport/12107/stable14
[stable14] remove unneeded empty search attribute values, fixes #12086
2018-10-29 20:06:28 +01:00
Roeland Jago Douma 074672f8f2 Merge pull request #12121 from nextcloud/stable14-12104-move-acceptance-tests-that-crash-the-php-built-in-server-to-apache
[stable14] Move acceptance tests that crash the PHP built-in server to Apache
2018-10-29 19:18:53 +01:00
Roeland Jago Douma 8971f7d7ba Merge pull request #12120 from nextcloud/stable14-12063-bring-the-browser-window-of-an-actor-to-the-foreground-when-acting-as-him
[stable14] Bring the browser window of an actor to the foreground when acting as him
2018-10-29 19:18:33 +01:00
Arthur Schiwon 36b21e5e4e remove unneeded empty search attribute values, fixes #12086
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2018-10-29 17:26:44 +01:00
Morris Jobke 55c48283b5 Merge pull request #12111 from nextcloud/backport/12038/stable14
[14] Implement the size of an assembly stream
2018-10-29 17:21:59 +01:00
Morris Jobke c4ca4f7708 Merge pull request #12108 from nextcloud/backport/11862/stable14
[14] Double check for failed cache with a shared storage
2018-10-29 17:19:40 +01:00
Daniel Calviño Sánchez 264421b5da Move the browser window of an actor to the foreground when acting as him
Each time a new actor appears in a scenario the browser window of the
new actor is put in front of the browser windows of the previous actors.
Before, when acting again as a previous actor his browser window stayed
in the background; in most cases everything worked fine even if the
window was in the background, but due to a bug in the Firefox driver of
Selenium and/or maybe in Firefox itself when the window was in the
background it was not possible to set the value of an input field that
had a range selected.

Now, when acting again as a previous actor his browser window is brought
to the foreground. This prevents the bug from manifesting, but also
reflects better how a user would interact with the browser in real life.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-10-29 16:26:12 +01:00
Daniel Calviño Sánchez 021c153886 Move acceptance tests that crash the PHP built-in server to Apache
The PHP built-in server can crash when certain actions are performed in
Nextcloud (but although the crash is triggered by Nextcloud it does not
seem to be a Nextcloud bug), which can lead to failures in the
acceptance tests that would have otherwise passed.

A crash of the PHP built-in server during an acceptance test can be
identified by the message "sh: 1: kill: No such process" in the
acceptance tests output; as the PHP built-in server crashed its process
does no longer exist when it is tried to be killed when the scenario
ends.

Although the crash has been observed in other tests too it is more
prevalent in the tests for tags and the theming app. In order to
reduce the false positives those tests are now run on Apache instead of
on the PHP built-in sever. However, the rest of tests are still run on
the PHP built-in server due to its lower resource consumption.

In order to run a feature or just a scenario using Apache it has to be
tagged with "@apache"; features or scenarios without that tag (the
default) will run on the PHP built-in server instead.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-10-29 16:23:38 +01:00
Daniel Calviño Sánchez b321e47e5d Link the default Apache directory to the Nextcloud server in all runners
In order to run the acceptance tests in Apache "/var/www/html" has to be
linked to the root directory of the Nextcloud server. Before this was
automatically done when launching the acceptance tests through
"./run.sh", but an explicit command was needed when run in Drone. Now
the linking was moved from "run.sh" to "run-local.sh", so it is
automatically done when run through "./run.sh" and in Drone, including
when running the tests for an app instead of for the server.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-10-29 16:23:38 +01:00
Daniel Calviño Sánchez 2bd81a2557 Extract acceptance tests for tags to their own feature file
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-10-29 16:23:38 +01:00
Roeland Jago Douma ef13c783e2 Implement the size of an assembly stream
This will make it possible to act propely on moves of future files if we
need to know the size (like for max size virus scanning).

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-10-29 15:19:35 +01:00
Roeland Jago Douma 8d3220a4aa Double check for failed cache with a shared storage
When obtaining the SourceRootInfo we can call init. If this fails the
cache is set to a failed cache and the storage to a failed storage.
However we did not check for this. Which means that if the storage was
invalid it would fail later on.

Now we will properly error out.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-10-29 15:12:47 +01:00
Nextcloud bot 48b57d1284 [tx-robot] updated from transifex 2018-10-29 01:13:18 +00:00
Nextcloud bot 6565818ccc [tx-robot] updated from transifex 2018-10-28 00:12:59 +00:00
Nextcloud bot 67895ffac7 [tx-robot] updated from transifex 2018-10-27 00:12:46 +00:00
Nextcloud bot 7e7d3ce357 [tx-robot] updated from transifex 2018-10-26 00:12:59 +00:00
Morris Jobke 4a54d5b66c Merge pull request #12045 from nextcloud/improve-encrypt-all-stable14
[stable14] Improve encrypt all / decrypt all
2018-10-25 23:08:55 +02:00
Bjoern Schiessle 6f3328a9cd skip already decrypted files on decrypt all command
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-10-25 17:52:51 +02:00
Bjoern Schiessle 1e8098471c skip already encrypted files on encrypt all command
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-10-25 17:52:40 +02:00
Roeland Jago Douma d91380d138 Allow chunked uploads even if your quota is not sufficient
Fixes #11485

This allows uploads to shared folders.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-10-25 13:53:52 +02:00
Roeland Jago Douma 6c6793fd7f Merge pull request #12032 from Dagefoerde/stable14-11919-do-not-always-fallback
[stable14] Forwarded ExpiredTokenException
2018-10-25 11:53:37 +02:00
Roeland Jago Douma 4abae96298 Catch more occurences where ExpiredTokenException can be thrown
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-10-25 10:59:07 +02:00
Roeland Jago Douma 49e992c1da Expired PK tokens should not fall back to legacy tokens
Fixes #11919

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-10-25 10:59:07 +02:00
Nextcloud bot f8c3b1de33 [tx-robot] updated from transifex 2018-10-25 00:13:15 +00:00
Morris Jobke 751aa99682 Merge pull request #12005 from iPaat/Backport14/Fix11847
[stable14] Remove cookies from Clear-Site-Data Header
2018-10-24 15:38:27 +02:00
Morris Jobke e5814bd948 Merge pull request #11800 from nextcloud/lookupserver-and-global-scale-stable14
[stable14] always query the lookup server in a global scale setup
2018-10-24 14:44:05 +02:00
Morris Jobke cdca81b966 Merge pull request #11783 from suntorytimed/stable14
[stable14] backport of #10778
2018-10-24 13:32:52 +02:00
Stefan Weiberg e8db4017b8 backport of #10778
Adding a check to see if keyFileContents is empty:

* this fixes a download error and an exception if the data content
  for encryption is empty
* #3958: for recovering encrypted files with a damaged signature
  this is necessary in addition to turning the signature check off

Signed-off-by: Stefan Weiberg <sweiberg@suse.com>
2018-10-24 09:08:03 +02:00
Patrick Conrad bae4207246 Remove cookies from Clear-Site-Data Header
In https://github.com/nextcloud/server/commit/2f87fb6b456fd109c90a5093c31b7a3f62a32040 this header was introduced. The referenced documentation says:

> When delivered with a response from https://example.com/clear, the following header will cause cookies associated with the origin https://example.com to be cleared, as well as cookies on any origin in the same registered domain (e.g. https://www.example.com/ and https://more.subdomains.example.com/).

This also applies if `https://nextcloud.example.com/` sends the `Clear-Site-Data: "cookies"` header.
This is not the behavior we want at this point!

So I removed the deletion of cookies from the header. This has no effect on the logout process as this header is supported only recently and the logout works in old browsers as well.

Signed-off-by: Patrick Conrad <conrad@iza.org>
(cherry picked from commit 1806baaeaf)
2018-10-24 08:50:26 +02:00
Nextcloud bot a13d936c35 [tx-robot] updated from transifex 2018-10-24 00:12:41 +00:00
Roeland Jago Douma 3e8a38fc57 Merge pull request #11995 from nextcloud/stable14-11967-fix-opening-a-section-again-in-the-files-app
[stable14] Fix opening a section again in the Files app
2018-10-23 20:05:25 +02:00
Morris Jobke 52c3285de4 Merge pull request #11994 from nextcloud/assemblly-stream-lazy-14
lazy open first source stream in assemblystream
2018-10-23 19:19:35 +02:00
Morris Jobke e88c8d15ba Merge pull request #11961 from nextcloud/backport/11931/stable14
[14] Do not emit preHooks twice on non-part-storage
2018-10-23 18:16:59 +02:00
Robin Appelman 0803de9b91 lazy open first source stream in assemblystream
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-10-23 17:44:31 +02:00
Nextcloud bot 7894c40f54 [tx-robot] updated from transifex 2018-10-23 14:54:39 +00:00
Daniel Calviño Sánchez c1e37bb387 Add acceptance tests for opening a section in the Files app
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-10-23 16:44:29 +02:00
Daniel Calviño Sánchez 9801b5af36 Remove event handler no longer needed
The custom handler for "URL changed" events were added to reload the
file list whenever the sections for favorites and shares were opened;
this was used to fix the problem of not reloading the file lists when
opening them for a second time. However, besides that the handlers were
not really necessary, and as the root of the bug was fixed in the
previous commit those handlers are now removed.

The file list for tags uses the handler for a different purpose, though,
so that one was kept.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-10-23 16:44:29 +02:00
Daniel Calviño Sánchez 73125667d4 Fix opening a section again in the Files app
When a section is open in the Files app a "show" event is triggered.
File list objects handle that event by reloading themselves, but only
if the file list was shown at least once. However, the file list objects
of plugins are created when the "show" event is triggered for the first
time for their section; as the file list objects register their handler
for the "show" event when they are created they never handle the first
triggered "show" event, as the handler is set while that event is being
already handled. Therefore, from the point of view of the handler, the
second time that a "show" event was triggered it was seen as if the file
list was shown for the first time, and thus it was not reloaded. Now the
"shown" property is explicitly set for those file lists that are created
while handling a "show" event, which causes them to be reloaded as
expected when opening their section again.

Note that it is not possible to just reload the file list whenever it is
shown; the file list is reloaded also when the directory changes, and
this can happen when the web page is initially loaded and the URL is
parsed. In that case, if file lists were reloaded when shown for the
first time then it could be reloaded twice, one with the default
parameters due to the "show" event and another one with the proper
parameters once the URL was parsed, and the files that appeard in the
list would depend on which response from the server was received the
last.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-10-23 16:44:26 +02:00
Daniel Calviño Sánchez ea047e3201 Fix indentation
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-10-23 16:43:20 +02:00
Morris Jobke 8c40be01f2 Merge pull request #11925 from nextcloud/backport/11920/properly-ignore-compiled-files-l10n
[stable14] Add .l10nignore files for compiled assets
2018-10-23 16:30:40 +02:00
Morris Jobke 0d28b603f9 Merge pull request #11979 from nextcloud/bugfix-stable14/noid/forbid_freebusy_but_allow_local_delivery
[stable14] allow local delivery of schedule message while prohibiting FreeBusy requests
2018-10-23 16:03:50 +02:00
Roeland Jago Douma d9c080120e Merge pull request #11976 from nextcloud/bugfix-stable14/9326/make_sure_usermanager_getByEmail_only_returns_IUser
[stable14] filter null values for UserManager::getByEmail
2018-10-23 15:15:23 +02:00
Roeland Jago Douma 304fcdf837 Merge pull request #11990 from nextcloud/backport/11972/fix-l10n-fetching-from-theme
[stable14] Load apps/APP/l10n/*.js and themes/THEME/apps/APP/l10n/*.js
2018-10-23 11:50:58 +02:00
Morris Jobke 9ea758758e Load apps/APP/l10n/*.js and themes/THEME/apps/APP/l10n/*.js
Before it quit right after finding the theme version of the l10n file which results in a not translated part of the UI.

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-10-23 10:22:47 +02:00
Georg Ehrke 4bbd3fa108 move disableFreeBusy check from User principal backend to Scheduling Outbox collection. This allows to keep local delivery of scheduling messages while prohibiting FreeBusy requests
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2018-10-22 16:01:49 +02:00
Georg Ehrke 554c80b403 filter null values for UserManager::getByEmail
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2018-10-22 15:51:57 +02:00
Morris Jobke 7ca126299e Merge pull request #11950 from Birkenstab/allow-same-origin-referrer-policy-backport
Allow "same-origin" as "Referrer-Policy" (Backport to stable14)
2018-10-22 15:35:44 +02:00
Roeland Jago Douma e81f42333b Do not emit preHooks twice on non-part-storage
The old code would emit the hooks twice. Thus having the version written
twice. Which is not very performant as it is first read twice as well.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-10-21 13:58:07 +02:00
Moritz Beck ea613a896a Allow "same-origin" as "Referrer-Policy"
Fixes #11531

Although "same-origin" is more strict than e.g. strict-origin it showed up a warning in setupcheck
Based on https://scotthelme.co.uk/a-new-security-header-referrer-policy/

Signed-off-by: Moritz Beck <git@birkenstab.de>
2018-10-20 12:01:48 +02:00
Roeland Jago Douma 76b3bbc415 Merge pull request #11939 from nextcloud/backport/11611/stable14
[14] Allow userId to be null
2018-10-19 19:30:34 +02:00
Roeland Jago Douma 5c8719aa03 Allow userId to be null
Fixes #10852

A quick hack. Still ensures some type safety however now also accepts
null. Else we'd need to add a whole new layer of middlewares.

This can only happen when a guest user wants to access a controller that
requries the user_id.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-10-19 16:25:14 +02:00
Morris Jobke 61fe59795f Merge pull request #11929 from nextcloud/backport/11870/proper-column-name-escaping
[stable14] Properly escape column name in "createFunction" call
2018-10-19 15:48:41 +02:00
Morris Jobke 2885db8e9b Merge pull request #11772 from nextcloud/stable14-pretty-urls-dont-work
[14] Allow overwrite.cli.url without trailing slash
2018-10-19 12:16:22 +02:00
Morris Jobke f6cdab6b11 Properly escape column name in "createFunction" call
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-10-19 12:12:52 +02:00
Morris Jobke 858ec0a777 Add .l10nignore files for compiled assets
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-10-19 11:40:16 +02:00
Joas Schilling c1fbf70d83 Merge pull request #11851 from nextcloud/backport/11802/fix-password_by_talk-not-a-boolean
[stable14] Fix a case where "password_by_talk" was not a boolean
2018-10-16 16:32:06 +02:00
Morris Jobke 9454de50b4 Fix a case where "password_by_talk" was not a boolean (e.g. null or "0") and actively cast it to a boolean
This was the error message that we have seen:

```
Argument 1 passed to OC\\Share20\\Share::setSendPasswordByTalk() must be of the type boolean, null given, called in apps/sharebymail/lib/ShareByMailProvider.php on line 981
```

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-10-15 17:51:09 +02:00
Joas Schilling c17ec81652 Merge pull request #11798 from nextcloud/backport/11782/stable14
[stable14] Add "Referrer-Policy" to htaccess file, addresses issue #11099
2018-10-15 11:06:28 +02:00
Bjoern Schiessle 49b98b52ce add more tests
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-10-12 16:13:57 +02:00
Roeland Jago Douma 91c44c84cf Merge pull request #11790 from nextcloud/backport/11745/stable14
[14] php7.3 CI
2018-10-12 15:32:33 +02:00
Patrik Kernstock 2b0d0e5b97 Add "Referrer-Policy" to htaccess file, addresses issue #11099
Signed-off-by: Patrik Kernstock <info@pkern.at>
2018-10-12 14:27:06 +02:00
Roeland Jago Douma 59d5d48e9d Merge pull request #11781 from burned42/stable14_fix_percent_sign_breaking_all_files_view
[stable14] Remove duplicate call to decodeURIComponent
2018-10-12 12:30:03 +02:00
Roeland Jago Douma e7d20cdb5e Allow php7.3
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-10-12 12:21:19 +02:00
Roeland Jago Douma bddf937e14 Add 7.3 CI to drone
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-10-12 12:21:06 +02:00
Morris Jobke 549d53cd93 Merge pull request #11784 from nextcloud/release/14.0.3
14.0.3
2018-10-12 08:46:59 +02:00
Roeland Jago Douma af1ccb9b46 14.0.3
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-10-11 20:41:34 +02:00
Roeland Jago Douma db03468911 Merge pull request #11770 from nextcloud/backport/11764/stable14
[14] Normalize getUnjailedPath
2018-10-11 20:19:10 +02:00
Bernd Stellwag 86b2e7d2e7 Remove duplicate call to decodeURIComponent
Signed-off-by: Bernd Stellwag <burned@zerties.org>

(cherry picked from commit 0f030d885b)
Signed-off-by: Bernd Stellwag <burned@zerties.org>
2018-10-11 18:40:31 +02:00
Daniel Kesselberg 4f983b7565 Backport https://github.com/nextcloud/server/pull/11446
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2018-10-11 15:14:33 +02:00
Roeland Jago Douma 18c35e6060 Normalize getUnjailedPath
Fixes #11637

If we do not normalize the unjailed path we might end up with a path
like files/user/folder/. which can break on objectstores

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-10-11 14:49:32 +02:00
Morris Jobke feb8a795ea Merge pull request #11761 from nextcloud/stable14-11756-ignore-session-lifetime-if-it-can-not-be-converted-to-a-number
[stable14] Ignore "session_lifetime" if it can not be converted to a number
2018-10-11 13:25:20 +02:00
Daniel Calviño Sánchez a246cc10fd Ignore "session_lifetime" if it can not be converted to a number
When "session_lifetime" can not be converted to a number the interval
becomes a NaN due to dividing it by 2. This NaN was "dragged" over all
the other mathematical operations and caused the csrftoken to be got
again and again due to an infinite loop with no pauses in "setInterval".
Now, the interval is set to the default value instead if the
"session_lifetime" can not be converted to a number.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-10-11 11:56:12 +02:00
Roeland Jago Douma 55e737afb1 Merge pull request #11662 from nextcloud/fix/11468/app-menu-scrollbar-14
[14] Fixes the apps menu scrollbar
2018-10-11 11:38:49 +02:00
Morris Jobke 51813f76d9 Merge pull request #11751 from nextcloud/release/14.0.2
14.0.2
2018-10-11 09:43:02 +02:00
Roeland Jago Douma 53fb47802c 14.0.2
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-10-11 08:56:36 +02:00
Morris Jobke 5bf4bc7ed1 Merge pull request #11738 from nextcloud/backport/11733/fix-setupcheck-14
[stable14] Fix a misleading setup check for .well-known/caldav & carddav
2018-10-11 08:49:57 +02:00
Bjoern Schiessle 84e39b522c some small fixes and improvements
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-10-10 16:08:49 +02:00
Morris Jobke 5f0887c1d5 Fix a misleading setup check for .well-known/caldav & carddav
The problem is that the version without the slash is the correct one.

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-10-10 15:54:12 +02:00
Nextcloud bot cef454c280 [tx-robot] updated from transifex 2018-10-10 00:13:24 +00:00
Bjoern Schiessle 7e608df598 adjust tests
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-10-09 18:32:09 +02:00
Morris Jobke 0fe69b1c13 Merge pull request #11715 from nextcloud/version/noid/14.0.2RC2
14.0.2 RC 2
2018-10-09 17:59:43 +02:00
Bjoern Schiessle 52c52f555d always query the lookup server in a global scale setup and have a nicer label
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-10-09 17:48:15 +02:00
Morris Jobke 09c270ab14 14.0.2 RC 2
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-10-09 15:34:20 +02:00
Morris Jobke 121edc9cfd Merge pull request #11720 from nextcloud/revert-11684-backport/10782/stable14
Revert "[stable14] in 14 the click action gets lost in the Backbone view."
2018-10-09 15:32:16 +02:00
Morris Jobke 6957e1f39c Revert "[stable14] in 14 the click action gets lost in the Backbone view." 2018-10-09 15:32:07 +02:00
Morris Jobke 022a45faed Merge pull request #11684 from nextcloud/backport/10782/stable14
[stable14] in 14 the click action gets lost in the Backbone view.
2018-10-09 14:30:57 +02:00
Morris Jobke 04460e2743 Merge pull request #11703 from nextcloud/backport/11677/stable14
[14] Allow the creationg of previews of files stored in appdata
2018-10-09 13:29:17 +02:00
Morris Jobke 2f14387420 Merge pull request #11706 from nextcloud/backport/11705/update-crl
[stable14] Update CRL due to changed cert for linkshareex
2018-10-09 13:18:42 +02:00
Morris Jobke 571f98ef86 Update CRL due to changed cert for linkshareex
See https://github.com/nextcloud/app-certificate-requests/pull/193

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-10-09 11:56:49 +02:00
Roeland Jago Douma f7e9533d1e Allow the creationg of previews of files stored in appdata
To allow us to create previews of files stored in appdata we need to
construct the view differently.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-10-09 11:49:02 +02:00
Nextcloud bot ecf14adf76 [tx-robot] updated from transifex 2018-10-09 00:12:37 +00:00
Arthur Schiwon 2419ff4909 in 14 the click action gets lost in the Backbone view.
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2018-10-08 17:46:09 +02:00
Nextcloud bot cd5da4700f [tx-robot] updated from transifex 2018-10-08 00:13:04 +00:00
Michael Weimann 14af19af58 Fixes the apps menu scrollbar
Signed-off-by: Michael Weimann <mail@michael-weimann.eu>
2018-10-07 13:59:40 +02:00
Nextcloud bot acffe7a74e [tx-robot] updated from transifex 2018-10-07 00:12:30 +00:00
Nextcloud bot 32aa38ebdb [tx-robot] updated from transifex 2018-10-06 00:12:23 +00:00
Nextcloud bot 723dbe242a [tx-robot] updated from transifex 2018-10-05 00:13:09 +00:00
Morris Jobke 1462508b80 Merge pull request #11588 from nextcloud/version/noid/14.0.1RC1
14.0.2 RC 1
2018-10-04 17:53:32 +02:00
Morris Jobke 84f7d23116 14.0.2 RC 1
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-10-04 16:35:05 +02:00
Morris Jobke 0afef27860 Merge pull request #11610 from nextcloud/bugfix/noid/stable14-fix-call-to-logger
[14] Fix call to logger
2018-10-04 15:45:04 +02:00
Daniel Kesselberg 718e34a075 Append error from exception for message
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2018-10-04 11:34:27 +02:00
Roeland Jago Douma ded541408c Merge pull request #11608 from nextcloud/users-table-header-fix-14
[stable14] Fix header border on users list
2018-10-04 10:21:48 +02:00
John Molakvoæ (skjnldsv) a623f96e86 Fix header border on users list
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-10-04 09:01:23 +02:00
Nextcloud bot e87ec7d2c9 [tx-robot] updated from transifex 2018-10-04 00:12:17 +00:00
Nextcloud bot 1302b6f267 [tx-robot] updated from transifex 2018-10-03 16:58:57 +00:00
Morris Jobke 5b33cbd507 Merge pull request #11582 from nextcloud/stb14-users-table-header-fix
[stable14] Fix sticky header on users list
2018-10-03 14:54:37 +02:00
Morris Jobke 0ca305b1c1 Merge pull request #11575 from nextcloud/stb14-add-group-settings
[stable14] Add new group entry on users list + fixes
2018-10-03 14:53:48 +02:00
Roeland Jago Douma 316a3a501c Merge pull request #11579 from nextcloud/stb14-dropdown-bottom-users-list-fix
[stable14] Force multiselect max-height to 5.5 items
2018-10-03 13:36:17 +02:00
Roeland Jago Douma 6734e434bc Merge pull request #11580 from nextcloud/backport/11568/stable14
[stable14] Just update password hash without validating
2018-10-03 13:35:51 +02:00
Morris Jobke 7d850c35aa Merge pull request #11577 from nextcloud/backport/11185/stable14
[stable14] Redirect guests to login if they follow the link of a comment mention-notifications
2018-10-03 12:58:27 +02:00
John Molakvoæ (skjnldsv) 0c4e27005a Fixed js error
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-10-03 12:16:16 +02:00
John Molakvoæ (skjnldsv) b9d273bdac Fix sticky header on users list
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-10-03 12:12:06 +02:00
Roeland Jago Douma 5e143f1f52 Just update password hash without validating
Fixes #11097

If your password hash changed (becuse your are on 7.2 and we moved to
ARGON2). Then we shold not 'set a new password' but just update the
hash. As else we invoke the password policy again which might lock out
users.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-10-03 12:09:43 +02:00
John Molakvoæ (skjnldsv) 22973fafee Force multiselect max-height to 5.5 items
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-10-03 12:06:25 +02:00
Joas Schilling cd435ab6b2 Redirect guests to login if they follow the link of a comment mention-notification
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-10-03 11:55:16 +02:00
John Molakvoæ (skjnldsv) 1f8a34f438 Add new group entry on users list + fixes
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-10-03 11:38:29 +02:00
Roeland Jago Douma 029aa8e9c0 Merge pull request #11558 from nextcloud/stable14-header-overflow
[stable14] Fix header overflow, fix more apps menu, fix #11552
2018-10-02 23:06:17 +02:00
Morris Jobke 591669a2b4 Merge pull request #11556 from nextcloud/stable14-files-list-width-sharing
[stable14] Reduce the min-width of the files table so it works on sharing pages on mobile
2018-10-02 21:46:13 +02:00
Morris Jobke 540c0017ae Merge pull request #11554 from nextcloud/backport/11111/fix-app-menu-ios
[stable14] Added kinetic scrolling for iOS to apps dropdown menu #10281
2018-10-02 21:45:39 +02:00
Roeland Jago Douma 5d0946aaa5 Merge pull request #11555 from nextcloud/backport/11435/stable14
throw an error if a node is smaller than expected in assemblystream
2018-10-02 21:37:27 +02:00
Jan-Christoph Borchardt 745e27e0cc Fix header overflow, fix more apps menu, fix #11552
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2018-10-02 21:13:11 +02:00
Robin Appelman 90fa65900b throw an error if a node is smaller than expected in assemblystream
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-10-02 20:31:45 +02:00
Jan-Christoph Borchardt 0bad377f4c Reduce the min-width of the files table so it works on sharing pages on mobile
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2018-10-02 20:30:57 +02:00
kevin147147 d05b13d3fd Added kinetic scrolling for iOS to apps dropdown menu #10281
this is tested with nc14
2018-10-02 20:26:06 +02:00
Roeland Jago Douma 27323c977f Merge pull request #11530 from nextcloud/stb14-brdcrmb-fx
Fix breadcrumbs
2018-10-02 10:10:58 +02:00
John Molakvoæ (skjnldsv) 720d195043 Fix breadcrumbs
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-10-02 08:59:35 +02:00
John Molakvoæ 086171918f Merge pull request #11525 from nextcloud/fix/11315/filepicker-buttons-nc14
[14] Fixes the move/copy picker buttons
2018-10-02 07:10:44 +02:00
Michael Weimann 72533658fe Fixes file/folder move/copy buttons
Signed-off-by: Michael Weimann <mail@michael-weimann.eu>
2018-10-01 23:16:56 +02:00
Jan-Christoph Borchardt 0f827ea1f4 Fix buttons wrapping on long folder names
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2018-10-01 23:16:45 +02:00
Roeland Jago Douma 491db08e42 Merge pull request #11516 from nextcloud/backport/11515/mimteype-list-update
[stable14] Add missing compiled mimetype list
2018-10-01 21:53:40 +02:00
Roeland Jago Douma e7cdacfbf3 Merge pull request #11511 from nextcloud/stable14-share-header
[stable14] Fix share header text on small widths
2018-10-01 17:36:51 +02:00
Roeland Jago Douma 7841c95f3f Merge pull request #11510 from nextcloud/stable14-public-footer
[stable14] Fix public page footer link wrap
2018-10-01 17:36:34 +02:00
Roeland Jago Douma c3a72ba10c Merge pull request #11505 from nextcloud/drone/14/no_branch_wildcard
[Stable14] Drone: do not check stable* but only stable14
2018-10-01 16:43:56 +02:00
Morris Jobke d026c424cd Add missing compiled mimetype list - see #10135
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-10-01 15:55:17 +02:00
Jan-Christoph Borchardt 687d050d90 Remove non-clickable right margin from 3-dot-menu in share page header
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2018-10-01 15:23:58 +02:00
Jan-Christoph Borchardt 1b92ec06b0 Ellipsize long filenames and sharee names in public share page header
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2018-10-01 15:23:53 +02:00
Jan-Christoph Borchardt 4e5849058b Fix public page footer link wrap
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2018-10-01 14:56:48 +02:00
Morris Jobke 565220adb6 Merge pull request #11492 from nextcloud/backport/11316/container-queryexception-only-14
[stable14] only catch QueryException when trying to build class
2018-10-01 14:21:43 +02:00
Morris Jobke 520eb52b26 Merge pull request #11493 from nextcloud/backport/11416/show-email-authtype-none-14
[stable14] Show auth type "None" in email settings
2018-10-01 12:34:48 +02:00
Roeland Jago Douma 6a9d244541 [Stable14] Drone: do not check stable* but only stable14
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-10-01 12:24:21 +02:00
Morris Jobke 8096ad5010 Merge pull request #11488 from nextcloud/backport/11047/typo-config-sample
[stable14] Fix typo in config.sample.php
2018-10-01 12:11:21 +02:00
Roeland Jago Douma 7529d43e7e Merge pull request #11490 from nextcloud/stable14-babel-npm-webpack-fixes
[stable14] Update config and babel for ie11
2018-10-01 12:01:40 +02:00
Roeland Jago Douma b7b91ba8b0 Merge pull request #11489 from nextcloud/backport/11123/2fa-button
[stable14] Bugfix 2FA theme: buttons white
2018-10-01 12:01:26 +02:00
Morris Jobke 1636393332 Show auth type "None" in email settings
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-10-01 10:48:53 +02:00
Robin Appelman e46092d7f6 only catch QueryException when trying to build class
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-10-01 10:44:58 +02:00
EASY f2a5a4d622 Used CSS Variables 2018-10-01 10:25:01 +02:00
John Molakvoæ (skjnldsv) 01b0a74df6 Update config and babel for ie11
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-10-01 10:25:00 +02:00
EASY d5876fe98a Update theming.scss 2018-10-01 10:24:57 +02:00
Marius Blüm f5851cda80 Fix typo in config.sample.php
Signed-off-by: Marius Blüm <marius@lineone.io>
2018-10-01 10:21:42 +02:00
Morris Jobke 99a705f69f Merge pull request #11451 from nextcloud/stable14_10833
[stable14] Re-enable upload button after updating Avatar
2018-10-01 10:19:07 +02:00
Tobia De Koninck 875d1b08ae Re-enable upload button after updating Avatar fixes #8623
Signed-off-by: Tobia De Koninck <LEDfan@users.noreply.github.com>
2018-09-29 10:39:34 +02:00
Roeland Jago Douma 48b48fad16 Merge pull request #11436 from nextcloud/assemblystream-eof-14
[14] AssemblyStream is also eof if we have no more source stream
2018-09-28 16:56:34 +02:00
Robin Appelman e3dab24a2a AssemblyStream is also eof if we have no more source stream
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-09-28 15:41:25 +02:00
Morris Jobke 3894e59e9c Merge pull request #11418 from nextcloud/stable14-11411-fix-checkWellKnownUrl-not-being-executed
[stable14] Fix "checkWellKnownUrl" not being run
2018-09-28 15:30:32 +02:00
Morris Jobke ae163ee42d Merge pull request #11421 from nextcloud/backport/11262/stable14
[stable14] use a dummy database name for the default postgres database name
2018-09-28 15:30:11 +02:00
Morris Jobke 72abd625b4 Merge pull request #11425 from nextcloud/stable14-hover-quota-used-space-regression
[stable14] Add back the total used space per user
2018-09-28 15:28:22 +02:00
Roeland Jago Douma d29b996072 Merge pull request #11430 from nextcloud/stable14-history-icon-center-fix
[stable14] Center back the history icon
2018-09-28 15:22:21 +02:00
John Molakvoæ (skjnldsv) fccd9c3c09 Cleanup
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-09-28 14:11:29 +02:00
John Molakvoæ (skjnldsv) a8a4d79a14 Center back the history icon
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-09-28 14:11:25 +02:00
Morris Jobke a646dba992 Merge pull request #11426 from nextcloud/stable14-inline-input-error-fix
[stable14] Fix invalid inline input confirm border
2018-09-28 11:32:31 +02:00
John Molakvoæ (skjnldsv) 79f1650e69 Fix invalid inline input confirm border
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-09-28 10:12:50 +02:00
Roeland Jago Douma c12689be8b Merge pull request #11422 from nextcloud/fix/acceptance-apps
Fix acceptance tests as app title changed
2018-09-28 09:16:09 +02:00
John Molakvoæ (skjnldsv) 1e5bcd0496 Add back the total used space per user
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-09-28 09:03:04 +02:00
Roeland Jago Douma 947f3b41be Fix acceptance tests as app title changed
The redundant app was removed. So we need to update the tests to make it
green.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-09-27 21:58:49 +02:00
Robin Appelman 0d626809f5 use a dummy database name for the default postgres database name
For some reason the docker image does not setup the permissions correctly,
by using a different name the nextcloud installer will create the database instead
with the correct permissions

Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-09-27 20:41:40 +02:00
Daniel Calviño Sánchez 79643ab4a2 Fix "checkWellKnownUrl" not being run
The check is run only if its last parameter is true; data() tries to
convert the HTML attribute string to an actual JavaScript value, so
"true" is returned as an actual boolean instead of an string; as a
strict comparison against "true" was used the result was false and thus
the checks were not run.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-09-27 18:13:57 +02:00
Roeland Jago Douma c2a9899656 Merge pull request #11385 from nextcloud/11372/fix/14-logo-height
[14] Fixes the logo height
2018-09-27 15:41:49 +02:00
Morris Jobke 5d84475e11 Merge pull request #11399 from nextcloud/stable14-11112-do-not-hide-the-progress-bar-while-the-chunked-upload-is-being-assembled
[stable14] Do not hide the progress bar while the chunked upload is being assembled
2018-09-27 14:05:48 +02:00
blizzz 6eab0d0ece Merge pull request #11389 from nextcloud/backport/11383/stable14
[stable14] do not explode when getting permissions from a FailedStorage
2018-09-27 10:51:43 +02:00
blizzz 1b493b783d Merge pull request #11350 from nextcloud/stable14-11258-fix-contacts-menu-on-mentions
[stable14] Fix contacts menu on mentions
2018-09-26 15:30:36 +02:00
Arthur Schiwon 5a20ac9863 do not explode when getting permissions from a FailedStorage
for instance if a user of an external user backend is not available
currently, the whole Files UI would be frozen.

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2018-09-26 13:33:59 +02:00
Michael Weimann 2ece32b028 Fixes the logo height
Signed-off-by: Michael Weimann <mail@michael-weimann.eu>
2018-09-26 12:38:48 +02:00
Daniel Calviño Sánchez e82fe088c8 Do not hide the progress bar while the chunked upload is being assembled
Large files are not uploaded in a single operation, but uploaded in
several chunks; once all the chunks are uploaded then the server needs
to assemble them to get the final file.

Before, once the chunks were uploaded the progress bar was hidden.
However, this was confusing for the users, as the file could still need
some time to appear in the file list due to the assembling. Now once all
the chunks are uploaded the text in the progress bar changes to inform
the user that there are still some pending operations, and only when the
file is finally assembled the progress bar is hidden.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-09-26 12:35:50 +02:00
blizzz 6c4f3ac1d6 Merge pull request #11373 from nextcloud/gs-and-saml-stable14
[stable14] make the server ready to use global scale with SAML as auth back-end
2018-09-26 11:04:54 +02:00
Morris Jobke 7bdf3f1a94 Merge pull request #11374 from nextcloud/stable14-content-list-flex-fixes
[stable14] Fix default flex shrink on list
2018-09-26 10:11:32 +02:00
John Molakvoæ (skjnldsv) 8f9571bc3b Fix default flex shrink on list
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-09-25 14:33:03 +02:00
Bjoern Schiessle 28d60274ce add back-end as parameter to the pre-login hook
This is needed for the Global Scale setup to allow the master
node to perform different operations during login, depending
on the user management. Because in case of SAML, the authentication
at the idp happens at the master node.

Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-09-25 14:17:10 +02:00
Joas Schilling d96adc01b7 Merge pull request #11361 from nextcloud/rel-14.0.1
Increase version for 14.0.1
2018-09-25 08:33:42 +02:00
Joas Schilling 884ac1e117 Increase version for 14.0.1
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-09-25 08:19:39 +02:00
Morris Jobke c35401110a Merge pull request #11340 from nextcloud/stable14-add-unit-test-findlanguagefromlocale
[14] Add unit test for findLanguageFromLocale
2018-09-24 12:20:31 +02:00
Daniel Calviño Sánchez c274344160 Fix position of contacts menu shown on mentions
There are no default CSS rules for the contacts menu, as its position
depends on the element on which it is shown. Note, however, that if no
explicit rules are provided the contacts menu on mentions is affected by
the rules for the contacts menu on shares from the sharing tab.

The contacts menu is now positioned to show the tip of the arrow
horizontally aligned with the center of the avatar, and with the top of
the menu slightly below the bottom border of the mention.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-09-24 09:58:23 +02:00
Daniel Calviño Sánchez d0c3b45f0f Fix contacts menu not triggered on certain areas of a mention
The contacts menu was triggered only when the avatar or the name of the
user were clicked. Due to this, clicking on certain (small) areas of a
mention (like the right end, or the space between the avatar and the
name) did not show the contacts menu. Now the contacts menu is shown
when any area of the mention is clicked.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-09-24 09:58:23 +02:00
Daniel Kesselberg 62b9ae21fe Add simple unit test for findLanguageFromLocale
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2018-09-23 23:15:05 +02:00
Joas Schilling 1f714124bb Merge pull request #11259 from nextcloud/fix/11144/backport14
[14] Fixes empty favorite names for trailing slashes
2018-09-20 13:43:24 +02:00
Joas Schilling 4d8f69f7a4 Merge pull request #11173 from nextcloud/update-version-14.0.1
Prepare 14.0.1 release
2018-09-20 12:48:49 +02:00
Joas Schilling e77bd8a894 Prepare 14.0.1 release
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-09-20 10:58:49 +02:00
blizzz ea73f30d77 Merge pull request #11302 from nextcloud/backport/11297/this-database-dude
[stable14] Fix expiration code of tokens
2018-09-20 10:52:15 +02:00
blizzz 0c85cb1ea9 Merge pull request #11077 from nextcloud/stable14-11064-fix-markup-and-style-of-mentions-in-comments
[stable14] Fix markup and style of mentions in comments
2018-09-20 10:37:23 +02:00
blizzz a0f2bd8d28 Merge pull request #11294 from nextcloud/stable14-locale-template-fix
[stable14] Use user locale as default in the template
2018-09-20 10:37:00 +02:00
Joas Schilling e5176960ce Merge pull request #11288 from nextcloud/backport/11171/shared-by-info-for-room-shares-without-names
[stable14] Shared by info for room shares without names
2018-09-20 10:26:18 +02:00
Joas Schilling 9a4ad9cd17 Merge pull request #11287 from nextcloud/backport/11041/get_permission_of_storage_for_shares
[stable14] Get permission of storage for shares
2018-09-20 10:25:34 +02:00
Joas Schilling 2153bcfea8 Merge pull request #11293 from nextcloud/backport/11292/do-not-apcu-cache-the-autoloader
[stable14] Revert "Use APCu caching of composer"
2018-09-20 10:08:02 +02:00
Joas Schilling 6718bfb83d Also adjust the expiration of PublicKeyTokenProvider
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-09-20 10:00:08 +02:00
Joas Schilling 3a179b2519 Copy the expiration from 480864b3e3 to getTokenById
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-09-20 09:59:53 +02:00
blizzz 8dff9460b8 Merge pull request #11291 from nextcloud/stable14-fix-icons-cacher
[stable14] Fix icons cacher regex for compressed output
2018-09-19 22:40:15 +02:00
Michael Weimann 43889d1a49 Fixes empty favorite names for trailing slashes
Signed-off-by: Michael Weimann <mail@michael-weimann.eu>
2018-09-19 17:44:54 +02:00
John Molakvoæ (skjnldsv) fcda1f7124 Fix since tag
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-09-19 16:13:26 +02:00
John Molakvoæ (skjnldsv) efbd98183d Fallback to $lang if no $locale match
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-09-19 16:13:22 +02:00
John Molakvoæ (skjnldsv) d69ddd94de Typehint
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-09-19 16:13:19 +02:00
John Molakvoæ (skjnldsv) ccb8838854 Since requirement
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-09-19 16:13:14 +02:00
John Molakvoæ (skjnldsv) 19350c4b95 Fix public l10n
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-09-19 16:13:10 +02:00
John Molakvoæ (skjnldsv) 258330d64d Use user locale as default in the template
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-09-19 16:13:06 +02:00
Joas Schilling c02c63f53a Merge pull request #11282 from nextcloud/backport/11183/fix-link-for-update-notifications
[stable14] Fix the link and anchor for the update notifications
2018-09-19 15:59:25 +02:00
Joas Schilling 86a2d1fecd Revert "Use APCu caching of composer"
This reverts commit 948ab8a4d0.

For details why see https://github.com/nextcloud/server/issues/11290
2018-09-19 15:56:30 +02:00
John Molakvoæ (skjnldsv) e2991d55c7 Fix icons cacher regex for compressed output
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-09-19 15:47:33 +02:00
blizzz bea36f9992 Merge pull request #11283 from nextcloud/stable14-11268-include-empty-directories-in-the-default-state-of-acceptance-tests
[stable14] Include empty directories in the default state of acceptance tests
2018-09-19 15:24:28 +02:00
blizzz 64d8f74c32 Merge pull request #11280 from nextcloud/backport/11080/stable14
[stable14] replace setcookie value with '' instead of null.
2018-09-19 15:18:01 +02:00
blizzz cfca80ef69 Merge pull request #11277 from nextcloud/stable14-11257-prevent-comment-being-composed-from-overlapping-the-submit-button
[stable14] Prevent comment being composed from overlapping the submit button
2018-09-19 15:17:12 +02:00
blizzz 27a3867094 Merge pull request #11276 from nextcloud/stable14-11054-fix-size-of-icons-in-menus-inside-apps-when-shown-as-images
[stable14] Fix size of icons in menus inside apps when shown as images
2018-09-19 15:16:23 +02:00
Joas Schilling 7b3e3ee898 Better shared-by info for conversations without names
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-09-19 13:46:13 +02:00
Roeland Jago Douma 5e13368299 Update test now that we check permissions properly
Now that we actually check thepermissions properly we have to update the
tests.

* We checked an invalid path
* We checked from wrong permissions (files never have CREATE permissions
for example)

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-09-19 13:28:21 +02:00
Roeland Jago Douma b66b2de6ff Properly check share permissions
isCreatable only works on folders
isUpdatable if the file is not there but it is a part file also has to
be checked on the folder

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-09-19 13:28:13 +02:00
Roeland Jago Douma 43f73ad808 Fix shared cache
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-09-19 13:28:04 +02:00
Roeland Jago Douma 4cc8cdc276 Check the permission of the underlying storage
Else shares might expose more permissions than the storage actually
providers.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-09-19 13:27:57 +02:00
Daniel Calviño Sánchez 3a30fa1235 Include empty directories in the default state of acceptance tests
Before each scenario of the acceptance tests is run the Nextcloud server
is reset to a default state. To do this the full directory of the
Nextcloud server is commited to a local Git repository and then reset to
that commit when needed.

Unfortunately, Git does not support including empty directories in a
commit. Due to this, when the default state was restored, it could
happen that the file cache listed an empty directory that did not exist
because it was not properly restored (for example,
"data/appdata_*/css/icons"), and that in turn could lead to an error
when the directory was used.

Currently the only way to force Git to include an empty directory is to
add a dummy file to the directory (so it will no longer be empty,
but that should not be a problem in the affected directories, even if
the dummy file is not included in the file cache); although Git FAQ
suggests using a ".gitignore" file a ".keep" file was used instead, as
it conveys better its purpose.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-09-19 12:50:32 +02:00
Joas Schilling d50fa1bdb8 Fix the link and anchor for the update notifications
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-09-19 12:12:13 +02:00
MartB fbc1f5cd38 replace setcookie value with '' instead of null.
The php documentation states that an empty string should be used for a cookie when it has no real value.
null leads to the following error: expects parameter 2 to be string, null given

Signed-off-by: Martin Böh <mart.b@outlook.de>
2018-09-19 11:47:40 +02:00
Daniel Calviño Sánchez 896c8df6ad Prevent comment being composed from overlapping the submit button
The submit button is placed in the text area using absolute positioning,
so it is not taken into account when calculating the text layout. Due to
this it is necessary to add an explicit padding to the right of the text
area to prevent the text from overlapping the submit button.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-09-19 08:51:42 +02:00
Daniel Calviño Sánchez a9fa17eb7e Fix size of icons in menus inside apps when shown as images
Some popover menus, like the contacts menu, still show their icon using
an img element. The main CSS rules assume that a "content-box" sizing is
being used, and thus set the size and padding of the image to add up to
the line height.

However, ".app-*" descendants use a "border-box" sizing, so when a menu
with an image was shown in an app the icon was not properly shown. Now
both the width and height of the image is set to the item height in
those cases, which causes the visible size of the icon to be the item
height minus the padding (the same as when "content-box" sizing is
used).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-09-19 08:46:53 +02:00
Joas Schilling fb9379db3e Merge pull request #11237 from nextcloud/backport/11042/stable14
[stable14] Remove filter_var flags due to PHP 7.3 deprecation, fixes #10894
2018-09-17 10:10:54 +02:00
Patrik Kernstock 5058333445 Remove filter_var flags due to PHP 7.3 deprecation, fixes #10894
Signed-off-by: Patrik Kernstock <info@pkern.at>
2018-09-16 04:45:15 +02:00
Joas Schilling 5bf377463e Merge pull request #11201 from nextcloud/backport/11036/stable14
[stable14]  fix check for more users in sharing dialogue
2018-09-13 11:21:08 +02:00
blizzz 2823d7a6f5 Merge pull request #11191 from nextcloud/backport/11091-cannot-read-passwd
[14] Remove posix_getpwuid and compare only userid
2018-09-13 10:32:29 +02:00
Arthur Schiwon 72588b69bb Backport of #11036 to stable14
fix check for more users

after a refactor users et al were undefined. The check condition was moved.

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>

don't user a higher paging size than max autocomplete entries are set

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>

adjust and extend js unit tests

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2018-09-13 10:20:55 +02:00
Daniel Kesselberg 843df1c009 Add int-typehint
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2018-09-12 15:08:30 +02:00
Daniel Kesselberg 53ecdfec51 Remove posix_getpwuid and compare only userid
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2018-09-12 15:08:19 +02:00
blizzz 4165f332de Merge pull request #11187 from nextcloud/backport/11133/invalid-exception
[stable14] Fix exception class
2018-09-12 13:21:50 +02:00
blizzz 8e3e25a057 Merge pull request #11186 from nextcloud/backport/11181/user-list-broken-with-integer-only-users
[stable14] Fix user and group listing with users that have an integer user id
2018-09-12 13:17:13 +02:00
Joas Schilling 2518cdd2d9 Fix exception class
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-09-12 11:57:43 +02:00
Joas Schilling 73e870bd78 Fix user and group listing with users that have an integer user id
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-09-12 11:54:22 +02:00
John Molakvoæ 5209348c64 Merge pull request #11152 from nextcloud/davclient-js-decode-14
[14] fix js files client for user names with spaces
2018-09-11 10:46:12 +02:00
Robin Appelman 9b64c27ce2 fix js files client for user names with spaces
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-09-10 22:39:06 +02:00
Roeland Jago Douma e296f7d348 Merge pull request #11090 from nextcloud/backport/11082/stable14
[stable14] Do not invalidate main token on OAuth
2018-09-07 13:59:45 +02:00
Roeland Jago Douma 5b89eff367 Merge pull request #11103 from nextcloud/backport/token_expire_hardening
[stable14] Expire tokens hardening
2018-09-07 13:59:10 +02:00
Roeland Jago Douma b580ef18c8 Merge pull request #11039 from nextcloud/backport/fix/10968/upload-progress
Fixes the upload progress bar layout - 14 backport
2018-09-07 13:58:58 +02:00
Roeland Jago Douma c83ac2472d Expire tokens hardening
Just to be sure that the field is also not 0

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-09-07 10:02:56 +02:00
Roeland Jago Douma 54859329ef Do not invalidate main token on OAuth
Fixes #10584

We deleted the main token when using the login flow else mutliple tokens
would show up for a single user.

However in the case of OAuth this is perfectly fine as the
authentication happens really in your browser:

1. You are already logged in, no need to log you out
2. You are not logged in yet, but since you log in into the exact same
browser the expected behavior is to stay logged in.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-09-06 13:28:48 +02:00
Roeland Jago Douma 1b35dc1cba Merge pull request #11069 from nextcloud/release/14.0.0
14.0.0 final
2018-09-06 09:25:18 +02:00
Roeland Jago Douma b619e8ddde 14.0.0 final
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-09-06 08:35:10 +02:00
Daniel Calviño Sánchez 51b978d3f0 Add new line at the end of file
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-09-05 20:59:02 +02:00
Daniel Calviño Sánchez 2e424d84a4 Ensure that the avatar and the user name will be kept together
Otherwise a line break could be added between the avatar and the user
name when the wrapper is close to the right border of the message.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-09-05 20:59:02 +02:00
Daniel Calviño Sánchez e7d4d3a34b Remove unneeded CSS rule for mentions
Most of the properties of the rule are not needed for mentions, so the
rule is no longer applied to them; the only needed property was moved to
the main rule for mentions.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-09-05 20:59:02 +02:00
Daniel Calviño Sánchez 7c851b5b77 Fix pointer cursor not shown on avatars
When the cursor is on an avatar wrapper the cursor is shown as a pointer
to inform the user that it can be clicked (which will either show the
contacts menu or insert a mention, depending on the case); the cursor
must be explicitly defined for the "img" element that shows the avatar
too, or otherwise the default cursor would be shown.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-09-05 20:59:02 +02:00
Daniel Calviño Sánchez b14425ef6f Highlight mentions to the current user
Like done in Talk, mentions to the current user are now shown with the
primary colors to make them more prominent.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-09-05 20:59:02 +02:00
Daniel Calviño Sánchez 3c63850117 Ensure that the user name is shown in bold in mentions
Different browsers use different font weights for strong elements
(Chromium uses "bold", but Firefox uses "bolder", which is relative to
the font weight of the parent), so now the user name in mentions is
explicitly shown with a bold weight.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-09-05 20:59:02 +02:00
Daniel Calviño Sánchez 6b7e049288 Reformat embedded HTML code to resemble HTML code
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-09-05 20:59:02 +02:00
Daniel Calviño Sánchez 3ee07ac770 Remove space between avatar and user name
The avatar should be shown immediately after the avatar to be able to
accurately define the space between them using only CSS rules.

Note that in the case of the "atwho" menu it is not really needed, as a
whitespace removal seems to be done automatically by the plugin, but it
was modified for its displayed elements too for consistency.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-09-05 20:59:02 +02:00
Daniel Calviño Sánchez da75c7ff6d Show avatar using "span" instead of "div"
Visually it makes no difference, but as the ".avatar" element is inside
a "span" element it can not be a block element to be compliant with the
HTML specification.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-09-05 20:59:02 +02:00
Georg Ehrke 4173f9d588 Merge pull request #11071 from nextcloud/bugfix-stable14/10727
[stable14] remove LogicException, because it's also triggered with legitimate pa…
2018-09-05 18:08:55 +02:00
Georg Ehrke 2bdc407a82 remove LogicException, because it's also triggered with legitimate parameters
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2018-09-05 14:12:27 +02:00
Roeland Jago Douma b08f67085d Merge pull request #11052 from nextcloud/backport/10963/stable14
[stable14] Updates logo scss to regard default values
2018-09-05 10:30:29 +02:00
Michael Weimann b0d9030388 Updates logo scss to regard default values
Signed-off-by: Michael Weimann <mail@michael-weimann.eu>
2018-09-04 21:27:45 +02:00
Michael Weimann 209b3bee68 Fixes the upload progress bar layout
Signed-off-by: Michael Weimann <mail@michael-weimann.eu>
2018-09-03 21:13:28 +02:00
14816 changed files with 659904 additions and 1323290 deletions
+3
View File
@@ -0,0 +1,3 @@
{
"directory": "core/vendor"
}
+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
-91
View File
@@ -1,91 +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 wget curl git \
lsb-release ca-certificates apt-transport-https && \
add-apt-repository ppa:ondrej/php -y && \
apt-get update -y
RUN apt-get install --no-install-recommends -y \
php8.4 \
php8.4-common \
php8.4-gd \
php8.4-zip \
php8.4-curl \
php8.4-xml \
php8.4-xmlrpc \
php8.4-mbstring \
php8.4-sqlite \
php8.4-xdebug \
php8.4-pgsql \
php8.4-intl \
php8.4-imagick \
php8.4-gmp \
php8.4-apcu \
php8.4-bcmath \
php8.4-redis \
php8.4-soap \
php8.4-imap \
php8.4-opcache \
php8.4-cli \
php8.4-dev \
libmagickcore-6.q16-7-extra \
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.4/cli/conf.d/20-xdebug.ini && \
echo "xdebug.remote_autostart = 1" >> /etc/php/8.4/cli/conf.d/20-xdebug.ini && \
echo "apc.enable_cli=1" >> /etc/php/8.4/cli/conf.d/20-apcu.ini
# Autostart XDebug for apache
RUN { \
echo "xdebug.mode=debug"; \
echo "xdebug.start_with_request=yes"; \
} >> /etc/php/8.4/apache2/conf.d/20-xdebug.ini
# Increase PHP memory limit to 512mb
RUN sed -i 's/memory_limit = .*/memory_limit = 512M/' /etc/php/8.4/apache2/php.ini
# Docker CLI only (for controlling host Docker via socket)
RUN install -m 0755 -d /etc/apt/keyrings && \
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc && \
chmod a+r /etc/apt/keyrings/docker.asc && \
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
tee /etc/apt/sources.list.d/docker.list > /dev/null && \
apt-get update -y && \
apt-get install -y docker-ce-cli && \
ln -s /var/run/docker-host.sock /var/run/docker.sock
# Dedicated DevContainer user runs Apache
ENV APACHE_RUN_USER=devcontainer
ENV APACHE_RUN_GROUP=devcontainer
# Delete any existing user/group with UID/GID 1000 first
RUN (getent passwd 1000 && userdel -r $(getent passwd 1000 | cut -d: -f1)) || true && \
(getent group 1000 && groupdel $(getent group 1000 | cut -d: -f1)) || true && \
groupadd -g 1000 ${APACHE_RUN_GROUP} && \
useradd -u 1000 -g 1000 -ms /bin/bash ${APACHE_RUN_USER} && \
adduser ${APACHE_RUN_USER} sudo && \
echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers && \
sed -ri "s/^export APACHE_RUN_USER=.*$/export APACHE_RUN_USER=${APACHE_RUN_USER}/" "/etc/apache2/envvars" && \
sed -ri "s/^export APACHE_RUN_GROUP=.*$/export APACHE_RUN_GROUP=${APACHE_RUN_GROUP}/" "/etc/apache2/envvars"
USER devcontainer
# NVM
RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
RUN bash --login -i -c 'source /home/devcontainer/.bashrc && nvm install 22'
WORKDIR /var/www/html
-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
-37
View File
@@ -1,37 +0,0 @@
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
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
-13
View File
@@ -1,13 +0,0 @@
#!/bin/bash
#
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
#
# Set git safe.directory
git config --global --add safe.directory /var/www/html
git config --global --add safe.directory /var/www/html/3rdparty
# Ensure devcontainer user has access to docker socket
if [ -S /var/run/docker.sock ]; then
sudo chmod 666 /var/run/docker.sock
fi
-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
+2317
View File
File diff suppressed because it is too large Load Diff
-36
View File
@@ -1,36 +0,0 @@
# https://editorconfig.org
# SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
root = true
[*]
charset = utf-8
end_of_line = lf
indent_size = 4
indent_style = tab
insert_final_newline = true
trim_trailing_whitespace = true
[*.yml]
indent_size = 2
indent_style = space
[*.md]
trim_trailing_whitespace = false
[*.svg]
insert_final_newline = false
[package*.json]
indent_size = 2
indent_style = space
[build/psalm-baseline.xml]
indent_size = 2
indent_style = space
[config/*config.php]
indent_size = 2
indent_style = space
-3
View File
@@ -1,3 +0,0 @@
watch_file lib/versioncheck.php
watch_file package.json
use flake
-25
View File
@@ -1,25 +0,0 @@
# .git-blame-ignore-revs
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
# Format control structures
caff1023ea72bb2ea94130e18a2a6e2ccf819e5f
# Update to coding-standard 1.1.1
aa5f037af71c915424c6dcfd5ad2dc82797dc0d6
# Update to coding-standard 1.2.3
af6de04e9e141466dc229e444ff3f146f4a34765
0bd284cb81b6866338aaaa67aa1d81ef9bfbb2ab
8af7ecb2576071f170ecbb0aa2311b26581e40e2
# Update to coding-standard 1.3.1
9836e9b16484582d309c8437ab46d82e34956941
# Automated refactorings
49dd79eabb2b8902559a7a4e8f8fcad54f46b604
# @nextcloud/vue import paths
b06f5ba4c47450f355a8903c1a93ac68e8c6cfc2
# Update to coding-standard 1.4.0
5981b7eb512aa411f51cad541d01c5c6e93476f0
# Migrate `and` `or` operators to logical `&&` `||` operators
660f3f6fd1ae5539b8f74bfa48859d1b9f1e6abf
# Migrate to ESLint v9 enforced code style
91f3b6b4ee60e0f8bb6e21f92d5bc52e4cebe657
-6
View File
@@ -1,6 +0,0 @@
# 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
+2 -111
View File
@@ -1,111 +1,2 @@
# Fallback owners for code review - ensure all PRs have someone assigned for review.
# (the last match will used so this is only used if there is no more specific code owner below)
# Backend
# is the first and gets everything to make things easier from matching syntax
* @nextcloud/server-backend
# Frontend
# this will override the backend code owners if needed
/__mocks__ @nextcloud/server-frontend
/__tests__ @nextcloud/server-frontend
/dist @nextcloud/server-frontend
/cypress @nextcloud/server-frontend
**/css @nextcloud/server-frontend
**/js @nextcloud/server-frontend
**/src @nextcloud/server-frontend
*.js @nextcloud/server-frontend
*.cjs @nextcloud/server-frontend
*.mjs @nextcloud/server-frontend
*.ts @nextcloud/server-frontend
# dependency management
package.json @nextcloud/server-dependabot @nextcloud/server-frontend
package-lock.json @nextcloud/server-dependabot
# App maintainers
/apps/admin_audit/appinfo/info.xml @luka-nextcloud @blizzz
/apps/cloud_federation_api/appinfo/info.xml @nfebe @mejo-
/apps/comments/appinfo/info.xml @edward-ly @sorbaugh
/apps/contactsinteraction/appinfo/info.xml @kesselb @SebastianKrupinski
/apps/contactsinteraction/lib @kesselb @SebastianKrupinski
/apps/contactsinteraction/tests @kesselb @SebastianKrupinski
/apps/dashboard/appinfo/info.xml @julien-nc @juliusknorr
/apps/dav/lib/CalDAV @ChristophWurst @SebastianKrupinski @tcitworld
/apps/dav/lib/CardDAV @hamza221 @SebastianKrupinski
/apps/dav/tests/unit/CalDAV @ChristophWurst @SebastianKrupinski @tcitworld
/apps/dav/tests/unit/CardDAV @hamza221 @SebastianKrupinski
/apps/encryption/appinfo/info.xml @come-nc @icewind1991
/apps/federatedfilesharing/appinfo/info.xml @icewind1991 @danxuliu
/apps/federation/appinfo/info.xml @nfebe @sorbaugh
/apps/files/appinfo/info.xml @skjnldsv @ArtificialOwl @come-nc @artonge @icewind1991 @szaimen @susnux @nfebe
/apps/files_external/appinfo/info.xml @icewind1991 @artonge
/apps/files_reminders/appinfo/info.xml @skjnldsv @sorbaugh
/apps/files_sharing/appinfo/info.xml @skjnldsv @come-nc
/apps/files_trashbin/appinfo/info.xml @icewind1991 @sorbaugh
/apps/files_versions/appinfo/info.xml @artonge @icewind1991
/apps/oauth2/appinfo/info.xml @julien-nc @ChristophWurst
/apps/provisioning_api/appinfo/info.xml @provokateurin @nickvergessen
/apps/settings/appinfo/info.xml @JuliaKirschenheuter @sorbaugh
/apps/sharebymail/appinfo/info.xml @Altahrim @skjnldsv
/apps/systemtags/appinfo/info.xml @Antreesy @marcelklehr
/apps/theming/appinfo/info.xml @skjnldsv @juliusknorr
/apps/twofactor_backupcodes/appinfo/info.xml @miaulalala @ChristophWurst
/apps/updatenotification/appinfo/info.xml @JuliaKirschenheuter @sorbaugh
/apps/user_ldap/appinfo/info.xml @come-nc @blizzz
/apps/user_status/appinfo/info.xml @Antreesy @nickvergessen
/apps/weather_status/appinfo/info.xml @julien-nc @juliusknorr
/apps/webhook_listeners/appinfo/info.xml @come-nc @julien-nc
/apps/workflowengine/appinfo/info.xml @blizzz @juliusknorr
# Files frontend expertise
/apps/files/src* @skjnldsv @nextcloud/server-frontend
/apps/files_external/src* @skjnldsv @nextcloud/server-frontend
/apps/files_reminders/src* @skjnldsv @nextcloud/server-frontend
/apps/files_sharing/src/actions* @skjnldsv @nextcloud/server-frontend
/apps/files_trashbin/src* @skjnldsv @nextcloud/server-frontend
# Security team
/build/psalm-baseline-security.xml @nickvergessen @nextcloud/server-backend
/resources/codesigning @mgallien @miaulalala @nickvergessen
/resources/config/ca-bundle.crt @miaulalala @nickvergessen
# Two-Factor Authentication
# https://github.com/nextcloud/wg-two-factor-authentication#members
**/TwoFactorAuth @ChristophWurst @miaulalala @nickvergessen
/apps/twofactor_backupcodes @ChristophWurst @miaulalala @nickvergessen
/core/templates/twofactor* @ChristophWurst @miaulalala @nickvergessen
# Limit login to IP
# Watch login routes for https://github.com/nextcloud/limit_login_to_ip
/core/routes.php @Altahrim @nextcloud/server-backend
# OpenAPI
openapi*.json @provokateurin @nextcloud/server-backend
ResponseDefinitions.php @provokateurin @nextcloud/server-backend
# Talk team
/lib/private/Comments @nickvergessen @nextcloud/talk-backend
/lib/private/Federation @nickvergessen @nextcloud/talk-backend @nextcloud/server-backend
/lib/private/Talk @nickvergessen @nextcloud/talk-backend
/lib/public/Comments @nickvergessen @nextcloud/talk-backend
/lib/public/Federation @nickvergessen @nextcloud/talk-backend @nextcloud/server-backend
/lib/public/OCM @nickvergessen @nextcloud/talk-backend @nextcloud/server-backend
/lib/public/Talk @nickvergessen @nextcloud/talk-backend
/lib/public/UserStatus @nickvergessen @nextcloud/talk-backend
*/Notifications/* @nickvergessen @nextcloud/talk-backend
# Groupware team
/build/integration/dav_features/caldav.feature @ChristophWurst @SebastianKrupinski @tcitworld
/build/integration/dav_features/carddav.feature @hamza221 @SebastianKrupinski
/lib/private/Calendar @ChristophWurst @SebastianKrupinski @tcitworld
/lib/private/Contacts @hamza221 @SebastianKrupinski
/lib/public/Calendar @ChristophWurst @SebastianKrupinski @tcitworld
/lib/public/Contacts @hamza221 @SebastianKrupinski
# Desktop client teamn
/apps/dav/lib/Connector/Sabre/BlockLegacyClientPlugin.php @nextcloud/desktop
# Personal interest
*/Activity/* @nickvergessen @nextcloud/server-backend
/apps/workflowengine/lib @nickvergessen @blizzz
*/Activity/* @nickvergessen
*/Notifications/* @nickvergessen
-79
View File
@@ -1,79 +0,0 @@
<!--
- 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).
### Short version
* The [**issue templates can be found here**][templates] but be aware of the different repositories! See list below. Please always use an issue template when reporting issues.
### Guidelines
* Please search the existing issues first, it's likely that your issue was already reported or even fixed.
- Go to one of the repositories, click "issues" and type any word in the top search/command bar.
- 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 ([server](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/)
* Report the issue using one of our [templates][templates], they include all the information we need to track down the issue.
Help us to maximize the effort we can spend fixing issues and adding new features, by not reporting duplicate issues.
[templates]: ./ISSUE_TEMPLATE
[forum]: https://help.nextcloud.com/
[irc]: https://web.libera.chat/#nextcloud
## Contributing to Source Code
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.
It is a must have that changed and added code segments are unit tested.
In some areas unit testing is hard (aka almost impossible) as of today - in these areas refactoring WHILE fixing a bug is encouraged to enable unit testing.
### Sign your work
We use the Developer Certificate of Origin (DCO) as an 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>
```
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
commit automatically with `git commit -s`. You can also use git [aliases](https://git-scm.com/book/tr/v2/Git-Basics-Git-Aliases)
like `git config --global alias.ci 'commit -s'`. Now you can commit with
`git ci` and the commit will be signed.
### Apply a license
In case you are not sure how to add or update the license header correctly please have a look at [contribute/HowToApplyALicense.md][applyalicense]
[devmanual]: https://docs.nextcloud.com/server/latest/developer_manual/
[dcofile]: https://github.com/nextcloud/server/blob/master/contribute/developer-certificate-of-origin
[applyalicense]: https://github.com/nextcloud/server/blob/master/contribute/HowToApplyALicense.md
## Translations
Please submit translations via [Transifex][transifex].
[transifex]: https://www.transifex.com/nextcloud
-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/
-212
View File
@@ -1,212 +0,0 @@
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
name: "🐛 Bug report: Nextcloud Server"
description: "Submit a report and help us improve Nextcloud Server"
title: "[Bug]: "
labels: ["bug", "0. Needs triage"]
type: "Bug"
body:
- type: markdown
attributes:
value: |
### 👍 Thank you for contributing to our project!
Please note this is a **free and open-source** project. Most people take on their own time to help you, so please, be patient.
You can obtain [Enterprise support](https://nextcloud.com/support/) if you run Nextcloud Server in a mission critical environment.
- type: markdown
attributes:
value: |
### 🚨 SECURITY INFO
If you are reporting a security concern, please report it via [our HackerOne page](https://hackerone.com/nextcloud) instead and review our [security policy](https://nextcloud.com/security/).
This allows us to coordinate the fix and release without potentially exposing all Nextcloud servers and users in the meantime.
It also may qualify your report for a bug bounty reward.
Thank you for helping make Nextcloud more secure!
- type: checkboxes
id: before-posting
attributes:
label: "⚠️ This issue respects the following points: ⚠️"
description: All conditions are **required**. Your issue can be closed if these are checked incorrectly.
options:
- label: This is a **bug**, not a question or a configuration/webserver/proxy issue.
required: true
- label: This issue is **not** already reported on [Github](https://github.com/nextcloud/server/issues?q=is%3Aopen+is%3Aissue+label%3Abug) OR [Nextcloud Community Forum](https://help.nextcloud.com/) _(I've searched it)_.
required: true
- label: Nextcloud Server **is** up to date. See [Maintenance and Release Schedule](https://github.com/nextcloud/server/wiki/Maintenance-and-Release-Schedule) for supported versions.
required: true
- label: I agree to follow Nextcloud's [Code of Conduct](https://nextcloud.com/contribute/code-of-conduct/).
required: true
- type: textarea
id: bug-description
attributes:
label: Bug description
description: |
Provide a description of the bug you're experiencing.
Don't just expect someone will guess what your specific problem is and provide full details.
validations:
required: true
- type: textarea
id: reproduce
attributes:
label: Steps to reproduce
description: |
Describe the steps to reproduce the bug.
The better your description is _(go 'here', click 'there'...)_ the fastest you'll get an _(accurate)_ answer.
value: |
1.
2.
3.
validations:
required: true
- type: textarea
id: expected-behavior
attributes:
label: Expected behavior
description: Describe what you expected to happen instead.
validations:
required: true
- type: dropdown
id: nextcloud-version
attributes:
label: Nextcloud Server version
description: |
Select Nextcloud Server version.
_Versions not listed here are not maintained and not supported anymore_
options:
- "32"
- "33"
- "34 (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.5"
- "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).
-45
View File
@@ -1,45 +0,0 @@
---
name: 🚀 Feature request
about: Suggest an idea for this project
labels: enhancement, 0. Needs triage
type: "Enhancement"
---
<!--
Have a security concern? Please report potential security issues via our HackerOne program (https://hackerone.com/nextcloud) instead of filing a public GitHub issue. See our security policy: https://nextcloud.com/security/
-->
<!--
Thanks for taking the time to suggest improvements to Nextcloud! Use this form to request features or propose enhancements.
Guidelines:
* Please search existing issues first; your idea may already have been discussed or implemented.
* This repository (https://github.com/nextcloud/server/issues) is only for issues within the Nextcloud Server code. This includes shipped apps such as Files, DAV, Encryption, External Storage, Sharing, Deleted Files, Versions, Federation, and LDAP.
* Issues for other components should be reported in their respective repositories in the Nextcloud GitHub organization: https://github.com/nextcloud/
* Nextcloud is an open source project backed by Nextcloud GmbH. Many contributors are volunteers and primarily focus on issues affecting home users. Paid engineers prioritize customer-reported issues and critical defects.
* This is the development issue tracker. Please do NOT use it for support questions or help diagnosing your installation.
- For community/user help: https://help.nextcloud.com
- For professional / large deployment support options: https://nextcloud.com/support
-->
<!-- Please keep the note below for other contributors -->
> [!TIP]
> ### Help move this idea forward
> * Use the 👍 reaction to show support for this feature.
> * Avoid commenting unless you have relevant information to add; unnecessary comments create noise for subscribers.
> * Subscribe to receive notifications about status changes and new comments.
---
<!-- DO NOT EDIT ABOVE THIS LINE -->
**Is your feature request related to a problem? Please describe.**
<!-- Provide a clear and concise description of the problem. For example: “I'm always frustrated when …” -->
**Describe the solution you'd like**
<!-- Provide a clear and concise description of what you want to happen. -->
**Describe alternatives you've considered**
<!-- Provide a clear and concise description of any alternative solutions or features you've considered. -->
**Additional context**
<!-- Add any other context or screenshots related to the feature request here. -->
@@ -1,2 +0,0 @@
SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-12
View File
@@ -1,12 +0,0 @@
# SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
contact_links:
- name: 🚨 Report a security or privacy issue
url: https://hackerone.com/nextcloud
about: Report security and privacy related issues privately to the Nextcloud team, so we can coordinate the fix and release without potentially exposing all Nextcloud servers and users in the meantime.
- name: ❓ Community Support and Help
url: https://help.nextcloud.com/
about: Configuration, webserver/proxy or performance issues and other questions
- 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
-7
View File
@@ -1,7 +0,0 @@
# SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
name: "CodeQL config"
paths-ignore:
- dist
-5
View File
@@ -1,5 +0,0 @@
# 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
-167
View File
@@ -1,167 +0,0 @@
# SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
version: 2
updates:
# GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: monthly
timezone: Europe/Paris
groups:
github-actions:
patterns:
- "*"
labels:
- "3. to review"
- "feature: dependencies"
# Main composer (linting, testing, openapi)
- package-ecosystem: composer
directories:
- "/"
- "/vendor-bin/behat"
- "/vendor-bin/cs-fixer"
- "/vendor-bin/openapi-extractor"
- "/vendor-bin/phpunit"
- "/vendor-bin/psalm"
- "/vendor-bin/rector"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
labels:
- "3. to review"
- "feature: dependencies"
# Main master npm frontend dependencies
- package-ecosystem: npm
directories:
- "/"
- "/build/frontend"
- "/build/frontend-legacy"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
open-pull-requests-limit: 20
labels:
- "3. to review"
- "feature: dependencies"
# Disable automatic rebasing because without a build CI will likely fail anyway
rebase-strategy: "disabled"
groups:
vite:
patterns:
- "vite"
- "@nextcloud/vite-config"
vitest:
patterns:
- "vitest"
- "@vitest/*"
# Latest stable release
# Composer dependencies for linting and testing
- package-ecosystem: composer
target-branch: stable33
directories:
- "/"
- "/vendor-bin/behat"
- "/vendor-bin/cs-fixer"
- "/vendor-bin/openapi-extractor"
- "/vendor-bin/phpunit"
- "/vendor-bin/psalm"
- "/vendor-bin/rector"
schedule:
interval: weekly
day: saturday
time: "03:30"
timezone: Europe/Paris
labels:
- "3. to review"
- "feature: dependencies"
ignore:
# only patch updates on stable branches
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor"]
# frontend dependencies
- package-ecosystem: npm
target-branch: stable33
directories:
- "/"
- "/build/frontend"
- "/build/frontend-legacy"
schedule:
interval: weekly
day: saturday
time: "03:30"
timezone: Europe/Paris
open-pull-requests-limit: 20
labels:
- "3. to review"
- "feature: dependencies"
# Disable automatic rebasing because without a build CI will likely fail anyway
rebase-strategy: "disabled"
groups:
vite:
patterns:
- "vite"
- "@nextcloud/vite-config"
vitest:
patterns:
- "vitest"
- "@vitest/*"
ignore:
# no major updates on stable branches
- dependency-name: "*"
update-types: ["version-update:semver-major"]
# Older stable releases
# Composer dependencies for linting and testing
- package-ecosystem: composer
target-branch: stable32
directories:
- "/"
- "/vendor-bin/behat"
- "/vendor-bin/cs-fixer"
- "/vendor-bin/openapi-extractor"
- "/vendor-bin/phpunit"
- "/vendor-bin/psalm"
schedule:
interval: weekly
day: saturday
time: "04:30"
timezone: Europe/Paris
labels:
- "3. to review"
- "feature: dependencies"
ignore:
# only patch updates on stable branches
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor"]
# frontend dependencies
- package-ecosystem: npm
target-branch: stable32
directory: "/"
schedule:
interval: weekly
day: saturday
time: "04:30"
timezone: Europe/Paris
open-pull-requests-limit: 20
labels:
- "3. to review"
- "feature: dependencies"
# Disable automatic rebasing because without a build CI will likely fail anyway
rebase-strategy: "disabled"
ignore:
# no major updates on stable branches
- dependency-name: "*"
update-types: ["version-update:semver-major"]
-29
View File
@@ -1,29 +0,0 @@
<!--
- 🚨 SECURITY INFO
-
- Before sending a pull request that fixes a security issue please report it via our HackerOne page (https://hackerone.com/nextcloud) following our security policy (https://nextcloud.com/security/). This allows us to coordinate the fix and release without potentially exposing all Nextcloud servers and users in the meantime.
-->
* Resolves: # <!-- related github issue -->
## Summary
## TODO
- [ ] ...
## Checklist
- Code is [properly formatted](https://docs.nextcloud.com/server/latest/developer_manual/digging_deeper/continuous_integration.html#linting)
- [Sign-off message](https://github.com/src-d/guide/blob/master/developer-community/fix-DCO.md) is added to all commits
- [ ] Tests ([unit](https://docs.nextcloud.com/server/latest/developer_manual/app_development/tutorial.html#unit-tests), [integration](https://docs.nextcloud.com/server/latest/developer_manual/app_development/tutorial.html#integration-tests), api and/or acceptance) are included
- [ ] Screenshots before/after for front-end changes
- [ ] Documentation ([manuals](https://github.com/nextcloud/documentation/) or wiki) has been updated or is not required
- [ ] [Backports requested](https://github.com/nextcloud/backportbot/#usage) where applicable (ex: critical bugfixes)
- [ ] [Labels added](https://github.com/nextcloud/server/labels) where applicable (ex: bug/enhancement, `3. to review`, feature component)
- [ ] [Milestone added](https://github.com/nextcloud/server/milestones) for target branch/version (ex: 32.x for `stable32`)
## AI (if applicable)
- [ ] The content of this PR was partly or fully generated using AI
-2
View File
@@ -1,2 +0,0 @@
SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-128
View File
@@ -1,128 +0,0 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Code checkers
on:
pull_request:
permissions:
contents: read
concurrency:
group: autocheckers-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- '**.php'
- build/autoloaderchecker.sh
autoloader:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
strategy:
matrix:
php-versions: ['8.2']
name: PHP checkers
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: none
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Check auto loaders
run: bash ./build/autoloaderchecker.sh
autocheckers:
runs-on: ubuntu-latest-low
strategy:
matrix:
php-versions: ['8.2']
name: Translation and Files checkers
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: none
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Check translations are JSON decodeable
run: php ./build/translation-checker.php
- name: Check translations do not contain triple dot but ellipsis
run: php ./build/triple-dot-checker.php
- name: Check .htaccess does not contain invalid changes
run: php ./build/htaccess-checker.php
- name: Check that all and only expected files are included
run: php ./build/files-checker.php
- name: Check that all shipped apps are linted by psalm
run: sh ./build/psalm-checker.sh
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, autoloader, autocheckers]
if: always()
name: autocheckers-summary
steps:
- name: Summary status
run: if ${{ needs.autocheckers.result != 'success' || (needs.changes.outputs.src != 'false' && needs.autoloader.result != 'success') }}; then exit 1; fi
-49
View File
@@ -1,49 +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
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
const regex = /^stable(\d+)$/
const baseRef = context.payload.pull_request.base.ref
const match = baseRef.match(regex)
if (match) {
console.log('Setting server_major to ' + match[1]);
core.exportVariable('server_major', match[1]);
console.log('Setting current_day to ' + (new Date()).toISOString().substr(0, 10));
core.exportVariable('current_day', (new Date()).toISOString().substr(0, 10));
}
- name: Checking if server ${{ env.server_major }} is EOL
if: ${{ env.server_major != '' }}
run: |
curl -s https://raw.githubusercontent.com/nextcloud-releases/updater_server/production/config/major_versions.json \
| jq '.["${{ env.server_major }}"]["eol"] // "9999-99-99" | . >= "${{ env.current_day }}"' \
| grep -q true
-57
View File
@@ -1,57 +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: Register server reference to fallback to master branch
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
const baseRef = context.payload.pull_request.base.ref
if (baseRef === 'main' || baseRef === 'master') {
core.exportVariable('server_ref', 'master');
console.log('Setting server_ref to master');
} else {
const regex = /^stable(\d+)$/
const match = baseRef.match(regex)
if (match) {
core.exportVariable('server_ref', match[0]);
console.log('Setting server_ref to ' + match[0]);
} else {
console.log('Not based on master/main/stable*, so skipping freeze check');
}
}
- name: Download version.php from ${{ env.server_ref }}
if: ${{ env.server_ref != '' }}
run: curl 'https://raw.githubusercontent.com/nextcloud/server/${{ env.server_ref }}/version.php' --output version.php
- name: Run check
if: ${{ env.server_ref != '' }}
run: cat version.php | grep 'OC_VersionString' | grep -i -v 'RC'
@@ -1,79 +0,0 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Block merging with outdated 3rdparty/
on:
pull_request:
types: [opened, ready_for_review, reopened, synchronize]
permissions:
contents: read
concurrency:
group: block-outdated-3rdparty-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
block-outdated-3rdparty:
name: Block merging with outdated 3rdparty/
runs-on: ubuntu-latest-low
steps:
- name: Check requirement
uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '3rdparty'
- 'version.php'
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: 3rdparty commit hash on current branch
id: actual
run: |
echo "commit=$(git submodule status | grep ' 3rdparty' | egrep -o '[a-f0-9]{40}')" >> "$GITHUB_OUTPUT"
- name: Register server reference to fallback to master branch
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
const baseRef = context.payload.pull_request.base.ref
if (baseRef === 'main' || baseRef === 'master') {
core.exportVariable('server_ref', 'master');
console.log('Setting server_ref to master');
} else {
const regex = /^stable(\d+)$/
const match = baseRef.match(regex)
if (match) {
core.exportVariable('server_ref', match[0]);
console.log('Setting server_ref to ' + match[0]);
} else {
console.log('Not based on master/main/stable*, so skipping outdated 3rdparty check');
}
}
- name: Last 3rdparty commit on target branch
if: ${{ env.server_ref != '' }}
id: target
run: |
echo "commit=$(git ls-remote https://github.com/nextcloud/3rdparty refs/heads/${{ env.server_ref }} | awk '{ print $1}')" >> "$GITHUB_OUTPUT"
- name: Compare if 3rdparty commits are different
if: ${{ env.server_ref != '' }}
run: |
echo '3rdparty/ seems to not point to the last commit of the dedicated branch:'
echo 'Branch has: ${{ steps.actual.outputs.commit }}'
echo '${{ env.server_ref }} has: ${{ steps.target.outputs.commit }}'
- name: Fail if 3rdparty commits are different
if: ${{ env.server_ref != '' && steps.changes.outputs.src != 'false' && steps.actual.outputs.commit != steps.target.outputs.commit }}
run: |
exit 1
@@ -1,36 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Block unconventional commits
on:
pull_request:
types: [opened, ready_for_review, reopened, synchronize]
permissions:
contents: read
concurrency:
group: block-unconventional-commits-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
block-unconventional-commits:
name: Block unconventional commits
runs-on: ubuntu-latest-low
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- uses: webiny/action-conventional-commits@faccb24fc2550dd15c0390d944379d2d8ed9690e # v1.3.1
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-45
View File
@@ -1,45 +0,0 @@
# SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
name: Auto-label bug reports
on:
issues:
types: [opened]
jobs:
add-version-label:
if: contains(github.event.issue.title, '[Bug]')
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- name: Extract version number and apply label
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
script: |
const body = context.payload.issue.body || '';
const normalizedBody = body.replace(/\r\n?/g, '\n');
let label = '';
// Extract Nextcloud Server version number from a block like:
// ### Nextcloud Server version
// 32
const versionMatch = normalizedBody.match(/### Nextcloud Server version\s*\n+([0-9]{1,3})\b/);
let nextcloudVersion = null;
if (versionMatch) {
nextcloudVersion = parseInt(versionMatch[1], 10);
label = nextcloudVersion + '-feedback';
}
if (label) {
try {
await github.rest.issues.addLabels({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
labels: [label]
});
} catch (error) {
core.setFailed(`Failed to add label "${label}": ${error.message || error}`);
}
}
-49
View File
@@ -1,49 +0,0 @@
# SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
name: "CodeQL Advanced"
on:
push:
branches: [ "master", "stable*" ]
pull_request:
branches: [ "master", "stable*" ]
schedule:
- cron: '28 18 * * 1'
jobs:
analyze:
name: Analyze (${{ matrix.language }})
runs-on: ubuntu-latest
permissions:
# required for all workflows
security-events: write
# required to fetch internal or private CodeQL packs
packages: read
strategy:
fail-fast: false
matrix:
include:
- language: actions
build-mode: none
- language: javascript-typescript
build-mode: none
steps:
- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Initialize CodeQL
uses: github/codeql-action/init@89a39a4e59826350b863aa6b6252a07ad50cf83e # v4.32.4
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
config-file: ./.github/codeql-config.yml
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@89a39a4e59826350b863aa6b6252a07ad50cf83e # v4.32.4
with:
category: "/language:${{matrix.language}}"
-222
View File
@@ -1,222 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2021-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Compile Command
on:
issue_comment:
types: [created]
permissions:
contents: read
jobs:
init:
runs-on: ubuntu-latest
# On pull requests and if the comment starts with `/compile`
if: github.event.issue.pull_request != '' && startsWith(github.event.comment.body, '/compile')
outputs:
git_path: ${{ steps.git-path.outputs.path }}
arg1: ${{ steps.command.outputs.arg1 }}
arg2: ${{ steps.command.outputs.arg2 }}
head_ref: ${{ steps.comment-branch.outputs.head_ref }}
base_ref: ${{ steps.comment-branch.outputs.base_ref }}
steps:
- name: Get repository from pull request comment
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
id: get-repository
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
const pull = await github.rest.pulls.get({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: context.issue.number
});
const repositoryName = pull.data.head?.repo?.full_name
console.log(repositoryName)
return repositoryName
- name: Disabled on forks
if: ${{ fromJSON(steps.get-repository.outputs.result) != github.repository }}
run: |
echo 'Can not execute /compile on forks'
exit 1
- name: Check actor permission
uses: skjnldsv/check-actor-permission@69e92a3c4711150929bca9fcf34448c5bf5526e7 # v2
with:
require: write
- name: Add reaction on start
uses: peter-evans/create-or-update-comment@e8674b075228eee787fea43ef493e45ece1004c9 # v5.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@e8674b075228eee787fea43ef493e45ece1004c9 # v5.0.0
if: failure()
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reactions: '-1'
process:
runs-on: ubuntu-latest
needs: init
steps:
- name: Restore cached git repository
uses: buildjet/cache@3e70d19e31d6a8030aeddf6ed8dbe601f94d09f4 # v4.0.2
with:
path: .git
key: git-repo
- name: Checkout ${{ needs.init.outputs.head_ref }}
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
# Needed to allow force push later
persist-credentials: true
token: ${{ secrets.COMMAND_BOT_PAT }}
fetch-depth: 0
ref: ${{ needs.init.outputs.head_ref }}
- name: Setup git
run: |
git config --local user.email 'nextcloud-command@users.noreply.github.com'
git config --local user.name 'nextcloud-command'
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
id: package-engines-versions
with:
fallbackNode: '^24'
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.package-engines-versions.outputs.nodeVersion }}
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{ steps.package-engines-versions.outputs.nodeVersion }}
cache: npm
- name: Set up npm ${{ steps.package-engines-versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ steps.package-engines-versions.outputs.npmVersion }}'
- name: Rebase to ${{ needs.init.outputs.base_ref }}
if: ${{ contains(needs.init.outputs.arg1, 'rebase') }}
run: |
git fetch origin '${{ needs.init.outputs.base_ref }}:${{ needs.init.outputs.base_ref }}'
# Start the rebase
git rebase 'origin/${{ needs.init.outputs.base_ref }}' || {
# Handle rebase conflicts in a loop
while [ -d .git/rebase-merge ] || [ -d .git/rebase-apply ]; do
echo "Handling rebase conflict..."
# Remove and checkout /dist and /js folders from the base branch
if [ -d "dist" ]; then
rm -rf dist
git checkout origin/${{ needs.init.outputs.base_ref }} -- dist/ 2>/dev/null || echo "No dist folder in base branch"
fi
if [ -d "js" ]; then
rm -rf js
git checkout origin/${{ needs.init.outputs.base_ref }} -- js/ 2>/dev/null || echo "No js folder in base branch"
fi
# Stage all changes
git add .
# Check if there are any changes after resolving conflicts
if git diff --cached --quiet; then
echo "No changes after conflict resolution, skipping commit"
git rebase --skip
else
echo "Changes found, continuing rebase without editing commit message"
git -c core.editor=true rebase --continue
fi
# Break if rebase is complete
if [ ! -d .git/rebase-merge ] && [ ! -d .git/rebase-apply ]; then
break
fi
done
}
- name: Install dependencies & build
env:
CYPRESS_INSTALL_BINARY: 0
PUPPETEER_SKIP_DOWNLOAD: true
run: |
npm ci
npm run build --if-present
- name: Commit default
if: ${{ !contains(needs.init.outputs.arg1, 'fixup') && !contains(needs.init.outputs.arg1, 'amend') }}
run: |
git add '${{ github.workspace }}${{ needs.init.outputs.git_path }}'
git commit --signoff -m 'chore(assets): Recompile assets'
- name: Commit fixup
if: ${{ contains(needs.init.outputs.arg1, 'fixup') }}
run: |
git add '${{ github.workspace }}${{ needs.init.outputs.git_path }}'
git commit --fixup=HEAD --signoff
- name: Commit amend
if: ${{ contains(needs.init.outputs.arg1, 'amend') }}
run: |
git add '${{ github.workspace }}${{ needs.init.outputs.git_path }}'
git commit --amend --no-edit --signoff
# Remove any [skip ci] from the amended commit
git commit --amend -m "$(git log -1 --format='%B' | sed '/\[skip ci\]/d')"
- name: Push normally
if: ${{ !contains(needs.init.outputs.arg1, 'rebase') && !contains(needs.init.outputs.arg1, 'amend') }}
env:
HEAD_REF: ${{ needs.init.outputs.head_ref }}
run: git push origin "$HEAD_REF"
- name: Force push
if: ${{ contains(needs.init.outputs.arg1, 'rebase') || contains(needs.init.outputs.arg1, 'amend') }}
env:
HEAD_REF: ${{ needs.init.outputs.head_ref }}
run: git push --force-with-lease origin "$HEAD_REF"
- name: Add reaction on failure
uses: peter-evans/create-or-update-comment@e8674b075228eee787fea43ef493e45ece1004c9 # v5.0.0
if: failure()
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reactions: '-1'
-100
View File
@@ -1,100 +0,0 @@
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Update 3rdparty command
on:
issue_comment:
types: created
permissions:
contents: read
jobs:
rebase:
runs-on: ubuntu-latest
permissions:
contents: none
# On pull requests and if the comment starts with `/update-3rdparty`
if: github.event.issue.pull_request != '' && startsWith(github.event.comment.body, '/update-3rdparty')
steps:
- name: Add reaction on start
uses: peter-evans/create-or-update-comment@e8674b075228eee787fea43ef493e45ece1004c9 # 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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
fetch-depth: 0
token: ${{ secrets.COMMAND_BOT_PAT }}
ref: ${{ steps.comment-branch.outputs.head_ref }}
- name: Register server reference to fallback to master branch
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
const baseRef = context.payload.pull_request.base.ref
if (baseRef === 'main' || baseRef === 'master') {
core.exportVariable('server_ref', 'master');
console.log('Setting server_ref to master');
} else {
const regex = /^stable(\d+)$/
const match = baseRef.match(regex)
if (match) {
core.exportVariable('server_ref', match[0]);
console.log('Setting server_ref to ' + match[0]);
} else {
console.log('Not based on master/main/stable*, so skipping pull 3rdparty command');
}
}
- name: Setup git
run: |
git config --local user.email 'nextcloud-command@users.noreply.github.com'
git config --local user.name 'nextcloud-command'
- name: Add reaction on failure
uses: peter-evans/create-or-update-comment@e8674b075228eee787fea43ef493e45ece1004c9 # v3.0.1
if: ${{ env.server_ref == '' }}
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reactions: '-1'
- name: Pull 3rdparty
if: ${{ env.server_ref != '' }}
run: git submodule foreach 'if [ "$sm_path" == "3rdparty" ]; then git pull origin '"'"'${{ env.server_ref }}'"'"'; fi'
- name: Commit and push changes
if: ${{ env.server_ref != '' }}
run: |
git add 3rdparty
git commit -s -m 'Update submodule 3rdparty to latest ${{ env.server_ref }}'
git push
- name: Add reaction on failure
uses: peter-evans/create-or-update-comment@e8674b075228eee787fea43ef493e45ece1004c9 # 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'
-237
View File
@@ -1,237 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Cypress
on: pull_request
concurrency:
group: cypress-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
env:
# Adjust APP_NAME if your repository name is different
APP_NAME: ${{ github.event.repository.name }}
# This represents the server branch to checkout.
# Usually it's the base branch of the PR, but for pushes it's the branch itself.
# e.g. 'main', 'stable27' or 'feature/my-feature'
# n.b. server will use head_ref, as we want to test the PR branch.
BRANCH: ${{ github.base_ref || github.ref_name }}
permissions:
contents: read
jobs:
init:
runs-on: ubuntu-latest
outputs:
nodeVersion: ${{ steps.versions.outputs.nodeVersion }}
npmVersion: ${{ steps.versions.outputs.npmVersion }}
env:
# We'll install cypress in the cypress job
CYPRESS_INSTALL_BINARY: 0
PUPPETEER_SKIP_DOWNLOAD: true
steps:
- name: Disabled on forks
if: ${{ github.event.pull_request.head.repo.full_name != github.repository }}
run: |
echo 'Can not run cypress on forks'
exit 1
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
# We need to checkout submodules for 3rdparty
submodules: true
- name: Check composer.json
id: check_composer
uses: andstor/file-existence-action@076e0072799f4942c8bc574a82233e1e4d13e9d6 # v3.0.0
with:
files: 'composer.json'
- name: Install composer dependencies
if: steps.check_composer.outputs.files_exists == 'true'
run: composer install --no-dev
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
id: versions
with:
fallbackNode: '^24'
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}'
- name: Install node dependencies & build app
run: |
npm ci
TESTING=true npm run build --if-present
- name: Save context
uses: buildjet/cache/save@3e70d19e31d6a8030aeddf6ed8dbe601f94d09f4 # v4.0.2
with:
key: cypress-context-${{ github.run_id }}
path: ./
cypress:
runs-on: ubuntu-latest
needs: init
strategy:
fail-fast: false
matrix:
# Run multiple copies of the current job in parallel
# Please increase the number or runners as your tests suite grows (0 based index for e2e tests)
containers: ['setup', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
# Hack as strategy.job-total includes the "setup" and GitHub does not allow math expressions
# Always align this number with the total of e2e runners (max. index + 1)
total-containers: [10]
services:
mysql:
# Only start mysql if we are running the setup tests
image: ${{matrix.containers == 'setup' && 'ghcr.io/nextcloud/continuous-integration-mysql-8.4:latest' || ''}} # zizmor: ignore[unpinned-images]
ports:
- '3306/tcp'
env:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_USER: oc_autotest
MYSQL_PASSWORD: nextcloud
MYSQL_DATABASE: oc_autotest
options: --health-cmd="mysqladmin ping" --health-interval 5s --health-timeout 2s --health-retries 10
mariadb:
# Only start mariadb if we are running the setup tests
image: ${{matrix.containers == 'setup' && 'mariadb:11.4' || ''}} # zizmor: ignore[unpinned-images]
ports:
- '3306/tcp'
env:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_USER: oc_autotest
MYSQL_PASSWORD: nextcloud
MYSQL_DATABASE: oc_autotest
options: --health-cmd="mariadb-admin ping" --health-interval 5s --health-timeout 2s --health-retries 5
postgres:
# Only start postgres if we are running the setup tests
image: ${{matrix.containers == 'setup' && 'ghcr.io/nextcloud/continuous-integration-postgres-17:latest' || ''}} # zizmor: ignore[unpinned-images]
ports:
- '5432/tcp'
env:
POSTGRES_USER: root
POSTGRES_PASSWORD: rootpassword
POSTGRES_DB: nextcloud
options: --mount type=tmpfs,destination=/var/lib/postgresql/data --health-cmd pg_isready --health-interval 5s --health-timeout 2s --health-retries 5
oracle:
# Only start oracle if we are running the setup tests
image: ${{matrix.containers == 'setup' && 'ghcr.io/gvenzl/oracle-free:23' || ''}} # zizmor: ignore[unpinned-images]
ports:
- '1521'
env:
ORACLE_PASSWORD: oracle
options: --health-cmd healthcheck.sh --health-interval 20s --health-timeout 10s --health-retries 10
name: runner ${{ matrix.containers }}
steps:
- name: Restore context
uses: buildjet/cache/restore@3e70d19e31d6a8030aeddf6ed8dbe601f94d09f4 # v4.0.2
with:
fail-on-cache-miss: true
key: cypress-context-${{ github.run_id }}
path: ./
- name: Set up node ${{ needs.init.outputs.nodeVersion }}
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.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@bc22e01685c56e89e7813fd8e26f33dc47f87e15 # v7.1.5
with:
# We already installed the dependencies in the init job
install: false
component: ${{ matrix.containers == 'component' }}
group: ${{ matrix.use-cypress-cloud && matrix.containers == 'component' && 'Run component' || matrix.use-cypress-cloud && 'Run E2E' || '' }}
# cypress env
ci-build-id: ${{ matrix.use-cypress-cloud && format('{0}-{1}', github.sha, github.run_number) || '' }}
tag: ${{ matrix.use-cypress-cloud && github.event_name || '' }}
env:
# Needs to be prefixed with CYPRESS_
CYPRESS_BRANCH: ${{ env.BRANCH }}
# https://github.com/cypress-io/github-action/issues/124
COMMIT_INFO_MESSAGE: ${{ github.event.pull_request.title }}
# Needed for some specific code workarounds
TESTING: true
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
SPLIT: ${{ matrix.total-containers }}
SPLIT_INDEX: ${{ matrix.containers == 'component' && 0 || matrix.containers }}
SPLIT_RANDOM_SEED: ${{ github.run_id }}
SETUP_TESTING: ${{ matrix.containers == 'setup' && 'true' || '' }}
- name: Upload snapshots and videos
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
if: always()
with:
name: snapshots_${{ matrix.containers }}
path: |
cypress/snapshots
cypress/videos
- name: Show logs
if: failure() && matrix.containers != 'component'
run: |
for id in $(docker ps -aq); do
docker container inspect "$id" --format '=== Logs for container {{.Name}} ==='
docker logs "$id" >> nextcloud.log
done
echo '=== Nextcloud server logs ==='
docker exec nextcloud-e2e-test-server_${{ env.APP_NAME }} cat data/nextcloud.log
- name: Create data dir archive
if: failure() && matrix.containers != 'component'
run: docker exec nextcloud-e2e-test-server_${{ env.APP_NAME }} tar -cvjf - data > data.tar
- name: Upload data archive
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.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
@@ -1,58 +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: Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Auto approve Dependabot PRs
on:
pull_request_target: # zizmor: ignore[dangerous-triggers]
branches:
- main
- master
- stable*
permissions:
contents: read
concurrency:
group: dependabot-approve-merge-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
auto-approve-merge:
if: github.event.pull_request.user.login == 'dependabot[bot]' || github.event.pull_request.user.login == 'renovate[bot]'
runs-on: ubuntu-latest-low
permissions:
# for hmarr/auto-approve-action to approve PRs
pull-requests: write
# for alexwilson/enable-github-automerge-action to approve PRs
contents: write
steps:
- name: Disabled on forks
if: ${{ github.event.pull_request.head.repo.full_name != github.repository }}
run: |
echo 'Can not approve PRs from forks'
exit 1
- uses: mdecoleman/pr-branch-name@55795d86b4566d300d237883103f052125cc7508 # v3.0.0
id: branchname
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
# GitHub actions bot approve
- uses: hmarr/auto-approve-action@f0939ea97e9205ef24d872e76833fa908a770363 # v4.0.0
if: startsWith(steps.branchname.outputs.branch, 'dependabot/')
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
# Enable GitHub auto merge
- name: Auto merge
uses: alexwilson/enable-github-automerge-action@56e3117d1ae1540309dc8f7a9f2825bc3c5f06ff # v2.0.0
if: startsWith(steps.branchname.outputs.branch, 'dependabot/')
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
-142
View File
@@ -1,142 +0,0 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit files_external FTP
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: files-external-ftp-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- 'apps/files/lib/**'
- 'apps/files/tests/**'
- 'apps/files_external/**'
- 'apps/files_sharing/lib/**'
- 'apps/files_sharing/tests/**'
- 'apps/files_trashbin/lib/**'
- 'apps/files_trashbin/tests/**'
- 'apps/files_versions/lib/**'
- 'apps/files_versions/tests/**'
- 'lib/private/Files/**'
- 'lib/public/Files/**'
- 'tests/lib/Files/**'
files-external-ftp:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
fail-fast: false
matrix:
php-versions: ['8.2', '8.4']
ftpd: ['proftpd', 'vsftpd', 'pure-ftpd']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-${{ matrix.ftpd }}
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up ftpd
run: |
sudo mkdir /tmp/ftp
sudo chmod -R 0777 /tmp/ftp
if [[ "${{ matrix.ftpd }}" == 'proftpd' ]]; then echo '$6$Q7V2n3q2GRVv5YeQ$/AhLu07H76Asojy7bxGXMY1caKLAbp5Vt82LOZYMkD/8uDzyMAEXwk0c1Bdz1DkBsk2Vh/9SF130mOPavRGMo.' > /tmp/secret.txt; fi
if [[ "${{ matrix.ftpd }}" == 'proftpd' ]]; then echo 'FTP_ROOT=/home/test' > $GITHUB_ENV; fi
if [[ "${{ matrix.ftpd }}" == 'proftpd' ]]; then docker run --name ftp -d --net host -e PASV_ADDRESS=127.0.0.1 -e FTPUSER_NAME=test -v /tmp/secret.txt:/run/secrets/ftp-user-password-secret -v /tmp/ftp:/home/test instantlinux/proftpd; fi
if [[ "${{ matrix.ftpd }}" == 'vsftpd' ]]; then docker run --name ftp -d --net host -e FTP_USER=test -e FTP_PASS=test -e PASV_ADDRESS=127.0.0.1 -v /tmp/ftp:/home/vsftpd/test fauria/vsftpd; fi
if [[ "${{ matrix.ftpd }}" == 'pure-ftpd' ]]; then docker run --name ftp -d --net host -e "PUBLICHOST=localhost" -e FTP_USER_NAME=test -e FTP_USER_PASS=test -e FTP_USER_HOME=/home/test -v /tmp/ftp:/home/test -v /tmp/ftp:/etc/pure-ftpd/passwd stilliard/pure-ftpd; fi
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
run: |
composer install
mkdir data
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
./occ app:enable --force files_external
echo "<?php return ['run' => true,'host' => 'localhost','user' => 'test','password' => 'test', 'root' => '${{ env.FTP_ROOT }}'];" > apps/files_external/tests/config.ftp.php
- name: smoketest ftp
run: |
php -r 'var_dump(file_put_contents("ftp://test:test@localhost${{ env.FTP_ROOT }}/ftp.txt", "asd"));'
php -r 'var_dump(file_get_contents("ftp://test:test@localhost${{ env.FTP_ROOT }}/ftp.txt"));'
php -r 'var_dump(mkdir("ftp://test:test@localhost${{ env.FTP_ROOT }}/asdads"));'
ls -l /tmp/ftp
[ -f /tmp/ftp/ftp.txt ]
- name: PHPUnit
run: composer run test:files_external -- \
apps/files_external/tests/Storage/FtpTest.php \
--log-junit junit.xml \
${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.xml
flags: phpunit-files-external-ftp
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-files-external-ftp
- name: ftpd logs
if: always()
run: |
docker logs ftp
ftp-summary:
runs-on: ubuntu-latest-low
needs: [changes, files-external-ftp]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.files-external-ftp.result != 'success' }}; then exit 1; fi
-225
View File
@@ -1,225 +0,0 @@
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit files_external S3
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: files-external-s3-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- 'apps/files/lib/**'
- 'apps/files/tests/**'
- 'apps/files_external/**'
- 'apps/files_sharing/lib/**'
- 'apps/files_sharing/tests/**'
- 'apps/files_trashbin/lib/**'
- 'apps/files_trashbin/tests/**'
- 'apps/files_versions/lib/**'
- 'apps/files_versions/tests/**'
- 'lib/private/Files/**'
- 'lib/public/Files/**'
- 'tests/lib/Files/**'
files-external-s3-minio:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
fail-fast: false
matrix:
php-versions: ['8.2', '8.4']
include:
- php-versions: '8.3'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-s3-minio
services:
minio:
image: bitnami/minio@sha256:50cec18ac4184af4671a78aedd5554942c8ae105d51a465fa82037949046da01 # v2025.4.22
env:
MINIO_ROOT_USER: nextcloud
MINIO_ROOT_PASSWORD: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
MINIO_DEFAULT_BUCKETS: nextcloud
ports:
- '9000:9000'
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
env:
OBJECT_STORE_KEY: nextcloud
OBJECT_STORE_SECRET: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
run: |
composer install
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
./occ app:enable --force files_external
echo "<?php return ['run' => true, 'minio' => true, 'secret' => 'actually-not-secret', 'passwordsalt' => 'actually-not-secret', 'hostname' => 'localhost','key' => '$OBJECT_STORE_KEY','secret' => '$OBJECT_STORE_SECRET', 'bucket' => 'bucket', 'port' => 9000, 'use_ssl' => false, 'autocreate' => true, 'use_path_style' => true];" > apps/files_external/tests/config.amazons3.php
- name: Wait for S3
run: |
curl -f -m 1 --retry-connrefused --retry 10 --retry-delay 10 http://localhost:9000/minio/health/ready
- name: PHPUnit
run: |
composer run test:files_external -- \
--group S3 \
--log-junit junit.xml \
apps/files_external/tests/Storage \
${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.xml
flags: phpunit-files-external-s3
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-files-external-s3
- name: Nextcloud logs
if: always()
run: |
cat data/nextcloud.log
- name: S3 logs
if: always()
run: |
docker ps -a
docker ps -aq | while read container ; do IMAGE=$(docker inspect --format='{{.Config.Image}}' $container); echo $IMAGE; docker logs $container; echo "\n\n" ; done
files-external-s3-localstack:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
matrix:
php-versions: ['8.2', '8.4']
include:
- php-versions: '8.3'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-s3-localstack
services:
localstack:
env:
SERVICES: s3
DEBUG: 1
image: localstack/localstack@sha256:9d4253786e0effe974d77fe3c390358391a56090a4fff83b4600d8a64404d95d # v4.5.0
ports:
- "4566:4566"
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
run: |
composer install
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
./occ app:enable --force files_external
echo "<?php return ['run' => true, 'localstack' => true, 'hostname' => 'localhost','key' => 'ignored','secret' => 'ignored', 'bucket' => 'bucket', 'port' => 4566, 'use_ssl' => false, 'autocreate' => true, 'use_path_style' => true];" > apps/files_external/tests/config.amazons3.php
- name: PHPUnit
run: |
composer run test:files_external -- \
--group S3 \
--log-junit junit.xml \
apps/files_external/tests/Storage \
${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.xml
flags: phpunit-files-external-s3
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-files-external-s3
- name: S3 logs
if: always()
run: |
docker ps -a
docker ps -aq | while read container ; do IMAGE=$(docker inspect --format='{{.Config.Image}}' $container); echo $IMAGE; docker logs $container; echo "\n\n" ; done
s3-external-summary:
runs-on: ubuntu-latest-low
needs: [changes, files-external-s3-minio, files-external-s3-localstack]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && (needs.files-external-s3-minio.result != 'success' || needs.files-external-s3-localstack.result != 'success') }}; then exit 1; fi
-132
View File
@@ -1,132 +0,0 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit files_external sFTP
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: files-external-sftp-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- 'apps/files/lib/**'
- 'apps/files/tests/**'
- 'apps/files_external/**'
- 'apps/files_sharing/lib/**'
- 'apps/files_sharing/tests/**'
- 'apps/files_trashbin/lib/**'
- 'apps/files_trashbin/tests/**'
- 'apps/files_versions/lib/**'
- 'apps/files_versions/tests/**'
- 'lib/private/Files/**'
- 'lib/public/Files/**'
- 'tests/lib/Files/**'
files-external-sftp:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
fail-fast: false
matrix:
php-versions: ['8.2', '8.4']
sftpd: ['openssh']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-${{ matrix.sftpd }}
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up sftpd
run: |
sudo mkdir /tmp/sftp
sudo chown -R 0777 /tmp/sftp
if [[ '${{ matrix.sftpd }}' == 'openssh' ]]; then docker run -p 2222:22 --name sftp -d -v /tmp/sftp:/home/test atmoz/sftp 'test:test:::data'; fi
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
run: |
composer install
mkdir data
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
./occ app:enable --force files_external
echo "<?php return ['run' => true, 'host' => 'localhost:2222','user' => 'test','password' => 'test', 'root' => 'data'];" > apps/files_external/tests/config.sftp.php
- name: PHPUnit
run: composer run test:files_external -- \
apps/files_external/tests/Storage/SftpTest.php \
apps/files_external/tests/Storage/SFTP_KeyTest.php \
--log-junit junit.xml \
${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.xml
flags: phpunit-files-external-sftp
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-files-external-sftp
- name: sftpd logs
if: always()
run: |
ls -l /tmp/sftp
docker logs sftp
sftp-summary:
runs-on: ubuntu-latest-low
needs: [changes, files-external-sftp]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.files-external-sftp.result != 'success' }}; then exit 1; fi
@@ -1,128 +0,0 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Samba Kerberos SSO
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: files-external-smb-kerberos-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- 'apps/files/lib/**'
- 'apps/files/tests/**'
- 'apps/files_external/**'
- 'apps/files_sharing/lib/**'
- 'apps/files_sharing/tests/**'
- 'apps/files_trashbin/lib/**'
- 'apps/files_trashbin/tests/**'
- 'apps/files_versions/lib/**'
- 'apps/files_versions/tests/**'
- 'lib/private/Files/**'
- 'lib/public/Files/**'
- 'tests/lib/Files/**'
files-external-smb-kerberos:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
name: smb-kerberos-sso
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Checkout user_saml
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
repository: nextcloud/user_saml
path: apps/user_saml
- name: Install user_saml
run: |
cd apps/user_saml
composer i
cd ../..
- name: Pull images
run: |
docker pull ghcr.io/icewind1991/samba-krb-test-dc
docker pull ghcr.io/icewind1991/samba-krb-test-apache-gssapi:8.4
docker pull ghcr.io/icewind1991/samba-krb-test-client
docker tag ghcr.io/icewind1991/samba-krb-test-dc icewind1991/samba-krb-test-dc
docker tag ghcr.io/icewind1991/samba-krb-test-apache-gssapi:8.4 icewind1991/samba-krb-test-apache-gssapi
docker tag ghcr.io/icewind1991/samba-krb-test-client icewind1991/samba-krb-test-client
- name: Setup AD-DC
run: |
DC_IP=$(apps/files_external/tests/sso-setup/start-dc.sh)
sleep 1
apps/files_external/tests/sso-setup/start-apache.sh $DC_IP $PWD
echo "DC_IP=$DC_IP" >> $GITHUB_ENV
- name: Set up Nextcloud
run: |
apps/files_external/tests/sso-setup/setup-sso-nc.sh
- name: Test SSO
run: |
apps/files_external/tests/sso-setup/test-sso-smb.sh ${{ env.DC_IP }}
- name: Show logs DC
if: always()
run: |
docker logs dc
echo "------------"
docker exec dc cat /var/log/samba/log.samba
- name: Show logs Apache
if: always()
run: |
docker logs apache
- name: Show logs
if: always()
run: |
FILEPATH=$(docker exec --user 33 apache ./occ log:file | grep "Log file:" | cut -d' ' -f3)
echo "$FILEPATH:"
docker exec --user 33 apache cat $FILEPATH
smb-kerberos-sso-summary:
runs-on: ubuntu-latest-low
needs: [changes, files-external-smb-kerberos]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.files-external-smb-kerberos.result != 'success' }}; then exit 1; fi
-138
View File
@@ -1,138 +0,0 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit files_external SMB
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: files-external-smb-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- 'apps/files/lib/**'
- 'apps/files/tests/**'
- 'apps/files_external/**'
- 'apps/files_sharing/lib/**'
- 'apps/files_sharing/tests/**'
- 'apps/files_trashbin/lib/**'
- 'apps/files_trashbin/tests/**'
- 'apps/files_versions/lib/**'
- 'apps/files_versions/tests/**'
- 'lib/private/Files/**'
- 'lib/public/Files/**'
- 'tests/lib/Files/**'
files-external-smb:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
fail-fast: false
matrix:
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-smb
services:
samba:
image: ghcr.io/servercontainers/samba:smbd-only-a3.18.0-s4.18.2-r0
env:
ACCOUNT_test: test
UID_test: 1000
SAMBA_VOLUME_CONFIG_test: "[public]; path=/tmp; valid users = test; guest ok = no; read only = no; browseable = yes"
options: >-
--health-cmd=true
ports:
- 445:445
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, smbclient, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up smbclient
# This is needed as icewind/smb php library for notify
run: sudo apt-get install -y smbclient
- name: Set up Nextcloud
run: |
composer install
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
./occ config:system:set --value true --type boolean allow_local_remote_servers
./occ app:enable --force files_external
echo "<?php return ['run'=>true, 'host'=>'localhost', 'user'=>'test', 'password'=>'test', 'root'=>'', 'share'=>'public'];" > apps/files_external/tests/config.smb.php
- name: Wait for smb
run: |
apps/files_external/tests/env/wait-for-connection 127.0.0.1 445 60
- name: PHPUnit
run: composer run test:files_external -- \
apps/files_external/tests/Storage/SmbTest.php \
--log-junit junit.xml \
${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.xml
flags: phpunit-files-external-smb
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-files-external-smb
files-external-smb-summary:
runs-on: ubuntu-latest-low
needs: [changes, files-external-smb]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.files-external-smb.result != 'success' }}; then exit 1; fi
-130
View File
@@ -1,130 +0,0 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit files_external WebDAV
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: files-external-webdav-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- 'apps/files/lib/**'
- 'apps/files/tests/**'
- 'apps/files_external/**'
- 'apps/files_sharing/lib/**'
- 'apps/files_sharing/tests/**'
- 'apps/files_trashbin/lib/**'
- 'apps/files_trashbin/tests/**'
- 'apps/files_versions/lib/**'
- 'apps/files_versions/tests/**'
- 'lib/private/Files/**'
- 'lib/public/Files/**'
- 'tests/lib/Files/**'
files-external-webdav-apache:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
fail-fast: false
matrix:
php-versions: ['8.3', '8.4']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-webdav
services:
apache:
image: ghcr.io/nextcloud/continuous-integration-webdav-apache:latest # zizmor: ignore[unpinned-images]
ports:
- 8081:80
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
run: |
composer install
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
./occ config:system:set --value true --type boolean allow_local_remote_servers
./occ app:enable --force files_external
echo "<?php return ['run' => true, 'host' => 'localhost:8081/webdav/', 'user' => 'test', 'password'=>'pass', 'root' => '', 'wait' => 0];" > apps/files_external/tests/config.webdav.php
- name: Wait for WebDAV
run: |
sleep 5
curl -f -m 1 --retry-connrefused --retry 10 --retry-delay 10 http://test:pass@localhost:8081/webdav/
- name: PHPUnit
run: composer run test:files_external -- \
apps/files_external/tests/Storage/WebdavTest.php \
--log-junit junit.xml \
${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.xml
flags: phpunit-files-external-webdav
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-files-external-webdav
files-external-webdav-summary:
runs-on: ubuntu-latest-low
needs: [changes, files-external-webdav-apache]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.files-external-webdav-apache.result != 'success' }}; then exit 1; fi
-119
View File
@@ -1,119 +0,0 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit files_external generic
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: files-external-generic-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- 'apps/files/lib/**'
- 'apps/files/tests/**'
- 'apps/files_external/**'
- 'apps/files_sharing/lib/**'
- 'apps/files_sharing/tests/**'
- 'apps/files_trashbin/lib/**'
- 'apps/files_trashbin/tests/**'
- 'apps/files_versions/lib/**'
- 'apps/files_versions/tests/**'
- 'lib/private/Files/**'
- 'lib/public/Files/**'
- 'tests/lib/Files/**'
files-external-generic:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
fail-fast: false
matrix:
php-versions: ['8.3', '8.4']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-generic
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
env:
OBJECT_STORE_KEY: nextcloud
OBJECT_STORE_SECRET: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
run: |
composer install
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
./occ app:enable --force files_external
- name: PHPUnit
run: composer run test:files_external -- \
--log-junit junit.xml \
${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.xml
flags: phpunit-files-external-generic
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-files-external-generic
files-external-summary:
runs-on: ubuntu-latest-low
needs: [changes, files-external-generic ]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.files-external-generic.result != 'success' }}; then exit 1; fi
-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 }}
@@ -1,104 +0,0 @@
# SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Generate changelog on release
on:
release:
types: [published]
permissions:
contents: write
jobs:
changelog_generate:
runs-on: ubuntu-latest
# Only allowed to be run on nextcloud-releases repositories
if: ${{ github.repository_owner == 'nextcloud-releases' }}
steps:
- name: Check actor permission
uses: skjnldsv/check-actor-permission@69e92a3c4711150929bca9fcf34448c5bf5526e7 # v3.0
with:
require: write
- name: Checkout github_helper
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
repository: nextcloud/github_helper
path: github_helper
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
path: server
fetch-depth: 0
- name: Get previous tag
shell: bash
run: |
cd server
# Print all tags
git log --decorate --oneline | egrep 'tag: ' | sed -r 's/^.+tag: ([^,\)]+)[,\)].+$/\1/g'
# Get the current tag
TAGS=$(git log --decorate --oneline | egrep 'tag: ' | sed -r 's/^.+tag: ([^,\)]+)[,\)].+$/\1/g')
CURRENT_TAG=$(echo "$TAGS" | head -n 1)
# If current tag is the first beta, we use the previous major RC1
if echo "$CURRENT_TAG" | grep -q 'beta1'; then
MAJOR=$(echo "$CURRENT_TAG" | sed -E 's/^v([0-9]+).*/\1/')
PREV=$((MAJOR - 1))
PREVIOUS_TAG="v${PREV}.0.0rc1"
# Get the previous tag - filter pre-releases only if current tag is stable
elif echo "$CURRENT_TAG" | grep -q 'rc\|beta\|alpha'; then
# Current tag is pre-release, don't filter
PREVIOUS_TAG=$(echo "$TAGS" | sed -n '2p')
else
# Current tag is stable, filter out pre-releases
PREVIOUS_TAG=$(echo "$TAGS" | grep -v 'rc\|beta\|alpha' | sed -n '2p')
fi
echo "CURRENT_TAG=$CURRENT_TAG" >> $GITHUB_ENV
echo "PREVIOUS_TAG=$PREVIOUS_TAG" >> $GITHUB_ENV
# Since this action only runs on nextcloud-releases, ignoring is okay
- name: Verify current tag # zizmor: ignore[template-injection]
run: |
if [ "${{ github.ref_name }}" != "${{ env.CURRENT_TAG }}" ]; then
echo "Current tag does not match the release tag. Exiting."
exit 1
fi
- name: Set up php 8.2
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
with:
php-version: 8.2
coverage: none
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set credentials
run: |
echo '{"username": "github-actions"}' > github_helper/credentials.json
# Since this action only runs on nextcloud-releases, ignoring is okay
- name: Generate changelog between ${{ env.PREVIOUS_TAG }} and ${{ github.ref_name }} # zizmor: ignore[template-injection]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
cd github_helper/changelog
composer install
php index.php generate:changelog --no-bots --format=forum server ${{ env.PREVIOUS_TAG }} ${{ github.ref_name }} > changelog.md
# Since this action only runs on nextcloud-releases, ignoring is okay
- name: Set changelog to release # zizmor: ignore[template-injection]
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
cd server
gh release edit ${{ github.ref_name }} --notes-file "../github_helper/changelog/changelog.md" --title "${{ github.ref_name }}"
-129
View File
@@ -1,129 +0,0 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: DAV integration tests
on:
pull_request:
permissions:
contents: read
concurrency:
group: integration-caldav-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/*.php'
- '**/lib/**'
- '**/tests/**'
- '**/vendor-bin/**'
- 'build/integration/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
integration-caldav:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false' && github.repository_owner != 'nextcloud-gmbh'
strategy:
fail-fast: false
matrix:
php-versions: ['8.2']
endpoint: ['old', 'new']
service: ['CalDAV', 'CardDAV']
name: ${{ matrix.service }} (${{ matrix.endpoint }} endpoint) php${{ matrix.php-versions }}
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: 'none'
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Python
uses: LizardByte/actions/actions/setup_python@70bb8d394d1c92f6113aeec6ae9cc959a5763d15 # v2026.227.200013
with:
python-version: '2.7'
- name: Set up CalDAVTester
run: |
git clone --depth=1 https://github.com/apple/ccs-caldavtester.git CalDAVTester
git clone --depth=1 https://github.com/apple/ccs-pycalendar.git pycalendar
- name: Set up Nextcloud
run: |
mkdir data
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
# disable the trashbin, so recurrent deletion of the same object works
./occ config:app:set dav calendarRetentionObligation --value=0
# Prepare users
OC_PASS=user01 ./occ user:add --password-from-env user01
OC_PASS=user02 ./occ user:add --password-from-env user02
# Prepare calendars
./occ dav:create-calendar user01 calendar
./occ dav:create-calendar user01 shared
./occ dav:create-calendar user02 calendar
# Prepare address books
./occ dav:create-addressbook user01 addressbook
./occ dav:create-addressbook user02 addressbook
- name: Run Nextcloud
run: |
php -S localhost:8888 &
- name: Run CalDAVTester
run: |
cp "apps/dav/tests/testsuits/caldavtest/serverinfo-${{ matrix.endpoint }}${{ matrix.endpoint == 'old' && (matrix.service == 'CardDAV' && '-carddav' || '-caldav') || '' }}-endpoint.xml" "apps/dav/tests/testsuits/caldavtest/serverinfo.xml"
pushd CalDAVTester
PYTHONPATH="../pycalendar/src" python testcaldav.py --print-details-onfail --basedir "../apps/dav/tests/testsuits/caldavtest" -o cdt.txt \
"${{ matrix.service }}/current-user-principal.xml" \
"${{ matrix.service }}/sync-report.xml" \
${{ matrix.endpoint == 'new' && format('{0}/sharing-{1}.xml', matrix.service, matrix.service == 'CalDAV' && 'calendars' || 'addressbooks') || ';' }}
popd
- name: Print Nextcloud logs
if: always()
run: |
cat data/nextcloud.log
caldav-integration-summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, integration-caldav]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.integration-caldav.result != 'success' }}; then exit 1; fi
-116
View File
@@ -1,116 +0,0 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Litmus integration tests
on:
pull_request:
permissions:
contents: read
concurrency:
group: integration-litmus-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/*.php'
- '**/lib/**'
- '**/tests/**'
- '**/vendor-bin/**'
- 'build/integration/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
integration-litmus:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false' && github.repository_owner != 'nextcloud-gmbh'
strategy:
fail-fast: false
matrix:
php-versions: ['8.2']
endpoint: ['webdav', 'dav']
name: Litmus WebDAV ${{ matrix.endpoint }}
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: 'none'
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
run: |
mkdir data
./occ maintenance:install \
--verbose \
--database=sqlite \
--database-name=nextcloud \
--database-user=root \
--database-pass=rootpassword \
--admin-user admin \
--admin-pass admin
./occ config:system:set trusted_domains 2 --value=host.docker.internal:8080
- name: Run Nextcloud
run: |
php -S 0.0.0.0:8080 &
- name: Run Litmus test
run: |
docker run \
--rm \
--add-host=host.docker.internal:host-gateway \
ghcr.io/nextcloud/continuous-integration-litmus-php8.3:latest \
bash -c '\
cd /tmp/litmus/litmus-0.13;
make URL=http://host.docker.internal:8080/remote.php/${{ matrix.endpoint }}${{ matrix.endpoint == 'dav' && '/files/admin' || ''}} CREDS="admin admin" TESTS="basic copymove props largefile" check;
status=$?;
cat debug.log;
exit $status;'
- name: Print Nextcloud logs
if: always()
run: cat data/nextcloud.log
integration-litmus-summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, integration-litmus]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.integration-litmus.result != 'success' }}; then exit 1; fi
@@ -1,133 +0,0 @@
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: S3 primary storage integration tests
on:
pull_request:
permissions:
contents: read
concurrency:
group: integration-s3-primary-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- 'build/integration/**'
- 'apps/files/lib/**'
- 'apps/files/tests/**'
- 'apps/files_external/**'
- 'apps/files_sharing/lib/**'
- 'apps/files_sharing/tests/**'
- 'apps/files_trashbin/lib/**'
- 'apps/files_trashbin/tests/**'
- 'apps/files_versions/lib/**'
- 'apps/files_versions/tests/**'
- 'lib/private/Files/**'
- 'lib/public/Files/**'
- 'tests/lib/Files/**'
integration-s3-primary:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false' && github.repository_owner != 'nextcloud-gmbh'
strategy:
fail-fast: false
matrix:
php-versions: ['8.2']
key: ['objectstore', 'objectstore_multibucket']
name: php${{ matrix.php-versions }}-${{ matrix.key }}-minio
services:
redis:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
ports:
- 6379:6379/tcp
minio:
image: bitnami/minio@sha256:50cec18ac4184af4671a78aedd5554942c8ae105d51a465fa82037949046da01 # v2025.4.22
env:
MINIO_ROOT_USER: nextcloud
MINIO_ROOT_PASSWORD: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
MINIO_DEFAULT_BUCKETS: nextcloud
ports:
- "9000:9000"
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: 'none'
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Wait for S3
run: |
sleep 10
curl -f -m 1 --retry-connrefused --retry 10 --retry-delay 10 http://localhost:9000/minio/health/ready
- name: Set up Nextcloud
run: |
composer install
mkdir data
echo '<?php $CONFIG=["${{ matrix.key }}" => ["class" => "OC\Files\ObjectStore\S3", "arguments" => ["bucket" => "nextcloud", "autocreate" => true, "key" => "nextcloud", "secret" => "bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=", "hostname" => "localhost", "port" => 9000, "use_ssl" => false, "use_path_style" => true, "uploadPartSize" => 52428800]]];' > config/config.php
echo '<?php $CONFIG=["redis" => ["host" => "localhost", "port" => 6379], "memcache.local" => "\OC\Memcache\Redis", "memcache.distributed" => "\OC\Memcache\Redis"];' > config/redis.config.php
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
php -f index.php
- name: Integration
run: |
cd build/integration
bash run.sh --tags "~@failure-s3" dav_features/webdav-related.feature
- name: S3 logs
if: always()
run: |
cat data/nextcloud.log
docker ps -a
docker ps -aq | while read container ; do IMAGE=$(docker inspect --format='{{.Config.Image}}' $container); echo $IMAGE; docker logs $container; echo "\n\n" ; done
s3-primary-integration-summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, integration-s3-primary]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.integration-s3-primary.result != 'success' }}; then exit 1; fi
-184
View File
@@ -1,184 +0,0 @@
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Integration sqlite
on:
pull_request:
push:
branches:
- main
- master
- stable*
permissions:
contents: read
concurrency:
group: integration-sqlite-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/*.php'
- '**/lib/**'
- '**/tests/**'
- '**/vendor-bin/**'
- 'build/integration/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- 'core/shipped.json'
integration-sqlite:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
strategy:
fail-fast: false
matrix:
test-suite:
- 'capabilities_features'
- 'collaboration_features'
- 'comments_features'
- 'dav_features'
- 'features'
- 'federation_features'
- '--tags ~@large files_features'
- 'filesdrop_features'
- 'file_conversions'
- 'files_reminders'
- 'openldap_features'
- 'openldap_numerical_features'
- 'ldap_features'
- 'remoteapi_features'
- 'routing_features'
- 'setup_features'
- 'sharees_features'
- 'sharing_features'
- 'theming_features'
- 'videoverification_features'
php-versions: ['8.4']
spreed-versions: ['main']
activity-versions: ['master']
services:
redis:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
ports:
- 6379:6379/tcp
openldap:
image: ghcr.io/nextcloud/continuous-integration-openldap:openldap-8 # zizmor: ignore[unpinned-images]
ports:
- 389:389
- 636:636
env:
SLAPD_DOMAIN: nextcloud.ci
SLAPD_ORGANIZATION: Nextcloud
SLAPD_PASSWORD: admin
SLAPD_ADDITIONAL_MODULES: memberof
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Checkout Talk app
if: ${{ matrix.test-suite == 'videoverification_features' }}
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
repository: nextcloud/spreed
path: apps/spreed
ref: ${{ matrix.spreed-versions }}
- name: Checkout Activity app
if: ${{ matrix.test-suite == 'sharing_features' }}
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
repository: nextcloud/activity
path: apps/activity
ref: ${{ matrix.activity-versions }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, imagick, intl, json, ldap, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: none
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
run: |
composer install
- name: Set up Talk dependencies
if: ${{ matrix.test-suite == 'videoverification_features' }}
working-directory: apps/spreed
run: composer i --no-dev
- name: Set up Nextcloud
run: |
mkdir data
./occ maintenance:install --verbose ${{ contains(matrix.test-suite,'ldap') && '--data-dir=/dev/shm/nc_int' || '' }} --database=sqlite --database-name=nextcloud --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
./occ config:system:set hashing_default_password --value=true --type=boolean
- name: Configure caching
if: ${{ contains(matrix.test-suite,'ldap') }}
run: |
./occ config:system:set redis host --value=localhost
./occ config:system:set redis port --value=6379 --type=integer
./occ config:system:set redis timeout --value=0 --type=integer
./occ config:system:set memcache.local --value='\OC\Memcache\Redis'
./occ config:system:set memcache.distributed --value='\OC\Memcache\Redis'
- name: Run integration
working-directory: build/integration
env:
LDAP_HOST: localhost
run: bash run.sh ${{ matrix.test-suite }} no-tail-log
- name: Print logs
if: always()
run: |
cat $(./occ log:file |grep "Log file"|cut -d" " -f3)
docker ps -a
docker ps -aq | while read container ; do IMAGE=$(docker inspect --format='{{.Config.Image}}' $container); echo $IMAGE; docker logs $container; echo "\n\n" ; done
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, integration-sqlite]
if: always()
name: integration-sqlite-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.integration-sqlite.result != 'success' }}; then exit 1; fi
-100
View File
@@ -1,100 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2021-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Lint eslint
on: pull_request
permissions:
contents: read
concurrency:
group: lint-eslint-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
permissions:
contents: read
pull-requests: read
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '**/src/**'
- '**/appinfo/info.xml'
- 'package.json'
- 'package-lock.json'
- 'tsconfig.json'
- '.eslintrc.*'
- '.eslintignore'
- '**.js'
- '**.ts'
- '**.vue'
lint:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
name: NPM lint
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
id: versions
with:
fallbackNode: '^24'
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}'
- name: Install dependencies
env:
CYPRESS_INSTALL_BINARY: 0
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
-85
View File
@@ -1,85 +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
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Set up php
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
with:
php-version: 8.2
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
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
-86
View File
@@ -1,86 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2021-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Lint php
on: pull_request
permissions:
contents: read
concurrency:
group: lint-php-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/lib/**'
- '**/tests/**'
- '**/vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
lint:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
strategy:
matrix:
php-versions: [ '8.2', '8.3', '8.4', '8.5' ]
name: php-lint
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: none
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Lint
run: composer run lint
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, lint]
if: always()
name: php-lint-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.lint.result != 'success' }}; then exit 1; fi
-53
View File
@@ -1,53 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2021-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Lint stylelint
on: pull_request
permissions:
contents: read
concurrency:
group: lint-stylelint-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
lint:
runs-on: ubuntu-latest
name: stylelint
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
id: versions
with:
fallbackNode: '^24'
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}'
- name: Install dependencies
env:
CYPRESS_INSTALL_BINARY: 0
run: npm ci
- name: Lint
run: npm run stylelint
@@ -1,99 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Node handlebars tests
on:
pull_request:
permissions:
contents: read
concurrency:
group: node-tests-handlebars-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
permissions:
contents: read
pull-requests: read
outputs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '**/__tests__/**'
- '**/__mocks__/**'
- 'apps/*/src/**'
- 'apps/*/appinfo/info.xml'
- 'core/src/**'
- 'package.json'
- '**/package-lock.json'
- 'tsconfig.json'
- '**.js'
- '**.ts'
- '**.vue'
handlebars:
runs-on: ubuntu-latest
needs: [changes]
if: needs.changes.outputs.src != 'false'
env:
CYPRESS_INSTALL_BINARY: 0
PUPPETEER_SKIP_DOWNLOAD: true
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
id: versions
with:
fallbackNode: '^24'
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}'
- name: Install dependencies
run: npm ci
- name: Run compile
run: ./build/compile-handlebars-templates.sh
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, handlebars]
if: always()
name: test-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.handlebars.result != 'success' }}; then exit 1; fi
-109
View File
@@ -1,109 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Node tests
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: node-tests-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
permissions:
contents: read
pull-requests: read
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '**/__tests__/**'
- '**/__mocks__/**'
- 'apps/*/src/**'
- 'apps/*/appinfo/info.xml'
- 'core/src/**'
- 'package.json'
- '**/package-lock.json'
- 'tsconfig.json'
- '**.js'
- '**.ts'
- '**.vue'
test:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
id: versions
with:
fallbackNode: '^24'
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}'
- name: Install dependencies
env:
CYPRESS_INSTALL_BINARY: 0
run: |
npm ci
# - name: Test
# run: npm run test --if-present
- name: Test and process coverage
run: npm run test:coverage
- name: Collect coverage
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./coverage/lcov.info,./coverage/legacy/lcov.info
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, test]
if: always()
name: node-test-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.test.result != 'success' }}; then exit 1; fi
-117
View File
@@ -1,117 +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: Node
on: pull_request
permissions:
contents: read
concurrency:
group: node-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
permissions:
contents: read
pull-requests: read
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '**/src/**'
- '**/appinfo/info.xml'
- 'core/css/*'
- 'core/img/**'
- 'package.json'
- '**/package-lock.json'
- 'tsconfig.json'
- '**.js'
- '**.ts'
- '**.vue'
- 'version.php'
build:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
name: NPM build
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
id: versions
with:
fallbackNode: '^24'
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}'
# This does not work on server as we have some git dependencies that "npm-package-lock-add-resolved" cannot handle
# - name: Validate package-lock.json # See https://github.com/npm/cli/issues/4460
# run: |
# npm i -g npm-package-lock-add-resolved@1.1.4
# npm-package-lock-add-resolved
# git --no-pager diff --exit-code
- name: Install dependencies & build
env:
CYPRESS_INSTALL_BINARY: 0
PUPPETEER_SKIP_DOWNLOAD: true
run: |
npm ci
npm run build --if-present
- name: Check 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
-85
View File
@@ -1,85 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Npm audit fix and compile
on:
workflow_dispatch:
schedule:
# At 2:30 on Sundays
- cron: '30 2 * * 0'
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
branches:
- ${{ github.event.repository.default_branch }}
- 'stable33'
- 'stable32'
- 'stable31'
name: npm-audit-fix-${{ matrix.branches }}
steps:
- name: Checkout
id: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
ref: ${{ matrix.branches }}
continue-on-error: true
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
id: versions
with:
fallbackNode: '^24'
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}'
- name: Fix npm audit
id: npm-audit
uses: nextcloud-libraries/npm-audit-action@1b1728b2b4a7a78d69de65608efcf4db0e3e42d0 # v0.2.0
- name: Run npm ci and npm run build
if: steps.checkout.outcome == 'success'
env:
CYPRESS_INSTALL_BINARY: 0
run: |
npm ci
npm run build --if-present
- name: Create Pull Request
if: steps.checkout.outcome == 'success'
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v8.1.0
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
-145
View File
@@ -1,145 +0,0 @@
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Object storage azure
on:
pull_request:
schedule:
- cron: "15 2 * * *"
permissions:
contents: read
concurrency:
group: object-storage-azure-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- 'apps/files/lib/**'
- 'apps/files/tests/**'
- 'apps/files_external/**'
- 'apps/files_sharing/lib/**'
- 'apps/files_sharing/tests/**'
- 'apps/files_trashbin/lib/**'
- 'apps/files_trashbin/tests/**'
- 'apps/files_versions/lib/**'
- 'apps/files_versions/tests/**'
- 'lib/private/Files/**'
- 'lib/public/Files/**'
- 'tests/lib/Files/**'
azure-primary-tests:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
fail-fast: false
matrix:
php-versions: ['8.2', '8.3']
include:
- php-versions: '8.4'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-azure
services:
azurite:
image: mcr.microsoft.com/azure-storage/azurite@sha256:0a47e12e3693483cef5c71f35468b91d751611f172d2f97414e9c69113b106d9 # v3.34.0
env:
AZURITE_ACCOUNTS: nextcloud:bmV4dGNsb3Vk
ports:
- 10000:10000
options: --health-cmd="nc 127.0.0.1 10000 -z" --health-interval=1s --health-retries=30
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
env:
OBJECT_STORE: azure
OBJECT_STORE_KEY: nextcloud
OBJECT_STORE_SECRET: bmV4dGNsb3Vk
run: |
composer install
cp tests/redis.config.php config/
cp tests/preseed-config.php config/config.php
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
php -f tests/enable_all.php
- name: PHPUnit
env:
OBJECT_STORE: azure
OBJECT_STORE_KEY: nextcloud
OBJECT_STORE_SECRET: bmV4dGNsb3Vk
run: composer run test -- --group PRIMARY-azure --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.xml
flags: phpunit-azure
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-azure
- name: Azurite logs
if: always()
run: |
docker ps -a
docker ps -aq | while read container ; do IMAGE=$(docker inspect --format='{{.Config.Image}}' $container); echo $IMAGE; docker logs $container; echo "\n\n" ; done
azure-primary-summary:
runs-on: ubuntu-latest-low
needs: [changes, azure-primary-tests]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.azure-primary-tests.result != 'success' }}; then exit 1; fi
-151
View File
@@ -1,151 +0,0 @@
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Object storage S3
on:
pull_request:
schedule:
- cron: "15 2 * * *"
permissions:
contents: read
concurrency:
group: object-storage-s3-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- 'apps/files/lib/**'
- 'apps/files/tests/**'
- 'apps/files_external/**'
- 'apps/files_sharing/lib/**'
- 'apps/files_sharing/tests/**'
- 'apps/files_trashbin/lib/**'
- 'apps/files_trashbin/tests/**'
- 'apps/files_versions/lib/**'
- 'apps/files_versions/tests/**'
- 'lib/private/Files/**'
- 'lib/public/Files/**'
- 'tests/lib/Files/**'
s3-primary-tests-minio:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
fail-fast: false
matrix:
php-versions: ['8.2']
include:
- php-versions: '8.3'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-s3
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
minio:
image: bitnami/minio@sha256:50cec18ac4184af4671a78aedd5554942c8ae105d51a465fa82037949046da01 # v2025.4.22
env:
MINIO_ROOT_USER: nextcloud
MINIO_ROOT_PASSWORD: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
MINIO_DEFAULT_BUCKETS: nextcloud
ports:
- "9000:9000"
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
env:
OBJECT_STORE: s3
OBJECT_STORE_KEY: nextcloud
OBJECT_STORE_SECRET: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
run: |
composer install
cp tests/redis.config.php config/
cp tests/preseed-config.php config/config.php
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
php -f tests/enable_all.php
- name: Wait for S3
run: |
sleep 10
curl -f -m 1 --retry-connrefused --retry 10 --retry-delay 10 http://localhost:9000/minio/health/ready
- name: PHPUnit
env:
OBJECT_STORE: s3
OBJECT_STORE_KEY: nextcloud
OBJECT_STORE_SECRET: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
run: composer run test -- --group PRIMARY-s3 --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.xml
flags: phpunit-s3
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-s3
- name: S3 logs
if: always()
run: |
docker ps -a
docker ps -aq | while read container ; do IMAGE=$(docker inspect --format='{{.Config.Image}}' $container); echo $IMAGE; docker logs $container; echo "\n\n" ; done
s3-primary-summary:
runs-on: ubuntu-latest-low
needs: [changes,s3-primary-tests-minio]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.s3-primary-tests-minio.result != 'success' }}; then exit 1; fi
-141
View File
@@ -1,141 +0,0 @@
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Object storage Swift
on:
pull_request:
schedule:
- cron: "15 2 * * *"
permissions:
contents: read
concurrency:
group: object-storage-swift-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- 'apps/files/lib/**'
- 'apps/files/tests/**'
- 'apps/files_external/**'
- 'apps/files_sharing/lib/**'
- 'apps/files_sharing/tests/**'
- 'apps/files_trashbin/lib/**'
- 'apps/files_trashbin/tests/**'
- 'apps/files_versions/lib/**'
- 'apps/files_versions/tests/**'
- 'lib/private/Files/**'
- 'lib/public/Files/**'
- 'tests/lib/Files/**'
swift-primary-tests:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
fail-fast: false
matrix:
php-versions: ['8.2']
include:
- php-versions: '8.3'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-swift
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
swift:
image: ghcr.io/cscfi/docker-keystone-swift@sha256:e8b1ec21120ab9adc6ac6a2b98785fd273676439a8633fe898e37f2aea7e0712
ports:
- 5000:5000
- 8080:8080
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
env:
OBJECT_STORE: swift
OBJECT_STORE_SECRET: veryfast
run: |
composer install
cp tests/redis.config.php config/
cp tests/preseed-config.php config/config.php
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
php -f tests/enable_all.php
- name: PHPUnit
env:
OBJECT_STORE: swift
OBJECT_STORE_SECRET: veryfast
run: composer run test -- --group PRIMARY-swift --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.xml
flags: phpunit-swift
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-swift
- name: Swift logs
if: always()
run: |
docker ps -a
docker ps -aq | while read container ; do IMAGE=$(docker inspect --format='{{.Config.Image}}' $container); echo $IMAGE; docker logs $container; echo "\n\n" ; done
swift-primary-summary:
runs-on: ubuntu-latest-low
needs: [changes,swift-primary-tests]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.swift-primary-tests.result != 'success' }}; then exit 1; fi
-48
View File
@@ -1,48 +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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Set up php
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
with:
php-version: '8.2'
extensions: ctype, curl, dom, fileinfo, gd, 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
-128
View File
@@ -1,128 +0,0 @@
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Performance testing
on:
pull_request:
permissions:
contents: read
concurrency:
group: performance-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
performance-testing:
runs-on: ubuntu-latest
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
permissions:
pull-requests: write
strategy:
fail-fast: false
matrix:
php-versions: ['8.2']
name: performance-${{ matrix.php-versions }}
steps:
- name: Disabled on forks
if: ${{ github.event.pull_request.head.repo.full_name != github.repository }}
run: |
echo 'Can not run performance tests on forks'
exit 1
- name: Checkout server before PR
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
ref: ${{ github.event.pull_request.base.ref }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
run: |
mkdir data
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
php -S localhost:8080 &
- name: Apply blueprint
uses: icewind1991/blueprint@00504403f76cb2a09efd0d16793575055e6f63cb # v0.1.2
with:
blueprint: tests/blueprints/basic.toml
ref: ${{ github.event.pull_request.head.ref }}
- name: Run before measurements
uses: nextcloud/profiler@6a74c915048285b35b8e1cd96c0835a635945044
with:
run: |
curl -s -X PROPFIND -u test:test http://localhost:8080/remote.php/dav/files/test
curl -s -u test:test http://localhost:8080/remote.php/dav/files/test/test.txt
curl -s -X PROPFIND -u test:test http://localhost:8080/remote.php/dav/files/test/many_files
curl -s -u test:test -T README.md http://localhost:8080/remote.php/dav/files/test/new_file.txt
curl -s -u test:test -X DELETE http://localhost:8080/remote.php/dav/files/test/new_file.txt
output: before.json
profiler-branch: master
- name: Apply PR # zizmor: ignore[template-injection]
run: |
git remote add pr '${{ github.event.pull_request.head.repo.clone_url }}'
git fetch pr '${{ github.event.pull_request.head.ref }}'
git checkout -b 'pr/${{ github.event.pull_request.head.ref }}'
git submodule update
./occ upgrade
- name: Run after measurements
id: compare
uses: nextcloud/profiler@6a74c915048285b35b8e1cd96c0835a635945044
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@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f
with:
name: profiles
path: |
before.json
after.json
- uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # 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
})
-59
View File
@@ -1,59 +0,0 @@
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit 32bits
on:
pull_request:
paths:
- "version.php"
- ".github/workflows/phpunit-32bits.yml"
- "tests/phpunit-autotest.xml"
- "lib/private/Snowflake/*"
workflow_dispatch:
schedule:
- cron: "15 1 * * 1-6"
permissions:
contents: read
concurrency:
group: phpunit-32bits-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
phpunit-32bits:
runs-on: ubuntu-latest
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
strategy:
fail-fast: false
matrix:
php-versions: ["8.4"]
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up dependencies
uses: docker://ghcr.io/nextcloud/continuous-integration-php8.4-32bit:latest
with:
args: /bin/sh -c "
git config --global --add safe.directory /github/workspace &&
composer install --no-interaction"
- name: Set up Nextcloud
uses: docker://ghcr.io/nextcloud/continuous-integration-php8.4-32bit:latest
with:
args: /bin/sh -c "
mkdir data &&
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-user=autotest --database-pass=rootpassword --admin-user admin --admin-pass admin &&
php -f tests/enable_all.php"
- name: PHPUnit
uses: docker://ghcr.io/nextcloud/continuous-integration-php8.4-32bit:latest
with:
args: /bin/sh -c "composer run test -- --exclude-group PRIMARY-azure,PRIMARY-s3,PRIMARY-swift,Memcached,Redis,RoutingWeirdness"
-158
View File
@@ -1,158 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit MariaDB
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: phpunit-mariadb-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
permissions:
contents: read
pull-requests: read
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
phpunit-mariadb:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
strategy:
fail-fast: false
matrix:
php-versions: ['8.2']
mariadb-versions: ['10.6']
include:
- php-versions: '8.3'
mariadb-versions: '10.11'
coverage: ${{ github.event_name != 'pull_request' }}
- php-versions: '8.4'
mariadb-versions: '11.4'
- php-versions: '8.5'
mariadb-versions: '11.8'
name: MariaDB ${{ matrix.mariadb-versions }} (PHP ${{ matrix.php-versions }}) - database tests
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
mariadb:
image: mariadb:${{ matrix.mariadb-versions }}
ports:
- 4444:3306/tcp
env:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_USER: oc_autotest
MYSQL_PASSWORD: nextcloud
MYSQL_DATABASE: oc_autotest
options: --health-cmd="${{ matrix.mariadb-versions <= 10.4 && 'mysqladmin' || 'mariadb-admin'}} ping" --health-interval 5s --health-timeout 2s --health-retries 5
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, mysql, pdo_mysql
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
run: composer i
- name: Enable ONLY_FULL_GROUP_BY MariaDB option
run: |
echo "SET GLOBAL sql_mode=(SELECT CONCAT(@@sql_mode,',ONLY_FULL_GROUP_BY'));" | mysql -h 127.0.0.1 -P 4444 -u root -prootpassword
echo 'SELECT @@sql_mode;' | mysql -h 127.0.0.1 -P 4444 -u root -prootpassword
- name: Set up Nextcloud
env:
DB_PORT: 4444
run: |
mkdir data
cp tests/redis.config.php config/
cp tests/preseed-config.php config/config.php
./occ maintenance:install --verbose --database=mysql --database-name=nextcloud --database-host=127.0.0.1 --database-port=$DB_PORT --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
php -f tests/enable_all.php
- name: PHPUnit
run: composer run test:db -- --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.db.xml' || '' }}
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.db.xml
flags: phpunit-mariadb
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-mariadb
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, phpunit-mariadb]
if: always()
name: phpunit-mariadb-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.phpunit-mariadb.result != 'success' }}; then exit 1; fi
-135
View File
@@ -1,135 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit memcached
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: phpunit-memcached-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
phpunit-memcached:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
strategy:
fail-fast: false
matrix:
php-versions: ['8.3', '8.4', '8.5']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
name: Memcached (PHP ${{ matrix.php-versions }})
services:
memcached:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
ports:
- 11212:11212/tcp
- 11212:11212/udp
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, memcached, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
run: composer i
- name: Set up Nextcloud
run: |
mkdir data
cp tests/preseed-config.php config/config.php
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
php -f tests/enable_all.php
- name: PHPUnit memcached tests
run: composer run test -- --group Memcache --group Memcached --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.xml
flags: phpunit-memcached
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-memcached
- name: Print logs
if: always()
run: |
cat data/nextcloud.log
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, phpunit-memcached]
if: always()
name: phpunit-memcached-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.phpunit-memcached.result != 'success' }}; then exit 1; fi
@@ -1,193 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2022-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit sharding
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: phpunit-mysql-sharding-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
phpunit-mysql:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
strategy:
fail-fast: false
matrix:
php-versions: ['8.2']
mysql-versions: ['8.4']
name: Sharding - MySQL ${{ matrix.mysql-versions }} (PHP ${{ matrix.php-versions }}) - database tests
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
mysql:
image: ghcr.io/nextcloud/continuous-integration-mysql-${{ matrix.mysql-versions }}:latest # zizmor: ignore[unpinned-images]
ports:
- 4444:3306/tcp
env:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_USER: oc_autotest
MYSQL_PASSWORD: nextcloud
MYSQL_DATABASE: oc_autotest
options: --health-cmd="mysqladmin ping" --health-interval 5s --health-timeout 2s --health-retries 10
shard1:
image: ghcr.io/nextcloud/continuous-integration-mysql-${{ matrix.mysql-versions }}:latest # zizmor: ignore[unpinned-images]
ports:
- 5001:3306/tcp
env:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_USER: oc_autotest
MYSQL_PASSWORD: nextcloud
MYSQL_DATABASE: nextcloud
options: --health-cmd="mysqladmin ping" --health-interval 5s --health-timeout 2s --health-retries 10
shard2:
image: ghcr.io/nextcloud/continuous-integration-mysql-${{ matrix.mysql-versions }}:latest # zizmor: ignore[unpinned-images]
ports:
- 5002:3306/tcp
env:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_USER: oc_autotest
MYSQL_PASSWORD: nextcloud
MYSQL_DATABASE: nextcloud
options: --health-cmd="mysqladmin ping" --health-interval 5s --health-timeout 2s --health-retries 10
shard3:
image: ghcr.io/nextcloud/continuous-integration-mysql-${{ matrix.mysql-versions }}:latest # zizmor: ignore[unpinned-images]
ports:
- 5003:3306/tcp
env:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_USER: oc_autotest
MYSQL_PASSWORD: nextcloud
MYSQL_DATABASE: nextcloud
options: --health-cmd="mysqladmin ping" --health-interval 5s --health-timeout 2s --health-retries 10
shard4:
image: ghcr.io/nextcloud/continuous-integration-mysql-${{ matrix.mysql-versions }}:latest # zizmor: ignore[unpinned-images]
ports:
- 5004:3306/tcp
env:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_USER: oc_autotest
MYSQL_PASSWORD: nextcloud
MYSQL_DATABASE: nextcloud
options: --health-cmd="mysqladmin ping" --health-interval 5s --health-timeout 2s --health-retries 10
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, mysql, pdo_mysql
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
run: composer i
- name: Enable ONLY_FULL_GROUP_BY MySQL option
run: |
echo "SET GLOBAL sql_mode=(SELECT CONCAT(@@sql_mode,',ONLY_FULL_GROUP_BY'));" | mysql -h 127.0.0.1 -P 4444 -u root -prootpassword
echo "SELECT @@sql_mode;" | mysql -h 127.0.0.1 -P 4444 -u root -prootpassword
- name: Set up Nextcloud
env:
DB_PORT: 4444
SHARDING: 1
run: |
mkdir data
cp tests/redis.config.php config/
cp tests/preseed-config.php config/config.php
./occ maintenance:install --verbose --database=mysql --database-name=nextcloud --database-host=127.0.0.1 --database-port=$DB_PORT --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
php -f tests/enable_all.php
- name: PHPUnit
run: composer run test:db -- --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.db.xml' || '' }}
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.db.xml
flags: phpunit-mysql
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-mysql
- name: Print logs
if: always()
run: |
cat data/nextcloud.log
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, phpunit-mysql]
if: always()
name: phpunit-mysql-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.phpunit-mysql.result != 'success' }}; then exit 1; fi
-163
View File
@@ -1,163 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2022-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit mysql
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: phpunit-mysql-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
permissions:
contents: read
pull-requests: read
outputs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
phpunit-mysql:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
strategy:
fail-fast: false
matrix:
php-versions: ['8.2']
mysql-versions: ['8.0']
include:
- mysql-versions: '8.0'
php-versions: '8.3'
coverage: ${{ github.event_name != 'pull_request' }}
- mysql-versions: '8.4'
php-versions: '8.4'
- mysql-versions: '8.4'
php-versions: '8.5'
name: MySQL ${{ matrix.mysql-versions }} (PHP ${{ matrix.php-versions }}) - database tests
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
mysql:
image: ghcr.io/nextcloud/continuous-integration-mysql-${{ matrix.mysql-versions }}:latest # zizmor: ignore[unpinned-images]
ports:
- 4444:3306/tcp
env:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_USER: oc_autotest
MYSQL_PASSWORD: nextcloud
MYSQL_DATABASE: oc_autotest
options: --health-cmd="mysqladmin ping" --health-interval 5s --health-timeout 2s --health-retries 10
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, mysql, pdo_mysql
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
run: composer i
- name: Enable ONLY_FULL_GROUP_BY MySQL option
run: |
echo "SET GLOBAL sql_mode=(SELECT CONCAT(@@sql_mode,',ONLY_FULL_GROUP_BY'));" | mysql -h 127.0.0.1 -P 4444 -u root -prootpassword
echo "SELECT @@sql_mode;" | mysql -h 127.0.0.1 -P 4444 -u root -prootpassword
- name: Set up Nextcloud
env:
DB_PORT: 4444
run: |
mkdir data
cp tests/redis.config.php config/
cp tests/preseed-config.php config/config.php
./occ maintenance:install --verbose --database=mysql --database-name=nextcloud --database-host=127.0.0.1 --database-port=$DB_PORT --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
php -f tests/enable_all.php
- name: PHPUnit
run: composer run test:db -- --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.db.xml' || '' }}
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.db.xml
flags: phpunit-mysql
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-mysql
- name: Print logs
if: always()
run: |
cat data/nextcloud.log
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, phpunit-mysql]
if: always()
name: phpunit-mysql-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.phpunit-mysql.result != 'success' }}; then exit 1; fi
-141
View File
@@ -1,141 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
#
# This is the testsuite running all non-database agnostic unit tests
name: PHPUnit nodb
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: phpunit-nodb-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'resources/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
phpunit-nodb:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
strategy:
fail-fast: false
matrix:
php-versions: ['8.3', '8.4', '8.5']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
name: No DB unit tests (PHP ${{ matrix.php-versions }})
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, imagick, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
# Required for tests that use pcntl
ini-values: disable_functions=""
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
run: composer i
- name: Set up Nextcloud
run: |
mkdir data
cp tests/redis.config.php config/
cp tests/preseed-config.php config/config.php
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
php -f tests/enable_all.php
- name: PHPUnit nodb testsuite
run: composer run test -- --exclude-group DB --exclude-group SLOWDB --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.nodb.xml' || '' }}
- name: Upload nodb code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.nodb.xml
flags: phpunit-nodb
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-nodb
- name: Print logs
if: always()
run: |
cat data/nextcloud.log
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, phpunit-nodb]
if: always()
name: phpunit-nodb-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.phpunit-nodb.result != 'success' }}; then exit 1; fi
@@ -1,125 +0,0 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit primary object store
on:
pull_request:
schedule:
- cron: "15 2 * * *"
permissions:
contents: read
concurrency:
group: phpunit-object-store-primary-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
object-store-primary-tests-minio:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
fail-fast: false
matrix:
php-versions: ['8.2']
key: ['s3', 's3-multibucket']
name: php${{ matrix.php-versions }}-${{ matrix.key }}-minio
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
minio:
image: bitnami/minio@sha256:50cec18ac4184af4671a78aedd5554942c8ae105d51a465fa82037949046da01 # v2025.4.22
env:
MINIO_ROOT_USER: nextcloud
MINIO_ROOT_PASSWORD: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
MINIO_DEFAULT_BUCKETS: nextcloud
ports:
- "9000:9000"
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
env:
OBJECT_STORE: ${{ matrix.key }}
OBJECT_STORE_KEY: nextcloud
OBJECT_STORE_SECRET: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
run: |
composer install
cp tests/redis.config.php config/
cp tests/preseed-config.php config/config.php
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
php -f tests/enable_all.php
- name: Wait for S3
run: |
sleep 10
curl -f -m 1 --retry-connrefused --retry 10 --retry-delay 10 http://localhost:9000/minio/health/ready
- name: PHPUnit
run: composer run test:db
- name: S3 logs
if: always()
run: |
cat data/nextcloud.log
docker ps -a
docker ps -aq | while read container ; do IMAGE=$(docker inspect --format='{{.Config.Image}}' $container); echo $IMAGE; docker logs $container; echo "\n\n" ; done
object-store-primary-summary:
runs-on: ubuntu-latest-low
needs: [changes,object-store-primary-tests-minio]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.object-store-primary-tests-minio.result != 'success' }}; then exit 1; fi
-162
View File
@@ -1,162 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2022-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit OCI
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: phpunit-oci-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
permissions:
contents: read
pull-requests: read
outputs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
phpunit-oci:
runs-on: ubuntu-latest
needs: changes
if: ${{ needs.changes.outputs.src != 'false' && github.repository_owner != 'nextcloud-gmbh' }}
strategy:
fail-fast: false
matrix:
include:
- oracle-versions: '18'
php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
- oracle-versions: '21'
php-versions: '8.3'
- oracle-versions: '23'
php-versions: '8.4'
- oracle-versions: '23'
php-versions: '8.5'
name: Oracle ${{ matrix.oracle-versions }} (PHP ${{ matrix.php-versions }}) - database tests
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
oracle:
image: ghcr.io/gvenzl/oracle-${{ matrix.oracle-versions < 23 && 'xe' || 'free' }}:${{ matrix.oracle-versions }}
# Provide passwords and other environment variables to container
env:
ORACLE_PASSWORD: oracle
# Forward Oracle port
ports:
- 1521:1521
# Provide healthcheck script options for startup
options: >-
--health-cmd healthcheck.sh
--health-interval 20s
--health-timeout 10s
--health-retries 10
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, oci8
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
run: composer i
- name: Set up Nextcloud
run: |
mkdir data
cp tests/redis.config.php config/
cp tests/preseed-config.php config/config.php
./occ maintenance:install --verbose --database=oci --database-name=${{ matrix.oracle-versions < 23 && 'XE' || 'FREE' }} --database-host=127.0.0.1 --database-port=1521 --database-user=system --database-pass=oracle --admin-user admin --admin-pass admin
php -f tests/enable_all.php
- name: PHPUnit
run: composer run test:db -- --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.db.xml' || '' }}
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.db.xml
flags: phpunit-oci
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-oci
- 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
-162
View File
@@ -1,162 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2022-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit PostgreSQL
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: phpunit-pgsql-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
permissions:
contents: read
pull-requests: read
outputs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
phpunit-pgsql:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
strategy:
fail-fast: false
matrix:
php-versions: ['8.2']
# To keep the matrix smaller we ignore PostgreSQL versions in between as we already test the minimum and the maximum
postgres-versions: ['14']
include:
- php-versions: '8.3'
postgres-versions: '18'
coverage: ${{ github.event_name != 'pull_request' }}
- php-versions: '8.4'
postgres-versions: '18'
- php-versions: '8.5'
postgres-versions: '18'
name: PostgreSQL ${{ matrix.postgres-versions }} (PHP ${{ matrix.php-versions }}) - database tests
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
postgres:
image: ghcr.io/nextcloud/continuous-integration-postgres-${{ matrix.postgres-versions }}:latest # zizmor: ignore[unpinned-images]
ports:
- 4444:5432/tcp
env:
POSTGRES_USER: root
POSTGRES_PASSWORD: rootpassword
POSTGRES_DB: nextcloud
options: --mount type=tmpfs,destination=/var/lib/postgresql --health-cmd pg_isready --health-interval 5s --health-timeout 2s --health-retries 5
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, pgsql, pdo_pgsql
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
run: composer i
- name: Set up Nextcloud
env:
DB_PORT: 4444
run: |
mkdir data
cp tests/redis.config.php config/
cp tests/preseed-config.php config/config.php
./occ maintenance:install --verbose --database=pgsql --database-name=nextcloud --database-host=127.0.0.1 --database-port=$DB_PORT --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
php -f tests/enable_all.php
- name: PHPUnit database tests
run: composer run test:db -- --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.db.xml' || '' }}
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.db.xml
flags: phpunit-postgres
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-postgres
- name: Run repair steps
run: |
./occ maintenance:repair --include-expensive
- name: Print logs
if: always()
run: |
cat data/nextcloud.log
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, phpunit-pgsql]
if: always()
name: phpunit-pgsql-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.phpunit-pgsql.result != 'success' }}; then exit 1; fi
-147
View File
@@ -1,147 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2022-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit SQLite
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: phpunit-sqlite-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
permissions:
contents: read
pull-requests: read
outputs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
phpunit-sqlite:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
strategy:
fail-fast: false
matrix:
php-versions: ['8.3', '8.4', '8.5']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
name: SQLite (PHP ${{ matrix.php-versions }})
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
steps:
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
timeout-minutes: 5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, imagick, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
run: |
sudo apt-get update
sudo apt-get install -y ghostscript
composer i
- name: Set up Nextcloud
run: |
mkdir data
cp tests/redis.config.php config/
cp tests/preseed-config.php config/config.php
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
php -f tests/enable_all.php
- name: Nextcloud debug information
run: ./occ app:list && echo "======= System config =======" && ./occ config:list system
- name: PHPUnit database tests
run: composer run test:db -- --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.db.xml' || '' }} tests/lib/Preview/PostscriptTest.php
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
with:
files: ./clover.db.xml
flags: phpunit-sqlite
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1.2.1
with:
flags: phpunit-sqlite
- name: Print logs
if: always()
run: |
gs --version
cat /etc/ImageMagick-6/policy.xml
cat data/nextcloud.log
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, phpunit-sqlite]
if: always()
name: phpunit-sqlite-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.phpunit-sqlite.result != 'success' }}; then exit 1; fi
-55
View File
@@ -1,55 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
# SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-FileCopyrightText: 2023 Marcel Klehr <mklehr@gmx.net>
# SPDX-FileCopyrightText: 2023 Joas Schilling <213943+nickvergessen@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Daniel Kesselberg <mail@danielkesselberg.de>
# SPDX-FileCopyrightText: 2023 Florian Steffens <florian.steffens@nextcloud.com>
# SPDX-License-Identifier: MIT
name: 'Ask for feedback on PRs'
on:
schedule:
- cron: '30 1 * * *'
permissions:
contents: read
pull-requests: write
jobs:
pr-feedback:
if: ${{ github.repository_owner == 'nextcloud' }}
runs-on: ubuntu-latest
steps:
- name: The get-github-handles-from-website action
uses: marcelklehr/get-github-handles-from-website-action@06b2239db0a48fe1484ba0bfd966a3ab81a08308 # v1.0.1
id: scrape
with:
website: 'https://nextcloud.com/team/'
- name: Get blocklist
id: blocklist
run: |
blocklist=$(curl https://raw.githubusercontent.com/nextcloud/.github/master/non-community-usernames.txt | paste -s -d, -)
echo "blocklist=$blocklist" >> "$GITHUB_OUTPUT"
- uses: nextcloud/pr-feedback-action@f0cab224dea8e1f282f9451de322f323c78fc7a5 # main
with:
feedback-message: |
Hello there,
Thank you so much for taking the time and effort to create a pull request to our Nextcloud project.
We hope that the review process is going smooth and is helpful for you. We want to ensure your pull request is reviewed to your satisfaction. If you have a moment, our community management team would very much appreciate your feedback on your experience with this PR review process.
Your feedback is valuable to us as we continuously strive to improve our community developer experience. Please take a moment to complete our short survey by clicking on the following link: https://cloud.nextcloud.com/apps/forms/s/i9Ago4EQRZ7TWxjfmeEpPkf6
Thank you for contributing to Nextcloud and we hope to hear from you soon!
(If you believe you should not receive this message, you can add yourself to the [blocklist](https://github.com/nextcloud/.github/blob/master/non-community-usernames.txt).)
days-before-feedback: 14
start-date: '2025-06-12'
exempt-authors: '${{ steps.blocklist.outputs.blocklist }},${{ steps.scrape.outputs.users }}'
exempt-bots: true
-70
View File
@@ -1,70 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Apply rector changes
on:
workflow_dispatch:
schedule:
# At 14:30 on Sundays
- cron: '30 14 * * 0'
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php-versions: [ '8.2' ]
name: rector-apply
steps:
- name: Checkout
id: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
ref: ${{ github.event.repository.default_branch }}
- name: Set up php${{ matrix.php-versions }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: none
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install dependencies
run: |
composer remove nextcloud/ocp --dev --no-scripts
composer i
git restore lib/composer/composer
- name: Rector
run: composer run rector
- name: Create Pull Request
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v8.1.0
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: 'refactor: Apply rector changes'
committer: GitHub <noreply@github.com>
author: nextcloud-command <nextcloud-command@users.noreply.github.com>
signoff: true
branch: automated/noid/rector-changes
title: 'Apply rector changes'
labels: |
technical debt
3. to review
-45
View File
@@ -1,45 +0,0 @@
# SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
name: Rector
on:
pull_request:
permissions:
contents: read
concurrency:
group: rector-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
strict:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'push' && github.repository_owner != 'nextcloud-gmbh' }}
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
with:
php-version: '8.2'
extensions: apcu,ctype,curl,dom,fileinfo,ftp,gd,imagick,intl,json,ldap,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Composer install
run: composer i
- name: Rector
run: composer run rector:strict
- name: Show changes
if: always()
run: git diff --exit-code -- . ':!lib/composer'
-27
View File
@@ -1,27 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
# SPDX-FileCopyrightText: 2022 Free Software Foundation Europe e.V. <https://fsfe.org>
#
# SPDX-License-Identifier: CC0-1.0
name: REUSE Compliance Check
on: [pull_request]
permissions:
contents: read
jobs:
reuse-compliance-check:
runs-on: ubuntu-latest-low
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: REUSE Compliance Check
uses: fsfe/reuse-action@676e2d560c9a403aa252096d99fcab3e1132b0f5 # v6.0.0
-37
View File
@@ -1,37 +0,0 @@
# SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Close stale issues
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * *"
permissions:
contents: read
jobs:
stale:
runs-on: ubuntu-latest
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
permissions:
issues: write
steps:
- uses: actions/stale@b5d41d4e1d5dceea10e7104786b73624c18a190f # 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
-180
View File
@@ -1,180 +0,0 @@
# SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Psalm static code analysis
on:
pull_request:
push:
branches:
- main
- master
- stable*
paths:
- '.github/workflows/static-code-analysis.yml'
- '**.php'
permissions:
contents: read
concurrency:
group: static-code-analysis-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
static-code-analysis:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'push' && github.repository_owner != 'nextcloud-gmbh' }}
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: '8.2'
extensions: 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' }}
permissions:
security-events: write
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: '8.2'
extensions: ctype,curl,dom,fileinfo,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@89a39a4e59826350b863aa6b6252a07ad50cf83e # 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@de0fac2e4500dabe0009e67214ff5f5447ce83dd
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: '8.2'
extensions: ctype,curl,dom,fileinfo,gd,imagick,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Composer install
run: composer i
- name: Psalm
run: composer run psalm: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@de0fac2e4500dabe0009e67214ff5f5447ce83dd
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: '8.2'
extensions: ctype,curl,dom,fileinfo,gd,imagick,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Composer install
run: composer i
- name: Psalm
run: composer run psalm:ncu -- --threads=1 --monochrome --no-progress --output-format=github
static-code-analysis-strict:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'push' && github.repository_owner != 'nextcloud-gmbh' }}
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
with:
php-version: '8.2'
extensions: ctype,curl,dom,fileinfo,gd,imagick,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Composer install
run: composer i
- name: Psalm
run: composer run psalm:strict -- --threads=1 --monochrome --no-progress --output-format=github
@@ -1,49 +0,0 @@
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Update CA certificate bundle
on:
workflow_dispatch:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
jobs:
update-ca-certificate-bundle:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
branches: ['master', 'stable33', 'stable32', 'stable31', 'stable30', 'stable29', 'stable28', 'stable27', 'stable26', 'stable25', 'stable24', 'stable23', 'stable22']
name: update-ca-certificate-bundle-${{ matrix.branches }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
ref: ${{ matrix.branches }}
submodules: true
- name: Download CA certificate bundle from curl
run: curl --etag-compare build/ca-bundle-etag.txt --etag-save build/ca-bundle-etag.txt --output resources/config/ca-bundle.crt https://curl.se/ca/cacert.pem
- name: Create Pull Request
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: 'fix(security): Update CA certificate bundle'
committer: GitHub <noreply@github.com>
author: nextcloud-command <nextcloud-command@users.noreply.github.com>
signoff: true
branch: 'automated/noid/${{ matrix.branches }}-update-ca-cert-bundle'
title: '[${{ matrix.branches }}] fix(security): Update CA certificate bundle'
body: |
Auto-generated update of CA certificate bundle from [https://curl.se/docs/caextract.html](https://curl.se/docs/caextract.html)
labels: |
dependencies
3. to review
reviewers: ChristophWurst, miaulalala, nickvergessen
@@ -1,52 +0,0 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Update code signing revocation list
on:
workflow_dispatch:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
jobs:
update-code-signing-crl:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
branches: ['master', 'stable33', 'stable32', 'stable31', 'stable30', 'stable29', 'stable28', 'stable27', 'stable26', 'stable25', 'stable24', 'stable23', 'stable22']
name: update-code-signing-crl-${{ matrix.branches }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
ref: ${{ matrix.branches }}
submodules: true
- name: Download CRL file from Appstore repository
run: curl --output resources/codesigning/root.crl https://raw.githubusercontent.com/nextcloud/appstore/master/nextcloudappstore/certificate/nextcloud.crl
- name: Verify CRL is from CRT
run: openssl crl -verify -in resources/codesigning/root.crl -CAfile resources/codesigning/root.crt -noout
- name: Create Pull Request
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: 'fix(security): Update code signing revocation list'
committer: GitHub <noreply@github.com>
author: nextcloud-command <nextcloud-command@users.noreply.github.com>
signoff: true
branch: 'automated/noid/${{ matrix.branches }}-update-code-signing-crl'
title: '[${{ matrix.branches }}] fix(security): Update code signing revocation list'
body: |
Auto-generated update of code signing revocation list from [Appstore](https://github.com/nextcloud/appstore/commits/master/nextcloudappstore/certificate/nextcloud.crl)
labels: |
dependencies
3. to review
reviewers: mgallien, miaulalala, nickvergessen
@@ -1,128 +0,0 @@
# SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Update min supported desktop version
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * 1"
permissions:
contents: read
jobs:
update-minimum-supported-desktop-version:
runs-on: ubuntu-latest-low
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
submodules: true
- name: Download desktop client version file from 5 years ago
id: download
run: |
# Create a temporary directory for the downloaded file
mkdir -p tmp
# Download the version file from the provided URL
VERSION_FILE_URL="https://github.com/nextcloud/desktop/raw/@%7B5.years.ago%7D/VERSION.cmake"
# Download the file using curl
curl -s -L "$VERSION_FILE_URL" -o tmp/VERSION.cmake
if [ ! -f "tmp/VERSION.cmake" ]; then
echo "Failed to download VERSION.cmake file"
exit 1
fi
echo "VERSION_FILE=tmp/VERSION.cmake" >> $GITHUB_OUTPUT
echo "Downloaded version file to tmp/VERSION.cmake"
- name: Extract version info
id: extract-version
run: |
# Path to the downloaded version file
VERSION_FILE="${{ steps.download.outputs.VERSION_FILE }}"
# Extract major, minor, patch versions
MAJOR=$(grep "VERSION_MAJOR" $VERSION_FILE | grep -o '[0-9]\+')
MINOR=$(grep "VERSION_MINOR" $VERSION_FILE | grep -o '[0-9]\+')
PATCH=$(grep "VERSION_PATCH" $VERSION_FILE | grep -o '[0-9]\+')
# Construct the version string
VERSION="$MAJOR.$MINOR.$PATCH"
# Validate format: xx.xx.xx where each x is a digit
if ! [[ "$VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
echo "Error: Extracted version '$VERSION' does not match required format (xx.xx.xx)"
exit 1
fi
rm -rf tmp
echo "VERSION=$VERSION" >> $GITHUB_OUTPUT
echo "Extracted Version: $VERSION"
- name: Update files with new version ${{ steps.extract-version.outputs.VERSION }}
id: update-files
run: |
VERSION="${{ steps.extract-version.outputs.VERSION }}"
# Define the files to update
DAV_FILE="apps/dav/lib/Connector/Sabre/BlockLegacyClientPlugin.php"
CONFIG_FILE="config/config.sample.php"
# Check if files exist
if [ ! -f "$DAV_FILE" ]; then
echo "Error: DAV file not found at $DAV_FILE"
exit 1
fi
if [ ! -f "$CONFIG_FILE" ]; then
echo "Error: Config file not found at $CONFIG_FILE"
exit 1
fi
# Update the DAV file - replace the version in the specific line
sed -i "s/\('minimum\.supported\.desktop\.version', '\)[0-9]\+\.[0-9]\+\.[0-9]\+'/\1$VERSION'/g" "$DAV_FILE"
echo "Updated $DAV_FILE"
# Update the config sample file
PREV_VERSION=$(grep "'minimum.supported.desktop.version'" "$CONFIG_FILE" | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+')
sed -i "s/Defaults to \`\`$PREV_VERSION\`\`/Defaults to \`\`$VERSION\`\`/" "$CONFIG_FILE"
sed -i "s/'minimum\.supported\.desktop\.version' => '[0-9]\+\.[0-9]\+\.[0-9]\+'/'minimum.supported.desktop.version' => '$VERSION'/g" "$CONFIG_FILE"
echo "Updated $CONFIG_FILE"
# Check if any changes were made
if [ -n "$(git diff "$DAV_FILE" "$CONFIG_FILE")" ]; then
echo "CHANGES_MADE=true" >> $GITHUB_OUTPUT
echo "Changes were made to the files"
git diff "$DAV_FILE" "$CONFIG_FILE"
else
echo "CHANGES_MADE=false" >> $GITHUB_OUTPUT
echo "No changes were needed (versions might already be up to date)"
fi
- name: Create Pull Request
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0
if: steps.update-files.outputs.CHANGES_MADE == 'true'
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: "chore: Update minimum supported desktop version"
committer: GitHub <noreply@github.com>
author: nextcloud-command <nextcloud-command@users.noreply.github.com>
signoff: true
branch: "automated/noid/${{ matrix.branches }}-update-min-supported-desktop-version"
title: "chore: Update minimum supported desktop version to ${{ steps.extract-version.outputs.VERSION }}"
base: "master"
body: |
Auto-generated update of the minimum supported desktop version using last supported version.
https://github.com/nextcloud/desktop/blob/@%7B5.years.ago%7D/VERSION.cmake
labels: |
client: 💻 desktop
automated
3. to review
reviewers: '@nextcloud/desktop'
@@ -1,69 +0,0 @@
# SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Update PRs titles on stable branches
on:
pull_request:
types: [opened, edited]
branches:
- "stable*"
concurrency:
group: stable-pr-title-${{ github.event.pull_request.number }}
cancel-in-progress: true
jobs:
update-pr-title:
runs-on: ubuntu-latest-low
permissions:
pull-requests: write
contents: read
steps:
- name: Wait for potential title edits
run: sleep 15
- name: Get PR details and update title
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const { data: pr } = await github.rest.pulls.get({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: context.issue.number,
});
const baseBranch = pr.base.ref;
const currentTitle = pr.title;
// Check if this is a stable branch
// Should not happen as we only trigger on stable* branches 🤷‍♀️
if (!baseBranch.startsWith('stable')) {
console.log(`Not a stable branch: ${baseBranch}`);
return;
}
const prefix = `[${baseBranch}]`;
// Check if title already has the correct prefix and no other stable tags
const correctTagRegex = new RegExp(`^\\[${baseBranch}\\]\\s*`);
const hasOtherStableTags = /\[stable[\d.]*\]/.test(currentTitle.replace(correctTagRegex, ''));
if (correctTagRegex.test(currentTitle) && !hasOtherStableTags) {
console.log(`Title already has correct prefix only: ${currentTitle}`);
return;
}
// Remove all stable tags and add the correct one
const cleanTitle = currentTitle.replace(/\[stable[\d.]*\]\s*/g, '').trim();
const newTitle = `${prefix} ${cleanTitle}`;
console.log(`Updating title from: "${currentTitle}" to: "${newTitle}"`);
await github.rest.pulls.update({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: context.issue.number,
title: newTitle,
});
+11 -41
View File
@@ -1,7 +1,3 @@
# SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-FileCopyrightText: 2011-2016 ownCloud contributors
# SPDX-FileCopyrightText: 2010 ownCloud contributors
# SPDX-License-Identifier: AGPL-3.0-only
# the default generated dir + db file
/data
/config/config.php
@@ -11,16 +7,13 @@
/apps/inc.php
/assets
/.htaccess
node_modules/
/translationfiles
/translationtool.phar
# ignore all apps except core ones
/apps*/*
!/apps/cloud_federation_api
!/apps/accessibility
!/apps/comments
!/apps/contactsinteraction
!/apps/dashboard
!/apps/dav
!/apps/files
!/apps/federation
@@ -28,25 +21,19 @@ node_modules/
!/apps/sharebymail
!/apps/encryption
!/apps/files_external
!/apps/files_reminders
!/apps/files_sharing
!/apps/files_trashbin
!/apps/files_versions
!/apps/lookup_server_connector
!/apps/user_ldap
!/apps/oauth2
!/apps/profile
!/apps/provisioning_api
!/apps/settings
!/apps/systemtags
!/apps/testing
!/apps/admin_audit
!/apps/updatenotification
!/apps/theming
!/apps/twofactor_backupcodes
!/apps/user_status
!/apps/weather_status
!/apps/webhook_listeners
!/apps/workflowengine
/apps/files_external/3rdparty/irodsphp/PHPUnitTest
/apps/files_external/3rdparty/irodsphp/web
@@ -55,14 +42,15 @@ node_modules/
/apps/files_external/3rdparty/irodsphp/prods/test*
/apps/files_external/tests/config.*.php
# apps modules
/apps/*/node_modules
# ignore themes except the example and the README
/themes/*
!/themes/example
!/themes/README
# Love to people that develop the updater
/updater
# just sane ignores
.*.sw[po]
*.bak
@@ -78,8 +66,6 @@ CVS/*
.svn/*
RCS/*
*.backup*
.php_cs.cache
.php-cs-fixer.cache
# kdevelop
.kdev
@@ -102,7 +88,6 @@ nbproject
# vscode
.vscode
*.code-workspace
# geany
*.geany
@@ -127,13 +112,16 @@ nbproject
# Tests
/tests/phpunit.xml
# Node Modules
/build/node_modules/
# nodejs
/build/bin
/build/lib/
/build/integration/output/
/build/integration/phpserver.log
/build/jsdocs/
/npm-debug.log
/PhantomJS_*
/build/package-lock.json
# puphpet
puphpet
@@ -144,9 +132,6 @@ Vagrantfile
# Tests - auto-generated files
/data-autotest
/results.sarif
/tests/.phpunit.cache
/tests/.phpunit.result.cache
/tests/coverage*
/tests/css
/tests/karma-coverage
@@ -160,22 +145,7 @@ 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
/.direnv
-3
View File
@@ -1,6 +1,3 @@
# SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
# SPDX-FileCopyrightText: 2016 ownCloud, Inc.
# SPDX-License-Identifier: AGPL-3.0-only
[submodule "3rdparty"]
path = 3rdparty
url = https://github.com/nextcloud/3rdparty.git
+67 -187
View File
@@ -1,201 +1,81 @@
<IfModule mod_headers.c>
<IfModule mod_setenvif.c>
<IfModule mod_fcgid.c>
SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1
RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION
</IfModule>
<IfModule mod_proxy_fcgi.c>
SetEnvIfNoCase Authorization "(.+)" HTTP_AUTHORIZATION=$1
</IfModule>
<IfModule mod_lsapi.c>
SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1
RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION
</IfModule>
<IfModule mod_setenvif.c>
<IfModule mod_fcgid.c>
SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1
RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION
</IfModule>
<IfModule mod_env.c>
# Add security and privacy related headers
# Avoid doubled headers by unsetting headers in "onsuccess" table,
# then add headers to "always" table: https://github.com/nextcloud/server/pull/19002
<If "%{REQUEST_URI} =~ m#/login$#">
# Only on the login page we need any Origin or Referer header set.
Header onsuccess unset Referrer-Policy
Header always set Referrer-Policy "same-origin"
</If>
<Else>
Header onsuccess unset Referrer-Policy
Header always set Referrer-Policy "no-referrer"
</Else>
Header onsuccess unset X-Content-Type-Options
Header always set X-Content-Type-Options "nosniff"
Header onsuccess unset X-Frame-Options
Header always set X-Frame-Options "SAMEORIGIN"
Header onsuccess unset X-Permitted-Cross-Domain-Policies
Header always set X-Permitted-Cross-Domain-Policies "none"
Header onsuccess unset X-Robots-Tag
Header always set X-Robots-Tag "noindex, nofollow"
SetEnv modHeadersAvailable true
<IfModule mod_proxy_fcgi.c>
SetEnvIfNoCase Authorization "(.+)" HTTP_AUTHORIZATION=$1
</IfModule>
</IfModule>
# Add cache control for static resources
<FilesMatch "\.(css|js|mjs|svg|gif|png|jpg|webp|ico|wasm|tflite)$">
<If "%{QUERY_STRING} =~ /(^|&)v=/">
Header set Cache-Control "max-age=15778463, immutable"
</If>
<Else>
Header set Cache-Control "max-age=15778463"
</Else>
</FilesMatch>
<IfModule mod_env.c>
# Add security and privacy related headers
Header set X-Content-Type-Options "nosniff"
Header set X-XSS-Protection "1; mode=block"
Header set X-Robots-Tag "none"
Header set X-Download-Options "noopen"
Header set X-Permitted-Cross-Domain-Policies "none"
Header set Referrer-Policy "no-referrer"
SetEnv modHeadersAvailable true
</IfModule>
# Let browsers cache OTF and WOFF files for a week
<FilesMatch "\.(otf|woff2?)$">
Header set Cache-Control "max-age=604800"
</FilesMatch>
# Add cache control for static resources
<FilesMatch "\.(css|js|svg|gif)$">
Header set Cache-Control "max-age=15778463"
</FilesMatch>
# Let browsers cache WOFF files for a week
<FilesMatch "\.woff$">
Header set Cache-Control "max-age=604800"
</FilesMatch>
</IfModule>
<IfModule mod_php.c>
php_value default_charset 'UTF-8'
php_value output_buffering 0
<IfModule mod_env.c>
SetEnv htaccessWorking true
</IfModule>
<IfModule mod_php5.c>
php_value upload_max_filesize 511M
php_value post_max_size 511M
php_value memory_limit 512M
php_value mbstring.func_overload 0
php_value always_populate_raw_post_data -1
php_value default_charset 'UTF-8'
php_value output_buffering 0
<IfModule mod_env.c>
SetEnv htaccessWorking true
</IfModule>
</IfModule>
<IfModule mod_mime.c>
AddType image/svg+xml svg svgz
AddType application/wasm wasm
AddEncoding gzip svgz
# Serve ESM javascript files (.mjs) with correct mime type
AddType text/javascript js mjs
<IfModule mod_php7.c>
php_value upload_max_filesize 511M
php_value post_max_size 511M
php_value memory_limit 512M
php_value mbstring.func_overload 0
php_value default_charset 'UTF-8'
php_value output_buffering 0
<IfModule mod_env.c>
SetEnv htaccessWorking true
</IfModule>
</IfModule>
<IfModule mod_dir.c>
DirectoryIndex index.php index.html
</IfModule>
<IfModule pagespeed_module>
ModPagespeed Off
</IfModule>
#############
#### Rewrites
#############
<IfModule mod_rewrite.c>
RewriteEngine on
##
## Rule: Workaround for WebDAV with apache+php-cgi
##
## Context:
## - Sets the environment variable `HTTP_AUTHORIZATION` to the value of the `Authorization` request header
## - Always executed before and along with other rules (no `L` used)
## - XXX: *May* be replaced with an equivalent SetEnvIf in theory
## - XXX: SetEnvIf approach is already in use above for mod_proxy_cgi / mod_lsapi / mod_fcgid
##
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
##
## Rule: Workaround for WebDAV with MS DavClnt
##
## Context:
## - DavClnt attempts an OPTIONS request against `/` instead of the specified endpoint
## - Redirects the client to the endpoint rather than the login page (which confuses DavClnt)
##
RewriteCond %{HTTP_USER_AGENT} DavClnt
RewriteRule ^$ /remote.php/webdav/ [L,R=302]
##
## Rule: Map the RFC 8615 / RFC 6764 compliant well-known URI for CardDAV to our Remote DAV endpoint
##
RewriteRule ^\.well-known/carddav /remote.php/dav/ [R=301,L]
##
## Rule: Map the RFC 8615 / RFC 6764 compliant well-known URI for CalDAV to our Remote DAV endpoint
##
RewriteRule ^\.well-known/caldav /remote.php/dav/ [R=301,L]
##
## Rule: Map /remote* --> /remote.php* including the query string
##
## Context:
## - XXX: `QSA` seems unnecessary (no-op) here (query string is passed by default when the replacement URI doesn't contain a query string)
## - XXX: Is this even used anymore? Seems a relic from <NC12
##
RewriteRule ^remote/(.*) remote.php [QSA,L]
##
## Rule: Prevent access to non-public files
##
RewriteRule ^(?:build|tests|config|lib|3rdparty|templates)/.* - [R=404,L]
##
## Rule: Maps most RFC 8615 compliant well-known URIs to our main frontend controller (/index.php) by default
##
## Context:
## - Intentionally excludes URIs used for HTTPS certificate verifications
## - RFC 8555 / ACME HTTP Challenges (acme-challenge)
## - File-based Validations (pki-validation)
## - XXX: `QSA` seems unnecessary (no-op) here (query string is passed by default when the replacement URI doesn't contain a query string)
## - XXX: Sometimes we are using `/index.php` and other times `index.php` as our replacement URI; this may be incorrect
##
RewriteRule ^\.well-known/(?!acme-challenge|pki-validation) /index.php [QSA,L]
##
## Rule: Map the ocm-provider handling to our main frontend controller (/index.php)
##
## Context:
## - XXX: `QSA` seems unnecessary (no-op) here (query string is passed by default when the replacement URI doesn't contain a query string)
## - XXX: Sometimes we are using `/index.php` and other times `index.php` as our replacement URI; this may be incorrect
##
RewriteRule ^ocm-provider/?$ index.php [QSA,L]
##
## Rule: Prevent access to more non-public files
##
## Context:
## - XXX It may make sense to merge some of these with the others (i.e. the ones that don't need to be last)
##
RewriteRule ^(?:\.(?!well-known)|autotest|occ|issue|indie|db_|console).* - [R=404,L]
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} DavClnt
RewriteRule ^$ /remote.php/webdav/ [L,R=302]
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteRule ^\.well-known/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/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]
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,
+4 -16
View File
@@ -63,8 +63,8 @@ Christian Berendt <berendt@b1-systems.de>
Christian Kampka <christian@kampka.net>
Christian Koch <koch.chris@gmail.com>
Christian Reiner <github@christian-reiner.info> Christian Reiner <arkascha@balder.site>
Christoph Wurst <christoph@winzerhof-wurst.at> Christoph Wurst <ChristophWurst@users.noreply.github.com>
Christoph Wurst <christoph@winzerhof-wurst.at> Christoph Wurst <christoph@owncloud.com>
Christoph Wurst <christoph@owncloud.com> Christoph Wurst <ChristophWurst@users.noreply.github.com>
Christoph Wurst <christoph@owncloud.com> Christoph Wurst <christoph@winzerhof-wurst.at>
Christopher Bunn <b11.chris@gmail.com>
Christopher Schäpers <kondou@ts.unde.re> Christopher <kondou@ts.unde.re>
Christopher Schäpers <kondou@ts.unde.re> kondou <kondou@ts.unde.re>
@@ -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>
@@ -187,7 +185,6 @@ Jesús Macias <jmacias@solidgear.es> Jesus Macias <jmacias@full-on-net.com>
jknockaert <jasper@knockaert.nl>
Joan <aseques@gmail.com>
Joar Wandborg <git@wandborg.com>
Joas Schilling <coding@schilljs.com> Joas Schilling <213943+nickvergessen@users.noreply.github.com>
Joas Schilling <coding@schilljs.com> Joas Schilling <nickvergessen@gmx.de>
Joas Schilling <coding@schilljs.com> Joas Schilling <nickvergessen@owncloud.com>
joel hansson <joel.hansson@gmail.com>
@@ -215,7 +212,6 @@ Lennart Rosam <lennart.rosam@medien-systempartner.de>
Sebastian Döll <sebastian.doell@libasys.de> libasys <sebastian.doell@libasys.de>
Lode Hoste <zillode@zillode.be>
lolozere <laurent@chedanne.pro>
Louis Chemineau <louis@chmn.me> Louis Chemineau <6653109+artonge@users.noreply.github.com>
Lorenzo M. Catucci <lorenzo@sancho.ccd.uniroma2.it>
Lukas Reschke <lukas@statuscode.ch> Lukas Reschke <lukas@owncloud.com>
Lukas Reschke <lukas@statuscode.ch> Lukas Reschke <lukas@owncloud.org>
@@ -252,7 +248,6 @@ Michael Monreal <michael.monreal@gmail.com>
Michael Roitzsch <reactorcontrol@icloud.com>
michag86 <micha_g@arcor.de>
Michiel de Jong <michiel@unhosted.org> Michiel@unhosted <michiel@unhosted.org>
Micke Nordin <kano@sunet.se> Mikael Nordin <mickenordin@users.noreply.github.com>
Miguel Prokop <miguel.prokop@vtu.com>
miicha <pfitzner@physik.hu-berlin.de>
Miquel Rodríguez Telep / Michael Rodríguez-Torrent <miquel@designunbound.co.uk>
@@ -322,7 +317,6 @@ Robin McCorkell <robin@mccorkell.me.uk> Robin McCorkell <rmccorkell@owncloud.com
Rodrigo Hjort <rodrigo.hjort@gmail.com>
Roeland Jago Douma <roeland@famdouma.nl> Roeland Jago Douma <rullzer@owncloud.com>
Roeland Jago Douma <roeland@famdouma.nl> Roeland Douma <rullzer@users.noreply.github.com>
Roeland Jago Douma <roeland@famdouma.nl> Roeland Jago Douma <rullzer@users.noreply.github.com>
Roger Szabo <roger.szabo@web.de> root <roger.szabo@web.de>
rok <brejktru@gmail.com>
Roland Hager <roland.hager@tu-berlin.de>
@@ -342,7 +336,6 @@ Sander <brantje@gmail.com>
Sandro Knauß <bugs@sandroknauss.de> Sandro <hefee@taurin.(none)>
Sascha Schmidt <realriot@realriot.de>
Sascha Schneider <development@suntsu.org>
Sascha Wiswedel <sascha.wiswedel@nextcloud.com> Sascha Wiswedel <wiswedel@users.noreply.github.com>
scambra <sergio@entrecables.com>
scolebrook <scolebrook@mac.com>
Scott Arciszewski <scott@arciszewski.me>
@@ -361,8 +354,6 @@ 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>
st3so <st3so@server.fake>
Stefan <mu.stefan@googlemail.com>
Stefan Göckeritz <admin@s-goecker.de>
@@ -385,8 +376,6 @@ tbelau666 <thomas.belau@gmx.de>
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>
@@ -412,9 +401,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>
-29
View File
@@ -1,29 +0,0 @@
# SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-only
# Files removed at build time
# Global exclude
.editorconfig
.git
.git-blame-ignore-revs
.gitattributes
.github
.gitignore
.gitmodules
.idea
.l10nignore
.nextcloudignore
.noopenapi
.tx
cypress
tests
# Server specific
/.devcontainer
/__mocks__
/__tests__
/autotest*.sh
/build
/config/config.php
/contribute
/data
-1
View File
@@ -1 +0,0 @@
**/*.spec.js
-40
View File
@@ -1,40 +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()
->in(__DIR__)
->exclude([
'3rdparty',
'build/stubs',
'composer',
])
;
$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;
-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: []
+32
View File
@@ -0,0 +1,32 @@
before_commands:
- 'git submodule update --init --recursive'
checks:
php:
excluded_dependencies:
- etsy/phan
filter:
excluded_paths:
- '3rdparty/*'
- 'apps/*/3rdparty/*'
- 'apps/*/vendor/*'
- 'l10n/*'
- 'core/l10n/*'
- 'apps/*/l10n/*'
- 'apps/*/tests/*'
- 'lib/l10n/*'
- 'core/vendor/*'
- 'core/js/tests/lib/*.js'
- 'core/js/tests/specs/*.js'
- 'core/js/jquery-showpassword.js'
- 'core/js/jquery-tipsy.js'
- 'core/js/placeholders.js'
- 'settings/l10n/*'
- 'tests/*'
- 'build/*'
- 'lib/composer/*'
imports:
- javascript
- php
+98 -158
View File
@@ -1,195 +1,135 @@
[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

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