Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
3850 commits
Select commit Hold shift + click to select a range
215ec48
fix(l10n): Update translations from Transifex
nextcloud-bot May 29, 2025
0d49e96
Merge branch 'stable31' into backport/52752/stable31
May 29, 2025
dbb41c7
chore(assets): Recompile assets
nextcloud-command May 29, 2025
f8c75a1
Merge pull request #53128 from nextcloud/backport/52752/stable31
provokateurin May 29, 2025
a515ec5
build(deps-dev): bump cypress-split from 1.24.14 to 1.24.17
dependabot[bot] May 26, 2025
a509b34
fix(files_versions): "undefined restored" on restore
xlejo May 28, 2025
f85ccc2
Merge pull request #52827 from nextcloud/dependabot/npm_and_yarn/stab…
dependabot[bot] May 29, 2025
20c7adb
build(deps-dev): bump @babel/plugin-transform-private-methods
dependabot[bot] May 29, 2025
be140c1
chore: compile assets
skjnldsv May 29, 2025
ba6d74b
fix(share): assume download enabled on federated share
ArtificialOwl Apr 29, 2025
df14893
fix(metadata): set background job on fresh setup
ArtificialOwl Apr 23, 2025
51270d8
build(deps-dev): bump phpunit/phpunit in /build/integration
dependabot[bot] May 3, 2025
cac1f47
chore(assets): Recompile assets
nextcloud-command May 29, 2025
c0a5ae8
Merge pull request #52683 from nextcloud/backport/52543/stable31
AndyScherzinger May 29, 2025
7e61733
Merge pull request #52603 from nextcloud/dependabot/npm_and_yarn/stab…
dependabot[bot] May 29, 2025
d41580a
build(deps-dev): bump @babel/preset-typescript from 7.27.0 to 7.27.1
dependabot[bot] May 29, 2025
bf6cc09
Merge pull request #52600 from nextcloud/dependabot/npm_and_yarn/stab…
dependabot[bot] May 29, 2025
595e2b5
Merge pull request #52598 from nextcloud/dependabot/composer/build/in…
dependabot[bot] May 29, 2025
44dff6d
build(deps): bump core-js from 3.41.0 to 3.42.0
dependabot[bot] May 6, 2025
63e934d
chore(assets): Recompile assets
nextcloud-command May 29, 2025
2a5b17b
Merge pull request #52605 from nextcloud/dependabot/npm_and_yarn/stab…
AndyScherzinger May 29, 2025
07530f7
Merge pull request #53182 from nextcloud/backport/53147/stable31
skjnldsv May 29, 2025
f1ad76b
chore(deps-dev): Bump sass from 1.87.0 to 1.89.0
dependabot[bot] May 17, 2025
2725c77
Merge pull request #52920 from nextcloud/dependabot/npm_and_yarn/stab…
AndyScherzinger May 29, 2025
b7fd8c1
Merge pull request #52673 from nextcloud/backport/52375/stable31
provokateurin May 29, 2025
75f1094
fix(l10n): Update translations from Transifex
nextcloud-bot May 30, 2025
2ebb0c6
fix(security): Update code signing revocation list
nextcloud-command May 30, 2025
47ffc05
Merge pull request #53199 from nextcloud/automated/noid/stable31-upda…
AndyScherzinger May 30, 2025
4c83a8b
fix(user_status): Avoid unique constraint violations from parallel he…
nickvergessen May 30, 2025
2aced4a
fix: log error when writing stream to dav file
icewind1991 May 27, 2025
ad3f882
Merge pull request #53204 from nextcloud/backport/53198/stable31
AndyScherzinger May 30, 2025
94ad4fc
Merge pull request #53207 from nextcloud/backport/53145/stable31
provokateurin May 30, 2025
29a09a4
fix(l10n): Update translations from Transifex
nextcloud-bot May 31, 2025
fa0c87b
build(deps-dev): bump sass from 1.89.0 to 1.89.1
dependabot[bot] May 31, 2025
7129eb4
build(deps-dev): bump stylelint from 16.19.1 to 16.20.0
dependabot[bot] May 31, 2025
cd1e013
Merge pull request #53218 from nextcloud/dependabot/npm_and_yarn/stab…
dependabot[bot] May 31, 2025
cf8376c
test: ignore git-ignored files from tests
susnux Apr 22, 2025
f6b98c1
build(deps): bump query-string from 9.1.2 to 9.2.0
dependabot[bot] May 31, 2025
a113b5e
Merge pull request #53219 from nextcloud/dependabot/npm_and_yarn/stab…
dependabot[bot] May 31, 2025
3096146
Merge pull request #53232 from nextcloud/backport/52298/stable31
susnux May 31, 2025
a675db9
Merge pull request #53215 from nextcloud/dependabot/npm_and_yarn/stab…
susnux May 31, 2025
b82605c
build(deps): bump moment-timezone from 0.5.48 to 0.6.0
dependabot[bot] May 31, 2025
2d97d1c
Merge pull request #53216 from nextcloud/dependabot/npm_and_yarn/stab…
dependabot[bot] May 31, 2025
5e3396f
build(deps): bump focus-trap from 7.6.4 to 7.6.5
dependabot[bot] May 31, 2025
d090627
Merge pull request #53217 from nextcloud/dependabot/npm_and_yarn/stab…
dependabot[bot] May 31, 2025
073ce3b
build(deps): bump @nextcloud/vue from 8.26.1 to 8.27.0
dependabot[bot] May 31, 2025
dad5132
test: adjust unit tests for updated library
susnux May 31, 2025
5b7e02a
test: adjust cypress tests to be less flaky
susnux May 31, 2025
c680411
chore(assets): Recompile assets
nextcloud-command May 31, 2025
ce04121
Merge pull request #53214 from nextcloud/dependabot/npm_and_yarn/stab…
dependabot[bot] May 31, 2025
6155ee4
build(deps): bump @nextcloud/dialogs from 6.1.1 to 6.2.0
dependabot[bot] May 28, 2025
a3af69b
Merge pull request #52602 from nextcloud/dependabot/npm_and_yarn/stab…
dependabot[bot] May 31, 2025
6b7bee2
build(deps): bump @nextcloud/upload from 1.9.1 to 1.10.0
dependabot[bot] May 31, 2025
5897bd4
Merge pull request #52714 from nextcloud/dependabot/npm_and_yarn/stab…
dependabot[bot] May 31, 2025
ac5b632
fix(l10n): Update translations from Transifex
nextcloud-bot Jun 1, 2025
e649bde
build(deps): bump @nextcloud/auth from 2.4.0 to 2.5.1
dependabot[bot] May 14, 2025
155867a
fix(profile): do not restore previous value on invalid request
skjnldsv May 29, 2025
8b81a8e
fix(profile): keep error status persistent until valid
skjnldsv Jun 1, 2025
5733dab
chore(assets): Recompile assets
nextcloud-command Jun 1, 2025
21c5eb8
Merge pull request #53240 from nextcloud/backport/53178/stable31
skjnldsv Jun 1, 2025
7178bb7
fix(files): do nothing if `view local` dialog was just closed
susnux May 28, 2025
1b6b357
chore(assets): Recompile assets
nextcloud-command Jun 1, 2025
6250aa9
Merge pull request #52826 from nextcloud/dependabot/npm_and_yarn/stab…
dependabot[bot] Jun 1, 2025
3c6dfa9
Merge pull request #53177 from nextcloud/backport/53171/stable31
AndyScherzinger Jun 1, 2025
6932280
fix: do not show account filter for public shares
susnux Apr 29, 2025
9780370
chore(assets): Recompile assets
nextcloud-command Jun 1, 2025
26d52cc
Merge pull request #52888 from nextcloud/backport/52533/stable31
nfebe Jun 1, 2025
424a440
fix(systemtags): fix translations for systemtags view
kesselb Jun 1, 2025
081dbc2
chore(assets): Recompile assets
nextcloud-command Jun 1, 2025
45bfd44
Merge pull request #53245 from nextcloud/backport/53244/stable31
AndyScherzinger Jun 1, 2025
ae25d91
fix(l10n): Update translations from Transifex
nextcloud-bot Jun 2, 2025
22df9d1
fix(NewUserDialog): retrieve available groups from the store
Antreesy May 12, 2025
bcc001e
fix(UserRow): retrieve available groups from the store
Antreesy May 12, 2025
495c0e3
fix(AppNavigationGroupList): restore navigation panel and search/filt…
Antreesy May 12, 2025
c2cb4ec
chore(assets): Recompile assets
nextcloud-command Jun 2, 2025
9d26571
fix(S3): Use original folder size during copy
artonge May 16, 2025
edfb7b2
perf: set the folder size in the same query as we create it
icewind1991 May 27, 2025
5f45b4f
test: add test that object store folder copy preserves folder size
icewind1991 May 27, 2025
1c96d26
Merge pull request #53248 from nextcloud/backport/52776/stable31
susnux Jun 2, 2025
72b6aae
Merge pull request #53253 from nextcloud/backport/52242/stable31
artonge Jun 2, 2025
d447edf
perf(carddav): don't query circle memberships
st3iny Apr 16, 2025
6ea5127
fix(PreviewManager): use the forced mimetype in throwIfPreviewsDisabled
julien-nc May 30, 2025
98c055f
fix(settings): Send update request when clearing user manager
nfebe May 14, 2025
11bdcbe
fix: correctly unset account manager
susnux May 14, 2025
6048e39
fix(settings): Prevent double request on manager change
nfebe May 15, 2025
ead8888
test(settings): Test user manager can be set and unset
nfebe May 15, 2025
c37f73a
chore(assets): Recompile assets
nextcloud-command May 22, 2025
474ee3a
fix: Use logger correctly in UserRow.vue
nfebe May 22, 2025
67d84a8
chore(assets): Recompile assets
nextcloud-command Jun 2, 2025
223cc9f
fix(l10n): Update translations from Transifex
nextcloud-bot Jun 3, 2025
f807cd9
Merge pull request #53270 from nextcloud/backport/53205/stable31
julien-nc Jun 3, 2025
dfcac10
Merge pull request #53051 from nextcloud/backport/52833/stable31
nfebe Jun 3, 2025
10b07b6
test: files_sharing add test for LoadAdditionalListener
printminion-co May 22, 2025
cb78926
IONOS(files-sharing): show pending menu only if feature enabled
printminion-co May 22, 2025
90f95d4
feat: link upcoming event to calendar app modal
Antreesy Jun 2, 2025
3ca5423
feat: add --unscanned option to files_external:scan
icewind1991 Jun 2, 2025
de2f721
fix: handle IDLE timeout
susnux May 27, 2025
6238590
fix(TaskProcessingApiController): use StreamResponse to return the ta…
oleksandr-nc Jun 3, 2025
b749166
build(deps): bump tar-fs from 2.1.2 to 2.1.3
AndyScherzinger Jun 3, 2025
bebe837
fix(provisioning_api): Allow group details access for users with admi…
nfebe Jun 3, 2025
b0b1f91
fix: new account quota value
SebastianKrupinski Jun 2, 2025
3e457ac
chore(assets): Recompile assets
nextcloud-command Jun 2, 2025
6ac68ba
chore(assets): Recompile assets
nextcloud-command Jun 3, 2025
40ba251
Merge pull request #53286 from nextcloud/backport/53274/stable31
Antreesy Jun 3, 2025
ad2470b
Merge pull request #53297 from nextcloud/backport/53292/stable31
provokateurin Jun 3, 2025
e8341af
Merge pull request #53303 from nextcloud/backport/53273/stable31
st3iny Jun 3, 2025
78908d7
Merge pull request #53298 from nextcloud/dependabot/npm_and_yarn/stab…
provokateurin Jun 3, 2025
706f450
Merge pull request #53293 from nextcloud/backport/53264/stable31
icewind1991 Jun 3, 2025
e982326
Merge pull request #53302 from nextcloud/backport/53275/stable31
nfebe Jun 3, 2025
a2358fb
fix(l10n): Update translations from Transifex
nextcloud-bot Jun 4, 2025
b8591e6
fix(files): highlight previous folder on history up
skjnldsv Jun 3, 2025
e69d68b
chore(assets): Recompile assets
nextcloud-command Jun 4, 2025
b00e21d
Merge pull request #53309 from nextcloud/backport/53285/stable31
skjnldsv Jun 4, 2025
cccb561
build(hub): 31.0.6 RC1
Jun 4, 2025
ff49774
Merge pull request #53290 from nextcloud/backport/53277/stable31
oleksandr-nc Jun 4, 2025
4420ca0
Merge pull request #53266 from nextcloud/backport/52215/stable31
AndyScherzinger Jun 4, 2025
9b9daf3
perf(dashboard): lags on dashboard items drag
ShGKme Oct 23, 2023
8b74b04
chore(assets): Recompile assets
nextcloud-command Jun 4, 2025
0a6a0b6
Merge pull request #53256 from nextcloud/backport/41065/stable31
AndyScherzinger Jun 4, 2025
9fd3656
fix(l10n): Update translations from Transifex
nextcloud-bot Jun 5, 2025
e318a01
fix(security): Update code signing revocation list
nextcloud-command Jun 5, 2025
8f2d3fc
fix(dav): file drop nickname
skjnldsv May 28, 2025
e46c36a
fix(files_sharing): show message when nickname is not valid
skjnldsv May 28, 2025
ccea5df
chore(assets): Recompile assets
nextcloud-command Jun 5, 2025
cea3178
Merge pull request #53337 from nextcloud/automated/noid/stable31-upda…
nickvergessen Jun 5, 2025
14b0e5d
Merge pull request #53278 from nextcloud/fix/dav-nickname-stable31
skjnldsv Jun 5, 2025
0f03957
Merge pull request #53316 from nextcloud/release/31.0.6_rc1
skjnldsv Jun 5, 2025
8ee36d7
fix(workflows): releases changelog generator tags handling
skjnldsv Jun 5, 2025
5e47e12
Merge pull request #53344 from nextcloud/backport/53341/stable31
skjnldsv Jun 5, 2025
359000c
fix(l10n): Update translations from Transifex
nextcloud-bot Jun 6, 2025
1fb6859
Revert "[stable31] fix: hide guests group from principal backend"
skjnldsv Jun 6, 2025
27dcaa5
Merge pull request #53371 from nextcloud/revert-53077-backport/52914/…
skjnldsv Jun 6, 2025
36d0311
build(hub): 31.0.6 RC2
Jun 6, 2025
730a064
Merge pull request #53375 from nextcloud/release/31.0.6_rc2
skjnldsv Jun 6, 2025
7dced2a
fix(l10n): Update translations from Transifex
nextcloud-bot Jun 7, 2025
5a5d3bd
fix(l10n): Update translations from Transifex
nextcloud-bot Jun 8, 2025
ee088fc
fix(l10n): Update translations from Transifex
nextcloud-bot Jun 9, 2025
42b216e
chore(workflows): add auto stable PR title update
skjnldsv Jun 7, 2025
56fbeef
fix(l10n): Update translations from Transifex
nextcloud-bot Jun 10, 2025
5cddf5a
Merge pull request #53407 from nextcloud/backport/53398/stable31
skjnldsv Jun 10, 2025
5a9abdf
build(hub): 31.0.6
Jun 10, 2025
fc52d93
IONOS(config): update submodules (fix upload progress)
printminion-co Jun 10, 2025
ba1fcca
fix(l10n): Update translations from Transifex
nextcloud-bot Jun 11, 2025
111c919
fix(l10n): Update translations from Transifex
nextcloud-bot Jun 12, 2025
37536c1
Merge pull request #53413 from nextcloud/release/31.0.6
Altahrim Jun 12, 2025
4ef9ece
IONOS(simplesettings): submodule update (add in-folder-search)
tanyaka Jun 12, 2025
03aff15
IONOS(config): add files_downloadlimit submodule and update .gitignore
printminion-co Jun 18, 2025
7e474f1
IONOS(simplesettings): submodule update (workflows, refactor core code)
tanyaka Jun 18, 2025
4d40a20
IONOS(nc_theming): update submodule (image editor styles)
fracado May 26, 2025
705b284
IONOS(config): update submodule (hide template creation option)
tanyaka May 28, 2025
0734c77
test: files_sharing add test for LoadAdditionalListener
printminion-co May 22, 2025
9afff18
IONOS(files-sharing): show pending menu only if feature enabled
printminion-co May 22, 2025
0164e50
IONOS(config): update submodules (fix upload progress)
printminion-co Jun 10, 2025
594ca21
IONOS(simplesettings): submodule update (add in-folder-search)
tanyaka Jun 12, 2025
8a959a7
IONOS(config): add files_downloadlimit submodule and update .gitignore
printminion-co Jun 18, 2025
cf19e2a
IONOS(simplesettings): submodule update (workflows, refactor core code)
tanyaka Jun 18, 2025
1a19b2f
Merge tag 'v31.0.6' into tmp/update-to-v31.0.6-20250702100826
printminion-co Jul 3, 2025
e8c8112
IONOS: fix(sidebar): correct aria-label for storage information
printminion-co Jul 3, 2025
64f5ea8
IONOS: fix(sidebar): replace margin-left with margin-inline-start for…
printminion-co Jul 3, 2025
96495fb
IONOS: fix(sidebar): update deep selector syntax for better compatibi…
printminion-co Jul 3, 2025
6985959
IONOS(nc-nextcloud-vue): submodule update to v8.26.1 4b74a20
printminion-co Jul 4, 2025
4d8affc
IONOS: Update package-lock.json file
printminion-co Jul 4, 2025
eee6a26
IONOS(simplesettings): submodule update for v31.0.6 commit ff24694
printminion-co Jul 4, 2025
dc6580b
IONOS(files_downloadlimit): submodule update to v31.0.6 commit 045dbe9
printminion-co Jul 4, 2025
6e8c691
IONOS(richdocuments): submodule update to v31.0.6 commit a0cc10c
printminion-co Jul 4, 2025
2599122
IONOS(serverinfo): submodule update to v31.0.6 commit a3fd4aa
printminion-co Jul 4, 2025
ffbf48a
IONOS(viewer): submodule update to v31.0.6 commit c29e117
printminion-co Jul 4, 2025
946c123
IONOS(nc_theming): submodule update for v31.0.6 commit 0fb9497
printminion-co Jul 4, 2025
76e6641
IONOS(googleanalytics): submodule update to cbba841
printminion-co Jul 4, 2025
e8638fc
IONOS(config): submodule update to 872e7aa
printminion-co Jul 7, 2025
01c2817
IONOS(nc_ionos_processes): submodule update to 56f4781
printminion-co Jul 9, 2025
cd6bb24
Merge pull request #190 from IONOS-Productivity/mk/dev/update-to-v31.…
printminion-co Jul 14, 2025
eebb5ac
IONOS(nc_theming): submodule update to 31a5614
printminion-co Jul 16, 2025
106a4d9
IONOS: Update package-lock. Fix @volar invalid lock file
printminion-co Jul 16, 2025
5e8c896
IONOS: Update package-lock. Fix @volar version satisfaction
printminion-co Jul 18, 2025
cbca0ad
IONOS(ci): Update hidrive-next-build.yml to use ubuntu-latest runner
printminion-co Jul 22, 2025
8d1a167
IONOS(nc-ionos-theme): submodule update to 4cc7599
printminion-co Jul 18, 2025
f5f922f
IONOS(config): submodule update to 2eab73d
printminion-co Aug 8, 2025
1326a18
IONOS(nc-vue-material-design-icons): submodule update to 0f588c
printminion-co Aug 8, 2025
b8675e4
IONOS: Reset package.json, package-lock.json to v31.0.6 state
printminion-co Aug 11, 2025
d46e924
IONOS: Re-link custom-npms submodules to v31.0.6 state
printminion-co Aug 11, 2025
7281ba0
fix(search): Fix SearchComposer.php filtering logic
printminion-co Jul 28, 2025
ab73f3f
test(SearchComposerTest): add unit tests for SearchComposer
printminion-co Jul 29, 2025
04c5569
test(SearchComposerTest): add test for handling unknown search provider
printminion-co Jul 29, 2025
6adc5d1
test(SearchComposerTest): add unit test for getProviders with multipl…
printminion-co Jul 29, 2025
e4be9e6
test(SearchComposerTest): add test for provider icon generation
printminion-co Jul 30, 2025
2cf3823
test(SearchComposerTest): add unit tests for getProviders with allowe…
printminion-co Jul 29, 2025
455188e
test(SearchComposerTest): add unit test for getProviders with mixed o…
printminion-co Jul 30, 2025
183c6da
IONOS(nc-ionos-theme): submodule update to 2463c23
printminion-co Aug 5, 2025
840fb85
IONOS(sbom-matrix): add SBOM generation workflow
printminion-co Jul 17, 2025
ca62cba
IONOS(apps-custom/simplesettings): submodule update to acd86b23ad0
tanyaka Sep 5, 2025
2a1daa4
IONOS(pipelines): update branch names to include version v30 in workf…
printminion-co May 28, 2026
1b1074c
IONOS(ci): Update hidrive-next-build.yml to use ubuntu-latest runner
printminion-co Jul 22, 2025
aa8884b
IONOS(build): inject build number as 5th version component
printminion-co Apr 7, 2026
9bf05c2
IONOS(ci): add prerequisites check step to GitLab trigger job
printminion-co Apr 1, 2026
29e3a76
IONOS(ci): fix typo in trigger-remote-dev-workflow name
printminion-co May 28, 2026
875facd
IONOS(ci): fail fast when JFrog secrets are missing in artifactory job
printminion-co May 28, 2026
3f2cfb6
IONOS(ci): attach job.html_url to JFrog upload via get-job-data action
printminion-co May 28, 2026
db0e2a7
IONOS(ci): retry artifactory upload up to 3 times with exponential ba…
printminion-co May 28, 2026
ce4c023
IONOS(ci): bump CI action versions
printminion-co May 13, 2026
64d521d
IONOS(ci): build rc/** + */dev/* branches with restructured JFrog paths
printminion-co May 12, 2026
49d5cad
IONOS(ci): centralize v30 branch version in NC_BRANCH_VERSION env var
printminion-co Jun 2, 2026
6ff051c
IONOS(config): update submodule to 0433046 (snapshot of v30 config)
printminion-co Jun 3, 2026
62c7e1d
Merge pull request #253 from IONOS-Productivity/mk/dev/set_v30_branch…
printminion-co Jun 3, 2026
b630507
IONOS(config): update submodule to a952b04 (add .buildnumber)
printminion-co Jun 4, 2026
4077ace
IONOS(simplesettings): update submodule to v30.0.7-dd8100f (add Linux…
tanyaka Jun 5, 2026
4489e3f
IONOS(config): update submodule (add market url as config partial)
bromiesTM Jun 5, 2026
bdf2c91
IONOS(user_oidc): update submodule to v8.10.1
printminion-co Jun 5, 2026
14efde3
IONOS(ci): Pin workflow action versions
bromiesTM Jun 3, 2026
5e3044b
IONOS(sbom-matrix): add SBOM generation workflow
printminion-co Jul 17, 2025
3ce7a23
IONOS(ci): Pin sbom workflow actions to commit SHAs
bromiesTM Jun 3, 2026
2f6c591
IONOS(ci): fix pre-existing action pin issues in hidrive-next-build.yml
printminion-co Jun 5, 2026
d0d9fae
IONOS(config): update submodule to 43b41c6 (backport LoginFlowV2 OIDC…
printminion-co Jun 8, 2026
5a8528e
IONOS(user_oidc): downgrade to v8.6.1 to restore LFv2 bearer auth (HD…
printminion-co Jun 9, 2026
abb4227
IONOS(config): update submodule to fd4ec1 (revert "feat: Add MS Offic…
tanyaka Jun 10, 2026
0f5387f
IONOS(config): update submodule to 4dfbfa9 (add WOPI allowlist config…
tanyaka Jun 12, 2026
e91284b
IONOS(ci): pass SOURCE_BUILD_URL to GitLab pipeline trigger
printminion-co Jun 12, 2026
e5d9cd6
IONOS(ci): restore curl command logging in trigger-remote-dev-workflow
printminion-co Jun 12, 2026
db5d493
IONOS(custom-npms): remove FA
tanyaka Apr 28, 2026
a16939b
IONOS(package): replace with nextcloud/server v30.0.7 files
bromiesTM Jun 17, 2026
ab38018
IONOS(ci): remove FONTAWESOME_PACKAGE_TOKEN and custom-npm install steps
tanyaka Apr 28, 2026
62be10b
fix(core): remove custom-npms SVG icon map for FA icons
tanyaka Apr 28, 2026
5fdbc5c
IONOS: update submodule after FA removal
bromiesTM Jun 17, 2026
53b798a
IONOS(notify_push): add submodule at v1.3.3
bromiesTM Jun 15, 2026
9cd1e52
IONOS(config): update submodule (add notify_push app build target)
bromiesTM Jun 15, 2026
75a1bc3
IONOS(ci): Add notify_push app build step to HiDrive Next build workflow
bromiesTM Jun 15, 2026
ce65863
IONOS(theme,config): update submodules for Login & Security menu item
tanyaka Jun 23, 2026
e8bb35b
IONOS(config): update submodule (move preview provider to helm repo)
seriAlizations Jun 23, 2026
5899d57
IONOS(config): update submodule (configure notify push)
bromiesTM Jul 1, 2026
308299e
IONOS(config): update submodule (set backchannel logout params)
bromiesTM Jul 1, 2026
5779f76
refactor(sharebymail): extract createEMailTemplate params into $templ…
printminion-co Jun 15, 2026
0b58bfe
IONOS(sharebymail): add BeforeShare*MailSentEvent dispatched before e…
printminion-co Jun 15, 2026
c751d11
IONOS(sharebymail): add Event classes to composer autoload_static cla…
tanyaka Jun 25, 2026
c7d90ff
IONOS(sharebymail): fix ShareByMailProviderTest broken by templateDat…
tanyaka Jun 25, 2026
75a54c5
IONOS(sharebymail): add test coverage for BeforeShareNoteMailSentEven…
tanyaka Jun 26, 2026
3f0f6ba
IONOS(sharebymail): fix createPasswordSendActivity firing when mail i…
tanyaka Jun 30, 2026
4a6159d
IONOS(nc_ionos_processes): update submodule to 9501a5e (send email fo…
printminion-co Jun 15, 2026
bf8de4e
IONOS(config): update submodule (configure backchannel logout in user…
bromiesTM Jul 6, 2026
7496ee3
IONOS(ci): Allow rc branches in artifactory push job
bromiesTM Jul 9, 2026
a3c6587
Merge remote-tracking branch 'origin/rc/web-3.5' into ionos-dev-v31
bromiesTM Jul 13, 2026
1f03baf
IONOS(ci): Generalize branch matching and bump NC v31
bromiesTM Jul 13, 2026
db4bc90
IONOS(ci): run remote workflow for dev instances
bromiesTM Jul 13, 2026
3474ca7
IONOS(npm): update package.json dep tree
bromiesTM Jul 13, 2026
7f30382
IONOS(viewer/simplesetting): update submodules (v31 package.json)
bromiesTM Jul 13, 2026
0840179
IONOS(themes): update submodule (new lockfile)
bromiesTM Jul 13, 2026
6ba44f6
Merge remote-tracking branch 'origin/ionos-dev-v31' into kh/dev/impor…
bromiesTM Jul 20, 2026
23dac12
IONOS(notify_push): add submodule at v1.3.3
bromiesTM Jun 15, 2026
b28770a
IONOS(simplesettings): update submodule (migrate to vite)
bromiesTM Jul 21, 2026
23adf56
IONOS(fix): remove douplicated import
bromiesTM Jul 21, 2026
27deb18
IONOS(config): update submodule (fix occ usage issue)
bromiesTM Jul 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
127 changes: 94 additions & 33 deletions .github/workflows/hidrive-next-build.yml

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -40,3 +40,6 @@
[submodule "IONOS"]
path = IONOS
url = git@github.com:IONOS-Productivity/nc-config.git
[submodule "apps-external/notify_push"]
path = apps-external/notify_push
url = git@github.com:nextcloud/notify_push.git
18 changes: 18 additions & 0 deletions __tests__/FixJSDOMEnvironment.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
/**
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import JSDOMEnvironment from 'jest-environment-jsdom'

// https://github.com/facebook/jest/blob/v29.4.3/website/versioned_docs/version-29.4/Configuration.md#testenvironment-string
export default class FixJSDOMEnvironment extends JSDOMEnvironment {

constructor(...args: ConstructorParameters<typeof JSDOMEnvironment>) {
super(...args)

// https://github.com/jsdom/jsdom/issues/3363
// 31 ad above switched to vitest and don't have that issue
this.global.structuredClone = structuredClone
}

}
1 change: 1 addition & 0 deletions apps-external/notify_push
Submodule notify_push added at 20eec4
20 changes: 19 additions & 1 deletion apps/dav/lib/CalDAV/CalDavBackend.php
Original file line number Diff line number Diff line change
Expand Up @@ -396,7 +396,7 @@ public function getCalendarsForUser($principalUri) {
$subSelect->select('resourceid')
->from('dav_shares', 'd')
->where($subSelect->expr()->eq('d.access', $select->createNamedParameter(Backend::ACCESS_UNSHARED, IQueryBuilder::PARAM_INT), IQueryBuilder::PARAM_INT))
->andWhere($subSelect->expr()->in('d.principaluri', $select->createNamedParameter($principals, IQueryBuilder::PARAM_STR_ARRAY), IQueryBuilder::PARAM_STR_ARRAY));
->andWhere($subSelect->expr()->eq('d.principaluri', $select->createNamedParameter($principalUri, IQueryBuilder::PARAM_STR), IQueryBuilder::PARAM_STR));

$select->select($fields)
->from('dav_shares', 's')
Expand Down Expand Up @@ -1543,6 +1543,7 @@ public function moveCalendarObject(string $sourcePrincipalUri, int $sourceObject
$targetShares = $this->getShares($targetCalendarId);
$sourceCalendarRow = $this->getCalendarById($sourceCalendarId);
$this->dispatcher->dispatchTyped(new CalendarObjectMovedEvent($sourceCalendarId, $sourceCalendarRow, $targetCalendarId, $targetCalendarRow, $sourceShares, $targetShares, $object));
$this->dispatcher->dispatchTyped(new LegacyCalendarObjectMovedEvent($sourceCalendarId, $sourceCalendarRow, $targetCalendarId, $targetCalendarRow, $sourceShares, $targetShares, $object));
}
return true;
}, $this->db);
Expand Down Expand Up @@ -1582,6 +1583,7 @@ public function deleteCalendarObject($calendarId, $objectUri, $calendarType = se
$shares = $this->getShares($calendarId);

$this->dispatcher->dispatchTyped(new CalendarObjectDeletedEvent($calendarId, $calendarRow, $shares, $data));
$this->dispatcher->dispatchTyped(new LegacyCalendarObjectDeletedEvent($calendarId, $calendarRow, $shares, $data));
} else {
$subscriptionRow = $this->getSubscriptionById($calendarId);

Expand Down Expand Up @@ -1631,6 +1633,14 @@ public function deleteCalendarObject($calendarId, $objectUri, $calendarType = se
$data
)
);
$this->dispatcher->dispatchTyped(
new LegacyCalendarObjectMovedToTrashEvent(
$calendarId,
$calendarData,
$this->getShares($calendarId),
$data
)
);
}
}

Expand Down Expand Up @@ -1690,6 +1700,14 @@ public function restoreCalendarObject(array $objectData): void {
$row
)
);
$this->dispatcher->dispatchTyped(
new LegacyCalendarObjectRestoredEvent(
(int)$objectData['calendarid'],
$calendarRow,
$this->getShares((int)$row['calendarid']),
$row
)
);
}, $this->db);
}

Expand Down
2 changes: 1 addition & 1 deletion apps/dav/lib/CardDAV/CardDavBackend.php
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ public function getAddressBooksForUser($principalUri) {
$subSelect->select('id')
->from('dav_shares', 'd')
->where($subSelect->expr()->eq('d.access', $select->createNamedParameter(\OCA\DAV\CardDAV\Sharing\Backend::ACCESS_UNSHARED, IQueryBuilder::PARAM_INT), IQueryBuilder::PARAM_INT))
->andWhere($subSelect->expr()->in('d.principaluri', $select->createNamedParameter($principals, IQueryBuilder::PARAM_STR_ARRAY), IQueryBuilder::PARAM_STR_ARRAY));
->andWhere($subSelect->expr()->eq('d.principaluri', $select->createNamedParameter($principalUri, IQueryBuilder::PARAM_STR), IQueryBuilder::PARAM_STR));


$select->select(['a.id', 'a.uri', 'a.displayname', 'a.principaluri', 'a.description', 'a.synctoken', 's.access'])
Expand Down
9 changes: 9 additions & 0 deletions apps/dav/lib/Connector/Sabre/PublicAuth.php
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,15 @@ public function check(RequestInterface $request, ResponseInterface $response): a
),
);
throw $e;
} catch (PreconditionFailed $e) {
$response->setHeader(
'Location',
$this->urlGenerator->linkToRoute(
'files_sharing.share.showShare',
[ 'token' => $this->getToken() ],
),
);
throw $e;
} catch (\Exception $e) {
$class = get_class($e);
$msg = $e->getMessage();
Expand Down
2 changes: 2 additions & 0 deletions apps/dav/tests/unit/Connector/Sabre/BearerAuthTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ class BearerAuthTest extends TestCase {

private IConfig&MockObject $config;

private IConfig&MockObject $config;

protected function setUp(): void {
parent::setUp();

Expand Down
74 changes: 74 additions & 0 deletions apps/files/openapi.json
Original file line number Diff line number Diff line change
Expand Up @@ -1496,6 +1496,80 @@
}
}
},
"/ocs/v2.php/apps/files/api/v1/templates/fields/{fileId}": {
"get": {
"operationId": "template-list-template-fields",
"summary": "List the fields for the template specified by the given file ID",
"tags": [
"template"
],
"security": [
{
"bearer_auth": []
},
{
"basic_auth": []
}
],
"parameters": [
{
"name": "fileId",
"in": "path",
"description": "File ID of the template",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "OCS-APIRequest",
"in": "header",
"description": "Required to be true for the API request to pass",
"required": true,
"schema": {
"type": "boolean",
"default": true
}
}
],
"responses": {
"200": {
"description": "Fields returned",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/TemplateField"
}
}
}
}
}
}
}
}
}
}
}
},
"/ocs/v2.php/apps/files/api/v1/templates/create": {
"post": {
"operationId": "template-create",
Expand Down
161 changes: 161 additions & 0 deletions apps/files/src/views/DialogConfirmFileExtension.cy.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,161 @@
/*!
* SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import { createTestingPinia } from '@pinia/testing'
import DialogConfirmFileExtension from './DialogConfirmFileExtension.vue'
import { useUserConfigStore } from '../store/userconfig'

describe('DialogConfirmFileExtension', () => {
it('renders with both extensions', () => {
cy.mount(DialogConfirmFileExtension, {
propsData: {
oldExtension: '.old',
newExtension: '.new',
},
global: {
plugins: [createTestingPinia({
createSpy: cy.spy,
})],
},
})

cy.findByRole('dialog')
.as('dialog')
.should('be.visible')
cy.get('@dialog')
.findByRole('heading')
.should('contain.text', 'Change file extension')
cy.get('@dialog')
.findByRole('checkbox', { name: /Do not show this dialog again/i })
.should('exist')
.and('not.be.checked')
cy.get('@dialog')
.findByRole('button', { name: 'Keep .old' })
.should('be.visible')
cy.get('@dialog')
.findByRole('button', { name: 'Use .new' })
.should('be.visible')
})

it('renders without old extension', () => {
cy.mount(DialogConfirmFileExtension, {
propsData: {
newExtension: '.new',
},
global: {
plugins: [createTestingPinia({
createSpy: cy.spy,
})],
},
})

cy.findByRole('dialog')
.as('dialog')
.should('be.visible')
cy.get('@dialog')
.findByRole('button', { name: 'Keep without extension' })
.should('be.visible')
cy.get('@dialog')
.findByRole('button', { name: 'Use .new' })
.should('be.visible')
})

it('renders without new extension', () => {
cy.mount(DialogConfirmFileExtension, {
propsData: {
oldExtension: '.old',
},
global: {
plugins: [createTestingPinia({
createSpy: cy.spy,
})],
},
})

cy.findByRole('dialog')
.as('dialog')
.should('be.visible')
cy.get('@dialog')
.findByRole('button', { name: 'Keep .old' })
.should('be.visible')
cy.get('@dialog')
.findByRole('button', { name: 'Remove extension' })
.should('be.visible')
})

it('emits correct value on keep old', () => {
cy.mount(DialogConfirmFileExtension, {
propsData: {
oldExtension: '.old',
newExtension: '.new',
},
global: {
plugins: [createTestingPinia({
createSpy: cy.spy,
})],
},
}).as('component')

cy.findByRole('dialog')
.as('dialog')
.should('be.visible')
cy.get('@dialog')
.findByRole('button', { name: 'Keep .old' })
.click()
cy.get('@component')
.its('wrapper')
.should((wrapper) => expect(wrapper.emitted('close')).to.eql([[false]]))
})

it('emits correct value on use new', () => {
cy.mount(DialogConfirmFileExtension, {
propsData: {
oldExtension: '.old',
newExtension: '.new',
},
global: {
plugins: [createTestingPinia({
createSpy: cy.spy,
})],
},
}).as('component')

cy.findByRole('dialog')
.as('dialog')
.should('be.visible')
cy.get('@dialog')
.findByRole('button', { name: 'Use .new' })
.click()
cy.get('@component')
.its('wrapper')
.should((wrapper) => expect(wrapper.emitted('close')).to.eql([[true]]))
})

it('updates user config when checking the checkbox', () => {
const pinia = createTestingPinia({
createSpy: cy.spy,
})

cy.mount(DialogConfirmFileExtension, {
propsData: {
oldExtension: '.old',
newExtension: '.new',
},
global: {
plugins: [pinia],
},
}).as('component')

cy.findByRole('dialog')
.as('dialog')
.should('be.visible')
cy.get('@dialog')
.findByRole('checkbox', { name: /Do not show this dialog again/i })
.check({ force: true })

cy.wrap(useUserConfigStore())
.its('update')
.should('have.been.calledWith', 'show_dialog_file_extension', false)
})
})
Loading
Loading