@aiscene/aiserver 1.9.5 → 1.9.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/config/cli.d.ts +0 -3
  2. package/dist/config/cli.d.ts.map +1 -1
  3. package/dist/config/cli.js +0 -3
  4. package/dist/config/cli.js.map +1 -1
  5. package/dist/config/index.d.ts.map +1 -1
  6. package/dist/config/index.js +0 -3
  7. package/dist/config/index.js.map +1 -1
  8. package/dist/config/schema.d.ts +0 -3
  9. package/dist/config/schema.d.ts.map +1 -1
  10. package/dist/core/types.d.ts +0 -3
  11. package/dist/core/types.d.ts.map +1 -1
  12. package/dist/debug/types.d.ts +0 -3
  13. package/dist/debug/types.d.ts.map +1 -1
  14. package/dist/debug/websocket-server.d.ts +5 -0
  15. package/dist/debug/websocket-server.d.ts.map +1 -1
  16. package/dist/debug/websocket-server.js +70 -13
  17. package/dist/debug/websocket-server.js.map +1 -1
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +1 -0
  20. package/dist/index.js.map +1 -1
  21. package/dist/login/android-login-context.d.ts.map +1 -1
  22. package/dist/login/android-login-context.js +11 -3
  23. package/dist/login/android-login-context.js.map +1 -1
  24. package/dist/scrcpy/server.d.ts +8 -0
  25. package/dist/scrcpy/server.d.ts.map +1 -1
  26. package/dist/scrcpy/server.js +253 -134
  27. package/dist/scrcpy/server.js.map +1 -1
  28. package/dist/task/execution-profile.d.ts.map +1 -1
  29. package/dist/task/execution-profile.js +3 -0
  30. package/dist/task/execution-profile.js.map +1 -1
  31. package/dist/task/scheduler.d.ts +1 -0
  32. package/dist/task/scheduler.d.ts.map +1 -1
  33. package/dist/task/scheduler.js +47 -0
  34. package/dist/task/scheduler.js.map +1 -1
  35. package/dist/task/test-case-reference-resolver.d.ts +16 -0
  36. package/dist/task/test-case-reference-resolver.d.ts.map +1 -0
  37. package/dist/task/test-case-reference-resolver.js +283 -0
  38. package/dist/task/test-case-reference-resolver.js.map +1 -0
  39. package/dist/task/types.js +33 -1
  40. package/dist/task/types.js.map +1 -1
  41. package/dist/web/debug-api.js +2 -5
  42. package/dist/web/debug-page.d.ts.map +1 -1
  43. package/dist/web/debug-page.js +49 -73
  44. package/dist/web/debug-page.js.map +1 -1
  45. package/dist/web/debug.html +1 -21
  46. package/dist/web/server.d.ts +5 -0
  47. package/dist/web/server.d.ts.map +1 -1
  48. package/dist/web/server.js +35 -1
  49. package/dist/web/server.js.map +1 -1
  50. package/package.json +1 -1
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"android-login-context.d.ts","sourceRoot":"","sources":["../../src/login/android-login-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAS9E,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,OAAO,CAAC;AAClD,MAAM,MAAM,yBAAyB,GAAG,MAAM,GAAG,UAAU,CAAC;AAE5D,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC;IAC7B,MAAM,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,yBAAyB,CAAC;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAYD,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,mBAAmB,GAAG,SAAS,CAsCjC;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAa/E;AA8FD,wBAAsB,mBAAmB,CAAC,OAAO,EAAE;IACjD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC,GAAG,OAAO,CAAC,OAAO,CAAC,CAoDnB;AAED,wBAAsB,eAAe,CAAC,OAAO,EAAE;IAC7C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,OAAO,CAAC,CAwCnB"}
1
+ {"version":3,"file":"android-login-context.d.ts","sourceRoot":"","sources":["../../src/login/android-login-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAS9E,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,OAAO,CAAC;AAClD,MAAM,MAAM,yBAAyB,GAAG,MAAM,GAAG,UAAU,CAAC;AAE5D,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC;IAC7B,MAAM,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,yBAAyB,CAAC;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAqBD,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,mBAAmB,GAAG,SAAS,CAsCjC;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAa/E;AA8FD,wBAAsB,mBAAmB,CAAC,OAAO,EAAE;IACjD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC,GAAG,OAAO,CAAC,OAAO,CAAC,CAoDnB;AAED,wBAAsB,eAAe,CAAC,OAAO,EAAE;IAC7C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,OAAO,CAAC,CAwCnB"}
@@ -8,6 +8,14 @@ const logger = createLogger('AndroidLogin');
8
8
  function nonEmptyString(value) {
9
9
  return typeof value === 'string' && value.trim() ? value : undefined;
10
10
  }
11
+ function sanitizeLoginVariables(variables) {
12
+ const sanitized = { ...(variables || {}) };
13
+ delete sanitized.loginUsername;
14
+ delete sanitized.loginPassword;
15
+ delete sanitized.login_username;
16
+ delete sanitized.login_password;
17
+ return sanitized;
18
+ }
11
19
  export function resolveAndroidLoginContext(source) {
12
20
  const direct = source.loginContext;
13
21
  const legacy = source.loginConfig;
@@ -32,9 +40,9 @@ export function resolveAndroidLoginContext(source) {
32
40
  platform: direct?.platform,
33
41
  script,
34
42
  variables: {
35
- ...(direct?.variables || {}),
36
- ...(username ? { username, loginUsername: username } : {}),
37
- ...(password ? { password, loginPassword: password } : {}),
43
+ ...sanitizeLoginVariables(direct?.variables),
44
+ ...(username ? { username } : {}),
45
+ ...(password ? { password } : {}),
38
46
  },
39
47
  resetApp: direct?.resetApp !== false,
40
48
  failurePolicy: direct?.failurePolicy || 'fail',
@@ -1 +1 @@
1
- {"version":3,"file":"android-login-context.js","sourceRoot":"","sources":["../../src/login/android-login-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAE/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,MAAM,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;AAyB5C,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,MAA+B;IAE/B,MAAM,MAAM,GAAG,MAAM,CAAC,YAA+C,CAAC;IACtE,MAAM,MAAM,GAAG,MAAM,CAAC,WAA4C,CAAC;IACnE,MAAM,MAAM,GACV,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,kBAAkB;QACzB,MAAM,CAAC,kBAA+E,CAAC;IAC1F,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAClD,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAE3C,MAAM,QAAQ,GACZ,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC;QAC3C,cAAc,CAAC,MAAM,EAAE,oBAAoB,CAAC;QAC5C,cAAc,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAC9C,MAAM,QAAQ,GACZ,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC;QAC3C,cAAc,CAAC,MAAM,EAAE,oBAAoB,CAAC;QAC5C,cAAc,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAE9C,OAAO;QACL,OAAO,EAAE,MAAM,EAAE,OAAO,KAAK,KAAK;QAClC,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,QAAQ;QAC9B,QAAQ;QACR,SAAS,EAAE,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC;QAC5C,OAAO,EAAE,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC;QACxC,QAAQ,EAAE,MAAM,EAAE,QAAQ;QAC1B,MAAM;QACN,SAAS,EAAE;YACT,GAAG,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC;YAC5B,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3D;QACD,QAAQ,EAAE,MAAM,EAAE,QAAQ,KAAK,KAAK;QACpC,aAAa,EAAE,MAAM,EAAE,aAAa,IAAI,MAAM;QAC9C,YAAY,EACV,cAAc,CAAC,MAAM,EAAE,YAAY,CAAC;YACpC,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC;KACtC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,MAA+B;IACvE,OAAO,MAAM,CAAC,YAAY,CAAC;IAC3B,OAAO,MAAM,CAAC,kBAAkB,CAAC;IACjC,OAAO,MAAM,CAAC,oBAAoB,CAAC;IACnC,OAAO,MAAM,CAAC,oBAAoB,CAAC;IAEnC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAkD,CAAC;IAC9E,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,WAAW,CAAC,kBAAkB,CAAC;QACtC,OAAO,WAAW,CAAC,oBAAoB,CAAC;QACxC,OAAO,WAAW,CAAC,oBAAoB,CAAC;QACxC,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,MAAM,CAAC,WAAW,CAAC;IACvE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,OAA4B;IAE5B,sCAAsC;IACtC,IAAI,OAAO,CAAC,MAAM;QAAE,OAAO,OAAO,CAAC;IACnC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,WAAW,GAAG;QAClB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,aAAa,EAAE,OAAO,CAAC,aAAa;KACrC,CAAC;IACF,MAAM,OAAO,GAAG;QACd,cAAc,EAAE,kBAAkB;QAClC,GAAG,kBAAkB,EAAE;QACvB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,kCAAkC;YAChD,CAAC,CAAC,EAAE,uBAAuB,EAAE,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE;YAC7E,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IACF,MAAM,IAAI,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAC7C,IAAI,SAAkB,CAAC;IACvB,IAAI,YAAY,GAAG,EAAE,CAAC;IAEtB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,YAAY,GAAG,GAAG,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,0BAA0B,OAAO,CAAC,QAAQ,QAAQ,GAAG,EAAE,CAAC,CAAC;YACrE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YACjF,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC;YACtD,OAAO;gBACL,GAAG,OAAO;gBACV,GAAG,QAAQ;gBACX,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS,GAAG,KAAK,CAAC;YAClB,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9E,MAAM,CAAC,IAAI,CACT,8BAA8B,MAAM,CAAC,CAAC,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,EAAE,CAC1E,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAI,SAAmB,EAAE,OAAO,IAAI,eAAe,CAAC;IACjE,MAAM,IAAI,KAAK,CACb,gCAAgC,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,aAAa,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5F,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,OAA4B;IAC1D,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,mCAAmC,QAAQ,UAAU,CAAC;IACvE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,UAAU,GAAG;QACjB,OAAO,CAAC,YAAY;QACpB,MAAM,CAAC,IAAI,CAAC,iBAAiB;QAC7B,OAAO,CAAC,GAAG,CAAC,4BAA4B;QACxC,MAAM,CAAC,IAAI,CAAC,MAAM;QAClB,MAAM,CAAC,IAAI,CAAC,WAAW;KACxB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC3F,MAAM,IAAI,GAAa,EAAE,CAAC;IAE1B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,QAAQ,EAAE,CAAC,CAAC;QAClC,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,MAAM,QAAQ,EAAE,EAAE,GAAG,IAAI,GAAG,QAAQ,EAAE,CAAC,CAAC;QAC3D,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,QAAQ,EAAE,CAAC,CAAC;QAClC,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,MAAM,QAAQ,EAAE,EAAE,GAAG,IAAI,GAAG,QAAQ,EAAE,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,UAAU,QAAQ,EAAE,EAAE,GAAG,IAAI,WAAW,QAAQ,EAAE,EAAE,GAAG,IAAI,GAAG,QAAQ,EAAE,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACxC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACjD,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IAClD,OAAO,UAAU,OAAO,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAMzC;IACC,MAAM,cAAc,GAAG,0BAA0B,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAClE,IACE,CAAC,cAAc;QACf,cAAc,CAAC,OAAO,KAAK,KAAK;QAChC,cAAc,CAAC,IAAI,KAAK,OAAO;QAC/B,OAAO,CAAC,QAAQ,KAAK,KAAK;QAC1B,OAAO,CAAC,QAAQ,KAAK,KAAK;QAC1B,OAAO,CAAC,QAAQ,KAAK,KAAK,EAC1B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,cAAc,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,OAAO,CAAC,MAA4B,CAAC;QACpD,IAAI,MAAM,EAAE,QAAQ,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,CAAC,IAAI,CACT,GAAG,OAAO,CAAC,SAAS,0BAA0B;YAC5C,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,OAAO,CAAC,QAAQ,EAAE,CAChF,CAAC;QACF,MAAM,wBAAwB,CAAC;YAC7B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,MAAM;YACN,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE;YAClC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,IAAI;YACnC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI;YACrC,QAAQ,EAAE,OAAO,CAAC,QAAQ,KAAK,KAAK;SACrC,CAAC,CAAC;QACH,8BAA8B;QAC9B,wCAAwC;QACxC,IAAI,OAAO,CAAC,0BAA0B,KAAK,KAAK,EAAE,CAAC;YACjD,OAAO,CAAC,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;QACvC,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,SAAS,0BAA0B,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAI,KAAe,CAAC,OAAO,CAAC;QACzC,IAAI,cAAc,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,SAAS,sCAAsC,OAAO,EAAE,CAAC,CAAC;YACjF,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,yBAAyB,OAAO,EAAE,CAAC,CAAC;IACtD,CAAC;YAAS,CAAC;QACT,yBAAyB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAIrC;IACC,MAAM,cAAc,GAAG,0BAA0B,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAClE,IACE,CAAC,cAAc;QACf,cAAc,CAAC,OAAO,KAAK,KAAK;QAChC,cAAc,CAAC,IAAI,KAAK,OAAO,EAC/B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,cAAc,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAmC,CAAC;QAC3D,IAAI,MAAM,EAAE,QAAQ,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/D,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,CAAC,IAAI,CACT,GAAG,OAAO,CAAC,SAAS,8BAA8B;YAChD,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACzD,CAAC;QACF,MAAM,oBAAoB,CAAC;YACzB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,MAAM;YACN,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE;SACnC,CAAC,CAAC;QACH,6CAA6C;QAC7C,OAAO,CAAC,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,SAAS,8BAA8B,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,cAAc,CAAC;QAC/B,MAAM,OAAO,GAAI,KAAe,CAAC,OAAO,CAAC;QACzC,IAAI,OAAO,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,SAAS,0CAA0C,OAAO,EAAE,CAAC,CAAC;YACrF,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,qBAAqB,OAAO,EAAE,CAAC,CAAC;IAClD,CAAC;YAAS,CAAC;QACT,yBAAyB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"android-login-context.js","sourceRoot":"","sources":["../../src/login/android-login-context.ts"],"names":[],"mappings":"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"}
@@ -66,6 +66,10 @@ export declare class ScrcpyServer {
66
66
  private currentDeviceId;
67
67
  private devicePollInterval;
68
68
  private lastDeviceListJson;
69
+ private lastDeviceList;
70
+ private lastDeviceListAt;
71
+ private deviceListInFlight;
72
+ private deviceConnectLocks;
69
73
  private serverBinPath;
70
74
  private started;
71
75
  private projectionBlockedDevices;
@@ -74,7 +78,10 @@ export declare class ScrcpyServer {
74
78
  constructor(config: ScrcpyConfig);
75
79
  private handleHttpRequest;
76
80
  private getAdbClient;
81
+ private loadDevicesListFromAdb;
77
82
  private getDevicesList;
83
+ private selectAvailableDeviceId;
84
+ private isSessionOpen;
78
85
  private isProjectionBlocked;
79
86
  private getProjectionBlockedMessage;
80
87
  private getAdb;
@@ -89,6 +96,7 @@ export declare class ScrcpyServer {
89
96
  private sendDevicesListTo;
90
97
  /** 释放 session 持有的 scrcpy 资源(reader + client),用于断开/切换 */
91
98
  private releaseSession;
99
+ private connectDeviceForSession;
92
100
  private attachSocketHandlers;
93
101
  private startDeviceMonitoring;
94
102
  start(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/scrcpy/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AAaH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAsBxD,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAiGD,qBAAa,YAAY;IACvB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,GAAG,CAAkB;IAC7B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,kBAAkB,CAA+B;IACzD,OAAO,CAAC,kBAAkB,CAAM;IAChC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,wBAAwB,CAAkC;IAClE,iCAAiC;IACjC,OAAO,CAAC,QAAQ,CAAiD;gBAErD,MAAM,EAAE,YAAY;YAoBlB,iBAAiB;YA6CjB,YAAY;YA2BZ,cAAc;IAuB5B,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,2BAA2B;YAOrB,MAAM;YA4CN,gBAAgB;YA2BhB,WAAW;IAwEzB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,oBAAoB;IA4B5B,OAAO,CAAC,4BAA4B;YA0BtB,0BAA0B;YAoB1B,kBAAkB;IAShC,OAAO,CAAC,sBAAsB;YAyBhB,iBAAiB;IAgB/B,wDAAwD;YAC1C,cAAc;IAqB5B,OAAO,CAAC,oBAAoB;IAmrB5B,OAAO,CAAC,qBAAqB;IAYvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CA6B7B"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/scrcpy/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AAaH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAsBxD,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAmGD,qBAAa,YAAY;IACvB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,GAAG,CAAkB;IAC7B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,kBAAkB,CAA+B;IACzD,OAAO,CAAC,kBAAkB,CAAM;IAChC,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,kBAAkB,CAA8C;IACxE,OAAO,CAAC,kBAAkB,CAAkC;IAC5D,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,wBAAwB,CAAkC;IAClE,iCAAiC;IACjC,OAAO,CAAC,QAAQ,CAAiD;gBAErD,MAAM,EAAE,YAAY;YAoBlB,iBAAiB;YA6CjB,YAAY;YA2BZ,sBAAsB;YAuBtB,cAAc;IA4B5B,OAAO,CAAC,uBAAuB;IAS/B,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,2BAA2B;YAOrB,MAAM;YAoCN,gBAAgB;YA2BhB,WAAW;IAwEzB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,oBAAoB;IA4B5B,OAAO,CAAC,4BAA4B;YA0BtB,0BAA0B;YAoB1B,kBAAkB;IAShC,OAAO,CAAC,sBAAsB;YA2BhB,iBAAiB;IAoB/B,wDAAwD;YAC1C,cAAc;YAqBd,uBAAuB;IAyOrC,OAAO,CAAC,oBAAoB;IA0iB5B,OAAO,CAAC,qBAAqB;IAYvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CA8B7B"}
@@ -139,6 +139,10 @@ export class ScrcpyServer {
139
139
  currentDeviceId = null;
140
140
  devicePollInterval = null;
141
141
  lastDeviceListJson = '';
142
+ lastDeviceList = [];
143
+ lastDeviceListAt = 0;
144
+ deviceListInFlight = null;
145
+ deviceConnectLocks = new Map();
142
146
  serverBinPath;
143
147
  started = false;
144
148
  projectionBlockedDevices = new Map();
@@ -210,7 +214,7 @@ export class ScrcpyServer {
210
214
  this.adbClient = new AdbServerClient(new AdbServerNodeTcpConnector({ host: '127.0.0.1', port: 5037 }));
211
215
  return this.adbClient;
212
216
  }
213
- async getDevicesList() {
217
+ async loadDevicesListFromAdb() {
214
218
  try {
215
219
  const client = await this.getAdbClient();
216
220
  const devices = (await withTimeout(client.getDevices(), this.config.adbConnectTimeoutMs, `Timed out listing devices after ${Math.round(this.config.adbConnectTimeoutMs / 1000)}s`));
@@ -227,6 +231,38 @@ export class ScrcpyServer {
227
231
  return [];
228
232
  }
229
233
  }
234
+ async getDevicesList(forceRefresh = false) {
235
+ const now = Date.now();
236
+ const cacheTtlMs = 2000;
237
+ if (!forceRefresh &&
238
+ this.lastDeviceListAt > 0 &&
239
+ now - this.lastDeviceListAt < cacheTtlMs) {
240
+ return this.lastDeviceList;
241
+ }
242
+ if (this.deviceListInFlight) {
243
+ return this.deviceListInFlight;
244
+ }
245
+ this.deviceListInFlight = this.loadDevicesListFromAdb()
246
+ .then((devices) => {
247
+ this.lastDeviceList = devices;
248
+ this.lastDeviceListAt = Date.now();
249
+ return devices;
250
+ })
251
+ .finally(() => {
252
+ this.deviceListInFlight = null;
253
+ });
254
+ return this.deviceListInFlight;
255
+ }
256
+ selectAvailableDeviceId(devices) {
257
+ const online = devices.find((device) => device.status.toLowerCase() === 'device' &&
258
+ !this.isProjectionBlocked(device.id));
259
+ return online?.id || null;
260
+ }
261
+ isSessionOpen(state) {
262
+ return (!state.closed &&
263
+ state.ws.readyState === WebSocket.OPEN &&
264
+ this.sessions.get(state.ws) === state);
265
+ }
230
266
  isProjectionBlocked(deviceId) {
231
267
  if (!deviceId)
232
268
  return false;
@@ -250,14 +286,12 @@ export class ScrcpyServer {
250
286
  this.currentDeviceId = targetDeviceId;
251
287
  return new Adb(await withTimeout(client.createTransport({ serial: targetDeviceId }), this.config.adbConnectTimeoutMs, `Timed out connecting to Android device ${targetDeviceId} via ADB after ${Math.round(this.config.adbConnectTimeoutMs / 1000)}s`));
252
288
  }
253
- const devices = (await withTimeout(client.getDevices(), this.config.adbConnectTimeoutMs, `Timed out listing Android devices via ADB after ${Math.round(this.config.adbConnectTimeoutMs / 1000)}s`));
254
- if (!devices || devices.length === 0)
255
- return null;
256
- const availableDevice = devices.find((device) => !this.isProjectionBlocked(device.serial));
257
- if (!availableDevice)
289
+ const devices = await this.getDevicesList();
290
+ const availableDeviceId = this.selectAvailableDeviceId(devices);
291
+ if (!availableDeviceId)
258
292
  return null;
259
- this.currentDeviceId = availableDevice.serial;
260
- return new Adb(await withTimeout(client.createTransport(availableDevice), this.config.adbConnectTimeoutMs, `Timed out connecting to ${availableDevice.serial} via ADB`));
293
+ this.currentDeviceId = availableDeviceId;
294
+ return new Adb(await withTimeout(client.createTransport({ serial: availableDeviceId }), this.config.adbConnectTimeoutMs, `Timed out connecting to ${availableDeviceId} via ADB`));
261
295
  }
262
296
  async wakeDeviceScreen(deviceId) {
263
297
  const targetDeviceId = deviceId || this.currentDeviceId;
@@ -386,7 +420,7 @@ export class ScrcpyServer {
386
420
  await Promise.allSettled(releases);
387
421
  }
388
422
  async refreshDevicesList() {
389
- const devices = await this.getDevicesList();
423
+ const devices = await this.getDevicesList(true);
390
424
  this.lastDeviceListJson = '';
391
425
  this.broadcastDevicesList(devices);
392
426
  }
@@ -403,6 +437,8 @@ export class ScrcpyServer {
403
437
  scrcpyClient: null,
404
438
  adb: null,
405
439
  deviceId: null,
440
+ connectPromise: null,
441
+ closed: false,
406
442
  videoWidth: 0,
407
443
  videoHeight: 0,
408
444
  streamReader: null,
@@ -415,9 +451,14 @@ export class ScrcpyServer {
415
451
  async sendDevicesListTo(state) {
416
452
  try {
417
453
  const devices = await this.getDevicesList();
454
+ if (!this.isSessionOpen(state))
455
+ return;
418
456
  if (this.currentDeviceId && this.isProjectionBlocked(this.currentDeviceId)) {
419
457
  this.currentDeviceId = null;
420
458
  }
459
+ if (!this.currentDeviceId) {
460
+ this.currentDeviceId = this.selectAvailableDeviceId(devices);
461
+ }
421
462
  wsSend(state.ws, 'devices-list', {
422
463
  devices,
423
464
  currentDeviceId: this.currentDeviceId,
@@ -451,6 +492,185 @@ export class ScrcpyServer {
451
492
  state.videoWidth = 0;
452
493
  state.videoHeight = 0;
453
494
  }
495
+ async connectDeviceForSession(state, options = {}, emitStatus) {
496
+ const { ws } = state;
497
+ const safeOptions = options || {};
498
+ let connectLockKey = null;
499
+ try {
500
+ emitStatus('connecting-device');
501
+ // 重复 connect-device 时,先释放旧资源避免 scrcpy 进程残留。
502
+ if (state.scrcpyClient) {
503
+ await this.releaseSession(state);
504
+ }
505
+ if (!this.isSessionOpen(state))
506
+ return;
507
+ let targetDeviceId = resolveRequestedDeviceId(safeOptions, this.currentDeviceId);
508
+ if (!targetDeviceId) {
509
+ const devices = await this.getDevicesList();
510
+ if (!this.isSessionOpen(state))
511
+ return;
512
+ targetDeviceId = this.selectAvailableDeviceId(devices) || undefined;
513
+ }
514
+ if (!targetDeviceId) {
515
+ wsSend(ws, 'error', { message: 'No device found' });
516
+ return;
517
+ }
518
+ if (this.isProjectionBlocked(targetDeviceId)) {
519
+ logger.info(`Skip scrcpy connect for scheduled task device: deviceId=${targetDeviceId}`);
520
+ wsSend(ws, 'error', { message: this.getProjectionBlockedMessage(targetDeviceId) });
521
+ return;
522
+ }
523
+ const lockedBy = this.deviceConnectLocks.get(targetDeviceId);
524
+ if (lockedBy && lockedBy !== state.id) {
525
+ logger.info(`Skip duplicate scrcpy connect: deviceId=${targetDeviceId},owner=${lockedBy},client=${state.id}`);
526
+ wsSend(ws, 'error', {
527
+ message: `设备 ${targetDeviceId} 正在建立投屏连接,请稍后重试`,
528
+ });
529
+ return;
530
+ }
531
+ connectLockKey = targetDeviceId;
532
+ this.deviceConnectLocks.set(connectLockKey, state.id);
533
+ this.currentDeviceId = targetDeviceId;
534
+ state.deviceId = targetDeviceId;
535
+ state.adb = await this.getAdb(targetDeviceId);
536
+ if (!this.isSessionOpen(state)) {
537
+ await this.releaseSession(state);
538
+ return;
539
+ }
540
+ if (!state.adb) {
541
+ wsSend(ws, 'error', { message: 'No device found' });
542
+ return;
543
+ }
544
+ await this.wakeDeviceScreen(targetDeviceId);
545
+ if (!this.isSessionOpen(state)) {
546
+ await this.releaseSession(state);
547
+ return;
548
+ }
549
+ state.scrcpyClient = await this.startScrcpy(state.adb, safeOptions, emitStatus);
550
+ if (!this.isSessionOpen(state)) {
551
+ await this.releaseSession(state);
552
+ return;
553
+ }
554
+ logger.info(`Scrcpy started for device=${targetDeviceId},client=${state.id}`);
555
+ const videoStreamRaw = state.scrcpyClient?.videoStream;
556
+ if (!videoStreamRaw) {
557
+ wsSend(ws, 'error', {
558
+ message: 'Video stream not available in scrcpy client',
559
+ });
560
+ await this.releaseSession(state);
561
+ return;
562
+ }
563
+ emitStatus('waiting-for-video');
564
+ const videoStream = typeof videoStreamRaw?.then === 'function'
565
+ ? await withTimeout(videoStreamRaw, this.config.videoStreamTimeoutMs, `Timed out waiting for scrcpy video stream metadata after ${Math.round(this.config.videoStreamTimeoutMs / 1000)}s`)
566
+ : videoStreamRaw;
567
+ if (!this.isSessionOpen(state)) {
568
+ await this.releaseSession(state);
569
+ return;
570
+ }
571
+ const metadata = videoStream.metadata;
572
+ // 严格校验:缺失元数据直接报错,避免兜底 H264/1080x1920 与真实流不匹配。
573
+ if (!metadata ||
574
+ !metadata.codec ||
575
+ !metadata.width ||
576
+ !metadata.height) {
577
+ const detail = JSON.stringify(metadata || {});
578
+ logger.error(`incomplete video metadata: ${detail}`);
579
+ wsSend(ws, 'error', {
580
+ message: `Incomplete video metadata from scrcpy: ${detail}`,
581
+ });
582
+ await this.releaseSession(state);
583
+ return;
584
+ }
585
+ // 唤醒屏幕,避免设备熄屏时 scrcpy 推黑画面。
586
+ const controller = state.scrcpyClient?.controller;
587
+ if (controller) {
588
+ try {
589
+ await controller.setScreenPowerMode?.(2);
590
+ }
591
+ catch (e) {
592
+ logger.warn(`setScreenPowerMode failed: ${e.message}`);
593
+ }
594
+ try {
595
+ await controller.backOrScreenOn?.(0);
596
+ }
597
+ catch (e) {
598
+ logger.warn(`backOrScreenOn failed: ${e.message}`);
599
+ }
600
+ }
601
+ if (!this.isSessionOpen(state)) {
602
+ await this.releaseSession(state);
603
+ return;
604
+ }
605
+ wsSend(ws, 'video-metadata', {
606
+ codec: metadata.codec,
607
+ width: metadata.width,
608
+ height: metadata.height,
609
+ });
610
+ state.videoWidth = metadata.width;
611
+ state.videoHeight = metadata.height;
612
+ const { stream } = videoStream;
613
+ const reader = stream.getReader();
614
+ state.streamReader = reader;
615
+ const processStream = async () => {
616
+ try {
617
+ while (true) {
618
+ const { done, value } = await reader.read();
619
+ if (done)
620
+ break;
621
+ const data = value.data;
622
+ const frameType = value.type || 'data';
623
+ const isKey = !!(value.keyframe ?? value.keyFrame) || isH264IdrFrame(data);
624
+ const isConfig = frameType === 'configuration';
625
+ if (!this.isSessionOpen(state))
626
+ break;
627
+ ws.send(buildVideoFrameBuffer(data, isKey, isConfig, Date.now()), { binary: true });
628
+ }
629
+ }
630
+ catch (error) {
631
+ const msg = error.message || '';
632
+ if (!/cancel|abort/i.test(msg)) {
633
+ logger.error(`Video stream error: ${msg}`);
634
+ if (this.isSessionOpen(state)) {
635
+ wsSend(ws, 'error', {
636
+ message: 'video stream processing error',
637
+ });
638
+ }
639
+ }
640
+ return;
641
+ }
642
+ finally {
643
+ if (state.streamReader === reader) {
644
+ state.streamReader = null;
645
+ }
646
+ }
647
+ if (this.isSessionOpen(state)) {
648
+ wsSend(ws, 'error', { message: 'video stream ended' });
649
+ }
650
+ await this.releaseSession(state);
651
+ };
652
+ void processStream();
653
+ if (state.scrcpyClient?.controller && this.isSessionOpen(state)) {
654
+ wsSend(ws, 'control-ready');
655
+ }
656
+ }
657
+ catch (error) {
658
+ const message = error?.message || 'Unknown error';
659
+ logger.error(`connect-device failed: ${message}`);
660
+ await this.releaseSession(state);
661
+ if (this.isSessionOpen(state)) {
662
+ wsSend(ws, 'error', {
663
+ message: `Failed to connect device: ${message}`,
664
+ });
665
+ }
666
+ }
667
+ finally {
668
+ if (connectLockKey &&
669
+ this.deviceConnectLocks.get(connectLockKey) === state.id) {
670
+ this.deviceConnectLocks.delete(connectLockKey);
671
+ }
672
+ }
673
+ }
454
674
  attachSocketHandlers(state) {
455
675
  const { ws } = state;
456
676
  const emitStatus = (phase) => {
@@ -526,6 +746,12 @@ export class ScrcpyServer {
526
746
  'get-devices': () => this.sendDevicesListTo(state),
527
747
  'switch-device': async (deviceId) => {
528
748
  try {
749
+ if (state.connectPromise) {
750
+ wsSend(ws, 'error', {
751
+ message: 'Device connection is already in progress',
752
+ });
753
+ return;
754
+ }
529
755
  const id = typeof deviceId === 'string' ? deviceId : String(deviceId ?? '');
530
756
  if (this.isProjectionBlocked(id)) {
531
757
  wsSend(ws, 'error', { message: this.getProjectionBlockedMessage(id) });
@@ -547,134 +773,25 @@ export class ScrcpyServer {
547
773
  });
548
774
  }
549
775
  },
550
- 'connect-device': async (options = {}) => {
551
- try {
776
+ 'connect-device': (options = {}) => {
777
+ if (state.connectPromise) {
552
778
  emitStatus('connecting-device');
553
- // 重复 connect-device 时,先释放旧资源避免 scrcpy 残留
554
- if (state.scrcpyClient) {
555
- await this.releaseSession(state);
556
- }
557
- const requestedDeviceId = resolveRequestedDeviceId(options || {}, this.currentDeviceId);
558
- if (this.isProjectionBlocked(requestedDeviceId)) {
559
- const blockedDeviceId = requestedDeviceId || '';
560
- logger.info(`Skip scrcpy connect for scheduled task device: deviceId=${blockedDeviceId}`);
561
- wsSend(ws, 'error', { message: this.getProjectionBlockedMessage(blockedDeviceId) });
562
- return;
563
- }
564
- if (requestedDeviceId) {
565
- this.currentDeviceId = requestedDeviceId;
566
- state.deviceId = requestedDeviceId;
567
- }
568
- state.adb = await this.getAdb(requestedDeviceId);
569
- if (!state.adb) {
570
- wsSend(ws, 'error', { message: 'No device found' });
571
- return;
572
- }
573
- await this.wakeDeviceScreen(this.currentDeviceId || requestedDeviceId);
574
- state.scrcpyClient = await this.startScrcpy(state.adb, options || {}, emitStatus);
575
- logger.info(`Scrcpy started for device=${this.currentDeviceId},client=${state.id}`);
576
- const videoStreamRaw = state.scrcpyClient?.videoStream;
577
- if (!videoStreamRaw) {
578
- wsSend(ws, 'error', {
579
- message: 'Video stream not available in scrcpy client',
580
- });
581
- await this.releaseSession(state);
582
- return;
583
- }
584
- emitStatus('waiting-for-video');
585
- const videoStream = typeof videoStreamRaw?.then === 'function'
586
- ? await withTimeout(videoStreamRaw, this.config.videoStreamTimeoutMs, `Timed out waiting for scrcpy video stream metadata after ${Math.round(this.config.videoStreamTimeoutMs / 1000)}s`)
587
- : videoStreamRaw;
588
- const metadata = videoStream.metadata;
589
- // 严格校验:缺失元数据直接报错,避免兜底 H264/1080x1920 与真实流不匹配
590
- if (!metadata ||
591
- !metadata.codec ||
592
- !metadata.width ||
593
- !metadata.height) {
594
- const detail = JSON.stringify(metadata || {});
595
- logger.error(`incomplete video metadata: ${detail}`);
596
- wsSend(ws, 'error', {
597
- message: `Incomplete video metadata from scrcpy: ${detail}`,
598
- });
599
- await this.releaseSession(state);
600
- return;
601
- }
602
- // 唤醒屏幕,避免设备熄屏时 scrcpy 推黑画面
603
- const controller = state.scrcpyClient?.controller;
604
- if (controller) {
605
- try {
606
- await controller.setScreenPowerMode?.(2);
607
- }
608
- catch (e) {
609
- logger.warn(`setScreenPowerMode failed: ${e.message}`);
610
- }
611
- try {
612
- await controller.backOrScreenOn?.(0);
613
- }
614
- catch (e) {
615
- logger.warn(`backOrScreenOn failed: ${e.message}`);
616
- }
617
- }
618
- wsSend(ws, 'video-metadata', {
619
- codec: metadata.codec,
620
- width: metadata.width,
621
- height: metadata.height,
622
- });
623
- state.videoWidth = metadata.width;
624
- state.videoHeight = metadata.height;
625
- const { stream } = videoStream;
626
- const reader = stream.getReader();
627
- state.streamReader = reader;
628
- const processStream = async () => {
629
- try {
630
- while (true) {
631
- const { done, value } = await reader.read();
632
- if (done)
633
- break;
634
- const data = value.data;
635
- const frameType = value.type || 'data';
636
- const isKey = !!(value.keyframe ?? value.keyFrame) || isH264IdrFrame(data);
637
- const isConfig = frameType === 'configuration';
638
- if (ws.readyState !== WebSocket.OPEN)
639
- break;
640
- ws.send(buildVideoFrameBuffer(data, isKey, isConfig, Date.now()), { binary: true });
641
- }
642
- }
643
- catch (error) {
644
- const msg = error.message || '';
645
- if (!/cancel|abort/i.test(msg)) {
646
- logger.error(`Video stream error: ${msg}`);
647
- if (ws.readyState === WebSocket.OPEN) {
648
- wsSend(ws, 'error', {
649
- message: 'video stream processing error',
650
- });
651
- }
652
- }
653
- return;
654
- }
655
- finally {
656
- if (state.streamReader === reader) {
657
- state.streamReader = null;
658
- }
659
- }
660
- if (ws.readyState === WebSocket.OPEN) {
661
- wsSend(ws, 'error', { message: 'video stream ended' });
662
- }
663
- await this.releaseSession(state);
664
- };
665
- void processStream();
666
- if (state.scrcpyClient?.controller) {
667
- wsSend(ws, 'control-ready');
668
- }
669
- }
670
- catch (error) {
671
- const message = error?.message || 'Unknown error';
672
- logger.error(`connect-device failed: ${message}`);
673
- await this.releaseSession(state);
674
779
  wsSend(ws, 'error', {
675
- message: `Failed to connect device: ${message}`,
780
+ message: 'Device connection is already in progress',
676
781
  });
782
+ return;
677
783
  }
784
+ const promise = this.connectDeviceForSession(state, options || {}, emitStatus);
785
+ state.connectPromise = promise;
786
+ void promise
787
+ .catch((error) => {
788
+ logger.error(`connect-device promise failed: ${error.message}`);
789
+ })
790
+ .finally(() => {
791
+ if (state.connectPromise === promise) {
792
+ state.connectPromise = null;
793
+ }
794
+ });
678
795
  },
679
796
  'control-touch': async (raw = {}) => {
680
797
  try {
@@ -1076,6 +1193,7 @@ export class ScrcpyServer {
1076
1193
  });
1077
1194
  ws.on('close', async (code, reason) => {
1078
1195
  logger.info(`Client disconnected: id=${state.id}, code=${code}, reason=${reason?.toString() || ''}`);
1196
+ state.closed = true;
1079
1197
  this.sessions.delete(ws);
1080
1198
  androidRecordingManager.cancel(state.id);
1081
1199
  await this.releaseSession(state);
@@ -1092,7 +1210,7 @@ export class ScrcpyServer {
1092
1210
  return;
1093
1211
  this.devicePollInterval = setInterval(async () => {
1094
1212
  try {
1095
- const devices = await this.getDevicesList();
1213
+ const devices = await this.getDevicesList(true);
1096
1214
  this.broadcastDevicesList(devices);
1097
1215
  }
1098
1216
  catch (error) {
@@ -1125,6 +1243,7 @@ export class ScrcpyServer {
1125
1243
  this.devicePollInterval = null;
1126
1244
  }
1127
1245
  for (const sess of this.sessions.values()) {
1246
+ sess.closed = true;
1128
1247
  await this.releaseSession(sess);
1129
1248
  try {
1130
1249
  sess.ws.close(1001, 'server shutting down');