‹ Reports
The Dispatch

OSS Report: rustdesk/rustdesk


RustDesk Development Focuses on Bug Fixes and Localization Amidst User Interface Challenges

RustDesk, an open-source remote desktop application, continues to evolve with a focus on bug fixes, feature enhancements, and translation updates to improve user experience and accessibility.

Recent activities in the RustDesk project highlight ongoing efforts to address platform-specific issues, particularly with RDP input handling on Wayland systems (#9019). The development team is actively working on improving compatibility across different environments, crucial for a remote desktop application. Notable closed PRs include refactoring keyboard event handling in Flutter (#9160) and enhancing file transfer UI responsiveness (#9153). Localization efforts are evident with updates to Latvian (#9155) and Czech (#9144) translations, reflecting a commitment to expanding global reach.

Recent Activity

Recent issues and pull requests indicate a focus on resolving user interface inconsistencies and improving cross-platform functionality. The open PR #9019 addresses RDP input issues on Wayland, highlighting the project's commitment to compatibility. Closed PRs such as #9160 and #9153 show a trend towards refining existing features for better performance and usability.

Development Team Activity

  1. fufesou

    • Refactored Flutter keyboard handling; fixed privacy mode issues.
    • Collaborated on UI components and error handling improvements.
  2. 21pages

    • Enhanced desktop file manager; involved in translations and documentation.
  3. Kleofass

    • Updated Latvian language file.
  4. jxdv

    • Updated Czech and Slovak language files.
  5. danielehrhardt

    • Added README information about public server usage.
  6. flusheDData

    • Updated Spanish language files.
  7. xlionjuan

    • Updated Traditional Chinese language files.
  8. Mr-Update

    • Contributed to German language updates.
  9. bovirus

    • Updated Italian language files.

Of Note

Quantified Reports

Quantify Issues



Recent GitHub Issues Activity

Timespan Opened Closed Comments Labeled Milestones
7 Days 20 17 43 0 1
30 Days 74 70 163 0 1
90 Days 210 199 549 3 1
1 Year 221 199 640 3 1
All Time 2972 2929 - - -

Like all software activity quantification, these numbers are imperfect but sometimes useful. Comments, Labels, and Milestones refer to those issues opened in the timespan in question.

Quantify commits



Quantified Commit Activity Over 30 Days

Developer Avatar Branches PRs Commits Files Changes
fufesou 1 35/32/4 32 117 3953
21pages 1 22/21/1 21 96 2693
RustDesk 1 1/1/0 30 80 1785
Vasyl Gello 1 14/13/1 13 6 540
Ivan Beà 1 1/1/0 1 1 436
dignow 1 1/2/0 2 26 299
jkh0kr 1 2/2/0 2 1 124
Yevhen Popok 1 3/3/0 3 3 94
Hamir Mahal 1 1/1/0 1 1 66
bovirus 1 6/6/0 6 1 44
mehdi-song 1 2/1/1 1 1 44
jxdv 1 2/2/0 2 2 42
XLion 1 2/2/0 2 2 42
Mr-Update 1 4/4/0 4 1 34
kibeb 1 2/2/0 2 1 32
flusheDData 1 4/4/0 4 1 32
Xp96 1 1/1/0 1 1 30
FastAct 1 4/4/0 4 1 30
Kleofass 1 1/1/0 1 1 30
solokot 1 2/2/0 2 1 14
Daniel Ehrhardt 1 1/1/0 1 1 12
zuiyu 1 3/1/2 1 1 6
Generalworks Inc. 1 1/1/0 1 1 2
Sean Yu (yupeak) 0 1/0/1 0 0 0
None (linqile) 0 1/0/1 0 0 0
Lương Việt (pzokid2) 0 1/0/1 0 0 0
VEE (veelove) 0 1/0/1 0 0 0
None (vumstar) 0 1/0/1 0 0 0
Silverbackgod (Silvrbckw) 0 1/0/1 0 0 0
Xu Shaohua (XuShaohua) 0 1/0/1 0 0 0
None (RandallXia) 0 1/0/1 0 0 0
shylock (Shylock-Hg) 0 4/0/3 0 0 0
None (a751116023) 0 1/0/1 0 0 0
None (noname123321123) 0 1/0/1 0 0 0

PRs: created by that dev and opened/merged/closed-unmerged during the period

Detailed Reports

Report On: Fetch issues



Recent Activity Analysis

The RustDesk GitHub repository currently has 43 open issues, with significant recent activity highlighting various bugs and feature requests. Notably, many issues are related to user interface problems, keyboard input inconsistencies across different operating systems, and connection stability. A recurring theme is the challenge of maintaining consistent performance and functionality across diverse environments, particularly with regard to keyboard mapping and display rendering.

Several issues indicate a lack of clarity in user permissions and configurations, which may lead to security concerns or usability challenges. The community's feedback suggests that while improvements have been made, there are still critical areas requiring attention, particularly in the context of cross-platform compatibility and user experience.

Issue Details

Here are some of the most recently created and updated issues:

  1. Issue #9131: Windows 7 Pro, Successful, Connected, waiting for image won't allow control.

    • Priority: Bug
    • Status: Open
    • Created: 4 days ago
    • Updated: 0 days ago
  2. Issue #9110: Privacy Mode 2 doesn't work on latest nightly.

    • Priority: Bug
    • Status: Open
    • Created: 5 days ago
    • Updated: 0 days ago
  3. Issue #9096: File transfer won't do anything on empty folders.

    • Priority: Bug
    • Status: Open
    • Created: 8 days ago
    • Updated: 5 days ago
  4. Issue #9003: Disconnection when closing windows.

    • Priority: Bug
    • Status: Open
    • Created: 16 days ago
    • Updated: 3 days ago
  5. Issue #8954: BSOD when connecting to Physical Windows Host with an NVIDIA GPU.

    • Priority: Bug
    • Status: Open
    • Created: 19 days ago
    • Updated: 6 days ago

Important Observations

  • The issue regarding Windows 7 (#9131) indicates a significant problem with remote control functionality that could alienate users still relying on older operating systems.
  • Privacy Mode issues (#9110) suggest that security features may not be functioning as intended, potentially exposing users to risks.
  • The file transfer bug (#9096) highlights a limitation in the application’s functionality that could hinder productivity.
  • The BSOD issue (#8954) raises concerns about stability when using specific hardware configurations, which could deter users from adopting RustDesk in professional environments.

These issues collectively point to a need for enhanced testing across various platforms and configurations to ensure reliability and security in user interactions with the software.

Report On: Fetch pull requests



Overview

The analysis of the pull requests (PRs) for the RustDesk project reveals a total of 1 open PR and 3367 closed PRs. The recent activity indicates ongoing development efforts focusing on bug fixes, feature enhancements, and translation updates.

Summary of Pull Requests

Open Pull Request

  • PR #9019: Fix/rdp input wayland
    • State: Open
    • Created: 14 days ago
    • Significance: This draft PR aims to fix issues related to RDP mouse cursor scaling on Wayland. It addresses a specific bug (issue #8524) and has generated extensive discussion about error handling and testing across different desktop environments. Review comments suggest that further testing is needed, especially concerning multi-monitor setups.

Closed Pull Requests

  • PR #9160: refact: flutter keyboard, map mode

    • State: Closed (Merged)
    • Significance: Refactors the handling of keyboard events in Flutter, improving compatibility with USB HID codes. Notably, it acknowledges limitations in sending system keys to the controlled side.
  • PR #9155: Update lv.rs

    • State: Closed (Merged)
    • Significance: Updates the Latvian language file with new translations.
  • PR #9153: desktop file transfer, all columns respond to tap

    • State: Closed (Merged)
    • Significance: Enhances the user interface for file transfers by making all columns responsive to taps and improving visual feedback on right-click actions.
  • PR #9151: Give movement priority to host rather than client

    • State: Closed (Not Merged)
    • Significance: Attempts to modify mouse event handling but was not merged. The discussion highlights complexities in managing input events between host and client.
  • PR #9144: Update trs

    • State: Closed (Merged)
    • Significance: Updates translation files for Czech language support.
  • PR #9141: fix: privacy mode 2, restore

    • State: Closed (Merged)
    • Significance: Reverts a previous change to improve display restoration behavior when toggling privacy mode.
  • PR #9138: replace appindicator to ayatana-appindicator

    • State: Closed (Not Merged)
    • Significance: Proposed changes to replace appindicator with ayatana-appindicator but faced compatibility issues across various Linux distributions.
  • PR #9127: Fix new cm tab not replace the old persisted tab

    • State: Closed (Merged)
    • Significance: Addresses a UI issue where new tabs were not replacing old ones correctly after changes in state management.
  • PR #9117: opt desktop file manager status list

    • State: Closed (Merged)
    • Significance: Improves the desktop file manager's UI by showing more detailed status information and optimizing layout.
  • PR #9091: fix: crash, drop tokio RunTime in async context (Wayland)

    • State: Closed (Merged)
    • Significance: Resolves a critical crash issue related to asynchronous contexts in Wayland environments.

Analysis of Pull Requests

The pull requests for RustDesk reflect a vibrant development environment characterized by active contributions focused on enhancing functionality, fixing bugs, and improving user experience. Notably, the open PR (#9019) indicates ongoing efforts to address platform-specific issues related to RDP input handling on Wayland systems. This highlights a commitment to ensuring compatibility across various desktop environments, which is crucial for a remote desktop application that aims to serve a diverse user base.

Several closed PRs demonstrate a strong emphasis on localization and internationalization efforts, as seen in PRs like #9155 and #9144. These updates are essential for expanding RustDesk's accessibility and usability across different languages and regions. The community's engagement in translating documentation and interface elements underscores the project's commitment to inclusivity.

Moreover, there is a clear trend towards refining existing features rather than introducing entirely new functionalities. For instance, PRs such as #9160 and #9153 focus on refactoring code for better performance and usability improvements without altering core functionalities significantly. This approach suggests that the maintainers prioritize stability and reliability in their releases.

However, some PRs have faced challenges or have been left unmerged due to various reasons. For example, PR #9151 aimed at changing input event handling but did not make it into the main branch, indicating potential disagreements or concerns regarding implementation strategies. The discussions around these PRs often reveal differing opinions among contributors about how best to approach certain technical challenges, particularly regarding user interface behavior and input management.

The presence of numerous translation updates also indicates that while RustDesk is actively developing its technical capabilities, it is equally focused on enhancing its global reach through community-driven localization efforts. This dual focus on technical robustness and user accessibility positions RustDesk as a serious contender in the remote desktop software market.

In conclusion, RustDesk's pull request activity showcases an active development community dedicated to continuous improvement. The project balances technical enhancements with user experience considerations while fostering an inclusive environment for contributions from diverse linguistic backgrounds. However, ongoing discussions around certain PRs suggest that consensus-building among contributors remains an essential aspect of the development process moving forward.

Report On: Fetch commits



Recent Development Team Activity Analysis

Team Members and Recent Activities

1. fufesou

  • Recent Commits: 32 commits with 3953 changes.
  • Key Contributions:
    • Refactored the Flutter keyboard and map mode.
    • Fixed privacy mode issues and improved error handling.
    • Worked on various UI components, including desktop settings and file manager.
    • Collaborated with multiple team members on various pull requests.

2. 21pages

  • Recent Commits: 21 commits with 2693 changes.
  • Key Contributions:
    • Enhanced desktop file manager functionalities, including tap responsiveness and item border visibility.
    • Addressed issues related to connection management and UI updates.
    • Involved in translations and documentation updates.

3. Kleofass

  • Recent Commits: 1 commit with 30 changes.
  • Key Contributions:
    • Updated the Latvian language file.

4. jxdv

  • Recent Commits: 2 commits with 42 changes.
  • Key Contributions:
    • Updated Czech and Slovak language files.

5. danielehrhardt

  • Recent Commits: 1 commit with 12 changes.
  • Key Contributions:
    • Added information about public server usage to the README.

6. flusheDData

  • Recent Commits: 4 commits with 32 changes.
  • Key Contributions:
    • Focused on updating Spanish language files.

7. xlionjuan

  • Recent Commits: 2 commits with 42 changes.
  • Key Contributions:
    • Updated Traditional Chinese language files.

8. Mr-Update

  • Recent Commits: 4 commits with 34 changes.
  • Key Contributions:
    • Contributed to German language updates.

9. bovirus

  • Recent Commits: 6 commits with 44 changes.
  • Key Contributions:
    • Updated Italian language files.

Patterns and Themes

  • The team is actively engaged in both feature development (e.g., UI enhancements, bug fixes) and localization efforts (language updates).
  • Collaboration is evident, with multiple team members contributing to shared components and documentation, indicating a cohesive team dynamic.
  • There is a strong focus on improving user experience through UI refinements and addressing reported issues, particularly related to privacy features and file management functionalities.

Conclusions

The development team is currently active, with significant contributions across various aspects of the RustDesk project. The emphasis on both functionality improvements and localization reflects a commitment to enhancing user experience while catering to a diverse user base.