audit the whole app for stupid cases of missing functionality or basic things like this (like the stats panel at the top that i requested).
What is wrong, at phone width (390 pixels in the audit):
Event log (templates/source_logs.html). Each event row keeps its method, ID, content type, delivery statuses and time on one line, inside a card that clips it. The delivery statuses and the time are cut off and cannot be reached, because the page does not scroll sideways.
Webhook page (templates/source_detail.html). In the target list, each row's controls run off the edge, and the Delete control is cut to "Del".
#347 covers the recent events list at phone width, and #350 the wide-screen layout. This issue covers the event log and the target list.
Definition of done:
At 390 pixels, every status, time and control on the webhook page and in the event log is visible and usable without sideways scrolling. Rows wrap or stack as needed.
Wide screens look as they do today.
A headless browser check at 390 pixels covers both pages and fails on the current tree.
PRIORITY: from the owner's audit request of 1 October (#377), in the tier of #367 to #376.
Model: opus-5-5
Owner's request, https://git.eeqj.de/sneak/webhooker/issues/377 (chat, 2026-10-01):
> audit the whole app for stupid cases of missing functionality or basic things like this (like the stats panel at the top that i requested).
What is wrong, at phone width (390 pixels in the audit):
- **Event log** (`templates/source_logs.html`). Each event row keeps its method, ID, content type, delivery statuses and time on one line, inside a card that clips it. The delivery statuses and the time are cut off and cannot be reached, because the page does not scroll sideways.
- **Webhook page** (`templates/source_detail.html`). In the target list, each row's controls run off the edge, and the Delete control is cut to "Del".
https://git.eeqj.de/sneak/webhooker/issues/347 covers the recent events list at phone width, and https://git.eeqj.de/sneak/webhooker/issues/350 the wide-screen layout. This issue covers the event log and the target list.
Definition of done:
- At 390 pixels, every status, time and control on the webhook page and in the event log is visible and usable without sideways scrolling. Rows wrap or stack as needed.
- Wide screens look as they do today.
- A headless browser check at 390 pixels covers both pages and fails on the current tree.
PRIORITY: from the owner's audit request of 1 October (https://git.eeqj.de/sneak/webhooker/issues/377), in the tier of https://git.eeqj.de/sneak/webhooker/issues/367 to https://git.eeqj.de/sneak/webhooker/issues/376.
Model: opus-5-5
clawbot
self-assigned this 2026-10-01 22:06:21 +02:00
Event log (templates/source_logs.html): each event row wraps below about 640 pixels: method and ID on the first line, then content type, delivery statuses and time, so nothing is clipped and nothing needs sideways scrolling. The expanded part (deliveries, request, body) wraps the same way; long IDs and header values break instead of widening the card.
Webhook page target list (templates/source_detail.html): each row's controls move under its name and details at phone width, so every control, Delete included, shows in full.
Wide screens look as they do now; only small-screen variants of the existing classes are added, with the stylesheet rebuilt by make css.
Browser check: a 390-pixel check in the browser test (its main function is a plain list of checks) covers both pages: every status, time and control lies within the viewport and the page does not scroll sideways. It fails on the current tree.
Model: opus-5-5
Plan.
- **Event log** (`templates/source_logs.html`): each event row wraps below about 640 pixels: method and ID on the first line, then content type, delivery statuses and time, so nothing is clipped and nothing needs sideways scrolling. The expanded part (deliveries, request, body) wraps the same way; long IDs and header values break instead of widening the card.
- **Webhook page target list** (`templates/source_detail.html`): each row's controls move under its name and details at phone width, so every control, Delete included, shows in full.
- Wide screens look as they do now; only small-screen variants of the existing classes are added, with the stylesheet rebuilt by `make css`.
- **Browser check:** a 390-pixel check in the browser test (its main function is a plain list of checks) covers both pages: every status, time and control lies within the viewport and the page does not scroll sideways. It fails on the current tree.
Model: opus-5-5
Built in #495. On both pages a value with no place to break (an event's ID or content type, a webhook or target name) now breaks where it must instead of running past its row or the card, and the event log's title row wraps; wide screens are unchanged. The browser test gains a 390-pixel check of both pages.
The new check fails on the tree before this change: the event log cuts off the long content type, and the webhook page cuts off the long webhook name and scrolls sideways.
Deviation from the plan: target rows are unchanged, as their controls already wrap under the name since #375. At 390 pixels an event's ID takes its own line under the method.
Judgement call: one class on each page's container rather than one per value.
Model: opus-5-5
Built in https://git.eeqj.de/sneak/webhooker/pulls/495. On both pages a value with no place to break (an event's ID or content type, a webhook or target name) now breaks where it must instead of running past its row or the card, and the event log's title row wraps; wide screens are unchanged. The browser test gains a 390-pixel check of both pages.
- The new check fails on the tree before this change: the event log cuts off the long content type, and the webhook page cuts off the long webhook name and scrolls sideways.
- Deviation from the plan: target rows are unchanged, as their controls already wrap under the name since https://git.eeqj.de/sneak/webhooker/issues/375. At 390 pixels an event's ID takes its own line under the method.
- Judgement call: one class on each page's container rather than one per value.
Model: opus-5-5
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Owner's request, #377 (chat, 2026-10-01):
What is wrong, at phone width (390 pixels in the audit):
templates/source_logs.html). Each event row keeps its method, ID, content type, delivery statuses and time on one line, inside a card that clips it. The delivery statuses and the time are cut off and cannot be reached, because the page does not scroll sideways.templates/source_detail.html). In the target list, each row's controls run off the edge, and the Delete control is cut to "Del".#347 covers the recent events list at phone width, and #350 the wide-screen layout. This issue covers the event log and the target list.
Definition of done:
PRIORITY: from the owner's audit request of 1 October (#377), in the tier of #367 to #376.
Model: opus-5-5
Plan.
templates/source_logs.html): each event row wraps below about 640 pixels: method and ID on the first line, then content type, delivery statuses and time, so nothing is clipped and nothing needs sideways scrolling. The expanded part (deliveries, request, body) wraps the same way; long IDs and header values break instead of widening the card.templates/source_detail.html): each row's controls move under its name and details at phone width, so every control, Delete included, shows in full.make css.Model: opus-5-5
Built in #495. On both pages a value with no place to break (an event's ID or content type, a webhook or target name) now breaks where it must instead of running past its row or the card, and the event log's title row wraps; wide screens are unchanged. The browser test gains a 390-pixel check of both pages.
Model: opus-5-5