A decentralized music tracking and discovery platform built on AT Protocol 🎵

Centralize JetStream lock cleanup on connection open

+1 -11
+1 -2
apps/cli/src/cmd/sync.ts
··· 36 36 const user = await createUser(agent, did, handle); 37 37 await subscribeToJetstream(user); 38 38 39 - cleanUpJetstreamLockOnExit(user.did); 40 - 41 39 logger.info` DID: ${did}`; 42 40 logger.info` Handle: ${handle}`; 43 41 ··· 542 540 return new Promise((resolve) => { 543 541 client.on("open", () => { 544 542 logger.info`✅ Connected to JetStream!`; 543 + cleanUpJetstreamLockOnExit(user.did); 545 544 resolve(); 546 545 }); 547 546
-9
apps/cli/src/scrobble.ts
··· 52 52 53 53 if (dryRun) { 54 54 logger.info`${handle} Dry run: Skipping publishing scrobble for ${track.title} by ${track.artist} at ${timestamp ? dayjs.unix(timestamp).format("YYYY-MM-DD HH:mm:ss") : dayjs().format("YYYY-MM-DD HH:mm:ss")}`; 55 - 56 - await fs.promises.unlink( 57 - path.join(os.tmpdir(), `rocksky-jetstream-${did}.lock`), 58 - ); 59 - 60 55 return true; 61 56 } 62 57 ··· 122 117 } 123 118 124 119 await putScrobbleRecord(agent, track, timestamp); 125 - 126 - await fs.promises.unlink( 127 - path.join(os.tmpdir(), `rocksky-jetstream-${did}.lock`), 128 - ); 129 120 130 121 return true; 131 122 }