Commit Graph

27 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 520225603b fix(admin/*SaveButton): cast settings to string 2026-03-01 13:09:02 +01:00
Simon Vieille d2730afe9f fix #425: allow to set a color using hex code 2025-04-30 12:57:13 +02:00
Simon Vieille a43da950e8 optimize FormDisplayPicker ui 2025-04-16 12:18:26 +02:00
Simon Vieille 0278a92c4f allow to easly import components 2025-04-16 12:18:06 +02:00
Simon Vieille 4de7c72b1e use external link component for links 2025-04-16 12:17:40 +02:00
Simon Vieille 51233920f9 add translations 2025-04-16 12:17:12 +02:00
Simon Vieille 36737cf6d5 show error on save 2025-04-16 09:16:33 +02:00
Simon Vieille b98bbd1053 save settings with password confirmation 2025-04-16 09:15:58 +02:00
Simon Vieille 31b330451c remove console.log 2025-04-16 09:15:52 +02:00
Simon Vieille c32d1fffec refactore of menus: classes and scss 2025-04-16 09:15:25 +02:00
Simon Vieille c4a92dbbc3 format code 2025-04-16 09:15:18 +02:00
Simon Vieille 009a5ed024 improve settings components and scss 2025-04-16 09:15:10 +02:00
Simon Vieille c8194a4dcc improve settings components and scss 2025-04-16 09:15:02 +02:00
Simon Vieille b835bbb34d format code 2025-04-16 09:14:12 +02:00
Simon Vieille fdd8f8850d add user settings 2025-04-16 09:14:06 +02:00
Simon Vieille 0bf7eada4c format code 2025-04-16 09:13:45 +02:00
Simon Vieille 89ca510897 add categories customization 2025-04-16 09:13:38 +02:00
Simon Vieille 63b32ea40f add categories orderer
move the admin menu to the left
2025-04-16 09:13:28 +02:00
Simon Vieille 0821802157 format code 2025-04-16 09:13:20 +02:00
Simon Vieille ab64a13fc1 add app orderer 2025-04-16 09:13:12 +02:00
Simon Vieille 952106f437 add admin responsive view 2025-04-16 09:11:54 +02:00
Simon Vieille e616f0204b add display picker 2025-04-16 09:11:48 +02:00
Simon Vieille f4b134cd28 rename Logo component and remove Loader component
add licence
2025-04-16 09:07:56 +02:00
Simon Vieille 8474f0945b fix linter issues 2025-04-16 09:07:17 +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