feat: unify workspace routing through tab-based URLs and remove legacy per-type routes
This commit is contained in:
@@ -2802,6 +2802,23 @@ export class DaemonClient {
|
||||
const startedAtMs = getNowMs()
|
||||
const rawData =
|
||||
data && typeof data === 'object' && 'data' in data ? (data as { data: unknown }).data : data
|
||||
|
||||
if (
|
||||
typeof Blob !== 'undefined' &&
|
||||
rawData instanceof Blob &&
|
||||
typeof rawData.arrayBuffer === 'function'
|
||||
) {
|
||||
void rawData
|
||||
.arrayBuffer()
|
||||
.then((buffer) => {
|
||||
this.handleTransportMessage(buffer)
|
||||
})
|
||||
.catch(() => {
|
||||
// Ignore failed blob decoding and allow reconnect logic to recover.
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
const rawBytes = asUint8Array(rawData)
|
||||
if (rawBytes) {
|
||||
const frame = decodeBinaryMuxFrame(rawBytes)
|
||||
|
||||
@@ -6755,7 +6755,11 @@ export class Session {
|
||||
}
|
||||
|
||||
const streamId = this.allocateTerminalStreamId()
|
||||
const initialOffset = Math.max(0, Math.floor(msg.resumeOffset ?? 0))
|
||||
const requestedResumeOffset =
|
||||
typeof msg.resumeOffset === 'number'
|
||||
? msg.resumeOffset
|
||||
: session.getOutputOffset()
|
||||
const initialOffset = Math.max(0, Math.floor(requestedResumeOffset))
|
||||
const binding: {
|
||||
terminalId: string
|
||||
unsubscribe: () => void
|
||||
@@ -6789,7 +6793,7 @@ export class Session {
|
||||
replay: chunk.replay,
|
||||
})
|
||||
},
|
||||
{ fromOffset: msg.resumeOffset ?? 0 }
|
||||
{ fromOffset: requestedResumeOffset }
|
||||
)
|
||||
} catch (error) {
|
||||
this.terminalStreams.delete(streamId)
|
||||
|
||||
Reference in New Issue
Block a user