Консоль не пустеет после перезапуска менеджера
Номера строк консоли живут в памяти менеджера и после его перезапуска начинаются заново, а открытая вкладка отбрасывает всё, чей номер не больше последнего увиденного. После обновления панели консоль оставалась пустой при живом сервере — до перезагрузки страницы. У буфера появилась метка запуска: поток отдаёт её отдельным событием, и по её смене вкладка сбрасывает счётчик, чистит экран и забирает историю нового запуска заново. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -39,3 +39,21 @@ func TestAppendStripsANSI(t *testing.T) {
|
||||
t.Errorf("в буфер попала строка с кодами: %q", lines[0].Text)
|
||||
}
|
||||
}
|
||||
|
||||
// Номера строк живут в памяти менеджера: после перезапуска они начинаются
|
||||
// заново. Метка запуска должна это показывать, иначе открытая вкладка примет
|
||||
// новые строки за уже показанные.
|
||||
func TestLogBufferEpochDiffers(t *testing.T) {
|
||||
first, second := newLogBuffer(8), newLogBuffer(8)
|
||||
if first.epoch == "" {
|
||||
t.Fatal("метка запуска пустая")
|
||||
}
|
||||
if first.epoch == second.epoch {
|
||||
t.Fatalf("метки совпали: %q", first.epoch)
|
||||
}
|
||||
first.append(LogLine{Stream: "manager", Text: "первый запуск"})
|
||||
second.append(LogLine{Stream: "manager", Text: "второй запуск"})
|
||||
if got := second.since(0); len(got) != 1 || got[0].Seq != 1 {
|
||||
t.Fatalf("нумерация нового буфера: %+v", got)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user