Drop per-task port blocks; previews use any free loopback port

This commit is contained in:
Ian Gulliver
2026-10-21 20:49:00 -07:00
parent d88fd66c68
commit f0213e2aed
18 changed files with 441 additions and 425 deletions
+1 -1
View File
@@ -305,7 +305,7 @@ private struct TaskBar: View {
}
.onAppear {
off = store.events.add { ev in
if ev.kind == "preview.exposed" && ev.taskId == store.selectedTaskId {
if (ev.kind == "preview.exposed" || ev.kind == "preview.taken") && ev.taskId == store.selectedTaskId {
Task {
await load()
}
+1 -1
View File
@@ -824,7 +824,7 @@ final class Store {
spawn("load inbox") {
try await self.loadInbox()
}
case "preview.exposed":
case "preview.exposed", "preview.taken":
if let taskId = ev.taskId {
Task {
await forwards.load(api, taskId)
+3
View File
@@ -957,6 +957,9 @@ final class TranscriptBuilder {
case "preview.exposed":
return note([.text("\(ev.actor) exposed \"\(jsString(p["name"]))\" at "), .preview(taskId: ev.taskId ?? "", port: int(p, "port") ?? 0)])
case "preview.taken":
return note([.text("\"\(jsString(p["name"]))\" stopped: "), .task(str(p, "by_task_id") ?? ""), .text(" now serves port \(int(p, "port") ?? 0)")])
case "task.merged":
let commit = str(p, "commit") ?? ""
if let parentTask = str(p, "parent_task_id") {