Back to blog
MyDeskViewer

Development changes

A public overview of recent development work, fixes and improvements. Internal implementation details are intentionally generalized.

Updated September 19, 2026 17:08 UTC

September 19, 2026

  • Platforms: Android, Windows Store
  • Simplified machine-password handling with a visible password, direct Copy action, and one-click password regeneration.
  • Expanded remote-control protocol compatibility with dynamic stream quality, full-frame refresh requests, capture acknowledgements, and improved input handling.
  • Added remote mouse-wheel/scroll handling on Android.
  • Platforms: macOS, Linux, FreeBSD
  • Added P1-P10 stream quality profiles and runtime quality changes across the desktop sender implementations.
  • Added full-frame refresh handling, capture acknowledgements, and pause/resume behavior when the remote view is hidden or shown again.
  • Added software Module 1-style differential screen updates to reduce unnecessary full-frame transfers.
  • Improved remote mouse, keyboard, text, drag, and wheel behavior across supported desktop environments.
  • Platforms: Linux, FreeBSD
  • Added encrypted peer-to-peer remote-session transport with automatic fallback when a direct path is unavailable.
  • Added local incoming-session approval support to FreeBSD.
  • Simplified FreeBSD machine-password requirements to match the other desktop senders.
  • Added encrypted direct peer-to-peer remote sessions with automatic fallback when direct connectivity is unavailable.
  • Kept Windows Store screen capture aligned with the desktop Module 1/Module 1 capture path with a managed fallback for compatibility.
  • Improved Store release packaging and validation for Microsoft Store distribution and updates.
  • Platforms: Windows
  • Added a full MSI installation path with a standard setup wizard, installation-directory selection, application branding, shortcuts, background-service installation, upgrade, repair, and uninstall support.
  • Added automatic MSI version generation and release verification helpers.
  • Platforms: Web
  • Added a Microsoft Store download tile to the Downloads page alongside the existing Windows distribution options.
  • Added localized Microsoft Store download text for English, Polish, Japanese, French, and German.

September 18, 2026

  • Platforms: Windows
  • Reworked the standard installer window into a wider, shorter layout so setup remains fully usable on displays with limited vertical space.
  • Enabled Windows remote-session performance optimization by default while keeping automatic restoration when the remote session ends.
  • Improved the packaged Windows client so the same remote-session optimization behavior is used consistently.

September 17, 2026

  • Platforms: Windows
  • The offline installer no longer launches an extra MyDeskViewer desktop process after setup; the background service is started once and the UI remains user-launched.
  • Added automatic installer-language detection from the Windows system language.
  • Added an installer language selector so the language can be changed manually during setup.
  • Added installer translations for English, Polish, French, Japanese, and German in both the standard and offline Windows installers.
  • The selected installer language is preserved when setup restarts with administrator permissions.

September 16, 2026

  • Platforms: Windows
  • Fixed a packaged Windows client crash that could occur after sign-in while the grouped computer list was being refreshed.
  • Grouped device-list updates are now applied through the UI thread more safely, improving stability during account and machine refreshes.
  • Added additional Windows crash diagnostics around startup and post-login UI initialization.
  • Added a standalone offline MyDeskViewer installer for environments where installation-time downloads are not allowed or not desirable.
  • The offline installer bundles the Windows application and background service in one package and does not download application files during setup.
  • Added Install, Repair, and Uninstall modes together with silent /q installation support.
  • The offline installer creates the normal Windows shortcuts and Apps & Features registration and starts the MyDeskViewer background service after installation.

September 15, 2026

  • Platforms: Windows
  • Improved the packaged Windows client Module 3 identity so the application name is presented consistently in Windows and the taskbar.
  • Refined packaged-client window sizing for startup, sign-in, and the main post-login view to better fit common desktop displays.

