Refact/plugin removal leftovers (#15864)

* fix(flutter): dispose the settings PageController and order dispose() correctly

`dispose()` began with `super.dispose()`, so the mixin chain marked the State
defunct before the WidgetsBindingObserver registration and the periodic timer
were released. The `PageController` was never disposed at all: `Get.delete`
only runs `onDelete()` for a `GetLifeCycleBase`, and a plain `ChangeNotifier`
is not one, so every open/close of the Settings tab leaked one controller with
its listener still attached.

Also guard `switch2page` on the `Rx<SettingsTabKey>` registration it actually
reads rather than only the `PageController` — now that both are really
deleted, a partial teardown would throw into the catch and silently open the
wrong tab — and re-check `mounted` after the await in the `_videoConnTimer`
tick, which `Timer::cancel` cannot stop once the body has started.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* refact: finish the plugin-framework removal sweep

#15854 removed the feature but stopped short of its leftovers:

- `Uninstall`, `Enable`, `Disable`, `Options` and `Please install plugins`
  were consumed only by the deleted `flutter/lib/plugin/**`; drop them from
  template.rs and the 50 locale files (250 dead entries). `Update` and
  `Install` stay, still used by desktop_home_page.dart.
- The server no longer sends `PrvOnFailedPlugin`, and the client no longer
  offers to install plugins when privacy mode fails to turn on.
- Drop the MSI `F_Client_Plugins` / `F_Server_Plugins` localization strings;
  no `.wxs` references them.
- `_DisplayMenu`'s constructor became a pure pass-through once `pluginItem`
  was removed, and the cfg inside `handle_input` repeats the one on the
  function itself.
- Normalize `src/lang/sl.rs` to 0644, the only executable file under src/.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* fix(client): handle legacy privacy mode plugin failures

Signed-off-by: fufesou <linlong1266@gmail.com>

---------

Signed-off-by: fufesou <linlong1266@gmail.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: fufesou <linlong1266@gmail.com>
This commit is contained in:
RustDesk
2026-08-14 18:52:03 +08:00
committed by GitHub
parent d1da05c4db
commit 7aa98d43cf
55 changed files with 18 additions and 272 deletions

View File

@@ -294,7 +294,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Someone turns on privacy mode, exit", "اگر شخصی حالت حریم خصوصی را روشن کرد، خارج شوید"),
("Unsupported", "پشتیبانی نشده"),
("Peer denied", "توسط میزبان راه دور رد شد"),
("Please install plugins", "لطفا افزونه ها را نصب کنید"),
("Peer exit", "میزبان خارج شد"),
("Failed to turn off", "خاموش کردن انجام نشد"),
("Turned off", "خاموش شد"),
@@ -483,11 +482,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Fingerprint", "\n اثر انگشت"),
("Copy Fingerprint", "کپی کردن اثر انگشت"),
("no fingerprints", "بدون اثر انگشت"),
("Uninstall", "حذف نصب"),
("Update", "به روز رسانی"),
("Enable", "فعال کردن"),
("Disable", "غیر فعال کردن"),
("Options", "گزینه ها"),
("resolution_original_tip", "وضوح اصلی"),
("resolution_fit_local_tip", "متناسب با وضوح محلی"),
("resolution_custom_tip", "وضوح سفارشی"),