Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit 6cb0a589 authored by Simon Chan's avatar Simon Chan
Browse files

fix(adb-scrcpy): fallback to forward tunnel when reverse tunnel not supported

parent b3a142cb
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -41,7 +41,7 @@
        "source-map-support": "^0.5.21"
    },
    "devDependencies": {
        "@types/node": "^22.7.7",
        "@types/node": "^22.9.0",
        "@yume-chan/eslint-config": "workspace:^",
        "@yume-chan/tsconfig": "workspace:^",
        "prettier": "^3.3.3",
+1 −1
Original line number Diff line number Diff line
@@ -39,7 +39,7 @@
        "@yume-chan/struct": "workspace:^"
    },
    "devDependencies": {
        "@types/node": "^22.7.7",
        "@types/node": "^22.9.0",
        "@yume-chan/eslint-config": "workspace:^",
        "@yume-chan/test-runner": "workspace:^",
        "@yume-chan/tsconfig": "workspace:^",
+3 −2
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@ import type {
    ScrcpyDisplay,
    ScrcpyEncoder,
    ScrcpyMediaStreamPacket,
    ScrcpyOptionsInit1_16,
    ScrcpyVideoStreamMetadata,
} from "@yume-chan/scrcpy";
import {
@@ -120,7 +121,7 @@ export class AdbScrcpyClient {
        adb: Adb,
        path: string,
        version: string,
        options: AdbScrcpyOptions<object>,
        options: AdbScrcpyOptions<Pick<ScrcpyOptionsInit1_16, "tunnelForward">>,
    ) {
        let connection: AdbScrcpyConnection | undefined;
        let process: AdbSubprocessProtocol | undefined;
@@ -132,7 +133,7 @@ export class AdbScrcpyClient {
            } catch (e) {
                if (e instanceof AdbReverseNotSupportedError) {
                    // When reverse tunnel is not supported, try forward tunnel.
                    options.tunnelForwardOverride = true;
                    options.value.tunnelForward = true;
                    connection = options.createConnection(adb);
                    await connection.initialize();
                } else {
+3 −3
Original line number Diff line number Diff line
@@ -39,7 +39,7 @@ export class AdbScrcpyOptions1_16 extends AdbScrcpyOptions<
        adb: Adb,
        path: string,
        version: string,
        options: AdbScrcpyOptions<object>,
        options: AdbScrcpyOptions<Pick<ScrcpyOptionsInit1_16, "tunnelForward">>,
    ): Promise<ScrcpyEncoder[]> {
        const client = await AdbScrcpyClient.start(adb, path, version, options);

@@ -62,7 +62,7 @@ export class AdbScrcpyOptions1_16 extends AdbScrcpyOptions<
        adb: Adb,
        path: string,
        version: string,
        options: AdbScrcpyOptions<object>,
        options: AdbScrcpyOptions<Pick<ScrcpyOptionsInit1_16, "tunnelForward">>,
    ): Promise<ScrcpyDisplay[]> {
        try {
            // Server will exit before opening connections when an invalid display id was given
@@ -119,7 +119,7 @@ export class AdbScrcpyOptions1_16 extends AdbScrcpyOptions<
                control: true, // Always enabled even when `--no-control` is specified
                sendDummyByte: true, // Always enabled
            },
            this.tunnelForwardOverride || this.value.tunnelForward,
            this.value.tunnelForward,
        );
    }
}
+1 −1
Original line number Diff line number Diff line
@@ -41,7 +41,7 @@ export class AdbScrcpyOptions1_22 extends AdbScrcpyOptions<
                control: this.value.control,
                sendDummyByte: this.value.sendDummyByte,
            },
            this.tunnelForwardOverride || this.value.tunnelForward,
            this.value.tunnelForward,
        );
    }
}
Loading