September 14, 2026

  • Platforms: Windows
  • Expanded installer maintenance support with quiet install, repair, and uninstall command-line modes for managed deployments.
  • Improved Windows Apps & Features registration so installed MyDeskViewer can expose repair and uninstall actions consistently.
  • Improved service replacement during repair/reinstall so the installer waits for the previous service instance to stop and disappear before creating the new one.
  • Added clearer installer exit codes for automated deployment and troubleshooting.
  • Platforms: Web
  • Updated the Downloads page with a direct Microsoft .NET 8 Desktop Runtime link for Windows users who need the prerequisite separately.
  • Added public installer exit-code documentation for silent and managed installation scenarios.

September 13, 2026

  • Platforms: Windows
  • Improved Windows App Runtime prerequisite handling for the Windows desktop build.
  • The installer now installs the required Windows App Runtime quietly only when it is missing.
  • Repair operations reuse an already installed compatible runtime instead of reinstalling it unnecessarily.

September 10, 2026

  • Platforms: Windows, Server/Linux, Web
  • Added automatic MyDeskViewer PRO entitlement activation after a verified PayU COMPLETED payment.
  • Added users.pro_valid_until as a DATE so paid PRO always expires at the end of a calendar day instead of at a payment hour/minute.
  • Existing level=1 accounts without an expiry date remain lifetime PRO and are never shortened by a paid purchase.
  • Renewing an active dated PRO plan extends from the existing expiry date so remaining paid days are preserved.
  • Added one-time server-issued PRO purchase intents and extOrderId-based purchase history so duplicate PayU callbacks cannot extend an account twice.
  • Test PayU payments never grant or extend PRO.
  • Expired dated PRO accounts are normalized back to Basic and all API/control authorization uses the effective dated plan.
  • The website account panel now shows Basic/PRO status and the exact PRO-valid-through date.
  • PayU confirmation email and success handling use the server-returned entitlement date instead of calculating a local +1 year guess.
  • Platforms: Windows, Web
  • Added PRO expiry reminders. The Windows tray shows low-noise milestone notifications at 30, 14, 7, 3, 1 and 0 days before expiry, plus one expired notice.
  • PRO expiry tray notifications are stored locally per account/date/milestone so restarting MyDeskViewer does not repeat the same warning.
  • The web account panel highlights PRO expiry within 30 days and shows a direct Renew PRO action.
  • API user data now includes proValidUntil, proLifetime and proDaysRemaining so other clients can add the same notification UI later without changing the server contract.

September 9, 2026

  • Platforms: Windows, Android, Linux, macOS, Server/Linux
  • Added central account-device limits enforced by the account API across platforms: Basic accounts can be used on up to 2 devices and PRO accounts on up to 5 devices.
  • Re-authenticating the same device replaces its previous session instead of consuming another device slot.
  • Revoked and expired sessions no longer count toward the device limit, and website sessions are excluded from the app-device count.
  • Added a server-enforced saved-computer limit: Basic accounts can keep up to 10 computers in the saved list, while PRO accounts remain unlimited.
  • The Basic saved-list limit is checked before every path that can create a new computer entry, including Favorite-created entries, while existing saved computers can still be edited at 10/10.
  • Platforms: Windows, Server/Linux
  • Added real Details, System, and Activity tabs to the selected-computer card in the Windows client.
  • Removed the unused X control from the selected-computer header and the unused V control next to Connect.
  • Added machine system telemetry stored by machine_id and exposed through authenticated API endpoints.
  • Static system data includes Windows edition, installed .NET runtimes/frameworks, processor, physical memory, fixed-disk list, and system language.
  • Startup telemetry refreshes system-drive free space, user TEMP size, Windows TEMP size, Azure/UPN identity, and uptime once per program run.
  • Static telemetry is collected only until the first successful upload for the current telemetry schema and the local completion marker is stored in the existing encrypted config.dat.
  • Added Activity tracking for remote connection start/end events together with system uptime.
  • System and Activity tabs refresh directly from the server every time the user enters the tab.
  • Added machine_system_info and machine_activity SQL tables with automatic server-side schema creation and bounded activity history.

