Peter Ringelmann
490c6e7c06
test(core): align AppMenu mock with new icon helper
...
-e
Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
2026-05-11 14:50:49 +02:00
Peter Ringelmann
0b97e4f585
fix(core): app menu launcher tile icon, dark mode, and hyphenation
...
-e
Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
2026-05-11 14:50:49 +02:00
Nextcloud bot
d8d6518598
fix(l10n): Update translations from Transifex
...
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-05-11 00:19:07 +00:00
Nextcloud bot
f16c6c95c4
fix(l10n): Update translations from Transifex
...
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-05-10 00:19:09 +00:00
Nextcloud bot
ef1bea0bfa
fix(l10n): Update translations from Transifex
...
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-05-09 00:19:05 +00:00
Nextcloud bot
548708d971
fix(l10n): Update translations from Transifex
...
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-05-08 00:19:38 +00:00
Peter Ringelmann
831989b770
chore: rebuild assets
...
-e
Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
2026-05-07 19:25:15 +02:00
Peter Ringelmann
fa201206bb
fix: unit test
...
-e
Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
2026-05-07 19:25:15 +02:00
Peter Ringelmann
55f9a872af
fix: minor styling issues
...
-e
Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
2026-05-07 19:25:15 +02:00
Peter Ringelmann
041dd9f70b
refactor(AppItem): drop redundant boolean prop defaults
...
-e
Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
2026-05-07 19:25:15 +02:00
Peter Ringelmann
f895e77ab4
feat: only app store link opens in new tab
...
-e
Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
2026-05-07 19:25:15 +02:00
Peter Ringelmann
8e5d02be2d
feat: add app store link for non-admins
...
-e
Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
2026-05-07 19:25:15 +02:00
Peter Ringelmann
7ec7eb86bf
fix: remove new tab links
...
-e
Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
2026-05-07 19:25:15 +02:00
Peter Ringelmann
78e98bba29
fix: stylelint issue
...
-e
Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
2026-05-07 19:25:15 +02:00
Peter Ringelmann
4cd0ddbf66
feat(core): app menu waffle launcher
...
- Popover grid replaces the old hamburger overlay
- Roving tabindex keyboard nav (arrow keys, Home/End, Enter/Space)
- Focus returns to whichever trigger opened the popover
- RTL-aware horizontal alignment
- Admin-only "More apps" tile
- Unit + Cypress coverage
Resolves : #59888
Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
2026-05-07 19:25:15 +02:00
nextcloud-command
ced1bb4f08
chore(assets): Recompile assets
...
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-05-07 11:51:57 +02:00
Grigory V
455e381213
fix(public.scss): increase footer width
...
Signed-off-by: Grigory V <scratchx@gmx.com>
2026-05-07 11:51:57 +02:00
John Molakvoæ
57a2630be7
Merge pull request #60192 from nextcloud/enh/ship-files_lock
2026-05-07 09:10:57 +02:00
Arthur Schiwon
8a087c288d
build: ship files_lock with 34
...
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2026-05-06 17:55:18 +02:00
Peter Ringelmann
82fb2e1bb3
fix(core): prompt for password once when installing recommended apps
...
Wire the password-confirmation interceptors into the recommendedapps
entry point and switch the installer to a single bulk enable call so
the strict password confirmation on enableApps is satisfied.
Fixes #60068
-e
Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
2026-05-06 13:25:52 +02:00
Ferdinand Thiessen
b0d364388a
refactor(appstore): handle in-app-search of appstore
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-05-05 22:16:01 +02:00
Ferdinand Thiessen
5b756ad8bc
refactor: split appstore from settings
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-05-05 10:41:04 +02:00
Joas Schilling
bae205fa58
Merge pull request #60148 from nextcloud/fix/unsupported-browser-redirect-buffer
...
fix(core): use btoa() instead of window.Buffer.from() for base64 encoding
2026-05-05 08:23:09 +02:00
Nextcloud bot
a99f70ed71
fix(l10n): Update translations from Transifex
...
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-05-05 00:19:23 +00:00
Anna Larch
ef0db44d01
test(core): add unit tests for RedirectUnsupportedBrowsers
...
Covers the main logic paths: supported browser (no redirect), unsupported
browser (redirect with btoa-encoded URL), already on the warning page
(no double redirect), and a no-throw guard that would have caught the
window.Buffer regression.
AI-Assisted-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Anna Larch <anna@nextcloud.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-05-04 20:35:59 +02:00
Anna Larch
2aa944a80f
fix(core): use btoa() instead of window.Buffer.from() for base64 encoding
...
window.Buffer is a Node.js API that is not natively available in browsers.
It was apparently polyfilled in the webpack bundle by a dependency, but
the polyfill is absent in environments like headless Electron (Cypress).
This went undetected because browserslist-useragent-regexp < 4.1.4 had a
bug where an empty browser set produced /(?:)/ (matches everything). Electron
matched as "supported" and the redirect code was never reached.
browserslist-useragent-regexp 4.1.4 fixed that bug (PR #1583 : faithfully
match an empty set of browsers), generating /[]/ instead. Electron 118 no
longer matches as supported, the redirect path is now exercised, and
window.Buffer.from() throws:
TypeError: Cannot read properties of undefined (reading 'from')
The fix replaces window.Buffer.from(str).toString('base64') with the
native browser btoa(str), which has been universally available since
before our minimum browser support baseline and requires no polyfill.
Fixes : #57920
Signed-off-by: Anna Larch <anna@nextcloud.com>
2026-05-04 19:48:19 +02:00
Côme Chilliet
1e011332e5
Merge pull request #60017 from nextcloud/fix/fix-const-in-passwordlesslogin
...
chore: Fix lint error in PasswordLessLoginForm.vue
2026-05-02 15:55:58 +02:00
Côme Chilliet
5b7cd417e1
Merge pull request #59934 from nextcloud/feat/prevent-pending-trx-cron
...
feat(cron): prevent pending transactions forgotten by a job
2026-04-30 18:26:17 +02:00
Côme Chilliet
ab2df86b78
chore: Fix lint error in PasswordLessLoginForm.vue
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-04-30 14:07:00 +02:00
Nextcloud bot
f9ff92746e
fix(l10n): Update translations from Transifex
...
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-04-30 00:19:21 +00:00
Ferdinand Thiessen
c4e2159284
Merge pull request #58576 from nextcloud/carl/updater-controller
...
refactor(updater): Move updater to a Controller
2026-04-30 01:19:45 +02:00
Côme Chilliet
c332ca74be
Merge pull request #59790 from nextcloud/fix/fix-passwordless-login-redirect
...
fix: Harmonize login and passwordless login redirect behavior
2026-04-29 23:09:29 +02:00
Carl Schwan
b53d9a7259
refactor(updater): Move updater to a Controller
...
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-04-29 22:58:15 +02:00
Marcel Klehr
b2ffaaf147
Merge pull request #59958 from nextcloud/feat/setupcheck-taskprocessing-worker
...
Feat: Better reporting if something is wrong with taskprocessing
2026-04-29 12:07:20 +02:00
Marcel Klehr
cbaf5fa99f
fix(TaskProcessingWorker): Adjust config key name
...
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2026-04-29 10:11:25 +02:00
Joas Schilling
a0fedf1c7f
Merge pull request #59985 from nextcloud/chore/psalm-v6
...
chore: update psalm to v6
2026-04-29 07:20:29 +02:00
Ferdinand Thiessen
b1739626c4
Merge pull request #56720 from nextcloud/jtr/occ-app-remove-refactor
...
feat(app): allow removing installed-but-disabled apps; improve help & logging
2026-04-29 01:37:08 +02:00
Ferdinand Thiessen
27c7164e86
chore: add psalm-api to for classes we need to mock in unit tests
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-28 23:52:43 +02:00
Ferdinand Thiessen
20acaf307e
chore: add missing Override attribute to core code
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-28 21:29:28 +02:00
Ferdinand Thiessen
2a8aaf9c0a
chore: adjust code style
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-28 17:24:56 +02:00
Marcel Klehr
f0a3b335e6
fix(TaskProcessingWorker): Only store config value every 60s
...
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2026-04-28 15:53:04 +02:00
Josh
e97cf02574
feat(app): allow removing installed-but-disabled apps; improve help & logging
...
- Allow removal of apps that are installed but currently disabled
- Add explicit installed check (getAppPath) with clear message when not installed
- Expand help text to document uninstall behavior and --keep-data
- Mirror console messages to logs for key events and consolidate exception logging
- miscellaneous code tidying
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-04-28 13:51:48 +02:00
Marcel Klehr
3802c0d24a
feat(TaskProcessing): Add setup check for task processing worker status
...
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2026-04-28 11:43:03 +02:00
Côme Chilliet
6ced1ce9d8
chore: Fix npm lint issues in PasswordLessLoginForm.vue
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-04-28 10:00:19 +02:00
Côme Chilliet
19c7ac9194
fix: Always redirect to an absolute URL
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-04-28 10:00:19 +02:00
Ferdinand Thiessen
a974d00571
feat: add new IRepairStepExpensive interface
...
Expensive repair steps are non-critical repair steps that might take a long time to execute.
Non-critical means that they are not required to directly be executed during migration to have a working instance,
but they might be required to have a fully working instance later on.
Expensive repair steps are only executed when explicitly requested by the administrator.
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-27 20:03:44 +02:00
Benjamin Gaussorgues
b8345de46f
feat(cron): prevent pending transactions forgotten by a job
...
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-04-27 16:31:16 +02:00
Cristian Scheid
f7777c30b3
Merge pull request #59903 from nextcloud/fix/noid/teams-api-resource-filter
...
fix(teams-api): adjust resource filtering
2026-04-27 08:22:04 -03:00
Joas Schilling
aa904b255f
Merge pull request #59378 from nextcloud/carl/non-internal-api
...
chore: Replace MoveableMount usage with IMovableMount
2026-04-27 12:37:56 +02:00
Nextcloud bot
5c0fe4c3cc
fix(l10n): Update translations from Transifex
...
CodeQL Advanced / Analyze (actions) (push) Has been cancelled
CodeQL Advanced / Analyze (javascript-typescript) (push) Has been cancelled
Integration sqlite / changes (push) Has been cancelled
Integration sqlite / integration-sqlite (master, main, 8.4, main, --tags ~@large files_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (master, main, 8.4, main, capabilities_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (master, main, 8.4, main, collaboration_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (master, main, 8.4, main, comments_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (master, main, 8.4, main, dav_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (master, main, 8.4, main, features) (push) Has been cancelled
Integration sqlite / integration-sqlite (master, main, 8.4, main, federation_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (master, main, 8.4, main, file_conversions) (push) Has been cancelled
Integration sqlite / integration-sqlite (master, main, 8.4, main, files_reminders) (push) Has been cancelled
Integration sqlite / integration-sqlite (master, main, 8.4, main, filesdrop_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (master, main, 8.4, main, guests_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (master, main, 8.4, main, ldap_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (master, main, 8.4, main, openldap_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (master, main, 8.4, main, openldap_numerical_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (master, main, 8.4, main, remoteapi_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (master, main, 8.4, main, routing_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (master, main, 8.4, main, setup_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (master, main, 8.4, main, sharees_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (master, main, 8.4, main, sharing_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (master, main, 8.4, main, theming_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (master, main, 8.4, main, videoverification_features) (push) Has been cancelled
Integration sqlite / integration-sqlite-summary (push) Has been cancelled
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-04-26 00:18:37 +00:00