Benjamin Gaussorgues
aba8a7ff86
Merge pull request #57549 from nextcloud/carl/optimize-getdirectory-content
2026-01-16 14:09:14 +01:00
Andy Scherzinger
a7ea180317
Merge pull request #57576 from nextcloud/missing-cache-entry-data
...
fix: dont error on missing path_hash/checksum CacheEntry fields
2026-01-16 14:04:46 +01:00
Carl Schwan
eadcd1cc84
refactor: Use str_starts_with
...
Co-authored-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2026-01-16 10:58:16 +01:00
Stephan Orbaugh
3a9173015c
Merge pull request #57525 from nextcloud/carl/usermountcache-loop-optimization
...
perf(UserMountCache): Optimize loop
2026-01-16 10:50:27 +01:00
Louis
2716b0f6a6
Merge pull request #57292 from nextcloud/feature/54562/files-sharing-authoritative
...
feat(files_sharing): implement partial mount providers
2026-01-16 10:37:36 +01:00
Louis Chmn
b6e90acdb6
fix(DefaultSHareProvider): Specify join alias when accessing columns
...
Signed-off-by: Louis Chmn <louis@chmn.me>
2026-01-16 08:32:14 +01:00
Louis Chmn
7c9c74f4f0
feat(files_sharing): Implement partial mount providers
...
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
Signed-off-by: Louis Chmn <louis@chmn.me>
2026-01-16 08:32:14 +01:00
Ferdinand Thiessen
f7dad729e4
refactor(core): migrate web updater to Vue
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-16 00:29:19 +01:00
SebastianKrupinski
16198d2b37
feat: automated appointment creation
...
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2026-01-15 13:31:44 -05:00
Robin Appelman
a79bf069a3
fix: dont error on missing path_hash/checksum cacheentry fields
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-15 18:02:41 +01:00
Benjamin Gaussorgues
0ff8b35578
Merge pull request #57550 from nextcloud/setup-path-not-found-fallback
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Integration sqlite / changes (push) Waiting to run
Integration sqlite / integration-sqlite (master, 8.4, main, --tags ~@large files_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, capabilities_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, collaboration_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, comments_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, dav_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, federation_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, file_conversions) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, files_reminders) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, filesdrop_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, ldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, openldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, openldap_numerical_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, remoteapi_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, routing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, setup_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, sharees_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, sharing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, theming_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, videoverification_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite-summary (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis (push) Waiting to run
Psalm static code analysis / static-code-analysis-security (push) Waiting to run
Psalm static code analysis / static-code-analysis-ocp (push) Waiting to run
Psalm static code analysis / static-code-analysis-ncu (push) Waiting to run
2026-01-15 16:12:23 +01:00
Kate
3c498275e5
Merge pull request #57504 from nextcloud/implementCacheChunkGcTtl
2026-01-15 15:39:13 +01:00
Benjamin Gaussorgues
8f8b4411cd
Merge pull request #57553 from nextcloud/getMountsForPath-args
2026-01-15 14:35:51 +01:00
Louis
b9e670d1b4
Merge pull request #57552 from nextcloud/artonge/debt/files_sharing_unify_methods
...
debt(files_sharing): Unify `getSharedWithByPath` and `getSharedWith`
2026-01-15 14:21:26 +01:00
Andy Scherzinger
06b064e5f2
Merge pull request #57514 from nextcloud/carl/optimize-cacheentry
...
perf(files): Optimize CacheEntry creation
2026-01-15 12:57:42 +01:00
Carl Schwan
06827970a8
fix(cache): Handle groupfolder specific entries in cacheEntryFromData
...
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-15 11:47:59 +01:00
Carl Schwan
0b8eae7789
perf(files): Optimize CacheEntry creation
...
Avoid many copy on writes and create array only once.
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-15 11:47:41 +01:00
Robin Appelman
53b160ce9b
fix: add some extra checks for getMountsForPath arguments
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-15 11:31:54 +01:00
Robin Appelman
83ac1c6030
fix: clearify meaning of getMountsForPath arguments
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-15 11:31:54 +01:00
Louis Chmn
bba8e90c62
fix(files_sharing): Unify getSharedWithByPath and getSharedWith
...
Follow-up of https://github.com/nextcloud/server/pull/57285
This ensure that the behavior is the same and reduce code duplication.
Salvatore's version seems to be more optimized, but I prefer those change to be done separately and for both methods.
Signed-off-by: Louis Chmn <louis@chmn.me>
2026-01-15 10:22:44 +01:00
Nextcloud bot
c9ac8cfd54
fix(l10n): Update translations from Transifex
...
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-15 00:14:00 +00:00
Robin Appelman
68cdd1b1ef
fix: fallback to full user setup if we cant find the expected mount root
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-14 18:04:13 +01:00
Carl Schwan
27339601f6
perf(View): Optimize getDirectoryContent hot-loop
...
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-14 18:03:51 +01:00
Andy Scherzinger
abe5499e14
Merge pull request #57498 from nextcloud/carl/rename-imountproviderargs
...
refactor(files): Rename IMountProviderArgs
2026-01-14 17:50:43 +01:00
Robin Appelman
62d7165124
Merge pull request #57370 from nextcloud/authoritative-mount-setup
...
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Integration sqlite / changes (push) Waiting to run
Integration sqlite / integration-sqlite (master, 8.4, main, --tags ~@large files_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, capabilities_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, collaboration_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, comments_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, dav_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, federation_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, file_conversions) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, files_reminders) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, filesdrop_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, ldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, openldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, openldap_numerical_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, remoteapi_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, routing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, setup_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, sharees_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, sharing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, theming_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, videoverification_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite-summary (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis (push) Waiting to run
Psalm static code analysis / static-code-analysis-security (push) Waiting to run
Psalm static code analysis / static-code-analysis-ocp (push) Waiting to run
Psalm static code analysis / static-code-analysis-ncu (push) Waiting to run
Authoritative mount setup
2026-01-14 14:19:03 +01:00
Robin Appelman
47530ef95f
feat: add a debug config option to disable authoritative mount optimizations
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-14 13:03:01 +01:00
Robin Appelman
e5497c7731
fix: protect against infinite loops in setup
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-14 11:21:27 +01:00
Robin Appelman
6eb8e8d6fd
Merge pull request #57519 from nextcloud/get-existing-api
...
feat: add api to get a user object without verifying they exist
2026-01-14 11:15:42 +01:00
Nextcloud bot
a8369cdbee
fix(l10n): Update translations from Transifex
...
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-01-14 00:13:54 +00:00
Carl Schwan
94dd919b88
perf(UserMountCache): Optimize loop
...
These loops since to be called around 60 000 times in one trace I saw.
So it makes sense to use the faster foreach construct.
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-13 18:37:51 +01:00
Robin Appelman
467487ecd8
feat: dont reload authoritative mount providers when doing by-path setup
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-13 16:42:48 +01:00
Robin Appelman
ae74dbef2b
Merge pull request #56499 from nextcloud/authoritative-mount-provider-files_external
...
Add api for authoritative mount providers and implement it for files_external
2026-01-13 16:36:33 +01:00
Robin Appelman
5924a2e3ec
feat: add api to get a user object without verifying they exist
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-13 15:59:07 +01:00
Côme Chilliet
3c80b7f2b3
fix: Use strict array comparisons in lib/
...
To avoid surprises with corner cases.
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-01-13 11:48:04 +01:00
Joas Schilling
408f9e8256
Merge pull request #57491 from nextcloud/fix/taskprocessing-userfacingerrormessage-responsedef
...
fix(TaskProcessing): Expose userFacingErrorMessage on ResponseDefinitions#CoreTaskProcessingTask
2026-01-13 10:27:01 +01:00
Git'Fellow
df018cf994
fix(gc): Implement cache_chunk_gc_ttl
...
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2026-01-13 09:00:32 +01:00
Ferdinand Thiessen
5f33fee58f
Merge pull request #56941 from nextcloud/fix/importmaps
...
fix(template): add import map for JS module entry points
2026-01-12 20:38:58 +01:00
Kate
258b30606f
Merge pull request #57357 from Freiheitswolke/fix/NavigationManager/Remove-break-to-return-all-defaultEntryIds
2026-01-12 19:29:18 +01:00
Marcel Klehr
a45978789b
fix(TaskProcessing): Expose userFacingErrorMessage on ResponseDefinitions#CoreTaskProcessingTask
...
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2026-01-12 18:32:33 +01:00
Carl Schwan
7b05c8f797
refactor(files): Rename IMountProviderArgs
...
It's not an interface so the I-prefix is inadequate.
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-12 17:33:52 +01:00
Joas Schilling
6bdda55733
Merge pull request #57453 from nextcloud/feat/noid/qr-code-in-account-menu
...
Improve usability of QR code login
2026-01-12 14:01:10 +01:00
Ferdinand Thiessen
f0e020f97d
fix(template): add import map for JS module entry points
...
Currently apps are broken if they have exports in the JS entry point,
because they then will import from the entry point but because they do
not know about the Nextcloud cache buster they will import without cache
buster.
This results in two problem:
1. The module might be outdated (old cached)
2. The module is duplicated, so the module will be loaded twice and will
have two different - out of sync - states. This also means it will
re-run sideeffects of the entry point.
To fix this we generate an import map which basically maps the plain
entry point script to the script with cache buster added.
(Some background: Bundler will try to minimize chunks (reduce page
loading time) so they can inline modules into entry points and thus
extend the entry point exports and then this issue would be caused).
For example:
```js
// entry.mjs
console.error('called')
async function onClick() {
await import('./chunk.mjs')
}
export const name = 'foo'
// chunk.mjs
import { name } from './entry.mjs'
console.error(name)
```
When calling `onClick` without this fix the output will be:
> called
> called
> foo
With this fix:
> called
> foo
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-12 13:34:11 +01:00
Joas Schilling
8b4491ae1c
fix: Add translation for temporary app password names
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-12 11:58:45 +01:00
Joas Schilling
f4acd8a7ab
fix: Adjust and add new tests
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-12 11:07:44 +01:00
Benjamin Gaussorgues
bd90e7c122
Merge pull request #57442 from nextcloud/carl/entity-id-type
2026-01-12 11:03:33 +01:00
Benjamin Gaussorgues
e0e5cdf3e1
Merge pull request #57449 from nextcloud/feat/unstable/moving-out-of-unstable-signature
2026-01-12 09:39:21 +01:00
Raphael Gradenwitz
7c526b4de3
Merge branch 'master' into ernolf/enh/http2-brotli-client
2026-01-10 00:00:47 +01:00
Maxence Lange
327d691c23
feat(signed-request): moving out of unstable
...
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2026-01-09 20:16:24 -01:00
Joas Schilling
927bea2b4d
fix(psalm): Satisfy psalm
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-09 19:07:07 +01:00
Joas Schilling
6c20e3e103
fix(onetime): Allow longer duration via app config
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-09 19:07:07 +01:00