Commit Graph

133 Commits

Author SHA1 Message Date
dillard 2c3e6a245b fix(config): clear the old category cache on upgrade
The old cache is only replaced when the categories are requested, so
on instances that use a menu without categories the 170 KB app config
value stayed and was still loaded on every request. A post-migration
repair step clears it when the app is upgraded.
2026-09-30 13:32:40 +02:00
dillard 22e87e12ad fix(config): only cache category names in the languages in use
The cache held the category names in all 96 app store languages
(about 49 KB), while an instance typically uses one or two. Keep only
English, the default language and the languages users have set, as the
two-letter codes the lookup uses; on a Dutch instance this is about
1.3 KB.

A user who switches to a language that is not cached yet sees English
names until the cache is refreshed after a week, or right away when an
admin saves the settings. The README mentions this.
2026-09-30 13:17:37 +02:00
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 9a71429182 doc: update changelog 2026-09-18 18:30:48 +02:00
Simon Vieille f1b495809f fix #510: [Bug] Styling of the icon labels and overflow icon is not correct 2026-09-18 18:28:08 +02:00
Simon Vieille e44b2c70a7 feat(app): add compatibility with Nextcloud 35 2026-09-18 18:06:54 +02:00
Simon Vieille 4975743441 feat: release v6.1.0 2026-09-07 18:06:55 +02:00
Simon Vieille 9eab478c36 chore(info): set version 2026-07-18 16:28:51 +02:00
Simon Vieille e81f0e4b76 doc: update changelog 2026-07-18 15:52:34 +02:00
Simon Vieille 1a8063bd94 doc: update changelog 2026-07-18 13:00:51 +02:00
Simon Vieille 12b35470c7 doc: update changelog 2026-07-17 18:58:42 +02:00
Simon Vieille ad162f5821 doc: update changelog 2026-07-17 18:34:53 +02:00
Simon Vieille a32bf417a7 fix: #489: allow PHP 8.5 compatibility 2026-04-05 09:12:58 +02:00
Simon Vieille 337e1a07e3 doc: update changelog 2026-03-08 19:10:29 +01:00
Simon Vieille 0067b4e1c8 doc: update changelog 2026-03-08 19:05:56 +01:00
Simon Vieille 77cf610c8b Merge branch 'develop' into bugfix/intl-segmenter-polyfill 2026-03-08 19:05:14 +01:00
Simon Vieille d057cd7665 doc: update changelog 2026-03-01 13:11:26 +01:00
Simon Vieille 54f4dce09b chore: add compatibility with NC33 2026-02-27 09:16:02 +01:00
Simon Vieille 0124336558 doc: update changelog 2026-02-16 10:12:09 +01:00
Simon Vieille 7d26be253a doc: update changelog 2026-01-10 15:51:26 +01:00
Simon Vieille 403a7a72fb update changelog 2025-09-29 00:18:55 +02:00
Simon Vieille ce39df6c2d update changelog 2025-09-28 19:47:42 +02:00
Simon Vieille c54c969824 release v5.1.2 2025-09-28 19:43:27 +02:00
Simon Vieille 3f16a674e6 release v5.1.1 2025-05-23 09:02:11 +02:00
Simon Vieille 782faf6add update changelog 2025-05-04 18:34:29 +02:00
Simon Vieille b0e01c2eec update changelog 2025-04-30 12:57:49 +02:00
Simon Vieille 33ab7dff97 update changelog 2025-04-30 12:50:51 +02:00
Simon Vieille 8772504b76 release v5.0.3 2025-04-30 08:41:10 +02:00
Simon Vieille 1fcbd89d19 release v5.0.2 2025-04-29 19:26:07 +02:00
Simon Vieille f177340b13 update changelog 2025-04-29 19:24:04 +02:00
Simon Vieille fd4628d209 update changelog 2025-04-29 19:22:25 +02:00
Simon Vieille 7b4b447754 fix(StandardMenu): appLimit must return a value > 0 2025-04-17 00:02:47 +02:00
Simon Vieille 174c80e654 update changelog 2025-04-16 19:55:07 +02:00
Simon Vieille cdad60ca7a update changelog 2025-04-16 19:46:40 +02:00
Simon Vieille 9278d61719 Merge remote-tracking branch 'weblate/translations' into translations 2025-04-16 19:20:27 +02:00
Simon Vieille e159aff3e7 release v4.1.1 2025-03-12 18:35:34 +01:00
Simon Vieille 20946bcb06 update changelog 2025-03-12 18:21:18 +01:00
Simon Vieille ba737434e5 update changelog 2025-03-12 17:58:29 +01:00
Simon Vieille 45c7bd361f update changelog 2025-03-10 19:17:04 +01:00
Simon Vieille c9fb83cdda Merge branch 'develop' into translations 2025-03-10 19:14:33 +01:00
Simon Vieille 4e8a751f33 update changelog 2025-03-10 19:11:59 +01:00
Simon Vieille 0402e00eac update changelog 2024-10-30 19:07:31 +01:00
Simon Vieille 7388fb3fc0 update version 2024-10-27 17:09:27 +01:00
Simon Vieille 83cc15b1bb update changelog 2024-07-10 19:51:00 +02:00
Simon Vieille 3b992dc06f release v3.13.0 2024-07-05 12:57:15 +02:00
Simon Vieille 71f5dfef9a add compatibility with NC29 2024-04-08 11:41:26 +02:00
Simon Vieille 56904c5aa0 release v3.11.8 2024-02-20 21:22:05 +01:00
Simon Vieille 32cd25b736 update changelog 2024-02-20 21:18:18 +01:00
Simon Vieille d9d4306ed3 update changelog 2024-02-14 13:31:10 +01:00
Simon Vieille cb44d1eb2a update changelog 2024-02-14 13:29:36 +01:00