September 8, 2026

  • Platforms: Windows
  • Replaced the Windows localization resource flow with JSON language packs using English as the canonical source.
  • Language JSON files are embedded directly in MyDeskViewer.dll so release/update handling no longer depends on copying language subdirectories.
  • Added exact-locale, base-locale, English, invariant-resource, and key fallback resolution for localized strings.
  • Language discovery is now dynamic from the embedded language resources instead of a hard-coded language list.
  • Added a JSON translation workflow with placeholder protection and source-hash metadata so unchanged translations are not regenerated unnecessarily.
  • Platforms: Windows, Server/Linux
  • Fixed account language synchronization so the SQL/account language remains authoritative while the user is signed in.
  • Local machine language is now used only when no account session is active, preventing the language selector from jumping back after a server refresh.

September 5, 2026

  • Platforms: Android
  • Added MyDeskViewer two-factor authentication (MFA/2FA) support to the Android client.
  • Google and email/password sign-in now stop at the MFA challenge when two-factor authentication is enabled for the account.
  • Android sign-in accepts both six-digit authenticator codes and one-time recovery codes before creating the local API session.
  • Added Android account controls to check MFA status and enable or disable two-factor authentication.
  • MFA setup can open an installed authenticator through the otpauth URI and also provides the manual setup key as a fallback.
  • Recovery codes can be copied or shared/saved from the Android setup flow.
  • The Android client can show the post-login MFA setup suggestion and dismiss it through the same account API used by the desktop client.
  • Platforms: Linux
  • Added full MyDeskViewer two-factor authentication (MFA/2FA) support to the Avalonia Linux client.
  • Google and email/password sign-in now detect MFA challenges before any local authenticated session is saved.
  • Linux sign-in accepts six-digit authenticator codes and one-time recovery codes, and stores the API session only after successful MFA verification.
  • Added Linux 2FA account settings with status checking, enable, disable, TOTP setup, and recovery-code handling.
  • MFA setup can open the otpauth URI through the Linux desktop and also provides a copyable manual setup key as a fallback.
  • Added post-login MFA setup suggestion support using the same account API as the Android client.
  • MFA secrets, authenticator codes, and recovery codes are not written to Linux application logs.
  • Reworked the Linux startup/account screen to better match the Windows MyDeskViewer layout on smaller displays.
  • Reduced the unused top spacing and made the main card more compact so the complete startup UI remains visible inside the fixed-size window.
  • Widened the primary Login with account action and explicitly centered button labels and status/account text.
  • Improved Machine ID and Copy alignment and centered the Copy button content.
  • Moved Settings outside the vertical startup card into an independent bottom-right action so it no longer pushes the main content downward.

September 4, 2026

  • Platforms: Windows, Server/Linux
  • Removed the special administrator view that exposed every connected computer to userId=1.
  • The Windows computer list now follows the authenticated user's own saved/authorized computers instead of showing unrelated customer machines.

