Files
orca/src/shared
OrcaWinandOrcaWin 0144c429b4 perf(i18n): skip unchanged plugin language packs on plugin-list refreshes (#35602)
* perf(i18n): skip unchanged plugin language packs on plugin-list refreshes

Every plugin-list refresh produced a new entries array (even an empty
one), so I18nProvider removed and re-added every pack as a full copy and
ran changeLanguage, whose languageChanged re-rendered the whole tree.

- The plugin content list store reuses structurally unchanged entries
  (and the previous array when nothing changed).
- Pack registration re-adds only packs whose catalog changed, in main and
  renderer; main rebuilds menus only when something changed.
- I18nProvider re-applies the language only when the selected pack
  changes, which keeps forced re-application for real pack updates.

* fix(i18n): match reused plugin entries by id; keep the namespace after pack removal

removeResourceBundle drops the translation namespace that later backend
loads read, so removing one pack while others stay unchanged broke lazy
loading of built-in catalogs.

---------

Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-10-28 19:32:54 -07:00
..
…