Commit Graph

89 Commits (stable31)

Author SHA1 Message Date
Côme Chilliet 315c0ea59c
fix: Allow hyphen in appid
It’s rare but exists for some apps not in the appstore.
Also added unit tests for cleanAppId and fixed small issues with it.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-22 10:03:08 +07:00
Git'Fellow ee84379662 fix(AppManager): Argument must be of type array|object
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2025-08-20 18:13:08 +07:00
Jana Peper 326cb9c75c
feat: add ocs route to get apps enabled for current user
Signed-off-by: Jana Peper <jana.peper@nextcloud.com>
2025-06-20 10:37:13 +07:00
Côme Chilliet a9ad23e3d8 fix: Also remove digits at the start and underscore on both ends of appid
Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Signed-off-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
2025-02-19 18:39:20 +07:00
Côme Chilliet adf5b72939 fix: Only keep allowed characters in appid, and flag the method as escaping
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-19 18:39:20 +07:00
Ferdinand Thiessen ae3e26024e fix: Correctly return app id and app version for `core` styles and images
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-01-24 18:12:18 +07:00
Ferdinand Thiessen 9e327a5890
fix(apps-store): Remove apps from force-enabled state when uninstalled
If an app is force-enabled and then uninstalled the force-enabled state was kept.
This is now removed, so when the app should be re-installed the compatibility should be reevaluated.

Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-11-18 14:09:54 +07:00
Joas Schilling 07449847e1
fix(appmanager): Fix tainted file path when loading appinfos
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-10-14 14:33:19 +07:00
Côme Chilliet 76f2bc0bfc
fix: Replace OC_App::getAllApps with a method in AppManager
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-09-13 10:08:44 +07:00
Côme Chilliet 7ed583cb8e
chore: Migrate cleanAppId and getAppPath calls to IAppManager from OC_App
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-09-13 10:08:43 +07:00
provokateurin 70ed08daf1
refactor(AppManager): Deprecated default apps handling
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-09 11:04:36 +07:00
Richard Steinmetz e42bceac9f
feat: hide caldav server settings if no app uses the caldav backend
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2024-07-16 09:18:33 +07:00
Côme Chilliet 01dbb8fca2
fix(profiler): Remove bogus profiler event start
This fixes profiler event graph by removing an event start which had no
 matching end() call.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-06-27 12:25:20 +07:00
