Keep live Whisper segments on screen without a page refresh.
Treat streamed chunks as appends, stop Livewire from remorphing the Alpine tree, and hydrate from HTTP while a run is active so segment cards appear as they arrive.
This commit is contained in:
@@ -595,6 +595,10 @@ class Recording extends Model
|
||||
|
||||
$segments = is_array($verbose['segments'] ?? null) ? $verbose['segments'] : [];
|
||||
|
||||
if (isset($delta['segment']) && is_array($delta['segment'])) {
|
||||
$segments = $this->appendVerboseSegment($segments, $delta['segment']);
|
||||
}
|
||||
|
||||
if (isset($delta['segments']) && is_array($delta['segments'])) {
|
||||
$incoming = [];
|
||||
|
||||
@@ -605,10 +609,14 @@ class Recording extends Model
|
||||
}
|
||||
|
||||
if ($incoming !== []) {
|
||||
$segments = $incoming;
|
||||
if (isset($delta['segment'])) {
|
||||
foreach ($incoming as $segment) {
|
||||
$segments = $this->appendVerboseSegment($segments, $segment);
|
||||
}
|
||||
} else {
|
||||
$segments = $incoming;
|
||||
}
|
||||
}
|
||||
} elseif (isset($delta['segment']) && is_array($delta['segment'])) {
|
||||
$segments = $this->appendVerboseSegment($segments, $delta['segment']);
|
||||
}
|
||||
|
||||
if (isset($delta['words']) && is_array($delta['words']) && $delta['words'] !== []) {
|
||||
|
||||
Reference in New Issue
Block a user