fufesou
0d917c6fa1
fix: remove dup translations ( #15967 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2026-08-25 18:25:49 +08:00
Abdullah Kaleem
7cc82c1575
Add Urdu language support for UI strings ( #15961 )
...
* Add Urdu language support for UI strings till 329 line
Co-authored-by: Copilot <copilot@github.com >
* Add Urdu translations for additional UI strings
* Add Urdu language support in lang.rs
* Fix Urdu translations and remove unused keys in ur.rs
---------
Co-authored-by: Copilot <copilot@github.com >
2026-08-25 09:19:37 +08:00
jhertel
f07b6e2338
Correct Danish spelling, language and translation ( #15943 )
...
* Update da.rs
Corrected spelling, language and translation mistakes.
* Update da.rs
Missed one correction.
2026-08-24 17:22:03 +08:00
fufesou
b0008edcb5
refact: remove linux headless ( #15866 )
...
* refact: remove linux headless
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(linux): probe DRM availability asynchronously on login
Signed-off-by: fufesou <linlong1266@gmail.com >
* revert changes in drm_capturer.rs
Signed-off-by: fufesou <linlong1266@gmail.com >
* Update submodule hbb_common
Signed-off-by: fufesou <linlong1266@gmail.com >
* docs(linux): clarify DRM availability comments
Remove stale headless and unauthenticated-request
wording, and document the Available-only login-screen gate.
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(linux): remove unreachable session cleanup branch
Remove the obsolete empty-session path and
clarify the intended use of cached DRM availability.
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2026-08-18 15:02:50 +08:00
rustdesk
14a4b197ad
translations
2026-08-17 17:22:57 +08:00
Krik JIN
8ffe3117a5
feat(flutter): add mobile canvas lock ( #15877 )
...
* feat: add mobile canvas lock
* Update flutter/lib/models/model.dart
Remove redundant canvas-lock comment
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
* remove redundant logic
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
Co-authored-by: Krik Jin <isjinhk@outlook.com >
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Co-authored-by: fufesou <linlong1266@gmail.com >
2026-08-17 17:04:58 +08:00
RustDesk
7aa98d43cf
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 >
2026-08-14 18:52:03 +08:00
fufesou
d1da05c4db
refact: remove feature plugin-framework ( #15854 )
...
* refact: remove feature plugin-framework
Signed-off-by: fufesou <linlong1266@gmail.com >
* refact: remove unused translations
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: delete settings tab observable with correct type
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2026-08-14 14:31:13 +08:00
Chen, Ting-An
23256e6ac1
fix(i18n): complete Traditional Chinese sign-in strings ( #15829 )
...
Signed-off-by: 陳廷安 <73953029+nrps9909@users.noreply.github.com >
2026-08-11 14:00:05 +08:00
Panos
6fd96dda6e
Update Greek translations for various terms ( #15782 )
2026-08-07 14:39:44 +08:00
Maison da Silva
429c8c6711
Translate sign-in message to Portuguese ( #15770 )
...
Translate sign-in message to Portuguese
2026-08-07 08:31:35 +08:00
Alex Rijckaert
ef3a57580f
Update Dutch translation ( #15767 )
...
* Update Dutch translation
* Update src/lang/nl.rs
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
---------
Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com >
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-08-05 16:51:07 +08:00
fufesou
a84bad4639
refact(oidc): manually open the browser ( #15706 )
...
* refact(oidc): manually open the browser
Signed-off-by: fufesou <linlong1266@gmail.com >
* refact(oidc): allow copying OIDC authentication links
Signed-off-by: fufesou <linlong1266@gmail.com >
* Remove unused translation in ko.rs
Signed-off-by: fufesou <linlong1266@gmail.com >
* refact(oidc): better hint on browser didn't open
Signed-off-by: fufesou <linlong1266@gmail.com >
* refact(oidc): login handle exception
Signed-off-by: fufesou <linlong1266@gmail.com >
* refact(oidc): remove unused translations
Signed-off-by: fufesou <linlong1266@gmail.com >
* refact(oidc): login handle error
Signed-off-by: fufesou <linlong1266@gmail.com >
* refact(oidc): login in flight
Signed-off-by: fufesou <linlong1266@gmail.com >
* refact(translation): move "Continue" to the end of template.rs
Signed-off-by: fufesou <linlong1266@gmail.com >
* refact(oidc): var rename
Signed-off-by: fufesou <linlong1266@gmail.com >
* refact(oidc): remove useless "open sign-in page"
Signed-off-by: fufesou <linlong1266@gmail.com >
* Remove unecessary translation contents
Signed-off-by: fufesou <linlong1266@gmail.com >
* refact(oidc): better way to show&expand the url
Signed-off-by: fufesou <linlong1266@gmail.com >
* refact(oidc): better login ui
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(oidc): discard stale auth results after cancellation
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(oidc): handle auth status query failures safely
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(oidc): prevent concurrent login operations
- reuse the active login dialog and block duplicate password submissions
- cancel only active OIDC operations when closing the dialog
- preserve authentication state until failure cancellation succeeds
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(oidc): refine login options error feedback
Preserve typed errors to hide the network tip for
HTTP failures and clarify the login-options API contract.
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2026-08-04 12:35:04 +08:00
Stephan Paternotte
2f8822ec7a
Update nl.rs ( #15754 )
...
* Update nl.rs
Updates plus a small improvement to the Dutch language file
* Update nl.rs
Now including fixes for coderabbit reportings
* Update nl.rs
Three more fixes re. greptile
* Update nl.rs
typo 'loskoppelenn' fixed as well
2026-08-04 10:29:31 +08:00
Mr-Update
6c69faaa1c
Update de.rs ( #15733 )
2026-08-03 15:47:26 +08:00
RustDesk
d6ea170061
Id whitelist ( #15586 )
...
* id whitelist
* hbb_common
* Update flutter/lib/common/widgets/dialog.dart
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* support wss:// for web client
Signed-off-by: 21pages <sunboeasy@gmail.com >
* fix: handle ID copying separately and remove whitelist logs
Signed-off-by: 21pages <sunboeasy@gmail.com >
* fix en translation
Signed-off-by: 21pages <sunboeasy@gmail.com >
* fix: check switch-side ID whitelist after login initialization
Signed-off-by: 21pages <sunboeasy@gmail.com >
* track pending 2FA challenge state
Signed-off-by: 21pages <sunboeasy@gmail.com >
* support Unicode IDs in whitelist settings
Signed-off-by: 21pages <sunboeasy@gmail.com >
* refactor: unify client ID resolution
Signed-off-by: 21pages <sunboeasy@gmail.com >
---------
Signed-off-by: 21pages <sunboeasy@gmail.com >
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: 21pages <sunboeasy@gmail.com >
2026-07-27 23:24:32 +08:00
hatterp
1c2dd71891
Translate 'Continue' to 'Kontynuuj' in Polish ( #15641 )
2026-07-21 22:43:09 +08:00
cui fliter
5f015c9da1
Translate Continue into Simplified Chinese ( #15621 )
...
Signed-off-by: cuishuang <imcusg@gmail.com >
2026-07-18 17:56:27 +08:00
Maison da Silva
fa418cace6
Translate 'Continue' to 'Continuar' in ptbr.rs ( #15567 )
...
Translate 'Continue' to 'Continuar' in ptbr.rs
2026-07-13 18:56:41 +08:00
Maison da Silva
865fe71c46
Update Portuguese translations for clarity ( #15534 )
2026-07-11 17:18:12 +08:00
bovirus
acb9f63e1d
Update it.rs ( #15531 )
2026-07-08 16:35:34 +08:00
VenusGirl❤
005a8b4a04
Update Korean ( #15525 )
...
Updated Korean translations for clarity and accuracy.
2026-07-08 11:09:39 +08:00
fufesou
28930c0463
fix: non-E2EE show dialog ( #15514 )
...
* fix: non-E2EE show dialog
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: build web, bridge
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: direct IP access, do not snow non-E2EE dialog
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: non E2EE dialog, update contents
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: non-E2EE, show dialog, port forward
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: non-E2EE dialog, port forward, ignore direct IP access
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: non-E2EE is_direct_ip_access()
Signed-off-by: fufesou <linlong1266@gmail.com >
* Simple refactor
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: non-E2EE dialog, port forward, close socket on disconnect
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: non-E2EE dialog, incorrect reuse of Data::Close
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2026-07-06 17:05:11 +08:00
Maison da Silva
2ee580d49d
Update translation for outdated installation message ( #15427 )
...
Update translation for outdated installation message
2026-06-28 12:11:03 +08:00
VenusGirl❤
78b5f47668
Update ko.rs ( #15395 )
2026-06-26 13:51:08 +08:00
jkh0kr
97e9e44faa
Update ko.rs ( #15390 )
...
Incorrect translation
2026-06-26 11:19:18 +08:00
Maison da Silva
a69614d464
Update translation for 'Control Actions' in ptbr.rs ( #15386 )
2026-06-24 12:26:36 +08:00
rustdesk
16570ee34f
fix https://github.com/rustdesk/rustdesk/discussions/15355
2026-06-22 22:57:08 +08:00
Maison da Silva
5cf4323d07
Fix Portuguese translations for consistency ( #15354 )
2026-06-21 16:52:28 +08:00
bovirus
3976701ac6
Update Italian translations ( #15367 )
2026-06-21 16:52:13 +08:00
rustdesk
10f61ffdc2
translate
2026-06-20 18:27:42 +08:00
Re*Index. (ot_inc)
a7c55db9ac
Fix Japanese text ( #15345 )
2026-06-20 09:50:04 +08:00
Maison da Silva
8a955888bf
Fix Portuguese translations for consistency ( #15325 )
...
Fix Portuguese translations for consistency
2026-06-18 10:28:34 +08:00
Maison da Silva
7c26575dbd
Update translation for remote toolbar docking message ( #15297 )
...
* Update translation for remote toolbar docking message
Update translation for remote toolbar docking message
* Translate 'Display' to 'Tela' in Portuguese locale
* Change translation of 'Display' to 'Exibição'
2026-06-17 17:36:27 +08:00
rustdesk
0c86d46162
translate all
2026-06-02 23:33:40 +08:00
bovirus
e87797418f
Update it.rs ( #15173 )
2026-06-02 23:32:04 +08:00
Lynilia
78a3a2aeb9
Update fr.rs ( #15172 )
2026-06-02 22:26:19 +08:00
bovirus
e18cf7a245
Update it.rs ( #15171 )
2026-06-02 22:23:06 +08:00
fufesou
3217125dd3
fix(keyboard): wayland clipboard input prompt ( #14700 )
...
* fix(keyboard): wayland clipboard input prompt
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(wayland): Simple refactor
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(wayland): clipboard input, remove unused code
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(wayland): Simple refactor
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(wayland): dialog, better enableAndContinue
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(wayland): input dialog consent
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(wayland): prompt text
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(wayland): text input
1. Use `keysym` for the installed version if possible.
2. Use the clipboard if the string cannot be fully handled by `keysym`.
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(wayland): input prompt dialog
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(wayland): translations
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(wayland): dialog, title type
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(wayland): better decode_utf8_prefix()
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(wayland): better process_chr()
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(wayland): unit tests
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(wayland): input prompt dialog, no icon
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(wayland): input dialog, Toast show the result
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(wayland): input dialog, showToast() on persist failed
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(wayland): input prompt, better dialog
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(wayland): input prompt dialog, translations
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(input): better wayland clipboard input prompt
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(input): wayland clipboard, link external app
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(input): trivial changes
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(input): wayland clipboard input, dialog content
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(input): tranlsations
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(input): translations
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(input): translations
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(input): translations
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2026-06-02 16:06:35 +08:00
bovirus
00032854eb
Update it.rs ( #15167 )
...
* Update it.rs
* Update it.rs
2026-06-02 16:00:43 +08:00
21pages
d99ddf6816
Add Android device deployment flow ( #15146 )
...
* Add Android device deployment flow
Notify the Android Flutter UI when the server requires deployment, add a deploy dialog with API token/custom ID inputs, and reuse shared deploy logic
for CLI and FFI
Signed-off-by: 21pages <sunboeasy@gmail.com >
* Hide Android deploy API token input
Signed-off-by: 21pages <sunboeasy@gmail.com >
* add more translations
Signed-off-by: 21pages <sunboeasy@gmail.com >
* optimize transations
Signed-off-by: 21pages <sunboeasy@gmail.com >
* Hide deploy action for outgoing-only clients
Signed-off-by: 21pages <sunboeasy@gmail.com >
* Fix deployment register throttle state reset
Signed-off-by: 21pages <sunboeasy@gmail.com >
* Move Android deploy dialog out of settings page
Signed-off-by: 21pages <sunboeasy@gmail.com >
* Use async mutex for deploy register throttle
Signed-off-by: 21pages <sunboeasy@gmail.com >
---------
Signed-off-by: 21pages <sunboeasy@gmail.com >
2026-06-02 14:28:30 +08:00
Maison da Silva
bed0976eb9
Fix Portuguese translations in ptbr.rs ( #15149 )
...
Corrected Portuguese translations for consistency and clarity.
2026-06-01 10:38:31 +08:00
Maison da Silva
fa369365a5
Update Portuguese translations for clarity ( #15135 )
...
* Update Portuguese translations for clarity
Update Portuguese translations for clarity
* Update ptbr.rs
* Update Portuguese translations for clarity
* Update Portuguese translation for version warning
* Refine Portuguese translations in ptbr.rs
Updated translations for user input blocking and OS password.
* Fix translation for 'Take screenshot' in Portuguese
* Change translation for 'Note' to 'Anotações'
* Update translation from 'nota' to 'anotação'
2026-05-30 15:44:04 +08:00
hatterp
7345366ba7
Add Polish translations for privacy mode and toolbar docking ( #15134 )
2026-05-29 17:52:42 +08:00
Kleofass
6151ea7128
Update lv.rs ( #15133 )
2026-05-29 14:09:43 +08:00
Alex Rijckaert
440ab26b69
Update Dutch translations ( #15132 )
2026-05-29 08:49:27 +08:00
Mr-Update
d59d543ec1
Update de.rs ( #15131 )
2026-05-28 14:56:19 +08:00
bilimiyorum
58d1109510
Update tr.rs ( #15119 )
...
New string entry
2026-05-28 14:52:41 +08:00
bovirus
9c52e25a6a
Update Italian language ( #15118 )
2026-05-28 13:42:14 +08:00
solokot
62a44c5a09
Update ru.rs ( #15117 )
2026-05-28 13:41:48 +08:00