roomsync 0.1.6 → 0.1.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.
package/README.md CHANGED
@@ -1,12 +1,15 @@
1
- # RoomSync npm launcher (Windows preview)
1
+ # RoomSync npm launcher
2
2
 
3
- A small, dependency-free launcher for the **Windows x64 RoomSync 0.1.6 host**.
3
+ A small, dependency-free launcher for the **Windows x64 RoomSync 0.1.7 host**.
4
4
  It bundles the native executable and opens its local setup page. No Rust compiler,
5
5
  extra runtime download, install script or paid service is needed. The launcher
6
6
  does not install a virtual driver; optional synchronized Windows speakers require
7
7
  one to be installed and routed separately by the user.
8
8
  Requires Node.js 20+ and Windows 10 version 1703 or newer with x64 Node.js.
9
- The Android receiver app is still installed separately. Use Android **0.1.6** for
9
+ The Android receiver app is installed separately. Download [the latest APK](https://github.com/Nyaughh/roomsync/releases/latest/download/RoomSync.apk)
10
+ or run `npx roomsync@latest apk`. GitHub sign-in with repository access is required
11
+ while the repository is private. Android **0.1.7** uses a new retained signing key;
12
+ uninstall older previews once before installing it. Use Android **0.1.6 or newer** for
10
13
  the matching receive-side diagnostics; earlier revision-3 receivers remain
11
14
  wire-compatible.
12
15
 
@@ -16,37 +19,28 @@ separate host dispatch delay from downstream delay, but do not measure Wi-Fi
16
19
  transit or prove the physical cause. The shared timeline and playback buffering
17
20
  are unchanged by this update.
18
21
 
19
- The npm package name is **roomsync**, with **nyaughh** as its designated publisher.
20
- The source repository remains private. This preview is **UNLICENSED**; no
21
- open-source license is granted. Third-party notices are included separately.
22
+ **0.1.7 adds the latest APK link on startup, in help, and through `roomsync apk`.**
23
+ Audio behavior is unchanged from 0.1.6. The package is published as `roomsync`
24
+ by `nyaughh` and remains `UNLICENSED`. Third-party notices are included separately.
22
25
 
23
- ## Install and run
26
+ ## Run from npm
24
27
 
25
- After a registry release is confirmed, in **Windows PowerShell**, with Node.js 20+ installed:
28
+ In **Windows PowerShell**:
26
29
 
27
30
  ```powershell
28
- npx roomsync@0.1.6 start
31
+ # Run the latest published launcher:
32
+ npx roomsync@latest start
29
33
 
30
- # Or install the package, then use the short command:
31
- npm install --global roomsync@0.1.6
32
- roomsync start
33
- ```
34
-
35
- ## Use the preview tarball
36
-
37
- After obtaining the verified `roomsync-0.1.6.tgz`, in **Windows PowerShell**:
38
-
39
- ```powershell
40
- # Run directly from the local tarball, without a global installation:
41
- npx --package .\roomsync-0.1.6.tgz roomsync start
34
+ # Get the latest Android APK link:
35
+ npx roomsync@latest apk
42
36
 
43
37
  # Or install the local package, then use the short command:
44
- npm install --global .\roomsync-0.1.6.tgz
38
+ npm install --global roomsync@latest
45
39
  roomsync start
46
40
  ```
47
41
 
48
- To use the latest published version, run `npx roomsync start` or
49
- `npm install --global roomsync` followed by `roomsync start`.
42
+ For a verified local tarball, use
43
+ `npx --package ./roomsync-0.1.7.tgz roomsync start`.
50
44
 
51
45
  ## Commands
52
46
 
@@ -54,6 +48,7 @@ To use the latest published version, run `npx roomsync start` or
54
48
  roomsync start Open the local control page
55
49
  roomsync start --no-browser Start controls and print their address
56
50
  roomsync devices List Windows playback endpoints
51
+ roomsync apk Show the latest Android APK download link
57
52
  roomsync doctor Verify platform and packaged-host integrity
58
53
  roomsync --version
59
54
  roomsync --help
@@ -65,7 +60,7 @@ Create a private setup code, connect the Android receiver and choose **Start
65
60
  listening** in the page. No firewall or audio-routing settings change automatically.
66
61
 
67
62
  macOS, Linux, WSL, Windows 32-bit and native ARM64 Node.js are not supported.
68
- Help/version and package inspection still work there, but no host is launched.
63
+ Help, version, APK links and package inspection still work there, but no host is launched.
69
64
  Use Windows PowerShell/Command Prompt, not a WSL shell.
70
65
 
71
66
  In default phone-only capture mode, original Windows audio is not muted or delayed.
@@ -156,9 +151,9 @@ passing one does not imply the others passed.
156
151
  The repository's npm workflow tests the wrapper on Linux and Windows, builds the
157
152
  Windows GNU host, audits DLL imports, stages the bundle and uploads a tarball artifact.
158
153
  A separate Windows job installs the artifact and invokes native `--help` without
159
- starting capture. These future CI jobs have not run merely because this file exists.
160
- It deliberately contains **no publish step, npm credentials, or auto-release**.
161
- Each public release is published separately with the owner's authorization.
154
+ starting capture. It contains **no publish step, npm credentials, or auto-release**.
155
+ Maintainers publish the verified artifact separately.
156
+ See [release instructions](../../docs/RELEASING.md).
162
157
 
163
158
  References: [npm bin/files metadata](https://docs.npmjs.com/cli/v11/configuring-npm/package-json/),
164
159
  [Node child-process execution](https://nodejs.org/api/child_process.html).
@@ -29,10 +29,10 @@ Android system libraries are platform dependencies, not bundled copies.
29
29
 
30
30
  Locked input fingerprints
31
31
  -------------------------
32
- apps/desktop/Cargo.lock: SHA-256 17b6fbdc022d74ff05dd7e531a4dc70d0207bb16b17a277bda2842841470ed25
32
+ apps/desktop/Cargo.lock: SHA-256 7fb078a14c17ca89feab95b22e13f56d13c398490029e03dff7f0d6ecdff0c23
33
33
  apps/android/native/Cargo.lock: SHA-256 25629f7f27be409d82be13c10f4e1ea0d0729134ae05d8909175b55353a58c84
34
34
 
35
- Desktop fingerprint refreshed for first-party RoomSync version 0.1.6.
35
+ Desktop fingerprint refreshed for first-party RoomSync version 0.1.7.
36
36
  The registry dependency versions and upstream notice texts are unchanged.
37
37
 
38
38
  Registry dependency inventory
package/bin/roomsync.cjs CHANGED
File without changes
package/lib/cli.cjs CHANGED
@@ -4,6 +4,14 @@ const fs = require('node:fs');
4
4
  const { spawn } = require('node:child_process');
5
5
  const { verifyPackage } = require('./verify.cjs');
6
6
  const ROOT = path.resolve(__dirname, '..');
7
+ const RELEASE_URL = 'https://github.com/Nyaughh/roomsync/releases/latest';
8
+ const APK_URL = `${RELEASE_URL}/download/RoomSync.apk`;
9
+
10
+ function apkInfo() {
11
+ return `Latest Android APK: ${APK_URL}\n` +
12
+ `Release notes: ${RELEASE_URL}\n` +
13
+ 'If GitHub asks, sign in with an account that can access Nyaughh/roomsync.\n';
14
+ }
7
15
 
8
16
  function parseArgs(args) {
9
17
  const [command, ...rest] = args;
@@ -12,6 +20,7 @@ function parseArgs(args) {
12
20
  return { kind: 'help' };
13
21
  }
14
22
  if (['--version', '-v'].includes(command) && rest.length === 0) return { kind: 'version' };
23
+ if (command === 'apk' && rest.length === 0) return { kind: 'apk' };
15
24
  if (command === 'doctor' && rest.length === 0) return { kind: 'doctor' };
16
25
  if (command === 'devices' && rest.length === 0) return { kind: 'native', args: ['list-devices'] };
17
26
  if (command === 'start') {
@@ -28,8 +37,10 @@ function help(version) {
28
37
  ' roomsync start Open the local setup/control page\n' +
29
38
  ' roomsync start --no-browser Print its address without opening a browser\n' +
30
39
  ' roomsync devices List Windows output endpoints\n' +
40
+ ' roomsync apk Show the latest Android APK download link\n' +
31
41
  ' roomsync doctor Check platform and bundled-host integrity\n' +
32
42
  ' roomsync --version\n\n' +
43
+ apkInfo() + '\n' +
33
44
  'Requires Windows 10 1703+ x64 and Node.js 20+. macOS, Linux, WSL and native\n' +
34
45
  'Windows ARM64 are not supported by this package. Run from Windows PowerShell\n' +
35
46
  'or Command Prompt, not WSL. Keep the terminal open; Ctrl+C stops the host.\n\n' +
@@ -94,6 +105,7 @@ async function run(args, options = {}) {
94
105
  const pkg = JSON.parse(fs.readFileSync(path.join(root, 'package.json'), 'utf8'));
95
106
  if (parsed.kind === 'help') { stdout.write(help(pkg.version)); return 0; }
96
107
  if (parsed.kind === 'version') { stdout.write(`${pkg.version}\n`); return 0; }
108
+ if (parsed.kind === 'apk') { stdout.write(apkInfo()); return 0; }
97
109
  const supported = platform === 'win32' && arch === 'x64';
98
110
  if (!supported && parsed.kind !== 'doctor') {
99
111
  stderr.write(`RoomSync's bundled host requires Windows x64 (detected ${platform}/${arch}). Use Windows PowerShell or Command Prompt with x64 Node.js, not WSL. No host was started.\n`);
@@ -106,6 +118,7 @@ async function run(args, options = {}) {
106
118
  stdout.write(`RoomSync ${pkg.version}\nPlatform: ${platform}/${arch} (${supported ? 'supported' : 'unsupported'})\nBundled Windows x64 host: checksum verified\nBundle manifest version: ${verified.manifest.version}\nSource commit: ${verified.manifest.sourceCommit}\nAudio hardware/runtime validation: not performed by this check\n`);
107
119
  return supported ? 0 : 1;
108
120
  }
121
+ if (['web', 'web-headless'].includes(parsed.args[0])) stdout.write(apkInfo() + '\n');
109
122
  return runNative(verified.executable, parsed.args, { spawnImpl, processImpl, platform, stderr });
110
123
  }
111
124
  module.exports = { parseArgs, help, run, runNative };
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "version": "0.1.6",
3
+ "version": "0.1.7",
4
4
  "platform": "win32",
5
5
  "arch": "x64",
6
6
  "binary": "native/win32-x64/roomsync-desktop.exe",
7
- "sourceCommit": "aff5c964f0ed2f5449429e960740677093b59abf",
8
- "sha256": "6c7e9107b9f8dfc662674354c55cf3895abfcd191cada673a4a66c96b470b7c3",
9
- "sizeBytes": 1104384
7
+ "sourceCommit": "4a232bd669d68f96071fdef85d201ec02282ce67",
8
+ "sha256": "5a32f8ff304644d081112c48d4ccf9f912dfd403bb326ca4fc24633f1670d849",
9
+ "sizeBytes": 1105408
10
10
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "roomsync",
3
- "version": "0.1.6",
3
+ "version": "0.1.7",
4
4
  "description": "RoomSync Windows host preview: start a local control page for private audio sharing",
5
5
  "license": "UNLICENSED",
6
6
  "engines": {