September 3, 2026

  • Platforms: Windows
  • Added an Explorer selection fallback for file Copy operations that temporarily expose only the internal component clipboard marker instead of Module 2 format.
  • Physical files and folders selected in the active Explorer window are now resolved through Module 3 when standard clipboard formats are unavailable.
  • Resolved Explorer file paths are cached by native clipboard sequence so later local-to-remote Paste and remote-to-local file requests can use the same payload even after RemoteWindow becomes foreground.
  • Improved clipboard and file-transfer reliability.
  • Remote-to-local FILE Copy now keeps metadata only until the user actually pastes on the host computer.
  • Ctrl+V with a pending remote FILE copy captures the current Explorer destination and starts the existing file transfer directly into that folder.
  • Direct Explorer paste no longer requires a temporary clipboard-cache copy before the destination file appears.
  • A narrowly scoped host paste hook intercepts only Ctrl+V while the newest clipboard candidate is a remote FILE; all unrelated keyboard input passes through untouched.
  • Improved the fallback path for file Paste outside Explorer.
  • Added live cross-machine IMAGE clipboard payload transfer for Windows.
  • Clipboard images are normalized to PNG for transport while Copy detection still accepts supported native image formats, PNG, and desktop framework bitmap sources.
  • Local-to-remote IMAGE Paste now transfers the PNG payload, applies it to the active remote user's Windows clipboard, waits for acknowledgement, and then sends the remote Ctrl+V.
  • Remote-to-local IMAGE Copy now prefetches the image payload into the local Windows clipboard so normal host Paste works without a separate file-style staging step.
  • Platforms: Windows, Server/Linux
  • Improved image clipboard compatibility with Windows applications.
  • Improved internal clipboard diagnostics and compatibility.
  • IMAGE Paste no longer leaves delayed-rendered desktop framework clipboard objects owned by MyDeskViewer after the transfer completes.
  • Added account-wide clipboard preferences with synchronization enabled by default.
  • Added Settings controls for Enable clipboard synchronization and Always show desktop notification on Copy.
  • Clipboard synchronization can now be disabled without affecting normal native Ctrl+C/Ctrl+V inside the remote computer.
  • Desktop balloons are now optional and limited to Copy events; RemoteWindow keeps user-facing Copy/Paste status overlays.
  • Replaced clipboard revision/type debug text in user-facing notifications with concise text/file/image Copy and Paste messages.
  • Added compact Select all, Copy, and Paste buttons at the start of the RemoteWindow toolbar before Files.
  • Shortened toolbar labels to Cover, Reboot, Console, and Block input.
  • Moved the connection Quality control to the far right after Tools.
  • Platforms: Android
  • Added explicit Android edge-to-edge safe-area handling for the system status and navigation bars.
  • The top system status area now uses the MyDeskViewer green background with light system icons.
  • The bottom Android navigation area now uses the dark session background and the app content is inset above it so controls no longer sit under the system navigation bar.
  • Updated the WindowInsets listener signature to match nullable AndroidX interface annotations without warning suppression.
  • Remote ON/OFF is now available without signing in to a MyDeskViewer account.
  • Account sign-in remains optional for remote phone access and is still used for saved computers and account-backed features.
  • Replaced the per-installation eViewUpdate.type marker and legacy text update-type files with a machine-wide ProgramData update-settings.json file.
  • Update preference and installed update type are now stored together under [internal path] module so MyDeskViewer and MyDeskViewerSvc use the same values before and after user logon.
  • Existing eViewUpdate.type, update-type.txt, and installed-update-type.txt values are migrated automatically and removed after the JSON settings file is saved successfully.
  • The update apply script now writes the machine-wide JSON only after a successful file apply and no longer recreates eViewUpdate.type in the application directory.
  • Removed MySqlConnector completely from the shared evilsoft library and therefore from the MyDeskViewer/MyDeskViewerSvc Windows runtime dependency graph.
  • MySqlConnector.dll will disappear from future published update manifests; the existing updater cleanup removes stale local copies.
  • Excluded the unused legacy PsExec-like one-shot service launcher from MyDeskViewerSvc, including its temporary CreateService/StartService/DeleteService flow and --psexec-system-run command mode.
  • MyDeskViewerSvc now reuses the existing eViewCore ProcessInstanceGuard implementation for sender process/session detection and cleanup instead of compiling a second local implementation.
  • Current pre-login and logged-in sender startup continues through InteractiveSystemProcess, so Windows service startup behavior is unchanged.
  • Improved the Windows application/tray version label to show a friendly update channel and runtime instead of the raw Beta/net8 text.
  • Version labels now use Stable channel or Beta channel together with .NET 8.0 or .NET 9.0, for example: 2026.9.3.2207 • Beta channel • .NET 8.0.

