Compare commits

..

715 Commits

Author SHA1 Message Date
Benjamin Gaussorgues f5ac1aa445 Merge pull request #46584 from nextcloud/release/29.0.4 2024-07-18 13:32:47 +02:00
John Molakvoæ a537ce99be Merge pull request #46562 from nextcloud/backport/46354/stable29 2024-07-18 12:11:18 +02:00
John Molakvoæ ebdf65a28b Merge pull request #46598 from nextcloud/backport/46589/stable29 2024-07-18 09:41:13 +02:00
skjnldsv b419daec27 fix(files_sharing): also allow removing READ permissions on email shares
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-07-18 06:50:32 +00:00
Nextcloud bot b50a4eb645 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-07-18 00:19:37 +00:00
Benjamin Gaussorgues 8c6110764f build(hub): 29.0.4
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2024-07-17 15:57:41 +02:00
Joas Schilling 90a4778250 Merge pull request #46575 from nextcloud/ci/noid/update-used-actions
[stable29] fix(CI): Update setup-php, setup-node, checkout and paths-filter actions
2024-07-17 13:24:38 +02:00
Joas Schilling b651ad2536 fix(CI): Fix new files after rebase on lastest stable29
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-07-17 11:03:50 +02:00
Joas Schilling e63aee4dd8 fix(CI): Update setup-php, setup-node, checkout and paths-filter actions
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-07-17 10:50:22 +02:00
Nextcloud bot 4107cb66b9 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-07-17 00:19:43 +00:00
grnd-alt 5981e6a08f fix: stop file actions when conflict dialog skipped
Signed-off-by: grnd-alt <salimbelakkaf@outlook.de>

Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-07-16 19:52:11 +00:00
Nextcloud bot e67f80ad67 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-07-16 00:20:02 +00:00
Nextcloud bot e184e3c463 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-07-15 00:20:03 +00:00
Nextcloud bot be6886422f Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-07-14 00:19:38 +00:00
Nextcloud bot 58a80f87bd Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-07-13 00:19:57 +00:00
Joas Schilling 37043b6014 Merge pull request #46469 from nextcloud/backport/46468/stable29
[stable29] fix(ci): Correctly check for assets that need compilation
2024-07-12 16:17:39 +02:00
Joas Schilling 54328eb8cc fix(CI): Require compilation check when touching version.php
NPM is using version.php as app version and that seems to be part of the dist files now

Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-07-12 15:13:03 +02:00
nextcloud-command cde3d9955f chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-07-12 15:13:02 +02:00
Joas Schilling cb5bd604f1 fix(CI): Ensure we recompile when needed
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-07-12 15:13:01 +02:00
Joas Schilling 352a3911c6 Merge pull request #46471 from nextcloud/fix/unit-tests-stable29
test(theming): Fix unit tests for personal settings
2024-07-12 15:11:59 +02:00
Ferdinand Thiessen fb6105ba4b test(theming): Fix unit tests for personal settings
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-07-12 14:45:21 +02:00
Nextcloud bot f410f49375 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-07-12 00:19:45 +00:00
Benjamin Gaussorgues b72a433279 Merge pull request #46389 from nextcloud/release/29.0.4_rc1 2024-07-11 17:31:32 +02:00
Benjamin Gaussorgues 0aa51e685d Merge pull request #46443 from nextcloud/backport/46392/stable29 2024-07-11 17:29:12 +02:00
F. E Noel Nfebe 4546e2cbd2 Merge pull request #46162 from nextcloud/backport/46143/stable29
[stable29] fix(SharingEntryLink): Show enforced password input label
2024-07-11 13:19:51 +01:00
Benjamin Gaussorgues 3e2600bf86 feat: don't count failed CSRF as failed login attempt
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2024-07-11 14:15:20 +02:00
nextcloud-command 93f0e096d3 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-07-11 11:05:48 +00:00
Andy Scherzinger f9e1006281 Merge pull request #46437 from nextcloud/backport/46398/stable29
[stable29] fix(Session): avoid race conditions on clustered setups
2024-07-11 12:25:11 +02:00
fenn-cs e9d83d291b fix(SharingEntryLink): Show enforced password input label
While upgrading icons in b3ec461fe8 enforced password label

icon was not correctly wrapped.

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

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>

[skip ci]
2024-07-11 12:23:25 +02:00
F. E Noel Nfebe 406353add4 Merge pull request #46119 from nextcloud/backport/46030/stable29
[stable29] fix(FilesView): Update files view upon share creation/delete
2024-07-11 11:18:12 +01:00
nextcloud-command 6c01734a47 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-07-11 08:41:18 +00:00
Arthur Schiwon b983818cc1 ci(psalm): update baseline
prefer to keep this check as PublicEmitter should be dropped sooner or
later

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-07-11 07:29:09 +00:00
Arthur Schiwon 0ba9f046e7 fix(Session): avoid race conditions on clustered setups
- re-stablishes old behaviour with cache to return null instead of throwing
  an InvalidTokenException when the token is cached as non-existing
- token invalidation and re-generation are bundled in a DB transaction now

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-07-11 07:29:09 +00:00
fenn-cs ff3bcc6a86 refactor(SharingDetailsView): Use NC logger
Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2024-07-11 08:22:48 +01:00
fenn-cs 2e0d849d10 fix(FilesView): Update files view upon share creation/delete
Resolves : https://github.com/nextcloud/server/issues/44961

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2024-07-11 08:22:36 +01:00
Joas Schilling ecd454e4ca Merge pull request #46393 from nextcloud/backport/46320/stable29
[stable29] perf: Set session.cache_limiter at runtime to avoid clients caching static assets served by PHP
2024-07-11 09:19:37 +02:00
Ferdinand Thiessen 1672d79c08 Merge pull request #46258 from nextcloud/backport/45395/stable29
[stable29] fix(theming): Conitionally disable blur filter for performance
2024-07-11 09:17:55 +02:00
Julius Härtl ea262a8ca3 perf: Set session.cache_limiter at runtime to avoid clients caching static assets served by PHP
By default there is a Pragma: no-cache header set due to the default
value `no-cache` of session.cache-limiter, which will cause Chrome and
iOS to not cache even with a different Cache-Control header set on the
response.

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-07-11 08:31:21 +02:00
Marcel Müller 0986d295b1 Merge pull request #46434 from nextcloud/backport/46428/stable29
[stable29] fix(theming): Don't reset the cachebuster value when we reset theming
2024-07-11 08:28:33 +02:00
Ferdinand Thiessen 914aa984c4 chore: Compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-07-11 08:22:47 +02:00
Ferdinand Thiessen 78114c6630 feat(theming): Add checkbox for force enable / disable blurry background
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-07-11 08:22:47 +02:00
Ferdinand Thiessen eb282a6cee fix(theming): Conitionally disable blur filter for performance
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-07-11 08:22:47 +02:00
Andy Scherzinger 12d9c1ce96 Merge pull request #45911 from nextcloud/backport/45900/stable29
[stable29] fix(files_versions): Use `NcDateTime` for proper translated version dates
2024-07-11 08:12:47 +02:00
Marcel Müller 276adecf10 fix(theming): Don't reset the cachebuster value when we reset theming
Signed-off-by: Marcel Müller <marcel-mueller@gmx.de>
2024-07-11 05:27:49 +00:00
Joas Schilling c2be5b2f2a Merge pull request #46412 from nextcloud/backport/46388/stable29
[stable29] fix(workflows): Fix file systemtag cache
2024-07-11 06:48:23 +02:00
Nextcloud bot d23c528540 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-07-11 00:20:08 +00:00
Kate 6167a4a084 Merge pull request #45956 from nextcloud/backport/45228/stable29 2024-07-11 01:24:33 +02:00
nextcloud-command c4fb357184 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-07-10 23:36:46 +02:00
Ferdinand Thiessen 5a69a73b48 fix(files_versions): Version name and date should be shrinkable to allow viewing on small screens
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-07-10 23:36:46 +02:00
Ferdinand Thiessen 714fb1cce9 fix(files_versions): Use NcDateTime to ensure date is transalted properly
Also do not use filters, filters are deprecated and will make migration to Vue 3 harder.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-07-10 23:36:46 +02:00
Daniel Kesselberg a554ba5d68 test: run tests in child process
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-07-10 23:35:43 +02:00
Côme Chilliet 780bf606d2 fix(tests): Strong type property $router in RouterTest
Co-authored-by: Kate <26026535+provokateurin@users.noreply.github.com>
Signed-off-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
2024-07-10 23:35:43 +02:00
Steve Mokris 182284ee98 fix(settings): define a 'heartbeat' route, so SecurityHeaders can handle redirected root
Signed-off-by: Steve Mokris <steve@kosada.com>
2024-07-10 23:35:43 +02:00
Andy Scherzinger 7c088bd735 Merge pull request #46091 from nextcloud/backport/46073/stable29
[stable29] fix: allows admin to edit global credentials
2024-07-10 23:33:45 +02:00
Benjamin Gaussorgues a631733d06 fix: allows admin to edit global credentials
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2024-07-10 22:06:47 +02:00
Andy Scherzinger db748b4652 Merge pull request #45919 from nextcloud/backport/45582/stable29
[stable29] delete background jobs by id when cleaning up
2024-07-10 22:05:38 +02:00
Andy Scherzinger 650aec50bf Merge pull request #46069 from nextcloud/backport/45877/stable29
[stable29] fix: don't use custom certificate bundle if no customer certificates are configured
2024-07-10 20:33:46 +02:00
Andy Scherzinger 0f332839af Merge pull request #46035 from nextcloud/backport/46017/stable29
[stable29] fix: also use optimized getFirstNodeyIdInPath for Folder::getFirstNodeById
2024-07-10 20:32:36 +02:00
Andy Scherzinger f22f127d3e Merge pull request #46061 from nextcloud/backport/45938/stable29
[stable29] fix: Do not log an error when connecting to SFTP without a logged in user
2024-07-10 20:31:42 +02:00
Robin Appelman f3c3d890d6 test: update DummyJobList
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-07-10 20:29:36 +02:00
Robin Appelman 7a801f0690 fix: delete background jobs by id when cleaning up
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-07-10 20:29:36 +02:00
Andy Scherzinger 440968fe2c Merge pull request #46012 from nextcloud/backport/45999/stable29
[stable29] fix(caldav): encode calendar URIs with umlauts for activities
2024-07-10 19:58:13 +02:00
Anna 9745bf23dc Merge pull request #46413 from nextcloud/backport/46315/stable29
[stable29] fix(caldav): limit vevent size
2024-07-10 19:56:17 +02:00
Ferdinand Thiessen 27a8e5fbc6 Merge pull request #46374 from nextcloud/fix/29-nextcloud-libraries
[stable29] fix: Update Nextcloud libraries
2024-07-10 19:48:58 +02:00
nextcloud-command e1a76f1e4b chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-07-10 17:23:46 +00:00
Ferdinand Thiessen 57869f565f refactor: Use composable for currentView and views to make it reactive when shared with other Vue apps
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-07-10 19:05:38 +02:00
Ferdinand Thiessen 7a2fbe11ec chore(deps): Update debounce to 2.1.0
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-07-10 19:05:38 +02:00
Ferdinand Thiessen 07fa445f38 refactor(files): Update @nextcloud/files to v3.5.0
* Removed now duplicated code

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-07-10 19:05:38 +02:00
Ferdinand Thiessen 899d74163f fix: Update Nextcloud libraries
* Update `@nextcloud/dialogs` to 5.3.5
* Update `@nextcloud/capabilities` to 1.2.0
* Update `@nextcloud/sharing` to 0.2.0

`@vueuse/*` is updated to reduce duplicated dependencies as the newer libraries need newer vueuse versions,
but it is compatible so nothing breaking.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-07-10 19:05:38 +02:00
Ferdinand Thiessen 2071f4d713 Merge pull request #46298 from nextcloud/backport/46174/stable29
[stable29] fix(IntegrityCheck): Ensure the check is run if no results are available
2024-07-10 19:01:43 +02:00
Ferdinand Thiessen cc2ed78dd6 Merge pull request #46054 from nextcloud/fix/29-files-versions
fix(files_trashbin): Make files view registering an init script
2024-07-10 17:29:14 +02:00
Ferdinand Thiessen 4bbe2345fe Merge pull request #46211 from nextcloud/fix/capabilities-stable29
[stable29] fix(theming): Also provide default image as background by absolut URL
2024-07-10 16:59:32 +02:00
SebastianKrupinski 7728bbcf25 fix(caldav): limit vevent size
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2024-07-10 14:55:52 +00:00
Joas Schilling 9d494a2774 fix(workflows): Fix file systemtag cache
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-07-10 14:54:15 +00:00
Richard Steinmetz d9d4f1e16f fix(caldav): encode calendar URIs with umlauts for activities
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2024-07-10 15:18:27 +02:00
Daniel Calviño Sánchez 8c2f05f05e fix: Do not log an error when connecting to SFTP without a logged in user
When connecting to a SFTP server from a SFTP storage the host key is
checked against the known host keys stored in a file in the data
directory of the logged in Nextcloud user. The path to the file is
(indirectly) got using "OC_App::getStorage", which logs an error if
called when there is no logged in user; this can happen, for example, if
the storage is used from a background job or a command.

Not being able to read or write the file just causes the host key check
to be skipped, but it has no other consequence. Moreover, even with
logged in users it is likely that the file can not be read either and
the check is also skipped, as the file needs to have been manually
created by an admin.

Due to all that now the path to the file is directly created using a
View rather than relying on "OC_App::getStorage" to prevent the unneeded
error from being logged.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2024-07-10 15:17:47 +02:00
Andy Scherzinger 3b7172b5ed Merge pull request #46314 from nextcloud/backport/46193/stable29
[stable29] fix(carddav): limit vcard size
2024-07-10 15:14:38 +02:00
Ferdinand Thiessen ac1ed90919 fix(files_trashbin): Make files view registering an init script
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-07-10 14:12:42 +02:00
Benjamin Gaussorgues 6fe943d8d2 build(hub): 29.0.4 RC1
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2024-07-10 11:23:44 +02:00
Ferdinand Thiessen 7fc4691f87 Merge pull request #46385 from nextcloud/backport/46310/stable29
[stable29] fix(cypress): wait for apps list fetch for better testing stability
2024-07-10 03:52:20 +02:00
Nextcloud bot 2757beb714 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-07-10 00:34:29 +00:00
Ferdinand Thiessen 16e6f9c8dc Merge pull request #46093 from nextcloud/backport/46079/stable29
[stable29] fix(settings): make trailing slash for caldav/carddav redirects optional
2024-07-10 01:06:26 +02:00
F. E Noel Nfebe 66b0f6df0f Merge pull request #46362 from nextcloud/backport/46321/stable29
[stable29] fix(SharingDetailsView): Prevent illegal unselection of read permissions
2024-07-09 23:45:39 +01:00
MichaIng 79bcb9d3de fix(settings): make trailing slash for caldav/carddav redirects optional
#43939 moved the CalDAV/CardDAV redirect checks from the frontend to a new backend API.

Since the backend does not send an authentication header, checking for the expected response code 207 of the DAV endpoint does not work anymore, hence the URL of the last redirect is checked instead.

This URL is expected to contain a trailing slash, which was not required before, since the DAV endpoint works properly without it (when authenticated).

While a trailing slash in the redirect does no harm, it causes many setups to throw an admin panel warning, while in fact the redirects work properly. Furthermore, the proposed "/.well-known/carddav" => "/remote.php/dav/" redirect leads to double slashes, when doing a request to "/.well-known/carddav/", which seems more wrong then right.

This change makes the trailing slash optional, hence old and adjusted setups won't throw the warning anymore, and the DAV endpoint works well in both cases.

Signed-off-by: MichaIng <micha@dietpi.com>
2024-07-10 00:24:39 +02:00
skjnldsv 70113b817c fix(cypress): wait for apps list fetch for better testing stability
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-07-09 20:37:10 +00:00
Ferdinand Thiessen 57c893e93f Merge pull request #46001 from nextcloud/backport/45958/stable29
[stable29] fix(files_versions): renaming file version when its not a string
2024-07-09 22:18:32 +02:00
Sanskar Soni 75342d6d37 fix(files_versions): renaming file version when its not a string
Signed-off-by: Sanskar Soni <sanskarsoni300@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-07-09 19:41:54 +02:00
Git'Fellow 263524bbcd Merge pull request #46367 from nextcloud/backport/46317/stable29
[stable29] fix(s3): Don't wait indefinitely for S3 to return
2024-07-09 15:31:49 +02:00
nextcloud-command 5c6af78b77 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-07-09 13:13:46 +00:00
fenn-cs e2501f0595 fix(SharingDetailsView): Prevent illegal unselection of read permissions
With the exception of "file drop" on link shares all other shares need the read permissions at least.

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2024-07-09 14:02:23 +01:00
Git'Fellow aa24a4ad5d fix(s3): Don't wait indefinitely for S3 to return
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

fix: lint

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

fix: use AwsException

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

fix: Throw on connection failure

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

fix: Wrap all in try catch block

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

fix: use RequestTimeout error message

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

log: use OCP Server class

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

fix: Handle connect timeout only

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

fix: Handle errors more generically

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2024-07-09 07:51:43 +00:00
Nextcloud bot bff9081ebd Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-07-09 00:20:04 +00:00
Julius Härtl 401a67a723 Merge pull request #46039 from nextcloud/backport/44369/stable29
[stable29] fix: csrf check failed on public share with password
2024-07-08 17:33:48 +02:00
Luka Trovic aee47694b6 fix: csrf check failed on public share with password
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2024-07-08 13:22:20 +02:00
Nextcloud bot 32823f1244 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-07-08 00:19:50 +00:00
Nextcloud bot 083eeb75bd Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-07-07 00:19:32 +00:00
Daniel ad0d58eeba Merge pull request #46306 from nextcloud/backport/46276/stable29
[stable29] chore(mp3info): apply upstream patch for invalid array access
2024-07-06 17:16:14 +02:00
dependabot[bot] 533354f5be Merge pull request #46334 from nextcloud/dependabot/npm_and_yarn/stable29/eslint-plugin-cypress-2.15.2 2024-07-06 14:35:47 +00:00
Daniel d4a1710220 Merge pull request #46163 from nextcloud/backport/45876/stable29
[stable29] fix: Avoid throwing errors for teams are unavailable
2024-07-06 14:40:40 +02:00
Daniel Kesselberg f61bb58805 chore(mp3info): apply upstream patch for invalid array access
Patch: wapmorgan/Mp3Info#36

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-07-06 14:24:27 +02:00
Daniel Kesselberg a4bf0f69be feat: log file id and path when extracting the mp3 cover fails
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>

