Skip to content

History

Revisions

  • Document capture controls and explicit shell privileges - Add bilingual guidance for the screen-capture security setting. - Align shell password and session lifecycle documentation with explicit privilege use.

    @Ran-Xing Ran-Xing committed Aug 30, 2026
    8239d3b
  • Add start-app shell password support to session launch path - Add `startAppShellPassword` to `ScrcpyConfig` and thread it through dialog state so it is part of persisted session configuration. - Extend add/edit-session UI flow to capture and edit `startApp` + optional shell password, including remote app selection and display-mode interaction behavior. - Pass configured shell password into ADB connection setup (`setShellPassword`) during scrcpy session bring-up. - Update shell execution path to support a privileged retry path: when a start-app shell command fails with permission/root-style errors and is not already an `su` command, retry as `echo <password> | su -c <command>` with password redaction in logs. - Clear shell password from active `AdbConnection` in teardown/cleanup to avoid session-to-session carry-over. - Keep URL deep-link parameter support unchanged in behavior, i.e., `startApp` remains the launch parameter in query contracts. Screen-Remote-Review: confirmed

    @Ran-Xing Ran-Xing committed Aug 4, 2026
    bff114b
  • Align compatibility scaling and add streaming ADB fallback - Reworked compatibility capture scaling behavior to percentage-based presets and direct `maxSize` mapping in the capture strategy (`10%..90%`, `Original/0`, values above `100` as max-pixel cap, `jpegQuality = maxSize` clamped `1..100`). - Updated compatibility capture persistence and validation path via `CompatibilityCaptureSettings` tests (`native mode`, `1..99` mapping, upper-range clamping behavior) to lock in the new runtime rules. - Added ADB transport resilience: `AdbConnection.streamingDadb()` now falls back to the primary route on streaming lane creation/handshake failures, updates delayed-ACK capability reporting accordingly, and hardens helper-stream error logging/closure handling in compatibility mode paths. - Added overflow-safe behavior to compatibility touch queue (`CompatibilityLiveTouchQueue`) and session lifecycle recovery handling so queue saturation drops oldest MOVE first while preserving pointer lifecycle boundaries. - Made build ABI scope configurable through `TARGET_ABI` (comma-separated list) instead of fixed hard-coded sets in `app/build.gradle.kts` while preserving current defaults. Screen-Remote-Review: confirmed

    @Ran-Xing Ran-Xing committed Aug 4, 2026
    c274eb3
  • Add QR pairing auto-connect and improve compatibility/codec selection - Add a QR pairing workflow in the device pairing UI, including generated temporary QR credentials, method switching (QR vs pairing code), and automatic pairing when the target pairing service is discovered over mDNS. - Update pairing entrypoints so both QR and pairing-code paths share a single validation/connection flow, support discoverable host+port prefill from nearby services, and improve pairing-state transitions. - Refine compatibility-mode session behavior by removing forced clipboard-sync disablement while preserving the existing audio-disable invariant; allow multiple connection candidates to surface explicitly. - Update automatic video codec selection to prefer Google VP8 over Google H264 in the constrained Google-only fallback path when no user codec is selected, with VP8 fallback handling to H264 if VP8 decode is not available. - Add/update targeted unit tests for pairing, compatibility mode, and codec selection behavior, and keep runtime/build contract updates aligned with the new behavior. Screen-Remote-Review: confirmed

    @Ran-Xing Ran-Xing committed Aug 3, 2026
    5c671c1
  • Add Nearby ADB TCP discovery to session pairing workflow - Added Nearby ADB discovery pipeline with new scanner orchestration and mDNS presence parsing for `_adb._tcp` services. - Added a nearby scan action in the session screen and integrated scan-driven address prefill in Add Session dialog (primary/backup addresses). - Updated session pairing UI utilities and texts for scan states, empty/error messaging, and action wiring. - Hardened mdns service filtering to isolate Android ADB TCP entries and prevent duplicate/non-relevant service selection. - Added targeted unit tests for scanner logic, mDNS presence parsing/selection, and session dialog scan interactions. - Included related app-update and downloader adjustments present in the same app commit (rotation policy rename and proxy URL handling) as code changes. Screen-Remote-Review: confirmed

    @Ran-Xing Ran-Xing committed Jul 29, 2026
    4d312e3
  • Enhance session discovery, management, and telemetry behaviors - Refactor mDNS session discovery into a shared manager with explicit acquire/release lifecycle, retry/backoff control, and periodic refresh triggered by monitor/network/foreground changes to stabilize wireless pairing and reduce stale service rows. - Introduce and propagate a `confirming` session/service state through mDNS resolution and pairing UI (`DevicePairingDialog`, session badges, and session list logic). - Expand session management app operations with running-state rendering, selection-mode bulk actions (enable/disable/force-stop/uninstall/export), and improved app-cache replacement semantics. - Add robust command completion tracking in the command page with cancellation/request-id safety and explicit completion-loading state. - Improve URL/deep-link handling via `ScrcpyConfig` parameter serialization round-trip coverage, asynchronous session URL copying, and reuse of stored launch options. - Extend startup telemetry and upload behavior (start ping timing, identity header propagation on restored installs, and explicit today/yesterday manual upload path). Screen-Remote-Review: confirmed

    @Ran-Xing Ran-Xing committed Jul 28, 2026
    17a2b4f
  • - fix remote-session exit orientation restore to `SCREEN_ORIENTATION_USER` when prior policy is unspecified. - Add regression tests for remote orientation reapply behavior and increment app version code for this change set. Screen-Remote-Review: confirmed

    @Ran-Xing Ran-Xing committed Jul 26, 2026
    529310c
  • Harden compatibility input and video recovery - Stream compatibility-mode touch events through the bundled helper with bounded MOVE coalescing and interrupted-stream recovery. - Expand video recovery through maxSize 540, cancel conflicting reconnects, and show actionable session-aware failures. - Move management dashboards and icon caching to typed helper snapshots and version metadata. - Update AGP to 9.3.1 and add focused coverage for connection display, helper caching, touch queues, runtime state, and video recovery. Screen-Remote-Review: confirmed

    @Ran-Xing Ran-Xing committed Jul 24, 2026
    fed9201
  • Improve compatibility

    @Ran-Xing Ran-Xing committed Jul 24, 2026
    a149c6a
  • ## Add URL automation and compatibility recovery - Add screen-remote URLs for navigation, transient scrcpy overrides, management, and settings. - Add an ADB screenshot compatibility mode with user-confirmed video capture and decoder-size recovery. - Add opt-out telemetry, debug diagnostics, media hardening, remote volume-key forwarding, and regression coverage. ## Add legacy shell fallback and remote device helpers - Fall back from shell_v2 to legacy shell when unsupported or rejected, and remember rejected connection features. - Add a remote JPEG screenshot stream with DisplaySurface and SurfaceControl capture backends. - Add helper APIs for directory listing, process inspection, application metadata, icons, and remote text injection. - Extend compatibility to older Android runtimes and replace unavailable platform APIs with portable implementations. - Add regression and integration coverage for legacy shell, management helpers, screenshots, and platform compatibility.

    @Ran-Xing Ran-Xing committed Jul 23, 2026
    1db283c
  • Refine session management and modernize Android APIs - Prefetch session-scoped management data and query device and application metadata through the dadb helper. - Add reversible app sorting, terminal completion and separators, unified management layouts, and accessible video taps. - Remove obsolete compatibility and monitoring code, move blocking operations to IO dispatchers, and pin Gradle 9.5.0. - Add app-sort and terminal regression coverage and update pre-push reviews to gpt-5.6-sol. Screen-Remote-Review: confirmed

    @Ran-Xing Ran-Xing committed Jul 23, 2026
    944502f
  • ## Standardize runtime diagnostics in English - Replace Chinese and locale-dependent internal diagnostics across logging, ADB, media, scrcpy, session, control, and foreground-service paths with fixed English text. - Align reconnect permanence matching and stream-closure detection with the translated error messages while preserving runtime flow. ## Unify ADB routing and improve management and decoder recovery - Separate primary and delayed-ACK streaming routes in DadbSession, isolating resource ownership between scrcpy forwarding and regular management operations - Preload and cache app and file data, improve terminal interruption, history, and semantic highlighting, unify semantic colors across themes, and normalize an empty game-mode bitrate to 2 Mbps - Replay a bounded complete GOP after decoder switches and add regression tests, introduce the manual pre-push Wiki review gate, and bump the version code to 7

    @Ran-Xing Ran-Xing committed Jul 22, 2026
    7798548
  • Document game mode and remote session improvements

    @Ran-Xing Ran-Xing committed Jul 20, 2026
    8103ba6
  • Document scrcpy 4.1, codec, and connection improvements

    @Ran-Xing Ran-Xing committed Jul 19, 2026
    e233a99
  • Update Scrcpy Remote documentation

    @Ran-Xing Ran-Xing committed May 19, 2026
    001f958
  • Create Scrcpy Remote documentation

    @Ran-Xing Ran-Xing committed May 19, 2026
    0b75633
  • Initial Home page

    @Ran-Xing Ran-Xing committed May 19, 2026
    6a82e8e