Compare commits

..

1092 Commits

Author SHA1 Message Date
Roeland Jago Douma 88810579b3 Merge pull request #17991 from nextcloud/dependabot/npm_and_yarn/build/stable14/https-proxy-agent-2.2.4
[Security] Bump https-proxy-agent from 2.2.1 to 2.2.4 in /build
2019-11-19 08:40:18 +01:00
dependabot-preview[bot] c9266960c6 [Security] Bump https-proxy-agent from 2.2.1 to 2.2.4 in /build
Bumps [https-proxy-agent](https://github.com/TooTallNate/node-https-proxy-agent) from 2.2.1 to 2.2.4. **This update includes security fixes.**
- [Release notes](https://github.com/TooTallNate/node-https-proxy-agent/releases)
- [Commits](https://github.com/TooTallNate/node-https-proxy-agent/compare/2.2.1...2.2.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-18 19:34:31 +00:00
Nextcloud bot b19a582282 [tx-robot] updated from transifex 2019-09-11 02:15:36 +00:00
Nextcloud bot 69b2892a53 [tx-robot] updated from transifex 2019-09-10 02:15:52 +00:00
Nextcloud bot 6dbc463104 [tx-robot] updated from transifex 2019-09-08 02:17:02 +00:00
Nextcloud bot fa4fce73d9 [tx-robot] updated from transifex 2019-09-07 02:15:54 +00:00
Nextcloud bot 282f7bdb3f [tx-robot] updated from transifex 2019-09-06 02:15:23 +00:00
Nextcloud bot 0fd1bf33c9 [tx-robot] updated from transifex 2019-09-05 02:16:36 +00:00
Nextcloud bot c091c86380 [tx-robot] updated from transifex 2019-09-04 02:16:37 +00:00
Nextcloud bot 3ac501d3fa [tx-robot] updated from transifex 2019-09-03 02:15:26 +00:00
Nextcloud bot e50235643d [tx-robot] updated from transifex 2019-09-02 02:15:32 +00:00
Nextcloud bot bda824ae5c [tx-robot] updated from transifex 2019-09-01 02:16:43 +00:00
Nextcloud bot 53a37d44e0 [tx-robot] updated from transifex 2019-08-31 02:15:04 +00:00
Nextcloud bot fd7790d10f [tx-robot] updated from transifex 2019-08-30 02:15:33 +00:00
Nextcloud bot fd82d3bee7 [tx-robot] updated from transifex 2019-08-29 02:15:13 +00:00
Roeland Jago Douma 59e92ff123 Merge pull request #16903 from nextcloud/dependabot/npm_and_yarn/settings/stable14/mixin-deep-1.3.2
[Security] Bump mixin-deep from 1.3.1 to 1.3.2 in /settings
2019-08-28 08:42:00 +02:00
Nextcloud bot 63a4cc6449 [tx-robot] updated from transifex 2019-08-28 02:15:48 +00:00
dependabot-preview[bot] 686fe5d182 [Security] Bump mixin-deep from 1.3.1 to 1.3.2 in /settings
Bumps [mixin-deep](https://github.com/jonschlinkert/mixin-deep) from 1.3.1 to 1.3.2. **This update includes a security fix.**
- [Release notes](https://github.com/jonschlinkert/mixin-deep/releases)
- [Commits](https://github.com/jonschlinkert/mixin-deep/compare/1.3.1...1.3.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-27 18:39:16 +00:00
Nextcloud bot d0c0561de9 [tx-robot] updated from transifex 2019-08-27 02:15:42 +00:00
Nextcloud bot f0d2cdb004 [tx-robot] updated from transifex 2019-08-26 02:14:55 +00:00
Nextcloud bot b797754fdc [tx-robot] updated from transifex 2019-08-25 02:14:23 +00:00
Nextcloud bot 88962fc241 [tx-robot] updated from transifex 2019-08-24 02:15:29 +00:00
Nextcloud bot c87112649b [tx-robot] updated from transifex 2019-08-23 02:19:48 +00:00
Nextcloud bot 2d143b8a37 [tx-robot] updated from transifex 2019-08-22 02:14:55 +00:00
Nextcloud bot 86936cefd7 [tx-robot] updated from transifex 2019-08-20 02:15:09 +00:00
Nextcloud bot 20fe47e5ad [tx-robot] updated from transifex 2019-08-19 02:15:18 +00:00
Nextcloud bot b428782764 [tx-robot] updated from transifex 2019-08-18 02:16:00 +00:00
Nextcloud bot bc3e8dfbee [tx-robot] updated from transifex 2019-08-17 02:15:22 +00:00
Nextcloud bot 451bdbcabc [tx-robot] updated from transifex 2019-08-16 02:14:37 +00:00
Nextcloud bot fdfd875ddd [tx-robot] updated from transifex 2019-08-15 02:14:56 +00:00
Roeland Jago Douma 9b52eb90e4 Merge pull request #16731 from nextcloud/version/14.0.14/final
14.0.14
2019-08-14 20:07:08 +02:00
Nextcloud bot 355580b876 [tx-robot] updated from transifex 2019-08-14 02:15:23 +00:00
Roeland Jago Douma 7122816afb 14.0.14
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-08-13 14:29:10 +02:00
Nextcloud bot 2c760945fd [tx-robot] updated from transifex 2019-08-13 02:14:58 +00:00
Nextcloud bot bdc27d7597 [tx-robot] updated from transifex 2019-08-12 02:15:13 +00:00
Nextcloud bot 6d11d1f9e5 [tx-robot] updated from transifex 2019-08-11 02:15:47 +00:00
Nextcloud bot 9858f03be6 [tx-robot] updated from transifex 2019-08-10 02:15:15 +00:00
Nextcloud bot efe3945579 [tx-robot] updated from transifex 2019-08-09 02:14:34 +00:00
Roeland Jago Douma 37f329710e Merge pull request #16675 from nextcloud/version/14.0.14/RC1
14.0.14 RC1
2019-08-08 10:50:52 +02:00
Nextcloud bot 132d1401fc [tx-robot] updated from transifex 2019-08-08 02:15:04 +00:00
Roeland Jago Douma 5adca67b91 14.0.14 RC1
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-08-07 14:08:35 +02:00
Nextcloud bot d6d6a318be [tx-robot] updated from transifex 2019-08-07 02:14:57 +00:00
Nextcloud bot 58e856250e [tx-robot] updated from transifex 2019-08-06 02:14:57 +00:00
Nextcloud bot ffb28d8c28 [tx-robot] updated from transifex 2019-08-05 02:14:46 +00:00
Roeland Jago Douma d48f4336cf Merge pull request #16650 from nextcloud/dependabot/npm_and_yarn/build/stable14/fstream-1.0.12
[Security] Bump fstream from 1.0.11 to 1.0.12 in /build
2019-08-04 22:50:31 +02:00
dependabot-preview[bot] 14301e67b3 [Security] Bump fstream from 1.0.11 to 1.0.12 in /build
Bumps [fstream](https://github.com/npm/fstream) from 1.0.11 to 1.0.12. **This update includes a security fix.**
- [Release notes](https://github.com/npm/fstream/releases)
- [Commits](https://github.com/npm/fstream/compare/v1.0.11...v1.0.12)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-04 07:56:38 +00:00
Roeland Jago Douma 8d62892384 Merge pull request #16648 from nextcloud/dependabot/npm_and_yarn/build/stable14/lodash.mergewith-4.6.2
[Security] Bump lodash.mergewith from 4.6.1 to 4.6.2 in /build
2019-08-04 09:55:18 +02:00
Nextcloud bot 544b8522b4 [tx-robot] updated from transifex 2019-08-04 02:15:41 +00:00
dependabot-preview[bot] 80509ba66b [Security] Bump lodash.mergewith from 4.6.1 to 4.6.2 in /build
Bumps [lodash.mergewith](https://github.com/lodash/lodash) from 4.6.1 to 4.6.2. **This update includes a security fix.**
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-04 01:12:30 +00:00
Nextcloud bot ffd345a44f [tx-robot] updated from transifex 2019-08-03 02:14:53 +00:00
Nextcloud bot bb89a01241 [tx-robot] updated from transifex 2019-08-02 02:14:52 +00:00
Nextcloud bot 062ec6adb0 [tx-robot] updated from transifex 2019-08-01 02:15:50 +00:00
Roeland Jago Douma b675ed13c6 Merge pull request #16609 from nextcloud/backport/stable14/16596
[stable14] Set proper defaults for v-tooltip usages
2019-07-31 08:34:14 +02:00
Nextcloud bot fdd35722cc [tx-robot] updated from transifex 2019-07-31 02:16:26 +00:00
Roeland Jago Douma 53874abcf5 Merge pull request #16612 from nextcloud/backport/16599/stable14
[stable14] Fix/xss/on favorite file
2019-07-30 16:31:14 +02:00
Max Fichtelmann f08798e919 prevent potential XSS via unchecked use innerHTML
Signed-off-by: Max Fichtelmann <max.fichtelmann@procilon.de>
2019-07-30 07:54:06 +00:00
Max Fichtelmann 29504e8c8d fix XSS when adding a file with a malicious name to favorites
Signed-off-by: Max Fichtelmann <max.fichtelmann@procilon.de>
2019-07-30 07:54:05 +00:00
Julius Härtl 7c3edd034a Bump bundles
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-07-30 09:03:07 +02:00
Julius Härtl 737a05a017 Force defaultHtml setting of v-tooltip to be disabled
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-07-30 09:01:34 +02:00
Nextcloud bot af348e1393 [tx-robot] updated from transifex 2019-07-30 02:15:11 +00:00
Nextcloud bot 7a8142edfd [tx-robot] updated from transifex 2019-07-29 02:15:21 +00:00
Nextcloud bot c9568371e1 [tx-robot] updated from transifex 2019-07-28 02:15:46 +00:00
Nextcloud bot 907ef8c3f9 [tx-robot] updated from transifex 2019-07-27 02:14:59 +00:00
Nextcloud bot baa31c430e [tx-robot] updated from transifex 2019-07-26 02:15:02 +00:00
Nextcloud bot 24e95b0bb4 [tx-robot] updated from transifex 2019-07-25 02:15:01 +00:00
Nextcloud bot 1388bee10c [tx-robot] updated from transifex 2019-07-24 02:15:56 +00:00
Nextcloud bot 5d8be2dd49 [tx-robot] updated from transifex 2019-07-23 02:16:05 +00:00
Nextcloud bot 94acddb6fd [tx-robot] updated from transifex 2019-07-22 02:16:22 +00:00
Nextcloud bot 3fe7a27902 [tx-robot] updated from transifex 2019-07-21 02:15:31 +00:00
Nextcloud bot 96de99da7d [tx-robot] updated from transifex 2019-07-20 02:14:53 +00:00
Nextcloud bot fd69188d81 [tx-robot] updated from transifex 2019-07-19 02:27:39 +00:00
Nextcloud bot 53ab33acbe [tx-robot] updated from transifex 2019-07-18 02:15:19 +00:00
Roeland Jago Douma e8e5087349 Merge pull request #16434 from nextcloud/backport/16424/stable14
[stable14] Do not keep searching for recent
2019-07-17 09:51:25 +02:00
Roeland Jago Douma d115e7f802 Do not keep searching for recent
If userA has a lot of recent files. But only shares 1 file with userB
(that has no files at all). We could keep searching until we run out of
recent files for userA.

Now assume the inactive userB has 20 incomming shares like that from
different users. getRecent then basically keeps consuming huge amounts
of resources and with each iteration the load on the DB increases
(because of the offset).

This makes sure we do not get more than 3 times the limit we search for
or more than 5 queries.

This means we might miss some recent entries but we should fix that
separatly. This is just to make sure the load on the DB stays sane.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-07-17 05:49:34 +00:00
Nextcloud bot 55b12fd62f [tx-robot] updated from transifex 2019-07-17 02:15:52 +00:00
Roeland Jago Douma ad675cd364 Merge pull request #16427 from nextcloud/backport/16423/stable14
[stable14] Only prevent disabling encrytion via the API
2019-07-16 22:18:26 +02:00
Joas Schilling 5c036d1606 Only prevent disabling encrytion via the API
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-07-16 17:47:41 +00:00
Nextcloud bot 5fa795ea53 [tx-robot] updated from transifex 2019-07-16 02:15:10 +00:00
Nextcloud bot 90b7f1316e [tx-robot] updated from transifex 2019-07-15 02:14:49 +00:00
Nextcloud bot abe371beba [tx-robot] updated from transifex 2019-07-14 02:15:26 +00:00
Nextcloud bot fd1c58bb80 [tx-robot] updated from transifex 2019-07-13 02:14:38 +00:00
Nextcloud bot 10a8660230 [tx-robot] updated from transifex 2019-07-12 02:15:21 +00:00
Morris Jobke 4d52293c3a Merge pull request #16347 from nextcloud/dependabot/npm_and_yarn/settings/stable14/lodash-4.17.14
[Security] Bump lodash from 4.17.11 to 4.17.14 in /settings
2019-07-11 12:54:28 +02:00
dependabot-preview[bot] 12f484772f [Security] Bump lodash from 4.17.11 to 4.17.14 in /settings
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.11 to 4.17.14. **This update includes security fixes.**
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.11...4.17.14)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-11 10:53:22 +00:00
Morris Jobke 0382f65f1b Merge pull request #16354 from nextcloud/dependabot/npm_and_yarn/apps/oauth2/stable14/lodash-4.17.14
[Security] Bump lodash from 4.17.11 to 4.17.14 in /apps/oauth2
2019-07-11 12:52:52 +02:00
Morris Jobke e3dcddfc3b Merge pull request #16355 from nextcloud/dependabot/npm_and_yarn/apps/updatenotification/stable14/lodash-4.17.14
[Security] Bump lodash from 4.17.11 to 4.17.14 in /apps/updatenotification
2019-07-11 12:52:33 +02:00
Morris Jobke d560e876a1 Merge pull request #16358 from nextcloud/dependabot/npm_and_yarn/apps/accessibility/stable14/lodash-4.17.14
[Security] Bump lodash from 4.17.11 to 4.17.14 in /apps/accessibility
2019-07-11 12:52:00 +02:00
dependabot-preview[bot] 56438880c8 [Security] Bump lodash in /apps/updatenotification
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.11 to 4.17.14. **This update includes security fixes.**
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.11...4.17.14)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-11 10:51:28 +00:00
dependabot-preview[bot] 900d37e1d9 [Security] Bump lodash from 4.17.11 to 4.17.14 in /apps/oauth2
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.11 to 4.17.14. **This update includes security fixes.**
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.11...4.17.14)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-11 10:51:19 +00:00
dependabot-preview[bot] 832babfaba [Security] Bump lodash from 4.17.11 to 4.17.14 in /apps/accessibility
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.11 to 4.17.14. **This update includes security fixes.**
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.11...4.17.14)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-11 10:51:18 +00:00
Morris Jobke 493591125c Merge pull request #16342 from nextcloud/dependabot/npm_and_yarn/settings/stable14/lodash.merge-4.6.2
[Security] Bump lodash.merge from 4.6.1 to 4.6.2 in /settings
2019-07-11 12:49:25 +02:00
Roeland Jago Douma 292d551a50 Merge pull request #16356 from nextcloud/dependabot/npm_and_yarn/build/stable14/lodash-4.17.14
[Security] Bump lodash from 4.17.11 to 4.17.14 in /build
2019-07-11 08:57:35 +02:00
dependabot-preview[bot] 8cb7a37495 [Security] Bump lodash from 4.17.11 to 4.17.14 in /build
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.11 to 4.17.14. **This update includes security fixes.**
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.11...4.17.14)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-11 03:20:40 +00:00
Nextcloud bot 9fc95b3ed9 [tx-robot] updated from transifex 2019-07-11 02:14:50 +00:00
dependabot-preview[bot] ec0c0003de [Security] Bump lodash.merge from 4.6.1 to 4.6.2 in /settings
Bumps [lodash.merge](https://github.com/lodash/lodash) from 4.6.1 to 4.6.2. **This update includes security fixes.**
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-07-10 23:15:01 +00:00
Nextcloud bot da1ba17405 [tx-robot] updated from transifex 2019-07-10 02:14:23 +00:00
Nextcloud bot bc56617f90 [tx-robot] updated from transifex 2019-07-09 02:14:10 +00:00
Nextcloud bot 4b09890a21 [tx-robot] updated from transifex 2019-07-07 02:14:33 +00:00
Nextcloud bot 3f7c9304c5 [tx-robot] updated from transifex 2019-07-06 02:14:04 +00:00
Nextcloud bot e06e521e65 [tx-robot] updated from transifex 2019-07-05 02:14:29 +00:00
Roeland Jago Douma 41118b243a Merge pull request #16193 from nextcloud/backport/16024/stable14
[stable14] Forward OCSException to initiator
2019-07-04 12:22:11 +02:00
Roeland Jago Douma e877a7ec02 Merge pull request #16220 from nextcloud/version/noid/14.0.13
14.0.13
2019-07-04 08:47:54 +02:00
Nextcloud bot 180e5d3d16 [tx-robot] updated from transifex 2019-07-04 02:14:11 +00:00
Morris Jobke b453b2381b 14.0.13
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-07-03 23:28:35 +02:00
Morris Jobke e7ee8a2f48 Merge pull request #16216 from nextcloud/backport/16186/stable14
[stable14] Better check reshare permissions part2
2019-07-03 23:27:42 +02:00
Morris Jobke 34aa90f0ec Merge pull request #16213 from nextcloud/backport/notfications/stable14
[stable14] Fix notification casting
2019-07-03 21:59:40 +02:00
Joas Schilling d3ff714b8a Remove duplicate tests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-07-03 21:34:14 +02:00
Joas Schilling 35dda87384 Unify the permission checking in one place only
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-07-03 21:33:06 +02:00
Joas Schilling 98c09e0314 Better check reshare permissions when creating a share
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-07-03 21:33:02 +02:00
Roeland Jago Douma 983d757c04 Fix notification casting
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-07-03 20:35:53 +02:00
Nextcloud bot 6b6c24d785 [tx-robot] updated from transifex 2019-07-03 02:14:03 +00:00
Daniel Kesselberg 6ccd7d3b9d Forward OCSException to initiator
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-07-02 10:35:19 +00:00
Nextcloud bot 499ccefa2d [tx-robot] updated from transifex 2019-07-02 02:14:02 +00:00
Nextcloud bot 436536a5d8 [tx-robot] updated from transifex 2019-07-01 02:13:54 +00:00
Nextcloud bot 15b32228cc [tx-robot] updated from transifex 2019-06-30 02:14:27 +00:00
Roeland Jago Douma bc1fa60248 Merge pull request #16062 from nextcloud/version/noid/14.0.13RC1
14.0.13 RC1
2019-06-29 07:19:49 +02:00
Nextcloud bot c9b325734a [tx-robot] updated from transifex 2019-06-29 02:13:50 +00:00
Roeland Jago Douma 14246fb7a7 14.0.13 RC1
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-06-28 15:30:51 +02:00
Roeland Jago Douma 3045581353 Merge pull request #16143 from nextcloud/backport/16097/stable14
[stabel 14] Better check reshare permissions
2019-06-28 15:28:00 +02:00
Roeland Jago Douma be9d3fe300 Update tests
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-06-28 10:40:52 +02:00
Daniel Calviño Sánchez 61a9ff5d38 Add integration test for increasing sub reshare permissions
The tests check an user share and a link share; there is a slight
difference in style between them as each one is based on the test above
it, which tests increasing reshare permissions.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-06-28 10:22:00 +02:00
Daniel Calviño Sánchez 8fb7247aa5 Do not create folders with admin user
The admin user is not deleted after each integration test is run, so
folders created by the admin user in one test are still there when the
next tests run; tests should be independent one from each other, so a
regular user that is created and deleted for each test should be used
instead.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-06-28 10:21:52 +02:00
Joas Schilling d4f423d20b Correctly check share permissions when updating a re-sub-share
Before this change the node you shared was checked for permissions.
This works when you reshare the folder that was shared with you.
However when you reshared a subfolder (e.g. as public link),
you could afterwards update the permissions and grant
create+update permissions although the share you receive was read-only.

Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-06-28 10:20:42 +02:00
Roeland Jago Douma 538326b8ad Merge pull request #16135 from nextcloud/backport/16121/stable14
[stable14] Don't allow to disable encryption via the API
2019-06-28 09:45:32 +02:00
Roeland Jago Douma a728d4cc3d Merge pull request #16094 from nextcloud/backport/16027/check-if-uploading-is-enabled-before-verifying
[stable14] Check if uploading to lookup server is enabled before verifying
2019-06-28 09:45:09 +02:00
Nextcloud bot ab9fc2a1b2 [tx-robot] updated from transifex 2019-06-28 02:14:07 +00:00
Joas Schilling 4cf076d6c0 Don't allow to disable encryption via the API
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-06-27 20:20:54 +00:00
Roeland Jago Douma 5aa3782298 Merge pull request #16130 from nextcloud/backport/16107/stable14
[stable14] verify that paths are valid for recursive local move
2019-06-27 22:13:12 +02:00
Robin Appelman 48a0065d2d verify that paths are valid for recursive local move
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-06-27 14:40:13 +00:00
Nextcloud bot 7c39bfe19d [tx-robot] updated from transifex 2019-06-27 02:14:28 +00:00
Roeland Jago Douma 1345ad85be Merge pull request #16096 from nextcloud/backport/16021/fall-back-to-black-for-non-color-values
[stable14] Fall back to black for non-color values
2019-06-26 18:39:21 +02:00
Joas Schilling 5cb0d4a75b Fall back to black for non-color values
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-06-26 11:08:02 +02:00
Joas Schilling 264e736d5e Check if uploading to lookup server is enabled before verifying
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-06-26 11:01:35 +02:00
Nextcloud bot fdc77e7052 [tx-robot] updated from transifex 2019-06-26 02:14:17 +00:00
Roeland Jago Douma 31db210451 Merge pull request #16031 from nextcloud/backport/15540/stable14
[stable14] Prevent faulty logs from nested setupFS calls
2019-06-25 13:33:24 +02:00
Nextcloud bot 1ed118f77e [tx-robot] updated from transifex 2019-06-25 02:14:25 +00:00
Nextcloud bot 26918a5086 [tx-robot] updated from transifex 2019-06-24 02:14:25 +00:00
Nextcloud bot f455aad124 [tx-robot] updated from transifex 2019-06-23 02:14:44 +00:00
Nextcloud bot 16b4fdcda2 [tx-robot] updated from transifex 2019-06-22 02:14:14 +00:00
Joas Schilling 7b80635b82 Prevent faulty logs from nested setupFS calls
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-06-21 10:03:20 +00:00
Nextcloud bot 8e70733430 [tx-robot] updated from transifex 2019-06-21 02:14:00 +00:00
Nextcloud bot 7175eb2677 [tx-robot] updated from transifex 2019-06-20 02:14:11 +00:00
Nextcloud bot bb16e9407b [tx-robot] updated from transifex 2019-06-19 02:14:12 +00:00
Nextcloud bot c15f612953 [tx-robot] updated from transifex 2019-06-18 02:14:18 +00:00
Nextcloud bot 1d24a06aa5 [tx-robot] updated from transifex 2019-06-17 02:14:18 +00:00
Nextcloud bot 7eeddf458c [tx-robot] updated from transifex 2019-06-16 02:14:27 +00:00
Nextcloud bot 893f702ee0 [tx-robot] updated from transifex 2019-06-15 02:13:58 +00:00
Nextcloud bot 7bb7fa278f [tx-robot] updated from transifex 2019-06-14 02:14:49 +00:00
Roeland Jago Douma 6af72d1817 Merge pull request #15862 from nextcloud/backport/15738/stable14
[stable14] Don't notify admins if no potentially over exposing links found
2019-06-05 10:49:32 +02:00
John Molakvoæ 58da6559fe [Security] Bump axios from 0.18.0 to 0.19.0 in /settings (#15820)
[Security] Bump axios from 0.18.0 to 0.19.0 in /settings
2019-06-04 12:42:23 +02:00
Daniel Kesselberg c34bdac5ae Don't notify admins if no potentially over exposing links found
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-06-03 21:51:19 +02:00
John Molakvoæ 9d18bd72a4 [Security] Bump axios from 0.18.0 to 0.18.1 in /apps/oauth2 (#15835)
[Security] Bump axios from 0.18.0 to 0.18.1 in /apps/oauth2
2019-06-03 14:55:49 +02:00
John Molakvoæ 1234b279ba [Security] Bump axios from 0.18.0 to 0.18.1 in /apps/accessibility (#15837)
[Security] Bump axios from 0.18.0 to 0.18.1 in /apps/accessibility
2019-06-03 14:19:14 +02:00
dependabot-preview[bot] 435901772c [Security] Bump axios from 0.18.0 to 0.19.0 in /settings
Bumps [axios](https://github.com/axios/axios) from 0.18.0 to 0.19.0. **This update includes security fixes.**
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/master/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.18.0...v0.19.0)
2019-06-03 12:41:46 +02:00
dependabot-preview[bot] a71d4ae054 [Security] Bump axios from 0.18.0 to 0.18.1 in /apps/oauth2
Bumps [axios](https://github.com/axios/axios) from 0.18.0 to 0.18.1. **This update includes security fixes.**
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v0.18.1/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.18.0...v0.18.1)
2019-06-03 12:39:24 +02:00
dependabot-preview[bot] 2f99f7deb5 [Security] Bump axios from 0.18.0 to 0.18.1 in /apps/accessibility
Bumps [axios](https://github.com/axios/axios) from 0.18.0 to 0.18.1. **This update includes security fixes.**
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v0.18.1/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.18.0...v0.18.1)
2019-06-03 12:37:23 +02:00
Nextcloud bot 37ccc9d373 [tx-robot] updated from transifex 2019-05-29 02:14:05 +00:00
Nextcloud bot 942f8fb587 [tx-robot] updated from transifex 2019-05-28 02:14:01 +00:00
Roeland Jago Douma 9e89e1a493 Merge pull request #15756 from nextcloud/backport/15747/stable14
[stable14] Also allow dragging below the file list
2019-05-27 22:35:18 +02:00
Julius Härtl ca65fb10b7 Also allow dragging below the file list
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-05-27 12:25:10 +00:00
Nextcloud bot 9fb3b781cb [tx-robot] updated from transifex 2019-05-27 02:13:59 +00:00
Nextcloud bot 6cbe8aa83b [tx-robot] updated from transifex 2019-05-26 02:14:34 +00:00
John Molakvoæ 23ea50e842 [Security] Bump tar from 2.2.1 to 2.2.2 in /build (#15723)
[Security] Bump tar from 2.2.1 to 2.2.2 in /build
2019-05-25 10:25:58 +02:00
Nextcloud bot c5b50c970e [tx-robot] updated from transifex 2019-05-25 02:14:10 +00:00
dependabot-preview[bot] 7a30d0fa8e [Security] Bump tar from 2.2.1 to 2.2.2 in /build
Bumps [tar](https://github.com/npm/node-tar) from 2.2.1 to 2.2.2. **This update includes security fixes.**
- [Release notes](https://github.com/npm/node-tar/releases)
- [Commits](https://github.com/npm/node-tar/compare/v2.2.1...v2.2.2)
2019-05-24 17:32:14 +00:00
Nextcloud bot 91218f3fdc [tx-robot] updated from transifex 2019-05-24 02:13:59 +00:00
Nextcloud bot 8ab3280236 [tx-robot] updated from transifex 2019-05-23 02:14:06 +00:00
Nextcloud bot e072142827 [tx-robot] updated from transifex 2019-05-22 02:14:12 +00:00
Nextcloud bot 50f7c4f6d0 [tx-robot] updated from transifex 2019-05-21 02:13:48 +00:00
Roeland Jago Douma f04c35bac9 Merge pull request #15630 from nextcloud/backport/15626/stable14
[stable14] Update CRL due to revoked cookbook.crt
2019-05-20 15:07:01 +02:00
Morris Jobke 724ccb26d5 Update CRL due to revoked cookbook.crt
See https://github.com/nextcloud/app-certificate-requests/pull/241

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-05-20 10:43:53 +00:00
Nextcloud bot 5d5978b5e1 [tx-robot] updated from transifex 2019-05-20 02:13:33 +00:00
Nextcloud bot 5f2d4859a1 [tx-robot] updated from transifex 2019-05-19 02:14:16 +00:00
Nextcloud bot 85f6e1e6d8 [tx-robot] updated from transifex 2019-05-18 02:13:25 +00:00
Morris Jobke a6709a6690 Merge pull request #15594 from nextcloud/version/14.0.12
14.0.12
2019-05-17 14:00:35 +02:00
Morris Jobke 39386b8dca 14.0.12
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-05-17 12:05:50 +02:00
Roeland Jago Douma 85addb7069 Merge pull request #15573 from nextcloud/backport/15548/stable14
[stable14] update ca bundle
2019-05-16 20:58:36 +02:00
Roeland Jago Douma 1904eb2ccf Merge pull request #15570 from nextcloud/fix/stable14/15563
DateTime is not yet in 14
2019-05-16 20:57:12 +02:00
Roeland Jago Douma 66f739d85f DateTime is not yet in 14
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-05-16 16:20:49 +02:00
Nextcloud bot d54cabe34a [tx-robot] updated from transifex 2019-05-16 12:51:06 +00:00
Morris Jobke 22e144a168 Merge pull request #15556 from nextcloud/backport/15552/stable14
[stable14] Update ca bundle checker
2019-05-16 09:16:33 +02:00
Nextcloud bot 12bbf39fb6 [tx-robot] updated from transifex 2019-05-16 02:13:48 +00:00
Daniel Kesselberg 5bf4949291 Remove whitespace
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-05-15 20:36:41 +00:00
Daniel Kesselberg 4e0b2937ee Use DRONE_SOURCE_BRANCH instead of DRONE_COMMIT_REFSPEC
Looks like DRONE_COMMIT_REFSPEC is not available anymore on Drone 1.x

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-05-15 20:36:40 +00:00
Daniel Kesselberg 817f37bc09 Update regex to also match version/x.y.z
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-05-15 20:36:40 +00:00
Arthur Schiwon 3cd8dc9537 update ca bundle
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-05-15 18:28:49 +00:00
Nextcloud bot 445b0c00b6 [tx-robot] updated from transifex 2019-05-15 13:12:01 +00:00
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
11714 changed files with 464648 additions and 926518 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
-86
View File
@@ -1,86 +0,0 @@
FROM ubuntu:noble
ARG DEBIAN_FRONTEND=noninteractive
# PHP
RUN apt-get update -y && \
apt install -y apache2 vim software-properties-common sudo nano gnupg2
RUN apt-get install --no-install-recommends -y \
php8.3 \
php8.3-common \
php8.3-gd \
php8.3-zip \
php8.3-curl \
php8.3-xml \
php8.3-xmlrpc \
php8.3-mbstring \
php8.3-sqlite \
php8.3-xdebug \
php8.3-pgsql \
php8.3-intl \
php8.3-imagick \
php8.3-gmp \
php8.3-apcu \
php8.3-bcmath \
php8.3-redis \
php8.3-soap \
php8.3-imap \
php8.3-opcache \
php8.3-cli \
php8.3-dev \
libmagickcore-6.q16-7-extra \
curl \
lsof \
make \
unzip
# Composer
RUN curl -sS https://getcomposer.org/installer -o /tmp/composer-setup.php && \
curl -sS https://composer.github.io/installer.sig -o /tmp/composer-setup.sig && \
php -r "if (hash_file('sha384', '/tmp/composer-setup.php') !== trim(file_get_contents('/tmp/composer-setup.sig'))) { echo 'Composer installation failed, invalid hash'; exit(1); }" && \
php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer && \
rm /tmp/composer-setup.php /tmp/composer-setup.sig
RUN echo "xdebug.remote_enable = 1" >> /etc/php/8.3/cli/conf.d/20-xdebug.ini && \
echo "xdebug.remote_autostart = 1" >> /etc/php/8.3/cli/conf.d/20-xdebug.ini && \
echo "apc.enable_cli=1" >> /etc/php/8.3/cli/conf.d/20-apcu.ini
# Autostart XDebug for apache
RUN { \
echo "xdebug.mode=debug"; \
echo "xdebug.start_with_request=yes"; \
} >> /etc/php/8.3/apache2/conf.d/20-xdebug.ini
# Docker
RUN apt-get -y install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common && \
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && \
add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable" && \
apt-get update -y && \
apt-get install -y docker-ce docker-ce-cli containerd.io && \
ln -s /var/run/docker-host.sock /var/run/docker.sock
# Dedicated DevContainer user runs Apache
ENV APACHE_RUN_USER=devcontainer
ENV APACHE_RUN_GROUP=devcontainer
RUN useradd -ms /bin/bash ${APACHE_RUN_USER} && \
adduser ${APACHE_RUN_USER} sudo && \
echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers && \
sed -ri "s/^export APACHE_RUN_USER=.*$/export APACHE_RUN_USER=${APACHE_RUN_USER}/" "/etc/apache2/envvars" && \
sed -ri "s/^export APACHE_RUN_GROUP=.*$/export APACHE_RUN_GROUP=${APACHE_RUN_GROUP}/" "/etc/apache2/envvars"
USER devcontainer
# NVM
RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
RUN bash --login -i -c 'source /home/devcontainer/.bashrc && nvm install 16'
WORKDIR /var/www/html
-72
View File
@@ -1,72 +0,0 @@
# 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.
-22
View File
@@ -1,22 +0,0 @@
<?php
$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"
}
-36
View File
@@ -1,36 +0,0 @@
version: '3'
services:
nextclouddev:
build: .
volumes:
- .:/workspace:cached
- /var/run/docker.sock:/var/run/docker-host.sock
- ..:/var/www/html
command: /var/www/html/.devcontainer/entrypoint.sh
ports:
- 80:80
- 8080:8080
- 8025:8025
db:
image: postgres
restart: always
environment:
POSTGRES_PASSWORD: postgres
PGDATA: /data/postgres
volumes:
- db:/data/postgres
network_mode: service:nextclouddev
adminer:
image: adminer
restart: always
network_mode: service:nextclouddev
mailhog:
image: mailhog/mailhog
restart: always
network_mode: service:nextclouddev
volumes:
db:
-5
View File
@@ -1,5 +0,0 @@
#!/bin/bash
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
}
]
}
-5
View File
@@ -1,5 +0,0 @@
#!/bin/bash
# Set git safe.directory
git config --global --add safe.directory /var/www/html
git config --global --add safe.directory /var/www/html/3rdparty
-29
View File
@@ -1,29 +0,0 @@
#!/bin/bash
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
+2205 -15
View File
File diff suppressed because it is too large Load Diff
-37
View File
@@ -1,37 +0,0 @@
# https://editorconfig.org
root = true
[*]
charset = utf-8
end_of_line = lf
indent_size = 4
indent_style = tab
insert_final_newline = true
trim_trailing_whitespace = true
[*.feature]
indent_size = 2
indent_style = space
[*.yml]
indent_size = 2
indent_style = space
[*.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
-12
View File
@@ -1,12 +0,0 @@
# Ignoring folders for eslint
node_modules/
3rdparty/
**/vendor/
**/l10n/
**/js/*
*.config.js
tests/lib/
apps-extra
# TODO: remove when comments files is not using handlebar templates anymore
apps/comments/src/templates.js
-35
View File
@@ -1,35 +0,0 @@
module.exports = {
globals: {
__webpack_nonce__: true,
_: true,
$: true,
dayNames: true,
escapeHTML: true,
firstDay: true,
moment: true,
oc_userconfig: true,
sinon: true,
},
plugins: [
'cypress',
],
extends: [
'@nextcloud/eslint-config/typescript',
'plugin:cypress/recommended',
],
rules: {
'no-tabs': 'warn',
// TODO: make sure we fix this as this is bad vue coding style.
// Use proper sync modifier
'vue/no-mutating-props': 'warn',
'vue/custom-event-name-casing': ['error', 'kebab-case', {
// allows custom xxxx:xxx events formats
ignores: ['/^[a-z]+(?:-[a-z]+)*:[a-z]+(?:-[a-z]+)*$/u'],
}],
},
settings: {
jsdoc: {
mode: 'typescript',
},
},
}
-4
View File
@@ -1,4 +0,0 @@
/dist/* binary
/package-lock.json merge=binary
/core/css/*.css* binary
/.devcontainer/*.sh text eol=lf
-69
View File
@@ -1,71 +1,2 @@
# App maintainers
/apps/admin_audit/appinfo/info.xml @luka-nextcloud @blizzz
/apps/cloud_federation_api/appinfo/info.xml @mejo-
/apps/comments/appinfo/info.xml @marcelklehr @Pytal
/apps/contactsinteraction/appinfo/info.xml @kesselb @miaulalala @ChristophWurst @GretaD @hamza221 @st3iny
/apps/dashboard/appinfo/info.xml @julien-nc @juliushaertl
/apps/dav/lib/CalDAV @ChristophWurst @miaulalala @tcitworld
/apps/dav/lib/CardDAV @ChristophWurst @miaulalala @tcitworld
/apps/encryption/appinfo/info.xml @come-nc @icewind1991
/apps/federatedfilesharing/appinfo/info.xml @icewind1991 @danxuliu
/apps/federation/appinfo/info.xml @datenangebot
/apps/files/appinfo/info.xml @skjnldsv @Pytal @ArtificialOwl @come-nc @artonge @icewind1991 @szaimen @susnux @Fenn-CS
/apps/files_external/appinfo/info.xml @icewind1991 @artonge
/apps/files_reminders/appinfo/info.xml @Pytal
/apps/files_sharing/appinfo/info.xml @skjnldsv @come-nc
/apps/files_trashbin/appinfo/info.xml @Pytal @icewind1991
/apps/files_versions/appinfo/info.xml @artonge @icewind1991
/apps/oauth2/appinfo/info.xml @julien-nc @ChristophWurst
/apps/provisioning_api/appinfo/info.xml @provokateurin @nickvergessen
/apps/settings/appinfo/info.xml @Pytal @JuliaKirschenheuter
/apps/sharebymail/appinfo/info.xml @Altahrim
/apps/systemtags/appinfo/info.xml @Antreesy @marcelklehr
/apps/theming/appinfo/info.xml @skjnldsv @juliushaertl
/apps/twofactor_backupcodes/appinfo/info.xml @st3iny @miaulalala @ChristophWurst
/apps/updatenotification/appinfo/info.xml @Pytal @JuliaKirschenheuter
/apps/user_ldap/appinfo/info.xml @come-nc @blizzz
/apps/user_status/appinfo/info.xml @Antreesy @nickvergessen
/apps/weather_status/appinfo/info.xml @julien-nc @juliushaertl
/apps/workflowengine/appinfo/info.xml @blizzz @juliushaertl
# Frontend expertise
/apps/files/src* @skjnldsv
/apps/files_external/src* @skjnldsv
/apps/files_reminders/src* @skjnldsv
/apps/files_sharing/src/actions* @skjnldsv
/apps/files_trashbin/src* @skjnldsv
# Security team
/resources/codesigning @mgallien @miaulalala @nickvergessen
/resources/config/ca-bundle.crt @ChristophWurst @miaulalala @nickvergessen
/.drone.yml @nickvergessen
# Two-Factor Authentication
# https://github.com/nextcloud/wg-two-factor-authentication#members
**/TwoFactorAuth @ChristophWurst @miaulalala @nickvergessen @st3iny
/apps/twofactor_backupcodes @ChristophWurst @miaulalala @nickvergessen @st3iny
/core/templates/twofactor* @ChristophWurst @miaulalala @nickvergessen @st3iny
# Limit login to IP
# Watch login routes for https://github.com/nextcloud/limit_login_to_ip
/core/routes.php @Altahrim
# OpenAPI
openapi*.json @provokateurin
ResponseDefinitions.php @provokateurin
# Talk team
/lib/private/Comments @nickvergessen
/lib/private/Federation @nickvergessen
/lib/private/Talk @nickvergessen
/lib/public/Comments @nickvergessen
/lib/public/Federation @nickvergessen
/lib/public/OCM @nickvergessen
/lib/public/Talk @nickvergessen
/lib/public/UserStatus @nickvergessen
# Personal interest
*/Activity/* @nickvergessen
*/Notifications/* @nickvergessen
/lib/private/Profiler @CarlSchwan
/lib/public/Profiler @CarlSchwan
-1
View File
@@ -1 +0,0 @@
custom: https://nextcloud.com/include/
-225
View File
@@ -1,225 +0,0 @@
name: "🐛 Bug report: Nextcloud Server"
description: "Submit a report and help us improve Nextcloud Server"
title: "[Bug]: "
labels: ["bug", "0. Needs triage"]
body:
- type: markdown
attributes:
value: |
### 👍 Thank you for contributing to our project!
Please note this is a **free and open-source** project. Most people take on their own time to help you, so please, be patient.
You can obtain [Enterprise support](https://nextcloud.com/support/) if you run Nextcloud Server in a mission critical environment.
- type: markdown
attributes:
value: |
### 🚨 SECURITY INFO
If you are reporting a security concern, please report it via [our HackerOne page](https://hackerone.com/nextcloud) instead and review our [security policy](https://nextcloud.com/security/).
This allows us to coordinate the fix and release without potentially exposing all Nextcloud servers and users in the meantime.
It also may qualify your report for a bug bounty reward.
Thank you for helping make Nextcloud more secure!
- type: checkboxes
id: before-posting
attributes:
label: "⚠️ This issue respects the following points: ⚠️"
description: All conditions are **required**. Your issue can be closed if these are checked incorrectly.
options:
- label: This is a **bug**, not a question or a configuration/webserver/proxy issue.
required: true
- label: This issue is **not** already reported on [Github](https://github.com/nextcloud/server/issues?q=is%3Aopen+is%3Aissue+label%3Abug) OR [Nextcloud Community Forum](https://help.nextcloud.com/) _(I've searched it)_.
required: true
- label: Nextcloud Server **is** up to date. See [Maintenance and Release Schedule](https://github.com/nextcloud/server/wiki/Maintenance-and-Release-Schedule) for supported versions.
required: true
- label: I agree to follow Nextcloud's [Code of Conduct](https://nextcloud.com/contribute/code-of-conduct/).
required: true
- type: textarea
id: bug-description
attributes:
label: Bug description
description: |
Provide a description of the bug you're experiencing.
Don't just expect someone will guess what your specific problem is and provide full details.
validations:
required: true
- type: textarea
id: reproduce
attributes:
label: Steps to reproduce
description: |
Describe the steps to reproduce the bug.
The better your description is _(go 'here', click 'there'...)_ the fastest you'll get an _(accurate)_ answer.
value: |
1.
2.
3.
validations:
required: true
- type: textarea
id: expected-behavior
attributes:
label: Expected behavior
description: Describe what you expected to happen instead.
validations:
required: true
- type: dropdown
id: install-method
attributes:
label: Installation method
description: |
Select installation method you've used.
_Describe the method in the "Additional info" section if you chose "Other"._
options:
- "Community Web installer on a VPS or web space"
- "Community Manual installation with Archive"
- "Community Docker image"
- "Community NextcloudPi appliance"
- "Community SNAP package"
- "Community VM appliance"
- "Other Community project"
- "Official All-in-One appliance"
- type: dropdown
id: nextcloud-version
attributes:
label: Nextcloud Server version
description: |
Select Nextcloud Server version.
_Versions not listed here are not maintained and not supported anymore_
options:
- "27"
- "28"
- "29"
- "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.0"
- "PHP 8.1"
- "PHP 8.2"
- "PHP 8.3"
- "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. 22.1 to 22.2)"
- "Upgraded to a MAJOR version (ex. 22 to 23)"
- "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: shell
- 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 Nextcloud logs lines.
Copy all contents from `data/nextcloud.log` or a RAW from `/settings/admin/logging` section:
> NOTE: This will be automatically formatted into code for better readability.
render: shell
- type: textarea
id: additional-info
attributes:
label: Additional info
description: Any additional information related to the issue (ex. browser console errors, software versions).
-48
View File
@@ -1,48 +0,0 @@
---
name: 🚀 Feature request
about: Suggest an idea for this project
labels: enhancement, 0. Needs triage
---
<!--
Thanks for reporting issues back to Nextcloud!
Note: This is the **issue tracker of Nextcloud**, please do NOT use this to get answers to your questions or get help for fixing your installation. This is a place to report bugs to developers, after your server has been debugged. You can find help debugging your system on our home user forums: https://help.nextcloud.com or, if you use Nextcloud in a large organization, ask our engineers on https://portal.nextcloud.com. See also https://nextcloud.com/support for support options.
Nextcloud is an open source project backed by Nextcloud GmbH. Most of our volunteers are home users and thus primarily care about issues that affect home users. Our paid engineers prioritize issues of our customers. If you are neither a home user nor a customer, consider paying somebody to fix your issue, do it yourself or become a customer.
Guidelines for submitting issues:
* Please search the existing issues first, it's likely that your issue was already reported or even fixed.
- Go to https://github.com/nextcloud and type any word in the top search/command bar. You probably see something like "We couldnt find any repositories matching ..." then click "Issues" in the left navigation.
- You can also filter by appending e. g. "state:open" to the search string.
- More info on search syntax within github: https://help.github.com/articles/searching-issues
* This repository https://github.com/nextcloud/server/issues is *only* for issues within the Nextcloud Server code. This also includes the apps: files, encryption, external storage, sharing, deleted files, versions, LDAP, and WebDAV Auth
* SECURITY: Report any potential security bug to us via our HackerOne page (https://hackerone.com/nextcloud) following our security policy (https://nextcloud.com/security/) instead of filing an issue in our bug tracker.
* The issues in other components should be reported in their respective repositories: You will find them in our GitHub Organization (https://github.com/nextcloud/)
-->
<!--- Please keep this note for other contributors -->
### How to use GitHub
* Please use the 👍 [reaction](https://blog.github.com/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/) to show that you are interested into the same feature.
* Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
* Subscribe to receive notifications on status change and new comments.
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.
-10
View File
@@ -1,10 +0,0 @@
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
-3
View File
@@ -1,3 +0,0 @@
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
-233
View File
@@ -1,233 +0,0 @@
version: 2
updates:
# Linting and coding style
- package-ecosystem: composer
directory: "/"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
# cs-fixer
- package-ecosystem: composer
directory: "/vendor-bin/cs-fixer"
schedule:
interval: weekly
day: saturday
time: "04:10"
timezone: Europe/Copenhagen
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
# openapi-extractor
- package-ecosystem: composer
directory: "/vendor-bin/openapi-extractor"
schedule:
interval: weekly
day: saturday
time: "04:20"
timezone: Europe/Brussels
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
- "provokateurin"
# psalm
- package-ecosystem: composer
directory: "/vendor-bin/psalm"
schedule:
interval: weekly
day: saturday
time: "04:30"
timezone: Europe/Madrid
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
# Main master npm
- package-ecosystem: npm
directory: "/"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
open-pull-requests-limit: 10
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
# Disable automatic rebasing because without a build CI will likely fail anyway
rebase-strategy: "disabled"
# Testing master npm
- package-ecosystem: npm
directory: "/build"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
labels:
- "3. to review"
- "feature: dependencies"
# Testing master composer
- package-ecosystem: composer
directory: "/build/integration"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
labels:
- "3. to review"
- "feature: dependencies"
# Main stableXX npm
- package-ecosystem: npm
directory: "/"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
target-branch: stable27
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
ignore:
# ignore all GitHub linguist patch updates
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor", "version-update:semver-patch"]
# Disable automatic rebasing because without a build CI will likely fail anyway
rebase-strategy: "disabled"
- package-ecosystem: npm
directory: "/"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
target-branch: stable28
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
ignore:
# ignore all GitHub linguist patch updates
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor", "version-update:semver-patch"]
# Disable automatic rebasing because without a build CI will likely fail anyway
rebase-strategy: "disabled"
- package-ecosystem: npm
directory: "/"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
target-branch: stable29
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
ignore:
# ignore all GitHub linguist patch updates
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor", "version-update:semver-patch"]
# Disable automatic rebasing because without a build CI will likely fail anyway
rebase-strategy: "disabled"
# Testing StableXX composer
- package-ecosystem: composer
directory: "/build/integration"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
target-branch: stable27
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
ignore:
# ignore all GitHub linguist patch updates
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor", "version-update:semver-patch"]
- package-ecosystem: composer
directory: "/build/integration"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
target-branch: stable28
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
ignore:
# ignore all GitHub linguist patch updates
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor", "version-update:semver-patch"]
- package-ecosystem: composer
directory: "/build/integration"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
target-branch: stable29
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
ignore:
# ignore all GitHub linguist patch updates
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor", "version-update:semver-patch"]
# GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: monthly
timezone: Europe/Paris
groups:
github-actions:
patterns:
- "*"
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
-23
View File
@@ -1,23 +0,0 @@
<!--
- 🚨 SECURITY INFO
-
- Before sending a pull request that fixes a security issue please report it via our HackerOne page (https://hackerone.com/nextcloud) following our security policy (https://nextcloud.com/security/). This allows us to coordinate the fix and release without potentially exposing all Nextcloud servers and users in the meantime.
-->
* Resolves: # <!-- related github issue -->
## Summary
## TODO
- [ ] ...
## Checklist
- Code is [properly formatted](https://docs.nextcloud.com/server/latest/developer_manual/digging_deeper/continuous_integration.html#linting)
- [Sign-off message](https://github.com/src-d/guide/blob/master/developer-community/fix-DCO.md) is added to all commits
- [ ] Tests ([unit](https://docs.nextcloud.com/server/latest/developer_manual/app_development/tutorial.html#unit-tests), [integration](https://docs.nextcloud.com/server/latest/developer_manual/app_development/tutorial.html#integration-tests), api and/or acceptance) are included
- [ ] Screenshots before/after for front-end changes
- [ ] Documentation ([manuals](https://github.com/nextcloud/documentation/) or wiki) has been updated or is not required
- [ ] [Backports requested](https://github.com/nextcloud/backportbot/#usage) where applicable (ex: critical bugfixes)
-96
View File
@@ -1,96 +0,0 @@
name: Code checkers
on:
pull_request:
permissions:
contents: read
concurrency:
group: autocheckers-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- '**.php'
autocheckers:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
strategy:
matrix:
php-versions: ['8.3']
name: PHP checkers
steps:
- name: Checkout server
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@7fdd3ece872ec7ec4c098ae5ab7637d5e0a96067 # v2
with:
php-version: ${{ matrix.php-versions }}
extensions: ctype, json, mbstring
coverage: none
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
run: composer i
- name: Check auto loaders
run: bash ./build/autoloaderchecker.sh
- name: Check translations are JSON decodeable
run: php ./build/translation-checker.php
- name: Check translations do not contain triple dot but ellipsis
run: php ./build/triple-dot-checker.php
- name: Check .htaccess does not contain invalid changes
run: php ./build/htaccess-checker.php
- name: Check that all and only expected files are included
run: php ./build/files-checker.php
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, autocheckers]
if: always()
name: autocheckers-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.autocheckers.result != 'success' }}; then exit 1; fi
-37
View File
@@ -1,37 +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
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: Download updater config
run: curl https://raw.githubusercontent.com/nextcloud/updater_server/production/config/config.php --output config.php
- name: Set server major version environment
run: |
# retrieve version number from branch reference
server_major=$(echo "${{ github.base_ref }}" | sed -En 's/stable//p')
echo "server_major=$server_major" >> $GITHUB_ENV
- name: Checking if ${{ env.server_major }} is EOL
run: |
php -r 'echo json_encode(require_once "config.php");' | jq --arg version "${{ env.server_major }}" '.stable[$version]["100"].eol // .beta[$version]["100"].eol // "NotEOL"' | grep -q "NotEOL"
-32
View File
@@ -1,32 +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
name: Block merges during freezes
on:
pull_request:
types: [opened, ready_for_review, reopened, synchronize]
permissions:
contents: read
concurrency:
group: block-merge-freeze-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
block-merges-during-freeze:
name: Block merges during freezes
if: github.event.pull_request.draft == false
runs-on: ubuntu-latest-low
steps:
- name: Download version.php from ${{ github.base_ref }}
run: curl https://raw.githubusercontent.com/nextcloud/server/${{ github.base_ref }}/version.php --output version.php
- name: Run check
run: cat version.php | grep 'OC_VersionString' | grep -i -v 'RC'
@@ -1,53 +0,0 @@
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@4512585405083f25c027a35db413c2b3b9006d50 # v2.11.1
id: changes
continue-on-error: true
with:
filters: |
src:
- '3rdparty'
- 'version.php'
- name: Checkout
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
- name: 3rdparty commit hash on current branch
id: actual
run: |
echo "commit=$(git submodule status | grep ' 3rdparty' | egrep -o '[a-f0-9]{40}')" >> "$GITHUB_OUTPUT"
- name: Last 3rdparty commit on target branch
id: target
run: |
echo "commit=$(git ls-remote https://github.com/nextcloud/3rdparty ${{ github.base_ref }} | awk '{ print $1}')" >> "$GITHUB_OUTPUT"
- name: Compare if 3rdparty commits are different
run: |
echo '3rdparty/ seems to not point to the last commit of the dedicated branch:'
echo "Branch has: ${{ steps.actual.outputs.commit }}"
echo "${{ github.base_ref }} has: ${{ steps.target.outputs.commit }}"
- name: Fail if 3rdparty commits are different
if: ${{ steps.changes.outputs.src != 'false' && steps.actual.outputs.commit != steps.target.outputs.commit }}
run: |
exit 1
@@ -1,31 +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
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@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
- uses: webiny/action-conventional-commits@8bc41ff4e7d423d56fa4905f6ff79209a78776c7 # v1.3.0
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-140
View File
@@ -1,140 +0,0 @@
name: Compile Command
on:
issue_comment:
types: [created]
jobs:
init:
runs-on: ubuntu-latest
# On pull requests and if the comment starts with `/compile`
if: github.event.issue.pull_request != '' && startsWith(github.event.comment.body, '/compile')
outputs:
git_path: ${{ steps.git-path.outputs.path }}
arg1: ${{ steps.command.outputs.arg1 }}
arg2: ${{ steps.command.outputs.arg2 }}
head_ref: ${{ steps.comment-branch.outputs.head_ref }}
base_ref: ${{ steps.comment-branch.outputs.base_ref }}
steps:
- name: Check actor permission
uses: skjnldsv/check-actor-permission@69e92a3c4711150929bca9fcf34448c5bf5526e7 # v2
with:
require: write
- name: Add reaction on start
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reactions: "+1"
- name: Parse command
uses: skjnldsv/parse-command-comment@5c955203c52424151e6d0e58fb9de8a9f6a605a1 # v2
id: command
# Init path depending on which command is run
- name: Init path
id: git-path
run: |
if ${{ startsWith(steps.command.outputs.arg1, '/') }}; then
echo "path=${{steps.command.outputs.arg1}}" >> $GITHUB_OUTPUT
else
echo "path=${{steps.command.outputs.arg2}}" >> $GITHUB_OUTPUT
fi
- name: Init branch
uses: xt0rted/pull-request-comment-branch@d97294d304604fa98a2600a6e2f916a84b596dc7 # v1
id: comment-branch
process:
runs-on: ubuntu-latest
needs: init
steps:
- name: Restore cached git repository
uses: buildjet/cache@e376f15c6ec6dc595375c78633174c7e5f92dc0e # v3
with:
path: .git
key: git-repo
- name: Checkout ${{ needs.init.outputs.head_ref }}
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
with:
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@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
id: package-engines-versions
with:
fallbackNode: '^20'
fallbackNpm: '^10'
- name: Set up node ${{ steps.package-engines-versions.outputs.nodeVersion }}
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
with:
node-version: ${{ steps.package-engines-versions.outputs.nodeVersion }}
cache: npm
- name: Set up npm ${{ steps.package-engines-versions.outputs.npmVersion }}
run: npm i -g npm@"${{ steps.package-engines-versions.outputs.npmVersion }}"
- name: Rebase to ${{ needs.init.outputs.base_ref }}
if: ${{ contains(needs.init.outputs.arg1, 'rebase') }}
run: |
git fetch origin ${{ needs.init.outputs.base_ref }}:${{ needs.init.outputs.base_ref }}
git rebase origin/${{ needs.init.outputs.base_ref }}
- name: Install dependencies & build
env:
CYPRESS_INSTALL_BINARY: 0
PUPPETEER_SKIP_DOWNLOAD: true
run: |
npm ci
npm run build --if-present
- name: Commit default
if: ${{ !contains(needs.init.outputs.arg1, 'fixup') && !contains(needs.init.outputs.arg1, 'amend') }}
run: |
git add ${{ github.workspace }}${{ needs.init.outputs.git_path }}
git commit --signoff -m 'chore(assets): Recompile assets'
- name: Commit fixup
if: ${{ contains(needs.init.outputs.arg1, 'fixup') }}
run: |
git add ${{ github.workspace }}${{ needs.init.outputs.git_path }}
git commit --fixup=HEAD --signoff
- name: Commit amend
if: ${{ contains(needs.init.outputs.arg1, 'amend') }}
run: |
git add ${{ github.workspace }}${{ needs.init.outputs.git_path }}
git commit --amend --no-edit --signoff
# Remove any [skip ci] from the amended commit
git commit --amend -m "$(git log -1 --format='%B' | sed '/\[skip ci\]/d')"
- name: Push normally
if: ${{ !contains(needs.init.outputs.arg1, 'rebase') && !contains(needs.init.outputs.arg1, 'amend') }}
run: git push origin ${{ needs.init.outputs.head_ref }}
- name: Force push
if: ${{ contains(needs.init.outputs.arg1, 'rebase') || contains(needs.init.outputs.arg1, 'amend') }}
run: git push --force origin ${{ needs.init.outputs.head_ref }}
- name: Add reaction on failure
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
if: failure()
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reactions: "-1"
@@ -1,60 +0,0 @@
name: Update 3rdparty command
on:
issue_comment:
types: created
permissions:
contents: read
jobs:
rebase:
runs-on: ubuntu-latest
permissions:
contents: none
# On pull requests and if the comment starts with `/update-3rdparty`
if: github.event.issue.pull_request != '' && startsWith(github.event.comment.body, '/update-3rdparty')
steps:
- name: Add reaction on start
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v3.0.1
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reactions: "+1"
- name: Init branch
uses: xt0rted/pull-request-comment-branch@d97294d304604fa98a2600a6e2f916a84b596dc7 # v1
id: comment-branch
- name: Checkout ${{ steps.comment-branch.outputs.head_ref }}
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633
with:
fetch-depth: 0
token: ${{ secrets.COMMAND_BOT_PAT }}
ref: ${{ steps.comment-branch.outputs.head_ref }}
- name: Setup git
run: |
git config --local user.email "nextcloud-command@users.noreply.github.com"
git config --local user.name "nextcloud-command"
- name: Pull 3rdparty
run: git submodule foreach 'if [ "$sm_path" == "3rdparty" ]; then git pull origin ${{ github.event.issue.pull_request.base.ref }}; fi'
- name: Commit and push changes
run: |
git add 3rdparty
git commit -s -m "Update submodule 3rdparty to latest ${{ github.event.issue.pull_request.base.ref }}"
git push
- name: Add reaction on failure
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v3.0.1
if: failure()
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reactions: "-1"
-51
View File
@@ -1,51 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
name: Rebase command
on:
issue_comment:
types: created
permissions:
contents: read
jobs:
rebase:
runs-on: ubuntu-latest
permissions:
contents: none
# On pull requests and if the comment starts with `/rebase`
if: github.event.issue.pull_request != '' && startsWith(github.event.comment.body, '/rebase')
steps:
- name: Add reaction on start
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v3.0.1
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reaction-type: "+1"
- name: Checkout the latest code
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3.5.2
with:
fetch-depth: 0
token: ${{ secrets.COMMAND_BOT_PAT }}
- name: Automatic Rebase
uses: cirrus-actions/rebase@b87d48154a87a85666003575337e27b8cd65f691 # 1.8
env:
GITHUB_TOKEN: ${{ secrets.COMMAND_BOT_PAT }}
- name: Add reaction on failure
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v3.0.1
if: failure()
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reaction-type: "-1"
-162
View File
@@ -1,162 +0,0 @@
name: Cypress
on: pull_request
concurrency:
group: cypress-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
env:
# Adjust APP_NAME if your repository name is different
APP_NAME: ${{ github.event.repository.name }}
# Server requires head_ref instead of base_ref, as we want to test the PR branch
BRANCH: ${{ github.head_ref || github.ref_name }}
jobs:
init:
runs-on: ubuntu-latest
outputs:
nodeVersion: ${{ steps.versions.outputs.nodeVersion }}
npmVersion: ${{ steps.versions.outputs.npmVersion }}
env:
PUPPETEER_SKIP_DOWNLOAD: true
steps:
- name: Checkout server
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
with:
# We need to checkout submodules for 3rdparty
submodules: true
- name: Check composer.json
id: check_composer
uses: andstor/file-existence-action@076e0072799f4942c8bc574a82233e1e4d13e9d6 # v2
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@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
id: versions
with:
fallbackNode: "^20"
fallbackNpm: "^9"
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"
- name: Install node dependencies & build app
run: |
npm ci
TESTING=true npm run build --if-present
- name: Show cypress version
run: npm run cypress:version
- name: Save context
uses: buildjet/cache/save@e376f15c6ec6dc595375c78633174c7e5f92dc0e # v3
with:
key: cypress-context-${{ github.run_id }}
path: ./
cypress:
runs-on: ubuntu-latest
needs: init
strategy:
fail-fast: false
matrix:
# Run multiple copies of the current job in parallel
# Please increase the number or runners as your tests suite grows (0 based index for e2e tests)
containers: ["component", 0, 1, 2, 3, 4, 5]
# Hack as strategy.job-total includes the component and GitHub does not allow math expressions
# Always aling this number with the total of e2e runners (max. index + 1)
total-containers: [6]
name: runner ${{ matrix.containers }}
steps:
- name: Restore context
uses: buildjet/cache/restore@e376f15c6ec6dc595375c78633174c7e5f92dc0e # v3
with:
fail-on-cache-miss: true
key: cypress-context-${{ github.run_id }}
path: ./
- name: Set up node ${{ needs.init.outputs.nodeVersion }}
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
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: Run ${{ matrix.containers == 'component' && 'component' || 'E2E' }} cypress tests
uses: cypress-io/github-action@1b70233146622b69e789ccdd4f9452adc638d25a # v6.6.1
with:
component: ${{ matrix.containers == 'component' }}
group: ${{ matrix.use-cypress-cloud && matrix.containers == 'component' && 'Run component' || matrix.use-cypress-cloud && 'Run E2E' || '' }}
# cypress env
ci-build-id: ${{ matrix.use-cypress-cloud && format('{0}-{1}', github.sha, github.run_number) || '' }}
tag: ${{ matrix.use-cypress-cloud && github.event_name || '' }}
env:
# Needs to be prefixed with CYPRESS_
CYPRESS_BRANCH: ${{ env.BRANCH }}
# https://github.com/cypress-io/github-action/issues/124
COMMIT_INFO_MESSAGE: ${{ github.event.pull_request.title }}
# Needed for some specific code workarounds
TESTING: true
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
SPLIT: ${{ matrix.total-containers }}
SPLIT_INDEX: ${{ matrix.containers == 'component' && 0 || matrix.containers }}
- name: Upload snapshots
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
if: always()
with:
name: snapshots_${{ matrix.containers }}
path: cypress/snapshots
- name: Extract NC logs
if: failure() && matrix.containers != 'component'
run: docker logs nextcloud-cypress-tests-${{ env.APP_NAME }} > nextcloud.log
- name: Upload NC logs
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
if: failure() && matrix.containers != 'component'
with:
name: nc_logs_${{ matrix.containers }}
path: nextcloud.log
- name: Create data dir archive
if: failure() && matrix.containers != 'component'
run: docker exec nextcloud-cypress-tests-server tar -cvjf - data > data.tar
- name: Upload data dir archive
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
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,43 +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: Dependabot
on:
pull_request_target:
branches:
- main
- master
- stable*
permissions:
contents: read
concurrency:
group: dependabot-approve-merge-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
auto-approve-merge:
if: github.actor == 'dependabot[bot]' || github.actor == 'renovate[bot]'
runs-on: ubuntu-latest-low
permissions:
# for hmarr/auto-approve-action to approve PRs
pull-requests: write
steps:
# Github actions bot approve
- uses: hmarr/auto-approve-action@b40d6c9ed2fa10c9a2749eca7eb004418a705501 # v2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
# Nextcloud bot approve and merge request
- uses: ahmadnassri/action-dependabot-auto-merge@45fc124d949b19b6b8bf6645b6c9d55f4f9ac61a # v2
with:
target: minor
github-token: ${{ secrets.DEPENDABOT_AUTOMERGE_TOKEN }}
-119
View File
@@ -1,119 +0,0 @@
name: PHPUnit files_external FTP
on:
pull_request:
schedule:
- cron: "5 2 * * *"
concurrency:
group: files-external-ftp-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'apps/files_external/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- '**.php'
files-external-ftp:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
# do not stop on another job's failure
fail-fast: false
matrix:
php-versions: ['8.1', '8.3']
ftpd: ['proftpd', 'vsftpd', 'pure-ftpd']
include:
- php-versions: '8.1'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-${{ matrix.ftpd }}
steps:
- name: Checkout server
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633
with:
submodules: true
- name: Set up ftpd
run: |
sudo mkdir /tmp/ftp
sudo chmod -R 0777 /tmp/ftp
if [[ "${{ matrix.ftpd }}" == 'proftpd' ]]; then echo '$6$Q7V2n3q2GRVv5YeQ$/AhLu07H76Asojy7bxGXMY1caKLAbp5Vt82LOZYMkD/8uDzyMAEXwk0c1Bdz1DkBsk2Vh/9SF130mOPavRGMo.' > /tmp/secret.txt; fi
if [[ "${{ matrix.ftpd }}" == 'proftpd' ]]; then echo 'FTP_ROOT=/home/test' > $GITHUB_ENV; fi
if [[ "${{ matrix.ftpd }}" == 'proftpd' ]]; then docker run --name ftp -d --net host -e PASV_ADDRESS=127.0.0.1 -e FTPUSER_NAME=test -v /tmp/secret.txt:/run/secrets/ftp-user-password-secret -v /tmp/ftp:/home/test instantlinux/proftpd; fi
if [[ "${{ matrix.ftpd }}" == 'vsftpd' ]]; then docker run --name ftp -d --net host -e FTP_USER=test -e FTP_PASS=test -e PASV_ADDRESS=127.0.0.1 -v /tmp/ftp:/home/vsftpd/test fauria/vsftpd; fi
if [[ "${{ matrix.ftpd }}" == 'pure-ftpd' ]]; then docker run --name ftp -d --net host -e "PUBLICHOST=localhost" -e FTP_USER_NAME=test -e FTP_USER_PASS=test -e FTP_USER_HOME=/home/test -v /tmp/ftp:/home/test -v /tmp/ftp:/etc/pure-ftpd/passwd stilliard/pure-ftpd; fi
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c5fc0d8281aba02c7fda07d3a70cc5371548067d #v2.25.2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
run: |
composer install
mkdir data
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
./occ app:enable --force files_external
echo "<?php return ['run' => true,'host' => 'localhost','user' => 'test','password' => 'test', 'root' => '${{ env.FTP_ROOT }}'];" > apps/files_external/tests/config.ftp.php
- name: smoketest ftp
run: |
php -r 'var_dump(file_put_contents("ftp://test:test@localhost${{ env.FTP_ROOT }}/ftp.txt", "asd"));'
php -r 'var_dump(file_get_contents("ftp://test:test@localhost${{ env.FTP_ROOT }}/ftp.txt"));'
php -r 'var_dump(mkdir("ftp://test:test@localhost${{ env.FTP_ROOT }}/asdads"));'
ls -l /tmp/ftp
[ -f /tmp/ftp/ftp.txt ]
- name: PHPUnit
run: composer run test:files_external -- \
apps/files_external/tests/Storage/FtpTest.php \
${{ matrix.coverage && ' --coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v4.1.1
with:
files: ./clover.xml
flags: phpunit-files-external-ftp
- name: ftpd logs
if: always()
run: |
docker logs ftp
ftp-summary:
runs-on: ubuntu-latest-low
needs: [changes, files-external-ftp]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.files-external-ftp.result != 'success' }}; then exit 1; fi
-185
View File
@@ -1,185 +0,0 @@
name: PHPUnit files_external S3
on:
pull_request:
schedule:
- cron: "5 2 * * *"
concurrency:
group: files-external-s3-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'apps/files_external/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- '**.php'
files-external-s3-minio:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
matrix:
php-versions: ['8.1', '8.2', '8.3']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-s3
services:
minio:
image: bitnami/minio
env:
MINIO_ROOT_USER: nextcloud
MINIO_ROOT_PASSWORD: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
MINIO_DEFAULT_BUCKETS: nextcloud
ports:
- "9000:9000"
steps:
- name: Checkout server
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@4bd44f22a98a19e0950cbad5f31095157cc9621b # v2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
env:
OBJECT_STORE_KEY: nextcloud
OBJECT_STORE_SECRET: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
run: |
composer install
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
./occ app:enable --force files_external
echo "<?php return ['run' => true, 'secret' => 'actually-not-secret', 'passwordsalt' => 'actually-not-secret', 'hostname' => 'localhost','key' => '$OBJECT_STORE_KEY','secret' => '$OBJECT_STORE_SECRET', 'bucket' => 'bucket', 'port' => 9000, 'use_ssl' => false, 'autocreate' => true, 'use_path_style' => true];" > apps/files_external/tests/config.amazons3.php
- name: Wait for S3
run: |
sleep 10
curl -f -m 1 --retry-connrefused --retry 10 --retry-delay 10 http://localhost:9000/minio/health/ready
- name: PHPUnit
run: composer run test:files_external -- \
apps/files_external/tests/Storage/Amazons3Test.php \
apps/files_external/tests/Storage/VersionedAmazonS3Test.php \
${{ matrix.coverage && ' --coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v4.1.1
with:
files: ./clover.xml
flags: phpunit-files-external-s3
- name: S3 logs
if: always()
run: |
docker ps -a
docker ps -aq | while read container ; do IMAGE=$(docker inspect --format='{{.Config.Image}}' $container); echo $IMAGE; docker logs $container; echo "\n\n" ; done
files-external-s3-localstack:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
matrix:
php-versions: ['8.1', '8.2', '8.3']
include:
- php-versions: '8.3'
coverage: true
name: php${{ matrix.php-versions }}-s3
services:
localstack:
env:
SERVICES: s3
DEBUG: 1
image: localstack/localstack
ports:
- "4566:4566"
steps:
- name: Checkout server
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@4bd44f22a98a19e0950cbad5f31095157cc9621b # v2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
run: |
composer install
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
./occ app:enable --force files_external
echo "<?php return ['run' => true,'hostname' => 'localhost','key' => 'ignored','secret' => 'ignored', 'bucket' => 'bucket', 'port' => 4566, 'use_ssl' => false, 'autocreate' => true, 'use_path_style' => true];" > apps/files_external/tests/config.amazons3.php
- name: PHPUnit
run: composer run test:files_external -- \
apps/files_external/tests/Storage/Amazons3Test.php \
apps/files_external/tests/Storage/VersionedAmazonS3Test.php \
${{ matrix.coverage && ' --coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v4.1.1
with:
files: ./clover.xml
flags: phpunit-files-external-s3
- name: S3 logs
if: always()
run: |
docker ps -a
docker ps -aq | while read container ; do IMAGE=$(docker inspect --format='{{.Config.Image}}' $container); echo $IMAGE; docker logs $container; echo "\n\n" ; done
s3-external-summary:
runs-on: ubuntu-latest-low
needs: [changes, files-external-s3-minio, files-external-s3-localstack]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.files-external-s3-minio.result != 'success' && needs.files-external-s3-localstack.result != 'success' }}; then exit 1; fi
-109
View File
@@ -1,109 +0,0 @@
name: PHPUnit files_external sFTP
on:
pull_request:
schedule:
- cron: "5 2 * * *"
concurrency:
group: files-external-sftp-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'apps/files_external/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- '**.php'
files-external-sftp:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
# do not stop on another job's failure
fail-fast: false
matrix:
php-versions: ['8.1', '8.3']
sftpd: ['openssh']
include:
- php-versions: '8.1'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-${{ matrix.sftpd }}
steps:
- name: Checkout server
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633
with:
submodules: true
- name: Set up sftpd
run: |
sudo mkdir /tmp/sftp
sudo chown -R 0777 /tmp/sftp
if [[ "${{ matrix.sftpd }}" == 'openssh' ]]; then docker run -p 2222:22 --name sftp -d -v /tmp/sftp:/home/test atmoz/sftp "test:test:::data"; fi
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c5fc0d8281aba02c7fda07d3a70cc5371548067d #v2.25.2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
run: |
composer install
mkdir data
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
./occ app:enable --force files_external
echo "<?php return ['run' => true, 'host' => 'localhost:2222','user' => 'test','password' => 'test', 'root' => 'data'];" > apps/files_external/tests/config.sftp.php
- name: PHPUnit
run: composer run test:files_external -- \
apps/files_external/tests/Storage/SftpTest.php \
apps/files_external/tests/Storage/SFTP_KeyTest.php \
${{ matrix.coverage && ' --coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v4.1.1
with:
files: ./clover.xml
flags: phpunit-files-external-sftp
- name: sftpd logs
if: always()
run: |
ls -l /tmp/sftp
docker logs sftp
sftp-summary:
runs-on: ubuntu-latest-low
needs: [changes, files-external-sftp]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.files-external-sftp.result != 'success' }}; then exit 1; fi
@@ -1,93 +0,0 @@
name: Samba Kerberos SSO
on:
pull_request:
schedule:
- cron: "5 2 * * *"
concurrency:
group: files-external-smb-kerberos-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'apps/files_external/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- '**.php'
files-external-smb-kerberos:
runs-on: ubuntu-22.04
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
name: smb-kerberos-sso
steps:
- name: Checkout server
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633
with:
submodules: true
- name: Checkout user_saml
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633
with:
repository: nextcloud/user_saml
path: apps/user_saml
- name: Pull images
run: |
docker pull ghcr.io/icewind1991/samba-krb-test-dc
docker pull ghcr.io/icewind1991/samba-krb-test-apache
docker pull ghcr.io/icewind1991/samba-krb-test-client
docker tag ghcr.io/icewind1991/samba-krb-test-dc icewind1991/samba-krb-test-dc
docker tag ghcr.io/icewind1991/samba-krb-test-apache icewind1991/samba-krb-test-apache
docker tag ghcr.io/icewind1991/samba-krb-test-client icewind1991/samba-krb-test-client
- name: Setup AD-DC
run: |
DC_IP=$(apps/files_external/tests/sso-setup/start-dc.sh)
sleep 1
apps/files_external/tests/sso-setup/start-apache.sh $DC_IP $PWD
echo "DC_IP=$DC_IP" >> $GITHUB_ENV
- name: Set up Nextcloud
run: |
apps/files_external/tests/sso-setup/setup-sso-nc.sh
- name: Test SSO
run: |
apps/files_external/tests/sso-setup/test-sso-smb.sh ${{ env.DC_IP }}
- name: Show logs
if: always()
run: |
FILEPATH=$(docker exec --user 33 apache ./occ log:file | grep "Log file:" | cut -d' ' -f3)
echo "$FILEPATH:"
docker exec --user 33 apache cat $FILEPATH
sftp-summary:
runs-on: ubuntu-latest-low
needs: [changes, files-external-smb-kerberos]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.files-external-smb-kerberos.result != 'success' }}; then exit 1; fi
-108
View File
@@ -1,108 +0,0 @@
name: PHPUnit files_external SMB
on:
pull_request:
schedule:
- cron: "5 2 * * *"
concurrency:
group: files-external-smb-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'apps/files_external/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- '**.php'
files-external-smb:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
matrix:
php-versions: ['8.1', '8.3']
include:
- php-versions: '8.1'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-smb
services:
samba:
image: ghcr.io/nextcloud/continuous-integration-samba:latest
ports:
- 445:445
steps:
- name: Checkout server
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@4bd44f22a98a19e0950cbad5f31095157cc9621b # v2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, smbclient, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up smbclient
# This is needed as icewind/smb php library for notify
run: sudo apt-get install -y smbclient
- name: Set up Nextcloud
run: |
composer install
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
./occ config:system:set --value true --type boolean allow_local_remote_servers
./occ app:enable --force files_external
echo "<?php return ['run'=>true, 'host'=>'localhost', 'user'=>'test', 'password'=>'test', 'root'=>'', 'share'=>'public'];" > apps/files_external/tests/config.smb.php
- name: Wait for smb
run: |
apps/files_external/tests/env/wait-for-connection 127.0.0.1 445 60
- name: PHPUnit
run: composer run test:files_external -- --verbose \
apps/files_external/tests/Storage/SmbTest.php \
${{ matrix.coverage && ' --coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@c16abc29c95fcf9174b58eb7e1abf4c866893bc8 # v4.1.1
with:
files: ./clover.xml
flags: phpunit-files-external-smb
files-external-smb-summary:
runs-on: ubuntu-latest-low
needs: [changes, files-external-smb]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.files-external-smb.result != 'success' }}; then exit 1; fi
-105
View File
@@ -1,105 +0,0 @@
name: PHPUnit files_external WebDAV
on:
pull_request:
schedule:
- cron: "5 2 * * *"
concurrency:
group: files-external-webdav-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'apps/files_external/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- '**.php'
files-external-webdav-apache:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
matrix:
php-versions: ['8.1', '8.2', '8.3']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-webdav
services:
apache:
image: ghcr.io/nextcloud/continuous-integration-webdav-apache:latest
ports:
- 8081:80
steps:
- name: Checkout server
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@4bd44f22a98a19e0950cbad5f31095157cc9621b # v2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
run: |
composer install
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
./occ config:system:set --value true --type boolean allow_local_remote_servers
./occ app:enable --force files_external
echo "<?php return ['run' => true, 'host' => 'localhost:8081/webdav/', 'user' => 'test', 'password'=>'pass', 'root' => '', 'wait' => 0];" > apps/files_external/tests/config.webdav.php
- name: Wait for WebDAV
run: |
sleep 5
curl -f -m 1 --retry-connrefused --retry 10 --retry-delay 10 http://test:pass@localhost:8081/webdav/
- name: PHPUnit
run: composer run test:files_external -- --verbose \
apps/files_external/tests/Storage/WebdavTest.php \
${{ matrix.coverage && ' --coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@c16abc29c95fcf9174b58eb7e1abf4c866893bc8 # v4.1.1
with:
files: ./clover.xml
flags: phpunit-files-external-webdav
files-external-webdav-summary:
runs-on: ubuntu-latest-low
needs: [changes, files-external-webdav-apache]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.files-external-webdav-apache.result != 'success' }}; then exit 1; fi
-93
View File
@@ -1,93 +0,0 @@
name: PHPUnit files_external generic
on:
pull_request:
schedule:
- cron: "5 2 * * *"
concurrency:
group: files-external-generic-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- 'apps/files_external/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
files-external-generic:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
matrix:
php-versions: ['8.1', '8.2', '8.3']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-generic
steps:
- name: Checkout server
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@4bd44f22a98a19e0950cbad5f31095157cc9621b # v2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
env:
OBJECT_STORE_KEY: nextcloud
OBJECT_STORE_SECRET: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
run: |
composer install
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
./occ app:enable --force files_external
- name: PHPUnit
run: composer run test:files_external \
${{ matrix.coverage && ' --coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v4.1.1
with:
files: ./clover.xml
flags: phpunit-files-external-generic
files-external-summary:
runs-on: ubuntu-latest-low
needs: [changes, files-external-generic ]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.files-external-generic.result != 'success' }}; then exit 1; fi
-33
View File
@@ -1,33 +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
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@42d26e1b536ce61e5cf467d65fb76caf4aa85acf # v1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
@@ -1,117 +0,0 @@
name: S3 primary storage integration tests
on:
pull_request:
concurrency:
group: integration-s3-primary-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/*.php'
- '**/lib/**'
- '**/tests/**'
- '**/vendor-bin/**'
- 'build/integration/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
integration-s3-primary:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false' && github.repository_owner != 'nextcloud-gmbh'
strategy:
# do not stop on another job's failure
fail-fast: false
matrix:
php-versions: ['8.1']
key: ['objectstore', 'objectstore_multibucket']
name: php${{ matrix.php-versions }}-${{ matrix.key }}-minio
services:
redis:
image: ghcr.io/nextcloud/continuous-integration-redis:latest
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
ports:
- 6379:6379/tcp
minio:
image: bitnami/minio
env:
MINIO_ROOT_USER: nextcloud
MINIO_ROOT_PASSWORD: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
MINIO_DEFAULT_BUCKETS: nextcloud
ports:
- "9000:9000"
steps:
- name: Checkout server
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@4bd44f22a98a19e0950cbad5f31095157cc9621b # v2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: 'none'
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Wait for S3
run: |
sleep 10
curl -f -m 1 --retry-connrefused --retry 10 --retry-delay 10 http://localhost:9000/minio/health/ready
- name: Set up Nextcloud
run: |
mkdir data
echo '<?php $CONFIG=["${{ matrix.key }}" => ["class" => "OC\Files\ObjectStore\S3", "arguments" => ["bucket" => "nextcloud", "autocreate" => true, "key" => "nextcloud", "secret" => "bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=", "hostname" => "localhost", "port" => 9000, "use_ssl" => false, "use_path_style" => true, "uploadPartSize" => 52428800]]];' > config/config.php
echo '<?php $CONFIG=["redis" => ["host" => "localhost", "port" => 6379], "memcache.local" => "\OC\Memcache\Redis", "memcache.distributed" => "\OC\Memcache\Redis"];' > config/redis.config.php
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
php -f index.php
- name: Integration
run: |
cd build/integration
bash run.sh --tags "~@failure-s3" dav_features/webdav-related.feature
- name: S3 logs
if: always()
run: |
cat data/nextcloud.log
docker ps -a
docker ps -aq | while read container ; do IMAGE=$(docker inspect --format='{{.Config.Image}}' $container); echo $IMAGE; docker logs $container; echo "\n\n" ; done
s3-primary-integration-summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, integration-s3-primary]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.integration-s3-primary.result != 'success' }}; then exit 1; fi
-166
View File
@@ -1,166 +0,0 @@
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'
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'
- 'openldap_features'
- 'openldap_numerical_features'
- 'ldap_features'
- 'remoteapi_features'
- 'setup_features'
- 'sharees_features'
- 'sharing_features'
- 'videoverification_features'
php-versions: ['8.2']
spreed-versions: ['main']
services:
redis:
image: ghcr.io/nextcloud/continuous-integration-redis:latest
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
ports:
- 6379:6379/tcp
openldap:
image: ghcr.io/nextcloud/continuous-integration-openldap:openldap-7
ports:
- 389:389
env:
SLAPD_DOMAIN: nextcloud.ci
SLAPD_ORGANIZATION: Nextcloud
SLAPD_PASSWORD: admin
SLAPD_ADDITIONAL_MODULES: memberof
steps:
- name: Checkout server
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
with:
submodules: true
- name: Checkout Talk app
if: ${{ matrix.test-suite == 'videoverification_features' }}
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
with:
repository: nextcloud/spreed
path: apps/spreed
ref: ${{ matrix.spreed-versions }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c5fc0d8281aba02c7fda07d3a70cc5371548067d # v2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, imagick, intl, json, ldap, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: none
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up production dependencies
run: composer i --no-dev
- name: Set up behat dependencies
working-directory: build/integration
run: composer i
- name: Set up Talk dependencies
if: ${{ matrix.test-suite == 'videoverification_features' }}
working-directory: apps/spreed
run: composer i --no-dev
- name: Set up Nextcloud
run: |
mkdir data
./occ maintenance:install --verbose ${{ contains(matrix.test-suite,'ldap') && '--data-dir=/dev/shm/nc_int' || '' }} --database=sqlite --database-name=nextcloud --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
./occ config:system:set hashing_default_password --value=true --type=boolean
- name: Configure caching
if: ${{ contains(matrix.test-suite,'ldap') }}
run: |
./occ config:system:set redis host --value=localhost
./occ config:system:set redis port --value=6379 --type=integer
./occ config:system:set redis timeout --value=0 --type=integer
./occ config:system:set memcache.local --value='\OC\Memcache\Redis'
./occ config:system:set memcache.distributed --value='\OC\Memcache\Redis'
- name: Run integration
working-directory: build/integration
env:
LDAP_HOST: localhost
run: bash run.sh ${{ matrix.test-suite }} no-tail-log
- name: Print logs
if: always()
run: |
cat data/nextcloud.log
docker ps -a
docker ps -aq | while read container ; do IMAGE=$(docker inspect --format='{{.Config.Image}}' $container); echo $IMAGE; docker logs $container; echo "\n\n" ; done
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, integration-sqlite]
if: always()
name: integration-sqlite-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.integration-sqlite.result != 'success' }}; then exit 1; fi
-96
View File
@@ -1,96 +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
#
# Use lint-eslint together with lint-eslint-when-unrelated to make eslint a required check for GitHub actions
# https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/troubleshooting-required-status-checks#handling-skipped-but-required-checks
name: Lint eslint
on:
pull_request:
permissions:
contents: read
concurrency:
group: lint-eslint-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '**/src/**'
- '**/appinfo/info.xml'
- 'package.json'
- 'package-lock.json'
- 'tsconfig.json'
- '.eslintrc.*'
- '.eslintignore'
- '**.js'
- '**.ts'
- '**.vue'
lint:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
name: NPM lint
steps:
- name: Checkout
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
id: versions
with:
fallbackNode: '^20'
fallbackNpm: '^9'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
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
-78
View File
@@ -1,78 +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
name: Lint php-cs
on: pull_request
permissions:
contents: read
concurrency:
group: lint-php-cs-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/lib/**'
- '**/tests/**'
- '**/vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
lint:
runs-on: ubuntu-latest
name: PHP CS fixer lint
steps:
- name: Checkout
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
- name: Set up php
uses: shivammathur/setup-php@4bd44f22a98a19e0950cbad5f31095157cc9621b # v2
with:
php-version: 8.1
coverage: none
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install dependencies
run: composer i
- name: Lint
run: composer run cs:check || ( echo 'Please run `composer run cs:fix` to format your code' && exit 1 )
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, lint]
if: always()
# This is the summary, we just avoid to rename it so that branch protection rules still match
name: php-cs
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.lint.result != 'success' }}; then exit 1; fi
-82
View File
@@ -1,82 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
name: Lint php
on:
pull_request:
permissions:
contents: read
concurrency:
group: lint-php-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/lib/**'
- '**/tests/**'
- '**/vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
lint:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
strategy:
matrix:
php-versions: [ "8.1", "8.2", "8.3" ]
name: php-lint
steps:
- name: Checkout
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@4bd44f22a98a19e0950cbad5f31095157cc9621b # v2
with:
php-version: ${{ matrix.php-versions }}
coverage: none
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Lint
run: composer run lint
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, lint]
if: always()
name: php-lint-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.lint.result != 'success' }}; then exit 1; fi
-173
View File
@@ -1,173 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Node tests
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: node-tests-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '**/__tests__/**'
- '**/__mocks__/**'
- 'apps/*/src/**'
- 'apps/*/appinfo/info.xml'
- 'core/src/**'
- 'package.json'
- 'package-lock.json'
- 'tsconfig.json'
- '**.js'
- '**.ts'
- '**.vue'
versions:
runs-on: ubuntu-latest-low
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
outputs:
nodeVersion: ${{ steps.versions.outputs.nodeVersion }}
npmVersion: ${{ steps.versions.outputs.npmVersion }}
steps:
- name: Checkout
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
id: versions
with:
fallbackNode: '^20'
fallbackNpm: '^10'
test:
runs-on: ubuntu-latest
needs: [versions, changes]
if: ${{ needs.versions.result != 'failure' && needs.changes.outputs.src != 'false' }}
env:
CYPRESS_INSTALL_BINARY: 0
PUPPETEER_SKIP_DOWNLOAD: true
steps:
- name: Checkout
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
- name: Set up node ${{ needs.versions.outputs.nodeVersion }}
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
with:
node-version: ${{ needs.versions.outputs.nodeVersion }}
- name: Set up npm ${{ needs.versions.outputs.npmVersion }}
run: npm i -g npm@"${{ needs.versions.outputs.npmVersion }}"
- name: Install dependencies & build
run: |
npm ci
npm run build --if-present
- name: Test and process coverage
run: npm run test:coverage --if-present
- name: Collect coverage
uses: codecov/codecov-action@5ecb98a3c6b747ed38dc09f787459979aebb39be # v4.3.1
with:
files: ./coverage/lcov.info
jsunit:
runs-on: ubuntu-latest
needs: [versions, changes]
if: ${{ needs.versions.result != 'failure' && needs.changes.outputs.src != 'false' }}
env:
CYPRESS_INSTALL_BINARY: 0
steps:
- name: Checkout
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
- name: Set up node ${{ needs.versions.outputs.nodeVersion }}
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
with:
node-version: ${{ needs.versions.outputs.nodeVersion }}
- name: Set up npm ${{ needs.versions.outputs.npmVersion }}
run: npm i -g npm@"${{ needs.versions.outputs.npmVersion }}"
- name: Install dependencies
run: npm ci
- name: Test
run: npm run test:jsunit
handlebars:
runs-on: ubuntu-latest
needs: [versions, changes]
if: ${{ needs.versions.result != 'failure' && needs.changes.outputs.src != 'false' }}
env:
CYPRESS_INSTALL_BINARY: 0
PUPPETEER_SKIP_DOWNLOAD: true
steps:
- name: Checkout
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
- name: Set up node ${{ needs.versions.outputs.nodeVersion }}
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
with:
node-version: ${{ needs.versions.outputs.nodeVersion }}
- name: Set up npm ${{ needs.versions.outputs.npmVersion }}
run: npm i -g npm@"${{ needs.versions.outputs.npmVersion }}"
- name: Install dependencies
run: npm ci
- name: Run compile
run: ./build/compile-handlebars-templates.sh
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, test, jsunit, handlebars]
if: always()
name: node-test-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.test.result != 'success' && needs.jsunit.result != 'success' && needs.handlebars.result != 'success' }}; then exit 1; fi
-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
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
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '**/src/**'
- '**/appinfo/info.xml'
- 'package.json'
- 'package-lock.json'
- 'tsconfig.json'
- '**.js'
- '**.ts'
- '**.vue'
build:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
name: NPM build
steps:
- name: Checkout
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3.6.0
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
id: versions
with:
fallbackNode: '^20'
fallbackNpm: '^9'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"
- name: Install dependencies & build
env:
CYPRESS_INSTALL_BINARY: 0
PUPPETEER_SKIP_DOWNLOAD: true
run: |
npm ci
npm run build --if-present
- name: Check webpack build changes
run: |
bash -c "[[ ! \"`git status --porcelain `\" ]] || (echo 'Please recompile and commit the assets, see the section \"Show changes on failure\" for details' && exit 1)"
- name: Show changes on failure
if: failure()
run: |
git status
git --no-pager diff
exit 1 # make it red to grab attention
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, build]
if: always()
# This is the summary, we just avoid to rename it so that branch protection rules still match
name: node
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.build.result != 'success' }}; then exit 1; fi
-74
View File
@@ -1,74 +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
name: Npm audit fix and compile
on:
workflow_dispatch:
schedule:
# At 2:30 on Sundays
- cron: '30 2 * * 0'
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
branches: ["main", "master", "stable29", "stable28", "stable27"]
name: npm-audit-fix-${{ matrix.branches }}
steps:
- name: Checkout
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3.6.0
with:
ref: ${{ matrix.branches }}
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
id: versions
with:
fallbackNode: '^20'
fallbackNpm: '^9'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
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
run: |
npm audit fix
- name: Run npm ci and npm run build
if: always()
env:
CYPRESS_INSTALL_BINARY: 0
PUPPETEER_SKIP_DOWNLOAD: true
run: |
npm ci
npm run build --if-present
- name: Create Pull Request
if: always()
uses: peter-evans/create-pull-request@70a41aba780001da0a30141984ae2a0c95d8704e # v5
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: "chore(deps): fix npm audit"
committer: GitHub <noreply@github.com>
author: nextcloud-command <nextcloud-command@users.noreply.github.com>
signoff: true
branch: automated/noid/${{ matrix.branches }}-fix-npm-audit
title: "[${{ matrix.branches }}] Fix npm audit"
body: |
Auto-generated fix of npm audit
labels: |
dependencies
3. to review
-125
View File
@@ -1,125 +0,0 @@
name: Object storage azure
on:
pull_request:
schedule:
- cron: "15 2 * * *"
concurrency:
group: object-storage-azure-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
azure-primary-tests:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
matrix:
php-versions: ['8.1', '8.2', '8.3']
include:
- php-versions: '8.3'
coverage: true
name: php${{ matrix.php-versions }}-azure
services:
azurite:
image: mcr.microsoft.com/azure-storage/azurite
env:
AZURITE_ACCOUNTS: nextcloud:bmV4dGNsb3Vk
ports:
- 10000:10000
options: --health-cmd="nc 127.0.0.1 10000 -z" --health-interval=1s --health-retries=30
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
steps:
- name: Checkout server
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@4bd44f22a98a19e0950cbad5f31095157cc9621b # v2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
env:
OBJECT_STORE: azure
OBJECT_STORE_KEY: nextcloud
OBJECT_STORE_SECRET: bmV4dGNsb3Vk
run: |
composer install
cp tests/redis.config.php config/
cp tests/preseed-config.php config/config.php
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
php -f tests/enable_all.php | grep -i -C9999 error && echo "Error during app setup" && exit 1 || exit 0
- name: PHPUnit
env:
OBJECT_STORE: azure
OBJECT_STORE_KEY: nextcloud
OBJECT_STORE_SECRET: bmV4dGNsb3Vk
run: composer run test -- --group PRIMARY-azure ${{ matrix.coverage && ' --coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v4.1.1
with:
files: ./clover.xml
flags: phpunit-azure
- name: Azurite logs
if: always()
run: |
docker ps -a
docker ps -aq | while read container ; do IMAGE=$(docker inspect --format='{{.Config.Image}}' $container); echo $IMAGE; docker logs $container; echo "\n\n" ; done
azure-primary-summary:
runs-on: ubuntu-latest-low
needs: [changes, azure-primary-tests]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.azure-primary-tests.result != 'success' }}; then exit 1; fi
-131
View File
@@ -1,131 +0,0 @@
name: Object storage S3
on:
pull_request:
schedule:
- cron: "15 2 * * *"
concurrency:
group: object-storage-s3-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
s3-primary-tests-minio:
runs-on: ubuntu-22.04
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
matrix:
php-versions: ['8.1', '8.2', '8.3']
include:
- php-versions: '8.3'
coverage: true
name: php${{ matrix.php-versions }}-s3
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
minio:
image: bitnami/minio
env:
MINIO_ROOT_USER: nextcloud
MINIO_ROOT_PASSWORD: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
MINIO_DEFAULT_BUCKETS: nextcloud
ports:
- "9000:9000"
steps:
- name: Checkout server
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@4bd44f22a98a19e0950cbad5f31095157cc9621b # v2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
env:
OBJECT_STORE: s3
OBJECT_STORE_KEY: nextcloud
OBJECT_STORE_SECRET: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
run: |
composer install
cp tests/redis.config.php config/
cp tests/preseed-config.php config/config.php
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
php -f tests/enable_all.php | grep -i -C9999 error && echo "Error during app setup" && exit 1 || exit 0
- name: Wait for S3
run: |
sleep 10
curl -f -m 1 --retry-connrefused --retry 10 --retry-delay 10 http://localhost:9000/minio/health/ready
- name: PHPUnit
env:
OBJECT_STORE: s3
OBJECT_STORE_KEY: nextcloud
OBJECT_STORE_SECRET: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
run: composer run test -- --group PRIMARY-s3 ${{ matrix.coverage && ' --coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v4.1.1
with:
files: ./clover.xml
flags: phpunit-s3
- name: S3 logs
if: always()
run: |
docker ps -a
docker ps -aq | while read container ; do IMAGE=$(docker inspect --format='{{.Config.Image}}' $container); echo $IMAGE; docker logs $container; echo "\n\n" ; done
s3-primary-summary:
runs-on: ubuntu-latest-low
needs: [changes,s3-primary-tests-minio]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.s3-primary-tests-minio.result != 'success' }}; then exit 1; fi
-121
View File
@@ -1,121 +0,0 @@
name: Object storage Swift
on:
pull_request:
schedule:
- cron: "15 2 * * *"
concurrency:
group: object-storage-swift-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
swift-primary-tests:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
matrix:
php-versions: ['8.1', '8.2', '8.3']
include:
- php-versions: '8.3'
coverage: true
name: php${{ matrix.php-versions }}-swift
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
swift:
image: ghcr.io/cscfi/docker-keystone-swift
ports:
- 5000:5000
- 8080:8080
steps:
- name: Checkout server
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@4bd44f22a98a19e0950cbad5f31095157cc9621b # v2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
env:
OBJECT_STORE: swift
OBJECT_STORE_SECRET: veryfast
run: |
composer install
cp tests/redis.config.php config/
cp tests/preseed-config.php config/config.php
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
php -f tests/enable_all.php | grep -i -C9999 error && echo "Error during app setup" && exit 1 || exit 0
- name: PHPUnit
env:
OBJECT_STORE: swift
OBJECT_STORE_SECRET: veryfast
run: composer run test -- --group PRIMARY-swift ${{ matrix.coverage && ' --coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v4.1.1
with:
files: ./clover.xml
flags: phpunit-swift
- name: Swift logs
if: always()
run: |
docker ps -a
docker ps -aq | while read container ; do IMAGE=$(docker inspect --format='{{.Config.Image}}' $container); echo $IMAGE; docker logs $container; echo "\n\n" ; done
swift-primary-summary:
runs-on: ubuntu-latest-low
needs: [changes,swift-primary-tests]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.swift-primary-tests.result != 'success' }}; then exit 1; fi
-33
View File
@@ -1,33 +0,0 @@
name: OpenAPI
on:
pull_request:
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@9bb56186c3b09b4f86b1c65136769dd318469633
- name: Set up php
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
extensions: xml
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Composer install
run: composer i
- name: OpenAPI checker
run: build/openapi-checker.sh
-112
View File
@@ -1,112 +0,0 @@
name: Performance testing
on:
pull_request:
concurrency:
group: performance-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
performance-testing:
runs-on: ubuntu-latest
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
strategy:
fail-fast: false
matrix:
php-versions: ['8.1']
name: performance-${{ matrix.php-versions }}
steps:
- name: Checkout server before PR
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633
with:
submodules: true
ref: ${{ github.event.pull_request.base.ref }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c5fc0d8281aba02c7fda07d3a70cc5371548067d #v2.25.2
with:
php-version: ${{ matrix.php-versions }}
extensions: mbstring, fileinfo, intl, sqlite, pdo_sqlite, zip, gd
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
run: |
mkdir data
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
php -S localhost:8080 &
- name: Apply blueprint
uses: icewind1991/blueprint@v0.1.2
with:
blueprint: tests/blueprints/basic.toml
ref: ${{ github.event.pull_request.head.ref }}
- name: Run before measurements
uses: nextcloud/profiler@6801ee10fc80f10b444388fb6ca9b36ad8a2ea83
with:
run: |
curl -s -X PROPFIND -u test:test http://localhost:8080/remote.php/dav/files/test
curl -s -u test:test http://localhost:8080/remote.php/dav/files/test/test.txt
curl -s -X PROPFIND -u test:test http://localhost:8080/remote.php/dav/files/test/many_files
curl -s -u test:test -T README.md http://localhost:8080/remote.php/dav/files/test/new_file.txt
curl -s -u test:test -X DELETE http://localhost:8080/remote.php/dav/files/test/new_file.txt
output: before.json
profiler-branch: master
- name: Apply PR
run: |
git remote add pr ${{ github.event.pull_request.head.repo.clone_url }}
git fetch pr ${{ github.event.pull_request.head.ref }}
git checkout -b pr/${{ github.event.pull_request.head.ref }}
git submodule update
./occ upgrade
- name: Run after measurements
id: compare
uses: nextcloud/profiler@6801ee10fc80f10b444388fb6ca9b36ad8a2ea83
with:
run: |
curl -s -X PROPFIND -u test:test http://localhost:8080/remote.php/dav/files/test
curl -s -u test:test http://localhost:8080/remote.php/dav/files/test/test.txt
curl -s -X PROPFIND -u test:test http://localhost:8080/remote.php/dav/files/test/many_files
curl -s -u test:test -T README.md http://localhost:8080/remote.php/dav/files/test/new_file.txt
curl -s -u test:test -X DELETE http://localhost:8080/remote.php/dav/files/test/new_file.txt
output: after.json
profiler-branch: master
compare-with: before.json
- name: Upload profiles
if: always()
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3
with:
name: profiles
path: |
before.json
after.json
- uses: actions/github-script@v7
if: failure() && steps.compare.outcome == 'failure'
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
let comment = `Possible performance regression detected\n`;
comment += `<details><summary>Show Output</summary>
\`\`\`
${{ steps.compare.outputs.compare }}
\`\`\`
</details>`;
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: comment
})
-64
View File
@@ -1,64 +0,0 @@
name: PHPUnit 32bits
on:
pull_request:
paths:
- 'version.php'
- '.github/workflows/phpunit-32bits.yml'
workflow_dispatch:
schedule:
- cron: "15 1 * * 1-6"
permissions:
contents: read
concurrency:
group: phpunit-32bits-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
phpunit-32bits:
runs-on: ubuntu-latest
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
container: shivammathur/node:latest-i386
strategy:
matrix:
php-versions: ['8.1','8.3']
steps:
- name: Checkout server
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633
with:
submodules: true
- name: Install tools
run: |
sudo apt-get update
sudo apt-get install -y ffmpeg imagemagick libmagickcore-6.q16-3-extra
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@72ae4ccbe57f82bbe08411e84e2130bd4ba1c10f #v2.25.5
with:
php-version: ${{ matrix.php-versions }}
extensions: ctype, curl, dom, fileinfo, gd, imagick, intl, json, mbstring, openssl, pdo_sqlite, posix, sqlite, xml, zip, apcu
coverage: none
ini-file: development
ini-values:
apc.enabled=on, apc.enable_cli=on, disable_functions= # https://github.com/shivammathur/setup-php/discussions/573
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
env:
DB_PORT: 4444
run: |
composer install
mkdir data
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-port=$DB_PORT --database-user=autotest --database-pass=rootpassword --admin-user admin --admin-pass admin
php -f index.php
- name: PHPUnit
run: composer run test -- --exclude-group PRIMARY-azure,PRIMARY-s3,PRIMARY-swift,Memcached,Redis,RoutingWeirdness
-144
View File
@@ -1,144 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
name: PHPUnit mariadb
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: phpunit-mariadb-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
phpunit-mariadb:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
strategy:
matrix:
php-versions: ['8.1']
mariadb-versions: ['10.3', '10.5', '10.6', '10.11']
include:
- php-versions: '8.3'
mariadb-versions: '10.6'
coverage: ${{ github.event_name != 'pull_request' }}
name: MariaDB ${{ matrix.mariadb-versions }} (PHP ${{ matrix.php-versions }}) - database tests
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
mariadb:
image: mariadb:${{ matrix.mariadb-versions }}
ports:
- 4444:3306/tcp
env:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_USER: oc_autotest
MYSQL_PASSWORD: nextcloud
MYSQL_DATABASE: oc_autotest
options: --health-cmd="mysqladmin ping" --health-interval 5s --health-timeout 2s --health-retries 5
steps:
- name: Checkout server
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@4bd44f22a98a19e0950cbad5f31095157cc9621b # v2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, mysql, pdo_mysql
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
run: composer i
- name: Enable ONLY_FULL_GROUP_BY MySQL option
run: |
echo "SET GLOBAL sql_mode=(SELECT CONCAT(@@sql_mode,',ONLY_FULL_GROUP_BY'));" | mysql -h 127.0.0.1 -P 4444 -u root -prootpassword
echo "SELECT @@sql_mode;" | mysql -h 127.0.0.1 -P 4444 -u root -prootpassword
- name: Set up Nextcloud
env:
DB_PORT: 4444
run: |
mkdir data
cp tests/redis.config.php config/
cp tests/preseed-config.php config/config.php
./occ maintenance:install --verbose --database=mysql --database-name=nextcloud --database-host=127.0.0.1 --database-port=$DB_PORT --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
php -f tests/enable_all.php | grep -i -C9999 error && echo "Error during app setup" && exit 1 || exit 0
- name: PHPUnit
run: composer run test:db ${{ matrix.coverage && ' -- --coverage-clover ./clover.db.xml' || '' }}
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v4.1.1
with:
files: ./clover.db.xml
flags: phpunit-mariadb
- name: Print logs
if: always()
run: |
cat data/nextcloud.log
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
-123
View File
@@ -1,123 +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
name: PHPUnit memcached
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: phpunit-memcached-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
phpunit-memcached:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
strategy:
matrix:
php-versions: ['8.1', '8.2', '8.3']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
name: Memcached (PHP ${{ matrix.php-versions }})
services:
memcached:
image: ghcr.io/nextcloud/continuous-integration-redis:latest
ports:
- 11212:11212/tcp
- 11212:11212/udp
steps:
- name: Checkout server
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@7fdd3ece872ec7ec4c098ae5ab7637d5e0a96067 # v2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, memcached, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
run: composer i
- name: Set up Nextcloud
run: |
mkdir data
cp tests/preseed-config.php config/config.php
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
php -f tests/enable_all.php | grep -i -C9999 error && echo "Error during app setup" && exit 1 || exit 0
- name: PHPUnit memcached tests
run: composer run test -- --group Memcache,Memcached ${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v4.1.1
with:
files: ./clover.xml
flags: phpunit-memcached
- name: Print logs
if: always()
run: |
cat data/nextcloud.log
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, phpunit-memcached]
if: always()
name: phpunit-memcached-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.phpunit-memcached.result != 'success' }}; then exit 1; fi
-144
View File
@@ -1,144 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
name: PHPUnit mysql
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: phpunit-mysql-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
phpunit-mysql:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
strategy:
matrix:
php-versions: ['8.1']
mysql-versions: ['8.0', '8.3']
include:
- mysql-versions: '8.0'
php-versions: '8.3'
coverage: ${{ github.event_name != 'pull_request' }}
name: MySQL ${{ matrix.mysql-versions }} (PHP ${{ matrix.php-versions }}) - database tests
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
mysql:
image: ghcr.io/nextcloud/continuous-integration-mysql-${{ matrix.mysql-versions }}:latest
ports:
- 4444:3306/tcp
env:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_USER: oc_autotest
MYSQL_PASSWORD: nextcloud
MYSQL_DATABASE: oc_autotest
options: --health-cmd="mysqladmin ping" --health-interval 5s --health-timeout 2s --health-retries 5
steps:
- name: Checkout server
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@4bd44f22a98a19e0950cbad5f31095157cc9621b # v2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, mysql, pdo_mysql
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
run: composer i
- name: Enable ONLY_FULL_GROUP_BY MySQL option
run: |
echo "SET GLOBAL sql_mode=(SELECT CONCAT(@@sql_mode,',ONLY_FULL_GROUP_BY'));" | mysql -h 127.0.0.1 -P 4444 -u root -prootpassword
echo "SELECT @@sql_mode;" | mysql -h 127.0.0.1 -P 4444 -u root -prootpassword
- name: Set up Nextcloud
env:
DB_PORT: 4444
run: |
mkdir data
cp tests/redis.config.php config/
cp tests/preseed-config.php config/config.php
./occ maintenance:install --verbose --database=mysql --database-name=nextcloud --database-host=127.0.0.1 --database-port=$DB_PORT --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
php -f tests/enable_all.php | grep -i -C9999 error && echo "Error during app setup" && exit 1 || exit 0
- name: PHPUnit
run: composer run test:db ${{ matrix.coverage && ' -- --coverage-clover ./clover.db.xml' || '' }}
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v4.1.1
with:
files: ./clover.db.xml
flags: phpunit-mysql
- name: Print logs
if: always()
run: |
cat data/nextcloud.log
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, phpunit-mysql]
if: always()
name: phpunit-mysql-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.phpunit-mysql.result != 'success' }}; then exit 1; fi
-127
View File
@@ -1,127 +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
# This is the testsuite running all non-database agnostic unit tests
name: PHPUnit nodb
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: phpunit-nodb-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
phpunit-nodb:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
strategy:
matrix:
php-versions: ['8.1', '8.2', '8.3']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
name: No DB unit tests (PHP ${{ matrix.php-versions }})
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
steps:
- name: Checkout server
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@7fdd3ece872ec7ec4c098ae5ab7637d5e0a96067 # v2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, imagick, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
# Required for tests that use pcntl
ini-values: disable_functions=""
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
run: composer i
- name: Set up Nextcloud
run: |
mkdir data
cp tests/redis.config.php config/
cp tests/preseed-config.php config/config.php
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
php -f tests/enable_all.php | grep -i -C9999 error && echo "Error during app setup" && exit 1 || exit 0
- name: PHPUnit nodb testsuite
run: composer run test -- --exclude-group DB,SLOWDB ${{ matrix.coverage && ' --coverage-clover ./clover.nodb.xml' || '' }}
- name: Upload nodb code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v4.1.1
with:
files: ./clover.nodb.xml
flags: phpunit-nodb
- name: Print logs
if: always()
run: |
cat data/nextcloud.log
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, phpunit-nodb]
if: always()
name: phpunit-nodb-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.phpunit-nodb.result != 'success' }}; then exit 1; fi
-141
View File
@@ -1,141 +0,0 @@
name: PHPUnit oci
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: phpunit-oci-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
phpunit-oci:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false' && ${{ github.repository_owner != 'nextcloud-gmbh' }}
strategy:
matrix:
oracle-versions: ['11']
php-versions: ['8.1', '8.2', '8.3']
include:
- php-versions: '8.3'
coverage: ${{ github.event_name != 'pull_request' }}
name: Oracle ${{ matrix.oracle-versions }} (PHP ${{ matrix.php-versions }}) - database tests
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
oracle:
image: ghcr.io/gvenzl/oracle-xe:${{ matrix.oracle-versions }}
# Provide passwords and other environment variables to container
env:
ORACLE_RANDOM_PASSWORD: true
APP_USER: oc_autotest
APP_USER_PASSWORD: nextcloud
# Forward Oracle port
ports:
- 4444:1521/tcp
# Provide healthcheck script options for startup
options: >-
--health-cmd healthcheck.sh
--health-interval 10s
--health-timeout 5s
--health-retries 10
steps:
- name: Checkout server
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@4bd44f22a98a19e0950cbad5f31095157cc9621b # v2
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
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=oci --database-name=XE --database-host=127.0.0.1 --database-port=$DB_PORT --database-user=oc_autotest --database-pass=nextcloud --admin-user admin --admin-pass admin
php -f tests/enable_all.php | grep -i -C9999 error && echo "Error during app setup" && exit 1 || exit 0
- name: PHPUnit
run: composer run test:db ${{ matrix.coverage && ' -- --coverage-clover ./clover.db.xml' || '' }}
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v4.1.1
with:
files: ./clover.db.xml
flags: phpunit-oci
- name: Run repair steps
run: |
./occ maintenance:repair --include-expensive
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, phpunit-oci]
if: always()
name: phpunit-oci-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.phpunit-oci.result != 'success' }}; then exit 1; fi
-143
View File
@@ -1,143 +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
name: PHPUnit pgsql
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: phpunit-pgsql-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
phpunit-pgsql:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
strategy:
matrix:
php-versions: ['8.1']
# To keep the matrix smaller we ignore PostgreSQL '11', '13', '14' as we already test 10 and 15 as lower and upper bound
postgres-versions: ['10', '15', '16']
include:
- php-versions: '8.3'
postgres-versions: '15'
coverage: ${{ github.event_name != 'pull_request' }}
name: PostgreSQL ${{ matrix.postgres-versions }} (PHP ${{ matrix.php-versions }}) - database tests
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
postgres:
image: ghcr.io/nextcloud/continuous-integration-postgres-${{ matrix.postgres-versions }}:latest
ports:
- 4444:5432/tcp
env:
POSTGRES_USER: root
POSTGRES_PASSWORD: rootpassword
POSTGRES_DB: nextcloud
options: --mount type=tmpfs,destination=/var/lib/postgresql/data --health-cmd pg_isready --health-interval 5s --health-timeout 2s --health-retries 5
steps:
- name: Checkout server
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@4bd44f22a98a19e0950cbad5f31095157cc9621b # v2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, pgsql, pdo_pgsql
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
run: composer i
- name: Set up Nextcloud
env:
DB_PORT: 4444
run: |
mkdir data
cp tests/redis.config.php config/
cp tests/preseed-config.php config/config.php
./occ maintenance:install --verbose --database=pgsql --database-name=nextcloud --database-host=127.0.0.1 --database-port=$DB_PORT --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
php -f tests/enable_all.php | grep -i -C9999 error && echo "Error during app setup" && exit 1 || exit 0
- name: PHPUnit database tests
run: composer run test:db ${{ matrix.coverage && ' -- --coverage-clover ./clover.db.xml' || '' }}
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v4.1.1
with:
files: ./clover.db.xml
flags: phpunit-postgres
- name: Run repair steps
run: |
./occ maintenance:repair --include-expensive
- name: Print logs
if: always()
run: |
cat data/nextcloud.log
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, phpunit-pgsql]
if: always()
name: phpunit-pgsql-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.phpunit-pgsql.result != 'success' }}; then exit 1; fi
-127
View File
@@ -1,127 +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
name: PHPUnit sqlite
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: phpunit-sqlite-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
phpunit-sqlite:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
strategy:
matrix:
php-versions: ['8.1', '8.2', '8.3']
include:
- php-versions: '8.1'
coverage: ${{ github.event_name != 'pull_request' }}
name: SQLite (PHP ${{ matrix.php-versions }})
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
steps:
- name: Checkout server
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633
with:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@7fdd3ece872ec7ec4c098ae5ab7637d5e0a96067 # v2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
run: composer i
- name: Set up Nextcloud
run: |
mkdir data
cp tests/redis.config.php config/
cp tests/preseed-config.php config/config.php
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
php -f tests/enable_all.php | grep -i -C9999 error && echo "Error during app setup" && exit 1 || exit 0
- name: Nextcloud debug information
run: ./occ app:list && echo "======= System config =======" && ./occ config:list system
- name: PHPUnit database tests
run: composer run test:db ${{ matrix.coverage && ' -- --coverage-clover ./clover.db.xml' || '' }}
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@v4.1.1
with:
files: ./clover.db.xml
flags: phpunit-sqlite
- name: Print logs
if: always()
run: |
cat data/nextcloud.log
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, phpunit-sqlite]
if: always()
name: phpunit-sqlite-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.phpunit-sqlite.result != 'success' }}; then exit 1; fi
-41
View File
@@ -1,41 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
# SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-FileCopyrightText: 2023 Marcel Klehr <mklehr@gmx.net>
# SPDX-FileCopyrightText: 2023 Joas Schilling <213943+nickvergessen@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Daniel Kesselberg <mail@danielkesselberg.de>
# SPDX-FileCopyrightText: 2023 Florian Steffens <florian.steffens@nextcloud.com>
# SPDX-License-Identifier: MIT
name: 'Ask for feedback on PRs'
on:
schedule:
- cron: '30 1 * * *'
jobs:
pr-feedback:
runs-on: ubuntu-latest
steps:
- name: The get-github-handles-from-website action
uses: marcelklehr/get-github-handles-from-website-action@a739600f6b91da4957f51db0792697afbb2f143c # v1.0.0
id: scrape
with:
website: 'https://nextcloud.com/team/'
- uses: marcelklehr/pr-feedback-action@1883b38a033fb16f576875e0cf45f98b857655c4
with:
feedback-message: |
Hello there,
Thank you so much for taking the time and effort to create a pull request to our Nextcloud project.
We hope that the review process is going smooth and is helpful for you. We want to ensure your pull request is reviewed to your satisfaction. If you have a moment, our community management team would very much appreciate your feedback on your experience with this PR review process.
Your feedback is valuable to us as we continuously strive to improve our community developer experience. Please take a moment to complete our short survey by clicking on the following link: https://cloud.nextcloud.com/apps/forms/s/i9Ago4EQRZ7TWxjfmeEpPkf6
Thank you for contributing to Nextcloud and we hope to hear from you soon!
days-before-feedback: 14
start-date: "2024-04-30"
exempt-authors: "${{ steps.scrape.outputs.users }},nextcloud-command,nextcloud-android-bot,skjnldsv,datenangebot"
exempt-bots: true
-33
View File
@@ -1,33 +0,0 @@
name: Close stale issues
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * *"
jobs:
stale:
runs-on: ubuntu-latest
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
permissions:
issues: write
steps:
- uses: actions/stale@v9
with:
repo-token: ${{ secrets.COMMAND_BOT_PAT }}
stale-issue-message: >
This issue has been automatically marked as stale because it has not had
recent activity and seems to be missing some essential information.
It will be closed if no further activity occurs. Thank you
for your contributions.
stale-issue-label: 'stale'
only-labels: 'needs info'
labels-to-remove-when-unstale: 'needs info,stale'
exempt-issue-labels: '1. to develop,2. developing,3. to review,4. to release,security'
days-before-stale: 30
days-before-close: 14
# debug-only: true
-101
View File
@@ -1,101 +0,0 @@
name: Psalm static code analysis
on:
pull_request:
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.repository_owner != 'nextcloud-gmbh' }}
steps:
- name: Checkout
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633
with:
submodules: true
- name: Set up php
uses: shivammathur/setup-php@v2
with:
php-version: '8.1'
extensions: apcu,ctype,curl,dom,fileinfo,ftp,gd,intl,json,ldap,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Composer install
run: composer i
- name: Psalm
run: composer run psalm:ci -- --monochrome --no-progress --output-format=github --update-baseline --report=results.sarif
- name: Show potential changes in Psalm baseline
if: always()
run: git diff -- . ':!lib/composer'
- name: Upload Analysis results to GitHub
if: always()
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: results.sarif
static-code-analysis-security:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633
with:
submodules: true
- name: Set up php
uses: shivammathur/setup-php@master
with:
php-version: '8.1'
extensions: ctype,curl,dom,fileinfo,ftp,gd,intl,json,ldap,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
- name: Composer install
run: composer i
- name: Psalm taint analysis
run: composer run psalm:ci -- --monochrome --no-progress --output-format=github --report=results.sarif --taint-analysis
- name: Upload Security Analysis results to GitHub
if: always()
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: results.sarif
static-code-analysis-ocp:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633
with:
submodules: true
- name: Set up php
uses: shivammathur/setup-php@v2
with:
php-version: '8.1'
extensions: ctype,curl,dom,fileinfo,gd,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Composer install
run: composer i
- name: Psalm
run: composer run psalm:ci -- -c psalm-ocp.xml --monochrome --no-progress --output-format=github --update-baseline
- name: Show potential changes in Psalm baseline
if: always()
run: git diff -- . ':!lib/composer'
@@ -1,43 +0,0 @@
name: Update CA certificate bundle
on:
workflow_dispatch:
schedule:
- cron: "5 2 * * *"
jobs:
update-ca-certificate-bundle:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
branches: ["master", "stable29", "stable28", "stable27", "stable26", "stable25", "stable24", "stable23", "stable22"]
name: update-ca-certificate-bundle-${{ matrix.branches }}
steps:
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633
with:
ref: ${{ matrix.branches }}
submodules: true
- name: Download CA certificate bundle from curl
run: curl --etag-compare build/ca-bundle-etag.txt --etag-save build/ca-bundle-etag.txt --output resources/config/ca-bundle.crt https://curl.se/ca/cacert.pem
- name: Create Pull Request
uses: peter-evans/create-pull-request@70a41aba780001da0a30141984ae2a0c95d8704e
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,46 +0,0 @@
name: Update code signing revocation list
on:
workflow_dispatch:
schedule:
- cron: "5 2 * * *"
jobs:
update-code-signing-crl:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
branches: ["master", "stable28", "stable27", "stable26", "stable25", "stable24", "stable23", "stable22"]
name: update-code-signing-crl-${{ matrix.branches }}
steps:
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633
with:
ref: ${{ matrix.branches }}
submodules: true
- name: Download CRL file from Appstore repository
run: curl --output resources/codesigning/root.crl https://raw.githubusercontent.com/nextcloud/appstore/master/nextcloudappstore/certificate/nextcloud.crl
- name: Verify CRL is from CRT
run: openssl crl -verify -in resources/codesigning/root.crl -CAfile resources/codesigning/root.crt -noout
- name: Create Pull Request
uses: peter-evans/create-pull-request@70a41aba780001da0a30141984ae2a0c95d8704e
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,67 +0,0 @@
name: Update Psalm baseline
on:
workflow_dispatch:
schedule:
- cron: "5 2 * * *"
jobs:
update-psalm-baseline:
runs-on: ubuntu-latest
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
strategy:
fail-fast: false
matrix:
branches: ["master", "stable29", "stable28", "stable27"]
name: update-psalm-baseline-${{ matrix.branches }}
steps:
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633
with:
ref: ${{ matrix.branches }}
submodules: true
- name: Set up php
uses: shivammathur/setup-php@v2
with:
php-version: '8.1'
extensions: apcu,ctype,curl,dom,fileinfo,ftp,gd,intl,json,ldap,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Composer install
run: composer install
- name: Psalm
run: composer run psalm:ci -- --monochrome --no-progress --output-format=text --update-baseline
continue-on-error: true
- name: Psalm OCP
run: composer run psalm:ci -- -c psalm-ocp.xml --monochrome --no-progress --output-format=github --update-baseline
continue-on-error: true
- name: Reset composer
run: |
git clean -f lib/composer
git checkout composer.json composer.lock lib/composer
- name: Create Pull Request
uses: peter-evans/create-pull-request@70a41aba780001da0a30141984ae2a0c95d8704e
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: "chore(tests): Update psalm baseline"
committer: GitHub <noreply@github.com>
author: nextcloud-command <nextcloud-command@users.noreply.github.com>
signoff: true
branch: automated/noid/${{ matrix.branches }}-update-psalm-baseline
title: "[${{ matrix.branches }}] Update psalm-baseline.xml"
body: |
Auto-generated update psalm-baseline.xml with fixed psalm warnings
labels: |
automated pr
3. to review
team-reviewers: server-backend
+3 -28
View File
@@ -7,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
@@ -24,7 +21,6 @@
!/apps/sharebymail
!/apps/encryption
!/apps/files_external
!/apps/files_reminders
!/apps/files_sharing
!/apps/files_trashbin
!/apps/files_versions
@@ -32,15 +28,12 @@
!/apps/user_ldap
!/apps/oauth2
!/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/workflowengine
/apps/files_external/3rdparty/irodsphp/PHPUnitTest
/apps/files_external/3rdparty/irodsphp/web
@@ -73,8 +66,6 @@ CVS/*
.svn/*
RCS/*
*.backup*
.php_cs.cache
.php-cs-fixer.cache
# kdevelop
.kdev
@@ -97,7 +88,6 @@ nbproject
# vscode
.vscode
*.code-workspace
# geany
*.geany
@@ -129,10 +119,9 @@ nbproject
/build/bin
/build/lib/
/build/jsdocs/
/build/integration/output/
/build/integration/phpserver.log
/npm-debug.log
/PhantomJS_*
/build/package-lock.json
# puphpet
puphpet
@@ -143,7 +132,6 @@ Vagrantfile
# Tests - auto-generated files
/data-autotest
/tests/.phpunit.result.cache
/tests/coverage*
/tests/css
/tests/karma-coverage
@@ -157,20 +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
+40 -69
View File
@@ -7,55 +7,45 @@
<IfModule mod_proxy_fcgi.c>
SetEnvIfNoCase Authorization "(.+)" HTTP_AUTHORIZATION=$1
</IfModule>
<IfModule mod_lsapi.c>
SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1
RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION
</IfModule>
</IfModule>
<IfModule mod_env.c>
# Add security and privacy related headers
# Avoid doubled headers by unsetting headers in "onsuccess" table,
# then add headers to "always" table: https://github.com/nextcloud/server/pull/19002
Header onsuccess unset Referrer-Policy
Header always set Referrer-Policy "no-referrer"
Header onsuccess unset X-Content-Type-Options
Header always set X-Content-Type-Options "nosniff"
Header onsuccess unset X-Frame-Options
Header always set X-Frame-Options "SAMEORIGIN"
Header onsuccess unset X-Permitted-Cross-Domain-Policies
Header always set X-Permitted-Cross-Domain-Policies "none"
Header onsuccess unset X-Robots-Tag
Header always set X-Robots-Tag "noindex, nofollow"
Header onsuccess unset X-XSS-Protection
Header always set X-XSS-Protection "1; mode=block"
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>
# Add cache control for static resources
<FilesMatch "\.(css|js|mjs|svg|gif|png|jpg|ico|wasm|tflite)$">
<If "%{QUERY_STRING} =~ /(^|&)v=/">
Header set Cache-Control "max-age=15778463, immutable"
</If>
<Else>
Header set Cache-Control "max-age=15778463"
</Else>
<FilesMatch "\.(css|js|svg|gif)$">
Header set Cache-Control "max-age=15778463"
</FilesMatch>
# Let browsers cache WOFF files for a week
<FilesMatch "\.woff2?$">
<FilesMatch "\.woff$">
Header set Cache-Control "max-age=604800"
</FilesMatch>
</IfModule>
<IfModule mod_php.c>
<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_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
@@ -63,48 +53,29 @@
SetEnv htaccessWorking true
</IfModule>
</IfModule>
<IfModule mod_mime.c>
AddType image/svg+xml svg svgz
AddType application/wasm wasm
AddEncoding gzip svgz
# Serve ESM javascript files (.mjs) with correct mime type
AddType text/javascript js mjs
</IfModule>
<IfModule mod_dir.c>
DirectoryIndex index.php index.html
</IfModule>
<IfModule pagespeed_module>
ModPagespeed Off
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} DavClnt
RewriteRule ^$ /remote.php/webdav/ [L,R=302]
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]
RewriteRule ^\.well-known/(?!acme-challenge|pki-validation) /index.php [QSA,L]
RewriteRule ^ocm-provider/?$ index.php [QSA,L]
RewriteRule ^(?:\.(?!well-known)|autotest|occ|issue|indie|db_|console).* - [R=404,L]
RewriteCond %{REQUEST_URI} !^/\.well-known/(acme-challenge|pki-validation)/.*
RewriteRule ^(?:\.|autotest|occ|issue|indie|db_|console).* - [R=404,L]
</IfModule>
# Clients like xDavv5 on Android, or Cyberduck, use chunked requests.
# When FastCGI or FPM is used with apache, requests arrive to Nextcloud without any content.
# This leads to the creation of empty files.
# The following directive will force the problematic requests to be buffered before being forwarded to Nextcloud.
# This way, the "Transfer-Encoding" header is removed, the "Content-Length" header is set, and the request content is proxied to Nextcloud.
# Here are more information about the issue:
# - https://docs.cyberduck.io/mountainduck/issues/fastcgi/
# - https://docs.nextcloud.com/server/latest/admin_manual/issues/general_troubleshooting.html#troubleshooting-webdav
<IfModule mod_setenvif.c>
SetEnvIf Transfer-Encoding "chunked" proxy-sendcl=1
<IfModule mod_mime.c>
AddType image/svg+xml svg svgz
AddEncoding gzip svgz
</IfModule>
<IfModule mod_dir.c>
DirectoryIndex index.php index.html
</IfModule>
AddDefaultCharset utf-8
Options -Indexes
<IfModule pagespeed_module>
ModPagespeed Off
</IfModule>
+4 -15
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>
@@ -321,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>
@@ -341,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>
@@ -360,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>
@@ -384,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>
@@ -411,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>
-1
View File
@@ -1 +0,0 @@
**/*.spec.js
-38
View File
@@ -1,38 +0,0 @@
<?php
declare(strict_types=1);
require_once './vendor-bin/cs-fixer/vendor/autoload.php';
use Nextcloud\CodingStandard\Config;
$config = new Config();
$config
->getFinder()
->ignoreVCSIgnored(true)
->exclude('config')
->exclude('data')
->notPath('3rdparty')
->notPath('build/integration/vendor')
->notPath('build/lib')
->notPath('build/node_modules')
->notPath('build/stubs')
->notPath('composer')
->notPath('node_modules')
->notPath('vendor')
->in('apps')
->in(__DIR__);
// Ignore additional app directories
$rootDir = new \DirectoryIterator(__DIR__);
foreach ($rootDir as $node) {
if (str_starts_with($node->getFilename(), 'apps')) {
$return = shell_exec('git check-ignore ' . escapeshellarg($node->getFilename() . '/'));
if ($return !== null) {
$config->getFinder()->exclude($node->getFilename());
}
}
}
return $config;
-17
View File
@@ -1,17 +0,0 @@
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
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
@@ -1,32 +0,0 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: nextcloud
Upstream-Contact: Nextcloud <info@nextcloud.com>
Source: https://github.com/nextcloud/server
Files: lib/l10n/*.js lib/l10n/*.json core/l10n/*.js core/l10n/*.json apps/admin_audit/l10n/*.js apps/admin_audit/l10n/*.json apps/comments/l10n/*.js apps/comments/l10n/*.json apps/dav/l10n/*.js apps/dav/l10n/*.json apps/encryption/l10n/*.js apps/encryption/l10n/*.json apps/federatedfilesharing/l10n/*.js apps/federatedfilesharing/l10n/*.json apps/federation/l10n/*.js apps/federation/l10n/*.json apps/files/l10n/*.js apps/files/l10n/*.json apps/files_external/l10n/*.js apps/files_external/l10n/*.json apps/files_sharing/l10n/*.js apps/files_sharing/l10n/*.json apps/files_trashbin/l10n/*.js apps/files_trashbin/l10n/*.json apps/files_versions/l10n/*.js apps/files_versions/l10n/*.json apps/provisioning_api/l10n/*.js apps/provisioning_api/l10n/*.json apps/settings/l10n/*.js apps/settings/l10n/*.json apps/systemtags/l10n/*.js apps/systemtags/l10n/*.json apps/testing/l10n/*.js apps/testing/l10n/*.json apps/updatenotification/l10n/*.js apps/updatenotification/l10n/*.json apps/user_ldap/l10n/*.js apps/user_ldap/l10n/*.json
Copyright: 2016 ownCloud, Inc., 2016-2024 Nextcloud translators
License: AGPL-3.0-only OR AGPL-3.0-or-later
Files: build/psalm-baseline-ocp.xml build/psalm-baseline.xml build/stubs/xsl.php build/stubs/gd.php build/stubs/imagick.php build/stubs/intl.php build/stubs/IntlChar.php build/stubs/ldap.php build/stubs/memcached.php build/stubs/redis.php build/stubs/redis_cluster.php build/stubs/sftp.php build/stubs/ssh2.php build/stubs/apcu.php
Copyright: 2020 Nextcloud GmbH and Nextcloud contributors
License: AGPL-3.0-or-later
Files: build/stubs/pcntl.php build/stubs/zip.php
Copyright: 2022 JetBrains
License: Apache-2.0
Files: build/stubs/ftp.php
Copyright: 2022 Nextcloud GmbH and Nextcloud contributors
License: AGPL-3.0-or-later
Files: build/stubs/app_api.php build/stubs/SensitiveParameter.phpstub build/stubs/psr_container.php
Copyright: 2023 Nextcloud GmbH and Nextcloud contributors
License: AGPL-3.0-or-later
Files: apps/cloud_federation_api/l10n/*.js apps/cloud_federation_api/l10n/*.json apps/contactsinteraction/l10n/*.js apps/contactsinteraction/l10n/*.json apps/dashboard/l10n/*.js apps/dashboard/l10n/*.json apps/files_reminders/l10n/*.js apps/files_reminders/l10n/*.json apps/lookup_server_connector/l10n/*.js apps/lookup_server_connector/l10n/*.json apps/oauth2 apps/sharebymail/l10n/*.js apps/oauth2 apps/sharebymail/l10n/*.json apps/theming/l10n/*.js apps/theming/l10n/*.json apps/twofactor_backupcodes/l10n/*.js apps/twofactor_backupcodes/l10n/*.json apps/user_status/l10n/*.js apps/user_status/l10n/*.json apps/weather_status/l10n/*.js apps/weather_status/l10n/*.json apps/workflowengine/l10n/*.js apps/workflowengine/l10n/*.json
Copyright: 2016-2024 Nextcloud translators
License: AGPL-3.0-or-later
Files: .gitattributes composer.json composer.lock .github/CODEOWNERS __tests__/tsconfig.json tsconfig.json build/integration/composer.* build/integration/data/*.png
Copyright: 2011-2016 ownCloud, Inc., 2016-2024 Nextcloud GmbH and Nextcloud contributors
License: AGPL-3.0-only OR AGPL-3.0-or-later
-7
View File
@@ -1,13 +1,6 @@
before_commands:
- 'git submodule update --init --recursive'
build:
nodes:
analysis:
tests:
override:
- php-scrutinizer-run
checks:
php:
excluded_dependencies:
+100 -148
View File
@@ -1,183 +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: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:workflowengine]
[nextcloud.federation]
file_filter = translationfiles/<lang>/federation.po
source_file = translationfiles/templates/federation.pot
source_lang = en
type = PO
[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
+3
View File
@@ -1,3 +1,6 @@
upload_max_filesize=511M
post_max_size=511M
memory_limit=512M
mbstring.func_overload=0
always_populate_raw_post_data=-1
default_charset='UTF-8'
+53 -335
View File
@@ -1,342 +1,177 @@
<!--
- SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
- SPDX-FileCopyrightText: 2016 ownCloud, Inc.
- SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Authors
Nextcloud is written by:
- 1 Man Projects <reed@1manprojects.de>
- AW-UC <git@a-wesemann.de>
- Aaron Ball <nullspoon@oper.io>
- Aaron Wood <aaronjwood@gmail.com>
- Abijeet <abijeetpatro@gmail.com>
- Achim Königs <garfonso@tratschtante.de>
- Adam Williamson <awilliam@redhat.com>
- Administrator "Administrator@WINDOWS-2012"
- Adrian Brzezinski <adrian.brzezinski@eo.pl>
- Akhil <akhil.potukuchi@gmail.com>
- Akhil <akhil@e.email>
- Akhil Potukuchi <akhil.potukuchi@gmail.com>
- Alan Meeson <alan@carefullycalculated.co.uk>
- Aldo "xoen" Giambelluca <xoen@xoen.org>
- Alecks Gates <alecks.g@gmail.com>
- Alejandro Varela <epma01@gmail.com>
- Alex Harpin <development@landsofshadow.co.uk>
- Alex Weirig <alex.weirig@technolink.lu>
- Alexander Bergolth <leo@strike.wu.ac.at>
- Alexander F <32201363+alx-tuilmenau@users.noreply.github.com>
- Allan Nordhøy <epost@anotheragency.no>
- Anderson Luiz Alves <alacn1@gmail.com>
- Andreas Fischer <bantu@owncloud.com>
- Andreas Pflug <dev@admin4.org>
- Andrew Brown <andrew@casabrown.com>
- Andy Xheli <axheli@axtsolutions.com>
- Anna Larch <anna@nextcloud.com>
- ArcticFall <23174635+ArcticFall@users.noreply.github.com>
- Andrius <andrius.kulbis@ktu.lt>
- André Gaul <gaul@web-yard.de>
- Ardinis <Ardinis@users.noreply.github.com>
- Ari Selseng <ari@selseng.net>
- Arne Hamann <kontakt+github@arne.email>
- Artem Kochnev <MrJeos@gmail.com>
- Artem Sidorenko <artem@posteo.de>
- Arthur Schiwon <blizzz@arthur-schiwon.de>
- Artur Neumann <artur@jankaritech.com>
- Artur Neumann <info@individual-it.net>
- Ashod Nakashian <ashod.nakashian@collabora.co.uk>
- Asier Iturralde Sarasola <asier.iturralde@gmail.com>
- Axel Helmert <axel.helmert@luka.de>
- Azul <azul@riseup.net>
- Bart Visscher <bartv@thisnet.nl>
- Bartek Przybylski <bart.p.pl@gmail.com>
- Bastien Durel <bastien@durel.org>
- Bastien Ho <bastienho@urbancube.fr>
- Benjamin Diele <benjamin@diele.be>
- Benjamin Liles <benliles@arch.tamu.edu>
- Bennet Becker <bbecker@pks.mpg.de>
- Bennet Becker <dev@bennet.cc>
- Bernard Spil <Sp1l@users.noreply.github.com>
- Bernd Rederlechner <Bernd.Rederlechner@t-systems.com>
- Bernd Stellwag <burned@zerties.org>
- Bernhard Ostertag <bernieo.code@gmx.de>
- Bernhard Posselt <dev@bernhard-posselt.com>
- Bernhard Reiter <ockham@raz.or.at>
- Bill McGonigle <bill-github.com@bfccomputing.com>
- Birk Borkason <daniel.niccoli@gmail.com>
- Bjoern Schiessle <bjoern@schiessle.org>
- Björn Schießle <bjoern@schiessle.org>
- Bjørn Forsman <bjorn.forsman@gmail.com>
- Blaok <i@blaok.me>
- Boris Rybalkin <ribalkin@gmail.com>
- Borjan Tchakaloff <borjan@tchakaloff.fr>
- Brad Rubenstein <brad@wbr.tech>
- Brandon Kirsch <brandonkirsch@github.com>
- Branko Kokanovic <branko@kokanovic.org>
- Brent Bloxam <brent.bloxam@gmail.com>
- Brice Maron <brice@bmaron.net>
- CRA Yoshihito Nakatani <yoshihito.nakatani@craftsman-software.com>
- Carl Csaposs <carl@csaposs.com>
- Carl Schwan <carl@carlschwan.eu>
- Byron Marohn <combustible@live.com>
- Carla Schroder <carla@owncloud.com>
- Carlos Cerrillo <ccerrillo@gmail.com>
- Carlos Ferreira <carlos@reendex.com>
- Carsten Wiedmann <carsten_sttgt@gmx.de>
- Chih-Hsuan Yen <yan12125@gmail.com>
- Christian <16852529+cviereck@users.noreply.github.com>
- Carlos Damken <carlos@damken.com>
- Christian Berendt <berendt@b1-systems.de>
- Christian Jürges <christian@eqipe.ch>
- Christian Kampka <christian@kampka.net>
- Christian Weiske <cweiske@cweiske.de>
- Christoph Schaefer "christophł@wolkesicher.de"
- Christoph Seitz <christoph.seitz@posteo.de>
- Christoph Wickert <cwickert@suse.de>
- Christoph Wurst <christoph@winzerhof-wurst.at>
- Christoph Wurst <christoph@owncloud.com>
- Christopher Bartz <bartz@dkrz.de>
- Christopher Ng <chrng8@gmail.com>
- Christopher Schäpers <kondou@ts.unde.re>
- Christopher T. Johnson <ctjctj@gmail.com>
- Clark Tomlinson <fallen013@gmail.com>
- Claus-Justus Heine <himself@claus-justus-heine.de>
- Clement Wong <git@clement.hk>
- Cornelius Kölbel <cornelius.koelbel@netknights.it>
- Cyrille Bollu <cyrpub@bollu.be>
- Cédric Neukom <github@webguy.ch>
- Côme Chilliet <91878298+come-nc@users.noreply.github.com>
- Côme Chilliet <come.chilliet@nextcloud.com>
- Damjan Georgievski <gdamjan@gmail.com>
- Dan Callahan <dan.callahan@gmail.com>
- Daniel <mail@danielkesselberg.de>
- Dan Bartram <daneybartram@gmail.com>
- Daniel Calviño Sánchez <danxuliu@gmail.com>
- Daniel Hansson <daniel@techandme.se>
- Daniel Jagszent <daniel@jagszent.de>
- Daniel Kesselberg <mail@danielkesselberg.de>
- Daniel Rudolf <github.com@daniel-rudolf.de>
- Daniel Schneider <daniel@schneidoa.de>
- Daniel Teichmann <daniel.teichmann@das-netzwerkteam.de>
- Dariusz Olszewski <starypatyk@users.noreply.github.com>
- David <37280718+yeyulantu@users.noreply.github.com>
- Daniel Molkentin <daniel@molkentin.de>
- Daniel Tosello <tosello.daniel@gmail.com>
- David Prévot <taffit@debian.org>
- David Toledo <dtoledo@solidgear.es>
- Denis Mosolov <denismosolov@gmail.com>
- Derek <derek.kelly27@gmail.com>
- Dominik Schmidt <dev@dominik-schmidt.de>
- Donquixote <marjunebatac@gmail.com>
- Dries Mys <dries.mys@my-dreams.be>
- EWouters <6179932+EWouters@users.noreply.github.com>
- Elijah Martin-Merrill <elijah@nyp-itsours.com>
- Ember 'n0emis' Keske <git@n0emis.eu>
- Eric Masseran <rico.masseran@gmail.com>
- Erik van Velzen <erik@evanv.nl>
- Evgeny Golyshev <eugulixes@gmail.com>
- Fabian Henze <flyser42@gmx.de>
- Fabrizio Steiner <fabrizio.steiner@gmail.com>
- Felix A. Epp <work@felixepp.de>
- Felix Epp <work@felixepp.de>
- Felix Heidecke <felix@heidecke.me>
- Felix Moeller <mail@felixmoeller.de>
- Felix Nieuwenhuizen <felix@tdlrali.com>
- Felix Nüsse <Felix.nuesse@t-online.de>
- Felix Rupp <github@felixrupp.com>
- Ferdinand Thiessen <opensource@fthiessen.de>
- Ferdinand Thiessen <rpm@fthiessen.de>
- Filis Futsarov <filisko@users.noreply.github.com>
- Florent <florent@coppint.com>
- Florian Schunk <florian.schunk@rwth-aachen.de>
- Florin Peter <github@florin-peter.de>
- Frank Isemann <frank@isemann.name>
- Frank Karlitschek <frank@karlitschek.de>
- François Freitag <mail@franek.fr>
- François Kubler <francois@kubler.org>
- François Ménabé <francois.menabe@gmail.com>
- Frederic Werner <frederic-github@werner-net.work>
- Frédéric Fortier <frederic.fortier@oronospolytechnique.com>
- Gary Kim <gary@garykim.dev>
- Gadzy <dev@gadzy.fr>
- Georg Ehrke <oc.list@georgehrke.com>
- Git'Fellow <12234510+solracsf@users.noreply.github.com>
- Git'Fellow <carlos@reendex.com>
- Glandos <bugs-github@antipoul.fr>
- GrayFix <grayfix@gmail.com>
- Greta Doci <gretadoci@gmail.com>
- GretaD <gretadoci@gmail.com>
- Guillaume COMPAGNON <gcompagnon@outlook.com>
- Guillaume Colson <guillaume.colson@univ-lorraine.fr>
- Guillaume Virlet <github@virlet.org>
- Hasso Tepper <hasso@zone.ee>
- Hemanth Kumar Veeranki <hems.india1997@gmail.com>
- Hendrik Leppelsack <hendrik@leppelsack.de>
- Hinrich Mahler <22366557+Bibo-Joshi@users.noreply.github.com>
- Holger Hees <holger.hees@gmail.com>
- HouraisanNEET <HouraisanNEET@users.noreply.github.com>
- Ilja Neumann <ineumann@owncloud.com>
- Ilya Apasov <apasov@users.noreply.github.com>
- Immanuel Pasanec <immanuel.pasanec@compaso.de>
- Individual IT Services <info@individual-it.net>
- Iscle <albertiscle9@gmail.com>
- J0WI <J0WI@users.noreply.github.com>
- Jaakko Salo <jaakkos@gmail.com>
- Jacob Neplokh <me@jacobneplokh.com>
- Jakob Sack <mail@jakobsack.de>
- Jakub Onderka <ahoj@jakubonderka.cz>
- James Guo <i@ze3kr.com>
- Jan C. Borchardt <hey@jancborchardt.net>
- Jan Messer <jan@mtec-studios.ch>
- Jan-Christoph Borchardt <hey@jancborchardt.net>
- Jan-Philipp Litza <jpl@plutex.de>
- Jan-Philipp Litza <jplitza@users.noreply.github.com>
- JanBartels <j.bartels@arcor.de>
- Jarkko Lehtoranta <devel@jlranta.com>
- Jasper Weyne <jasperweyne@gmail.com>
- Jean-Louis Dupond <jean-louis@dupond.be>
- Jens-Christian Fischer <jens-christian.fischer@switch.ch>
- Jesús Macias <jmacias@solidgear.es>
- Joachim Bauch <bauch@struktur.de>
- Joachim Sokolowski <github@sokolowski.org>
- Joas Schilling <coding@schilljs.com>
- Joel S <joel.devbox@protonmail.com>
- Johan Björk <johanimon@gmail.com>
- Johannes Ernst <jernst@indiecomputing.com>
- Johannes Leuker <j.leuker@hosting.de>
- Johannes Merkel <mail@johannesgge.de>
- Johannes Riedel <joeried@users.noreply.github.com>
- Johannes Schlichenmaier <johannes@schlichenmaier.info>
- Johannes Willnecker <johannes@willnecker.com>
- John Molakvoæ <skjnldsv@protonmail.com>
- Jonas <jonas@freesources.org>
- Jonas Heinrich <heinrich@synyx.de>
- Jonas Meurer <jonas@freesources.org>
- Jonas Rittershofer <jotoeri@users.noreply.github.com>
- John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
- John Molakvoæ <skjnldsv@users.noreply.github.com>
- Jonny007-MKD <1-23-4-5@web.de>
- Jos Poortvliet <jos@opensuse.org>
- Jose Quinteiro <github@quinteiro.org>
- Josh Richards <josh.t.richards@gmail.com>
- Juan Pablo Villafañez <jvillafanez@solidgear.es>
- Juan Pablo Villafáñez <jvillafanez@solidgear.es>
- Juan Pablo Villafáñez <jvillafanez@solidgear.es>
- Julien Lutran <julien.lutran@corp.ovh.com>
- Julien Veyssier <eneiluj@posteo.net>
- Julien Veyssier <julien-nc@posteo.net>
- Julius Haertl <jus@bitgrid.net>
- Julius Härtl <jus@bitgrid.net>
- Jérôme Herbinet <33763786+Jerome-Herbinet@users.noreply.github.com>
- Jörn Friedrich Dreyer <jfd@butonic.de>
- Jürgen Haas <juergen@paragon-es.de>
- KB7777 <k.burkowski@gmail.com>
- Kamil Domanski <kdomanski@kdemail.net>
- Karel Hink <info@karelhink.cz>
- Kawohl <john@owncloud.com>
- Kenneth Newwood <kenneth@newwood.name>
- Kevin Ndung'u <kevgathuku@gmail.com>
- Kevin Niehage <k.niehage@syseleven.de>
- Kirill Popov <kirill.s.popov@gmail.com>
- Klaas Freitag <freitag@owncloud.com>
- Knut Ahlers <knut@ahlers.me>
- Ko- <k.stoffelen@cs.ru.nl>
- Konrad Bucheli <kb@open.ch>
- Kristof Provost <github@sigsegv.be>
- Kyle Fazzari <kyrofa@ubuntu.com>
- Lars <winnetou+github@catolic.de>
- Lars Knickrehm <mail@lars-sh.de>
- Laurens Post <Crote@users.noreply.github.com>
- Laurens Post <lkpost@scept.re>
- Lee Garrett <lgarrett@rocketjump.eu>
- Lennart Rosam <hello@takuto.de>
- Lennart Rosam <lennart.rosam@medien-systempartner.de>
- Leon Klingele <git@leonklingele.de>
- Leon Klingele <leon@struktur.de>
- Liam Dennehy <liam@wiemax.net>
- Liam JACK <liamjack@users.noreply.github.com>
- Lionel Elie Mamane <lionel@mamane.lu>
- Loki3000 <github@labcms.ru>
- Lorenzo M. Catucci <lorenzo@sancho.ccd.uniroma2.it>
- Lorenzo Tanganelli <35271287+tanganellilore@users.noreply.github.com>
- Louis <6653109+artonge@users.noreply.github.com>
- Louis Chemineau <louis@chmn.me>
- Loïc Hermann <loic.hermann@sciam.fr>
- Luka Trovic <luka@nextcloud.com>
- Lukas Reschke <lukas@statuscode.ch>
- Lukas Stabe <lukas@stabe.de>
- Luke Policinski <lpolicinski@gmail.com>
- Lyonel Vincent <lyonel@ezix.org>
- Magnus Walbeck <mw@mwalbeck.org>
- Maksim Sukharev <antreesy.web@gmail.com>
- Marc Hefter <marchefter@gmail.com>
- Marc Hefter <marchefter@march42.net>
- Marcel Klehr <mklehr@gmx.net>
- Marcel Müller <marcel-mueller@gmx.de>
- Manish Bisht <manish.bisht490@gmail.com>
- Marcel Waldvogel <marcel.waldvogel@uni-konstanz.de>
- Marco Ambrosini <marcoambrosini@pm.me>
- Marco Ziech <marco@ziech.net>
- Marin Treselj <marin@pixelipo.com>
- Mario Danic <mario@lovelyhq.com>
- Mario Kolling <mario.kolling@serpro.gov.br>
- Marius Blüm <marius@lineone.io>
- Marius David Wieschollek <git.public@mdns.eu>
- Markus Goetz <markus@woboq.com>
- Markus Staab <markus.staab@redaxo.de>
- Markus Zeller <git@markuszeller.com>
- MartB <mart.b@outlook.de>
- Martin Brugnara <martin@0x6d62.eu>
- Martin <github@diemattels.at>
- Martin Konrad <info@martin-konrad.net>
- Martin Konrad <konrad@frib.msu.edu>
- Martin Mattel <martin.mattel@diemattels.at>
- Marvin Thomas Rabe <mrabe@marvinrabe.de>
- Masaki Kawabata Neto <masaki.kawabata@gmail.com>
- MasterOfDeath <rinat.gumirov@mail.ru>
- Matthew Setter <matthew@matthewsetter.com>
- Matthieu Gallien <matthieu.gallien@nextcloud.com>
- Mattia Narducci <mattianarducci1@gmail.com>
- Max <max@nextcloud.com>
- Max Kovalenko <mxss1998@yandex.ru>
- Max Kunzelmann <maxdev@posteo.de>
- Maxence Lange <maxence@artificial-owl.com>
- Maxence Lange <maxence@nextcloud.com>
- Maxence Lange <maxence@pontapreta.net>
- Maxime Besson <maxime.besson@worteks.com>
- Maximilian Martin <maximilian_martin@gmx.de>
- Maxopoly <max@dermax.org>
- MichaIng <28480705+MichaIng@users.noreply.github.com>
- MichaIng <micha@dietpi.com>
- Michael Gapczynski <GapczynskiM@gmail.com>
- Michael Göhler <somebody.here@gmx.de>
- Michael Jobst <mjobst+github@tecratech.de>
- Michael Jobst <mjobst@necls.com>
- Michael Kuhn <github@ikkoku.de>
- Michael Kuhn <michael@ikkoku.de>
- Michael Letzgus <www@chronos.michael-letzgus.de>
- Michael Roitzsch <reactorcontrol@icloud.com>
- Michael Weimann <mail@michael-weimann.eu>
- Michael Zamot <michael@zamot.io>
- Michał Węgrzynek <michal.wegrzynek@malloc.com.pl>
- Michiel de Jong <michiel@unhosted.org>
- Micke Nordin <kano@sunet.se>
- Mickey Knox <mickey@netfreaks.org>
- Michael Roth <michael.roth@rz.uni-augsburg.de>
- Michael U <mdusher@users.noreply.github.com>
- Miguel Prokop <miguel.prokop@vtu.com>
- Mikael Hammarin <mikael@try2.se>
- Mikael Nordin <mickenordin@users.noreply.github.com>
- Mikael Saarinen <mikaels@iki.fi>
- Mikhail Sazanov <m@sazanof.ru>
- Miha Frangez <miha.frangez@gmail.com>
- Mitar <mitar.git@tnode.com>
- Mohammed Abdellatif <m.latief@gmail.com>
- Morris Jobke <hey@morrisjobke.de>
- Mátyás Jani <jzombi@gmail.com>
- Naoto Kobayashi <naoto.kobayashi4c@gmail.com>
- Nazar Mokrynskyi <nazar@mokrynskyi.com>
- Nicolai Ehemann <en@enlightened.de>
- Nicolas Grekas <nicolas.grekas@gmail.com>
- Nicolas SIMIDE <2083596+dems54@users.noreply.github.com>
- Nils <git@to.nilsschnabel.de>
- Nils Wittenbrink <nilswittenbrink@web.de>
- Nina Pypchenko <22447785+nina-py@users.noreply.github.com>
- NoSleep82 <52562874+NoSleep82@users.noreply.github.com>
- Nmz <nemesiz@nmz.lt>
- Noveen Sachdeva <noveen.sachdeva@research.iiit.ac.in>
- Ole Ostergaard <ole.c.ostergaard@gmail.com>
- Ole Ostergaard <ole.ostergaard@knime.com>
- Oliver Gasser <oliver.gasser@gmail.com>
- Oliver Kohl D.Sc. <oliver@kohl.bz>
- Oliver Wegner <void1976@gmail.com>
- Olivier Mehani <shtrom@ssji.net>
- Olivier Paroz <github@oparoz.com>
- Orzu Ionut <orzu.ionut@gmail.com>
- Owen Winkler <a_github@midnightcircus.com>
- Pascal de Bruijn <pmjdebruijn@pcode.nl>
- Patrick Paysant <patrick.paysant@linagora.com>
- Patrick Paysant <ppaysant@linagora.com>
- Patrik Kernstock <info@pkern.at>
- Pauli Järvinen <pauli.jarvinen@gmail.com>
- Pavel Krasikov <klonishe@gmail.com>
- Pawel Boguslawski <pawel.boguslawski@ib.pl>
- Pellaeon Lin <nfsmwlin@gmail.com>
- Peter Kubica <peter@kubica.ch>
- Petre T <petre.tudor@dorkfarm.com>
- Petr Svoboda <weits666@gmail.com>
- Phiber2000 <phiber2000@gmx.de>
- Phil Davis <phil.davis@inf.org>
- Philipp Kapfer <philipp.kapfer@gmx.at>
- Philipp Schaffrath <github@philipp.schaffrath.email>
- Philipp Staiger <philipp@staiger.it>
- Philippe Jung <phil.jung@free.fr>
- Pierre Ozoux <pierre@ozoux.net>
- Pierre Rudloff <contact@rudloff.pro>
@@ -344,235 +179,118 @@
- Piotr M <mrow4a@yahoo.com>
- Piotr Mrowczynski <mrow4a@yahoo.com>
- Piotr Mrówczyński <mrow4a@yahoo.com>
- Pytal <24800714+Pytal@users.noreply.github.com>
- Qingping Hou <dave2008713@gmail.com>
- Raghu Nayyar <hey@raghunayyar.com>
- Raghu Nayyar <me@iraghu.com>
- Ralph Krimmel <rkrimme1@gwdg.de>
- Ramiro Aparicio <rapariciog@gmail.com>
- Randolph Carter <RandolphCarter@fantasymail.de>
- Rayn0r <andrew@ilpss8.myfirewall.org>
- RealRancor <Fisch.666@gmx.de>
- RealRancor <fisch.666@gmx.de>
- Rello <Rello@users.noreply.github.com>
- Remco Brenninkmeijer <requist1@starmail.nl>
- Retidurc Silvernight <retidurc@silvernight.social>
- Richard Steinmetz <richard@steinmetz.cloud>
- Richard de Boer <github@tubul.net>
- Rid <rid@cylo.io>
- Rinat Gumirov <rinat.gumirov@mail.ru>
- Robert Dailey <rcdailey@gmail.com>
- Renaud Fortier <Renaud.Fortier@fsaa.ulaval.ca>
- Robert Scheck <robert@fedoraproject.org>
- Robin Appelman <robin@icewind.nl>
- Robin McCorkell <robin@mccorkell.me.uk>
- Robin Müller <coder-hugo@users.noreply.github.com>
- Roeland Jago Douma <roeland@famdouma.nl>
- Roger Szabo <roger.szabo@web.de>
- Roland Tapken <roland@bitarbeiter.net>
- Romain Rivière <lecoyote@lecoyote.org>
- Roman Kreisel <mail@romankreisel.de>
- Ross Nicoll <jrn@jrn.me.uk>
- Rsplwe <i@rsplwe.com>
- Ruben Homs <ruben@homs.codes>
- RussellAult <RussellAult@users.noreply.github.com>
- Rémy Jacquin <remy@remyj.fr>
- S. Cat <33800996+sparrowjack63@users.noreply.github.com>
- SA <stephen@mthosting.net>
- Sam Bull <aa6bs0@sambull.org>
- Sam Tuke <mail@samtuke.com>
- Samuel <faust64@gmail.com>
- Samuel CHEMLA <chemla.samuel@gmail.com>
- Sander Ruitenbeek <s.ruitenbeek@getgoing.nl>
- Sander <brantje@gmail.com>
- Sander Ruitenbeek <sander@grids.be>
- Sandro Lutz <sandro.lutz@temparus.ch>
- Sanpi <sanpi@homecomputing.fr>
- Sascha Wiswedel <sascha.wiswedel@nextcloud.com>
- Scott Dutton <exussum12@users.noreply.github.com>
- Scott Dutton <scott@exussum.co.uk>
- Sascha Sambale <mastixmc@gmail.com>
- Sean Comeau <sean@ftlnetworks.ca>
- Sean Molenaar <sean@seanmolenaar.eu>
- Sebastian Döll <sebastian.doell@libasys.de>
- Sebastian Steinmetz <462714+steiny2k@users.noreply.github.com>
- Sebastian Steinmetz <me@sebastiansteinmetz.ch>
- Sebastian Wessalowski <sebastian@wessalowski.org>
- Semih Serhat Karakaya <karakayasemi@itu.edu.tr>
- Senorsen <senorsen.zhang@gmail.com>
- Serge Martin <edb@sigluy.net>
- Sergej Nikolaev <kinolaev@gmail.com>
- Sergej Pupykin <pupykin.s@gmail.com>
- Sergey Shliakhov <husband.sergey@gmail.com>
- Sergio Bertolin <sbertolin@solidgear.es>
- Sergio Bertolín <sbertolin@solidgear.es>
- Sijmen Schoon <me@sijmenschoon.nl>
- Simon Könnecke <simonkoennecke@gmail.com>
- Simon L <szaimen@e.mail.de>
- Simon Leiner <simon@leiner.me>
- Simon Spannagel <simonspa@kth.se>
- Simounet <contact@simounet.net>
- Sjors van der Pluijm <sjors@desjors.nl>
- Stanimir Bozhilov <stanimir.bozhilov.1998@gmail.com>
- Stanimir Bozhilov <stanimir@audriga.com>
- Stefan <Stefan.Schilling@EXXETA.com>
- Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
- Stefan Rado <owncloud@sradonia.net>
- Stefan Schneider <stefan.schneider@squareweave.com.au>
- Stefan Weiberg <sweiberg@suse.com>
- Stefan Weil <sw@weilnetz.de>
- Steffen Lindner <mail@steffen-lindner.de>
- Stephan Müller <mail@stephanmueller.eu>
- Stephan Peijnik <speijnik@anexia-it.com>
- Stephen Cuppett <steve@cuppett.com>
- Steven Bühner <buehner@me.com>
- Sujith H <sharidasan@owncloud.com>
- Sujith Haridasan <Sujith_Haridasan@mentor.com>
- Sujith Haridasan <sujith.h@gmail.com>
- Sven Strickroth <email@cs-ware.de>
- Sylvain <git@sylvain.dev>
- Sylvia van Os <sylvia@hackerchick.me>
- Tekhnee <info@tekhnee.org>
- Temtaime <temtaime@gmail.com>
- Thibaut GRIDEL <tgridel@free.fr>
- Thomas Citharel <nextcloud@tcit.fr>
- Thomas Citharel <tcit@tcit.fr>
- Thomas Ebert <thomas.ebert@usability.de>
- Thomas Müller <thomas.mueller@tmit.eu>
- Thomas Pulzer <t.pulzer@kniel.de>
- Thomas Tanghus <thomas@tanghus.net>
- Tiago Flores <tiago.flores@yahoo.com.br>
- Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
- Tim Dettrick <t.dettrick@uq.edu.au>
- Tim Obert <tobert@w-commerce.de>
- Tim Terhorst <mynamewastaken+gitlab@gmail.com>
- TimObert <tobert@w-commerce.de>
- Timo Förster <tfoerster@webfoersterei.de>
- Tobia De Koninck <LEDfan@users.noreply.github.com>
- Tobia De Koninck <tobia@ledfan.be>
- Tobias Assmann <tobias.assmann@ecsec.de>
- Tobias Brunner <tobias@tobru.ch>
- Tobias Kaminsky <tobias@kaminsky.me>
- Tobias Perschon <tobias@perschon.at>
- Tom Grant <TomG736@users.noreply.github.com>
- Tom Needham <tom@owncloud.com>
- Tomasz Grobelny <tomasz@grobelny.net>
- Tomasz Paluszkiewicz <tomasz.paluszkiewicz@gmail.com>
- Tor Lillqvist <tml@collabora.com>
- UmbrellaCodr <umbrella@biohazard.cc>
- Unknown <anpz.asutp@gmail.com>
- Unpublished <unpublished@gmx.net>
- Valdnet <47037905+Valdnet@users.noreply.github.com>
- Vanessa Pertsch <vanessa.pertsch@nextcloud.com>
- Varun Patil <radialapps@gmail.com>
- Varun Patil <varunpatil@ucla.edu>
- Torben Dannhauer <torben@dannhauer.de>
- Ujjwal Bhardwaj <ujjwalb1996@gmail.com>
- Victor Dubiniuk <dubiniuk@owncloud.com>
- Viktor Szépe <viktor@szepe.net>
- Vincent Chan <plus.vincchan@gmail.com>
- Vincent Petry <vincent@nextcloud.com>
- Vincent Van Houtte <vvh@aplusv.be>
- Vincent Cloutier <vincent1cloutier@gmail.com>
- Vincent Petry <pvince81@owncloud.com>
- Vinicius Cubas Brand <vinicius@eita.org.br>
- Vitor Mattos <vitor@php.rio>
- Vlastimil Pecinka <pecinka@email.cz>
- Volkan Gezer <volkangezer@gmail.com>
- Volker <skydiablo@gmx.net>
- William <william.hak57@gmail.com>
- William Pain <pain.william@gmail.com>
- Xheni Myrtaj <myrtajxheni@gmail.com>
- Xuanwo <xuanwo@yunify.com>
- ZitronePlus <tobiasscharf92@gmail.com>
- acsfer <12234510+acsfer@users.noreply.github.com>
- acsfer <carlos@reendex.com>
- adrien <adrien.waksberg@believedigital.com>
- alanmeeson <alan@carefullycalculated.co.uk>
- aler9 <46489434+aler9@users.noreply.github.com>
- alexweirig <alex.weirig@technolink.lu>
- b108@volgograd "b108@volgograd"
- bbx-github <53237674+bbx-github@users.noreply.github.com>
- bladewing <lukas@ifflaender-family.de>
- bline <scottbeck@gmail.com>
- blizzz <blizzz@arthur-schiwon.de>
- brad2014 <brad2014@users.noreply.github.com>
- brumsel <brumsel@losecatcher.de>
- cahogan <caitlin.hogan@swiftsolar.com>
- call-me-matt <nextcloud@matthiasheinisch.de>
- castillo92 <37965565+castillo92@users.noreply.github.com>
- cetra3 <peter@parashift.com.au>
- cmeh <cmeh@users.noreply.github.com>
- comradekingu <epost@anotheragency.no>
- coderkun <olli@coderkun.de>
- dartcafe <github@dartcafe.de>
- davidgumberg <davidnoizgumberg@gmail.com>
- davitol <dtoledo@solidgear.es>
- dems54 <2083596+dems54@users.noreply.github.com>
- derkostka <sebastian.kostka@gmail.com>
- duritong <peter.meier+github@immerda.ch>
- eduardo <eduardo@vnexu.net>
- eleith <online+github@eleith.com>
- essys <essys@users.noreply.github.com>
- exner104 <59639860+exner104@users.noreply.github.com>
- fabian <fabian@web2.0-apps.de>
- felixboehm <felix@webhippie.de>
- fenn-cs <fenn25.fn@gmail.com>
- fnuesse <felix.nuesse@t-online.de>
- fnuesse <fnuesse@techfak.uni-bielefeld.de>
- greta <gretadoci@gmail.com>
- helix84 <helix84@centrum.sk>
- hkjolhede <hkjolhede@gmail.com>
- hoellen <dev@hoellen.eu>
- howardZa <33491519+howardZa@users.noreply.github.com>
- iamfool <praveenraonp@gmail.com>
- ideaship <ideaship@users.noreply.github.com>
- j-ed <juergen@eisfair.org>
- j3l11234 <297259024@qq.com>
- jaltek <jaltek@mailbox.org>
- jknockaert <jasper@knockaert.nl>
- jld3103 <jld3103yt@gmail.com>
- josh4trunks <joshruehlig@gmail.com>
- julia.kirschenheuter <julia.kirschenheuter@nextcloud.com>
- justin-sleep <justin@quarterfull.com>
- karakayasemi <karakayasemi@itu.edu.tr>
- kevin147147 <kevintamool@gmail.com>
- korelstar <korelstar@users.noreply.github.com>
- leith abdulla <online-nextcloud@eleith.com>
- lui87kw <lukas.ifflaender@uni-wuerzburg.de>
- luz paz <luzpaz@github.com>
- luz paz <luzpaz@pm.me>
- lynn-stephenson <lynn.stephenson@protonmail.com>
- macjohnny <estebanmarin@gmx.ch>
- marco44 <cousinmarc@gmail.com>
- martin-rueegg <martin.rueegg@metaworx.ch>
- martin.mattel@diemattels.at <martin.mattel@diemattels.at>
- martink-p <47943787+martink-p@users.noreply.github.com>
- matt <34400929+call-me-matt@users.noreply.github.com>
- medcloud <42641918+medcloud@users.noreply.github.com>
- michaelletzgus <michaelletzgus@users.noreply.github.com>
- michag86 <micha_g@arcor.de>
- mmccarn <mmccarn-github@mmsionline.us>
- nhirokinet <nhirokinet@nhiroki.net>
- nik gaffney <nik@fo.am>
- nishiki <nishiki@yaegashi.fr>
- noiob <8197071+noiob@users.noreply.github.com>
- noveens <noveen.sachdeva@research.iiit.ac.in>
- npmbuildbot[bot] "npmbuildbot[bot]@users.noreply.github.com"
- onehappycat <one.happy.cat@gmx.com>
- oparoz <owncloud@interfasys.ch>
- phisch <git@philippschaffrath.de>
- pjft <pjft@users.noreply.github.com>
- plumbeo <plumbeo@users.noreply.github.com>
- rakekniven <2069590+rakekniven@users.noreply.github.com>
- rakekniven <mark.ziegler@rakekniven.de>
- raul <raul@nextcloud.com>
- robottod <83244577+robottod@users.noreply.github.com>
- root "root@oc.(none)"
- root <root@localhost.localdomain>
- rubo77 <github@r.z11.de>
- sammo2828 <sammo2828@gmail.com>
- scambra <sergio@entrecables.com>
- scolebrook <scolebrook@mac.com>
- shkdee <louis.traynard@m4x.org>
- simonspa <1677436+simonspa@users.noreply.github.com>
- smichel17 <git@smichel.me>
- sodimel <corentin@244466666.xyz>
- ste101 <stephan_bauer@gmx.de>
- sualko <klaus@jsxc.org>
- szaimen <szaimen@e.mail.de>
- tbartenstein <tbartenstein@users.noreply.github.com>
- tbelau666 <thomas.belau@gmx.de>
- tgrant <tom.grant760@gmail.com>
- timm2k <timm2k@gmx.de>
- tux-rampage <tux-rampage@users.noreply.github.com>
- v1r0x <vinzenz.rosenkranz@gmail.com>
- vkuimov "vkuimov@nextcloud"
- voxsim "Simon Vocella"
- waleczny <michal@walczak.xyz>
- zorn-v <zorn7@yandex.ru>
- zulan <git@zulan.net>
- Łukasz Buśko <busko.lukasz@pm.me>
With help from many libraries and frameworks including:
Open Collaboration Services
+1 -5
View File
@@ -1,8 +1,4 @@
<!--
- SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
- SPDX-License-Identifier: AGPL-3.0-or-later
-->
Changelog
=========
The change log is at [https://nextcloud.com/changelog/](https://nextcloud.com/changelog/).
The change log is at [https://nextcloud.com/changelog/](https://nextcloud.com/changelog/).
-4
View File
@@ -1,7 +1,3 @@
<!--
- SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
- SPDX-License-Identifier: AGPL-3.0-or-later
-->
In the Nextcloud community, participants from all over the world come together to create Free Software for a free internet. This is made possible by the support, hard work and enthusiasm of thousands of people, including those who create and use Nextcloud software.
Our code of conduct offers some guidance to ensure Nextcloud participants can cooperate effectively in a positive and inspiring atmosphere, and to explain how together we can strengthen and support each other.
+8 -15
View File
@@ -4,7 +4,7 @@ If you have questions about how to install or use Nextcloud, please direct these
### 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.
* The [**issue template can be found here**][template] but be aware of the different repositories! See list below. Please always use the issue template when reporting issues.
### Guidelines
* Please search the existing issues first, it's likely that your issue was already reported or even fixed.
@@ -12,14 +12,14 @@ If you have questions about how to install or use Nextcloud, please direct these
- 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.
* __SECURITY__: Report any potential security bug to us via [our HackerOne page](https://hackerone.com/nextcloud) or security@nextcloud.com 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.
* Report the issue using our [template][template], it includes 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
[template]: https://raw.githubusercontent.com/nextcloud/server/master/issue_template.md
[forum]: https://help.nextcloud.com/
[irc]: https://webchat.freenode.net/?channels=nextcloud
@@ -29,13 +29,6 @@ Thanks for wanting to contribute source code to Nextcloud. That's great!
Please read the [Developer Manuals][devmanual] to learn how to create your first application or how to test the Nextcloud code with PHPUnit.
### Conventional Commits
Please use [Conventional Commits](https://www.conventionalcommits.org) for your commit messages. This helps maintain clarity and consistency across the project, making it easier to understand changes and automate versioning.
```
feat(files_sharing): allow sharing with contacts
```
### Tests
In order to constantly increase the quality of our software we can no longer accept pull request which submit un-tested code.
@@ -51,9 +44,9 @@ their contribution under the project's license.
Please read [contribute/developer-certificate-of-origin][dcofile].
If you can certify it, then just add a line to every git commit message:
```
Signed-off-by: Random J Developer <random@developer.example.org>
```
````
Signed-off-by: Random J Developer <random@developer.example.org>
````
Use your real name (sorry, no pseudonyms or anonymous contributions).
If you set your `user.name` and `user.email` git configs, you can sign your
@@ -65,7 +58,7 @@ like `git config --global alias.ci 'commit -s'`. Now you can commit with
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/
[devmanual]: https://docs.nextcloud.org/server/13/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
+2 -8
View File
@@ -1,10 +1,5 @@
<!--
- SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
- SPDX-FileCopyrightText: 2011-2016 ownCloud, Inc.
- SPDX-License-Identifier: AGPL-3.0-or-later
-->
Files in Nextcloud are licensed under the Affero General Public License version 3,
the text of which can be found in `COPYING`, or any later version of the AGPL,
the text of which can be found in COPYING, or any later version of the AGPL,
unless otherwise noted.
Licensing of components:
@@ -14,8 +9,7 @@ Licensing of components:
* User: AGPL
* XML/RPC: MIT / PHP
* Elementary filetype icons: GPL v3+
* Material UI icons: APACHE LICENSE, VERSION 2.0
All unmodified files from these and other sources retain their original copyright
and license notices: see the relevant individual files.
Attribution information for Nextcloud is contained in the `AUTHORS.md` file.
Attribution information for Nextcloud is contained in the AUTHORS file.
-28
View File
@@ -1,28 +0,0 @@
<!--
- SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
- SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Nextcloud Design contribution guidelines
## 👋 Welcome
At Nextcloud we want to make sure to have everything in place to enable designers to contribute making our apps universally accessible and easy to use.
## 🚢 How to contribute design
We have a dedicated page with more in-detail guidelines on our website:
https://nextcloud.com/design/
**TL;DR**
1. Check out open [issues](https://github.com/nextcloud/server/issues) here on GitHub (we label them with `design`)
2. Make sure create publicly accessible assets
3. Add your contributions to an issue and we promise we will review your contribution carefully and foster discussions
[This issue](https://github.com/nextcloud/desktop/issues/877) has examples of other apps, some simple mockups, and specifications about the design. In the discussions in the comments there are updates to the design as well.
[This pull request](https://github.com/nextcloud/desktop/pull/1565) by a developer has the implementation of that issue, the changes they made, and more design discussions and adjustments.
**We encourage you to:**
- Get in touch with the team by joining our [public Talk channel](https://cloud.nextcloud.com/call/gqff69i8)
-235
View File
@@ -1,235 +0,0 @@
GNU AFFERO GENERAL PUBLIC LICENSE
Version 3, 19 November 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
Preamble
The GNU Affero General Public License is a free, copyleft license for software and other kinds of works, specifically designed to ensure cooperation with the community in the case of network server software.
The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, our General Public Licenses are intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users.
When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things.
Developers that use our General Public Licenses protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License which gives you legal permission to copy, distribute and/or modify the software.
A secondary benefit of defending all users' freedom is that improvements made in alternate versions of the program, if they receive widespread use, become available for other developers to incorporate. Many developers of free software are heartened and encouraged by the resulting cooperation. However, in the case of software used on network servers, this result may fail to come about. The GNU General Public License permits making a modified version and letting the public access it on a server without ever releasing its source code to the public.
The GNU Affero General Public License is designed specifically to ensure that, in such cases, the modified source code becomes available to the community. It requires the operator of a network server to provide the source code of the modified version running there to the users of that server. Therefore, public use of a modified version, on a publicly accessible server, gives the public access to the source code of the modified version.
An older license, called the Affero General Public License and published by Affero, was designed to accomplish similar goals. This is a different license, not a version of the Affero GPL, but Affero has released a new version of the Affero GPL which permits relicensing under this license.
The precise terms and conditions for copying, distribution and modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU Affero General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based on the Program.
To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work.
A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source.
The Corresponding Source for a work in source code form is that same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures.
When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices".
c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.
A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:
a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b.
d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d.
A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product.
"Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.
If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM).
The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or authors of the material; or
e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors.
All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11).
However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.
Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party.
If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it.
A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program.
13. Remote Network Interaction; Use with the GNU General Public License.
Notwithstanding any other provision of this License, if you modify the Program, your modified version must prominently offer all users interacting with it remotely through a computer network (if your version supports such interaction) an opportunity to receive the Corresponding Source of your version by providing access to the Corresponding Source from a network server at no charge, through some standard or customary means of facilitating copying of software. This Corresponding Source shall include the Corresponding Source for any work covered by version 3 of the GNU General Public License that is incorporated pursuant to the following paragraph.
Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the work with which it is combined will remain governed by version 3 of the GNU General Public License.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of the GNU Affero General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU Affero General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU Affero General Public License, you may choose any version ever published by the Free Software Foundation.
If the Program specifies that a proxy can decide which future versions of the GNU Affero General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program.
Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If your software can interact with users remotely through a computer network, you should also make sure that it provides a way for users to get its source. For example, if your program is a web application, its interface could display a "Source" link that leads users to an archive of the code. There are many ways you could offer source, and different solutions will be better for different programs; see section 13 for the specific requirements.
You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU AGPL, see <http://www.gnu.org/licenses/>.
-235
View File
@@ -1,235 +0,0 @@
GNU AFFERO GENERAL PUBLIC LICENSE
Version 3, 19 November 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
Preamble
The GNU Affero General Public License is a free, copyleft license for software and other kinds of works, specifically designed to ensure cooperation with the community in the case of network server software.
The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, our General Public Licenses are intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users.
When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things.
Developers that use our General Public Licenses protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License which gives you legal permission to copy, distribute and/or modify the software.
A secondary benefit of defending all users' freedom is that improvements made in alternate versions of the program, if they receive widespread use, become available for other developers to incorporate. Many developers of free software are heartened and encouraged by the resulting cooperation. However, in the case of software used on network servers, this result may fail to come about. The GNU General Public License permits making a modified version and letting the public access it on a server without ever releasing its source code to the public.
The GNU Affero General Public License is designed specifically to ensure that, in such cases, the modified source code becomes available to the community. It requires the operator of a network server to provide the source code of the modified version running there to the users of that server. Therefore, public use of a modified version, on a publicly accessible server, gives the public access to the source code of the modified version.
An older license, called the Affero General Public License and published by Affero, was designed to accomplish similar goals. This is a different license, not a version of the Affero GPL, but Affero has released a new version of the Affero GPL which permits relicensing under this license.
The precise terms and conditions for copying, distribution and modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU Affero General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based on the Program.
To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work.
A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source.
The Corresponding Source for a work in source code form is that same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures.
When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices".
c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.
A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:
a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b.
d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d.
A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product.
"Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.
If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM).
The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or authors of the material; or
e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors.
All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11).
However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.
Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party.
If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it.
A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program.
13. Remote Network Interaction; Use with the GNU General Public License.
Notwithstanding any other provision of this License, if you modify the Program, your modified version must prominently offer all users interacting with it remotely through a computer network (if your version supports such interaction) an opportunity to receive the Corresponding Source of your version by providing access to the Corresponding Source from a network server at no charge, through some standard or customary means of facilitating copying of software. This Corresponding Source shall include the Corresponding Source for any work covered by version 3 of the GNU General Public License that is incorporated pursuant to the following paragraph.
Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the work with which it is combined will remain governed by version 3 of the GNU General Public License.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of the GNU Affero General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU Affero General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU Affero General Public License, you may choose any version ever published by the Free Software Foundation.
If the Program specifies that a proxy can decide which future versions of the GNU Affero General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program.
Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If your software can interact with users remotely through a computer network, you should also make sure that it provides a way for users to get its source. For example, if your program is a web application, its interface could display a "Source" link that leads users to an archive of the code. There are many ways you could offer source, and different solutions will be better for different programs; see section 13 for the specific requirements.
You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU AGPL, see <http://www.gnu.org/licenses/>.
-73
View File
@@ -1,73 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
(a) You must give any other recipients of the Work or Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-121
View File
@@ -1,121 +0,0 @@
Creative Commons Legal Code
CC0 1.0 Universal
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
HEREUNDER.
Statement of Purpose
The laws of most jurisdictions throughout the world automatically confer
exclusive Copyright and Related Rights (defined below) upon the creator
and subsequent owner(s) (each and all, an "owner") of an original work of
authorship and/or a database (each, a "Work").
Certain owners wish to permanently relinquish those rights to a Work for
the purpose of contributing to a commons of creative, cultural and
scientific works ("Commons") that the public can reliably and without fear
of later claims of infringement build upon, modify, incorporate in other
works, reuse and redistribute as freely as possible in any form whatsoever
and for any purposes, including without limitation commercial purposes.
These owners may contribute to the Commons to promote the ideal of a free
culture and the further production of creative, cultural and scientific
works, or to gain reputation or greater distribution for their Work in
part through the use and efforts of others.
For these and/or other purposes and motivations, and without any
expectation of additional consideration or compensation, the person
associating CC0 with a Work (the "Affirmer"), to the extent that he or she
is an owner of Copyright and Related Rights in the Work, voluntarily
elects to apply CC0 to the Work and publicly distribute the Work under its
terms, with knowledge of his or her Copyright and Related Rights in the
Work and the meaning and intended legal effect of CC0 on those rights.
1. Copyright and Related Rights. A Work made available under CC0 may be
protected by copyright and related or neighboring rights ("Copyright and
Related Rights"). Copyright and Related Rights include, but are not
limited to, the following:
i. the right to reproduce, adapt, distribute, perform, display,
communicate, and translate a Work;
ii. moral rights retained by the original author(s) and/or performer(s);
iii. publicity and privacy rights pertaining to a person's image or
likeness depicted in a Work;
iv. rights protecting against unfair competition in regards to a Work,
subject to the limitations in paragraph 4(a), below;
v. rights protecting the extraction, dissemination, use and reuse of data
in a Work;
vi. database rights (such as those arising under Directive 96/9/EC of the
European Parliament and of the Council of 11 March 1996 on the legal
protection of databases, and under any national implementation
thereof, including any amended or successor version of such
directive); and
vii. other similar, equivalent or corresponding rights throughout the
world based on applicable law or treaty, and any national
implementations thereof.
2. Waiver. To the greatest extent permitted by, but not in contravention
of, applicable law, Affirmer hereby overtly, fully, permanently,
irrevocably and unconditionally waives, abandons, and surrenders all of
Affirmer's Copyright and Related Rights and associated claims and causes
of action, whether now known or unknown (including existing as well as
future claims and causes of action), in the Work (i) in all territories
worldwide, (ii) for the maximum duration provided by applicable law or
treaty (including future time extensions), (iii) in any current or future
medium and for any number of copies, and (iv) for any purpose whatsoever,
including without limitation commercial, advertising or promotional
purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
member of the public at large and to the detriment of Affirmer's heirs and
successors, fully intending that such Waiver shall not be subject to
revocation, rescission, cancellation, termination, or any other legal or
equitable action to disrupt the quiet enjoyment of the Work by the public
as contemplated by Affirmer's express Statement of Purpose.
3. Public License Fallback. Should any part of the Waiver for any reason
be judged legally invalid or ineffective under applicable law, then the
Waiver shall be preserved to the maximum extent permitted taking into
account Affirmer's express Statement of Purpose. In addition, to the
extent the Waiver is so judged Affirmer hereby grants to each affected
person a royalty-free, non transferable, non sublicensable, non exclusive,
irrevocable and unconditional license to exercise Affirmer's Copyright and
Related Rights in the Work (i) in all territories worldwide, (ii) for the
maximum duration provided by applicable law or treaty (including future
time extensions), (iii) in any current or future medium and for any number
of copies, and (iv) for any purpose whatsoever, including without
limitation commercial, advertising or promotional purposes (the
"License"). The License shall be deemed effective as of the date CC0 was
applied by Affirmer to the Work. Should any part of the License for any
reason be judged legally invalid or ineffective under applicable law, such
partial invalidity or ineffectiveness shall not invalidate the remainder
of the License, and in such case Affirmer hereby affirms that he or she
will not (i) exercise any of his or her remaining Copyright and Related
Rights in the Work or (ii) assert any associated claims and causes of
action with respect to the Work, in either case contrary to Affirmer's
express Statement of Purpose.
4. Limitations and Disclaimers.
a. No trademark or patent rights held by Affirmer are waived, abandoned,
surrendered, licensed or otherwise affected by this document.
b. Affirmer offers the Work as-is and makes no representations or
warranties of any kind concerning the Work, express, implied,
statutory or otherwise, including without limitation warranties of
title, merchantability, fitness for a particular purpose, non
infringement, or the absence of latent or other defects, accuracy, or
the present or absence of errors, whether or not discoverable, all to
the greatest extent permissible under applicable law.
c. Affirmer disclaims responsibility for clearing rights of other persons
that may apply to the Work or any use thereof, including without
limitation any person's Copyright and Related Rights in the Work.
Further, Affirmer disclaims responsibility for obtaining any necessary
consents, permissions or other rights required for any use of the
Work.
d. Affirmer understands and acknowledges that Creative Commons is not a
party to this document and has no duty or obligation with respect to
this CC0 or use of the Work.
-9
View File
@@ -1,9 +0,0 @@
MIT License
Copyright (c) <year> <copyright holders>
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-34
View File
@@ -1,34 +0,0 @@
all: clean dev-setup build-js-production
# Dev env management
dev-setup: clean npm-init
npm-init:
npm ci
npm-update:
npm update
# Building
build-js:
npm run dev
build-js-production:
npm run build
watch-js:
npm run watch
# Linting
lint-fix:
npm run lint:fix
lint-fix-watch:
npm run lint:fix-watch
# Cleaning
clean:
rm -rf dist
clean-git: clean
git checkout -- dist
+48 -62
View File
@@ -1,94 +1,80 @@
<!--
- SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
- SPDX-FileCopyrightText: 2013-2016 ownCloud, Inc.
- SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Nextcloud Server ☁
# Nextcloud Server
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/nextcloud/server/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/nextcloud/server/?branch=master)
[![codecov](https://codecov.io/gh/nextcloud/server/branch/master/graph/badge.svg)](https://codecov.io/gh/nextcloud/server)
[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/209/badge)](https://bestpractices.coreinfrastructure.org/projects/209)
[![Design](https://contribute.design/api/shield/nextcloud/server)](https://contribute.design/nextcloud/server)
[![irc](https://img.shields.io/badge/IRC-%23nextcloud%20on%20freenode-orange.svg)](https://webchat.freenode.net/?channels=nextcloud)
[![irc](https://img.shields.io/badge/IRC-%23nextcloud--dev%20on%20freenode-blue.svg)](https://webchat.freenode.net/?channels=nextcloud-dev)
**A safe home for all your data.**
![](https://raw.githubusercontent.com/nextcloud/screenshots/master/nextcloud-hub-files-25-preview.png)
![](https://github.com/nextcloud/screenshots/blob/master/files/filelist.png)
## Why is this so awesome? 🤩
## Why is this so awesome?
* 📁 **Access your Data** You can store your files, contacts, calendars, and more on a server of your choosing.
* 🔄 **Sync your Data** You keep your files, contacts, calendars, and more synchronized amongst your devices.
* 🙌 **Share your Data** …by giving others access to the stuff you want them to see or to collaborate with.
* 🚀 **Expandable with hundreds of Apps** ...like [Calendar](https://github.com/nextcloud/calendar), [Contacts](https://github.com/nextcloud/contacts), [Mail](https://github.com/nextcloud/mail), [Video Chat](https://github.com/nextcloud/spreed) and all those you can discover in our [App Store](https://apps.nextcloud.com)
* 🔒 **Security** with our encryption mechanisms, [HackerOne bounty program](https://hackerone.com/nextcloud) and two-factor authentication.
* :file_folder: **Access your Data** You can store your files, contacts, calendars and more on a server of your choosing.
* :package: **Sync your Data** You keep your files, contacts, calendars and more synchronized amongst your devices.
* :arrows_counterclockwise: **Share your Data** …by giving others access to the stuff you want them to see or to collaborate with.
* :rocket: **Expandable with dozens of Apps** ...like [Calendar](https://github.com/nextcloud/calendar), [Contacts](https://github.com/nextcloud/contacts), [Mail](https://github.com/nextcloud/mail) and all those you can discover in our [App Store](https://apps.nextcloud.com)
* :lock: **Security** with our encryption mechanisms, [HackerOne bounty program](https://hackerone.com/nextcloud) and two-factor authentication.
Do you want to learn more about how you can use Nextcloud to access, share, and protect your files, calendars, contacts, communication & more at home and in your organization? [**Learn about all our Features**](https://nextcloud.com/athome/).
*You want to learn more about how you can use Nextcloud to access, share and protect your files, calendars, contacts, communication & more at home and at your Enterprise?* [**Learn about all our Features**](https://nextcloud.com/features).
## Get your Nextcloud 🚚
## Get your Nextcloud
- ☑️ [**Simply sign up**](https://nextcloud.com/signup/) at one of our providers either through our website or through the apps directly.
- 🖥 [**Install** a server by yourself](https://nextcloud.com/install/#instructions-server) on your hardware or by using one of our ready-to-use **appliances**
- 📦 Buy one of the [awesome **devices** coming with a preinstalled Nextcloud](https://nextcloud.com/devices/)
- 🏢 Find a [service **provider**](https://nextcloud.com/providers/) who hosts Nextcloud for you or your company
- [**Install** a server by yourself on your own hardware or by using one of our ready to use **Appliances**](https://nextcloud.com/install/#instructions-server)
- [Buy one of the awesome **devices** coming with a preinstalled Nextcloud](https://nextcloud.com/devices/)
- [Find a service **provider** who is hosting Nextcloud for you or your company](https://nextcloud.com/providers/)
Enterprise? Public Sector or Education user? You may want to have a look into [**Nextcloud Enterprise**](https://nextcloud.com/enterprise/) provided by Nextcloud GmbH.
*Enterprise? Public Sector or Education user? You may want to have a look into the [**Enterprise Support Subscription**](https://nextcloud.com/enterprise/) provided by the Nextcloud GmbH*
## Get in touch 💬
## Get in touch
* [📋 Forum](https://help.nextcloud.com)
* [👥 Facebook](https://www.facebook.com/nextclouders)
* [🐣 Twitter](https://twitter.com/Nextclouders)
* [🐘 Mastodon](https://mastodon.xyz/@nextcloud)
* :clipboard: [Forum](https://help.nextcloud.com)
* :busts_in_silhouette: [Facebook](https://facebook.com/nextclouders)
* :hatching_chick: [Twitter](https://twitter.com/Nextclouders)
* :elephant: [Mastodon](https://mastodon.xyz/@nextcloud)
You can also [get support for Nextcloud](https://nextcloud.com/support)!
[…learn more about how to get support for Nextcloud here!](https://nextcloud.com/support)
## Join the team :family:
## Join the team 👪
### How to contribute
There are many ways to contribute, of which development is only one! Find out [how to get involved](https://nextcloud.com/contribute/), including as a translator, designer, tester, helping others, and much more! 😍
1. [Set up your local development environment](https://docs.nextcloud.com/server/14/developer_manual/general/devenv.html) :rocket:
2. [Pick a good first issue](https://github.com/nextcloud/server/labels/good%20first%20issue) :notebook:
3. Create a branch, a [Pull Request](https://opensource.guide/how-to-contribute/#opening-a-pull-request) and `@mention` the people from the issue :computer:
4. Wait for it to get merged and :tada:
### Contribution Guidelines
### Development setup 👩‍💻
1. 🚀 [Set up your local development environment](https://docs.nextcloud.com/server/latest/developer_manual/getting_started/devenv.html)
2. 🐛 [Pick a good first issue](https://github.com/nextcloud/server/labels/good%20first%20issue)
3. 👩‍🔧 Create a branch and make your changes. Remember to sign off your commits using `git commit -sm "Your commit message"`
4. ⬆ Create a [pull request](https://opensource.guide/how-to-contribute/#opening-a-pull-request) and `@mention` the people from the issue to review
5. 👍 Fix things that come up during a review
6. 🎉 Wait for it to get merged!
Third-party components are handled as git submodules which have to be initialized first. So aside from the regular git checkout invoking `git submodule update --init` or a similar command is needed, for details see Git documentation.
Several apps that are included by default in regular releases such as [First run wizard](https://github.com/nextcloud/firstrunwizard) or [Activity](https://github.com/nextcloud/activity) are missing in `master` and have to be installed manually by cloning them into the `apps` subfolder.
Otherwise, git checkouts can be handled the same as release archives, by using the `stable*` branches. Note they should never be used on production systems.
### Tools we use 🛠
- [👀 BrowserStack](https://browserstack.com) for cross-browser testing
- [🌊 WAVE](https://wave.webaim.org/extension/) for accessibility testing
- [🚨 Lighthouse](https://developers.google.com/web/tools/lighthouse/) for testing performance, accessibility, and more
#### Helpful bots at GitHub :robot:
- Comment on a pull request with `/update-3rdparty` to update the 3rd party submodule. It will update to the last commit of the 3rd party branch named like the PR target.
## Contribution guidelines 📜
All contributions to this repository from June 16, 2016, and onward are considered to be
All contributions to this repository from June, 16 2016 on are considered to be
licensed under the AGPLv3 or any later version.
Nextcloud doesn't require a CLA (Contributor License Agreement).
The copyright belongs to all the individual contributors. Therefore we recommend
that every contributor adds the following line to the header of a file if they
that every contributor adds following line to the header of a file, if they
changed it substantially:
```
@copyright Copyright (c) <year>, <your name> (<your email address>)
```
Please read the [Code of Conduct](https://nextcloud.com/community/code-of-conduct/). This document offers some guidance to ensure Nextcloud participants can cooperate effectively in a positive and inspiring atmosphere and to explain how together we can strengthen and support each other.
Please read the [Code of Conduct](https://nextcloud.com/community/code-of-conduct/). This document offers some guidance to ensure Nextcloud participants can cooperate effectively in a positive and inspiring atmosphere, and to explain how together we can strengthen and support each other.
Please review the [guidelines for contributing](.github/CONTRIBUTING.md) to this repository.
Please review the [guidelines for contributing](https://github.com/nextcloud/server/blob/master/CONTRIBUTING.md) to this repository.
More information on how to contribute: [https://nextcloud.com/contribute/](https://nextcloud.com/contribute/)
More information how to contribute: [https://nextcloud.com/contribute/](https://nextcloud.com/contribute/)
### Running master checkouts
Third-party components are handled as git submodules which have to be initialized first. So aside from the regular git checkout invoking `git submodule update --init` or a similar command is needed, for details see Git documentation.
Several apps that are included by default in regular releases such as [firstrunwizard](https://github.com/nextcloud/firstrunwizard) or [gallery](https://github.com/nextcloud/gallery) are missing in `master` and have to be installed manually.
That aside Git checkouts can be handled the same as release archives.
Note they should never be used on production systems.
## Tools we use
[![BrowserStack](https://user-images.githubusercontent.com/45821/41675934-61fa3442-74c4-11e8-8c8e-90768c56ba08.png)](https://www.browserstack.com/)
-68
View File
@@ -1,68 +0,0 @@
<!--
- SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
- SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Security Policy
[Security](https://nextcloud.com/security/) is very important to us.
If you believe you have found a security vulnerability that meets our definition of a security
vulnerability, please report is as described below.
## Context
Please review our [threat model and accepted risks](https://nextcloud.com/security/threat-model) to learn what
is currently considered a security vulnerability versus expected behavior. And review what is considered
[in scope or bounty eligible](https://hackerone.com/nextcloud/policy_scopes).
## Reporting a Vulnerability
** **Please do _not_ report security vulnerabilities through public GitHub issues.** **
If you have discovered a security matter with Nextcloud, please read our
[responsible disclosure guidelines](https://nextcloud.com/security/) and contact us at
[hackerone.com/nextcloud](https://hackerone.com/nextcloud).
Your report should include:
- Product version
- A vulnerability description
- Reproduction steps
- Any other details you think are likely to be important
### What to Expect
You should receive an initial acknowledgement within 24 hours in most cases.
A member of the security team will confirm the vulnerability, determine its impact, follow-up with any questions,
and coordinate the fix and publication.
The fix will be applied to all applicable and still supported stable branches, tested, and packaged in the next security release.
The vulnerability will be publicly announced after the release. Finally, your name will be added
to the [hall of fame](https://hackerone.com/nextcloud/thanks) as a thank you from the entire Nextcloud
community.
If the vulnerability involves an app that is not maintained by Nextcloud (i.e. hosted by the
Nextcloud project but community maintained, or hosted elsewhere), the security team will try to coordinate with the
current maintainer and help to get the issue fixed in similar fashion.
### Bug Bounties
If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Details
on past bounty ranges can be found at [hackerone.com/nextcloud](https://hackerone.com/nextcloud).
## Existing Security Advisories
Published security advisories for the Nextcloud Server, Clients and Apps can be viewed at
[https://github.com/nextcloud/security-advisories/security/advisories](https://github.com/nextcloud/security-advisories/security/advisories).
## Supported Versions
Nextcloud Server major release versions are being supported with security updates for 1 year after their initial release.
Please visit https://github.com/nextcloud/server/wiki/Maintenance-and-Release-Schedule for further details.
## Additional Information
Please visit [https://nextcloud.com/security/](https://nextcloud.com/security/) for further information about Nextcloud security.
Please visit [https://nextcloud.com/security/threat-model](https://nextcloud.com/security/threat-model) for our threat model and accepted risks.
-34
View File
@@ -1,34 +0,0 @@
/**
* @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com>
*
* @author John Molakvoæ <skjnldsv@protonmail.com>
*
* @license AGPL-3.0-or-later
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
export const getCurrentUser = function() {
return {
uid: 'test',
displayName: 'Test',
isAdmin: false,
}
}
export const getRequestToken = function() {
return 'test-token-1234'
}
export const onRequestTokenUpdate = function() {}
-26
View File
@@ -1,26 +0,0 @@
/**
* @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com>
*
* @author John Molakvoæ <skjnldsv@protonmail.com>
*
* @license AGPL-3.0-or-later
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
export default {
get: async () => ({ status: 200, data: {} }),
delete: async () => ({ status: 200, data: {} }),
post: async () => ({ status: 200, data: {} }),
}
-30
View File
@@ -1,30 +0,0 @@
/**
* @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com>
*
* @author John Molakvoæ <skjnldsv@protonmail.com>
*
* @license AGPL-3.0-or-later
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
import { jest } from '@jest/globals'
export const showMessage = jest.fn()
export const showSuccess = jest.fn()
export const showWarning = jest.fn()
export const showInfo = jest.fn()
export const showError = jest.fn()
export const showUndo = jest.fn()
-25
View File
@@ -1,25 +0,0 @@
/**
* @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com>
*
* @author John Molakvoæ <skjnldsv@protonmail.com>
*
* @license AGPL-3.0-or-later
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
export const loadState = function(app: string, key: string, fallback?: any) {
return fallback
}
-22
View File
@@ -1,22 +0,0 @@
/**
* @copyright Copyright (c) 2023 Lucas Azevedo <lhs_azevedo@hotmail.com>
*
* @author Lucas Azevedo <lhs_azevedo@hotmail.com>
*
* @license AGPL-3.0-or-later
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
export default {}
-22
View File
@@ -1,22 +0,0 @@
/**
* @copyright Copyright (c) 2023 John Molakvoæ <skjnldsv@protonmail.com>
*
* @author John Molakvoæ <skjnldsv@protonmail.com>
*
* @license AGPL-3.0-or-later
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
export default '<svg>SvgMock</svg>'

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