September 2, 2026

  • Platforms: Windows
  • Added a persistent Windows machine ID cache so the service keeps the same identity before login and after reboot.
  • Unified machine ID resolution between the Windows UI, background sender, and Windows service startup.
  • Replaced the Windows clipboard legacy helper brokers with native Windows clipboard handling.
  • Removed global Ctrl+C/Ctrl+V low-level keyboard hooks from the Windows client clipboard path.
  • Clipboard synchronization now reacts to actual Windows clipboard changes while a remote session is active.
  • Remote clipboard changes are prefetched into the local Windows clipboard so normal Paste works in other applications.
  • Replaced legacy-helper-based Explorer paste-target detection with in-process Windows and Module 3 handling.
  • Rebuilt Windows clipboard synchronization around two independent internal module buffers for text and files, with the last copied type becoming the active paste source.
  • Local Windows clipboard changes are now captured through Module 2 event without monitoring global keyboard input.
  • Remote Copy now fetches the full remote clipboard payload immediately and mirrors it into the local Windows clipboard.
  • Remote Paste now uses the active internal module text/file buffer and falls back to the remote Windows clipboard when the internal module buffer is empty.
  • Remote file paste now stages files and applies Module 2 format through the native active-user clipboard before sending the remote Paste shortcut.
  • Improved clipboard access for background and service sessions.
  • Remote clipboard changes made through Explorer or context menus are detected from the active user clipboard instead of key events.
  • Windows tray balloons are limited to short Copied feedback; clipboard and file-transfer status remains inside the RemoteWindow overlay.
  • Improved internal clipboard diagnostics and compatibility.
  • MyDeskViewer now observes local Windows Copy events continuously and classifies only text or file clipboard data.
  • Active remote sessions now exchange clipboard Copy metadata only; this phase does not transfer clipboard payloads or execute Paste actions.
  • RemoteWindow Copy now forwards the real remote Copy shortcut and waits for the remote internal module clipboard event instead of requesting a clipboard payload snapshot.
  • RemoteWindow Paste is temporarily diagnostic-only and reports the newest known clipboard candidate without modifying either computer.
  • Improved the Windows release signing and publishing workflow.
  • Improved file and image Copy detection through an internal compatibility module.
  • Kept text and image clipboard classification unchanged while giving file payloads priority over image and text representations.
  • The uploader now starts automatically after resolving the marker while preserving the existing Normal-to-Beta synchronization behavior.
  • Enabled phase-two live Windows clipboard Paste for text and files while keeping image payload transfer deferred.
  • Remote Copy now prefetches text and file payloads into the local Windows clipboard so normal local Paste works outside RemoteWindow.
  • RemoteWindow Paste now sends local text/files to the target and waits for clipboard-apply acknowledgement before issuing the remote Ctrl+V shortcut.
  • Copy and Paste inside the same remote session now use the remote Windows clipboard directly without retransferring the payload.
  • Added a private MyDeskViewer clipboard marker so programmatically mirrored clipboard writes are ignored by Module 2 event and do not become false local Copy revisions or feedback loops.
  • Improved an internal module while keeping the public behavior unchanged.
  • Image Copy remains fully classified and revisioned in local and remote metadata; cross-machine image payload transport is intentionally deferred to the next phase.
  • File Copy classification can now resolve filesystem paths through Module 3 before falling back to raw Module 2 format.
  • Extended event-scoped clipboard retries for unresolved Explorer internal component copies to observe delayed file-format materialization up to roughly 1.8 seconds after the clipboard event.

September 1, 2026

  • Platforms: Windows, Android
  • Added a default connection quality setting with Auto and fixed P1-P10 profiles.
  • Automatic stream quality now keeps one profile of safety headroom below the confirmed stable ceiling.

August 25, 2026

  • Platforms: Windows, Server/Linux
  • Added per-machine unattended access with an optional local approval prompt.
  • Incoming access prompts now show the authenticated remote user's name.