Commit Graph

56 Commits (e512b5b21fb9588b4e8c28ebb164dc7af70a3553)

Author SHA1 Message Date
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 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
Ferdinand Thiessen 074b994218
fix(settings): verify source of app-discover media
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-07-21 14:06:47 +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
Git'Fellow 659747e5b1 fix(AppDiscover): Ensure created cache folder is safe-chars only
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2025-03-10 19:11:17 +07:00
Côme Chilliet 64863c9d46
chore: Apply new rector configuration to apps folder
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-13 11:46:42 +07:00
Côme Chilliet ed5b7ae161
chore: re-apply current rector configuration to apps folder
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-13 11:45:33 +07:00
Côme Chilliet a3685551f7
fix: Replace isInstalled calls with isEnabledForAnyone or isEnabledForUser
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-13 10:19:19 +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
Andrey Borysenko a12b4da6af
fix(ci): psalm, suppress undefined for viewApps
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
2024-10-29 20:54:08 +07:00
Andrey Borysenko e4d586697c
WIP: address review comments, small fixes
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
2024-10-29 20:54:08 +07:00
Andrey Borysenko 3a840c102a
fix(ci): suppress UndefinedClass for AppAPI related classes since it's bundled
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
2024-10-29 20:54:07 +07:00
Andrey Borysenko 95b06309f3
feat(app_api): add initial state data for AppAPI UI part
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>

# Conflicts:
#	apps/settings/lib/Controller/AppSettingsController.php

# Conflicts:
#	apps/settings/lib/Controller/AppSettingsController.php
2024-10-29 20:54:05 +07:00
Claudio Cambra 5969b4bea8
fix(appsmanagement): Fix exception on generating preview url for screenshots
Some installed apps meant for older server versions might unexpectedly
offer up screenshot values in a non-string format (e.g. health). Avoid
an exception by checking first if the first app screenshot is indeed a
string and otherwise we take the value of the parameter

Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-10-28 08:29:16 +07:00
Kate b5ac989ecd
Merge pull request #48854 from nextcloud/fix/proxy-app-screenshot 2024-10-23 17:18:13 +07:00
Ferdinand Thiessen 3b6915e96d
fix(app-store): Also proxy images of locally installed apps
Before this only app store apps got their screenshots proxied,
but this will cause locally installed apps to not be correctly shown on the app-store.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-10-23 13:36:27 +07:00
Ferdinand Thiessen 9955b13564
fix(app-store): Ensure the `groups` property is always an array
If the value was a string, like a single group, then `json_decode` will also yield only a string.
So in this case we ensure the property is always an array with that value.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-10-23 13:32:36 +07:00
Marcel Müller 74d179edf3 fix(appstore): Hide last modified information for shipped apps
Signed-off-by: Marcel Müller <marcel-mueller@gmx.de>
2024-10-16 23:51:56 +07:00
Côme Chilliet 1580c8612b
chore(apps): Apply new rector configuration to autouse classes
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-10-15 10:40:25 +07:00
Ferdinand Thiessen 9bc0aa03b2
fix: Ensure app discover section is returned as list
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-09-24 12:34:22 +07: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 +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 f012c996ee
refactor(settings): Replace security annotations with respective attributes
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-07-27 22:49:43 +07:00
Andy Scherzinger ec5b60af28
chore: Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-06-03 20:33:31 +07:00
Côme Chilliet 733a818139
fix: Migrate a few more classes away from OC_App::getAppPath
Also fixed AppTest

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-22 12:19:01 +07:00
Ferdinand Thiessen bae133bf4f fix(AppDiscoverFetcher): Do not remove entries as expired that have no expiry date
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-03-19 09:36:06 +07:00
Ferdinand Thiessen df502c114d
feat(settings): Cache app discover images to ensure privacy of users
Co-authored-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-03-14 20:45:25 +07:00
Ferdinand Thiessen f4efb762ec
feat: Allow to fetch app discover json and provide frontend API route
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-03-14 20:45:24 +07:00
Andrii Rublov a72706f1e6
Merge branch 'master' into fix/pages-titles-apps
Signed-off-by: Andrii Rublov <github.a@rublov.me>
2024-02-25 13:48:38 +07:00
Ferdinand Thiessen 00386a5407 fix(settings): Use initial state instead of custom state for server data
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-02-23 21:59:02 +07:00
Ferdinand Thiessen dd7fba2c95 fix(settings): Only use `id` in categories - drop duplicated `ident` property
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-02-23 21:59:02 +07:00
Andrii Rublov 8d22d341c8 [Bugfix]: Titles of pages (dashboard, apps-settings, users-settings) #43327
Signed-off-by: Andrii Rublov <airublev@outlook.com>
2024-02-23 18:39:23 +07:00
provokateurin b64ab5fba8
refactor: Migrate IgnoreOpenAPI attributes to OpenAPI
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-01-18 16:14:17 +07:00
1 Man Projects 6ef5958007
Fix AppSettingsController.php overwriting currentLanguage
Fix for CurrentLanguage being overwritten by currentVersion thus breaking App-View

Signed-off-by: 1 Man Projects <reed@1manprojects.de>
2023-12-05 20:24:35 +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
jld3103 da7062b939
settings: Add OpenAPI spec
Signed-off-by: jld3103 <jld3103yt@gmail.com>
2023-07-10 17:06:32 +07:00
Faraz Samapoor 716a659468 Uses "Null Coalescing Operator" to improve code readability.
Signed-off-by: Faraz Samapoor <fsa@adlas.at>
2023-05-31 14:51:52 +07:00
julia.kirschenheuter 0cfbe54a5a Create headings for settings pages
Signed-off-by: julia.kirschenheuter <julia.kirschenheuter@nextcloud.com>
2023-03-07 17:51:19 +07:00
Thomas Citharel 3eab7ca3d4
Extract $ignoreMaxApps from array_map callback in AppSettingsController
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-10-22 20:03:02 +07:00
Valdnet dfe7243338
l10n: Delete apostrophe
Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2022-06-07 16:41:38 +07:00
Carl Schwan 7c8a901b84 Cleanup admin settings js files
* Move admin.js to webpack, so that this use the bundled jquery files
  instead of the deprecated window.$ Also fixing formatting

* Remove log.js that seems to be from a time where logreader was bundled
  with server and I couldn't find an usage of it anymore

* Fix recent regression in rebuild navigation function (now not depending on
  jquery anymore and bundled by webpack).

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-02-17 17:52:03 +07:00
Julien Veyssier facb50ebcc
fix appstoreenabled check in Fetcher so it's coherent with AppSettingsController
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
2021-10-18 12:39:43 +07:00
Bjoern Schiessle 664bd5802f add 'supported'-label to all supported apps, also if they are not downloaded yet
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2021-10-06 22:17:50 +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
Roeland Jago Douma 38f761f25f Move away some ILoggers
Makes psalm happier

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-03-02 10:47:25 +07:00
Julius Härtl 7a1748e6f0 Show changelog in apps management
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Signed-off-by: npmbuildbot[bot] <npmbuildbot[bot]@users.noreply.github.com>
2020-09-03 19:16:13 +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 afbd9c4e6e
Unify function spacing to PSR2 recommendation
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-09 13:54:22 +07:00
Christoph Wurst 1a9330cd69
Update the license headers for Nextcloud 19
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-31 14:52:54 +07:00
Christoph Wurst b80ebc9674
Use the short array syntax, everywhere
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-26 16:34:56 +07:00