Commit Graph

100 Commits

Author SHA1 Message Date
dillard ccefefa6f7 fix(config): keep the category cache small and save settings at once
The app store category cache (cache-categories) held the name and
description of every category in every language, about 170 KB, stored
as a regular app config value. Nextcloud loads all regular values of
all apps on every request, so this one value was read on every page
load. It was only refreshed with the "remove cache" button.

- Keep only the category ids and names, store the cache as a lazy
  value so it is only loaded when categories are needed, and refresh
  it after a week.
- Only load the categories where they are used: the menus with
  categories, and the app list when custom categories are set.
- Save all settings in one request to a new admin endpoint, which
  accepts only known settings, then clears the category cache and
  changes the stylesheet cache key. The settings page sent one request
  per setting and reloaded right after; with Nextcloud's short-lived
  local config cache, the reloaded page could show a half-saved
  configuration, so a change sometimes had to be made twice.
2026-09-30 12:01:50 +02:00
Simon Vieille f4833d1956 feat: add search toggle option (fix #509) 2026-09-05 13:06:24 +02:00
AndyXheli 9ad73c7bf7 Update lib/Controller/JsController.php
Signed-off-by: AndyXheli <andyxheli@gmail.com>
2025-09-20 16:43:41 +02:00
AndyXheli acde24ea71 Update lib/Controller/JsController.php 2025-09-20 16:42:52 +02:00
AndyXheli 8bd89b4565 Update lib/Controller/JsController.php 2025-09-20 16:41:49 +02:00
AndyXheli 58cfbc24af "Refactor Side Menu JsController to Use IAvatarManager via Dependency Injection for Nextcloud 32 Com
🔧 Problem: The Side Menu app was calling OC\Server::getAvatarManager(), which no longer exists in Nextcloud 32.

✅ Fix:

Injected IAvatarManager using Nextcloud’s public API instead of accessing it via OC::$server.

Updated the constructor to accept IAvatarManager, IUserSession, INavigationManager, and IURLGenerator.

Replaced all direct calls to OC::$server->getAvatarManager() and similar with the injected services.

This makes the app compatible with Nextcloud 32 and avoids deprecated internal method calls.

Signed-off-by: AndyXheli <andyxheli@gmail.com>
2025-09-20 16:25:58 +02:00
Simon Vieille cd4b3b1054 fix #349: add custom controller to retrieve core apps 2025-05-04 18:24:32 +02:00
Simon Vieille f9aa59ca04 fix #418: allow non admin user to access their settings 2025-04-29 19:21:17 +02:00
Simon Vieille a47a8d6c63 remove route unused route 2025-04-16 19:37:28 +02:00
Simon Vieille cbd8462333 scss: set root vars depending of the theme 2025-04-16 09:16:15 +02:00
Simon Vieille fdd8f8850d add user settings 2025-04-16 09:14:06 +02:00
Simon Vieille 6c4f9120ff format code 2025-04-16 09:13:54 +02:00
Simon Vieille 89ca510897 add categories customization 2025-04-16 09:13:38 +02:00
Simon Vieille f9c3f96919 migrate admin settings 2025-04-16 09:07:10 +02:00
Simon Vieille 52b2d18a03 refactor of menus
begin work on settings
2025-04-16 09:06:34 +02:00
Simon Vieille 788affe386 fix: add missing NoCSRFRequired import in CssController (#397) 2025-03-12 17:57:49 +01:00
Simon Vieille 3058c225e0 style: apply php linter 2025-03-05 21:55:53 +01:00
Simon Vieille b03a7f7bad refactor(controller): usage of attributes instead of annotations 2025-03-05 21:54:59 +01:00
Simon Vieille 7c5654f3bc add constructor property promotion
add return type of methods
2024-06-27 20:27:31 +02:00
Simon Vieille dd9fbcb654 fix default menu redirect (#257) 2023-06-17 12:59:45 +02:00
Simon Vieille a96e6e3c70 fix default menu redirect (#257) 2023-06-17 12:53:10 +02:00
Simon Vieille 93fef37033 add option to show hovered label only on top menu 2023-05-23 14:09:55 +02:00
Simon Vieille dca727c120 use app href for redirection (fix #244) 2023-04-14 20:58:56 +02:00
Simon Vieille 4258327a70 add 'top-menu-mouse-over-hidden-label' as window property and use it in the AppMenu component 2022-12-26 12:57:07 +01:00
Simon Vieille 0bd1a5baaf split long lines 2022-12-04 00:56:05 +01:00
Simon Vieille 4d05079c70 split long lines 2022-12-04 00:45:29 +01:00
Simon Vieille 053615c2c4 remove this unused "$topMenuAppsOrder" local variable 2022-12-04 00:08:20 +01:00
Simon Vieille a4060c8db7 add possibility to define side_menu as default app and redirect to the first top menu app (#177) 2022-11-20 14:00:26 +01:00
Simon Vieille 0ac55b7ba4 fix #162: top and side app is broken 2022-11-05 15:40:52 +01:00
Simon Vieille 1d06c1b212 fix issue with top and side apps (#162 #159) 2022-11-04 21:43:18 +01:00
Simon Vieille 52d88771d9 add apps sorter is user side (fix #160) 2022-11-04 21:07:44 +01:00
Simon Vieille 1971c6f500 add ordered apps for all displays (#147) 2022-10-27 21:52:29 +02:00
Simon Vieille 07c7221ca2 rename 'top-menu-apps-order' with 'apps-order' 2022-10-27 21:51:58 +02:00
Simon Vieille 84c620637e add custom apps sorting 2022-10-21 17:59:41 +02:00
Simon Vieille 84b50710a6 (cq) rename variable 2022-08-21 13:52:08 +02:00
Simon Vieille 489321081a fix hidden menu 2022-01-12 14:11:38 +01:00
Simon Vieille d34b41ba94 add option to keep an app in the top and side menu 2022-01-12 12:40:17 +01:00
Simon Vieille 0923a9107c fix categories order 2022-01-09 22:17:01 +01:00
Simon Vieille 1cbdca87df generate default colors using theming colors 2022-01-09 16:43:12 +01:00
Simon Vieille a6dd6854e4 fix issue #77 2021-11-14 19:37:14 +01:00
Simon Vieille 3975f3be28 fix #63: add a new side menu with categories 2021-10-21 21:37:32 +02:00
Simon Vieille d2a8b05772 add background opacity (fix #58) 2021-07-03 20:23:39 +02:00
Simon Vieille 9747820cb8 add dark mode colors 2021-02-27 14:21:55 +01:00
Simon Vieille 13f7e63514 PSR 2 compliance 2021-02-03 10:15:59 +01:00
Simon Vieille 64da45e676 add feature: order categories 2021-02-03 10:14:03 +01:00
Simon Vieille 6984efdafd fix issue #51: add link on the logo 2020-12-03 13:33:28 +01:00
Simon Vieille 02825cee67 add option to hide apps (big menu display) 2020-11-03 12:16:36 +01:00
Simon Vieille ae74e745db add menu element: link to settings 2020-10-15 15:46:59 +02:00
Simon Vieille 5e894f9f08 add admin actions: remove cache, export configuration 2020-10-14 16:14:50 +02:00
Simon Vieille a57017e80b fix issue with personal settings when global settings are forced 2020-10-13 11:09:14 +02:00