From aaf8697c3d4bbdca293f7ede4a3dfe20f2821a7b Mon Sep 17 00:00:00 2001 From: nexxo Date: Tue, 4 Aug 2026 00:55:23 +0200 Subject: [PATCH] Unter jeder Spur steht, was in ihr faehrt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit „Ruhig / mail-ruhig" war dieselbe Auskunft zweimal, die zweite in Kleinschrift. Der Warteschlangenname stand da, weil ich ihn fuer nuetzlich hielt — er ist es, aber in docker-compose.yml und in MailLane, also dort, wo jemand ihn wirklich braucht. Auf der Seite, auf der ein Betreiber entscheidet, was wie eilig ist, sagt er nichts. An seiner Stelle steht jetzt, was in der Spur faehrt und warum sie so faehrt: wer auf die direkte wartet (jemand vor einem Bildschirm), was die wichtige traegt (Wartung, Abschaltung, Wiederanlauf), und warum die ruhige warten darf (eine Rechnung um zwei nachts ist dieselbe Rechnung). Nachgesehen, bevor der Name verschwand: die Bereitschaftsseite nennt die Spuren nirgends beim Warteschlangennamen — es geht nichts verloren. Co-Authored-By: Claude Opus 5 --- lang/de/mail_pace.php | 8 ++++++++ lang/en/mail_pace.php | 5 +++++ .../views/livewire/admin/mail-pace.blade.php | 16 +++++++++------- tests/Feature/Admin/MailPacePageTest.php | 18 +++++++++++++----- 4 files changed, 35 insertions(+), 12 deletions(-) diff --git a/lang/de/mail_pace.php b/lang/de/mail_pace.php index bad489d..6da230e 100644 --- a/lang/de/mail_pace.php +++ b/lang/de/mail_pace.php @@ -23,6 +23,14 @@ return [ 'mail-wichtig' => 'Wichtig', 'mail-ruhig' => 'Ruhig', ], + 'lane_hint' => [ + // Was in dieser Spur faehrt und warum sie so faehrt — nicht der + // Warteschlangenname, der vorher hier stand: „Ruhig / mail-ruhig" + // wiederholte die Ueberschrift und sagte nichts. + 'mail-direkt' => 'Passwort, Bestätigung, Sicherheitsmeldung. Darauf wartet gerade jemand vor dem Bildschirm — hier zu drosseln kostet einen Supportfall.', + 'mail-wichtig' => 'Wartungsfenster, Abschaltung, Wiederanlauf. Soll rasch raus, verträgt aber einen Schub statt aller auf einmal.', + 'mail-ruhig' => 'Rechnungen, Mahnungen, Hinweise. Ob sie um sechs abends oder um zwei nachts ankommen, ändert für den Kunden nichts.', + ], 'unthrottled' => 'ungedrosselt', 'count' => 'Kontingent', 'minutes' => 'Minuten', diff --git a/lang/en/mail_pace.php b/lang/en/mail_pace.php index d95dbbd..079cabd 100644 --- a/lang/en/mail_pace.php +++ b/lang/en/mail_pace.php @@ -22,6 +22,11 @@ return [ 'mail-wichtig' => 'Urgent', 'mail-ruhig' => 'Calm', ], + 'lane_hint' => [ + 'mail-direkt' => 'Password, confirmation, security notice. Somebody is waiting in front of a screen — throttling here buys a support call.', + 'mail-wichtig' => 'Maintenance windows, suspensions, resumptions. Should go out promptly, but tolerates going in batches.', + 'mail-ruhig' => 'Invoices, dunning notices, notifications. Whether they arrive at six in the evening or two at night makes no difference.', + ], 'unthrottled' => 'unthrottled', 'count' => 'Allowance', 'minutes' => 'Minutes', diff --git a/resources/views/livewire/admin/mail-pace.blade.php b/resources/views/livewire/admin/mail-pace.blade.php index 87367e1..e878c87 100644 --- a/resources/views/livewire/admin/mail-pace.blade.php +++ b/resources/views/livewire/admin/mail-pace.blade.php @@ -30,13 +30,15 @@ @foreach ($lanes as $lane) - {{-- Der Warteschlangenname steht als Unterzeile bei der Spur, - nicht in der Wertspalte: dort stand er zwischen - Beschriftung und Eingabefeldern und las sich wie ein - weiterer Wert. Er bleibt aber stehen — es ist der Name, - den der Arbeiter in docker-compose.yml abhört, und wer - dort nachsieht, braucht genau diese Zeichenkette. --}} -
@if ($lane['throttled']) diff --git a/tests/Feature/Admin/MailPacePageTest.php b/tests/Feature/Admin/MailPacePageTest.php index 3474d24..9597193 100644 --- a/tests/Feature/Admin/MailPacePageTest.php +++ b/tests/Feature/Admin/MailPacePageTest.php @@ -142,11 +142,19 @@ it('führt für jede Mailklasse denselben Namen in beiden Sprachen', function () } }); -it('stellt den technischen Spurnamen unter die Spur, nicht zwischen die Felder', function () { - // Er bleibt sichtbar — der Arbeiter in docker-compose.yml hört genau - // diese Zeichenkette ab —, aber als Unterzeile der Beschriftung. +it('sagt unter jeder Spur, was in ihr faehrt, statt ihren Warteschlangennamen zu wiederholen', function () { + // Vorher stand dort „Ruhig / mail-ruhig" — dieselbe Auskunft zweimal, die + // zweite in Kleinschrift. Der Warteschlangenname gehoert in die + // --queue-Liste des Arbeiters, nicht auf die Seite, auf der jemand + // entscheidet, was wie eilig ist. $html = Livewire::actingAs(operator('Owner'), 'operator')->test(MailPace::class)->html(); - expect($html)->toContain(MailLane::CALM) - ->and($html)->not->toContain('font-mono text-xs text-muted">'.MailLane::CALM); + foreach ([MailLane::DIRECT, MailLane::URGENT, MailLane::CALM] as $spur) { + expect(Lang::has('mail_pace.lane_hint.'.$spur))->toBeTrue() + ->and($html)->toContain(e(__('mail_pace.lane_hint.'.$spur))); + } + + // Der rohe Name steht nur noch dort, wo er etwas bewirkt: im Wert der + // Auswahlfelder der Zuordnung, nicht als sichtbarer Text. + expect($html)->not->toContain('>'.MailLane::CALM.'<'); });