osborn 0.9.76 → 0.9.77
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/dist/index.js +22 -2
- package/package.json +1 -1
- package/test-results/.last-run.json +4 -0
package/dist/index.js
CHANGED
|
@@ -1169,8 +1169,28 @@ async function main() {
|
|
|
1169
1169
|
console.log(`🎯 DIRECT MODE: ${directConfig.stt.provider} STT → Claude Agent SDK → ${directConfig.tts.provider} TTS`);
|
|
1170
1170
|
console.log(' 🔥 Full coding capabilities!');
|
|
1171
1171
|
}
|
|
1172
|
-
// Determine room code
|
|
1173
|
-
|
|
1172
|
+
// Determine room code. STABLE PER MACHINE: persisted to ~/.osborn/room-code
|
|
1173
|
+
// (the volume on cloud machines) so process restarts don't rotate the room.
|
|
1174
|
+
// Rotation raced any client that fetched /room-code just before a restart —
|
|
1175
|
+
// observed 2026-07-28: tester joined osborn-bz2m8n while the rebooted agent
|
|
1176
|
+
// created fnz7nz; the client sat on "Connecting..." forever. Idle-exit
|
|
1177
|
+
// auto-stop/start cycles (0.9.73+) made this race common.
|
|
1178
|
+
const roomCodeFile = join(homedir(), '.osborn', 'room-code');
|
|
1179
|
+
let persistedRoomCode = null;
|
|
1180
|
+
try {
|
|
1181
|
+
persistedRoomCode = readFileSync(roomCodeFile, 'utf8').trim() || null;
|
|
1182
|
+
}
|
|
1183
|
+
catch { /* first boot */ }
|
|
1184
|
+
const roomCode = cliArgs.roomCode || persistedRoomCode || generateRoomCode();
|
|
1185
|
+
if (!cliArgs.roomCode && roomCode !== persistedRoomCode) {
|
|
1186
|
+
try {
|
|
1187
|
+
mkdirSync(dirname(roomCodeFile), { recursive: true });
|
|
1188
|
+
writeFileSync(roomCodeFile, roomCode);
|
|
1189
|
+
}
|
|
1190
|
+
catch (e) {
|
|
1191
|
+
console.warn('⚠️ could not persist room code (rotation race protection disabled):', e instanceof Error ? e.message : e);
|
|
1192
|
+
}
|
|
1193
|
+
}
|
|
1174
1194
|
currentRoomCode = roomCode;
|
|
1175
1195
|
const roomName = `osborn-${roomCode}`;
|
|
1176
1196
|
if (cliArgs.roomCode) {
|
package/package.json
CHANGED