Commit Graph

116 Commits (jtr/fix-public-exceptions-http-codes)

Author SHA1 Message Date
Arthur Schiwon ab9a92fac8
feat(AppManager): log which apps requires the upgrade procedure
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2025-10-27 18:05:00 +07:00
Côme Chilliet 20e536839a
feat: Add admin-delegation-section as well for completeness
Also renamed delegation into admin-delegation in xml schema.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-28 14:50:15 +07:00
Côme Chilliet 09acd7e308
feat(settings): Add support for delegated settings not appearing in menu
Adds a new type of settings, delegation, which is only used for admin
 delegation but does not appear in admin menu.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-28 14:50:14 +07:00
Maxence Lange 0249e3a2f5 fix(userconfig): set 'mail' as indexed
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-09-17 10:17:52 +07:00
Côme Chilliet ae4d38eb63
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-16 17:59:30 +07:00
Git'Fellow b36e4e3824 fix(AppManager): Argument must be of type array|object
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2025-08-20 17:16:33 +07:00
Côme Chilliet 12edd2b23a
fix: Deduplicate code by using DependencyAnalyzer in the AppManager
Was a bit more complicated than expected because of a dependency loop,
the L10N factory uses the app manager, thus the AppManager cannot depend
on I10N directly or indirectly in its constructor.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 17:09:40 +07:00
Côme Chilliet b7c15949ce
chore: Get rid of AppLocator helper
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 17:09:40 +07:00
Côme Chilliet 0e01bc09a9
chore: Inline OC_App::setupBackgroundJobs
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 17:09:39 +07:00
Côme Chilliet e5606d7fe3
chore: Move getAppPath and getAppWebPath implementations into AppManager
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 17:09:39 +07:00
Côme Chilliet 4abfd4871f
chore: Move isAppCompatible and shouldUpgrade to the app manager
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 16:18:38 +07:00
Côme Chilliet 410389867c
chore: Inline private method OC_App::setupLiveMigrations
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 16:15:27 +07:00
Côme Chilliet f5fac6476f
chore: Remove references to obsolete field ocsid in apps info.xml
It’s not even allowed by our xsd schema.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 16:15:25 +07:00
Côme Chilliet fd17555333
chore: Move OC_App::updateApp to IAppManager::upgradeApp
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 16:14:45 +07:00
Côme Chilliet 1f5e232314
chore: Move info parsing related method from OC_App to InfoParser
Also fix the tests

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-07-08 15:57:05 +07:00
Ferdinand Thiessen 5981b7eb51
chore: apply new CSFixer rules
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>

# Conflicts:
#	apps/settings/lib/SetupChecks/PhpOpcacheSetup.php
2025-07-01 16:26:50 +07:00
Maxence Lange d8fc08d718 feat(lexicon): fix tests
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-06-24 12:10:57 +07:00
Maxence Lange 3d3c77b774 feat(lexicon): migrate keys on app update
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-06-24 12:10:57 +07:00
Maxence Lange e39ab65239 feat(lexicon): migrate config key/value
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-06-24 12:10:57 +07:00
Jana Peper 50c9852e24
feat: add ocs route to get apps enabled for current user
Signed-off-by: Jana Peper <jana.peper@nextcloud.com>
2025-06-18 17:31:20 +07:00
Côme Chilliet a2fdeccc31
chore(tests): Adapt AppManager test to the use of searchValues
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-06-05 17:58:54 +07:00
Côme Chilliet e8370bf73a
fix: Use only enabled applications versions in the cache prefix
This makes sure the cached routes are updated after enabling a
 previously disabled application

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-06-05 17:58:54 +07:00
Côme Chilliet bf340a576f
fix: Do not enable applications which are not installed yet
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-06-05 15:39:25 +07:00
Ferdinand Thiessen c21e189850
fix: make core application bootstrapable by coordinator
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>
2025-06-02 15:58:54 +07:00
Côme Chilliet 92038229fa
fix: Remove support for app.php loading
It has been deprecated for a long time, and the last known active
 application to use it (user_saml) is now migrated the modern API.
Presence of the file is still checked in order to log an error.
This behavior may be removed as well in a few versions.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-04-14 14:30:00 +07:00
Côme Chilliet c7037d7b38
fix: Move getAppInstalledVersions to AppConfig so that it can be used earlier
Call it from OC_App to make sure there is only one request to DB.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-03-25 16:20:21 +07:00
Côme Chilliet 32c1e3e677 feat: Add a replacement for OC_App::getAppVersions is IAppManager
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-03-25 14:12:17 +07:00
Côme Chilliet 6e7c97ea1f
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-13 16:22:21 +07:00
Côme Chilliet 8f57a50767
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-13 14:21:36 +07:00
Côme Chilliet cffd2c8d09
chore: Improve naming of methods and properties in AppManager
Remove all references to installed apps where it’s about enabled apps

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-13 10:19:19 +07:00
Côme Chilliet fb917c495b
fix(ocp): Deprecate getInstalledApps and replace with clearer method name
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-13 10:19:19 +07:00
Côme Chilliet d2864f7d84
fix(ocp): Deprecate isInstalled and add isEnabledForAnyone instead
The method name was really confusing

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-13 10:19:18 +07:00
Ferdinand Thiessen 31664b3edd
fix: Correctly return app id and app version for `core` styles and images
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-01-24 13:08:31 +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