Josh c494a0cc63
fix(AppManager): Name correct method in error + show error string
Signed-off-by: Josh <josh.t.richards@gmail.com>
2024-06-09 09:36:32 +07:00
Andy Scherzinger dae7c159f7
chore: Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-05-24 13:11:22 +07:00
Côme Chilliet ac1d868d18
fix: Lazy load IURLGenerator from AppManager to avoid installation crash
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-22 15:50:06 +07:00
Côme Chilliet 0e7bac72ae
fix: Make sure that AppManager can be built before Nextcloud is installed
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-22 12:17:31 +07:00
Ferdinand Thiessen c8d7a5acaa fix(AppManager): Allow to query dark **or** bright icon
The navigation needs the bright icon, while the notifications and activity need a dark icon.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-03-08 09:51:03 +07:00
Ferdinand Thiessen 876e2d6198
feat(AppManager): Provide `getAppIcon` function
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-03-07 22:40:31 +07:00
Hamid Dehnavi 84749d53a9 Refactor lib/private/App
Signed-off-by: Hamid Dehnavi <hamid.dev.pro@gmail.com>
2024-02-23 15:53:41 +07:00
Joas Schilling 582ec1294a
fix(apps): Fix type information of app manager
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-01-23 09:55:06 +07:00
Joas Schilling aa5f037af7
chore: apply changes from Nextcloud coding standards 1.1.1
Signed-off-by: Joas Schilling <coding@schilljs.com>
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2023-11-23 10:36:13 +07:00
Ferdinand Thiessen 927e7fcf67
fix(AppManager): Ensure that app manager can handle empty app keys on the navigation entries
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-11-14 20:04:48 +07:00
Ferdinand Thiessen 8d0c7cc5fa
fix: Allow to set custom app order on navigation entries added by closures to NavigationManager
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-11-14 20:03:28 +07:00
Ferdinand Thiessen 363d9ebb13
feat(NavigationManager): Always sort the default app first
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-10-19 22:04:20 +07:00
Ferdinand Thiessen 08cff0777a
feat(IAppManager): Allow to set the (user) default apps and get all global default apps
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-10-19 22:04:20 +07:00
Côme Chilliet 8049702413
Fix behavior when defaultapp is empty
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-09-28 09:22:54 +07:00
Côme Chilliet a4a3d94f05
Default to first application if no default app is set
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-09-26 14:40:14 +07:00
Joas Schilling 5bb6a7804f
fix: Move AppManager events to IEventDispatcher
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-07-27 09:57:51 +07:00
Christoph Wurst 3d1acca1f3
chore(app): Do not clear unused cache key
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-05-30 17:48:20 +07:00
Christopher Ng 4f8e916585 Add label for logo link
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2023-03-29 13:36:45 +07:00
Côme Chilliet 13c71ed24a
Small cleanups for AppManager
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-03-20 10:21:45 +07:00
Côme Chilliet 78c1716818
Move loadApps to the AppManager
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-03-20 10:21:45 +07:00
Côme Chilliet 8dc5f82189
Move isType to AppManager
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-03-20 10:21:45 +07:00
Côme Chilliet a224551132
Avoid calling Server::get more times than necessary in loadApp
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-03-20 10:21:42 +07:00
Côme Chilliet f0bdf2a4cd
Strong type private properties and methods in AppManager
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-03-20 10:19:42 +07:00
Côme Chilliet 71ed968e34
Switch away from Server::get for AppManager and logger in loadApp
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-03-20 10:17:28 +07:00
Côme Chilliet a7c8090dc3
Move loadApp function to the AppManager
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-03-20 10:01:17 +07:00
Thomas Citharel f1751c4428
Introduced app enable/disable/update typed events
OCP\App\ManagerEvent is depreciated since 22 without a replacement

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-03-13 11:52:57 +07:00
Côme Chilliet f5c361cf44
composer run cs:fix
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-01-20 11:45:08 +07:00
Maxence Lange 0efd6d9950 set defaultEnabled in shipped.json
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2022-09-15 08:15:33 +07:00
Joas Schilling 66ffedcb16
Fix updating with apps
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-11-11 13:56:42 +07:00
Joas Schilling 0b747538ff
Keep group restrictions when reenabling apps after an update
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-10-13 09:34:55 +07:00
John Molakvoæ c04e0d1db9
Merge pull request #27098 from nextcloud/fix/noid/missing-key-in-addInfo
force 'name' key in array
2021-06-16 17:13:45 +07:00
John Molakvoæ (skjnldsv) 215aef3cbd
Update php licenses
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-06-04 22:02:41 +07:00
Maxence Lange 65649468f3 force 'name' key in array
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2021-05-25 09:33:20 +07:00
Joas Schilling 56ae87c281
Less ILogger
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-04-27 14:34:32 +07:00
Christoph Wurst d89a75be0b
Update all license headers for Nextcloud 21
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-16 18:48:22 +07:00
Christoph Wurst caff1023ea
Format control structures, classes, methods and function
To continue this formatting madness, here's a tiny patch that adds
unified formatting for control structures like if and loops as well as
classes, their methods and anonymous functions. This basically forces
the constructs to start on the same line. This is not exactly what PSR2
wants, but I think we can have a few exceptions with "our" style. The
starting of braces on the same line is pracrically standard for our
code.

This also removes and empty lines from method/function bodies at the
beginning and end.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 14:19:56 +07:00
Christoph Wurst 14c996d982
Use elseif instead of else if
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 10:35:09 +07:00