[skip ci]
2024-07-06 14:24:27 +02:00
dependabot[bot] ff3e951691 Merge pull request #46332 from nextcloud/dependabot/npm_and_yarn/stable29/cypress-if-1.12.3 2024-07-06 10:35:40 +00:00
dependabot[bot] 3312cd78c0 chore(deps-dev): bump cypress-if from 1.12.0 to 1.12.3
Bumps [cypress-if](https://github.com/bahmutov/cypress-if) from 1.12.0 to 1.12.3.
- [Release notes](https://github.com/bahmutov/cypress-if/releases)
- [Commits](https://github.com/bahmutov/cypress-if/compare/v1.12.0...v1.12.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-06 10:13:14 +00:00
dependabot[bot] c7ebeddfd0 Merge pull request #46333 from nextcloud/dependabot/npm_and_yarn/stable29/cypress-13.7.3 2024-07-06 10:11:48 +00:00
dependabot[bot] 60c2061ef8 Merge pull request #46330 from nextcloud/dependabot/npm_and_yarn/stable29/jquery-ui-dist-1.13.3 2024-07-06 09:49:28 +00:00
dependabot[bot] f848a651dc chore(deps): bump jquery-ui-dist from 1.13.2 to 1.13.3
Bumps [jquery-ui-dist](https://github.com/jquery/jquery-ui) from 1.13.2 to 1.13.3.
- [Release notes](https://github.com/jquery/jquery-ui/releases)
- [Commits](https://github.com/jquery/jquery-ui/compare/1.13.2...1.13.3)

---
updated-dependencies:
- dependency-name: jquery-ui-dist
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-07-06 09:32:22 +00:00
dependabot[bot] 95e4422fec Merge pull request #46331 from nextcloud/dependabot/npm_and_yarn/stable29/tslib-2.6.3 2024-07-06 03:29:56 +00:00
dependabot[bot] 5344424090 chore(deps-dev): bump eslint-plugin-cypress from 2.15.1 to 2.15.2
Bumps [eslint-plugin-cypress](https://github.com/cypress-io/eslint-plugin-cypress) from 2.15.1 to 2.15.2.
- [Release notes](https://github.com/cypress-io/eslint-plugin-cypress/releases)
- [Commits](https://github.com/cypress-io/eslint-plugin-cypress/compare/v2.15.1...v2.15.2)

---
updated-dependencies:
- dependency-name: eslint-plugin-cypress
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-06 01:27:08 +00:00
dependabot[bot] 4ff93ceabe chore(deps-dev): bump cypress from 13.7.1 to 13.7.3
Bumps [cypress](https://github.com/cypress-io/cypress) from 13.7.1 to 13.7.3.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v13.7.1...v13.7.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-06 01:26:45 +00:00
dependabot[bot] 237a7974a3 chore(deps-dev): bump tslib from 2.6.2 to 2.6.3
Bumps [tslib](https://github.com/Microsoft/tslib) from 2.6.2 to 2.6.3.
- [Release notes](https://github.com/Microsoft/tslib/releases)
- [Commits](https://github.com/Microsoft/tslib/compare/v2.6.2...v2.6.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-06 01:26:03 +00:00
Nextcloud bot 331e535a12 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-07-06 00:19:31 +00:00
Ferdinand Thiessen 57c889f773 fix(IntegrityCheck): Ensure the check is run if no results are available
If there are no cached results the current implementation was also returning an empty array,
but this was the same as when there was a successful run.
So to distinguish this we return `null` if there are *no* results.
In this case we need to rerun the integrity checker.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-07-05 12:32:39 +02:00
Nextcloud bot 6f035bb6d0 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-07-05 00:19:33 +00:00
SebastianKrupinski 38f6af0bd6 fix(carddav): limit vcard size
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2024-07-04 22:18:40 +00:00
Arthur Schiwon d4b5d63c90 Merge pull request #46226 from nextcloud/backport/46219/stable29
[stable29] fix(DAV): offset not applied
2024-07-04 19:40:32 +02:00
Hamza 5864de55a3 Merge pull request #46237 from nextcloud/dependabot/npm_and_yarn/stable29/nextcloud/vue-8.11.3
[stable29] build(deps): Bump @nextcloud/vue from 8.11.2 to 8.14.0
2024-07-04 17:49:40 +02:00
dependabot[bot] 13cbd59a58 build(deps): Bump @nextcloud/vue from 8.11.2 to 8.14.0
Signed-off-by: dependabot[bot] <support@github.com>
2024-07-04 17:14:22 +02:00
Joas Schilling adaf85a16b Merge pull request #46212 from nextcloud/backport/46184/stable29
[stable29] fix: Authorization header can be an empty string
2024-07-04 12:18:37 +02:00
Kate f45ae8ce51 Merge pull request #46290 from nextcloud/backport/46284/stable29 2024-07-04 10:50:49 +02:00
Nextcloud bot e4bb149ebf Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-07-04 00:21:40 +00:00
MichaIng 4bf41805af Merge pull request #46242 from nextcloud/dependabot/npm_and_yarn/stable29/libphonenumber-js-1.10.64
build(deps): Bump libphonenumber-js from 1.10.58 to 1.10.64
2024-07-04 01:12:05 +02:00
dependabot[bot] 819f2b8279 build(deps): Bump libphonenumber-js from 1.10.58 to 1.10.64
Bumps [libphonenumber-js](https://gitlab.com/catamphetamine/libphonenumber-js) from 1.10.58 to 1.10.64.
- [Changelog](https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/CHANGELOG.md)
- [Commits](https://gitlab.com/catamphetamine/libphonenumber-js/compare/v1.10.58...v1.10.64)

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

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-07-03 22:52:32 +00:00
dependabot[bot] 9a70107c18 Merge pull request #46244 from nextcloud/dependabot/npm_and_yarn/stable29/mime-4.0.3 2024-07-03 22:02:39 +00:00
dependabot[bot] ebcc04a544 build(deps-dev): Bump mime from 4.0.1 to 4.0.3
Bumps [mime](https://github.com/broofa/mime) from 4.0.1 to 4.0.3.
- [Changelog](https://github.com/broofa/mime/blob/v4.0.3/CHANGELOG.md)
- [Commits](https://github.com/broofa/mime/compare/v4.0.1...v4.0.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-07-03 21:32:28 +00:00
Joas Schilling 8c6101741c fix(tests): Remove output when running tests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-07-03 16:03:44 +00:00
F. E Noel Nfebe 93b617bddc Merge pull request #46281 from nextcloud/backport/46068/stable29
[stable29] fix(ExternalSharing): Handle template shares from external sources
2024-07-03 15:28:34 +01:00
nextcloud-command f558a0796f chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-07-03 12:46:52 +00:00
fenn-cs f2bfcdc71a refactor(SharingInput): Remove unused addShare
The new sharing flow since NC27 requires that users open the sharing details tab and

customize their share before creating it.

In https://github.com/nextcloud/server/pull/39472 the work of `addShare` was handed down to

`openSharingDetails` that opens the sharing details tab for the user to customize and manually

creat their share.

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2024-07-03 13:40:57 +01:00
fenn-cs dbe1bd552a fix(ExternalSharing): Handle template share from external sources
The new sharing flow requires or implies that users should edit share before creating.
External sources should not created the share IF we would upon sharing details tab on first request.

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2024-07-03 10:33:17 +00:00
Joas Schilling 45e17b125e Merge pull request #46264 from nextcloud/automated/noid/stable29-update-ca-cert-bundle
[stable29] fix(security): Update CA certificate bundle
2024-07-03 08:45:27 +02:00
nextcloud-command e3fae22a2a fix(security): Update CA certificate bundle
Signed-off-by: GitHub <noreply@github.com>
2024-07-03 02:19:46 +00:00
Nextcloud bot c411edd255 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-07-03 00:20:19 +00:00
Richard Steinmetz b34ec64c23 Merge pull request #45993 from nextcloud/backport/45866/stable29
[stable29] fix(preview): don't create folder structure when previews are disabled
2024-07-02 15:17:31 +02:00
dependabot[bot] 782065735c Merge pull request #46246 from nextcloud/dependabot/npm_and_yarn/stable29/cypress/webpack-preprocessor-6.0.2 2024-07-02 11:45:23 +00:00
John Molakvoæ 4579957345 Merge pull request #46240 from nextcloud/dependabot/npm_and_yarn/stable29/cypress-split-1.21.2 2024-07-02 13:17:20 +02:00
dependabot[bot] 4cdd0e0cbb build(deps-dev): Bump @cypress/webpack-preprocessor from 6.0.1 to 6.0.2
Bumps [@cypress/webpack-preprocessor](https://github.com/cypress-io/cypress) from 6.0.1 to 6.0.2.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/@cypress/webpack-preprocessor-v6.0.1...@cypress/webpack-preprocessor-v6.0.2)

---
updated-dependencies:
- dependency-name: "@cypress/webpack-preprocessor"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-02 10:29:53 +00:00
dependabot[bot] 9d3ec7ba5f build(deps-dev): Bump cypress-split from 1.21.0 to 1.21.2
Bumps [cypress-split](https://github.com/bahmutov/cypress-split) from 1.21.0 to 1.21.2.
- [Release notes](https://github.com/bahmutov/cypress-split/releases)
- [Commits](https://github.com/bahmutov/cypress-split/compare/v1.21.0...v1.21.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-02 10:28:45 +00:00
F. E Noel Nfebe b94bcef5c8 Merge pull request #46228 from nextcloud/backport/45608/stable29
[stable29] docs(ShareApiController): Correct note about expiry date timezone
2024-07-02 11:02:41 +01:00
Daniel Kesselberg 4342617dd9 fix(preview): don't create folder structure when previews are disabled
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-07-02 11:51:31 +02:00
Nextcloud bot 11323fbb55 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-07-02 00:19:29 +00:00
Louis 146cef48e1 Merge pull request #46142 from nextcloud/backport/46097/stable29
[stable29] fix(files_sharing): Also set the expiration date timezone during validation
2024-07-01 22:47:37 +02:00
Louis Chemineau 1fb0cc25d2 fix(files_sharing): Store the expiration date relative to the server's timezone
This is needed as we want to store the difference between the server's and the user's timezones.

Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-07-01 22:23:26 +02:00
Louis 45fda86626 Merge pull request #46018 from nextcloud/backport/45984/stable29
[stable29] Don't trigger action when renaming
2024-07-01 22:17:38 +02:00
fenn-cs 78f4fb67ac docs(ShareApiController): Correct note about expiry date timezone
Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2024-07-01 17:24:48 +00:00
nextcloud-command 42d0f52b08 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-07-01 18:40:51 +02:00
Arthur Schiwon 19192bb037 fix(BuildSocialSearchIndexBackgroundJob): offset not applied
with more than 100 results, this job may never finish

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-07-01 16:38:33 +00:00
Louis Chemineau a91d44b15e fix(files): Don't react to clicks when renaming
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-07-01 18:34:32 +02:00
Louis 35b6745e14 Merge pull request #46128 from nextcloud/backport/46127/stable29
[stable29] feat(files): increase max copy-move concurrency to 5
2024-07-01 17:35:17 +02:00
nextcloud-command 39502006e8 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-07-01 13:52:59 +02:00
John Molakvoæ 5a232e997a feat(files): increase max copy-move concurrency to 5
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2024-07-01 13:43:10 +02:00
Ferdinand Thiessen 859ff7b68c Merge pull request #46213 from nextcloud/backport/45258/stable29
[stable29] fix: getMountsForFileId may return an unordered list
2024-07-01 13:19:51 +02:00
Daniel Kesselberg 0650af3247 fix: getMountsForFileId may return an unordered list
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-07-01 09:59:37 +00:00
Julius Härtl 583caa8d70 fix: Authorization header can be an empty string
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-07-01 09:44:23 +00:00
Ferdinand Thiessen 83c5b9297a fix(theming): Also provide default image as background by absolut URL
There was a regression that for the default theme the image was not set as the background.
Also the background was not always an absolut URL, only for custom images it was absolut,
for default images / shipped images it was relative.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-07-01 11:30:20 +02:00
Joas Schilling 3f72902bb5 Merge pull request #45726 from nextcloud/backport/45619/stable29
[stable29] ci: Migrate Litmus and CalDAVTester from drone to GitHub
2024-07-01 09:54:10 +02:00
Nextcloud bot 69a53d0fb7 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-07-01 00:19:30 +00:00
Ferdinand Thiessen cb778a8d76 Merge pull request #45892 from nextcloud/automated/noid/stable29-fix-npm-audit
[stable29] Fix npm audit
2024-07-01 01:01:31 +02:00
nextcloud-command 51d6e9f6b3 fix(deps): Fix npm audit
Signed-off-by: GitHub <noreply@github.com>
2024-06-30 03:00:48 +00:00
Nextcloud bot 864ff95aa2 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-06-30 00:19:30 +00:00
Git'Fellow fd4ce00993 Merge pull request #46203 from nextcloud/backport/46190/stable29
[stable29] fix(setupchecks): skip check when disk_free_space is disabled
2024-06-29 19:32:41 +02:00
Daniel 373c3ae936 Merge pull request #46117 from nextcloud/backport/46002/stable29
[stable29] Use guzzle for addressbook federation
2024-06-29 16:15:44 +02:00
Daniel Kesselberg c0d4d376cb fix(setupchecks): skip check when disk_free_space is disabled
Make it easier to discover that the check failed because disk_free_space is disabled.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-06-29 14:00:33 +00:00
Nextcloud bot b969174b2f Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-06-29 00:19:51 +00:00
Ferdinand Thiessen f38c416183 ci: Migrate CalDAV and CardDAV tests from drone to GitHub Actions
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-06-28 17:43:08 +02:00
Ferdinand Thiessen af5aa429ef ci: Migrated litmus checks to GitHub
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-06-28 17:41:41 +02:00
John Molakvoæ af5ae03b7a Merge pull request #46137 from nextcloud/backport/45977/stable29 2024-06-28 15:58:30 +02:00
John Molakvoæ 3844217aae Merge pull request #45988 from nextcloud/backport/45963/stable29 2024-06-28 15:53:17 +02:00
Julius Härtl a3cec03f3a fix: Avoid throwing errors for teams are unavailable
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-06-28 09:51:25 +02:00
Joas Schilling 8abf72b473 Merge pull request #45843 from nextcloud/backport/45530/stable29
[stable29] fix(cron): Log excess memory usage at debug and info levels
2024-06-28 08:45:40 +02:00
Nextcloud bot 79721b48e5 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-06-28 00:20:49 +00:00
Josh 92fce66750 fix(cron): Log excess memory usage at debug and info levels
Signed-off-by: Josh <josh.t.richards@gmail.com>
2024-06-27 17:07:58 -04:00
Joas Schilling 24d88615d0 Merge pull request #46175 from nextcloud/bugfix/noid/fix-openapi
[stable29] fix(CI): Fix OpenAPI github action
2024-06-27 16:58:43 +02:00
Joas Schilling b9811ef5cb Merge pull request #46173 from nextcloud/backport/46133/stable29
[stable29] fix(federation): Fix missing protocol on CloudID remote
2024-06-27 16:50:14 +02:00
Joas Schilling 2b053d60cc fix(CI): Fix OpenAPI github action
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-06-27 15:37:48 +02:00
Joas Schilling 17434538d4 fix(federation): Fix missing protocol on CloudID remote
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-06-27 13:00:43 +00:00
Benjamin Gaussorgues 01c0e743c7 Merge pull request #46168 from nextcloud/backport/46059/stable29 2024-06-27 12:40:05 +02:00
Benjamin Gaussorgues 5efc468824 perf(session): remove useless session open
`UseSession` isn’t used in theses controllers.
Not using it should avoid a few session locks.

Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2024-06-27 09:17:39 +00:00
Daniel ad2535fee9 Merge pull request #46146 from nextcloud/backport/44893/stable29
[stable29] fix(caldav): When message is a reply compare the message sender not the recipient
2024-06-27 11:03:42 +02:00
Joas Schilling a75fa92d05 Merge pull request #46154 from nextcloud/automated/noid/stable29-update-code-signing-crl
[stable29] fix(security): Update code signing revocation list
2024-06-27 09:41:12 +02:00
SebastianKrupinski 6fa1acae8e fix(caldav): when message is a reply compare the message sender not the recipient
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-06-27 09:23:49 +02:00
nextcloud-command 5f89cb3fdb fix(security): Update code signing revocation list
Signed-off-by: GitHub <noreply@github.com>
2024-06-27 02:21:12 +00:00
Nextcloud bot 555be3fd3a Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-06-27 00:20:04 +00:00
Sebastian Krupinski 5dd1b708fa fix(dav): add missing database index for dav_shares
fix(dav): add missing database index for dav_shares
2024-06-26 17:31:50 -04:00
SebastianKrupinski 0dbd4aa8b9 fix(dav): add missing database index for dav_shares resourceid, type and access
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>

Co-authored-by: Richard Steinmetz <richard@steinmetz.cloud>
Signed-off-by: Sebastian Krupinski <165827823+SebastianKrupinski@users.noreply.github.com>

Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>

Co-authored-by: Richard Steinmetz <richard@steinmetz.cloud>
Signed-off-by: Sebastian Krupinski <165827823+SebastianKrupinski@users.noreply.github.com>

Co-authored-by: Richard Steinmetz <richard@steinmetz.cloud>
Signed-off-by: Sebastian Krupinski <165827823+SebastianKrupinski@users.noreply.github.com>

Co-authored-by: Richard Steinmetz <richard@steinmetz.cloud>
Signed-off-by: Sebastian Krupinski <165827823+SebastianKrupinski@users.noreply.github.com>

Co-authored-by: Daniel <mail@danielkesselberg.de>
Signed-off-by: Sebastian Krupinski <165827823+SebastianKrupinski@users.noreply.github.com>

Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2024-06-26 19:04:15 +00:00
Louis Chemineau b65135e319 fix(files): Update favorites navigation list on folder renames
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-06-26 16:02:07 +02:00
Joas Schilling 7f61a8ae29 Merge pull request #46096 from nextcloud/backport/46077/stable29
[stable29] fix(userstatus): Fix user status automation in real-life scenario
2024-06-26 13:26:04 +02:00
Nextcloud bot 5ab42b06eb Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-06-26 00:19:55 +00:00
Daniel Kesselberg b0505d62f4 chore: don't pass null to createElement
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-06-25 19:11:17 +00:00
Daniel Kesselberg 8670df2bc5 refactor(dav): migrate to new http client
The request method is available since 29 and thus we can finally use the modern http client to send the report request for the addressbook sync.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-06-25 19:11:17 +00:00
Ferdinand Thiessen 6f34a47f5a Merge pull request #45906 from nextcloud/backport/45884/stable29
[stable29] fix(files): Properly handle denied ownership transfers
2024-06-25 18:03:13 +02:00
Ferdinand Thiessen f7217e136b Merge pull request #45897 from nextcloud/chore/deps-zipstreamer-29
[stable29] chore(deps): Bump deepdiver/zipstreamer to 2.0.3
2024-06-25 14:43:50 +02:00
Louis a0dc778e14 Merge pull request #45995 from nextcloud/backport/45580/stable29
[stable29] fix: avoid duplicate tag inserts by checking if the mapping exists already in db
2024-06-25 14:06:45 +02:00
Ferdinand Thiessen 65db7c878d chore(deps): Bump deepdiver/zipstreamer to 2.0.3
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-06-25 13:36:29 +02:00
Arthur Schiwon 465ad2f4ec Merge pull request #46063 from nextcloud/release/29.0.3
29.0.3
2024-06-25 11:57:05 +02:00
Joas Schilling 2bd5a534f0 fix(userstatus): Fix user status automation in real-life scenario
Order of applying:
- Out-of-office
- Availability
- Call
- Meeting
- User status

Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-06-25 09:33:12 +00:00
Arthur Schiwon 69561004c7 Merge pull request #46075 from nextcloud/backport/46071/stable29
[stable29] fix(Token): add FILESYSTEM scope with SCOPE_SKIP_PASSWORD_VALIDATION
2024-06-25 09:36:14 +02:00
Nextcloud bot a34ea37723 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-06-25 00:20:02 +00:00
Arthur Schiwon 4ccc5905b7 fix(Token): add FILESYSTEM scope with SCOPE_SKIP_PASSWORD_VALIDATION
The scope design requires scopes to be either not specified, or
specified explicitely. Therefore, when setting the
skip-password-validation scope for user authentication from mechanisms
like SAML, we also have to set the filesystem scope, otherwise they will
lack access to the filesystem.

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-06-24 16:03:36 +02:00
Robin Appelman 36ba1d8825 fix: don't use custom certificate bundle if no customer certificates are configured
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-06-24 10:54:05 +00:00
Arthur Schiwon 0f734ea61a build(hub): 29.0.3
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-06-24 11:07:55 +02:00
Nextcloud bot 4b1050686d Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-06-24 00:19:40 +00:00
Nextcloud bot 63279914e9 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-06-23 00:19:47 +00:00
Arthur Schiwon ed744047bd Merge pull request #46032 from nextcloud/release/29.0.3_rc4
29.0.3 RC4
2024-06-21 15:07:13 +02:00
Andy Scherzinger fd08bb8d3d Merge pull request #45904 from nextcloud/backport/45875/stable29
[stable29] fix(theming): also apply enforced theme for guests
2024-06-21 14:09:16 +02:00
Robin Appelman bf8a73c539 fix: also use optimized getFirstNodeyIdInPath for Folder::getFirstNodeById
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-06-21 10:29:52 +00:00
Arthur Schiwon 69767e7772 build(hub): 29.0.3 RC4
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-06-21 11:41:16 +02:00
Andy Scherzinger 91ecdc7d7e Merge pull request #45966 from nextcloud/backport/45930/stable29
[stable29] fix: move repair mimetype repair step to the expensive steps
2024-06-21 11:29:22 +02:00
Nextcloud bot 96c622f5f4 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-06-21 00:20:07 +00:00
John Molakvoæ c52be20770 Merge pull request #46008 from nextcloud/release/29.0.3_rc3 2024-06-20 15:15:25 +02:00
skjnldsv 35316f18bc build(hub): 29.0.3 RC3
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-06-20 14:03:30 +02:00
Andy Scherzinger 56d4906b73 Merge pull request #45991 from nextcloud/backport/45968/stable29
[stable29] fix(dav): Limit number of UPDATES for sync token created_at
2024-06-20 13:40:25 +02:00
yemkareems c47432fe49 fix: removed unused variable and check if tag ids are empty before starting the inserts
Signed-off-by: yemkareems <yemkareems@gmail.com>
2024-06-20 05:31:55 +00:00
yemkareems 42551c558a fix: filtering tags based on existing tags and doing a transaction around the select and insert
Signed-off-by: yemkareems <yemkareems@gmail.com>
2024-06-20 05:31:55 +00:00
yemkareems 6305de4d5a fix: do a select in systemtag_object_mapping to see if tag exists already in db. if it does not exist alone insert the same or else do nothing
Signed-off-by: yemkareems <yemkareems@gmail.com>
2024-06-20 05:31:55 +00:00
Nextcloud bot a43f6e72e2 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-06-20 00:20:03 +00:00
nextcloud-command 30e88f9c64 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-06-19 16:25:11 +00:00
Christoph Wurst bbbc931766 fix(dav): Limit number of UPDATES for sync token created_at
Address book and calendar sync tokens have a created_at column in 26+
and we need to assign a current timestamp to the existing data at
upgrade so the data isn't cleaned up immediately. Updating the full
table is expensive and fails on clustered setups that limit transaction
size. We don't need a timestamp for the oldest rows so we can skip
updating them.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-06-19 16:09:13 +00:00
nextcloud-command f1b212f649 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-06-19 15:10:34 +00:00
Louis Chemineau ff10c5487e fix(files): Rename openFileInfo to fileInfo
And check if openFile is set in the URL before opening a file.

Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-06-19 15:10:33 +00:00
Robin Appelman 523346e1ff fix: set mimetype_version during upgrade to the old version
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-06-19 11:33:16 +02:00
Robin Appelman d3d2488fbb feat: add setup check for needed mimetype migrations
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-06-19 11:22:49 +02:00
Robin Appelman 0a5983ba9a fix: move repair mimetype repair step to the expensive steps
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-06-19 11:20:42 +02:00
Nextcloud bot f72f110278 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-06-19 00:20:35 +00:00
Arthur Schiwon 73b9985c15 Merge pull request #45942 from nextcloud/backport/45933/stable29
[stable29] fix(files): correctly import WebDAV client in files store
2024-06-18 16:42:47 +02:00
Arthur Schiwon 335a737296 build: assets
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-06-18 08:50:02 +00:00
Ferdinand Thiessen 057d81c8d7 fix(files): correctly import WebDAV client in files store
The files store was importing the client, but this is only on current master
on stableX we still need to import the getter function.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-06-18 08:39:44 +00:00
Nextcloud bot a371262bba Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-06-18 00:20:37 +00:00
Arthur Schiwon cec61a974c Merge pull request #45913 from nextcloud/release/29.0.3_rc2
29.0.3 RC2
2024-06-17 21:34:57 +02:00
Arthur Schiwon a852a1cee6 Merge pull request #45928 from nextcloud/backport/45912/stable29
[stable29] ci: use precise ref for 3rdparty check
2024-06-17 21:25:54 +02:00
Arthur Schiwon 97fc4fba40 ci: use precise ref for 3rdparty check
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-06-17 14:38:59 +00:00
Arthur Schiwon ce04a61daa Merge pull request #45907 from nextcloud/backport/45902/stable29
[stable29] fix(deleteAction): Bump up delete requests concurrency to 5
2024-06-17 12:43:36 +02:00
Arthur Schiwon 63f89f4e73 build(hub): 29.0.3 RC2
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-06-17 11:39:34 +02:00
Arthur Schiwon d7538ed6b8 build: assets
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-06-17 11:13:06 +02:00
fenn-cs 0841d9efc5 fix(deleteAction): Bump up delete requests concurrency to 5
A concurrency of who is not efficient. Low throughput, underutilization, high latency etc...

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2024-06-17 09:02:15 +00:00
Ferdinand Thiessen 9aca14681b fix(files): Properly handle denied ownership transfers
When the receiver denies the transfer the notification handler was missing,
so no notification was created for the transfer owner.

But also the internal notification was created two times:
1. When rejecting the transfer
2. By the reject function when dismissing the notification

This is fixed by only relying on the dismiss function.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-06-17 07:44:49 +00:00
skjnldsv df1026f6fc fix(theming): also apply enforced theme for guests
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-06-17 07:22:41 +00:00
Nextcloud bot d1b2dade3e Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-06-17 00:19:29 +00:00
Nextcloud bot 7d4a5b1b8b Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-06-16 00:19:25 +00:00
Nextcloud bot 6dba84c8bb Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-06-15 00:20:49 +00:00
Arthur Schiwon 7c50a464f9 Merge pull request #45795 from nextcloud/release/29.0.3_rc1
29.0.3 RC1
2024-06-14 12:39:24 +02:00
John Molakvoæ 4fc25ae341 Merge pull request #45871 from nextcloud/backport/45867/stable29
[stable29] fix(comments): Use proper icon components instead of icon classes to fix dark mode
2024-06-14 12:37:55 +02:00
Arthur Schiwon b7dc669ad8 Merge pull request #45864 from nextcloud/backport/45688/stable29
[stable29] Show non writable folders during move or copy
2024-06-14 12:34:35 +02:00
Arthur Schiwon d23e640e3e build: assets
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-06-14 11:04:02 +02:00
Louis Chemineau 76c77cc9c5 fix(files): Show non writable folders during move or copy
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-06-14 11:02:02 +02:00
John Molakvoæ b5b279e808 Merge pull request #45862 from nextcloud/backport/45861/stable29 2024-06-14 10:16:39 +02:00
nextcloud-command 760774b7c5 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>

Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-06-14 08:08:43 +00:00
Ferdinand Thiessen 9f3bfa7b62 fix(comments): Use proper icon components instead of icon classes to fix dark mode
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-06-14 05:32:33 +00:00
Nextcloud bot af86bb93c2 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-06-14 00:19:55 +00:00
Andy Scherzinger 35fbc8b4be Merge pull request #45856 from nextcloud/backport/45172/stable29
[stable29] feat: add option to disable scanner transactions
2024-06-13 18:27:52 +02:00
F. E Noel Nfebe 9745771194 Merge pull request #45304 from nextcloud/backport/44464/stable29
[stable29] 44032 fix show new shares without refresh
2024-06-13 16:35:40 +01:00
Louis Chemineau f8446f73f7 fix(files): Ignore right click for default action
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-06-13 16:23:02 +02:00
Robin Appelman 3e56c3d681 feat: add option to disable scanner transactions
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-06-13 12:02:53 +00:00
nextcloud-command 8397a56197 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-06-13 11:51:28 +00:00
Robin Appelman f6062089af Merge pull request #45851 from nextcloud/backport/43531/stable29
[stable29] get child ids for folder in a separate query during move
2024-06-13 13:51:06 +02:00
fenn-cs 34bd23d884 fix(files_sharing): Improve recursion in onNewLinShare
These changes fixes the issue of having the refresh the UI after share creation, as the share is not
immediately removed from the UI list.

Important changes

- The basis of checking wether a password/expire date is no longer based on config values alone
because the config is not expected in a share creation circle. Hence we check the configs and check
if the share object (this.share) has the expected values set. This way, once the required properties
are set, code control does not enter the block meant to handle the setting of required properties
unneccessarily.

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2024-06-13 11:30:54 +01:00
fenn-cs 9578f89b27 refactor(ShareDetails): Prevent undefined errors for share.permissions
Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2024-06-13 11:30:54 +01:00
Robin Appelman d1aac3292a fix: get child ids for folder in a separate query during move
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-06-13 09:46:42 +00:00
Josh 7db4e372b9 Merge pull request #45840 from nextcloud/backport/45649/stable29
[stable29] fix(ObjectStore): Fix regression when hostname is empty
2024-06-13 04:37:08 -04:00
John Molakvoæ 2487687380 Merge pull request #45837 from nextcloud/backport/45251/stable29 2024-06-13 10:33:36 +02:00
Josh fcdf453b58 fix(ObjectStore): handle empty S3 hostname
Fixes #45637

The support for s3-accelerate added in #44496 introduced a regression in AWS S3 environments when `hostname` is blank (which is a valid configuration w/ AWS since the hostname gets auto-generated).

Signed-off-by: Josh <josh.t.richards@gmail.com>
2024-06-13 09:37:03 +02:00
nextcloud-command a95e73bc61 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-06-13 09:32:23 +02:00
skjnldsv ed51cf2d5e fix(files): fetch nodes if we have multiple of the same fileid in the store
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-06-13 09:32:23 +02:00
skjnldsv e2adc32175 fix(files): do not rely on unique fileid
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-06-13 09:32:23 +02:00
Nextcloud bot 6ebbc382ca Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-06-13 00:19:59 +00:00
Arthur Schiwon 464cfce9b5 Merge pull request #44977 from nextcloud/backport/44745/stable29
[stable29] fix(auth): Keep redirect URL during 2FA setup and challenge
2024-06-12 19:37:41 +02:00
Daniel a41941692d Merge pull request #45821 from nextcloud/backport/45811/stable29
[stable29] test: add tests for ProfilePageController
2024-06-12 19:31:50 +02:00
Arthur Schiwon 3a17ec6db7 Merge pull request #45809 from nextcloud/fix/noid/fix-new-token-scope-name
[stable29] fix(Token): make new scope future compatible
2024-06-12 19:01:49 +02:00
Daniel Kesselberg 73703eb276 test: add tests for ProfilePageController
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-06-12 18:21:58 +02:00
John Molakvoæ 01a13925bc Merge pull request #45826 from nextcloud/backport/45571/stable29 2024-06-12 17:09:49 +02:00
John Molakvoæ (skjnldsv) 1981d84938 fix(files): also trigger new tab on file name middle click
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>

Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>

Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-06-12 14:48:08 +00:00
John Molakvoæ b53cc985c8 Merge pull request #45816 from nextcloud/backport/45698/stable29 2024-06-12 16:30:54 +02:00
Arthur Schiwon 85d46fe6a5 Merge pull request #45808 from nextcloud/backport/45768/stable29
[stable29] Use isRetryable to catch retryable exceptions
2024-06-12 15:16:25 +02:00
Christoph Wurst ba46d0306c Merge pull request #45813 from nextcloud/backport/45804/stable29
[stable29] fix(cron): Log long running jobs
2024-06-12 15:10:17 +02:00
skjnldsv 3f5910b785 chore: compile assets
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>

Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-06-12 11:32:25 +00:00
provokateurin ac4ead61af fix(core): Return X-NC-IsCustomAvatar for guest avatars too
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-06-12 11:06:10 +00:00
skjnldsv 7327803816 fix(files_sharing): dark avatar support
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-06-12 11:06:10 +00:00
skjnldsv 697f9032cf fix(dav): also return shared-with-me shares data
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-06-12 11:06:10 +00:00
skjnldsv 4ad83e9fa3 fix(core): allow guest avatar fallback
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-06-12 11:06:10 +00:00
skjnldsv e82241cf89 fix(files_sharing): fix parsing of remote shares
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-06-12 11:06:09 +00:00
Christoph Wurst ed95c036bf fix(cron): Log long running jobs
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-06-12 10:42:01 +00:00
Arthur Schiwon fc584b7874 fix(Token): make new scope future compatible
- "password-unconfirmable" is the effective name for 30, but a draft
  name was backported.

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-06-12 11:05:43 +02:00
Louis Chemineau b7cd197315 fix(files): Use isRetryable to catch retryable exceptions
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-06-12 08:15:08 +00:00
Andy Scherzinger a51237a7a1 Merge pull request #45705 from nextcloud/backport/43942/stable29
[stable29] fix(Session): avoid password confirmation on SSO
2024-06-12 09:47:31 +02:00
John Molakvoæ 10f306bf43 Merge pull request #45764 from sanskar-soni-9/fix/numbered-owner-name-and-id 2024-06-12 09:25:31 +02:00
Sanskar Soni d78d468b36 fix(files): handling numbered type owner name & id
Signed-off-by: Sanskar Soni <sanskarsoni300@gmail.com>
2024-06-12 09:10:20 +02:00
Andy Scherzinger 095774b0b2 Merge pull request #45800 from nextcloud/backport/45775/stable29
[stable29] fix(caldav): event links in shared calendar notifications
2024-06-12 09:08:50 +02:00
Nextcloud bot 2dd1c74883 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-06-12 00:20:13 +00:00
Richard Steinmetz a794f15b1f fix(caldav): event links in shared calendar notifications
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2024-06-11 18:44:14 +00:00
Arthur Schiwon f0494ec17a fix(Session): avoid password confirmation on SSO
SSO backends like SAML and OIDC tried a trick to suppress password
confirmations as they are not possible by design. At least for SAML it was
not reliable when existing user backends where used as user repositories.

Now we are setting a special scope with the token, and also make sure that
the scope is taken over when tokens are regenerated.

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-06-11 20:19:18 +02:00
Andy Scherzinger f211e9a767 Merge pull request #45666 from nextcloud/backport/45581/stable29
[stable29] fix(files): reset menu pos when opening in grid mode
2024-06-11 20:05:23 +02:00
Andy Scherzinger 97f10404b5 Merge pull request #45773 from nextcloud/backport/45347/stable29
[stable29] fix: Only list remnants as disabled if option is enabled
2024-06-11 19:30:40 +02:00
nextcloud-command 2024d99c77 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-06-11 17:06:15 +00:00
Côme Chilliet cbaba872e1 fix: Only list remnants as disabled if option is enabled
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-06-11 18:16:08 +02:00
John Molakvoæ (skjnldsv) 9142ad65f4 fix(files): reset menu pos when opening in grid mode
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2024-06-11 18:13:13 +02:00
Ferdinand Thiessen 907a12b51f Merge pull request #45791 from nextcloud/backport/45781/stable29
[stable29] fix(search): tags redirect route
2024-06-11 17:41:56 +02:00
Arthur Schiwon 013e200142 build(hub): 29.0.3 RC1
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-06-11 17:04:23 +02:00
Benjamin Gaussorgues 01a5dadd68 Merge pull request #45660 from nextcloud/backport/45570/stable29 2024-06-11 16:49:06 +02:00
skjnldsv 8f631c4213 fix(search): tags redirect route
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-06-11 13:43:43 +00:00
Andy Scherzinger 41fcd64bb7 Merge pull request #45778 from nextcloud/backport/45669/stable29
[stable29] fix: Autodetect legacy filekey instead of trusting the header for legacy header
2024-06-11 12:07:34 +02:00
Louis Chemineau e7745a291c test: Fix encryption test
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-06-11 08:36:36 +00:00
Côme Chilliet 9333e6d7b7 fix: add default value for new flag $useDecryptAll on getFileKey
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-06-11 08:36:36 +00:00
Côme Chilliet 5d15fc738c fix: Autodetect legacy filekey instead of trusting the header for legacy header
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-06-11 08:36:36 +00:00
Nextcloud bot 84a9b08fe5 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-06-11 00:19:40 +00:00
Ferdinand Thiessen 31cae5dbd7 Merge pull request #45765 from nextcloud/fix/health-check-traefik
fix(settings): Use axios directly for health check to preven URL sanitizing
2024-06-10 21:50:14 +02:00
nextcloud-command 7226b014c9 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-06-10 19:31:02 +00:00
Ferdinand Thiessen 00c077be56 fix(settings): Use axios directly for health check to preven URL sanitizing
When using Apache with `DirectorySlash` it will respond with 301 and the URL with trailing slash.
But when using traefik as the reverse proxy it can not rewrite redirects, this leads to the problem
that the Apache response is using HTTP in the redirect but the real server (traefik) is only listening on HTTPS.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-06-10 21:25:44 +02:00
Daniel 1e8eedf039 Merge pull request #45756 from nextcloud/backport/45120/stable29
[stable29] fix(dav): Don't log access control as error
2024-06-10 17:00:06 +02:00
Joas Schilling b3705418f3 fix(dav): Don't log access control as error
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-06-10 11:55:30 +00:00
Benjamin Gaussorgues 6dfb395a9c Merge pull request #45734 from nextcloud/ci/eol/update-workflow-stable29 2024-06-10 11:57:58 +02:00
Benjamin Gaussorgues f993d52c2c Merge pull request #45728 from nextcloud/backport/45611/stable29 2024-06-10 11:11:54 +02:00
Nextcloud bot cae13ec9d1 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-06-10 00:19:48 +00:00
Richard Steinmetz 102a67507d ci(eol): update workflow from template
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2024-06-09 10:33:07 +02:00
Nextcloud bot 7f03e584c1 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-06-09 00:19:29 +00:00
nextcloud-command 7d5aa42be0 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-06-08 16:32:15 +00:00
Ferdinand Thiessen 81aa6ff233 fix(files): Ensure that focussed file is always scrolled right
Ensure the correct file is scrolled if the content changes,
this also sets a minimal height to the virtual scrolling area
so that the `scrollTop` can be set.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-06-08 15:10:16 +00:00
Ferdinand Thiessen 506343706b fix(files): Keep query when trigger the sidebar action
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-06-08 15:10:16 +00:00
Ferdinand Thiessen f02a465fa9 fix(files): open-in-files action should also set openfile query
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-06-08 15:10:16 +00:00
Ferdinand Thiessen 10cbc5748f refactor(files): Fix TypeScript issues in FileEntryActions
* We filter the array in `enabledSubmenuActions` so we can be sure the action does have a parent
* Node attributes must be accessed using the `attributes` getter not the private `_attributes` property
* Cast action ref to correct component interface to make TypeScript happy

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-06-08 15:10:16 +00:00
Nextcloud bot 6858bb5ca5 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-06-08 00:19:20 +00:00
Ferdinand Thiessen 29ab5d2f52 fix(Mailer): Allow to enforce strict email format
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-06-07 17:16:21 +02:00
John Molakvoæ 11c80d5eb2 Merge pull request #45597 from nextcloud/backport/45594/stable29 2024-06-07 13:43:11 +02:00
John Molakvoæ 8070f70c56 Merge pull request #45587 from nextcloud/backport/36942/stable29 2024-06-07 13:43:03 +02:00
John Molakvoæ 5d962241ca Merge pull request #45543 from nextcloud/backport/44664/stable29 2024-06-07 12:17:58 +02:00
John Molakvoæ 39adc5f019 Merge pull request #44675 from nextcloud/backport/44306/stable29 2024-06-07 12:17:37 +02:00
John Molakvoæ 0c8e34ee04 Merge pull request #45566 from nextcloud/backport/45222/stable29 2024-06-07 12:12:12 +02:00
John Molakvoæ 81459eaceb fix: php lint
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2024-06-07 12:11:56 +02:00
Robin Appelman 54ee9d714b unmark deleted users if their last login date is more recent than deleted date
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-06-07 12:11:56 +02:00
Ferdinand Thiessen 87ebfe3eef refactor(files): Consistently sort imports of FileEntryMixin
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-06-07 12:11:42 +02:00
Ferdinand Thiessen b0c29f2622 fix(files): Ensure entry with fileid is marked as active
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-06-07 12:09:53 +02:00
John Molakvoæ bdf1d2c1f3 Merge pull request #45659 from nextcloud/backport/44897/stable29 2024-06-07 12:08:55 +02:00
Ferdinand Thiessen 7b49eea413 feat(cypress): Add tests for files sidebar
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-06-07 12:08:37 +02:00
Ferdinand Thiessen 52039ea152 fix(files): Update current fileid in route if that node was deleted
We do not change the view to the trash bin but stay in the current view,
so we need to update the current fileid on the route if that was deleted.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-06-07 12:07:33 +02:00
Ferdinand Thiessen cc35d07a8c fix(files): Close sidebar if shown node is deleted
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-06-07 12:07:33 +02:00
John Molakvoæ f3b675561b Merge pull request #45662 from nextcloud/backport/45586/stable29 2024-06-07 12:07:16 +02:00
John Molakvoæ 3c392c0913 Merge pull request #45379 from nextcloud/backport/45374/stable29 2024-06-07 12:06:44 +02:00
Ferdinand Thiessen ace4b50819 fix(files): Only execute default action if there is an action to perform
Some files do not have a default action (can not be viewed and only downloaded).
If the `openfile` query is set on them the `handleOpenFile` will throw an error.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-06-07 12:06:37 +02:00
John Molakvoæ a0ede5744b Merge pull request #45476 from nextcloud/backport/45459/stable29 2024-06-07 12:02:30 +02:00
John Molakvoæ 620669d571 Merge pull request #45590 from nextcloud/backport/45413/stable29 2024-06-07 11:59:55 +02:00
John Molakvoæ 4d123fdb16 Merge pull request #44927 from nextcloud/backport/44039/stable29 2024-06-07 11:03:54 +02:00
Sam Bull ccfdc97093 fix: regression with updating read-only config
Signed-off-by: Sam Bull <git@sambull.org>
2024-06-07 11:03:47 +02:00
John Molakvoæ 8ed2df80c2 Merge pull request #44988 from nextcloud/backport/44973/stable29 2024-06-07 11:03:00 +02:00
John Molakvoæ 3eee578cf8 Merge pull request #44909 from nextcloud/backport/44805/stable29 2024-06-07 11:02:29 +02:00
Christopher Ng 8aa6493c17 fix(files): Display selected files count
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit a999544ff2)
2024-06-07 11:02:05 +02:00
John Molakvoæ 6c27d57e0d Merge pull request #44894 from nextcloud/backport/44644/stable29 2024-06-07 11:01:38 +02:00
John Molakvoæ 372dfcbfee Merge pull request #45675 from nextcloud/backport/45606/stable29 2024-06-07 11:00:33 +02:00
skjnldsv d8211e7048 fix(federatedfilesharing): import external federated share script
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-06-07 10:54:50 +02:00
John Molakvoæ c7088484f7 Merge pull request #45621 from nextcloud/backport/45494/stable29 2024-06-07 09:00:49 +02:00
John Molakvoæ 4cade9e374 fix(core): unsupported browser getRootUrl import
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2024-06-07 09:00:26 +02:00
John Molakvoæ (skjnldsv) 2c2a5a25ac fix(core): unsupported browser redirect url
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2024-06-07 08:58:58 +02:00
John Molakvoæ 8f691735f8 Merge pull request #45601 from nextcloud/backport/45538/stable29 2024-06-07 08:57:57 +02:00
skjnldsv fc5b5d305e chore: update @nextcloud/files to 3.4.1
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-06-07 08:55:55 +02:00
Ferdinand Thiessen 730aabe5bc fix(deps): Update @nextcloud/event-bus to version 3.3.1
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-06-07 08:54:25 +02:00
Ferdinand Thiessen 41aadc43b5 fix: Update @nextcloud/files to 3.4.0 to fix public link shares
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-06-07 08:54:25 +02:00
Nextcloud bot 96dd8df677 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-06-07 00:35:26 +00:00
Andy Scherzinger e49aaaf0b9 Merge pull request #45348 from nextcloud/backport/45026/stable29
[stable29] Avoid updating the same oc_authtoken row twice
2024-06-06 18:01:36 +02:00
Andy Scherzinger 39d968b330 Merge pull request #45690 from nextcloud/backport/45679/stable29
[stable29] fix(files_sharing): usage of NcTextField in SelectShareFolderDialogue
2024-06-06 14:48:19 +02:00
Christoph Wurst ce339b327f fix(auth): Update authtoken activity selectively
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-06-06 14:39:46 +02:00
Julius Härtl c647f89296 fix: Always set last activity if we update the row of an authtoken anyways
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-06-06 14:39:46 +02:00
Julius Härtl 9058428747 docs: Update token_auth_activity_update default value to match implementation
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-06-06 14:39:46 +02:00
Louis e46a63cf57 Merge branch 'stable29' into backport/45679/stable29 2024-06-06 13:46:58 +02:00
nextcloud-command 8d275826fc chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-06-06 11:32:47 +00:00
Kate b9c5f6a326 Merge pull request #45644 from nextcloud/backport/45632/stable29 2024-06-06 12:52:22 +02:00
Kate f530773f24 Merge pull request #45645 from nextcloud/backport/45455/stable29 2024-06-06 12:52:03 +02:00
Joas Schilling 6ea06e1b11 Merge pull request #45602 from nextcloud/backport/44670/stable29
[stable29] fix(session): Do not update authtoken last_check for passwordless
2024-06-06 12:34:47 +02:00
Daniel Kesselberg 8330825f3e feat(caldav): order the calendar objects by start date for search
Sorting the events by the start date leads to more predictable results for the search API consumers.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-06-06 12:29:29 +02:00
Daniel Kesselberg 449af33c29 fix(caldav): event search with limit and timerange
Event recurrences are evaluated at runtime because the database only knows the first and last occurrence.

Given, a user created 8 events with a yearly reoccurrence and two for events tomorrow.
The upcoming event widget asks the CalDAV backend for 7 events within the next 14 days.

If limit 7 is applied to the SQL query, we find the 7 events with a yearly reoccurrence and discard the events after evaluating the reoccurrence rules because they are not due within the next 14 days and end up with an empty result even if there are two events to show.

The workaround for search requests with a limit and time range is asking for more row than requested and retrying if we have not reached the limit.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-06-06 12:29:29 +02:00
Daniel b6efc89f78 Merge pull request #45641 from nextcloud/backport/45235/stable29
[stable29] fix(caldav): automatically delete outdated scheduling objects
2024-06-06 12:27:09 +02:00
Louis Chemineau 79cf454636 fix(files_sharing): usage of NcTextField in SelectShareFolderDialogue
The NcTextField needs a value property to be set.

Signed-off-by: Louis Chemineau <louis@chmn.me>

[skip ci]
2024-06-06 10:21:55 +00:00
Andy Scherzinger ab577c5031 Merge pull request #45577 from nextcloud/backport/45480/stable29
[stable29] fix(theming): replace standard generic package icon by material design
2024-06-06 12:13:14 +02:00
Benjamin Gaussorgues fd9f8b5eab Merge pull request #45687 from nextcloud/release/29.0.2 2024-06-06 10:31:47 +02:00
Benjamin Gaussorgues 29fbf55222 build(hub): 29.0.2
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2024-06-06 08:57:19 +02:00
Nextcloud bot 0f474331e7 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-06-06 00:20:59 +00:00
Nextcloud bot 58e883544f Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-06-05 09:56:15 +00:00
Christoph Wurst 8f9a0f8fdc fix(session): Do not update authtoken last_check for passwordless
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-06-03 22:54:50 +02:00
provokateurin c646ed9625 fix(core): Fix NavigationEntry typing
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-06-03 15:12:32 +00:00
provokateurin 3d2b63c057 fix(NavigationManager): Make entry order always an integer
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-06-03 15:12:32 +00:00
provokateurin 622b88a3af fix(INavigationManager): Fix psalm alias not set in the right place
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-06-03 15:12:32 +00:00
provokateurin bc87fa837a fix(core): Add missing null value possibility to Resource and Reference richObject
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-06-03 14:15:25 +00:00
Anna Larch ec94f5499c fix(caldav): automatically delete outdated scheduling objects
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-06-03 11:10:03 +00:00
John Molakvoæ d0c01fbfd0 fix(core): package-x-generic svg width and height
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2024-05-31 15:45:10 +02:00
F. E Noel Nfebe 806e390d14 Merge pull request #45483 from nextcloud/backport/44485/stable29
[stable29] Respect empty `expiryDate` value in server
2024-05-31 13:12:09 +01:00
Git'Fellow eec6816d49 Try create folder first and check if it exists after
Co-authored-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2024-05-30 18:29:20 +00:00
Git'Fellow 75883cb4d9 fix(files): Try to create dir only if it not exists
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2024-05-30 18:29:20 +00:00
skjnldsv 803eedba4a fix(theming): replace standard generic package icon by material design
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-05-30 06:46:32 +00:00
Benjamin Gaussorgues 540a5c7e62 Merge pull request #45564 from nextcloud/release/29.0.2_rc2 2024-05-29 15:48:05 +02:00
Benjamin Gaussorgues 8479dfa02c Merge pull request #45206 from nextcloud/backport/45055/stable29 2024-05-29 15:15:56 +02:00
Benjamin Gaussorgues 8583a5bd09 build(hub): 29.0.2 RC2
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2024-05-29 15:09:17 +02:00
Benjamin Gaussorgues 7af7793983 Merge pull request #45550 from nextcloud/release/29.0.2_rc1 2024-05-29 14:58:00 +02:00
fenn-cs bd9e2f13a9 test(Sharing): Integration test for no expiration set date for share
- Verify that explicitly sending empty `expireDate` param to server overwrite default

and sets not expiry date, if non is enforced.

- Update tests to avoid converting empty string to date.

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2024-05-29 12:58:37 +01:00
fenn-cs 054722361e refactor(shareManager): Use constructor property promotion
Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2024-05-29 12:58:37 +01:00
fenn-cs 5dbb96fc8a fix(shareManager): Respect empty expireDate in server
If `expireDate` is an empty string and not `null` then the server should not set a default.

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2024-05-29 12:58:37 +01:00
Ferdinand Thiessen 1d269ad89d Merge pull request #44959 from nextcloud/backport/44884/stable29
[stable29] feat: add request id as comment to all queries
2024-05-29 12:57:36 +02:00
Anna Larch 9bea6eca98 fix(userstatus): catch unique constrain violation on revert
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-05-29 10:31:14 +02:00
Ferdinand Thiessen b3341a17dc Merge pull request #45158 from nextcloud/backport/45140/stable29
[stable29] fix: fix FileAccess::getByFileId(InStorage)
2024-05-29 10:27:19 +02:00
Ferdinand Thiessen 05eb647697 Merge pull request #45534 from nextcloud/backport/45419/stable29
[stable29] fix(files): Implement `SortingService` to fix sorting of files
2024-05-29 10:26:35 +02:00
Git'Fellow 340db5c3d7 Merge pull request #45529 from nextcloud/backport/45014/stable29
[stable29] fix: forbid moving a folder into a subfolder of itself
2024-05-29 10:26:00 +02:00
Josh ba654a6abd Merge pull request #45522 from nextcloud/backport/45506/stable29
[stable29] fix(db): Log long transaction times at debug level
2024-05-28 17:41:53 -04:00
Josh 895c2cf6a3 Merge pull request #45443 from nextcloud/backport/45390/stable29
[stable29] fix: Mark more configs as sensitive
2024-05-28 17:39:35 -04:00
Josh b7f4e20ffc fix(db): Log loong transaction times at debug level
Signed-off-by: Josh <josh.t.richards@gmail.com>
2024-05-28 17:09:19 -04:00
Josh 413526a688 Merge pull request #45215 from nextcloud/backport/45058/stable29
[stable29] perf(db): Sort data for IN before chunking
2024-05-28 17:04:56 -04:00
Ferdinand Thiessen 2a61d2bcdb Merge pull request #45430 from nextcloud/fix/stable-background-color
[stable29] Fix header menu icon color
2024-05-28 17:31:15 +02:00
Ferdinand Thiessen fc113c8ce4 chore: Compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-05-28 16:52:53 +02:00
Ferdinand Thiessen 7dcc2e541c fix(theming): When selected a background image make header color independent of primary color
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-05-28 16:49:02 +02:00
Ferdinand Thiessen 04790e9ae4 Merge pull request #44852 from nextcloud/backport/44847/stable29
[stable29] fix(files): Focus filename input in new-node dialog when opened
2024-05-28 16:48:13 +02:00
Benjamin Gaussorgues f89e426331 build(hub): 29.0.2 RC1
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2024-05-28 16:20:37 +02:00
Ferdinand Thiessen b964439b35 fix(files): Focus filename input in new-node dialog when opened
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-05-28 14:09:13 +02:00
Christoph Wurst eee5799283 Merge pull request #45541 from nextcloud/backport/45013/stable29
[stable29] fix(db): Prevent two connections for single node databases
2024-05-28 14:04:02 +02:00
Ferdinand Thiessen 782c7efc69 Merge pull request #44903 from nextcloud/backport/44868/stable29
[stable29] fix(comments): Fix issues thrown by comments sidebar tab code
2024-05-28 13:53:57 +02:00
Hamza Mahjoubi 2abfae81cb fix(dav): Rate limit address book creation
Signed-off-by: Hamza Mahjoubi <hamzamahjoubi221@gmail.com>
2024-05-28 10:09:22 +00:00
Christoph Wurst e37dbaa9a7 fix(db): Prevent two connections for single node databases
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-05-28 09:45:18 +00:00
Ferdinand Thiessen ef7bead896 chore: Compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-05-28 10:43:40 +02:00
Ferdinand Thiessen 8b0a8b653b fix(comments): Fix issues thrown by comments sidebar tab code
When the comments tab is used instead of the merged activity+comments, then some issues are throws due to prop altering and duplicated names (resourceId as prop and data).

This is fixed as well as some other vue related errors in the sidebar

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-05-28 10:41:34 +02:00
Ferdinand Thiessen 88149325cb chore: Compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-05-27 16:44:53 +00:00
Côme Chilliet a89c94f87f Merge pull request #45477 from nextcloud/backport/45370/stable29
[stable29] feat: Add back searching in disabled user list
2024-05-27 18:31:31 +02:00
Ferdinand Thiessen a9c21376f4 fix(files): Implement SortingService to fix sorting of files
The previously used library was parsing strings to try to detect dates,
but for filenames it makes no sense to parse them as dates.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-05-27 18:12:37 +02:00
Josh fd3b981739 Merge pull request #44899 from nextcloud/backport/43574/stable29
[stable29] enh(metadata): migrate metadata to lazy appconfig
2024-05-27 12:10:17 -04:00
Maxence Lange 3f86f4e1ff feat(metadata): migrate to lazy appconfig
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2024-05-27 10:27:49 -04:00
nextcloud-command 5a6ed4610a chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-05-27 13:50:49 +00:00
Côme Chilliet 2dad769498 chore: Adapt @since annotations in OCP for backport to 29
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-05-27 15:00:34 +02:00
Côme Chilliet 5cbf3be1b9 fix: Update openapi spec for provisioning_api app
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-05-27 14:58:53 +02:00
Côme Chilliet 27e6f27b7c fix: Also search in email field for disabled users
To match what is done for Database backend for enabled users

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-05-27 14:58:49 +02:00
Côme Chilliet 29e7294d9b feat: Add back searching in disabled user list
When disabled users where moved to their own endpoint we overlooked
 search, so adding it back.
The search is done case-insensitive in uid and display name.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-05-27 14:58:43 +02:00
Robin Appelman 4a8eaaf21b fix: forbid moving a folder into a subfolder of itself
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-05-27 12:33:00 +00:00
Christoph Wurst 9c4d8b3337 perf(db): Sort data for IN before chunking
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-05-25 20:48:55 -04:00
Josh f7079849b4 Merge pull request #45427 from nextcloud/backport/45406/stable29
[stable29] fix(contactsmenu): empty content margin
2024-05-25 20:40:18 -04:00
Joas Schilling 8179dc2a42 fix: Mark more configs as sensitive
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-05-25 20:34:41 -04:00
Anna d8a29a459c Merge pull request #45224 from nextcloud/backport/44752/stable29
[stable29] Expose subscription calendars
2024-05-24 16:42:31 +02:00
John Molakvoæ 3bb0c9b012 Merge pull request #45468 from nextcloud/release/29.0.1 2024-05-23 17:16:03 +02:00
John Molakvoæ 6e5cdd1dd6 Merge pull request #45469 from nextcloud/backport/45400/stable29 2024-05-23 17:15:36 +02:00
Robin Appelman ca1dd57fc0 fix: register DI alias for IFileAccess
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-05-23 12:47:14 +00:00
Josh 6d72b014c4 fix(db): cs-fix spacing
Signed-off-by: Josh <josh.t.richards@gmail.com>
2024-05-22 17:01:23 +00:00
Josh 3a8c2903d8 fix(db): Prevent data loss by temporarily disabling db:convert-type
Needed until #45257 is addressed to prevent data loss

Signed-off-by: Josh <josh.t.richards@gmail.com>
2024-05-22 17:01:23 +00:00
skjnldsv 9e44ef6203 build(hub): 29.0.1
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-05-22 17:34:05 +02:00
Richard Steinmetz 375d4b54ba fix(contactsmenu): empty content margin
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2024-05-22 07:25:40 +02:00
Benjamin Gaussorgues b8c491c084 Merge pull request #45367 from nextcloud/backport/44763/stable29 2024-05-21 11:24:05 +02:00
Louis 7eb718c441 Merge pull request #45328 from nextcloud/backport/45237/stable29
[stable29] perf(deleteAction): Queue delete requests
2024-05-16 19:52:23 +02:00
Ferdinand Thiessen 3222bc70d6 feat: Add forbidden_filename_characters to JSConfig for use in frontend libraries
Add the filename restrictions to our JS config so we can create a common frontend library
function to check filename validity (de-duplicate code).

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-05-16 17:03:01 +00:00
John Molakvoæ 1463b889ec Merge pull request #45336 from nextcloud/release/29.0.1_rc1 2024-05-16 18:45:35 +02:00
Louis 29072dd680 Merge pull request #45363 from nextcloud/backport/45355/stable29
[stable29] fix: delete user credentials stored in storages_credentials when user gets deleted
2024-05-16 18:33:17 +02:00
nextcloud-command 96b2827eb3 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-05-16 16:28:42 +00:00
Benjamin Gaussorgues cd9650483b fix(groups): allows to save group names with more than 64 characters
Mimic behaviour from LDAP users and add a hard limit to 255 characters

Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2024-05-16 17:57:41 +02:00
Joas Schilling cda94f2241 Merge pull request #45373 from nextcloud/backport/45236/stable29
[stable29] Hide 'updater.server.url' As It May Contain Enterprise Key
2024-05-16 16:51:41 +02:00
Joas Schilling ecb488048a Merge pull request #45360 from nextcloud/backport/45357/stable29
[stable29] fix: add ldap_exop_passwd function to sensitive value
2024-05-16 16:46:57 +02:00
Joas Schilling 3b9464aef9 Merge pull request #45337 from nextcloud/backport/44710/stable29
[stable29] fix(preview): check mime type before processing with Imagick
2024-05-16 16:41:49 +02:00
derschiw d79f7736cc fix(SystemConfig.php): Add 'updater.server.url' to Private Variables
Add "updater.server.url" to the privacy redacted values, as it may contain the enterprise key.

Signed-off-by: derschiw <37687705+derschiw@users.noreply.github.com>
2024-05-16 14:32:36 +00:00
yemkareems 926d611bd3 fix: delete user credentials stored in storages_credentials when user gets deleted
Signed-off-by: yemkareems <yemkareems@gmail.com>
2024-05-16 12:27:40 +00:00
yemkareems 8f24109572 fix: add ldap_exop_passwd function to sensitive value
Signed-off-by: yemkareems <yemkareems@gmail.com>
2024-05-16 12:23:12 +00:00
Joas Schilling ea82b23b32 Merge pull request #45341 from nextcloud/backport/45340/stable29
[stable29] fix: Extend SVG reference check
2024-05-16 11:18:11 +02:00
Joas Schilling 2fdfcbd28d Merge pull request #45322 from nextcloud/backport/45321/stable29
[stable29] fix: Correctly check result of function
2024-05-16 10:16:37 +02:00
Joas Schilling 79908f9095 Merge pull request #45318 from nextcloud/backport/45317/stable29
[stable29] fix(search): Limit maximum number of search results
2024-05-16 10:10:36 +02:00
Joas Schilling 2e7873623f fix: Extend SVG reference check
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-05-16 10:02:57 +02:00
Varun Patil c4fd502ca1 fix(preview): check mime type before processing with Imagick
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2024-05-15 20:14:10 +00:00
John Molakvoæ 002fe7b7bb Merge pull request #45326 from nextcloud/backport/45302/stable29 2024-05-15 20:50:39 +02:00
skjnldsv 40cc29decc build(hub): 29.0.1 RC1
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-05-15 20:26:39 +02:00
fenn-cs 8b1fab4795 perf(deleteAction): Queue delete requests
When multiple files are deleted at once, all the requests bombard the server
simultaneously, causing performance issues.

This commit adds queuing that limits the concurrency of these requests to 5
at a time.

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2024-05-15 12:12:19 +00:00
fenn-cs a0de24083e fix(deleteAction): Remove unused nc l10n import
Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2024-05-15 12:12:19 +00:00
Anna 6ee58b0ffd Merge pull request #45313 from nextcloud/backport/45309/stable29
[stable29] fix(caldav): loop through all events for busy events
2024-05-15 13:06:58 +02:00
Simon L. 8068ad5b71 Revert: "Check datadirectory owner, not config owner."
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-05-15 09:31:35 +00:00
Joas Schilling 4ad567df39 fix: Correctly check result of function
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-05-15 10:31:35 +02:00
Joas Schilling 7f6ee0cb9f fix(search): Limit maximum number of search results
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-05-15 07:54:00 +00:00
Anna Larch 21dd449e47 fix(caldav): loop through all events for busy events
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-05-14 13:35:27 +00:00
Josh cb63ff82c1 Merge pull request #45284 from nextcloud/backport/45262/stable29
[stable29] fix(SetupChecks): Detect CLI mode in HTTPS / URL generator check
2024-05-14 07:47:25 -04:00
Marco 8e75a530fb Merge pull request #45296 from nextcloud/backport/45218/stable29
[stable29] Update pdf icon
2024-05-14 10:39:09 +02:00
Marco Ambrosini bc87ab8db5 Feat: Fix pdf icon
Signed-off-by: Marco Ambrosini <marcoambrosini@proton.me>
2024-05-13 16:14:30 +00:00
Josh 0a3f09c3d0 Merge pull request #45279 from nextcloud/backport/43794/stable29
[stable29] fix(files): handle multidimensional arrays in scanner
2024-05-13 11:21:35 -04:00
Robin Appelman 441f2a7861 Merge pull request #45293 from nextcloud/backport/44791/stable29
[stable29] fix: consider all paths the user has for a share source when considering max permissions
2024-05-13 16:58:23 +02:00
Josh 5c18a7a621 Merge pull request #45283 from nextcloud/backport/45242/stable29
[stable29] fix(setupCheck): Only warn when memcache present w/o memcached
2024-05-13 10:23:41 -04:00
Robin Appelman ff47b05d24 test: adjust test to new permissions check logic
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-05-13 14:02:29 +00:00
Robin Appelman 762437d03c fix: cleanup logic for getting the max reshare permissions
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-05-13 14:02:29 +00:00
Josh Richards a4ef527e75 fix(SetupChecks): Detect CLI mode in HTTPS / URL generator check
Signed-off-by: Josh Richards <josh.t.richards@gmail.com>
2024-05-13 10:07:35 +00:00
Josh Richards 00b22f6c11 fix(setupCheck): Only warn when memcache present w/o memcached
Signed-off-by: Josh Richards <josh.t.richards@gmail.com>
2024-05-13 09:55:37 +00:00
Josh 3fef446b62 fix(Files): Change how scanner diffs for changed metadata
Fixes #43408 

Signed-off-by: Josh <josh.t.richards@gmail.com>
2024-05-13 09:07:48 +00:00
Kate 3439acd64d Merge pull request #45199 from nextcloud/backport/45196/stable29 2024-05-10 15:51:14 +02:00
Kate 75fb6fdbc4 Merge pull request #45246 from nextcloud/backport/44797/stable29 2024-05-10 10:27:42 +02:00
provokateurin 2323be4809 fix(Router): Stop loading routes of disabled apps
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-05-10 07:29:58 +00:00
Nextcloud bot 105ba6b004 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-05-09 00:20:13 +00:00
Joas Schilling 2c659a2517 Merge pull request #45231 from nextcloud/backport/45219/stable29
[stable29] fix(userstatus): Fix docs of user status manager
2024-05-08 20:55:07 +02:00
Daniel Kesselberg 9faddcd5d8 feat(caldav): expose calendar subscriptions
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-05-08 10:49:21 +02:00
Joas Schilling a0e446c37c fix(userstatus): Fix docs of user status manager
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-05-08 07:28:16 +00:00
Nextcloud bot d30f0de40d Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-05-08 00:21:03 +00:00
Côme Chilliet ed854408c8 Merge pull request #45208 from nextcloud/automated/noid/stable29-update-psalm-baseline
[stable29] Update psalm-baseline.xml
2024-05-07 12:41:38 +02:00
Joas Schilling 9e7740d24b Merge pull request #45202 from nextcloud/backport/45088/stable29
[stable29] fix(User\Manager): Avoid future collisions with updater/audit logs
2024-05-07 09:46:33 +02:00
nextcloud-command c827f21e62 chore(tests): Update psalm baseline
Signed-off-by: GitHub <noreply@github.com>
2024-05-07 02:26:00 +00:00
Nextcloud bot 64bf341d55 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-05-07 00:20:13 +00:00
Côme Chilliet 20e378d5e5 Merge pull request #44564 from nextcloud/automated/noid/stable29-update-psalm-baseline
[stable29] Update psalm-baseline.xml
2024-05-06 19:31:16 +02:00
Ferdinand Thiessen ed65dcbaae Merge pull request #45204 from nextcloud/backport/44939/stable29
[stable29] fix(settings): Save one HTTP request on enabling an app
2024-05-06 19:22:42 +02:00
Côme Chilliet 82e593b83b chore: Fix small psalm errors related to documented return types
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-05-06 18:21:38 +02:00
Ferdinand Thiessen cd44613e03 chore: Compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-05-06 16:09:34 +00:00
Ferdinand Thiessen 9792090d2e fix(DateTimeFormatter): Adjust invalid doc blocks
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-05-06 17:54:24 +02:00
Ferdinand Thiessen 14a0d0534a fix(settings): When testing server stability, request URL with trailing slash
This prevents one HTTP request for most situations (301 from `apps/files` to `apps/files/`)
and helps users with faulty reverse-proxy configuration.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-05-06 15:09:04 +00:00
Josh a6064f508b fix(User\Manager): Avoid future collisions with updater/audit logs
Avoid future collisions for not yet created updater and audit log files (at least using default names).

Signed-off-by: Josh <josh.t.richards@gmail.com>
2024-05-06 14:33:10 +00:00
Joas Schilling 88e871f6ce Merge pull request #45192 from nextcloud/backport/45093/stable29
[stable29] fix(session): Avoid race condition for cache::get() vs. cache::hasKey()
2024-05-06 16:30:19 +02:00
provokateurin 8fcf433914 fix(OC_Image): Set correct return type for exif_imagetype stub
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-05-06 12:10:25 +00:00
Joas Schilling 137d4617cb Merge pull request #45018 from nextcloud/backport/45001/stable29
[stable29] fix(DAV): Migrate known exceptions to Sabre exceptions when copying
2024-05-06 08:16:18 +02:00
Joas Schilling 487dfb62d3 fix(session): Avoid race condition for cache::get() vs. cache::hasKey()
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-05-06 06:15:27 +00:00
nextcloud-command 5964fdf135 chore(tests): Update psalm baseline
Signed-off-by: GitHub <noreply@github.com>
2024-05-06 02:21:26 +00:00
Nextcloud bot 48f3b9146e Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-05-06 00:20:21 +00:00
Ferdinand Thiessen ea6d6fcdac Merge pull request #44590 from nextcloud/automated/noid/stable29-fix-npm-audit
[stable29] Fix npm audit
2024-05-05 05:46:36 +02:00
nextcloud-command 6eb02935c4 chore(deps): fix npm audit
Signed-off-by: GitHub <noreply@github.com>
2024-05-05 02:44:36 +00:00
Nextcloud bot c5bbd09ff8 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-05-05 00:20:21 +00:00
Nextcloud bot e8cf708f8f Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-05-04 00:21:02 +00:00
Kate 0683f79ca2 Merge pull request #45171 from nextcloud/backport/45163/stable29 2024-05-03 16:27:24 +02:00
provokateurin bc4179e5e3 fix(icons): Update files icon
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-05-03 13:52:50 +00:00
Nextcloud bot 2a016dec4b Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-05-03 00:19:54 +00:00
Robin Appelman 62e712cb85 fix: fix FileAccess::getByFileId(InStorage)
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-05-02 17:11:34 +00:00
Robin Appelman e65a04feb6 Merge pull request #45148 from nextcloud/backport/45138/stable29
[stable29] retry smb notify test a few times
2024-05-02 14:05:31 +02:00
Robin Appelman 7fefd56e88 test: retry smb notify test a few times
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-05-02 09:33:16 +00:00
Nextcloud bot ae534c2bd7 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-05-02 00:20:17 +00:00
Nextcloud bot 41cc710d2e Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-05-01 00:20:35 +00:00
Robin Appelman 2c45becfce Merge pull request #45056 from nextcloud/backport/44496/stable29
[stable29] feat: support "s3-accelerate" endpoint
2024-04-30 20:41:52 +02:00
Côme Chilliet 395d493e6b Merge pull request #44956 from nextcloud/backport/44861/stable29
[stable29] chore: Fix update-psalm-baseline to use correct php version depending on branch
2024-04-30 15:37:39 +02:00
Joas Schilling ce97f98a87 Merge pull request #45108 from nextcloud/backport/fix-ldap-var-name-backup-port
[stable29] fix(user_ldap): Fix a var name
2024-04-30 13:10:21 +02:00
Côme Chilliet 3767cd1b8f Merge pull request #45104 from nextcloud/backport/query-builder-fix
[stable29] fix: Remove bogus code from query builder and fix parameter name
2024-04-30 12:33:49 +02:00
Côme Chilliet 24eb8ae2d0 Merge pull request #45107 from nextcloud/backport/fix-ini-default-in-base
[stable29] fix: Fix default values for ini var in lib/base.php
2024-04-30 12:10:09 +02:00
Côme Chilliet 76fa0c3de0 Merge pull request #45106 from nextcloud/backport/fix-opcache-buffer-check
[stable29] fix(setupchecks): Fix opcache buffer check
2024-04-30 12:07:15 +02:00
Côme Chilliet d8c0da5636 Merge pull request #45105 from nextcloud/backport/fix-ownership-transfer-encryption
[stable29] fix(files): Fix ownership transfer encrypted files detection
2024-04-30 11:49:57 +02:00
Côme Chilliet d9a8b121f6 fix(user_ldap): Fix a var name
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-30 11:01:21 +02:00
Côme Chilliet 2b1e7f3b29 fix: Fix default values for ini var in lib/base.php
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-30 10:53:53 +02:00
Côme Chilliet 5f8157f693 fix(setupchecks): Fix opcache buffer check
This was broken by last codestyle update, maybe even before because of
 operator precedence. Now using vars to make it readable and correct at
 the same time.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-30 10:51:51 +02:00
Côme Chilliet 7a48d6d764 fix(files): Fix ownership transfer encrypted files detection
Discovered by psalm update

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-30 10:49:39 +02:00
Côme Chilliet 61a47f81f4 fix: Remove bogus code from query builder and fix parameter name
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-30 10:47:46 +02:00
Nextcloud bot 828c77b46a Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-04-30 00:20:40 +00:00
Nextcloud bot da37f3262d Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-04-29 00:20:45 +00:00
Nextcloud bot 8caf128932 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-04-28 00:20:27 +00:00
Nextcloud bot 51880250d2 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-04-27 00:20:20 +00:00
Robin Appelman cec057799d feat: add option to enable s3 acceleration
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-04-26 13:44:59 +00:00
Richard Steinmetz 70af653dc6 Merge pull request #45053 from nextcloud/backport/44938/stable29
[stable29] fix(CalDAV): remove UNKNOWN from room / resource consideration
2024-04-26 14:24:53 +02:00
Anna Larch e32ea9ab37 fix(CalDAV): remove UNKNOWN from room / resource consideration
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-04-26 11:20:08 +00:00
Nextcloud bot 3496a7ea4d Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-04-26 00:21:10 +00:00
Simon L d4e95f9f0d Merge pull request #45040 from nextcloud/backport/45035/stable29
[stable29] fix: chunked upload leading to 0-byte files
2024-04-25 20:47:38 +02:00
Simon L. ebfae3e06d fix: chunked upload leading to 0-byte files
Signed-off-by: Simon L <szaimen@e.mail.de>
2024-04-25 15:28:15 +00:00
Louis ed6a97cd61 Merge pull request #44969 from nextcloud/backport/44858/stable29
[stable29] Support multiple scopes in DAV search
2024-04-25 13:47:42 +02:00
F. E Noel Nfebe 9511e5ee8f Merge pull request #44972 from nextcloud/44319-quick-fix-fed-share-user-avatars
fix(unifiedSearch): Prevent broken avatars for federated users in peo…
2024-04-25 09:52:04 +01:00
nextcloud-command 0c0953c38e chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-04-25 06:19:24 +00:00
fenn-cs cb12f43b59 fix(unifiedSearch): Prevent broken avatars for federated users in people filter
Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2024-04-25 07:10:15 +01:00
F. E Noel Nfebe eb58f8e298 Merge pull request #44918 from nextcloud/backport/44839/stable29
fix(sharingDetails): Show correct share target
2024-04-25 07:06:03 +01:00
Nextcloud bot 73d1a10d79 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-04-25 00:20:53 +00:00
Joas Schilling 368769aa5a fix(DAV): Migrate known exceptions to Sabre exceptions when copying
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-04-24 16:32:39 +00:00
Ferdinand Thiessen c5ee34cb4c Merge pull request #44981 from nextcloud/backport/44794/stable29
[stable29] fix(memcache): remove double $$ to fix error
2024-04-24 18:07:34 +02:00
Ferdinand Thiessen 8b0ef57000 Merge pull request #44985 from nextcloud/backport/44982/stable29
[stable29] fix(provisioning_api): Show warning but do not fail when listing accounts in case of users removed from backend but still in database
2024-04-24 16:39:49 +02:00
Nextcloud bot 36ae775aa7 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-04-24 00:20:26 +00:00
Ferdinand Thiessen b6dd8a5ccb Merge pull request #44989 from nextcloud/backport/44923/stable29
[stable29] fix: Fix truncation on public page
2024-04-23 23:49:05 +02:00
Christopher Ng 61e8508f5d chore: compile assets
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2024-04-23 10:39:11 -07:00
Christopher Ng adf130ec3d fix: Fix truncation on public shares
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2024-04-23 10:39:11 -07:00
Christopher Ng 1dec7e6e73 feat: Update help entry name
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2024-04-23 15:40:36 +00:00
Christopher Ng 5885a75a96 feat: Add legal notice and privacy policy links to help page
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2024-04-23 15:40:36 +00:00
Benjamin Gaussorgues 744e0ddb1e Merge pull request #44986 from nextcloud/release/29.0.0 2024-04-23 17:07:21 +02:00
Benjamin Gaussorgues e1dbc7adea build(hub): 29.0.0
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2024-04-23 13:57:06 +02:00
Ferdinand Thiessen b495417cf6 fix(provisioning_api): Show warning but do not fail when listing accounts in case of users removed from backend but still in database
Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Co-authored-by: Louis <louis@chmn.me>
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-04-23 10:40:10 +00:00
Velwark 34a0c383cb Update LoggerWrapperCache.php
Extra Dollar Sign caused errors in Nextcloud. Removing the Dollar Sign Solved the Problem.

Signed-off-by: Velwark <levinfrerich9@gmail.com>
2024-04-23 08:00:37 +00:00
Christoph Wurst 67071f8875 fix(auth): Keep redirect URL during 2FA setup and challenge
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-04-23 07:38:33 +00:00
Nextcloud bot be6cf3a439 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-04-23 00:20:52 +00:00
Louis Chemineau a97c2131d2 feat(dav): Support multiple scopes in DAV search
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-04-22 15:28:29 +00:00
Robin Appelman c61a75fc24 feat: add request id as comment to all queries
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-04-22 13:13:56 +02:00
Côme Chilliet 7cd1c2d7c3 chore: Fix psalm to use correct php version depending on branch
Needs to be adapted on each branch to reflect the used PHP version and
 help with baseline updating.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-22 11:22:46 +02:00
Nextcloud bot b86679cdb2 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-04-22 00:21:08 +00:00
Nextcloud bot 035f473127 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-04-21 00:20:37 +00:00
Nextcloud bot ea1b0a0356 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-04-20 00:20:13 +00:00
nextcloud-command 547d58459f chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-04-19 10:24:24 +00:00
fenn-cs 5ed47da255 fix(sharingDetails): Show correct share target
The share details page should show the target email or user/server to which

the user is creating the share.

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>

[skip ci]
2024-04-19 11:20:09 +01:00
Nextcloud bot 8afe96afd5 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-04-19 00:20:35 +00:00
Benjamin Gaussorgues 5c128ba7a0 Merge pull request #44873 from nextcloud/release/29.0.0_rc5 2024-04-18 21:04:49 +02:00
Benjamin Gaussorgues 146675b675 Merge pull request #44922 from nextcloud/backport/44904/stable29 2024-04-18 21:00:49 +02:00
Ferdinand Thiessen 9cdbff8ec8 fix(files): Also restore shares after ownership transfer for object storage
When a file is moved between different storages then the file id is not (always) preserved.
This means the file id has to be adjusted for all shares.

So in case the file id does not exist anymore we try to find the new file id based on the
target path of the transfer and the path suffix of the share.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-04-18 17:40:36 +02:00
Benjamin Gaussorgues 0da51f5d28 Merge pull request #44914 from nextcloud/backport/44640/stable29 2024-04-18 17:21:54 +02:00
Benjamin Gaussorgues c9aa17b606 Merge pull request #44816 from nextcloud/backport/44795/stable29 2024-04-18 17:13:31 +02:00
Joas Schilling 896c115a81 Merge pull request #44917 from nextcloud/backport/44916/stable29
[stable29] fix(sharing): Don't change the type of the controller argument
2024-04-18 16:27:59 +02:00
Christopher Ng a1107c7342 test(jest): Transform unist modules
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 43af7923aa)
2024-04-18 14:40:01 +02:00
Christopher Ng f64b074394 chore: compile assets
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2024-04-18 14:40:00 +02:00
Joas Schilling 84b0818ed3 fix(sharing): Don't change the type of the controller argument
[EA] New value type (\DateTime) is not matching the resolved parameter type and might introduce types-related false-positives.

Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-04-18 12:36:48 +00:00
Christopher Ng 90ae47c3dd chore(deps): Bump @nextcloud/vue to v8.11.2
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit 45e2220e24)
2024-04-18 14:13:00 +02:00
Benjamin Gaussorgues 20275f5565 Merge pull request #44866 from nextcloud/backport/44661/stable29 2024-04-18 14:11:34 +02:00
Ferdinand Thiessen cad491580f chore: Compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-04-18 12:48:05 +02:00
Ferdinand Thiessen 6c544172e3 fix(files): Do not show files from hidden folders in "Recent"-view if hidden files are disabled by user
Needed to adjust the store creation to be able to inject pinia before the vue app is initialized.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-04-18 12:46:13 +02:00
Joas Schilling 1f1ad02c0e Merge pull request #44890 from nextcloud/backport/44889/stable29
[stable29] fix(files): Also skip cross storage move with access control
2024-04-18 10:48:16 +02:00
Benjamin Gaussorgues 0e6ac5f6d6 Merge pull request #44907 from nextcloud/backports/44640/44640-stable29 2024-04-18 10:14:18 +02:00
Maxence Lange db3e5fb237 fix(appconfig): returns correct value on details
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2024-04-18 08:06:27 +00:00
Benjamin Gaussorgues 3d480526e6 Merge pull request #44910 from nextcloud/backport/44838/stable29 2024-04-18 09:34:59 +02:00
Benjamin Gaussorgues 9804930a90 Merge pull request #44887 from nextcloud/backport/44882/stable29 2024-04-18 09:34:17 +02:00
Joas Schilling 0a429e0f80 fix(CI): Suppress psalm UndefinedClass
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-04-18 09:25:17 +02:00
fenn-cs 9202a21516 fix(shareApiController): avoid duplicated expiryDate operations
`expireDate` can be set once and used anywhere needed, the current implementation,
duplicates this behavior which leads to `parseDate` receiving an a date object it
parsed and returend earlier in the createShare method.

Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2024-04-18 01:27:47 +00:00
fenn-cs e1fc954cc9 refactor(shareApiController): use contrusctor property promotion & DI logger
Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2024-04-18 01:27:46 +00:00
Nextcloud bot d0fd7b057a Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-04-18 00:20:40 +00:00
Maxence Lange 99968efe7b fix(appconfig): returns correct value on details
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2024-04-17 22:01:47 -01:00
Ferdinand Thiessen b94f4d6ff8 chore: Compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-04-18 00:59:16 +02:00
Ferdinand Thiessen 986fd6e783 fix(files): Ensure search query is cleared when changing view or directory
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-04-18 00:55:21 +02:00
Joas Schilling 053cb7455b Merge pull request #44885 from nextcloud/backport/44878/stable29
[stable29] fix(status): Update status time when reverting to it manually
2024-04-17 18:31:16 +02:00
Maxence Lange f1612d4eb9 fix(appconfig): only convert single entry on searchValues()
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2024-04-17 15:12:22 +00:00
Maxence Lange 9040bcb3b9 fix(appconfig): format app values
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2024-04-17 15:12:22 +00:00
Joas Schilling 546b0471ed fix(files): Also skip cross storage move with access control
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-04-17 14:31:50 +00:00
Benjamin Gaussorgues 643be3c81b Merge pull request #44880 from nextcloud/backport/44869/stable29 2024-04-17 15:39:18 +02:00
Joas Schilling 17cf286389 fix(status): Update status time when reverting to it manually
This prevents the DAV meeting status from overwriting it again

Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-04-17 13:19:41 +00:00
Benjamin Gaussorgues 38bd20b49f Merge pull request #44845 from nextcloud/backport/44834/stable29 2024-04-17 14:16:57 +02:00
Ferdinand Thiessen 6d50bcca4b chore: Compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-04-17 13:16:47 +02:00
Ferdinand Thiessen ec02e380dc fix(systemtags): Use built-in input label to satisfy a11y check of NcSelect
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-04-17 10:48:54 +00:00
Ferdinand Thiessen 3a8a0d143a chore: Compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-04-17 12:45:23 +02:00
Ferdinand Thiessen a57ad242c9 fix(files): Inherit some node attributes when creating new nodes to preserve shared state
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-04-17 12:43:36 +02:00
Ferdinand Thiessen 0f232997e1 fix(files): Sanitize share-types attribute in download action
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-04-17 12:43:36 +02:00
Andy Scherzinger e31e5429a8 Merge pull request #44737 from nextcloud/backport/stable29/44736
[stable29] fix: Fix avatar images
2024-04-17 10:43:05 +02:00
Benjamin Gaussorgues 66579b1fdd Merge pull request #44846 from nextcloud/backport/44806/stable29 2024-04-17 10:03:41 +02:00
Benjamin Gaussorgues 76fc3e0bad Merge pull request #44716 from nextcloud/backport/44705/stable29 2024-04-17 10:00:50 +02:00
Benjamin Gaussorgues 54d7caaec9 build(hub): 29.0.0 RC5
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2024-04-17 09:49:45 +02:00
Nextcloud bot b3050337ac Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-04-17 00:20:49 +00:00
nextcloud-command 9b2bc5d92f chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-04-16 19:04:56 +00:00
Christopher Ng aa4a1c17a5 chore: Switch widget to primary color
Signed-off-by: Christopher Ng <chrng8@gmail.com>
(cherry picked from commit ccede9b2ad)
2024-04-16 11:27:40 -07:00
Andy Scherzinger 50f11fa75d Merge pull request #44836 from nextcloud/fix/stable29-upload
[stable29] chore: Update @nextcloud/upload to 1.1.1 to fix uploading large files
2024-04-16 14:24:58 +02:00
Nextcloud bot 2803382149 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-04-16 00:31:34 +00:00
nextcloud-command 6911ef422c chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-04-15 16:35:52 +00:00
Ferdinand Thiessen 61f8b3357d chore: Update @nextcloud/upload to 1.1.1 to fix uploading large files
Backport of #44835

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-04-15 18:25:58 +02:00
Joas Schilling 01acef1720 Merge pull request #44828 from nextcloud/backport/44827/stable29
[stable29] chore(deps): Update openapi-extractor
2024-04-15 11:43:23 +02:00
provokateurin 7ad4abf255 chore(deps): Update openapi-extractor
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-04-15 08:36:39 +00:00
Nextcloud bot 219a3918e1 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-04-15 00:19:50 +00:00
Nextcloud bot fae936ff6a Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-04-14 00:20:06 +00:00
Nextcloud bot af39e7c34c Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-04-13 00:21:00 +00:00
Joas Schilling a674bf5fbf Merge pull request #44800 from nextcloud/backport/44799/stable29
[stable29] fix(capabilities): Expose if mod-rewrite is working via capabilities
2024-04-12 14:56:01 +02:00
Joas Schilling 453f293b50 feat(capabilities): Expose if mod-rewrite is working via capabilities
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-04-12 11:31:03 +00:00
Joas Schilling 3a34ac5e2d Merge pull request #44618 from nextcloud/backport/44612/stable29
[stable29] fix(tests): Fix tests when daytime saving time change happened recently
2024-04-12 09:34:01 +02:00
Nextcloud bot 7c98456ecb Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-04-12 00:20:19 +00:00
Arthur Schiwon 26d7eae890 Merge pull request #44773 from nextcloud/release/29.0.0_rc4
29.0.0 RC4
2024-04-11 15:20:09 +02:00
Arthur Schiwon 40d5495d05 Merge pull request #44645 from nextcloud/backport/44642/stable29
[stable29] fix(appconfig): compare with original value
2024-04-11 15:13:32 +02:00
Christopher Ng ac0947cab5 test: Update tests
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2024-04-11 14:56:21 +02:00
Christopher Ng 35ce939332 fix: Fix avatar images
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2024-04-11 14:56:21 +02:00
Arthur Schiwon 261764568d Merge pull request #44778 from nextcloud/backport/44771/stable29
[stable29] fix(federation): give some time to prepare both servers
2024-04-11 14:55:59 +02:00
Côme Chilliet b7d9df20be fix(tests): Fix tests when daytime saving time change happened recently
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-11 14:42:55 +02:00
Arthur Schiwon 884eb0cb48 Merge pull request #44725 from nextcloud/backport/44717/stable29
[stable29]  fix(oc-dialog): Get rid of the overlay
2024-04-11 14:41:01 +02:00
Arthur Schiwon 8b45d76319 Merge pull request #44735 from nextcloud/backport/44714/stable29
[stable29] Call davGetFavoritesReport after the registration of propfind properties
2024-04-11 14:40:43 +02:00
Arthur Schiwon 1f8f15bddd Merge pull request #44748 from nextcloud/backport/44730/stable29
[stable29] fix: use proper jailed patch in watcher
2024-04-11 14:40:16 +02:00
Arthur Schiwon ba123372ce Merge pull request #44760 from nextcloud/backport/44450/stable29
[stable29] fix(breadcrumbs): improved rendering of breadcrumb progress bar
2024-04-11 14:39:54 +02:00
Arthur Schiwon b01b30ab19 Merge pull request #44765 from nextcloud/backport/44350/stable29
[stable29] fix(LDAP): escape DN on check-user
2024-04-11 14:32:18 +02:00
Arthur Schiwon f064883f4e fix(federation): give some time to prepare both servers
- when this background job runs, while the current server was not being
  added as trusted_server in the other instance, yet, the secret sharing
  would not be attempted again, without visual feedback.
- the change allows 5 attempts, which gives more than 20minutes to
  complete. More do not really help as the endpoint is brute force
  protected.

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-04-11 09:52:46 +00:00
Joas Schilling 57f885939e Merge pull request #44732 from nextcloud/backport/44216/stable29
[stable29] feat(core): Include core capabilities in OpenAPI
2024-04-11 11:03:55 +02:00
Nextcloud bot 00b479bc83 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-04-11 00:20:57 +00:00
Arthur Schiwon b90fd3cc7f build(hub): 29.0.0 RC4
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-04-10 22:09:08 +02:00
nextcloud-command 871d439880 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-04-10 13:13:17 +00:00
Eduardo Morales e7c1850283 fix(Cypress): Adjust tests for new breadcrumbs
Signed-off-by: Eduardo Morales <emoral435@gmail.com>
2024-04-10 08:06:57 -05:00
Ferdinand Thiessen b3ca5c5c80 fix(files): Hide full view name on small mobile to prevent overflow
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
Signed-off-by: Eduardo Morales <emoral435@gmail.com>
2024-04-10 08:06:57 -05:00
Eduardo Morales cddd24208b fix(breadcrumbs): Improved breadcrumb progress bar mobile rendering
Signed-off-by: Eduardo Morales <emoral435@gmail.com>
2024-04-10 08:06:57 -05:00
Arthur Schiwon 7612eb820f docs(LDAP): add info on stored DN form
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-04-10 10:03:14 +00:00
Arthur Schiwon 3ce8879d09 fix(LDAP): escape DN on check-user
the DN has to be escaped differently when used as a base and we were
missing it here in the search method call in the check-user command.

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-04-10 10:03:14 +00:00
Nextcloud bot d06f860722 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-04-10 00:19:55 +00:00
Robin Appelman 338c8aaea4 test: add test for jail watcher
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-04-09 10:41:50 +00:00
Robin Appelman 6c142a3cd5 fix: use proper jailed patch in watcher
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-04-09 10:41:50 +00:00
Louis Chemineau 4779ce460d fix(files): Call davGetFavoritesReport after the registration of propfind properties
Signed-off-by: Louis Chemineau <louis@chmn.me>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-04-09 07:55:59 +00:00
Nextcloud bot f98a7ca49e Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-04-09 00:20:11 +00:00
provokateurin 79816d93b5 chore(deps): Update openapi-extractor
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-04-08 19:47:50 +00:00
provokateurin d10316ac70 feat(OCS): Annotate capabilities
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-04-08 19:47:50 +00:00
Eduardo Morales f5f982213f chore(assets): recompile assets
Signed-off-by: Eduardo Morales <emoral435@gmail.com>
2024-04-08 12:50:45 -05:00
JEEEEEEEEEEEEEEEEEEEEEED f203490d03 fix(oc-dialog): Get rid of the overlay
- Icrement Z-index of oc-dialog-dim
- Increment z-index of oc-dialog- Insert oc-dialog-dim before oc-dialog

Co-authored-by: Co-author RayanBekri <rmt.bekri@gmail.com>"
Signed-off-by: JEEEEEEEEEEEEEEEEEEEEEED <118366366+jadjoud@users.noreply.github.com>
2024-04-08 12:50:45 -05:00
Joas Schilling 0d63b6025a Merge pull request #44729 from nextcloud/backport/44726/stable29
[stable29] fix(AppFramework): Fix error message about 204 not allowing custom headers
2024-04-08 18:48:12 +02:00
provokateurin f33ec17538 fix(AppFramework): Fix error message about 204 not allowing custom headers
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-04-08 15:31:06 +00:00
Arthur Schiwon 75c9926a94 Merge pull request #44713 from nextcloud/release/29.0.0_rc3
29.0.0 RC3
2024-04-08 14:38:34 +02:00
Josh fc1a83f3de fix(Blurhash): Suppress imagecreatefromstring() E_WARNING
We're already checking return value to determine if the format is unrecognized. There's no reason to let imagecreatefromstring() generate it's own E_WARNING when the format is unrecognized.

Fixes #44702 

Signed-off-by: Josh <josh.t.richards@gmail.com>
2024-04-08 11:33:28 +00:00
Arthur Schiwon b4d7e4a2c4 build(hub): 29.0.0 RC3
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-04-08 10:30:47 +02:00
Nextcloud bot bad51ef63b Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-04-08 00:20:11 +00:00
Nextcloud bot 59e39a5270 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-04-07 00:20:20 +00:00
Joas Schilling d94ed65f69 Merge pull request #44692 from nextcloud/backport/44678/stable29
[stable29] fix(3rdparty): Add a CI job to check 3rdparty integrity
2024-04-06 14:51:09 +02:00
Nextcloud bot 5836b1ca51 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-04-06 00:20:47 +00:00
Arthur Schiwon 7fd7986734 Merge pull request #44686 from nextcloud/fix/update-doctrine-dbal-stable29
[stable29] fix(deps): Update `doctrine/dbal` to 3.8.3
2024-04-05 21:59:52 +02:00
Ferdinand Thiessen 4b3da814df fix(deps): Update doctrine/dbal to 3.8.3
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-04-05 21:11:20 +02:00
Joas Schilling 29d5bbc6d3 fix(3rdparty): Add a CI job to check 3rdparty integrity
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-04-05 15:21:49 +00:00
Joas Schilling 577b624a20 Merge pull request #44671 from nextcloud/backport/44662/stable29
[stable29] fix(deps): Update phpseclib from 2.0.45 to 2.0.47
2024-04-05 15:13:01 +02:00
Ferdinand Thiessen 13980207db fix: Update psalm baseline to ignore setKey being internal of phpseclib
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-04-05 14:09:31 +02:00
Ferdinand Thiessen 1c5128bfca fix(deps): Update phpseclib from 2.0.45 to 2.0.47
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-04-05 14:09:30 +02:00
Johannes Merkel 8b614a9dc1 fix(settings): show warning for indexToReplace as part of missing indices
Signed-off-by: Johannes Merkel <mail@johannesgge.de>
2024-04-05 11:17:30 +00:00
Nextcloud bot 02a6310b34 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-04-05 00:19:53 +00:00
Arthur Schiwon b90e597325 Merge pull request #44647 from nextcloud/release/29.0.0_rc2
29.0.0 RC2
2024-04-04 17:10:44 +02:00
Arthur Schiwon 11ac9b3499 Merge pull request #44591 from nextcloud/backport/44571/stable29
[stable29] fix(files_sharing): Create passwords when enforced for mail shares
2024-04-04 17:05:52 +02:00
Ferdinand Thiessen 8a008d355d chore: Compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-04-04 16:27:58 +02:00
Ferdinand Thiessen 2c2a269042 fix(files_sharing): Create passwords when enforced for mail shares
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-04-04 16:20:11 +02:00
John Molakvoæ 7a4e0c0cc0 Merge pull request #44653 from nextcloud/backport/44409/stable29 2024-04-04 14:51:10 +02:00
skjnldsv ceee29be28 chore: compile assets
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-04-04 14:24:40 +02:00
skjnldsv 9e4332e1e2 chore: add cypress video recording
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-04-04 11:58:34 +00:00
skjnldsv 25d7312772 fix(files): breadcrumbs native drop event
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-04-04 11:58:34 +00:00
skjnldsv 0aa4e0a675 chore: add drag and drop recursion and FilesystemAPI testing
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-04-04 11:58:34 +00:00
skjnldsv d98738cbd0 chore: adjusting cypress drag and drop tests
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-04-04 11:58:34 +00:00
skjnldsv e099318ab5 feat(files): unify drag and drop methods
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-04-04 11:58:34 +00:00
skjnldsv 8503e2d4bc fix(files): breadcrumbs dnd
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-04-04 11:58:34 +00:00
Joas Schilling 69a3038086 Merge pull request #44622 from nextcloud/backport/44534/stable29
[stable29] build(deps): bump nextcloud/coding-standard from 1.1.1 to 1.2.1 in /vendor-bin/cs-fixer
2024-04-04 13:07:22 +02:00
Arthur Schiwon d94b24cda6 Merge pull request #44628 from nextcloud/backport/44621/stable29
[stable29] fix(SetupChecks): Add hint about dns/firewall if `mjs` check can't run
2024-04-04 12:57:37 +02:00
Arthur Schiwon 3b1d2c3cd4 Merge pull request #44634 from nextcloud/backport/44604/stable29
[stable29] fix(encryption): Clicking default module in UI sets bogus value
2024-04-04 12:56:52 +02:00
Arthur Schiwon 2ddac31094 Merge pull request #44617 from nextcloud/backport/44575/stable29
[stable29] fix(files_sharing): Disable autocomplete for share label and password
2024-04-04 12:55:41 +02:00
Maxence Lange abc4ced1e7 fix(appconfig): compare with original value
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2024-04-04 09:15:35 -01:00
John Molakvoæ fdadaf2132 Merge pull request #44624 from nextcloud/backport/44332/stable29 2024-04-04 12:09:01 +02:00
Côme Chilliet cd53e71d80 chore: Improve phpdoc typing to silence psalm errors
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-04 11:45:22 +02:00
Côme Chilliet 4311f60ebb fix: Remove incorrect default null value
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-04 11:45:22 +02:00
Côme Chilliet 0b332ceac2 fix: Apply new coding standard to all files
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-04 11:45:22 +02:00
dependabot[bot] 292b903bc2 build(deps): bump nextcloud/coding-standard in /vendor-bin/cs-fixer
Bumps [nextcloud/coding-standard](https://github.com/nextcloud/coding-standard) from 1.1.1 to 1.2.1.
- [Release notes](https://github.com/nextcloud/coding-standard/releases)
- [Changelog](https://github.com/nextcloud/coding-standard/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/coding-standard/compare/v1.1.1...v1.2.1)

---
updated-dependencies:
- dependency-name: nextcloud/coding-standard
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-04 11:45:22 +02:00
Arthur Schiwon 91b1890c74 build(hub): 29.0.0 RC2
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-04-04 10:09:32 +02:00
John Molakvoæ 088f73763c Merge pull request #44584 from nextcloud/backport/44512/stable29 2024-04-04 09:21:10 +02:00
Nextcloud bot e238d0afec Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-04-04 00:20:13 +00:00
Christopher Ng 5ad7d00930 chore: compile assets
Signed-off-by: Christopher Ng <chrng8@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-04-03 18:45:52 +00:00
Christopher Ng e3f812bb4e feat(trashbin): Show original location of deleted file
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2024-04-03 11:38:04 -07:00
Josh 1ddc77e74d fix(encryption): Clicking default module in UI sets bogus value
Fixes #44532
Likely fixes #43123

Signed-off-by: Josh <josh.t.richards@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-04-03 09:06:42 +00:00
Nextcloud bot 20146c2ca4 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-04-03 00:19:54 +00:00
Joas Schilling 91b07af8e8 Merge pull request #44626 from nextcloud/backport/44625/stable29
[stable29] fix(federation): ICloudId->getRemote() should contain the protocol
2024-04-02 22:12:52 +02:00
Josh c0debe27d6 fix(SetupChecks): Add hint about dns/firewall if mjs check can't run
Signed-off-by: Josh <josh.t.richards@gmail.com>
2024-04-02 16:53:30 +00:00
Joas Schilling 9dbad26f62 fix(federation): ICloudId->getRemote() should contain the protocol
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-04-02 15:59:24 +00:00
Côme Chilliet d0e5c507f4 chore(dav): Fix tests for length headers on upload
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-02 15:45:58 +00:00
Côme Chilliet ae7105b990 fix(dav): Fix quota check for chunk upload
Do not ignore OC-Total-Length when Content-Length and
 X-Expected-Entity-Length are missing

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-02 15:45:57 +00:00
Joas Schilling 991ee6fbb8 Merge pull request #44553 from nextcloud/backport/44526/stable29
[stable29] fix(files): Fix translation of "Delete file"
2024-04-02 15:14:17 +02:00
nextcloud-command 72a3c374b6 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-04-02 12:18:02 +00:00
Ferdinand Thiessen 68402768db fix(files_sharing): Disable autocomplete for share label and password
Prevent browsers - as good as possible - from filling in user credentials as share label and password.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-04-02 14:11:29 +02:00
nextcloud-command 16140bd44c chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2024-04-02 09:59:05 +02:00
Joas Schilling 0b4a3b681e fix(files): Fix translation of "Delete file"
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-04-02 09:57:08 +02:00
Nextcloud bot c0245f58ca Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-04-02 00:19:37 +00:00
Nextcloud bot 9a53f28e89 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-04-01 00:19:40 +00:00
Nextcloud bot 7317a84b14 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-03-31 00:19:39 +00:00
Nextcloud bot be6d28c76b Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-03-30 00:20:36 +00:00
Nextcloud bot ac54fda52c Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-03-29 00:24:35 +00:00
John Molakvoæ b30cc91e93 Merge pull request #44552 from nextcloud/release/29.0.0_rc1 2024-03-28 15:42:59 +01:00
skjnldsv 0dc4af82f9 build(hub): 29.0.0 RC1
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-03-28 14:18:11 +01:00
Joas Schilling 061ca0f737 Merge pull request #44546 from nextcloud/backport/44530/stable29
[stable29] Master is now 30
2024-03-28 14:02:26 +01:00
Joas Schilling 81c48c0745 Merge pull request #44531 from nextcloud/branchoff/welcome-stable29
chore(branchoff): Test against stable29 branches
2024-03-28 13:33:43 +01:00
Joas Schilling 48a4a95594 fix(security): Update expiration date in security.txt
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-03-28 11:09:23 +00:00
Joas Schilling 7e2d3ef297 chore(branchoff): Test against stable29 branches
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-03-28 11:55:05 +01:00
12693 changed files with 518310 additions and 659638 deletions
+45 -50
View File
@@ -1,38 +1,36 @@
FROM ubuntu:noble
FROM ubuntu:jammy
ARG DEBIAN_FRONTEND=noninteractive
# PHP
RUN apt-get update -y && \
apt install -y apache2 vim software-properties-common sudo nano gnupg2 wget curl git \
lsb-release ca-certificates apt-transport-https && \
add-apt-repository ppa:ondrej/php -y && \
apt-get update -y
apt install -y apache2 vim software-properties-common sudo nano gnupg2
RUN apt-get install --no-install-recommends -y \
php8.4 \
php8.4-common \
php8.4-gd \
php8.4-zip \
php8.4-curl \
php8.4-xml \
php8.4-xmlrpc \
php8.4-mbstring \
php8.4-sqlite \
php8.4-xdebug \
php8.4-pgsql \
php8.4-intl \
php8.4-imagick \
php8.4-gmp \
php8.4-apcu \
php8.4-bcmath \
php8.4-redis \
php8.4-soap \
php8.4-imap \
php8.4-opcache \
php8.4-cli \
php8.4-dev \
libmagickcore-6.q16-7-extra \
php8.1 \
php8.1-common \
php8.1-gd \
php8.1-zip \
php8.1-curl \
php8.1-xml \
php8.1-xmlrpc \
php8.1-mbstring \
php8.1-sqlite \
php8.1-xdebug \
php8.1-pgsql \
php8.1-intl \
php8.1-imagick \
php8.1-gmp \
php8.1-apcu \
php8.1-bcmath \
php8.1-redis \
php8.1-soap \
php8.1-imap \
php8.1-opcache \
php8.1-cli \
php8.1-dev \
libmagickcore-6.q16-3-extra \
curl \
lsof \
make \
unzip
@@ -44,39 +42,36 @@ RUN curl -sS https://getcomposer.org/installer -o /tmp/composer-setup.php && \
php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer && \
rm /tmp/composer-setup.php /tmp/composer-setup.sig
RUN echo "xdebug.remote_enable = 1" >> /etc/php/8.4/cli/conf.d/20-xdebug.ini && \
echo "xdebug.remote_autostart = 1" >> /etc/php/8.4/cli/conf.d/20-xdebug.ini && \
echo "apc.enable_cli=1" >> /etc/php/8.4/cli/conf.d/20-apcu.ini
RUN echo "xdebug.remote_enable = 1" >> /etc/php/8.1/cli/conf.d/20-xdebug.ini && \
echo "xdebug.remote_autostart = 1" >> /etc/php/8.1/cli/conf.d/20-xdebug.ini && \
echo "apc.enable_cli=1" >> /etc/php/8.1/cli/conf.d/20-apcu.ini
# Autostart XDebug for apache
RUN { \
echo "xdebug.mode=debug"; \
echo "xdebug.start_with_request=yes"; \
} >> /etc/php/8.4/apache2/conf.d/20-xdebug.ini
} >> /etc/php/8.1/apache2/conf.d/20-xdebug.ini
# Increase PHP memory limit to 512mb
RUN sed -i 's/memory_limit = .*/memory_limit = 512M/' /etc/php/8.4/apache2/php.ini
# Docker CLI only (for controlling host Docker via socket)
RUN install -m 0755 -d /etc/apt/keyrings && \
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc && \
chmod a+r /etc/apt/keyrings/docker.asc && \
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
tee /etc/apt/sources.list.d/docker.list > /dev/null && \
# Docker
RUN apt-get -y install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common && \
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && \
add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable" && \
apt-get update -y && \
apt-get install -y docker-ce-cli && \
apt-get install -y docker-ce docker-ce-cli containerd.io && \
ln -s /var/run/docker-host.sock /var/run/docker.sock
# Dedicated DevContainer user runs Apache
ENV APACHE_RUN_USER=devcontainer
ENV APACHE_RUN_GROUP=devcontainer
# Delete any existing user/group with UID/GID 1000 first
RUN (getent passwd 1000 && userdel -r $(getent passwd 1000 | cut -d: -f1)) || true && \
(getent group 1000 && groupdel $(getent group 1000 | cut -d: -f1)) || true && \
groupadd -g 1000 ${APACHE_RUN_GROUP} && \
useradd -u 1000 -g 1000 -ms /bin/bash ${APACHE_RUN_USER} && \
RUN useradd -ms /bin/bash ${APACHE_RUN_USER} && \
adduser ${APACHE_RUN_USER} sudo && \
echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers && \
sed -ri "s/^export APACHE_RUN_USER=.*$/export APACHE_RUN_USER=${APACHE_RUN_USER}/" "/etc/apache2/envvars" && \
@@ -86,6 +81,6 @@ USER devcontainer
# NVM
RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
RUN bash --login -i -c 'source /home/devcontainer/.bashrc && nvm install 22'
RUN bash --login -i -c 'source /home/devcontainer/.bashrc && nvm install 16'
WORKDIR /var/www/html
-2
View File
@@ -1,2 +0,0 @@
SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-4
View File
@@ -1,7 +1,3 @@
<!--
- SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
- SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Nextcloud DevContainer
## Usage
-4
View File
@@ -1,9 +1,5 @@
<?php
/**
* SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
$codespaceName = getenv('CODESPACE_NAME');
$codespaceDomain = getenv('GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN');
-2
View File
@@ -1,2 +0,0 @@
SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors
SPDX-License-Identifier: AGPL-3.0-or-later
+1 -2
View File
@@ -1,5 +1,4 @@
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
version: '3'
services:
nextclouddev:
build: .
+1 -4
View File
@@ -1,8 +1,5 @@
#!/bin/bash
#
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
#
sudo service apache2 start
while sleep 1000; do :; done
-2
View File
@@ -1,2 +0,0 @@
SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
SPDX-License-Identifier: AGPL-3.0-or-later
+2 -10
View File
@@ -1,13 +1,5 @@
#!/bin/bash
#
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
#
# Set git safe.directory
git config --global --add safe.directory /var/www/html
git config --global --add safe.directory /var/www/html/3rdparty
# Ensure devcontainer user has access to docker socket
if [ -S /var/run/docker.sock ]; then
sudo chmod 666 /var/run/docker.sock
fi
git config --global --add safe.directory /var/www/html/3rdparty
-4
View File
@@ -1,8 +1,4 @@
#!/bin/bash
#
# SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
#
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/../" >/dev/null 2>&1 && pwd )"
cd $DIR/
+4 -3
View File
@@ -1,8 +1,5 @@
# https://editorconfig.org
# SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
root = true
[*]
@@ -13,6 +10,10 @@ indent_style = tab
insert_final_newline = true
trim_trailing_whitespace = true
[*.feature]
indent_size = 2
indent_style = space
[*.yml]
indent_size = 2
indent_style = space
-3
View File
@@ -1,3 +0,0 @@
watch_file lib/versioncheck.php
watch_file package.json
use flake
+12
View File
@@ -0,0 +1,12 @@
# Ignoring folders for eslint
node_modules/
3rdparty/
**/vendor/
**/l10n/
**/js/*
*.config.js
tests/lib/
apps-extra
# TODO: remove when comments files is not using handlebar templates anymore
apps/comments/src/templates.js
+35
View File
@@ -0,0 +1,35 @@
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',
},
},
}
-25
View File
@@ -1,25 +0,0 @@
# .git-blame-ignore-revs
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
# Format control structures
caff1023ea72bb2ea94130e18a2a6e2ccf819e5f
# Update to coding-standard 1.1.1
aa5f037af71c915424c6dcfd5ad2dc82797dc0d6
# Update to coding-standard 1.2.3
af6de04e9e141466dc229e444ff3f146f4a34765
0bd284cb81b6866338aaaa67aa1d81ef9bfbb2ab
8af7ecb2576071f170ecbb0aa2311b26581e40e2
# Update to coding-standard 1.3.1
9836e9b16484582d309c8437ab46d82e34956941
# Automated refactorings
49dd79eabb2b8902559a7a4e8f8fcad54f46b604
# @nextcloud/vue import paths
b06f5ba4c47450f355a8903c1a93ac68e8c6cfc2
# Update to coding-standard 1.4.0
5981b7eb512aa411f51cad541d01c5c6e93476f0
# Migrate `and` `or` operators to logical `&&` `||` operators
660f3f6fd1ae5539b8f74bfa48859d1b9f1e6abf
# Migrate to ESLint v9 enforced code style
91f3b6b4ee60e0f8bb6e21f92d5bc52e4cebe657
-2
View File
@@ -1,5 +1,3 @@
# SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
/dist/* binary
/package-lock.json merge=binary
/core/css/*.css* binary
+43 -83
View File
@@ -1,111 +1,71 @@
# Fallback owners for code review - ensure all PRs have someone assigned for review.
# (the last match will used so this is only used if there is no more specific code owner below)
# Backend
# is the first and gets everything to make things easier from matching syntax
* @nextcloud/server-backend
# Frontend
# this will override the backend code owners if needed
/__mocks__ @nextcloud/server-frontend
/__tests__ @nextcloud/server-frontend
/dist @nextcloud/server-frontend
/cypress @nextcloud/server-frontend
**/css @nextcloud/server-frontend
**/js @nextcloud/server-frontend
**/src @nextcloud/server-frontend
*.js @nextcloud/server-frontend
*.cjs @nextcloud/server-frontend
*.mjs @nextcloud/server-frontend
*.ts @nextcloud/server-frontend
# dependency management
package.json @nextcloud/server-dependabot @nextcloud/server-frontend
package-lock.json @nextcloud/server-dependabot
# App maintainers
/apps/admin_audit/appinfo/info.xml @luka-nextcloud @blizzz
/apps/cloud_federation_api/appinfo/info.xml @nfebe @mejo-
/apps/comments/appinfo/info.xml @edward-ly @sorbaugh
/apps/contactsinteraction/appinfo/info.xml @kesselb @SebastianKrupinski
/apps/contactsinteraction/lib @kesselb @SebastianKrupinski
/apps/contactsinteraction/tests @kesselb @SebastianKrupinski
/apps/dashboard/appinfo/info.xml @julien-nc @juliusknorr
/apps/dav/lib/CalDAV @ChristophWurst @SebastianKrupinski @tcitworld
/apps/dav/lib/CardDAV @hamza221 @SebastianKrupinski
/apps/dav/tests/unit/CalDAV @ChristophWurst @SebastianKrupinski @tcitworld
/apps/dav/tests/unit/CardDAV @hamza221 @SebastianKrupinski
/apps/cloud_federation_api/appinfo/info.xml @mejo-
/apps/comments/appinfo/info.xml @marcelklehr @Pytal
/apps/contactsinteraction/appinfo/info.xml @kesselb @miaulalala @ChristophWurst @GretaD @hamza221 @st3iny
/apps/dashboard/appinfo/info.xml @julien-nc @juliushaertl
/apps/dav/lib/CalDAV @ChristophWurst @miaulalala @tcitworld
/apps/dav/lib/CardDAV @ChristophWurst @miaulalala @tcitworld
/apps/encryption/appinfo/info.xml @come-nc @icewind1991
/apps/federatedfilesharing/appinfo/info.xml @icewind1991 @danxuliu
/apps/federation/appinfo/info.xml @nfebe @sorbaugh
/apps/files/appinfo/info.xml @skjnldsv @ArtificialOwl @come-nc @artonge @icewind1991 @szaimen @susnux @nfebe
/apps/federation/appinfo/info.xml @datenangebot
/apps/files/appinfo/info.xml @skjnldsv @Pytal @ArtificialOwl @come-nc @artonge @icewind1991 @szaimen @susnux @Fenn-CS
/apps/files_external/appinfo/info.xml @icewind1991 @artonge
/apps/files_reminders/appinfo/info.xml @skjnldsv @sorbaugh
/apps/files_reminders/appinfo/info.xml @Pytal
/apps/files_sharing/appinfo/info.xml @skjnldsv @come-nc
/apps/files_trashbin/appinfo/info.xml @icewind1991 @sorbaugh
/apps/files_trashbin/appinfo/info.xml @Pytal @icewind1991
/apps/files_versions/appinfo/info.xml @artonge @icewind1991
/apps/oauth2/appinfo/info.xml @julien-nc @ChristophWurst
/apps/provisioning_api/appinfo/info.xml @provokateurin @nickvergessen
/apps/settings/appinfo/info.xml @JuliaKirschenheuter @sorbaugh
/apps/sharebymail/appinfo/info.xml @Altahrim @skjnldsv
/apps/settings/appinfo/info.xml @Pytal @JuliaKirschenheuter
/apps/sharebymail/appinfo/info.xml @Altahrim
/apps/systemtags/appinfo/info.xml @Antreesy @marcelklehr
/apps/theming/appinfo/info.xml @skjnldsv @juliusknorr
/apps/twofactor_backupcodes/appinfo/info.xml @miaulalala @ChristophWurst
/apps/updatenotification/appinfo/info.xml @JuliaKirschenheuter @sorbaugh
/apps/theming/appinfo/info.xml @skjnldsv @juliushaertl
/apps/twofactor_backupcodes/appinfo/info.xml @st3iny @miaulalala @ChristophWurst
/apps/updatenotification/appinfo/info.xml @Pytal @JuliaKirschenheuter
/apps/user_ldap/appinfo/info.xml @come-nc @blizzz
/apps/user_status/appinfo/info.xml @Antreesy @nickvergessen
/apps/weather_status/appinfo/info.xml @julien-nc @juliusknorr
/apps/webhook_listeners/appinfo/info.xml @come-nc @julien-nc
/apps/workflowengine/appinfo/info.xml @blizzz @juliusknorr
/apps/weather_status/appinfo/info.xml @julien-nc @juliushaertl
/apps/workflowengine/appinfo/info.xml @blizzz @juliushaertl
# Files frontend expertise
/apps/files/src* @skjnldsv @nextcloud/server-frontend
/apps/files_external/src* @skjnldsv @nextcloud/server-frontend
/apps/files_reminders/src* @skjnldsv @nextcloud/server-frontend
/apps/files_sharing/src/actions* @skjnldsv @nextcloud/server-frontend
/apps/files_trashbin/src* @skjnldsv @nextcloud/server-frontend
# Frontend expertise
/apps/files/src* @skjnldsv
/apps/files_external/src* @skjnldsv
/apps/files_reminders/src* @skjnldsv
/apps/files_sharing/src/actions* @skjnldsv
/apps/files_trashbin/src* @skjnldsv
# Security team
/build/psalm-baseline-security.xml @nickvergessen @nextcloud/server-backend
/resources/codesigning @mgallien @miaulalala @nickvergessen
/resources/config/ca-bundle.crt @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
/apps/twofactor_backupcodes @ChristophWurst @miaulalala @nickvergessen
/core/templates/twofactor* @ChristophWurst @miaulalala @nickvergessen
**/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 @nextcloud/server-backend
/core/routes.php @Altahrim
# OpenAPI
openapi*.json @provokateurin @nextcloud/server-backend
ResponseDefinitions.php @provokateurin @nextcloud/server-backend
openapi*.json @provokateurin
ResponseDefinitions.php @provokateurin
# Talk team
/lib/private/Comments @nickvergessen @nextcloud/talk-backend
/lib/private/Federation @nickvergessen @nextcloud/talk-backend @nextcloud/server-backend
/lib/private/Talk @nickvergessen @nextcloud/talk-backend
/lib/public/Comments @nickvergessen @nextcloud/talk-backend
/lib/public/Federation @nickvergessen @nextcloud/talk-backend @nextcloud/server-backend
/lib/public/OCM @nickvergessen @nextcloud/talk-backend @nextcloud/server-backend
/lib/public/Talk @nickvergessen @nextcloud/talk-backend
/lib/public/UserStatus @nickvergessen @nextcloud/talk-backend
*/Notifications/* @nickvergessen @nextcloud/talk-backend
# Groupware team
/build/integration/dav_features/caldav.feature @ChristophWurst @SebastianKrupinski @tcitworld
/build/integration/dav_features/carddav.feature @hamza221 @SebastianKrupinski
/lib/private/Calendar @ChristophWurst @SebastianKrupinski @tcitworld
/lib/private/Contacts @hamza221 @SebastianKrupinski
/lib/public/Calendar @ChristophWurst @SebastianKrupinski @tcitworld
/lib/public/Contacts @hamza221 @SebastianKrupinski
# Desktop client teamn
/apps/dav/lib/Connector/Sabre/BlockLegacyClientPlugin.php @nextcloud/desktop
/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 @nextcloud/server-backend
/apps/workflowengine/lib @nickvergessen @blizzz
*/Activity/* @nickvergessen
*/Notifications/* @nickvergessen
/lib/private/Profiler @CarlSchwan
/lib/public/Profiler @CarlSchwan
+3 -7
View File
@@ -1,10 +1,6 @@
<!--
- SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
- SPDX-License-Identifier: AGPL-3.0-or-later
-->
## Submitting issues
If you have questions about how to install or use Nextcloud, please direct these to our [forum][forum]. We are also available on [IRC][irc] (unofficial).
If you have questions about how to install or use Nextcloud, please direct these to our [forum][forum]. We are also available on [IRC][irc].
### Short version
@@ -25,7 +21,7 @@ Help us to maximize the effort we can spend fixing issues and adding new feature
[templates]: ./ISSUE_TEMPLATE
[forum]: https://help.nextcloud.com/
[irc]: https://web.libera.chat/#nextcloud
[irc]: https://webchat.freenode.net/?channels=nextcloud
## Contributing to Source Code
@@ -48,7 +44,7 @@ In some areas unit testing is hard (aka almost impossible) as of today - in thes
### Sign your work
We use the Developer Certificate of Origin (DCO) as an additional safeguard
We use the Developer Certificate of Origin (DCO) as a additional safeguard
for the Nextcloud project. This is a well established and widely used
mechanism to assure contributors have confirmed their right to license
their contribution under the project's license.
-2
View File
@@ -1,3 +1 @@
# SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
custom: https://nextcloud.com/include/
+31 -26
View File
@@ -1,10 +1,7 @@
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
name: "🐛 Bug report: Nextcloud Server"
name: "Bug report: Nextcloud Server"
description: "Submit a report and help us improve Nextcloud Server"
title: "[Bug]: "
labels: ["bug", "0. Needs triage"]
type: "Bug"
body:
- type: markdown
attributes:
@@ -12,14 +9,6 @@ body:
### 👍 Thank you for contributing to our project!
Please note this is a **free and open-source** project. Most people take on their own time to help you, so please, be patient.
You can obtain [Enterprise support](https://nextcloud.com/support/) if you run Nextcloud Server in a mission critical environment.
- type: markdown
attributes:
value: |
### 🚨 SECURITY INFO
If you are reporting a security concern, please report it via [our HackerOne page](https://hackerone.com/nextcloud) instead and review our [security policy](https://nextcloud.com/security/).
This allows us to coordinate the fix and release without potentially exposing all Nextcloud servers and users in the meantime.
It also may qualify your report for a bug bounty reward.
Thank you for helping make Nextcloud more secure!
- type: checkboxes
id: before-posting
attributes:
@@ -49,7 +38,7 @@ body:
label: Steps to reproduce
description: |
Describe the steps to reproduce the bug.
The better your description is _(go 'here', click 'there'...)_ the fastest you'll get an _(accurate)_ answer.
The better your description is _(go 'here', click 'there'...)_ the fastest you'll get an _(accurate)_ answer.
value: |
1.
2.
@@ -63,6 +52,22 @@ body:
description: Describe what you expected to happen instead.
validations:
required: true
- type: dropdown
id: install-method
attributes:
label: Installation method
description: |
Select installation method you've used.
_Describe the method in the "Additional info" section if you chose "Other"._
options:
- "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:
@@ -71,9 +76,9 @@ body:
Select Nextcloud Server version.
_Versions not listed here are not maintained and not supported anymore_
options:
- "30"
- "31"
- "32"
- "26"
- "27"
- "28"
- "master"
validations:
required: true
@@ -96,10 +101,10 @@ body:
Select PHP engine version serving Nextcloud Server.
_Describe in the "Additional info" section if you chose "Other"._
options:
- "PHP 8.4"
- "PHP 8.3"
- "PHP 8.2"
- "PHP 8.0"
- "PHP 8.1"
- "PHP 8.2"
- "PHP 8.3"
- "Other"
- type: dropdown
id: webserver
@@ -133,8 +138,8 @@ body:
description: |
Select if bug is present after an update or on a fresh install.
options:
- "Updated from a MINOR version (ex. 32.0.1 to 32.0.2)"
- "Upgraded to a MAJOR version (ex. 31 to 32)"
- "Updated from a MINOR version (ex. 22.1 to 22.2)"
- "Upgraded to a MAJOR version (ex. 22 to 23)"
- "Fresh Nextcloud Server install"
- type: dropdown
id: encryption
@@ -169,7 +174,7 @@ body:
./occ config:list system
```
> NOTE: This will be automatically formatted into code for better readability.
render: json
render: shell
- type: textarea
id: apps
attributes:
@@ -192,7 +197,7 @@ body:
Provide Nextcloud Signing status.
First, login as Admin user into your Nextcloud, then access this URL:
```shell
https://yournextcloud.tld/index.php/settings/integrity/failed
https://yournextcloud.tld/index.php/settings/integrity/failed
```
> NOTE: This will be automatically formatted into code for better readability.
render: shell
@@ -201,10 +206,10 @@ body:
attributes:
label: Nextcloud Logs
description: |
Provide relevant Nextcloud log entries (e.g. from the time period you reproduced the problem).
Copy full individual entries from `data/nextcloud.log` or use `Copy raw entry` from `/settings/admin/logging` section:
Provide Nextcloud logs lines.
Copy all contents from `data/nextcloud.log` or a RAW from `/settings/admin/logging` section:
> NOTE: This will be automatically formatted into code for better readability.
render: json
render: shell
- type: textarea
id: additional-info
attributes:
+28 -25
View File
@@ -2,44 +2,47 @@
name: 🚀 Feature request
about: Suggest an idea for this project
labels: enhancement, 0. Needs triage
type: "Enhancement"
---
<!--
Have a security concern? Please report potential security issues via our HackerOne program (https://hackerone.com/nextcloud) instead of filing a public GitHub issue. See our security policy: https://nextcloud.com/security/
Thanks for 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/)
-->
<!--
Thanks for taking the time to suggest improvements to Nextcloud! Use this form to request features or propose enhancements.
Guidelines:
<!--- Please keep this note for other contributors -->
* Please search existing issues first; your idea may already have been discussed or implemented.
* This repository (https://github.com/nextcloud/server/issues) is only for issues within the Nextcloud Server code. This includes shipped apps such as Files, DAV, Encryption, External Storage, Sharing, Deleted Files, Versions, Federation, and LDAP.
* Issues for other components should be reported in their respective repositories in the Nextcloud GitHub organization: https://github.com/nextcloud/
* Nextcloud is an open source project backed by Nextcloud GmbH. Many contributors are volunteers and primarily focus on issues affecting home users. Paid engineers prioritize customer-reported issues and critical defects.
* This is the development issue tracker. Please do NOT use it for support questions or help diagnosing your installation.
- For community/user help: https://help.nextcloud.com
- For professional / large deployment support options: https://nextcloud.com/support
-->
### 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.
<!-- Please keep the note below for other contributors -->
> [!TIP]
> ### Help move this idea forward
> * Use the 👍 reaction to show support for this feature.
> * Avoid commenting unless you have relevant information to add; unnecessary comments create noise for subscribers.
> * Subscribe to receive notifications about status changes and new comments.
---
<!-- DO NOT EDIT ABOVE THIS LINE -->
**Is your feature request related to a problem? Please describe.**
<!-- Provide a clear and concise description of the problem. For example: “I'm always frustrated when …” -->
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
<!-- Provide a clear and concise description of what you want to happen. -->
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
<!-- Provide a clear and concise description of any alternative solutions or features you've considered. -->
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
<!-- Add any other context or screenshots related to the feature request here. -->
Add any other context or screenshots about the feature request here.
@@ -1,2 +0,0 @@
SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
SPDX-License-Identifier: AGPL-3.0-or-later
+1 -5
View File
@@ -1,9 +1,5 @@
# SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
blank_issues_enabled: false
contact_links:
- name: 🚨 Report a security or privacy issue
url: https://hackerone.com/nextcloud
about: Report security and privacy related issues privately to the Nextcloud team, so we can coordinate the fix and release without potentially exposing all Nextcloud servers and users in the meantime.
- name: ❓ Community Support and Help
url: https://help.nextcloud.com/
about: Configuration, webserver/proxy or performance issues and other questions
-7
View File
@@ -1,7 +0,0 @@
# SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
name: "CodeQL config"
paths-ignore:
- dist
-2
View File
@@ -1,5 +1,3 @@
# SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
firstPRMergeComment: >
Thanks for your first pull request and welcome to the community!
Feel free to keep them coming! If you are looking for issues to tackle then have a look at this selection: https://github.com/nextcloud/server/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22
+217 -138
View File
@@ -1,8 +1,220 @@
# SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
version: 2
updates:
# Linting and coding style
- package-ecosystem: composer
directory: "/"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
# cs-fixer
- package-ecosystem: composer
directory: "/vendor-bin/cs-fixer"
schedule:
interval: weekly
day: saturday
time: "04:10"
timezone: Europe/Copenhagen
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
# openapi-extractor
- package-ecosystem: composer
directory: "/vendor-bin/openapi-extractor"
schedule:
interval: weekly
day: saturday
time: "04:20"
timezone: Europe/Brussels
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
- "provokateurin"
# psalm
- package-ecosystem: composer
directory: "/vendor-bin/psalm"
schedule:
interval: weekly
day: saturday
time: "04:30"
timezone: Europe/Madrid
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
# 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: stable26
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
ignore:
# ignore all GitHub linguist patch updates
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor", "version-update:semver-patch"]
# 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: 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"
# Testing StableXX composer
- package-ecosystem: composer
directory: "/build/integration"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
target-branch: stable26
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
ignore:
# ignore all GitHub linguist patch updates
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor", "version-update:semver-patch"]
- 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"]
# GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
@@ -16,139 +228,6 @@ updates:
labels:
- "3. to review"
- "feature: dependencies"
reviewers:
- "nextcloud/server-dependabot"
# Main composer (linting, testing, openapi)
- package-ecosystem: composer
directories:
- "/"
- "/build/integration"
- "/vendor-bin/cs-fixer"
- "/vendor-bin/openapi-extractor"
- "/vendor-bin/phpunit"
- "/vendor-bin/psalm"
- "/vendor-bin/rector"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
labels:
- "3. to review"
- "feature: dependencies"
# Main master npm frontend dependencies
- package-ecosystem: npm
directories:
- "/"
- "/build/frontend"
- "/build/frontend-legacy"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
open-pull-requests-limit: 20
labels:
- "3. to review"
- "feature: dependencies"
# Disable automatic rebasing because without a build CI will likely fail anyway
rebase-strategy: "disabled"
groups:
vite:
patterns:
- "vite"
- "@nextcloud/vite-config"
vitest:
patterns:
- "vitest"
- "@vitest/*"
# Latest stable release
# Composer dependencies for linting and testing
- package-ecosystem: composer
target-branch: stable32
directories:
- "/"
- "/build/integration"
- "/vendor-bin/cs-fixer"
- "/vendor-bin/openapi-extractor"
- "/vendor-bin/phpunit"
- "/vendor-bin/psalm"
schedule:
interval: weekly
day: saturday
time: "03:30"
timezone: Europe/Paris
labels:
- "3. to review"
- "feature: dependencies"
ignore:
# only patch updates on stable branches
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor"]
# Latest stable branch
# frontend dependencies
- package-ecosystem: npm
target-branch: stable32
directory: "/"
schedule:
interval: weekly
day: saturday
time: "03:30"
timezone: Europe/Paris
open-pull-requests-limit: 20
labels:
- "3. to review"
- "feature: dependencies"
# Disable automatic rebasing because without a build CI will likely fail anyway
rebase-strategy: "disabled"
ignore:
# no major updates on stable branches
- dependency-name: "*"
update-types: ["version-update:semver-major"]
# Older stable releases
# Composer dependencies for linting and testing
- package-ecosystem: composer
target-branch: stable31
directories:
- "/"
- "/build/integration"
- "/vendor-bin/cs-fixer"
- "/vendor-bin/openapi-extractor"
- "/vendor-bin/phpunit"
- "/vendor-bin/psalm"
schedule:
interval: weekly
day: saturday
time: "04:00"
timezone: Europe/Paris
labels:
- "3. to review"
- "feature: dependencies"
ignore:
# only patch updates on stable branches
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor"]
# frontend dependencies
- package-ecosystem: npm
target-branch: stable31
directory: "/"
schedule:
interval: weekly
day: saturday
time: "04:00"
timezone: Europe/Paris
open-pull-requests-limit: 20
labels:
- "3. to review"
- "feature: dependencies"
# Disable automatic rebasing because without a build CI will likely fail anyway
rebase-strategy: "disabled"
ignore:
# no major updates on stable branches
- dependency-name: "*"
update-types: ["version-update:semver-major"]
-7
View File
@@ -1,8 +1,3 @@
<!--
- 🚨 SECURITY INFO
-
- Before sending a pull request that fixes a security issue please report it via our HackerOne page (https://hackerone.com/nextcloud) following our security policy (https://nextcloud.com/security/). This allows us to coordinate the fix and release without potentially exposing all Nextcloud servers and users in the meantime.
-->
* Resolves: # <!-- related github issue -->
@@ -21,5 +16,3 @@
- [ ] Screenshots before/after for front-end changes
- [ ] Documentation ([manuals](https://github.com/nextcloud/documentation/) or wiki) has been updated or is not required
- [ ] [Backports requested](https://github.com/nextcloud/backportbot/#usage) where applicable (ex: critical bugfixes)
- [ ] [Labels added](https://github.com/nextcloud/server/labels) where applicable (ex: bug/enhancement, `3. to review`, feature component)
- [ ] [Milestone added](https://github.com/nextcloud/server/milestones) for target branch/version (ex: 32.x for `stable32`)
-2
View File
@@ -1,2 +0,0 @@
SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
SPDX-License-Identifier: AGPL-3.0-or-later
+10 -40
View File
@@ -1,5 +1,3 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Code checkers
on:
@@ -36,9 +34,8 @@ jobs:
- 'composer.json'
- 'composer.lock'
- '**.php'
- build/autoloaderchecker.sh
autoloader:
autocheckers:
runs-on: ubuntu-latest
needs: changes
@@ -46,56 +43,32 @@ jobs:
strategy:
matrix:
php-versions: ['8.2']
php-versions: ['8.3']
name: PHP checkers
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
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
autocheckers:
runs-on: ubuntu-latest-low
strategy:
matrix:
php-versions: ['8.2']
name: Translation and Files checkers
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: none
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Check translations are JSON decodeable
run: php ./build/translation-checker.php
@@ -108,14 +81,11 @@ jobs:
- name: Check that all and only expected files are included
run: php ./build/files-checker.php
- name: Check that all shipped apps are linted by psalm
run: sh ./build/psalm-checker.sh
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, autoloader, autocheckers]
needs: [changes, autocheckers]
if: always()
@@ -123,4 +93,4 @@ jobs:
steps:
- name: Summary status
run: if ${{ needs.autocheckers.result != 'success' || (needs.changes.outputs.src != 'false' && needs.autoloader.result != 'success') }}; then exit 1; fi
run: if ${{ needs.changes.outputs.src != 'false' && needs.autocheckers.result != 'success' }}; then exit 1; fi
+7 -16
View File
@@ -27,23 +27,14 @@ jobs:
steps:
- name: Set server major version environment
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
const regex = /^stable(\d+)$/
const baseRef = context.payload.pull_request.base.ref
const match = baseRef.match(regex)
if (match) {
console.log('Setting server_major to ' + match[1]);
core.exportVariable('server_major', match[1]);
console.log('Setting current_day to ' + (new Date()).toISOString().substr(0, 10));
core.exportVariable('current_day', (new Date()).toISOString().substr(0, 10));
}
run: |
# retrieve version number from branch reference
server_major=$(echo "${{ github.base_ref }}" | sed -En 's/stable//p')
echo "server_major=$server_major" >> $GITHUB_ENV
echo "current_month=$(date +%Y-%m)" >> $GITHUB_ENV
- name: Checking if server ${{ env.server_major }} is EOL
if: ${{ env.server_major != '' }}
- name: Checking if ${{ env.server_major }} is EOL
run: |
curl -s https://raw.githubusercontent.com/nextcloud-releases/updater_server/production/config/major_versions.json \
| jq '.["${{ env.server_major }}"]["eol"] // "9999-99-99" | . >= "${{ env.current_day }}"' \
| jq '.["${{ env.server_major }}"]["eol"] // "9999-99" | . >= "${{ env.current_month }}"' \
| grep -q true
+2 -27
View File
@@ -2,9 +2,6 @@
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2022-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Block merges during freezes
@@ -28,30 +25,8 @@ jobs:
runs-on: ubuntu-latest-low
steps:
- name: Register server reference to fallback to master branch
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
const baseRef = context.payload.pull_request.base.ref
if (baseRef === 'main' || baseRef === 'master') {
core.exportVariable('server_ref', 'master');
console.log('Setting server_ref to master');
} else {
const regex = /^stable(\d+)$/
const match = baseRef.match(regex)
if (match) {
core.exportVariable('server_ref', match[0]);
console.log('Setting server_ref to ' + match[0]);
} else {
console.log('Not based on master/main/stable*, so skipping freeze check');
}
}
- name: Download version.php from ${{ env.server_ref }}
if: ${{ env.server_ref != '' }}
run: curl 'https://raw.githubusercontent.com/nextcloud/server/${{ env.server_ref }}/version.php' --output version.php
- name: Download version.php from ${{ github.base_ref }}
run: curl https://raw.githubusercontent.com/nextcloud/server/${{ github.base_ref }}/version.php --output version.php
- name: Run check
if: ${{ env.server_ref != '' }}
run: cat version.php | grep 'OC_VersionString' | grep -i -v 'RC'
+5 -31
View File
@@ -1,5 +1,3 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Block merging with outdated 3rdparty/
on:
@@ -31,49 +29,25 @@ jobs:
- 'version.php'
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: 3rdparty commit hash on current branch
id: actual
run: |
echo "commit=$(git submodule status | grep ' 3rdparty' | egrep -o '[a-f0-9]{40}')" >> "$GITHUB_OUTPUT"
- name: Register server reference to fallback to master branch
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
const baseRef = context.payload.pull_request.base.ref
if (baseRef === 'main' || baseRef === 'master') {
core.exportVariable('server_ref', 'master');
console.log('Setting server_ref to master');
} else {
const regex = /^stable(\d+)$/
const match = baseRef.match(regex)
if (match) {
core.exportVariable('server_ref', match[0]);
console.log('Setting server_ref to ' + match[0]);
} else {
console.log('Not based on master/main/stable*, so skipping outdated 3rdparty check');
}
}
- name: Last 3rdparty commit on target branch
if: ${{ env.server_ref != '' }}
id: target
run: |
echo "commit=$(git ls-remote https://github.com/nextcloud/3rdparty refs/heads/${{ env.server_ref }} | awk '{ print $1}')" >> "$GITHUB_OUTPUT"
echo "commit=$(git ls-remote https://github.com/nextcloud/3rdparty refs/heads/${{ github.base_ref }} | awk '{ print $1}')" >> "$GITHUB_OUTPUT"
- name: Compare if 3rdparty commits are different
if: ${{ env.server_ref != '' }}
run: |
echo '3rdparty/ seems to not point to the last commit of the dedicated branch:'
echo 'Branch has: ${{ steps.actual.outputs.commit }}'
echo '${{ env.server_ref }} has: ${{ steps.target.outputs.commit }}'
echo "Branch has: ${{ steps.actual.outputs.commit }}"
echo "${{ github.base_ref }} has: ${{ steps.target.outputs.commit }}"
- name: Fail if 3rdparty commits are different
if: ${{ env.server_ref != '' && steps.changes.outputs.src != 'false' && steps.actual.outputs.commit != steps.target.outputs.commit }}
if: ${{ steps.changes.outputs.src != 'false' && steps.actual.outputs.commit != steps.target.outputs.commit }}
run: |
exit 1
@@ -2,9 +2,6 @@
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Block unconventional commits
@@ -27,9 +24,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- uses: webiny/action-conventional-commits@8bc41ff4e7d423d56fa4905f6ff79209a78776c7 # v1.3.0
with:
-49
View File
@@ -1,49 +0,0 @@
# SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
name: "CodeQL Advanced"
on:
push:
branches: [ "master", "stable*" ]
pull_request:
branches: [ "master", "stable*" ]
schedule:
- cron: '28 18 * * 1'
jobs:
analyze:
name: Analyze (${{ matrix.language }})
runs-on: ubuntu-latest
permissions:
# required for all workflows
security-events: write
# required to fetch internal or private CodeQL packs
packages: read
strategy:
fail-fast: false
matrix:
include:
- language: actions
build-mode: none
- language: javascript-typescript
build-mode: none
steps:
- name: Checkout repository
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
- name: Initialize CodeQL
uses: github/codeql-action/init@fdbfb4d2750291e159f0156def62b853c2798ca2 # v4.31.5
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
config-file: ./.github/codeql-config.yml
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@fdbfb4d2750291e159f0156def62b853c2798ca2 # v4.31.5
with:
category: "/language:${{matrix.language}}"
+21 -103
View File
@@ -1,19 +1,8 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2021-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Compile Command
on:
issue_comment:
types: [created]
permissions:
contents: read
jobs:
init:
runs-on: ubuntu-latest
@@ -29,40 +18,18 @@ jobs:
base_ref: ${{ steps.comment-branch.outputs.base_ref }}
steps:
- name: Get repository from pull request comment
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
id: get-repository
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
const pull = await github.rest.pulls.get({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: context.issue.number
});
const repositoryName = pull.data.head?.repo?.full_name
console.log(repositoryName)
return repositoryName
- name: Disabled on forks
if: ${{ fromJSON(steps.get-repository.outputs.result) != github.repository }}
run: |
echo 'Can not execute /compile on forks'
exit 1
- name: Check actor permission
uses: skjnldsv/check-actor-permission@69e92a3c4711150929bca9fcf34448c5bf5526e7 # v2
with:
require: write
- name: Add reaction on start
uses: peter-evans/create-or-update-comment@e8674b075228eee787fea43ef493e45ece1004c9 # v5.0.0
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'
reactions: "+1"
- name: Parse command
uses: skjnldsv/parse-command-comment@5c955203c52424151e6d0e58fb9de8a9f6a605a1 # v2
@@ -79,98 +46,53 @@ jobs:
fi
- name: Init branch
uses: xt0rted/pull-request-comment-branch@e8b8daa837e8ea7331c0003c9c316a64c6d8b0b1 # v3.0.0
uses: xt0rted/pull-request-comment-branch@d97294d304604fa98a2600a6e2f916a84b596dc7 # v1
id: comment-branch
- name: Add reaction on failure
uses: peter-evans/create-or-update-comment@e8674b075228eee787fea43ef493e45ece1004c9 # v5.0.0
if: failure()
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reactions: '-1'
process:
runs-on: ubuntu-latest
needs: init
steps:
- name: Restore cached git repository
uses: buildjet/cache@3e70d19e31d6a8030aeddf6ed8dbe601f94d09f4 # v4.0.2
uses: buildjet/cache@e376f15c6ec6dc595375c78633174c7e5f92dc0e # v3
with:
path: .git
key: git-repo
- name: Checkout ${{ needs.init.outputs.head_ref }}
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
# Needed to allow force push later
persist-credentials: true
token: ${{ secrets.COMMAND_BOT_PAT }}
fetch-depth: 0
ref: ${{ needs.init.outputs.head_ref }}
- name: Setup git
run: |
git config --local user.email 'nextcloud-command@users.noreply.github.com'
git config --local user.name 'nextcloud-command'
git config --local user.email "nextcloud-command@users.noreply.github.com"
git config --local user.name "nextcloud-command"
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
id: package-engines-versions
with:
fallbackNode: '^24'
fallbackNpm: '^11.3'
fallbackNode: '^20'
fallbackNpm: '^10'
- name: Set up node ${{ steps.package-engines-versions.outputs.nodeVersion }}
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3
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 }}'
run: npm i -g npm@"${{ steps.package-engines-versions.outputs.npmVersion }}"
- name: Rebase to ${{ needs.init.outputs.base_ref }}
if: ${{ contains(needs.init.outputs.arg1, 'rebase') }}
run: |
git fetch origin '${{ needs.init.outputs.base_ref }}:${{ needs.init.outputs.base_ref }}'
# Start the rebase
git rebase 'origin/${{ needs.init.outputs.base_ref }}' || {
# Handle rebase conflicts in a loop
while [ -d .git/rebase-merge ] || [ -d .git/rebase-apply ]; do
echo "Handling rebase conflict..."
# Remove and checkout /dist and /js folders from the base branch
if [ -d "dist" ]; then
rm -rf dist
git checkout origin/${{ needs.init.outputs.base_ref }} -- dist/ 2>/dev/null || echo "No dist folder in base branch"
fi
if [ -d "js" ]; then
rm -rf js
git checkout origin/${{ needs.init.outputs.base_ref }} -- js/ 2>/dev/null || echo "No js folder in base branch"
fi
# Stage all changes
git add .
# Check if there are any changes after resolving conflicts
if git diff --cached --quiet; then
echo "No changes after conflict resolution, skipping commit"
git rebase --skip
else
echo "Changes found, continuing rebase without editing commit message"
git -c core.editor=true rebase --continue
fi
# Break if rebase is complete
if [ ! -d .git/rebase-merge ] && [ ! -d .git/rebase-apply ]; then
break
fi
done
}
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:
@@ -183,40 +105,36 @@ jobs:
- 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 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 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 add ${{ github.workspace }}${{ needs.init.outputs.git_path }}
git commit --amend --no-edit --signoff
# Remove any [skip ci] from the amended commit
git commit --amend -m "$(git log -1 --format='%B' | sed '/\[skip ci\]/d')"
- name: Push normally
if: ${{ !contains(needs.init.outputs.arg1, 'rebase') && !contains(needs.init.outputs.arg1, 'amend') }}
env:
HEAD_REF: ${{ needs.init.outputs.head_ref }}
run: git push origin "$HEAD_REF"
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') }}
env:
HEAD_REF: ${{ needs.init.outputs.head_ref }}
run: git push --force-with-lease origin "$HEAD_REF"
run: git push --force origin ${{ needs.init.outputs.head_ref }}
- name: Add reaction on failure
uses: peter-evans/create-or-update-comment@e8674b075228eee787fea43ef493e45ece1004c9 # v5.0.0
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'
reactions: "-1"
+10 -50
View File
@@ -1,5 +1,3 @@
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Update 3rdparty command
on:
@@ -20,81 +18,43 @@ jobs:
steps:
- name: Add reaction on start
uses: peter-evans/create-or-update-comment@e8674b075228eee787fea43ef493e45ece1004c9 # v3.0.1
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v3.0.1
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reactions: '+1'
- name: Disabled on forks
if: ${{ github.event.pull_request.head.repo.full_name != github.repository }}
run: |
echo 'Can not execute /update-3rdparty on forks'
exit 1
reactions: "+1"
- name: Init branch
uses: xt0rted/pull-request-comment-branch@e8b8daa837e8ea7331c0003c9c316a64c6d8b0b1 # v1
uses: xt0rted/pull-request-comment-branch@d97294d304604fa98a2600a6e2f916a84b596dc7 # v1
id: comment-branch
- name: Checkout ${{ steps.comment-branch.outputs.head_ref }}
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
fetch-depth: 0
token: ${{ secrets.COMMAND_BOT_PAT }}
ref: ${{ steps.comment-branch.outputs.head_ref }}
- name: Register server reference to fallback to master branch
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
const baseRef = context.payload.pull_request.base.ref
if (baseRef === 'main' || baseRef === 'master') {
core.exportVariable('server_ref', 'master');
console.log('Setting server_ref to master');
} else {
const regex = /^stable(\d+)$/
const match = baseRef.match(regex)
if (match) {
core.exportVariable('server_ref', match[0]);
console.log('Setting server_ref to ' + match[0]);
} else {
console.log('Not based on master/main/stable*, so skipping pull 3rdparty command');
}
}
- name: Setup git
run: |
git config --local user.email 'nextcloud-command@users.noreply.github.com'
git config --local user.name 'nextcloud-command'
- name: Add reaction on failure
uses: peter-evans/create-or-update-comment@e8674b075228eee787fea43ef493e45ece1004c9 # v3.0.1
if: ${{ env.server_ref == '' }}
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
comment-id: ${{ github.event.comment.id }}
reactions: '-1'
git config --local user.email "nextcloud-command@users.noreply.github.com"
git config --local user.name "nextcloud-command"
- name: Pull 3rdparty
if: ${{ env.server_ref != '' }}
run: git submodule foreach 'if [ "$sm_path" == "3rdparty" ]; then git pull origin '"'"'${{ env.server_ref }}'"'"'; fi'
run: git submodule foreach 'if [ "$sm_path" == "3rdparty" ]; then git pull origin ${{ github.event.issue.pull_request.base.ref }}; fi'
- name: Commit and push changes
if: ${{ env.server_ref != '' }}
run: |
git add 3rdparty
git commit -s -m 'Update submodule 3rdparty to latest ${{ env.server_ref }}'
git commit -s -m "Update submodule 3rdparty to latest ${{ github.event.issue.pull_request.base.ref }}"
git push
- name: Add reaction on failure
uses: peter-evans/create-or-update-comment@e8674b075228eee787fea43ef493e45ece1004c9 # v3.0.1
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'
reactions: "-1"
+51
View File
@@ -0,0 +1,51 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
name: Rebase command
on:
issue_comment:
types: created
permissions:
contents: read
jobs:
rebase:
runs-on: ubuntu-latest
permissions:
contents: none
# On pull requests and if the comment starts with `/rebase`
if: github.event.issue.pull_request != '' && startsWith(github.event.comment.body, '/rebase')
steps:
- name: Add reaction on start
uses: peter-evans/create-or-update-comment@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@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
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"
+37 -112
View File
@@ -1,11 +1,3 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Cypress
on: pull_request
@@ -17,16 +9,8 @@ concurrency:
env:
# Adjust APP_NAME if your repository name is different
APP_NAME: ${{ github.event.repository.name }}
# This represents the server branch to checkout.
# Usually it's the base branch of the PR, but for pushes it's the branch itself.
# e.g. 'main', 'stable27' or 'feature/my-feature'
# n.b. server will use head_ref, as we want to test the PR branch.
BRANCH: ${{ github.base_ref || github.ref_name }}
permissions:
contents: read
# 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:
@@ -36,56 +20,50 @@ jobs:
npmVersion: ${{ steps.versions.outputs.npmVersion }}
env:
# We'll install cypress in the cypress job
CYPRESS_INSTALL_BINARY: 0
PUPPETEER_SKIP_DOWNLOAD: true
steps:
- name: Disabled on forks
if: ${{ github.event.pull_request.head.repo.full_name != github.repository }}
run: |
echo 'Can not run cypress on forks'
exit 1
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
# We need to checkout submodules for 3rdparty
submodules: true
- name: Check composer.json
id: check_composer
uses: andstor/file-existence-action@076e0072799f4942c8bc574a82233e1e4d13e9d6 # v3.0.0
uses: andstor/file-existence-action@076e0072799f4942c8bc574a82233e1e4d13e9d6 # v2
with:
files: 'composer.json'
files: "composer.json"
- name: Install composer dependencies
if: steps.check_composer.outputs.files_exists == 'true'
run: composer install --no-dev
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
id: versions
with:
fallbackNode: '^24'
fallbackNpm: '^11.3'
fallbackNode: "^20"
fallbackNpm: "^9"
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}'
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"
- name: Install node dependencies & build app
run: |
npm ci
TESTING=true npm run build --if-present
- name: Show cypress version
run: npm run cypress:version
- name: Save context
uses: buildjet/cache/save@3e70d19e31d6a8030aeddf6ed8dbe601f94d09f4 # v4.0.2
uses: buildjet/cache/save@e376f15c6ec6dc595375c78633174c7e5f92dc0e # v3
with:
key: cypress-context-${{ github.run_id }}
path: ./
@@ -99,82 +77,32 @@ jobs:
matrix:
# Run multiple copies of the current job in parallel
# Please increase the number or runners as your tests suite grows (0 based index for e2e tests)
containers: ['setup', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
# Hack as strategy.job-total includes the "setup" and GitHub does not allow math expressions
# Always align this number with the total of e2e runners (max. index + 1)
total-containers: [10]
services:
mysql:
# Only start mysql if we are running the setup tests
image: ${{matrix.containers == 'setup' && 'ghcr.io/nextcloud/continuous-integration-mysql-8.4:latest' || ''}}
ports:
- '3306/tcp'
env:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_USER: oc_autotest
MYSQL_PASSWORD: nextcloud
MYSQL_DATABASE: oc_autotest
options: --health-cmd="mysqladmin ping" --health-interval 5s --health-timeout 2s --health-retries 10
mariadb:
# Only start mariadb if we are running the setup tests
image: ${{matrix.containers == 'setup' && 'mariadb:11.4' || ''}}
ports:
- '3306/tcp'
env:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_USER: oc_autotest
MYSQL_PASSWORD: nextcloud
MYSQL_DATABASE: oc_autotest
options: --health-cmd="mariadb-admin ping" --health-interval 5s --health-timeout 2s --health-retries 5
postgres:
# Only start postgres if we are running the setup tests
image: ${{matrix.containers == 'setup' && 'ghcr.io/nextcloud/continuous-integration-postgres-17:latest' || ''}}
ports:
- '5432/tcp'
env:
POSTGRES_USER: root
POSTGRES_PASSWORD: rootpassword
POSTGRES_DB: nextcloud
options: --mount type=tmpfs,destination=/var/lib/postgresql/data --health-cmd pg_isready --health-interval 5s --health-timeout 2s --health-retries 5
oracle:
# Only start oracle if we are running the setup tests
image: ${{matrix.containers == 'setup' && 'ghcr.io/gvenzl/oracle-free:23' || ''}}
ports:
- '1521'
env:
ORACLE_PASSWORD: oracle
options: --health-cmd healthcheck.sh --health-interval 20s --health-timeout 10s --health-retries 10
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@3e70d19e31d6a8030aeddf6ed8dbe601f94d09f4 # v4.0.2
uses: buildjet/cache/restore@e376f15c6ec6dc595375c78633174c7e5f92dc0e # v3
with:
fail-on-cache-miss: true
key: cypress-context-${{ github.run_id }}
path: ./
- name: Set up node ${{ needs.init.outputs.nodeVersion }}
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3
with:
node-version: ${{ needs.init.outputs.nodeVersion }}
- name: Set up npm ${{ needs.init.outputs.npmVersion }}
run: npm i -g 'npm@${{ needs.init.outputs.npmVersion }}'
- name: Install cypress
run: ./node_modules/cypress/bin/cypress install
run: npm i -g npm@"${{ needs.init.outputs.npmVersion }}"
- name: Run ${{ matrix.containers == 'component' && 'component' || 'E2E' }} cypress tests
uses: cypress-io/github-action@7ef72e250a9e564efb4ed4c2433971ada4cc38b4 # v6.10.4
uses: cypress-io/github-action@1b70233146622b69e789ccdd4f9452adc638d25a # v6.6.1
with:
# We already installed the dependencies in the init job
install: false
component: ${{ matrix.containers == 'component' }}
group: ${{ matrix.use-cypress-cloud && matrix.containers == 'component' && 'Run component' || matrix.use-cypress-cloud && 'Run E2E' || '' }}
# cypress env
@@ -191,34 +119,31 @@ jobs:
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
SPLIT: ${{ matrix.total-containers }}
SPLIT_INDEX: ${{ matrix.containers == 'component' && 0 || matrix.containers }}
SPLIT_RANDOM_SEED: ${{ github.run_id }}
SETUP_TESTING: ${{ matrix.containers == 'setup' && 'true' || '' }}
- name: Upload snapshots and videos
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
- name: Upload snapshots
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
if: always()
with:
name: snapshots_${{ matrix.containers }}
path: |
cypress/snapshots
cypress/videos
path: cypress/snapshots
- name: Show logs
- name: Extract NC logs
if: failure() && matrix.containers != 'component'
run: |
for id in $(docker ps -aq); do
docker container inspect "$id" --format '=== Logs for container {{.Name}} ==='
docker logs "$id" >> nextcloud.log
done
echo '=== Nextcloud server logs ==='
docker exec nextcloud-e2e-test-server_${{ env.APP_NAME }} cat data/nextcloud.log
run: docker logs nextcloud-cypress-tests-${{ env.APP_NAME }} > nextcloud.log
- name: Upload NC logs
uses: actions/upload-artifact@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-e2e-test-server_${{ env.APP_NAME }} tar -cvjf - data > data.tar
run: docker exec nextcloud-cypress-tests-server tar -cvjf - data > data.tar
- name: Upload data archive
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
- name: Upload data dir archive
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
if: failure() && matrix.containers != 'component'
with:
name: nc_data_${{ matrix.containers }}
+9 -27
View File
@@ -2,14 +2,11 @@
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Auto approve Dependabot PRs
name: Dependabot
on:
pull_request_target: # zizmor: ignore[dangerous-triggers]
pull_request_target:
branches:
- main
- master
@@ -24,35 +21,20 @@ concurrency:
jobs:
auto-approve-merge:
if: github.event.pull_request.user.login == 'dependabot[bot]' || github.event.pull_request.user.login == 'renovate[bot]'
if: github.actor == 'dependabot[bot]'
runs-on: ubuntu-latest-low
permissions:
# for hmarr/auto-approve-action to approve PRs
pull-requests: write
# for alexwilson/enable-github-automerge-action to approve PRs
contents: write
steps:
- name: Disabled on forks
if: ${{ github.event.pull_request.head.repo.full_name != github.repository }}
run: |
echo 'Can not approve PRs from forks'
exit 1
- uses: mdecoleman/pr-branch-name@55795d86b4566d300d237883103f052125cc7508 # v3.0.0
id: branchname
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
# GitHub actions bot approve
- uses: hmarr/auto-approve-action@f0939ea97e9205ef24d872e76833fa908a770363 # v4.0.0
if: startsWith(steps.branchname.outputs.branch, 'dependabot/')
# Github actions bot approve
- uses: hmarr/auto-approve-action@b40d6c9ed2fa10c9a2749eca7eb004418a705501 # v2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
# Enable GitHub auto merge
- name: Auto merge
uses: alexwilson/enable-github-automerge-action@56e3117d1ae1540309dc8f7a9f2825bc3c5f06ff # v2.0.0
if: startsWith(steps.branchname.outputs.branch, 'dependabot/')
# Nextcloud bot approve and merge request
- uses: ahmadnassri/action-dependabot-auto-merge@45fc124d949b19b6b8bf6645b6c9d55f4f9ac61a # v2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
target: minor
github-token: ${{ secrets.DEPENDABOT_AUTOMERGE_TOKEN }}
+8 -20
View File
@@ -1,14 +1,9 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit files_external FTP
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: files-external-ftp-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
@@ -43,21 +38,21 @@ jobs:
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.2', '8.4']
php-versions: ['8.0', '8.3']
ftpd: ['proftpd', 'vsftpd', 'pure-ftpd']
include:
- php-versions: '8.2'
- php-versions: '8.0'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-${{ matrix.ftpd }}
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
submodules: true
- name: Set up ftpd
@@ -71,11 +66,11 @@ jobs:
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@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
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
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 }}
@@ -99,22 +94,15 @@ jobs:
- name: PHPUnit
run: composer run test:files_external -- \
apps/files_external/tests/Storage/FtpTest.php \
--log-junit junit.xml \
${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
${{ matrix.coverage && ' --coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@v4
with:
files: ./clover.xml
flags: phpunit-files-external-ftp
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
with:
flags: phpunit-files-external-ftp
- name: ftpd logs
if: always()
run: |
+27 -55
View File
@@ -1,14 +1,9 @@
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit files_external S3
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: files-external-s3-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
@@ -43,34 +38,32 @@ jobs:
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
fail-fast: false
matrix:
php-versions: ['8.2', '8.4']
php-versions: ['8.0', '8.1', '8.2', '8.3']
include:
- php-versions: '8.3'
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-s3-minio
name: php${{ matrix.php-versions }}-s3
services:
minio:
image: bitnami/minio@sha256:50cec18ac4184af4671a78aedd5554942c8ae105d51a465fa82037949046da01 # v2025.4.22
image: bitnami/minio
env:
MINIO_ROOT_USER: nextcloud
MINIO_ROOT_PASSWORD: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
MINIO_DEFAULT_BUCKETS: nextcloud
ports:
- '9000:9000'
- "9000:9000"
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -88,38 +81,26 @@ jobs:
composer install
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
./occ app:enable --force files_external
echo "<?php return ['run' => true, 'minio' => true, 'secret' => 'actually-not-secret', 'passwordsalt' => 'actually-not-secret', 'hostname' => 'localhost','key' => '$OBJECT_STORE_KEY','secret' => '$OBJECT_STORE_SECRET', 'bucket' => 'bucket', 'port' => 9000, 'use_ssl' => false, 'autocreate' => true, 'use_path_style' => true];" > apps/files_external/tests/config.amazons3.php
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 -- \
--group S3 \
--log-junit junit.xml \
apps/files_external/tests/Storage \
${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
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@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@v4
with:
files: ./clover.xml
flags: phpunit-files-external-s3
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
with:
flags: phpunit-files-external-s3
- name: Nextcloud logs
if: always()
run: |
cat data/nextcloud.log
- name: S3 logs
if: always()
run: |
@@ -134,31 +115,30 @@ jobs:
strategy:
matrix:
php-versions: ['8.2', '8.4']
php-versions: ['8.0', '8.1', '8.2', '8.3']
include:
- php-versions: '8.3'
coverage: ${{ github.event_name != 'pull_request' }}
coverage: true
name: php${{ matrix.php-versions }}-s3-localstack
name: php${{ matrix.php-versions }}-s3
services:
localstack:
env:
SERVICES: s3
DEBUG: 1
image: localstack/localstack@sha256:9d4253786e0effe974d77fe3c390358391a56090a4fff83b4600d8a64404d95d # v4.5.0
image: localstack/localstack
ports:
- "4566:4566"
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -173,29 +153,21 @@ jobs:
composer install
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
./occ app:enable --force files_external
echo "<?php return ['run' => true, 'localstack' => true, 'hostname' => 'localhost','key' => 'ignored','secret' => 'ignored', 'bucket' => 'bucket', 'port' => 4566, 'use_ssl' => false, 'autocreate' => true, 'use_path_style' => true];" > apps/files_external/tests/config.amazons3.php
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 -- \
--group S3 \
--log-junit junit.xml \
apps/files_external/tests/Storage \
${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
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@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@v4
with:
files: ./clover.xml
flags: phpunit-files-external-s3
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
with:
flags: phpunit-files-external-s3
- name: S3 logs
if: always()
run: |
@@ -210,4 +182,4 @@ jobs:
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
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
+9 -21
View File
@@ -1,14 +1,9 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit files_external sFTP
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: files-external-sftp-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
@@ -43,35 +38,35 @@ jobs:
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.2', '8.4']
php-versions: ['8.0', '8.3']
sftpd: ['openssh']
include:
- php-versions: '8.2'
- php-versions: '8.0'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-${{ matrix.sftpd }}
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
submodules: true
- name: Set up sftpd
run: |
sudo mkdir /tmp/sftp
sudo chown -R 0777 /tmp/sftp
if [[ '${{ matrix.sftpd }}' == 'openssh' ]]; then docker run -p 2222:22 --name sftp -d -v /tmp/sftp:/home/test atmoz/sftp 'test:test:::data'; fi
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@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
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
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 }}
@@ -88,22 +83,15 @@ jobs:
run: composer run test:files_external -- \
apps/files_external/tests/Storage/SftpTest.php \
apps/files_external/tests/Storage/SFTP_KeyTest.php \
--log-junit junit.xml \
${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
${{ matrix.coverage && ' --coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@v4
with:
files: ./clover.xml
flags: phpunit-files-external-sftp
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
with:
flags: phpunit-files-external-sftp
- name: sftpd logs
if: always()
run: |
@@ -1,14 +1,9 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Samba Kerberos SSO
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: files-external-smb-kerberos-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
@@ -37,7 +32,7 @@ jobs:
- '**.php'
files-external-smb-kerberos:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
@@ -46,31 +41,23 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
submodules: true
- name: Checkout user_saml
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
repository: nextcloud/user_saml
path: apps/user_saml
- name: Install user_saml
run: |
cd apps/user_saml
composer i
cd ../..
- name: Pull images
run: |
docker pull ghcr.io/icewind1991/samba-krb-test-dc
docker pull ghcr.io/icewind1991/samba-krb-test-apache-gssapi:8.4
docker pull ghcr.io/icewind1991/samba-krb-test-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-gssapi:8.4 icewind1991/samba-krb-test-apache-gssapi
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
@@ -88,18 +75,6 @@ jobs:
run: |
apps/files_external/tests/sso-setup/test-sso-smb.sh ${{ env.DC_IP }}
- name: Show logs DC
if: always()
run: |
docker logs dc
echo "------------"
docker exec dc cat /var/log/samba/log.samba
- name: Show logs Apache
if: always()
run: |
docker logs apache
- name: Show logs
if: always()
run: |
+9 -22
View File
@@ -1,14 +1,9 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit files_external SMB
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: files-external-smb-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
@@ -43,33 +38,32 @@ jobs:
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
fail-fast: false
matrix:
php-versions: ['8.0', '8.3']
include:
- php-versions: '8.2'
- php-versions: '8.0'
coverage: ${{ github.event_name != 'pull_request' }}
name: php${{ matrix.php-versions }}-smb
services:
samba:
image: ghcr.io/nextcloud/continuous-integration-samba:latest # zizmor: ignore[unpinned-images]
image: ghcr.io/nextcloud/continuous-integration-samba:latest
ports:
- 445:445
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, smbclient, sqlite, pdo_sqlite
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:
@@ -92,24 +86,17 @@ jobs:
apps/files_external/tests/env/wait-for-connection 127.0.0.1 445 60
- name: PHPUnit
run: composer run test:files_external -- \
run: composer run test:files_external -- --verbose \
apps/files_external/tests/Storage/SmbTest.php \
--log-junit junit.xml \
${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
${{ matrix.coverage && ' --coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@4fe8c5f003fae66aa5ebb77cfd3e7bfbbda0b6b0 # v3.1.5
with:
files: ./clover.xml
flags: phpunit-files-external-smb
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
with:
flags: phpunit-files-external-smb
files-external-smb-summary:
runs-on: ubuntu-latest-low
needs: [changes, files-external-smb]
+7 -21
View File
@@ -1,14 +1,9 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit files_external WebDAV
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: files-external-webdav-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
@@ -43,9 +38,8 @@ jobs:
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
fail-fast: false
matrix:
php-versions: ['8.3', '8.4']
php-versions: ['8.0', '8.1', '8.2', '8.3']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
@@ -54,19 +48,18 @@ jobs:
services:
apache:
image: ghcr.io/nextcloud/continuous-integration-webdav-apache:latest # zizmor: ignore[unpinned-images]
image: ghcr.io/nextcloud/continuous-integration-webdav-apache:latest
ports:
- 8081:80
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -90,24 +83,17 @@ jobs:
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 -- \
run: composer run test:files_external -- --verbose \
apps/files_external/tests/Storage/WebdavTest.php \
--log-junit junit.xml \
${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
${{ matrix.coverage && ' --coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@ab904c41d6ece82784817410c45d8b8c02684457 # v3.1.6
with:
files: ./clover.xml
flags: phpunit-files-external-webdav
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
with:
flags: phpunit-files-external-webdav
files-external-webdav-summary:
runs-on: ubuntu-latest-low
needs: [changes, files-external-webdav-apache]
+6 -20
View File
@@ -1,14 +1,9 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit files_external generic
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: files-external-generic-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
@@ -42,9 +37,8 @@ jobs:
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
fail-fast: false
matrix:
php-versions: ['8.3', '8.4']
php-versions: ['8.0', '8.1', '8.2', '8.3']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
@@ -53,13 +47,12 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -79,23 +72,16 @@ jobs:
./occ app:enable --force files_external
- name: PHPUnit
run: composer run test:files_external -- \
--log-junit junit.xml \
${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
run: composer run test:files_external \
${{ matrix.coverage && ' --coverage-clover ./clover.xml' || '' }}
- name: Upload code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@v4
with:
files: ./clover.xml
flags: phpunit-files-external-generic
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
with:
flags: phpunit-files-external-generic
files-external-summary:
runs-on: ubuntu-latest-low
needs: [changes, files-external-generic ]
+1 -4
View File
@@ -2,9 +2,6 @@
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2021-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Block fixup and squash commits
@@ -31,6 +28,6 @@ jobs:
steps:
- name: Run check
uses: skjnldsv/block-fixup-merge-action@c138ea99e45e186567b64cf065ce90f7158c236a # v2
uses: skjnldsv/block-fixup-merge-action@42d26e1b536ce61e5cf467d65fb76caf4aa85acf # v1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
@@ -1,103 +0,0 @@
# SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Generate changelog on release
on:
release:
types: [published]
permissions:
contents: write
jobs:
changelog_generate:
runs-on: ubuntu-latest
# Only allowed to be run on nextcloud-releases repositories
if: ${{ github.repository_owner == 'nextcloud-releases' }}
steps:
- name: Check actor permission
uses: skjnldsv/check-actor-permission@69e92a3c4711150929bca9fcf34448c5bf5526e7 # v3.0
with:
require: write
- name: Checkout github_helper
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
repository: nextcloud/github_helper
path: github_helper
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
path: server
fetch-depth: 0
- name: Get previous tag
shell: bash
run: |
cd server
# Print all tags
git log --decorate --oneline | egrep 'tag: ' | sed -r 's/^.+tag: ([^,\)]+)[,\)].+$/\1/g'
# Get the current tag
TAGS=$(git log --decorate --oneline | egrep 'tag: ' | sed -r 's/^.+tag: ([^,\)]+)[,\)].+$/\1/g')
CURRENT_TAG=$(echo "$TAGS" | head -n 1)
# If current tag is the first beta, we use the previous major RC1
if echo "$CURRENT_TAG" | grep -q 'beta1'; then
MAJOR=$(echo "$CURRENT_TAG" | sed -E 's/^v([0-9]+).*/\1/')
PREV=$((MAJOR - 1))
PREVIOUS_TAG="v${PREV}.0.0rc1"
# Get the previous tag - filter pre-releases only if current tag is stable
elif echo "$CURRENT_TAG" | grep -q 'rc\|beta\|alpha'; then
# Current tag is pre-release, don't filter
PREVIOUS_TAG=$(echo "$TAGS" | sed -n '2p')
else
# Current tag is stable, filter out pre-releases
PREVIOUS_TAG=$(echo "$TAGS" | grep -v 'rc\|beta\|alpha' | sed -n '2p')
fi
echo "CURRENT_TAG=$CURRENT_TAG" >> $GITHUB_ENV
echo "PREVIOUS_TAG=$PREVIOUS_TAG" >> $GITHUB_ENV
# Since this action only runs on nextcloud-releases, ignoring is okay
- name: Verify current tag # zizmor: ignore[template-injection]
run: |
if [ "${{ github.ref_name }}" != "${{ env.CURRENT_TAG }}" ]; then
echo "Current tag does not match the release tag. Exiting."
exit 1
fi
- name: Set up php 8.2
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
with:
php-version: 8.2
coverage: none
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set credentials
run: |
echo '{"username": "github-actions"}' > github_helper/credentials.json
# Since this action only runs on nextcloud-releases, ignoring is okay
- name: Generate changelog between ${{ env.PREVIOUS_TAG }} and ${{ github.ref_name }} # zizmor: ignore[template-injection]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
cd github_helper/changelog
composer install
php index.php generate:changelog --no-bots --format=forum server ${{ env.PREVIOUS_TAG }} ${{ github.ref_name }} > changelog.md
# Since this action only runs on nextcloud-releases, ignoring is okay
- name: Set changelog to release # zizmor: ignore[template-injection]
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
cd server
gh release edit ${{ github.ref_name }} --notes-file "../github_helper/changelog/changelog.md" --title "${{ github.ref_name }}"
+7 -10
View File
@@ -4,9 +4,6 @@ name: DAV integration tests
on:
pull_request:
permissions:
contents: read
concurrency:
group: integration-caldav-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
@@ -43,9 +40,10 @@ jobs:
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.2']
php-versions: ['8.3']
endpoint: ['old', 'new']
service: ['CalDAV', 'CardDAV']
@@ -53,13 +51,12 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -70,7 +67,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Python
uses: LizardByte/actions/actions/setup_python@329b1bcefe1cbe1ef289177471c9f2b2af98e6ca # v2025.1028.23217
uses: LizardByte/setup-python-action@master
with:
python-version: '2.7'
@@ -102,9 +99,9 @@ jobs:
- name: Run CalDAVTester
run: |
cp "apps/dav/tests/testsuits/caldavtest/serverinfo-${{ matrix.endpoint }}${{ matrix.endpoint == 'old' && (matrix.service == 'CardDAV' && '-carddav' || '-caldav') || '' }}-endpoint.xml" "apps/dav/tests/testsuits/caldavtest/serverinfo.xml"
cp "apps/dav/tests/travis/caldavtest/serverinfo-${{ matrix.endpoint }}${{ matrix.endpoint == 'old' && (matrix.service == 'CardDAV' && '-carddav' || '-caldav') || '' }}-endpoint.xml" "apps/dav/tests/travis/caldavtest/serverinfo.xml"
pushd CalDAVTester
PYTHONPATH="../pycalendar/src" python testcaldav.py --print-details-onfail --basedir "../apps/dav/tests/testsuits/caldavtest" -o cdt.txt \
PYTHONPATH="../pycalendar/src" python testcaldav.py --print-details-onfail --basedir "../apps/dav/tests/travis/caldavtest" -o cdt.txt \
"${{ matrix.service }}/current-user-principal.xml" \
"${{ matrix.service }}/sync-report.xml" \
${{ matrix.endpoint == 'new' && format('{0}/sharing-{1}.xml', matrix.service, matrix.service == 'CalDAV' && 'calendars' || 'addressbooks') || ';' }}
+4 -7
View File
@@ -4,9 +4,6 @@ name: Litmus integration tests
on:
pull_request:
permissions:
contents: read
concurrency:
group: integration-litmus-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
@@ -43,22 +40,22 @@ jobs:
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.2']
php-versions: ['8.3']
endpoint: ['webdav', 'dav']
name: Litmus WebDAV ${{ matrix.endpoint }}
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
+6 -11
View File
@@ -1,12 +1,7 @@
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: S3 primary storage integration tests
on:
pull_request:
permissions:
contents: read
concurrency:
group: integration-s3-primary-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
@@ -43,21 +38,22 @@ jobs:
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.2']
php-versions: ['8.0']
key: ['objectstore', 'objectstore_multibucket']
name: php${{ matrix.php-versions }}-${{ matrix.key }}-minio
services:
redis:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
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@sha256:50cec18ac4184af4671a78aedd5554942c8ae105d51a465fa82037949046da01 # v2025.4.22
image: bitnami/minio
env:
MINIO_ROOT_USER: nextcloud
MINIO_ROOT_PASSWORD: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
@@ -67,13 +63,12 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
+8 -28
View File
@@ -1,5 +1,3 @@
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Integration sqlite
on:
@@ -41,7 +39,6 @@ jobs:
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- 'core/shipped.json'
integration-sqlite:
runs-on: ubuntu-latest
@@ -61,34 +58,28 @@ jobs:
- 'federation_features'
- '--tags ~@large files_features'
- 'filesdrop_features'
- 'file_conversions'
- 'files_reminders'
- 'openldap_features'
- 'openldap_numerical_features'
- 'ldap_features'
- 'remoteapi_features'
- 'routing_features'
- 'setup_features'
- 'sharees_features'
- 'sharing_features'
- 'theming_features'
- 'videoverification_features'
php-versions: ['8.4']
spreed-versions: ['main']
activity-versions: ['master']
php-versions: ['8.2']
spreed-versions: ['stable29']
services:
redis:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
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-8 # zizmor: ignore[unpinned-images]
image: ghcr.io/nextcloud/continuous-integration-openldap:openldap-7
ports:
- 389:389
- 636:636
env:
SLAPD_DOMAIN: nextcloud.ci
SLAPD_ORGANIZATION: Nextcloud
@@ -97,31 +88,20 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
submodules: true
- name: Checkout Talk app
if: ${{ matrix.test-suite == 'videoverification_features' }}
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
repository: nextcloud/spreed
path: apps/spreed
ref: ${{ matrix.spreed-versions }}
- name: Checkout Activity app
if: ${{ matrix.test-suite == 'sharing_features' }}
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
repository: nextcloud/activity
path: apps/activity
ref: ${{ matrix.activity-versions }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -167,7 +147,7 @@ jobs:
- name: Print logs
if: always()
run: |
cat $(./occ log:file |grep "Log file"|cut -d" " -f3)
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
+10 -14
View File
@@ -3,12 +3,13 @@
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2021-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
# Use lint-eslint together with lint-eslint-when-unrelated to make eslint a required check for GitHub actions
# https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/troubleshooting-required-status-checks#handling-skipped-but-required-checks
name: Lint eslint
on: pull_request
on:
pull_request:
permissions:
contents: read
@@ -20,9 +21,6 @@ concurrency:
jobs:
changes:
runs-on: ubuntu-latest-low
permissions:
contents: read
pull-requests: read
outputs:
src: ${{ steps.changes.outputs.src}}
@@ -56,24 +54,22 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
id: versions
with:
fallbackNode: '^24'
fallbackNpm: '^11.3'
fallbackNode: '^20'
fallbackNpm: '^9'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}'
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"
- name: Install dependencies
env:
+4 -10
View File
@@ -2,9 +2,6 @@
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2021-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Lint php-cs
@@ -44,19 +41,16 @@ jobs:
lint:
runs-on: ubuntu-latest
name: php-cs
name: PHP CS fixer lint
steps:
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Set up php
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
with:
php-version: 8.2
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
php-version: 8.1
coverage: none
ini-file: development
env:
+7 -10
View File
@@ -2,13 +2,11 @@
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2021-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Lint php
on: pull_request
on:
pull_request:
permissions:
contents: read
@@ -20,8 +18,10 @@ concurrency:
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
@@ -47,21 +47,18 @@ jobs:
strategy:
matrix:
php-versions: [ '8.2', '8.3', '8.4' ]
php-versions: [ "8.0", "8.1", "8.2", "8.3" ]
name: php-lint
steps:
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: none
ini-file: development
env:
-53
View File
@@ -1,53 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2021-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Lint stylelint
on: pull_request
permissions:
contents: read
concurrency:
group: lint-stylelint-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
lint:
runs-on: ubuntu-latest
name: stylelint
steps:
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
id: versions
with:
fallbackNode: '^24'
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}'
- name: Install dependencies
env:
CYPRESS_INSTALL_BINARY: 0
run: npm ci
- name: Lint
run: npm run stylelint
-29
View File
@@ -1,29 +0,0 @@
# SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
#
# Commenting on closed issues usually is not spotted by contributors or maintainers.
# Meaning regressions will be overlooked and not fixed, so instead force people to open a new issue.
name: "Lock closed issues"
on:
schedule:
- cron: "0 3 * * *" # every day at 03:00 UTC
workflow_dispatch:
concurrency:
group: lock-threads
permissions:
issues: write
pull-requests: write
jobs:
lock:
runs-on: ubuntu-latest
steps:
- uses: dessant/lock-threads@1bf7ec25051fe7c00bdd17e6a7cf3d7bfb7dc771 # v5.0.1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
issue-inactive-days: 30
issue-comment: >
This issue has been automatically locked because it has been closed for 30 days.
Please open a new issue if you have a similar problem.
@@ -1,99 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Node handlebars tests
on:
pull_request:
permissions:
contents: read
concurrency:
group: node-tests-handlebars-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
permissions:
contents: read
pull-requests: read
outputs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '**/__tests__/**'
- '**/__mocks__/**'
- 'apps/*/src/**'
- 'apps/*/appinfo/info.xml'
- 'core/src/**'
- 'package.json'
- '**/package-lock.json'
- 'tsconfig.json'
- '**.js'
- '**.ts'
- '**.vue'
handlebars:
runs-on: ubuntu-latest
needs: [changes]
if: needs.changes.outputs.src != 'false'
env:
CYPRESS_INSTALL_BINARY: 0
PUPPETEER_SKIP_DOWNLOAD: true
steps:
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
id: versions
with:
fallbackNode: '^24'
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}'
- name: Install dependencies
run: npm ci
- name: Run compile
run: ./build/compile-handlebars-templates.sh
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, handlebars]
if: always()
name: test-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.handlebars.result != 'success' }}; then exit 1; fi
-109
View File
@@ -1,109 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Node tests
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: node-tests-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
permissions:
contents: read
pull-requests: read
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '**/__tests__/**'
- '**/__mocks__/**'
- 'apps/*/src/**'
- 'apps/*/appinfo/info.xml'
- 'core/src/**'
- 'package.json'
- '**/package-lock.json'
- 'tsconfig.json'
- '**.js'
- '**.ts'
- '**.vue'
test:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
steps:
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
id: versions
with:
fallbackNode: '^24'
fallbackNpm: '^11.3'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}'
- name: Install dependencies
env:
CYPRESS_INSTALL_BINARY: 0
run: |
npm ci
# - name: Test
# run: npm run test --if-present
- name: Test and process coverage
run: npm run test:coverage
- name: Collect coverage
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
with:
files: ./coverage/lcov.info,./coverage/legacy/lcov.info
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, test]
if: always()
name: node-test-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.test.result != 'success' }}; then exit 1; fi
+169
View File
@@ -0,0 +1,169 @@
name: Node tests
on:
pull_request:
schedule:
- cron: "5 2 * * *"
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__/**'
- '**/src/**'
- '**/appinfo/info.xml'
- 'package.json'
- 'package-lock.json'
- 'tsconfig.json'
- '**.js'
- '**.ts'
- '**.vue'
- '**.handlebars'
versions:
runs-on: ubuntu-latest
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@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1
id: versions
with:
fallbackNode: '^20'
fallbackNpm: '^9'
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@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Set up node ${{ needs.versions.outputs.nodeVersion }}
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3
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: Show cypress version
run: npm run cypress:version
- name: Test and process coverage
run: npm run test:coverage
- name: Collect coverage
uses: codecov/codecov-action@ab904c41d6ece82784817410c45d8b8c02684457 # v3.1.6
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@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Set up node ${{ needs.versions.outputs.nodeVersion }}
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3
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: Show cypress version
run: npm run cypress:version
- 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@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Set up node ${{ needs.versions.outputs.nodeVersion }}
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3
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: Show cypress version
run: npm run cypress:version
- 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
+12 -26
View File
@@ -2,13 +2,11 @@
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2021-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Node
on: pull_request
on:
pull_request:
permissions:
contents: read
@@ -20,9 +18,6 @@ concurrency:
jobs:
changes:
runs-on: ubuntu-latest-low
permissions:
contents: read
pull-requests: read
outputs:
src: ${{ steps.changes.outputs.src}}
@@ -37,14 +32,14 @@ jobs:
- '.github/workflows/**'
- '**/src/**'
- '**/appinfo/info.xml'
- 'core/css/*'
- 'core/img/**'
- 'package.json'
- '**/package-lock.json'
- 'package-lock.json'
- 'tsconfig.json'
- '**.js'
- '**.ts'
- '**.vue'
- 'core/css/*'
- 'core/img/**'
- 'version.php'
build:
@@ -56,31 +51,22 @@ jobs:
name: NPM build
steps:
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
id: versions
with:
fallbackNode: '^24'
fallbackNpm: '^11.3'
fallbackNode: '^20'
fallbackNpm: '^9'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}'
# This does not work on server as we have some git dependencies that "npm-package-lock-add-resolved" cannot handle
# - name: Validate package-lock.json # See https://github.com/npm/cli/issues/4460
# run: |
# npm i -g npm-package-lock-add-resolved@1.1.4
# npm-package-lock-add-resolved
# git --no-pager diff --exit-code
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"
- name: Install dependencies & build
env:
@@ -90,7 +76,7 @@ jobs:
npm ci
npm run build --if-present
- name: Check build changes
- 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)"
+17 -27
View File
@@ -2,9 +2,6 @@
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Npm audit fix and compile
@@ -14,9 +11,6 @@ on:
# At 2:30 on Sundays
- cron: '30 2 * * 0'
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
@@ -24,61 +18,57 @@ jobs:
strategy:
fail-fast: false
matrix:
branches:
- ${{ github.event.repository.default_branch }}
- 'stable32'
- 'stable31'
branches: ["main", "master", "stable28", "stable27", "stable26"]
name: npm-audit-fix-${{ matrix.branches }}
steps:
- name: Checkout
id: checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
ref: ${{ matrix.branches }}
continue-on-error: true
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
id: versions
with:
fallbackNode: '^24'
fallbackNpm: '^11.3'
fallbackNode: '^20'
fallbackNpm: '^9'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}'
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"
- name: Fix npm audit
id: npm-audit
uses: nextcloud-libraries/npm-audit-action@1b1728b2b4a7a78d69de65608efcf4db0e3e42d0 # v0.2.0
run: |
npm audit fix
- name: Run npm ci and npm run build
if: steps.checkout.outcome == 'success'
if: always()
env:
CYPRESS_INSTALL_BINARY: 0
PUPPETEER_SKIP_DOWNLOAD: true
run: |
npm ci
npm run build --if-present
- name: Create Pull Request
if: steps.checkout.outcome == 'success'
uses: peter-evans/create-pull-request@84ae59a2cdc2258d6fa0732dd66352dddae2a412 # v7.0.9
if: always()
uses: peter-evans/create-pull-request@a4f52f8033a6168103c2538976c07b467e8163bc # v5
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: 'fix(deps): Fix npm audit'
commit-message: "chore(deps): fix npm audit"
committer: GitHub <noreply@github.com>
author: nextcloud-command <nextcloud-command@users.noreply.github.com>
signoff: true
branch: automated/noid/${{ matrix.branches }}-fix-npm-audit
title: '[${{ matrix.branches }}] Fix npm audit'
body: ${{ steps.npm-audit.outputs.markdown }}
title: "[${{ matrix.branches }}] Fix npm audit"
body: |
Auto-generated fix of npm audit
labels: |
dependencies
3. to review
+9 -22
View File
@@ -1,14 +1,9 @@
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Object storage azure
on:
pull_request:
schedule:
- cron: "15 2 * * *"
permissions:
contents: read
concurrency:
group: object-storage-azure-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
@@ -47,18 +42,17 @@ jobs:
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
fail-fast: false
matrix:
php-versions: ['8.2', '8.3']
php-versions: ['8.0', '8.1', '8.2', '8.3']
include:
- php-versions: '8.4'
- php-versions: '8.3'
coverage: true
name: php${{ matrix.php-versions }}-azure
services:
azurite:
image: mcr.microsoft.com/azure-storage/azurite@sha256:0a47e12e3693483cef5c71f35468b91d751611f172d2f97414e9c69113b106d9 # v3.34.0
image: mcr.microsoft.com/azure-storage/azurite
env:
AZURITE_ACCOUNTS: nextcloud:bmV4dGNsb3Vk
ports:
@@ -66,20 +60,19 @@ jobs:
options: --health-cmd="nc 127.0.0.1 10000 -z" --health-interval=1s --health-retries=30
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
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@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -99,28 +92,22 @@ jobs:
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
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 --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
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@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@v4
with:
files: ./clover.xml
flags: phpunit-azure
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
with:
flags: phpunit-azure
- name: Azurite logs
if: always()
run: |
+9 -22
View File
@@ -1,14 +1,9 @@
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Object storage S3
on:
pull_request:
schedule:
- cron: "15 2 * * *"
permissions:
contents: read
concurrency:
group: object-storage-s3-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
@@ -41,15 +36,14 @@ jobs:
- '**.php'
s3-primary-tests-minio:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
fail-fast: false
matrix:
php-versions: ['8.2']
php-versions: ['8.0', '8.1', '8.2', '8.3']
include:
- php-versions: '8.3'
coverage: true
@@ -58,13 +52,13 @@ jobs:
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
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@sha256:50cec18ac4184af4671a78aedd5554942c8ae105d51a465fa82037949046da01 # v2025.4.22
image: bitnami/minio
env:
MINIO_ROOT_USER: nextcloud
MINIO_ROOT_PASSWORD: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
@@ -74,13 +68,12 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -100,7 +93,7 @@ jobs:
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
php -f tests/enable_all.php | grep -i -C9999 error && echo "Error during app setup" && exit 1 || exit 0
- name: Wait for S3
run: |
@@ -112,21 +105,15 @@ jobs:
OBJECT_STORE: s3
OBJECT_STORE_KEY: nextcloud
OBJECT_STORE_SECRET: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
run: composer run test -- --group PRIMARY-s3 --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
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@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@v4
with:
files: ./clover.xml
flags: phpunit-s3
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
with:
flags: phpunit-s3
- name: S3 logs
if: always()
run: |
+8 -21
View File
@@ -1,14 +1,9 @@
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Object storage Swift
on:
pull_request:
schedule:
- cron: "15 2 * * *"
permissions:
contents: read
concurrency:
group: object-storage-swift-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
@@ -47,9 +42,8 @@ jobs:
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
fail-fast: false
matrix:
php-versions: ['8.2']
php-versions: ['8.0', '8.1', '8.2', '8.3']
include:
- php-versions: '8.3'
coverage: true
@@ -58,26 +52,25 @@ jobs:
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
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@sha256:e8b1ec21120ab9adc6ac6a2b98785fd273676439a8633fe898e37f2aea7e0712
image: ghcr.io/cscfi/docker-keystone-swift
ports:
- 5000:5000
- 8080:8080
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -96,27 +89,21 @@ jobs:
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
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 --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
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@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@v4
with:
files: ./clover.xml
flags: phpunit-swift
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
with:
flags: phpunit-swift
- name: Swift logs
if: always()
run: |
+5 -18
View File
@@ -1,18 +1,7 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-FileCopyrightText: 2024 Arthur Schiwon <blizzz@arthur-schiwon.de>
# SPDX-License-Identifier: MIT
name: OpenAPI
on: pull_request
permissions:
contents: read
on:
pull_request:
concurrency:
group: openapi-${{ github.head_ref || github.run_id }}
@@ -26,12 +15,10 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Set up php
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
with:
php-version: '8.2'
extensions: ctype, curl, dom, fileinfo, gd, json, libxml, mbstring, openssl, pcntl, pdo, posix, session, simplexml, xml, xmlreader, xmlwriter, zip, zlib
@@ -40,7 +27,7 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
- name: Composer install
run: composer i
- name: OpenAPI checker
+13 -28
View File
@@ -1,12 +1,7 @@
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Performance testing
on:
pull_request:
permissions:
contents: read
concurrency:
group: performance-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
@@ -17,35 +12,25 @@ jobs:
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
permissions:
pull-requests: write
strategy:
fail-fast: false
matrix:
php-versions: ['8.2']
php-versions: ['8.0']
name: performance-${{ matrix.php-versions }}
steps:
- name: Disabled on forks
if: ${{ github.event.pull_request.head.repo.full_name != github.repository }}
run: |
echo 'Can not run performance tests on forks'
exit 1
- name: Checkout server before PR
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
submodules: true
ref: ${{ github.event.pull_request.base.ref }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
extensions: mbstring, fileinfo, intl, sqlite, pdo_sqlite, zip, gd
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -56,7 +41,7 @@ jobs:
php -S localhost:8080 &
- name: Apply blueprint
uses: icewind1991/blueprint@00504403f76cb2a09efd0d16793575055e6f63cb # v0.1.2
uses: icewind1991/blueprint@v0.1.2
with:
blueprint: tests/blueprints/basic.toml
ref: ${{ github.event.pull_request.head.ref }}
@@ -71,13 +56,13 @@ jobs:
curl -s -u test:test -T README.md http://localhost:8080/remote.php/dav/files/test/new_file.txt
curl -s -u test:test -X DELETE http://localhost:8080/remote.php/dav/files/test/new_file.txt
output: before.json
profiler-branch: master
profiler-branch: stable29
- name: Apply PR # zizmor: ignore[template-injection]
- name: Apply PR
run: |
git remote add pr '${{ github.event.pull_request.head.repo.clone_url }}'
git fetch pr '${{ github.event.pull_request.head.ref }}'
git checkout -b 'pr/${{ github.event.pull_request.head.ref }}'
git remote add pr ${{ github.event.pull_request.head.repo.clone_url }}
git fetch pr ${{ github.event.pull_request.head.ref }}
git checkout -b pr/${{ github.event.pull_request.head.ref }}
git submodule update
./occ upgrade
@@ -93,19 +78,19 @@ jobs:
curl -s -u test:test -T README.md http://localhost:8080/remote.php/dav/files/test/new_file.txt
curl -s -u test:test -X DELETE http://localhost:8080/remote.php/dav/files/test/new_file.txt
output: after.json
profiler-branch: master
profiler-branch: stable29
compare-with: before.json
- name: Upload profiles
if: always()
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3
with:
name: profiles
path: |
before.json
after.json
- uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v7
- uses: actions/github-script@v7
if: failure() && steps.compare.outcome == 'failure'
with:
github-token: ${{secrets.GITHUB_TOKEN}}
+11 -18
View File
@@ -1,14 +1,10 @@
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit 32bits
on:
pull_request:
paths:
- "version.php"
- ".github/workflows/phpunit-32bits.yml"
- "tests/phpunit-autotest.xml"
- "lib/private/Snowflake/*"
- 'version.php'
- '.github/workflows/phpunit-32bits.yml'
workflow_dispatch:
schedule:
- cron: "15 1 * * 1-6"
@@ -29,15 +25,13 @@ jobs:
container: shivammathur/node:latest-i386
strategy:
fail-fast: false
matrix:
php-versions: ["8.2", "8.3", "8.4"]
php-versions: ['8.0','8.3']
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
submodules: true
- name: Install tools
@@ -46,26 +40,25 @@ jobs:
sudo apt-get install -y ffmpeg imagemagick libmagickcore-6.q16-3-extra
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, imagick, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite, apcu, ldap
extensions: ctype, curl, dom, fileinfo, gd, imagick, intl, json, mbstring, openssl, pdo_sqlite, posix, sqlite, xml, zip, apcu
coverage: none
ini-file: development
ini-values: apc.enabled=on, apc.enable_cli=on, disable_functions= # https://github.com/shivammathur/setup-php/discussions/573
ini-values:
apc.enabled=on, apc.enable_cli=on, disable_functions= # https://github.com/shivammathur/setup-php/discussions/573
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
run: composer i
- name: Set up Nextcloud
env:
DB_PORT: 4444
run: |
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 tests/enable_all.php
php -f index.php
- name: PHPUnit
run: composer run test -- --exclude-group PRIMARY-azure --exclude-group PRIMARY-s3 --exclude-group PRIMARY-swift --exclude-group Memcached --exclude-group Redis --exclude-group RoutingWeirdness
run: composer run test -- --exclude-group PRIMARY-azure,PRIMARY-s3,PRIMARY-swift,Memcached,Redis,RoutingWeirdness
+17 -28
View File
@@ -2,11 +2,8 @@
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit MariaDB
name: PHPUnit mariadb
on:
pull_request:
@@ -23,9 +20,6 @@ concurrency:
jobs:
changes:
runs-on: ubuntu-latest-low
permissions:
contents: read
pull-requests: read
outputs:
src: ${{ steps.changes.outputs.src}}
@@ -57,22 +51,19 @@ jobs:
if: needs.changes.outputs.src != 'false'
strategy:
fail-fast: false
matrix:
php-versions: ['8.2']
mariadb-versions: ['10.3', '10.6', '10.11', '11.4', '11.8']
php-versions: ['8.0']
mariadb-versions: ['10.3', '10.4', '10.5', '10.6', '10.11']
include:
- php-versions: '8.3'
mariadb-versions: '10.11'
mariadb-versions: '10.6'
coverage: ${{ github.event_name != 'pull_request' }}
- php-versions: '8.4'
mariadb-versions: '11.8'
name: MariaDB ${{ matrix.mariadb-versions }} (PHP ${{ matrix.php-versions }}) - database tests
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
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
@@ -86,17 +77,16 @@ jobs:
MYSQL_USER: oc_autotest
MYSQL_PASSWORD: nextcloud
MYSQL_DATABASE: oc_autotest
options: --health-cmd="${{ matrix.mariadb-versions <= 10.4 && 'mysqladmin' || 'mariadb-admin'}} ping" --health-interval 5s --health-timeout 2s --health-retries 5
options: --health-cmd="mysqladmin ping" --health-interval 5s --health-timeout 2s --health-retries 5
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -109,10 +99,10 @@ jobs:
- name: Set up dependencies
run: composer i
- name: Enable ONLY_FULL_GROUP_BY MariaDB option
- 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
echo "SELECT @@sql_mode;" | mysql -h 127.0.0.1 -P 4444 -u root -prootpassword
- name: Set up Nextcloud
env:
@@ -122,23 +112,22 @@ jobs:
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
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 -- --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.db.xml' || '' }}
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@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@v4
with:
files: ./clover.db.xml
flags: phpunit-mariadb
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
with:
flags: phpunit-mariadb
- name: Print logs
if: always()
run: |
cat data/nextcloud.log
summary:
permissions:
+7 -18
View File
@@ -2,9 +2,6 @@
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit memcached
@@ -54,9 +51,8 @@ jobs:
if: needs.changes.outputs.src != 'false'
strategy:
fail-fast: false
matrix:
php-versions: ['8.3', '8.4']
php-versions: ['8.0', '8.1', '8.2', '8.3']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
@@ -65,20 +61,19 @@ jobs:
services:
memcached:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
image: ghcr.io/nextcloud/continuous-integration-redis:latest
ports:
- 11212:11212/tcp
- 11212:11212/udp
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -96,24 +91,18 @@ jobs:
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
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 --group Memcached --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.xml' || '' }}
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@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@v4
with:
files: ./clover.xml
flags: phpunit-memcached
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
with:
flags: phpunit-memcached
- name: Print logs
if: always()
run: |
@@ -1,192 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2022-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit sharding
on:
pull_request:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
concurrency:
group: phpunit-mysql-sharding-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
phpunit-mysql:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
strategy:
fail-fast: false
matrix:
php-versions: ['8.2']
mysql-versions: ['8.4']
name: Sharding - MySQL ${{ matrix.mysql-versions }} (PHP ${{ matrix.php-versions }}) - database tests
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
mysql:
image: ghcr.io/nextcloud/continuous-integration-mysql-${{ matrix.mysql-versions }}:latest # zizmor: ignore[unpinned-images]
ports:
- 4444:3306/tcp
env:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_USER: oc_autotest
MYSQL_PASSWORD: nextcloud
MYSQL_DATABASE: oc_autotest
options: --health-cmd="mysqladmin ping" --health-interval 5s --health-timeout 2s --health-retries 10
shard1:
image: ghcr.io/nextcloud/continuous-integration-mysql-${{ matrix.mysql-versions }}:latest # zizmor: ignore[unpinned-images]
ports:
- 5001:3306/tcp
env:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_USER: oc_autotest
MYSQL_PASSWORD: nextcloud
MYSQL_DATABASE: nextcloud
options: --health-cmd="mysqladmin ping" --health-interval 5s --health-timeout 2s --health-retries 10
shard2:
image: ghcr.io/nextcloud/continuous-integration-mysql-${{ matrix.mysql-versions }}:latest # zizmor: ignore[unpinned-images]
ports:
- 5002:3306/tcp
env:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_USER: oc_autotest
MYSQL_PASSWORD: nextcloud
MYSQL_DATABASE: nextcloud
options: --health-cmd="mysqladmin ping" --health-interval 5s --health-timeout 2s --health-retries 10
shard3:
image: ghcr.io/nextcloud/continuous-integration-mysql-${{ matrix.mysql-versions }}:latest # zizmor: ignore[unpinned-images]
ports:
- 5003:3306/tcp
env:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_USER: oc_autotest
MYSQL_PASSWORD: nextcloud
MYSQL_DATABASE: nextcloud
options: --health-cmd="mysqladmin ping" --health-interval 5s --health-timeout 2s --health-retries 10
shard4:
image: ghcr.io/nextcloud/continuous-integration-mysql-${{ matrix.mysql-versions }}:latest # zizmor: ignore[unpinned-images]
ports:
- 5004:3306/tcp
env:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_USER: oc_autotest
MYSQL_PASSWORD: nextcloud
MYSQL_DATABASE: nextcloud
options: --health-cmd="mysqladmin ping" --health-interval 5s --health-timeout 2s --health-retries 10
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, mysql, pdo_mysql
coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up dependencies
run: composer i
- name: Enable ONLY_FULL_GROUP_BY MySQL option
run: |
echo "SET GLOBAL sql_mode=(SELECT CONCAT(@@sql_mode,',ONLY_FULL_GROUP_BY'));" | mysql -h 127.0.0.1 -P 4444 -u root -prootpassword
echo "SELECT @@sql_mode;" | mysql -h 127.0.0.1 -P 4444 -u root -prootpassword
- name: Set up Nextcloud
env:
DB_PORT: 4444
SHARDING: 1
run: |
mkdir data
cp tests/redis.config.php config/
cp tests/preseed-config.php config/config.php
./occ maintenance:install --verbose --database=mysql --database-name=nextcloud --database-host=127.0.0.1 --database-port=$DB_PORT --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
php -f tests/enable_all.php
- name: PHPUnit
run: composer run test:db -- --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.db.xml' || '' }}
- name: Upload db code coverage
if: ${{ !cancelled() && matrix.coverage }}
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
with:
files: ./clover.db.xml
flags: phpunit-mysql
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
with:
flags: phpunit-mysql
- name: Print logs
if: always()
run: |
cat data/nextcloud.log
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, phpunit-mysql]
if: always()
name: phpunit-mysql-summary
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.phpunit-mysql.result != 'success' }}; then exit 1; fi
+10 -26
View File
@@ -2,9 +2,6 @@
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2022-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit mysql
@@ -23,9 +20,6 @@ concurrency:
jobs:
changes:
runs-on: ubuntu-latest-low
permissions:
contents: read
pull-requests: read
outputs:
src: ${{ steps.changes.outputs.src }}
@@ -57,28 +51,25 @@ jobs:
if: needs.changes.outputs.src != 'false'
strategy:
fail-fast: false
matrix:
php-versions: ['8.2']
mysql-versions: ['8.0', '8.4']
php-versions: ['8.0']
mysql-versions: ['8.0', '8.3']
include:
- mysql-versions: '8.0'
php-versions: '8.3'
coverage: ${{ github.event_name != 'pull_request' }}
- mysql-versions: '8.4'
php-versions: '8.4'
name: MySQL ${{ matrix.mysql-versions }} (PHP ${{ matrix.php-versions }}) - database tests
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
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 # zizmor: ignore[unpinned-images]
image: ghcr.io/nextcloud/continuous-integration-mysql-${{ matrix.mysql-versions }}:latest
ports:
- 4444:3306/tcp
env:
@@ -86,17 +77,16 @@ jobs:
MYSQL_USER: oc_autotest
MYSQL_PASSWORD: nextcloud
MYSQL_DATABASE: oc_autotest
options: --health-cmd="mysqladmin ping" --health-interval 5s --health-timeout 2s --health-retries 10
options: --health-cmd="mysqladmin ping" --health-interval 5s --health-timeout 2s --health-retries 5
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -122,24 +112,18 @@ jobs:
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
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 -- --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.db.xml' || '' }}
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@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@v4
with:
files: ./clover.db.xml
flags: phpunit-mysql
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
with:
flags: phpunit-mysql
- name: Print logs
if: always()
run: |
+8 -21
View File
@@ -2,12 +2,8 @@
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
#
# This is the testsuite running all non-database agnostic unit tests
# This is the testsuite running all non-database agnostic unit tests
name: PHPUnit nodb
on:
@@ -42,7 +38,6 @@ jobs:
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'resources/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
@@ -57,9 +52,8 @@ jobs:
if: needs.changes.outputs.src != 'false'
strategy:
fail-fast: false
matrix:
php-versions: ['8.3', '8.4']
php-versions: ['8.0', '8.1', '8.2', '8.3']
include:
- php-versions: '8.2'
coverage: ${{ github.event_name != 'pull_request' }}
@@ -68,20 +62,19 @@ jobs:
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
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@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -102,24 +95,18 @@ jobs:
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
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 --exclude-group SLOWDB --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.nodb.xml' || '' }}
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@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@v4
with:
files: ./clover.nodb.xml
flags: phpunit-nodb
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
with:
flags: phpunit-nodb
- name: Print logs
if: always()
run: |
@@ -1,124 +0,0 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit primary object store
on:
pull_request:
schedule:
- cron: "15 2 * * *"
permissions:
contents: read
concurrency:
group: phpunit-object-store-primary-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src}}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- '**/tests/**'
- 'vendor/**'
- 'vendor-bin/**'
- '.php-cs-fixer.dist.php'
- 'composer.json'
- 'composer.lock'
- '**.php'
object-store-primary-tests-minio:
runs-on: ubuntu-latest
needs: changes
if: ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
strategy:
fail-fast: false
matrix:
php-versions: ['8.2']
key: ['s3', 's3-multibucket']
name: php${{ matrix.php-versions }}-${{ matrix.key }}-minio
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
minio:
image: bitnami/minio@sha256:50cec18ac4184af4671a78aedd5554942c8ae105d51a465fa82037949046da01 # v2025.4.22
env:
MINIO_ROOT_USER: nextcloud
MINIO_ROOT_PASSWORD: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
MINIO_DEFAULT_BUCKETS: nextcloud
ports:
- "9000:9000"
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Nextcloud
env:
OBJECT_STORE: ${{ matrix.key }}
OBJECT_STORE_KEY: nextcloud
OBJECT_STORE_SECRET: bWluaW8tc2VjcmV0LWtleS1uZXh0Y2xvdWQ=
run: |
composer install
cp tests/redis.config.php config/
cp tests/preseed-config.php config/config.php
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
php -f tests/enable_all.php
- name: Wait for S3
run: |
sleep 10
curl -f -m 1 --retry-connrefused --retry 10 --retry-delay 10 http://localhost:9000/minio/health/ready
- name: PHPUnit
run: composer run test:db
- name: S3 logs
if: always()
run: |
cat data/nextcloud.log
docker ps -a
docker ps -aq | while read container ; do IMAGE=$(docker inspect --format='{{.Config.Image}}' $container); echo $IMAGE; docker logs $container; echo "\n\n" ; done
object-store-primary-summary:
runs-on: ubuntu-latest-low
needs: [changes,object-store-primary-tests-minio]
if: always()
steps:
- name: Summary status
run: if ${{ needs.changes.outputs.src != 'false' && needs.object-store-primary-tests-minio.result != 'success' }}; then exit 1; fi
+21 -41
View File
@@ -1,12 +1,4 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2022-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit OCI
name: PHPUnit oci
on:
pull_request:
@@ -23,9 +15,6 @@ concurrency:
jobs:
changes:
runs-on: ubuntu-latest-low
permissions:
contents: read
pull-requests: read
outputs:
src: ${{ steps.changes.outputs.src }}
@@ -54,58 +43,53 @@ jobs:
runs-on: ubuntu-latest
needs: changes
if: ${{ needs.changes.outputs.src != 'false' && github.repository_owner != 'nextcloud-gmbh' }}
if: needs.changes.outputs.src != 'false' && ${{ github.repository_owner != 'nextcloud-gmbh' }}
strategy:
fail-fast: false
matrix:
oracle-versions: ['11']
php-versions: ['8.0', '8.1', '8.2', '8.3']
include:
- oracle-versions: '18'
php-versions: '8.2'
- php-versions: '8.3'
coverage: ${{ github.event_name != 'pull_request' }}
- oracle-versions: '21'
php-versions: '8.2'
- oracle-versions: '23'
php-versions: '8.3'
- oracle-versions: '23'
php-versions: '8.4'
name: Oracle ${{ matrix.oracle-versions }} (PHP ${{ matrix.php-versions }}) - database tests
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
image: ghcr.io/nextcloud/continuous-integration-redis:latest
ports:
- 6379:6379/tcp
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
oracle:
image: ghcr.io/gvenzl/oracle-${{ matrix.oracle-versions < 23 && 'xe' || 'free' }}:${{ matrix.oracle-versions }}
image: ghcr.io/gvenzl/oracle-xe:${{ matrix.oracle-versions }}
# Provide passwords and other environment variables to container
env:
ORACLE_PASSWORD: oracle
ORACLE_RANDOM_PASSWORD: true
APP_USER: oc_autotest
APP_USER_PASSWORD: nextcloud
# Forward Oracle port
ports:
- 1521:1521
- 4444:1521/tcp
# Provide healthcheck script options for startup
options: >-
--health-cmd healthcheck.sh
--health-interval 20s
--health-timeout 10s
--health-interval 10s
--health-timeout 5s
--health-retries 10
steps:
- name: Checkout server
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -119,29 +103,25 @@ jobs:
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=${{ matrix.oracle-versions < 23 && 'XE' || 'FREE' }} --database-host=127.0.0.1 --database-port=1521 --database-user=system --database-pass=oracle --admin-user admin --admin-pass admin
php -f tests/enable_all.php
./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 -- --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.db.xml' || '' }}
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@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@v4
with:
files: ./clover.db.xml
flags: phpunit-oci
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
with:
flags: phpunit-oci
- name: Run repair steps
run: |
./occ maintenance:repair --include-expensive
+13 -29
View File
@@ -2,11 +2,8 @@
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2022-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit PostgreSQL
name: PHPUnit pgsql
on:
pull_request:
@@ -23,9 +20,6 @@ concurrency:
jobs:
changes:
runs-on: ubuntu-latest-low
permissions:
contents: read
pull-requests: read
outputs:
src: ${{ steps.changes.outputs.src }}
@@ -57,46 +51,42 @@ jobs:
if: needs.changes.outputs.src != 'false'
strategy:
fail-fast: false
matrix:
php-versions: ['8.2']
# To keep the matrix smaller we ignore PostgreSQL versions in between as we already test the minimum and the maximum
postgres-versions: ['14', '18']
php-versions: ['8.0']
# 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: '18'
postgres-versions: '15'
coverage: ${{ github.event_name != 'pull_request' }}
- php-versions: '8.4'
postgres-versions: '18'
name: PostgreSQL ${{ matrix.postgres-versions }} (PHP ${{ matrix.php-versions }}) - database tests
services:
cache:
image: ghcr.io/nextcloud/continuous-integration-redis:latest # zizmor: ignore[unpinned-images]
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 # zizmor: ignore[unpinned-images]
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 --health-cmd pg_isready --health-interval 5s --health-timeout 2s --health-retries 5
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@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -117,24 +107,18 @@ jobs:
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
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 -- --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.db.xml' || '' }}
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@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@v4
with:
files: ./clover.db.xml
flags: phpunit-postgres
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
with:
flags: phpunit-postgres
- name: Run repair steps
run: |
./occ maintenance:repair --include-expensive
+9 -23
View File
@@ -2,11 +2,8 @@
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
#
# SPDX-FileCopyrightText: 2022-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: PHPUnit SQLite
name: PHPUnit sqlite
on:
pull_request:
@@ -23,9 +20,6 @@ concurrency:
jobs:
changes:
runs-on: ubuntu-latest-low
permissions:
contents: read
pull-requests: read
outputs:
src: ${{ steps.changes.outputs.src }}
@@ -57,31 +51,29 @@ jobs:
if: needs.changes.outputs.src != 'false'
strategy:
fail-fast: false
matrix:
php-versions: ['8.3', '8.4']
php-versions: ['8.0', '8.1', '8.2', '8.3']
include:
- php-versions: '8.2'
- 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 # zizmor: ignore[unpinned-images]
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@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # v2.35.5
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -100,27 +92,21 @@ jobs:
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
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 -- --log-junit junit.xml ${{ matrix.coverage && '--coverage-clover ./clover.db.xml' || '' }}
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@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
uses: codecov/codecov-action@v4
with:
files: ./clover.db.xml
flags: phpunit-sqlite
- name: Upload test results
if: ${{ !cancelled() }}
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
with:
flags: phpunit-sqlite
- name: Print logs
if: always()
run: |
+7 -33
View File
@@ -1,55 +1,29 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
# SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-FileCopyrightText: 2023 Marcel Klehr <mklehr@gmx.net>
# SPDX-FileCopyrightText: 2023 Joas Schilling <213943+nickvergessen@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Daniel Kesselberg <mail@danielkesselberg.de>
# SPDX-FileCopyrightText: 2023 Florian Steffens <florian.steffens@nextcloud.com>
# SPDX-License-Identifier: MIT
name: 'Ask for feedback on PRs'
on:
schedule:
- cron: '30 1 * * *'
permissions:
contents: read
pull-requests: write
jobs:
pr-feedback:
if: ${{ github.repository_owner == 'nextcloud' }}
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- name: The get-github-handles-from-website action
uses: marcelklehr/get-github-handles-from-website-action@06b2239db0a48fe1484ba0bfd966a3ab81a08308 # v1.0.1
uses: marcelklehr/get-github-handles-from-website-action@a739600f6b91da4957f51db0792697afbb2f143c # v1.0.0
id: scrape
with:
website: 'https://nextcloud.com/team/'
- name: Get blocklist
id: blocklist
run: |
blocklist=$(curl https://raw.githubusercontent.com/nextcloud/.github/master/non-community-usernames.txt | paste -s -d, -)
echo "blocklist=$blocklist" >> "$GITHUB_OUTPUT"
- uses: nextcloud/pr-feedback-action@f0cab224dea8e1f282f9451de322f323c78fc7a5 # main
- uses: marcelklehr/pr-feedback-action@601109aa729eb4c8d6d0ece7567b9d4901db4aef
with:
feedback-message: |
Hello there,
Thank you so much for taking the time and effort to create a pull request to our Nextcloud project.
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.
We hope that the reviewing 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 reviewing process.
Your feedback is valuable to us as we continuously strive to improve our community developer experience. Please take a moment to complete our short survey by clicking on the following link: https://cloud.nextcloud.com/apps/forms/s/i9Ago4EQRZ7TWxjfmeEpPkf6
Thank you for contributing to Nextcloud and we hope to hear from you soon!
(If you believe you should not receive this message, you can add yourself to the [blocklist](https://github.com/nextcloud/.github/blob/master/non-community-usernames.txt).)
days-before-feedback: 14
start-date: '2025-06-12'
exempt-authors: '${{ steps.blocklist.outputs.blocklist }},${{ steps.scrape.outputs.users }}'
start-date: "2023-07-10"
exempt-authors: "${{ steps.scrape.outputs.users }}"
exempt-bots: true
-27
View File
@@ -1,27 +0,0 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
# SPDX-FileCopyrightText: 2022 Free Software Foundation Europe e.V. <https://fsfe.org>
#
# SPDX-License-Identifier: CC0-1.0
name: REUSE Compliance Check
on: [pull_request]
permissions:
contents: read
jobs:
reuse-compliance-check:
runs-on: ubuntu-latest-low
steps:
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
- name: REUSE Compliance Check
uses: fsfe/reuse-action@676e2d560c9a403aa252096d99fcab3e1132b0f5 # v6.0.0
+2 -6
View File
@@ -1,5 +1,3 @@
# SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Close stale issues
on:
@@ -7,9 +5,6 @@ on:
schedule:
- cron: "0 0 * * *"
permissions:
contents: read
jobs:
stale:
runs-on: ubuntu-latest
@@ -20,7 +15,7 @@ jobs:
issues: write
steps:
- uses: actions/stale@5f858e3efba33a5ca4407a664cc011ad407f2008 # v9
- uses: actions/stale@v9
with:
repo-token: ${{ secrets.COMMAND_BOT_PAT }}
stale-issue-message: >
@@ -30,6 +25,7 @@ jobs:
for your contributions.
stale-issue-label: 'stale'
only-labels: 'needs info'
labels-to-remove-when-unstale: 'needs info,stale'
exempt-issue-labels: '1. to develop,2. developing,3. to review,4. to release,security'
days-before-stale: 30
days-before-close: 14
+25 -70
View File
@@ -1,20 +1,7 @@
# SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Psalm static code analysis
on:
pull_request:
push:
branches:
- main
- master
- stable*
paths:
- '.github/workflows/static-code-analysis.yml'
- '**.php'
permissions:
contents: read
concurrency:
group: static-code-analysis-${{ github.head_ref || github.run_id }}
@@ -24,20 +11,19 @@ jobs:
static-code-analysis:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'push' && github.repository_owner != 'nextcloud-gmbh' }}
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
steps:
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
with:
php-version: '8.2'
extensions: apcu,ctype,curl,dom,fileinfo,ftp,gd,imagick,intl,json,ldap,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
php-version: '8.0'
extensions: apcu,ctype,curl,dom,fileinfo,ftp,gd,intl,json,ldap,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -46,64 +32,60 @@ jobs:
run: composer i
- name: Psalm
run: composer run psalm -- --threads=1 --monochrome --no-progress --output-format=github --update-baseline
run: composer run psalm:ci -- --monochrome --no-progress --output-format=github --update-baseline --report=results.sarif
- name: Show potential changes in Psalm baseline
if: always()
run: git diff --exit-code -- . ':!lib/composer'
run: git diff -- . ':!lib/composer'
- name: Upload Analysis results to GitHub
if: always()
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: results.sarif
static-code-analysis-security:
runs-on: ubuntu-latest
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
steps:
- name: Checkout code
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
with:
php-version: '8.2'
extensions: ctype,curl,dom,fileinfo,ftp,gd,imagick,intl,json,ldap,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
php-version: '8.0'
extensions: ctype,curl,dom,fileinfo,ftp,gd,intl,json,ldap,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
- name: Composer install
run: composer i
- name: Psalm taint analysis
run: composer run psalm:security -- --threads=1 --monochrome --no-progress --output-format=github --update-baseline --report=results.sarif
- name: Show potential changes in Psalm baseline
if: always()
run: git diff --exit-code -- . ':!lib/composer'
run: composer run psalm:ci -- --monochrome --no-progress --output-format=github --report=results.sarif --taint-analysis
- name: Upload Security Analysis results to GitHub
if: always()
uses: github/codeql-action/upload-sarif@fdbfb4d2750291e159f0156def62b853c2798ca2 # v3
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: results.sarif
static-code-analysis-ocp:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'push' && github.repository_owner != 'nextcloud-gmbh' }}
steps:
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
with:
php-version: '8.2'
extensions: ctype,curl,dom,fileinfo,gd,imagick,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
php-version: '8.0'
extensions: ctype,curl,dom,fileinfo,gd,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -112,35 +94,8 @@ jobs:
run: composer i
- name: Psalm
run: composer run psalm:ocp -- --threads=1 --monochrome --no-progress --output-format=github --update-baseline
run: composer run psalm:ci -- -c psalm-ocp.xml --monochrome --no-progress --output-format=github --update-baseline
- name: Show potential changes in Psalm baseline
if: always()
run: git diff --exit-code -- . ':!lib/composer'
static-code-analysis-ncu:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'push' && github.repository_owner != 'nextcloud-gmbh' }}
steps:
- name: Checkout
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f #v2.35.5
with:
php-version: '8.2'
extensions: ctype,curl,dom,fileinfo,gd,imagick,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Composer install
run: composer i
- name: Psalm
run: composer run psalm:ncu -- --threads=1 --monochrome --no-progress --output-format=github
run: git diff -- . ':!lib/composer'
+6 -12
View File
@@ -1,5 +1,3 @@
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Update CA certificate bundle
on:
@@ -7,9 +5,6 @@ on:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
jobs:
update-ca-certificate-bundle:
runs-on: ubuntu-latest
@@ -17,14 +12,13 @@ jobs:
strategy:
fail-fast: false
matrix:
branches: ['master', 'stable32', 'stable31', 'stable30', 'stable29', 'stable28', 'stable27', 'stable26', 'stable25', 'stable24', 'stable23', 'stable22']
branches: ["master", "stable28", "stable27", "stable26", "stable25", "stable24", "stable23", "stable22"]
name: update-ca-certificate-bundle-${{ matrix.branches }}
steps:
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
ref: ${{ matrix.branches }}
submodules: true
@@ -32,15 +26,15 @@ jobs:
run: curl --etag-compare build/ca-bundle-etag.txt --etag-save build/ca-bundle-etag.txt --output resources/config/ca-bundle.crt https://curl.se/ca/cacert.pem
- name: Create Pull Request
uses: peter-evans/create-pull-request@84ae59a2cdc2258d6fa0732dd66352dddae2a412
uses: peter-evans/create-pull-request@a4f52f8033a6168103c2538976c07b467e8163bc
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: 'fix(security): Update CA certificate bundle'
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'
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: |
+6 -12
View File
@@ -1,5 +1,3 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Update code signing revocation list
on:
@@ -7,9 +5,6 @@ on:
schedule:
- cron: "5 2 * * *"
permissions:
contents: read
jobs:
update-code-signing-crl:
runs-on: ubuntu-latest
@@ -17,14 +12,13 @@ jobs:
strategy:
fail-fast: false
matrix:
branches: ['master', 'stable32', 'stable31', 'stable30', 'stable29', 'stable28', 'stable27', 'stable26', 'stable25', 'stable24', 'stable23', 'stable22']
branches: ["master", "stable28", "stable27", "stable26", "stable25", "stable24", "stable23", "stable22"]
name: update-code-signing-crl-${{ matrix.branches }}
steps:
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
ref: ${{ matrix.branches }}
submodules: true
@@ -35,15 +29,15 @@ jobs:
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@84ae59a2cdc2258d6fa0732dd66352dddae2a412
uses: peter-evans/create-pull-request@a4f52f8033a6168103c2538976c07b467e8163bc
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: 'fix(security): Update code signing revocation list'
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'
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: |
@@ -1,128 +0,0 @@
# SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Update min supported desktop version
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * 1"
permissions:
contents: read
jobs:
update-minimum-supported-desktop-version:
runs-on: ubuntu-latest-low
steps:
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
submodules: true
- name: Download desktop client version file from 5 years ago
id: download
run: |
# Create a temporary directory for the downloaded file
mkdir -p tmp
# Download the version file from the provided URL
VERSION_FILE_URL="https://github.com/nextcloud/desktop/raw/@%7B5.years.ago%7D/VERSION.cmake"
# Download the file using curl
curl -s -L "$VERSION_FILE_URL" -o tmp/VERSION.cmake
if [ ! -f "tmp/VERSION.cmake" ]; then
echo "Failed to download VERSION.cmake file"
exit 1
fi
echo "VERSION_FILE=tmp/VERSION.cmake" >> $GITHUB_OUTPUT
echo "Downloaded version file to tmp/VERSION.cmake"
- name: Extract version info
id: extract-version
run: |
# Path to the downloaded version file
VERSION_FILE="${{ steps.download.outputs.VERSION_FILE }}"
# Extract major, minor, patch versions
MAJOR=$(grep "VERSION_MAJOR" $VERSION_FILE | grep -o '[0-9]\+')
MINOR=$(grep "VERSION_MINOR" $VERSION_FILE | grep -o '[0-9]\+')
PATCH=$(grep "VERSION_PATCH" $VERSION_FILE | grep -o '[0-9]\+')
# Construct the version string
VERSION="$MAJOR.$MINOR.$PATCH"
# Validate format: xx.xx.xx where each x is a digit
if ! [[ "$VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
echo "Error: Extracted version '$VERSION' does not match required format (xx.xx.xx)"
exit 1
fi
rm -rf tmp
echo "VERSION=$VERSION" >> $GITHUB_OUTPUT
echo "Extracted Version: $VERSION"
- name: Update files with new version ${{ steps.extract-version.outputs.VERSION }}
id: update-files
run: |
VERSION="${{ steps.extract-version.outputs.VERSION }}"
# Define the files to update
DAV_FILE="apps/dav/lib/Connector/Sabre/BlockLegacyClientPlugin.php"
CONFIG_FILE="config/config.sample.php"
# Check if files exist
if [ ! -f "$DAV_FILE" ]; then
echo "Error: DAV file not found at $DAV_FILE"
exit 1
fi
if [ ! -f "$CONFIG_FILE" ]; then
echo "Error: Config file not found at $CONFIG_FILE"
exit 1
fi
# Update the DAV file - replace the version in the specific line
sed -i "s/\('minimum\.supported\.desktop\.version', '\)[0-9]\+\.[0-9]\+\.[0-9]\+'/\1$VERSION'/g" "$DAV_FILE"
echo "Updated $DAV_FILE"
# Update the config sample file
PREV_VERSION=$(grep "'minimum.supported.desktop.version'" "$CONFIG_FILE" | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+')
sed -i "s/Defaults to \`\`$PREV_VERSION\`\`/Defaults to \`\`$VERSION\`\`/" "$CONFIG_FILE"
sed -i "s/'minimum\.supported\.desktop\.version' => '[0-9]\+\.[0-9]\+\.[0-9]\+'/'minimum.supported.desktop.version' => '$VERSION'/g" "$CONFIG_FILE"
echo "Updated $CONFIG_FILE"
# Check if any changes were made
if [ -n "$(git diff "$DAV_FILE" "$CONFIG_FILE")" ]; then
echo "CHANGES_MADE=true" >> $GITHUB_OUTPUT
echo "Changes were made to the files"
git diff "$DAV_FILE" "$CONFIG_FILE"
else
echo "CHANGES_MADE=false" >> $GITHUB_OUTPUT
echo "No changes were needed (versions might already be up to date)"
fi
- name: Create Pull Request
uses: peter-evans/create-pull-request@84ae59a2cdc2258d6fa0732dd66352dddae2a412
if: steps.update-files.outputs.CHANGES_MADE == 'true'
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: "chore: Update minimum supported desktop version"
committer: GitHub <noreply@github.com>
author: nextcloud-command <nextcloud-command@users.noreply.github.com>
signoff: true
branch: "automated/noid/${{ matrix.branches }}-update-min-supported-desktop-version"
title: "chore: Update minimum supported desktop version to ${{ steps.extract-version.outputs.VERSION }}"
base: "master"
body: |
Auto-generated update of the minimum supported desktop version using last supported version.
https://github.com/nextcloud/desktop/blob/@%7B5.years.ago%7D/VERSION.cmake
labels: |
client: 💻 desktop
automated
3. to review
reviewers: '@nextcloud/desktop'
@@ -0,0 +1,67 @@
name: Update Psalm baseline
on:
workflow_dispatch:
schedule:
- cron: "5 2 * * *"
jobs:
update-psalm-baseline:
runs-on: ubuntu-latest
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
strategy:
fail-fast: false
matrix:
branches: ["master", "stable28", "stable27", "stable26"]
name: update-psalm-baseline-${{ matrix.branches }}
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
ref: ${{ matrix.branches }}
submodules: true
- name: Set up php
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
with:
php-version: '8.0'
extensions: apcu,ctype,curl,dom,fileinfo,ftp,gd,intl,json,ldap,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- 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@a4f52f8033a6168103c2538976c07b467e8163bc
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: Update psalm baseline
committer: GitHub <noreply@github.com>
author: nextcloud-command <nextcloud-command@users.noreply.github.com>
signoff: true
branch: automated/noid/${{ matrix.branches }}-update-psalm-baseline
title: "[${{ matrix.branches }}] Update psalm-baseline.xml"
body: |
Auto-generated update psalm-baseline.xml with fixed psalm warnings
labels: |
automated pr
3. to review
team-reviewers: server-backend
@@ -1,69 +0,0 @@
# SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: MIT
name: Update PRs titles on stable branches
on:
pull_request:
types: [opened, edited]
branches:
- "stable*"
concurrency:
group: stable-pr-title-${{ github.event.pull_request.number }}
cancel-in-progress: true
jobs:
update-pr-title:
runs-on: ubuntu-latest-low
permissions:
pull-requests: write
contents: read
steps:
- name: Wait for potential title edits
run: sleep 15
- name: Get PR details and update title
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const { data: pr } = await github.rest.pulls.get({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: context.issue.number,
});
const baseBranch = pr.base.ref;
const currentTitle = pr.title;
// Check if this is a stable branch
// Should not happen as we only trigger on stable* branches 🤷‍♀️
if (!baseBranch.startsWith('stable')) {
console.log(`Not a stable branch: ${baseBranch}`);
return;
}
const prefix = `[${baseBranch}]`;
// Check if title already has the correct prefix and no other stable tags
const correctTagRegex = new RegExp(`^\\[${baseBranch}\\]\\s*`);
const hasOtherStableTags = /\[stable[\d.]*\]/.test(currentTitle.replace(correctTagRegex, ''));
if (correctTagRegex.test(currentTitle) && !hasOtherStableTags) {
console.log(`Title already has correct prefix only: ${currentTitle}`);
return;
}
// Remove all stable tags and add the correct one
const cleanTitle = currentTitle.replace(/\[stable[\d.]*\]\s*/g, '').trim();
const newTitle = `${prefix} ${cleanTitle}`;
console.log(`Updating title from: "${currentTitle}" to: "${newTitle}"`);
await github.rest.pulls.update({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: context.issue.number,
title: newTitle,
});
+9 -14
View File
@@ -1,7 +1,3 @@
# SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-FileCopyrightText: 2011-2016 ownCloud contributors
# SPDX-FileCopyrightText: 2010 ownCloud contributors
# SPDX-License-Identifier: AGPL-3.0-only
# the default generated dir + db file
/data
/config/config.php
@@ -11,7 +7,7 @@
/apps/inc.php
/assets
/.htaccess
node_modules/
/node_modules
/translationfiles
/translationtool.phar
@@ -35,7 +31,6 @@ node_modules/
!/apps/lookup_server_connector
!/apps/user_ldap
!/apps/oauth2
!/apps/profile
!/apps/provisioning_api
!/apps/settings
!/apps/systemtags
@@ -46,7 +41,6 @@ node_modules/
!/apps/twofactor_backupcodes
!/apps/user_status
!/apps/weather_status
!/apps/webhook_listeners
!/apps/workflowengine
/apps/files_external/3rdparty/irodsphp/PHPUnitTest
/apps/files_external/3rdparty/irodsphp/web
@@ -55,14 +49,15 @@ node_modules/
/apps/files_external/3rdparty/irodsphp/prods/test*
/apps/files_external/tests/config.*.php
# apps modules
/apps/*/node_modules
# ignore themes except the example and the README
/themes/*
!/themes/example
!/themes/README
# Love to people that develop the updater
/updater
# just sane ignores
.*.sw[po]
*.bak
@@ -127,9 +122,13 @@ nbproject
# Tests
/tests/phpunit.xml
# Node Modules
/build/node_modules/
# nodejs
/build/bin
/build/lib/
/build/jsdocs/
/build/integration/output/
/build/integration/phpserver.log
/npm-debug.log
@@ -144,8 +143,6 @@ Vagrantfile
# Tests - auto-generated files
/data-autotest
/results.sarif
/tests/.phpunit.cache
/tests/.phpunit.result.cache
/tests/coverage*
/tests/css
@@ -177,5 +174,3 @@ core/js/mimetypelist.js
cypress/downloads
cypress/snapshots
cypress/videos
/.direnv
-3
View File
@@ -1,6 +1,3 @@
# SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
# SPDX-FileCopyrightText: 2016 ownCloud, Inc.
# SPDX-License-Identifier: AGPL-3.0-only
[submodule "3rdparty"]
path = 3rdparty
url = https://github.com/nextcloud/3rdparty.git
+75 -166
View File
@@ -1,178 +1,97 @@
<IfModule mod_headers.c>
<IfModule mod_setenvif.c>
<IfModule mod_fcgid.c>
SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1
RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION
</IfModule>
<IfModule mod_proxy_fcgi.c>
SetEnvIfNoCase Authorization "(.+)" HTTP_AUTHORIZATION=$1
</IfModule>
<IfModule mod_lsapi.c>
SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1
RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION
</IfModule>
<IfModule mod_setenvif.c>
<IfModule mod_fcgid.c>
SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1
RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION
</IfModule>
<IfModule mod_env.c>
# Add security and privacy related headers
# Avoid doubled headers by unsetting headers in "onsuccess" table,
# then add headers to "always" table: https://github.com/nextcloud/server/pull/19002
<If "%{REQUEST_URI} =~ m#/login$#">
# Only on the login page we need any Origin or Referer header set.
Header onsuccess unset Referrer-Policy
Header always set Referrer-Policy "same-origin"
</If>
<Else>
Header onsuccess unset Referrer-Policy
Header always set Referrer-Policy "no-referrer"
</Else>
Header onsuccess unset X-Content-Type-Options
Header always set X-Content-Type-Options "nosniff"
Header onsuccess unset X-Frame-Options
Header always set X-Frame-Options "SAMEORIGIN"
Header onsuccess unset X-Permitted-Cross-Domain-Policies
Header always set X-Permitted-Cross-Domain-Policies "none"
Header onsuccess unset X-Robots-Tag
Header always set X-Robots-Tag "noindex, nofollow"
SetEnv modHeadersAvailable true
<IfModule mod_proxy_fcgi.c>
SetEnvIfNoCase Authorization "(.+)" HTTP_AUTHORIZATION=$1
</IfModule>
<IfModule mod_lsapi.c>
SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1
RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION
</IfModule>
</IfModule>
# Add cache control for static resources
<FilesMatch "\.(css|js|mjs|svg|gif|png|jpg|webp|ico|wasm|tflite)$">
<If "%{QUERY_STRING} =~ /(^|&)v=/">
Header set Cache-Control "max-age=15778463, immutable"
</If>
<Else>
Header set Cache-Control "max-age=15778463"
</Else>
</FilesMatch>
<IfModule mod_env.c>
# Add security and privacy related headers
# Let browsers cache OTF and WOFF files for a week
<FilesMatch "\.(otf|woff2?)$">
Header set Cache-Control "max-age=604800"
</FilesMatch>
# 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"
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>
# Let browsers cache WOFF files for a week
<FilesMatch "\.woff2?$">
Header set Cache-Control "max-age=604800"
</FilesMatch>
</IfModule>
<IfModule mod_php.c>
php_value default_charset 'UTF-8'
php_value output_buffering 0
<IfModule mod_env.c>
SetEnv htaccessWorking true
</IfModule>
php_value mbstring.func_overload 0
php_value default_charset 'UTF-8'
php_value output_buffering 0
<IfModule mod_env.c>
SetEnv htaccessWorking true
</IfModule>
</IfModule>
<IfModule mod_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
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
DirectoryIndex index.php index.html
</IfModule>
<IfModule pagespeed_module>
ModPagespeed Off
ModPagespeed Off
</IfModule>
#############
#### Rewrites
#############
<IfModule mod_rewrite.c>
RewriteEngine on
##
## Rule: Workaround for WebDAV with apache+php-cgi
##
## Context:
## - Sets the environment variable `HTTP_AUTHORIZATION` to the value of the `Authorization` request header
## - Always executed before and along with other rules (no `L` used)
## - XXX: *May* be replaced with an equivalent SetEnvIf in theory
## - XXX: SetEnvIf approach is already in use above for mod_proxy_cgi / mod_lsapi / mod_fcgid
##
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
##
## Rule: Workaround for WebDAV with MS DavClnt
##
## Context:
## - DavClnt attempts an OPTIONS request against `/` instead of the specified endpoint
## - Redirects the client to the endpoint rather than the login page (which confuses DavClnt)
##
RewriteCond %{HTTP_USER_AGENT} DavClnt
RewriteRule ^$ /remote.php/webdav/ [L,R=302]
##
## Rule: Map the RFC 8615 / RFC 6764 compliant well-known URI for CardDAV to our Remote DAV endpoint
##
RewriteRule ^\.well-known/carddav /remote.php/dav/ [R=301,L]
##
## Rule: Map the RFC 8615 / RFC 6764 compliant well-known URI for CalDAV to our Remote DAV endpoint
##
RewriteRule ^\.well-known/caldav /remote.php/dav/ [R=301,L]
##
## Rule: Map /remote* --> /remote.php* including the query string
##
## Context:
## - XXX: `QSA` seems unnecessary (no-op) here (query string is passed by default when the replacement URI doesn't contain a query string)
## - XXX: Is this even used anymore? Seems a relic from <NC12
##
RewriteRule ^remote/(.*) remote.php [QSA,L]
##
## Rule: Prevent access to non-public files
##
RewriteRule ^(?:build|tests|config|lib|3rdparty|templates)/.* - [R=404,L]
##
## Rule: Maps most RFC 8615 compliant well-known URIs to our main frontend controller (/index.php) by default
##
## Context:
## - Intentionally excludes URIs used for HTTPS certificate verifications
## - RFC 8555 / ACME HTTP Challenges (acme-challenge)
## - File-based Validations (pki-validation)
## - XXX: `QSA` seems unnecessary (no-op) here (query string is passed by default when the replacement URI doesn't contain a query string)
## - XXX: Sometimes we are using `/index.php` and other times `index.php` as our replacement URI; this may be incorrect
##
RewriteRule ^\.well-known/(?!acme-challenge|pki-validation) /index.php [QSA,L]
##
## Rule: Map the ocm-provider handling to our main frontend controller (/index.php)
##
## Context:
## - XXX: `QSA` seems unnecessary (no-op) here (query string is passed by default when the replacement URI doesn't contain a query string)
## - XXX: Sometimes we are using `/index.php` and other times `index.php` as our replacement URI; this may be incorrect
##
RewriteRule ^ocm-provider/?$ index.php [QSA,L]
##
## Rule: Prevent access to more non-public files
##
## Context:
## - XXX It may make sense to merge some of these with the others (i.e. the ones that don't need to be last)
##
RewriteRule ^(?:\.(?!well-known)|autotest|occ|issue|indie|db_|console).* - [R=404,L]
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} DavClnt
RewriteRule ^$ /remote.php/webdav/ [L,R=302]
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteRule ^\.well-known/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]
</IfModule>
# Clients like xDavv5 on Android, or Cyberduck, use chunked requests.
@@ -183,18 +102,8 @@
# Here are more information about the issue:
# - https://docs.cyberduck.io/mountainduck/issues/fastcgi/
# - https://docs.nextcloud.com/server/latest/admin_manual/issues/general_troubleshooting.html#troubleshooting-webdav
<IfModule mod_setenvif.c>
SetEnvIfNoCase Transfer-Encoding "chunked" proxy-sendcl=1
</IfModule>
# Apache disabled the sending of the server-side content-length header
# in their 2.4.59 patch updated which breaks some use-cases in Nextcloud.
# Setting ap_trust_cgilike_cl allows to bring back the usual behaviour.
# See https://bz.apache.org/bugzilla/show_bug.cgi?id=68973
<IfModule mod_env.c>
SetEnv ap_trust_cgilike_cl
SetEnvIf Transfer-Encoding "chunked" proxy-sendcl=1
</IfModule>
AddDefaultCharset utf-8
-2
View File
@@ -1,2 +0,0 @@
SPDX-FileCopyrightText: 2014 ownCloud, Inc.
SPDX-License-Identifier: AGPL-3.0-only
+1 -2
View File
@@ -1,5 +1,4 @@
{
"esversion": 11,
"camelcase": true,
"eqeqeq": true,
"immed": true,
@@ -12,10 +11,10 @@
"maxparams": 5,
"curly": true,
"jquery": true,
"maxlen": 120,
"indent": 4,
"browser": true,
"laxbreak": true,
"asi": true,
"globals": {
"console": true,
"it": true,
-1
View File
@@ -252,7 +252,6 @@ Michael Monreal <michael.monreal@gmail.com>
Michael Roitzsch <reactorcontrol@icloud.com>
michag86 <micha_g@arcor.de>
Michiel de Jong <michiel@unhosted.org> Michiel@unhosted <michiel@unhosted.org>
Micke Nordin <kano@sunet.se> Mikael Nordin <mickenordin@users.noreply.github.com>
Miguel Prokop <miguel.prokop@vtu.com>
miicha <pfitzner@physik.hu-berlin.de>
Miquel Rodríguez Telep / Michael Rodríguez-Torrent <miquel@designunbound.co.uk>
+22 -24
View File
@@ -1,39 +1,37 @@
<?php
declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
require_once './vendor-bin/cs-fixer/vendor/autoload.php';
use Nextcloud\CodingStandard\Config;
use PhpCsFixer\Runner\Parallel\ParallelConfigFactory;
$config = new Config();
$config
->setParallelConfig(ParallelConfigFactory::detect())
->getFinder()
->in(__DIR__)
->exclude([
'3rdparty',
'build/stubs',
'composer',
])
;
->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() . '/'));
$ignoredEntries = shell_exec('git status --porcelain --ignored ' . escapeshellarg(__DIR__));
$ignoredEntries = explode("\n", $ignoredEntries);
$ignoredEntries = array_filter($ignoredEntries, static fn (string $line) => str_starts_with($line, '!! '));
$ignoredEntries = array_map(static fn (string $line) => substr($line, 3), $ignoredEntries);
$ignoredEntries = array_values($ignoredEntries);
foreach ($ignoredEntries as $ignoredEntry) {
if (str_ends_with($ignoredEntry, '/')) {
$config->getFinder()->exclude($ignoredEntry);
} else {
$config->getFinder()->notPath($ignoredEntry);
if ($return !== null) {
$config->getFinder()->exclude($node->getFilename());
}
}
}
-2
View File
@@ -1,7 +1,5 @@
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.3.0
+39
View File
@@ -0,0 +1,39 @@
before_commands:
- 'git submodule update --init --recursive'
build:
nodes:
analysis:
tests:
override:
- php-scrutinizer-run
checks:
php:
excluded_dependencies:
- etsy/phan
filter:
excluded_paths:
- '3rdparty/*'
- 'apps/*/3rdparty/*'
- 'apps/*/vendor/*'
- 'l10n/*'
- 'core/l10n/*'
- 'apps/*/l10n/*'
- 'apps/*/tests/*'
- 'lib/l10n/*'
- 'core/vendor/*'
- 'core/js/tests/lib/*.js'
- 'core/js/tests/specs/*.js'
- 'core/js/jquery-showpassword.js'
- 'core/js/jquery-tipsy.js'
- 'core/js/placeholders.js'
- 'settings/l10n/*'
- 'tests/*'
- 'build/*'
- 'lib/composer/*'
imports:
- javascript
- php
-12
View File
@@ -116,12 +116,6 @@ source_file = translationfiles/templates/oauth2.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:profile]
file_filter = translationfiles/<lang>/profile.po
source_file = translationfiles/templates/profile.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:provisioning_api]
file_filter = translationfiles/<lang>/provisioning_api.po
source_file = translationfiles/templates/provisioning_api.pot
@@ -182,12 +176,6 @@ source_file = translationfiles/templates/weather_status.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:webhook_listeners]
file_filter = translationfiles/<lang>/webhook_listeners.po
source_file = translationfiles/templates/webhook_listeners.pot
source_lang = en
type = PO
[o:nextcloud:p:nextcloud:r:workflowengine]
file_filter = translationfiles/<lang>/workflowengine.po
source_file = translationfiles/templates/workflowengine.pot
+1 -6
View File
@@ -1,9 +1,4 @@
; SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
; SPDX-FileCopyrightText: 2014-2016 ownCloud, Inc.
; SPDX-License-Identifier: AGPL-3.0-only
;
; NOTE: PHP caches this file for 300 seconds by default
;
mbstring.func_overload=0
always_populate_raw_post_data=-1
default_charset='UTF-8'
output_buffering=0
+4 -70
View File
@@ -1,15 +1,8 @@
<!--
- SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
- SPDX-FileCopyrightText: 2016 ownCloud, Inc.
- SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Authors
Nextcloud is written by:
- AW-UC <git@a-wesemann.de>
- Aaron Ball <nullspoon@oper.io>
- Aaron Wood <aaronjwood@gmail.com>
- Abijeet <abijeetpatro@gmail.com>
- Adam Blakey <adam@blakey.family>
- Adam Williamson <awilliam@redhat.com>
- Administrator "Administrator@WINDOWS-2012"
- Adrian Brzezinski <adrian.brzezinski@eo.pl>
@@ -20,8 +13,6 @@
- Aldo "xoen" Giambelluca <xoen@xoen.org>
- Alecks Gates <alecks.g@gmail.com>
- Alejandro Varela <epma01@gmail.com>
- Alexander A. Klimov <grandmaster@al2klimov.de>
- Alexandre Salomé <alexandre.salome@gmail.com>
- Alex Harpin <development@landsofshadow.co.uk>
- Alex Weirig <alex.weirig@technolink.lu>
- Alexander Bergolth <leo@strike.wu.ac.at>
@@ -31,17 +22,12 @@
- Andreas Fischer <bantu@owncloud.com>
- Andreas Pflug <dev@admin4.org>
- Andrew Brown <andrew@casabrown.com>
- Andrey Borysenko <andrey.borysenko@nextcloud.com>
- André Gaul <gaul@web-yard.de>
- Andy Xheli <axheli@axtsolutions.com>
- Anna Larch <anna@nextcloud.com>
- Anna Larch <anna.larch@gmx.net>
- Anupam Kumar <kyteinsky@gmail.com>
- ArcticFall <23174635+ArcticFall@users.noreply.github.com>
- Ardinis <Ardinis@users.noreply.github.com>
- Ari Selseng <ari@selseng.net>
- Arne Hamann <kontakt+github@arne.email>
- Arne Hamann <github@arne.email>
- Artem Kochnev <MrJeos@gmail.com>
- Artem Sidorenko <artem@posteo.de>
- Arthur Schiwon <blizzz@arthur-schiwon.de>
@@ -56,7 +42,6 @@
- Bastien Durel <bastien@durel.org>
- Bastien Ho <bastienho@urbancube.fr>
- Benjamin Diele <benjamin@diele.be>
- Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
- Benjamin Liles <benliles@arch.tamu.edu>
- Bennet Becker <bbecker@pks.mpg.de>
- Bennet Becker <dev@bennet.cc>
@@ -67,7 +52,7 @@
- Bernhard Posselt <dev@bernhard-posselt.com>
- Bernhard Reiter <ockham@raz.or.at>
- Bill McGonigle <bill-github.com@bfccomputing.com>
- Daniel Niccoli <daniel.niccoli@gmail.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>
@@ -78,7 +63,6 @@
- Brandon Kirsch <brandonkirsch@github.com>
- Branko Kokanovic <branko@kokanovic.org>
- Brice Maron <brice@bmaron.net>
- Byron Marohn <combustible@live.com>
- CRA Yoshihito Nakatani <yoshihito.nakatani@craftsman-software.com>
- Carl Csaposs <carl@csaposs.com>
- Carl Schwan <carl@carlschwan.eu>
@@ -91,7 +75,6 @@
- Christian Berendt <berendt@b1-systems.de>
- Christian Jürges <christian@eqipe.ch>
- Christian Kampka <christian@kampka.net>
- Christian Oliff <christianoliff@yahoo.com>
- Christian Weiske <cweiske@cweiske.de>
- Christoph Schaefer "christophł@wolkesicher.de"
- Christoph Seitz <christoph.seitz@posteo.de>
@@ -102,11 +85,9 @@
- Christopher Schäpers <kondou@ts.unde.re>
- Christopher T. Johnson <ctjctj@gmail.com>
- Clark Tomlinson <fallen013@gmail.com>
- Claas Augner <github@caugner.de>
- Claus-Justus Heine <himself@claus-justus-heine.de>
- Clement Wong <git@clement.hk>
- Cornelius Kölbel <cornelius.koelbel@netknights.it>
- Cthulhux <git@tuxproject.de>
- Cyrille Bollu <cyrpub@bollu.be>
- Cédric Neukom <github@webguy.ch>
- Côme Chilliet <91878298+come-nc@users.noreply.github.com>
@@ -119,7 +100,6 @@
- Daniel Jagszent <daniel@jagszent.de>
- Daniel Kesselberg <mail@danielkesselberg.de>
- Daniel Rudolf <github.com@daniel-rudolf.de>
- Daniel Rudolf <nextcloud.com@daniel-rudolf.de>
- Daniel Schneider <daniel@schneidoa.de>
- Daniel Teichmann <daniel.teichmann@das-netzwerkteam.de>
- Dariusz Olszewski <starypatyk@users.noreply.github.com>
@@ -137,11 +117,7 @@
- Eric Masseran <rico.masseran@gmail.com>
- Erik van Velzen <erik@evanv.nl>
- Evgeny Golyshev <eugulixes@gmail.com>
- Ezhil Shanmugham <ezhil930@gmail.com>
- Fabian Dreßler <nudelsalat@clouz.de>
- Fabien Potencier <fabien@symfony.com>
- Fabrizio Steiner <fabrizio.steiner@gmail.com>
- Faraz Samapoor <f.samapoor@gmail.com>
- Felix Epp <work@felixepp.de>
- Felix Heidecke <felix@heidecke.me>
- Felix Moeller <mail@felixmoeller.de>
@@ -154,8 +130,6 @@
- Florent <florent@coppint.com>
- Florian Schunk <florian.schunk@rwth-aachen.de>
- Florin Peter <github@florin-peter.de>
- Fon E. Noel NFEBE <opensource@nfebe.com>
- Frank Isemann <frank@isemann.name>
- Frank Karlitschek <frank@karlitschek.de>
- François Freitag <mail@franek.fr>
- François Kubler <francois@kubler.org>
@@ -170,7 +144,6 @@
- GrayFix <grayfix@gmail.com>
- Greta Doci <gretadoci@gmail.com>
- GretaD <gretadoci@gmail.com>
- Grigorii K. Shartsev <me@shgk.me>
- Guillaume COMPAGNON <gcompagnon@outlook.com>
- Guillaume Colson <guillaume.colson@univ-lorraine.fr>
- Guillaume Virlet <github@virlet.org>
@@ -178,32 +151,25 @@
- Hemanth Kumar Veeranki <hems.india1997@gmail.com>
- Hendrik Leppelsack <hendrik@leppelsack.de>
- Hinrich Mahler <22366557+Bibo-Joshi@users.noreply.github.com>
- Hinrich Mahler <nextcloud@mahlerhome.de>
- Holger Hees <holger.hees@gmail.com>
- HouraisanNEET <HouraisanNEET@users.noreply.github.com>
- Ilja Neumann <ineumann@owncloud.com>
- Ilya Apasov <apasov@users.noreply.github.com>
- Immanuel Pasanec <immanuel.pasanec@compaso.de>
- Individual IT Services <info@individual-it.net>
- Informatyka Boguslawski sp. z o.o. sp.k., http://www.ib.pl/
- Iscle <albertiscle9@gmail.com>
- J0WI <J0WI@users.noreply.github.com>
- Jaakko Salo <jaakkos@gmail.com>
- Jacob Neplokh <me@jacobneplokh.com>
- Jake Nabasny <jake@nabasny.com>
- Jakob Sack <mail@jakobsack.de>
- Jakub Onderka <ahoj@jakubonderka.cz>
- James Guo <i@ze3kr.com>
- James Letendre <James.Letendre@gmail.com>
- Jan C. Borchardt <hey@jancborchardt.net>
- Jan Messer <jan@mtec-studios.ch>
- Jan-Christoph Borchardt <hey@jancborchardt.net>
- Jan-Philipp Litza <jpl@plutex.de>
- Jan-Philipp Litza <jplitza@users.noreply.github.com>
- JanBartels <j.bartels@arcor.de>
- Janis Köhr <janis.koehr@novatec-gmbh.de>
- Janis Köhr <janiskoehr@icloud.com>
- Jared Boone <jared.boone@gmail.com>
- Jarkko Lehtoranta <devel@jlranta.com>
- Jasper Weyne <jasperweyne@gmail.com>
- Jean-Louis Dupond <jean-louis@dupond.be>
@@ -216,9 +182,7 @@
- Johan Björk <johanimon@gmail.com>
- Johannes Ernst <jernst@indiecomputing.com>
- Johannes Leuker <j.leuker@hosting.de>
- Johannes Merkel <mail@johannesgge.de>
- Johannes Riedel <joeried@users.noreply.github.com>
- Johannes Riedel <johannes@johannes-riedel.de>
- Johannes Schlichenmaier <johannes@schlichenmaier.info>
- Johannes Willnecker <johannes@willnecker.com>
- John Molakvoæ <skjnldsv@protonmail.com>
@@ -230,7 +194,7 @@
- Jos Poortvliet <jos@opensuse.org>
- Jose Quinteiro <github@quinteiro.org>
- Josh Richards <josh.t.richards@gmail.com>
- Joshua Trees <me@jtrees.io>
- Juan Pablo Villafañez <jvillafanez@solidgear.es>
- Juan Pablo Villafáñez <jvillafanez@solidgear.es>
- Julien Lutran <julien.lutran@corp.ovh.com>
- Julien Veyssier <eneiluj@posteo.net>
@@ -241,20 +205,15 @@
- Jörn Friedrich Dreyer <jfd@butonic.de>
- KB7777 <k.burkowski@gmail.com>
- Kamil Domanski <kdomanski@kdemail.net>
- Kareem <yemkareems@gmail.com>
- Karel Hink <info@karelhink.cz>
- Kate Döen <kate.doeen@nextcloud.com>
- Kawohl <john@owncloud.com>
- Kenneth Newwood <kenneth@newwood.name>
- Kevin Lanni <therealklanni@gmail.com>
- Kevin Ndung'u <kevgathuku@gmail.com>
- Kevin Niehage <k.niehage@syseleven.de>
- Kim Brose <kim.brose@rwth-aachen.de>
- Kirill Popov <kirill.s.popov@gmail.com>
- Klaas Freitag <freitag@owncloud.com>
- Knut Ahlers <knut@ahlers.me>
- Ko- <k.stoffelen@cs.ru.nl>
- Konrad Abicht <hi@inspirito.de>
- Konrad Bucheli <kb@open.ch>
- Kristof Provost <github@sigsegv.be>
- Kyle Fazzari <kyrofa@ubuntu.com>
@@ -262,7 +221,6 @@
- Lars Knickrehm <mail@lars-sh.de>
- Laurens Post <Crote@users.noreply.github.com>
- Laurens Post <lkpost@scept.re>
- Lauris Binde <laurisb@users.noreply.github.com>
- Lee Garrett <lgarrett@rocketjump.eu>
- Lennart Rosam <hello@takuto.de>
- Lennart Rosam <lennart.rosam@medien-systempartner.de>
@@ -277,7 +235,6 @@
- Louis <6653109+artonge@users.noreply.github.com>
- Louis Chemineau <louis@chmn.me>
- Loïc Hermann <loic.hermann@sciam.fr>
- Lucas Azevedo <lhs_azevedo@hotmail.com>
- Luka Trovic <luka@nextcloud.com>
- Lukas Reschke <lukas@statuscode.ch>
- Lukas Stabe <lukas@stabe.de>
@@ -288,7 +245,6 @@
- Marc Hefter <marchefter@march42.net>
- Marcel Klehr <mklehr@gmx.net>
- Marcel Müller <marcel-mueller@gmx.de>
- Marcel Müller <marcel.mueller@nextcloud.com>
- Marcel Waldvogel <marcel.waldvogel@uni-konstanz.de>
- Marco Ambrosini <marcoambrosini@pm.me>
- Marco Ziech <marco@ziech.net>
@@ -305,7 +261,6 @@
- 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>
@@ -338,23 +293,21 @@
- Mickey Knox <mickey@netfreaks.org>
- Miguel Prokop <miguel.prokop@vtu.com>
- Mikael Hammarin <mikael@try2.se>
- Mikael Nordin <mickenordin@users.noreply.github.com>
- Mikael Saarinen <mikaels@iki.fi>
- Mikhail Sazanov <m@sazanof.ru>
- Mitar <mitar.git@tnode.com>
- Mohammed Abdellatif <m.latief@gmail.com>
- Morris Jobke <hey@morrisjobke.de>
- Mátyás Jani <jzombi@gmail.com>
- nacho <nacho@ownyourbits.com>
- Naoto Kobayashi <naoto.kobayashi4c@gmail.com>
- Nazar Mokrynskyi <nazar@mokrynskyi.com>
- Nick Sweeting <git@sweeting.me>
- Nicolai Ehemann <en@enlightened.de>
- Nicolas Grekas <nicolas.grekas@gmail.com>
- Nicolas SIMIDE <2083596+dems54@users.noreply.github.com>
- Nils <git@to.nilsschnabel.de>
- Nils Wittenbrink <nilswittenbrink@web.de>
- Nina Pypchenko <22447785+nina-py@users.noreply.github.com>
- Nmz <nemesiz@nmz.lt>
- NoSleep82 <52562874+NoSleep82@users.noreply.github.com>
- Noveen Sachdeva <noveen.sachdeva@research.iiit.ac.in>
- Ole Ostergaard <ole.c.ostergaard@gmail.com>
@@ -362,7 +315,6 @@
- Oliver Kohl D.Sc. <oliver@kohl.bz>
- Oliver Wegner <void1976@gmail.com>
- Olivier Paroz <github@oparoz.com>
- Olivier Paroz <owncloud@interfasys.ch>
- Orzu Ionut <orzu.ionut@gmail.com>
- Owen Winkler <a_github@midnightcircus.com>
- Pascal de Bruijn <pmjdebruijn@pcode.nl>
@@ -375,7 +327,6 @@
- Peter Kubica <peter@kubica.ch>
- Petre T <petre.tudor@dorkfarm.com>
- Phil Davis <phil.davis@inf.org>
- Philip Gatzka <philip.gatzka@mailbox.org>
- Philipp Kapfer <philipp.kapfer@gmx.at>
- Philipp Schaffrath <github@philipp.schaffrath.email>
- Philipp Staiger <philipp@staiger.it>
@@ -385,7 +336,6 @@
- Piotr Filiciak <piotr@filiciak.pl>
- Piotr M <mrow4a@yahoo.com>
- Piotr Mrowczynski <mrow4a@yahoo.com>
- Piotr Mrowczynski <piotr@owncloud.com>
- Piotr Mrówczyński <mrow4a@yahoo.com>
- Pytal <24800714+Pytal@users.noreply.github.com>
- Qingping Hou <dave2008713@gmail.com>
@@ -419,10 +369,8 @@
- Rémy Jacquin <remy@remyj.fr>
- S. Cat <33800996+sparrowjack63@users.noreply.github.com>
- SA <stephen@mthosting.net>
- Sascha Sambale <mastixmc@gmail.com>
- Sam Bull <aa6bs0@sambull.org>
- Sam Tuke <mail@samtuke.com>
- Sam Tuke <samtuke@owncloud.com>
- Samuel <faust64@gmail.com>
- Samuel CHEMLA <chemla.samuel@gmail.com>
- Sander Ruitenbeek <s.ruitenbeek@getgoing.nl>
@@ -432,7 +380,6 @@
- Sascha Wiswedel <sascha.wiswedel@nextcloud.com>
- Scott Dutton <exussum12@users.noreply.github.com>
- Scott Dutton <scott@exussum.co.uk>
- Scott Shambarger <devel@shambarger.net>
- Sean Comeau <sean@ftlnetworks.ca>
- Sean Molenaar <sean@seanmolenaar.eu>
- Sebastian Döll <sebastian.doell@libasys.de>
@@ -447,7 +394,6 @@
- Sergey Shliakhov <husband.sergey@gmail.com>
- Sergio Bertolin <sbertolin@solidgear.es>
- Sergio Bertolín <sbertolin@solidgear.es>
- Serhii Shliakhov <shlyakhov.up@gmail.com>
- Sijmen Schoon <me@sijmenschoon.nl>
- Simon Könnecke <simonkoennecke@gmail.com>
- Simon L <szaimen@e.mail.de>
@@ -464,7 +410,6 @@
- Stefan Weil <sw@weilnetz.de>
- Steffen Lindner <mail@steffen-lindner.de>
- Stephan Müller <mail@stephanmueller.eu>
- Stephan Orbaugh <stephan.orbaugh@nextcloud.com>
- Stephan Peijnik <speijnik@anexia-it.com>
- Stephen Cuppett <steve@cuppett.com>
- Steven Bühner <buehner@me.com>
@@ -509,7 +454,6 @@
- Victor Dubiniuk <dubiniuk@owncloud.com>
- Viktor Szépe <viktor@szepe.net>
- Vincent Chan <plus.vincchan@gmail.com>
- Vincent Petry <pvince81@owncloud.com>
- Vincent Petry <vincent@nextcloud.com>
- Vincent Van Houtte <vvh@aplusv.be>
- Vinicius Cubas Brand <vinicius@eita.org.br>
@@ -520,7 +464,6 @@
- William <william.hak57@gmail.com>
- William Pain <pain.william@gmail.com>
- Xheni Myrtaj <myrtajxheni@gmail.com>
- Xheni Myrtaj <xheni@protonmail.com>
- Xuanwo <xuanwo@yunify.com>
- ZitronePlus <tobiasscharf92@gmail.com>
- acsfer <12234510+acsfer@users.noreply.github.com>
@@ -549,7 +492,6 @@
- duritong <peter.meier+github@immerda.ch>
- eduardo <eduardo@vnexu.net>
- eleith <online+github@eleith.com>
- enoch <lanxenet@hotmail.com>
- essys <essys@users.noreply.github.com>
- exner104 <59639860+exner104@users.noreply.github.com>
- fabian <fabian@web2.0-apps.de>
@@ -558,11 +500,8 @@
- fnuesse <felix.nuesse@t-online.de>
- fnuesse <fnuesse@techfak.uni-bielefeld.de>
- greta <gretadoci@gmail.com>
- Hector Valcarcel <hmvalcarcel@gmail.com>
- helix84 <helix84@centrum.sk>
- hkjolhede <hkjolhede@gmail.com>
- hoellen <dev@hoellen.eu>
- hosting.de, Johannes Leuker <developers@hosting.de>
- howardZa <33491519+howardZa@users.noreply.github.com>
- ideaship <ideaship@users.noreply.github.com>
- j-ed <juergen@eisfair.org>
@@ -588,7 +527,6 @@
- medcloud <42641918+medcloud@users.noreply.github.com>
- michaelletzgus <michaelletzgus@users.noreply.github.com>
- michag86 <micha_g@arcor.de>
- michag86 <michag86@arcor.de>
- mmccarn <mmccarn-github@mmsionline.us>
- nhirokinet <nhirokinet@nhiroki.net>
- nik gaffney <nik@fo.am>
@@ -619,7 +557,6 @@
- szaimen <szaimen@e.mail.de>
- tbartenstein <tbartenstein@users.noreply.github.com>
- tbelau666 <thomas.belau@gmx.de>
- TechnicalSuwako <suwako@076.moe>
- tgrant <tom.grant760@gmail.com>
- timm2k <timm2k@gmx.de>
- tux-rampage <tux-rampage@users.noreply.github.com>
@@ -629,9 +566,6 @@
- zorn-v <zorn7@yandex.ru>
- zulan <git@zulan.net>
- Łukasz Buśko <busko.lukasz@pm.me>
- Nextcloud GmbH
- ownCloud GmbH
- ownCloud, Inc.
With help from many libraries and frameworks including:
Open Collaboration Services
+1 -5
View File
@@ -1,8 +1,4 @@
<!--
- SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
- SPDX-License-Identifier: AGPL-3.0-or-later
-->
Changelog
=========
The change log is at [https://nextcloud.com/changelog/](https://nextcloud.com/changelog/).
The change log is at [https://nextcloud.com/changelog/](https://nextcloud.com/changelog/).

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