332 Commits

Author SHA1 Message Date
Marcel Müller
b19023b51f Merge pull request #55440 from nextcloud/backport/55420/stable32
Some checks failed
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 (stable32, 8.1, stable32, --tags ~@large files_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, capabilities_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, collaboration_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, comments_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, dav_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, features) (push) Has been cancelled
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, federation_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, file_conversions) (push) Has been cancelled
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, filesdrop_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, ldap_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, openldap_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, openldap_numerical_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, remoteapi_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, routing_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, setup_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, sharees_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, sharing_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, theming_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, videoverification_features) (push) Has been cancelled
Integration sqlite / integration-sqlite-summary (push) Has been cancelled
Psalm static code analysis / static-code-analysis (push) Has been cancelled
Psalm static code analysis / static-code-analysis-security (push) Has been cancelled
Psalm static code analysis / static-code-analysis-ocp (push) Has been cancelled
Psalm static code analysis / static-code-analysis-ncu (push) Has been cancelled
[stable32] fix(appstore): Make appstore timeout configurable
2025-09-30 23:38:33 +02:00
Marcel Müller
d92b1f3ad0 fix(appstore): Make appstore timeout configurable
Signed-off-by: Marcel Müller <marcel-mueller@gmx.de>
2025-09-30 15:18:59 +00:00
Marcel Müller
d98d9d3c60 fix(appstore): Also catch ClientException and ServerException
Signed-off-by: Marcel Müller <marcel-mueller@gmx.de>
2025-09-30 14:03:10 +00:00
Maxence Lange
6cc697e476 fix(userconfig): set 'mail' as indexed
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-09-17 18:07:00 +00:00
Côme Chilliet
4c4af010f0 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 21:47:03 +00: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 +02: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 +02: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 +02: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 +02: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 +02: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 +02: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 +02: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 +02: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 +02:00
provokateurin
5bd626bd40 chore: Fix all method calls with too many arguments
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-07-22 12:34:49 +02: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 +02:00
Côme Chilliet
fb4e580109 chore: Cleanup DependencyAnalyzer and InfoParser
Also fix support for database dependency with attributes in the info.xml

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-07-08 15:51:59 +02: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 +02:00
Maxence Lange
d8fc08d718 feat(lexicon): fix tests
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-06-24 12:10:57 -01: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 -01: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 -01: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 +02: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 +02: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 +02:00
Côme Chilliet
c85f7eacb8 fix: Throw AppNotFoundException from installer when application is not found
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-06-05 17:03:16 +02: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 +02: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 +02: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 +02: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 +01: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 +01: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 +01: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 +01: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 +01: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 +01: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 +01: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 +01: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 +01:00
Joas Schilling
220bd3422f fix(appinfo): Make sure screenshot, author and category are always arrays
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-10-28 08:46:31 +01: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 +02:00
Julius Knorr
606241caeb chore(legacy): Introduce public version ct plass and drop version methods from OC_Util
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2024-09-20 14:53:34 +02:00
provokateurin
9836e9b164 chore(deps): Update nextcloud/coding-standard to v1.3.1
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-19 14:21:20 +02:00
Grigorii K. Shartsev
70ed4aec39 fix(appstoreFetcher): get app list from custom app store
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
2024-09-17 01:29:25 +02:00
Grigorii K. Shartsev
ce679c3da4 fix(appstoreFetcher): remove unneeded warning
Signed-off-by: Grigorii K. Shartsev <me@shgk.me>
2024-09-17 01:24:49 +02:00
Côme Chilliet
bcb4e781a4 Merge pull request #47927 from nextcloud/fix/migrate-away-from-oc_app
Migrate away from OC_App to IAppManager
2024-09-13 17:44:38 +02:00
Git'Fellow
413ba1a718 Merge pull request #47854 from nextcloud/validAppsFromAppStore
fix(appstore): Ensure returned apps from AppStore are valid
2024-09-13 10:55:33 +02: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 +02: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 +02:00
Git'Fellow
dccfb6d68a fix: check if key is set
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2024-09-13 09:49:09 +02:00
Julius Knorr
38e0a89972 fix: Add whiteboard to education and public sector bundle
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2024-09-12 09:13:42 +02:00
Git'Fellow
8585b05357 fix(appstore): Ensure returned apps from AppStore are valid
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

fix: lint

chore: remove space

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

fix: check if response array is null

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

chore: Add log
2024-09-11 11:12:59 +02:00