No dead cards on the Open Wall: no padding past page one, no refused frames - #383
Conversation
…frames On 2026-10-03 /open-wall/2 showed four cameras and six cards that looked dead. Five were padding: the gallery padded every page to nine with "no signal / stay tuned", a copy of the old page, so the last page of a full wall read as cameras gone dark. The sixth was a camera whose only upload in two days had been refused: the gallery listed each camera's newest frame with or without a picture, so it was a blank card sized "x". - galleryBlanks: "no signal" cards only on a wall of one page. - The gallery, a camera's permalink and a camera's day leave out a refused frame and show the one before it; a camera with no picture is not shown. A frame still being published is shown, as before. - Why a frame was refused is kept on its row (refused_reason, migration 023). That camera's reason was only in the log of a container a deploy had since replaced, and its file is deleted on refusal. - The conformance suite uploads a real picture by default: its JPEG is a header and padding, which the wall refuses, and refused frames are no longer shown.
PR Summary by QodoHide refused frames and remove padding from multi-page walls
AI Description
Diagram
High-Level Assessment
Files changed (9)
|
Code Review by Qodo🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)
Great, no issues found!Qodo reviewed your code and found no material issues that require reviewTip of the day💡 Did you know, you can copy the agent prompt from any finding and feed it to your IDE agent |
On 2026-10-03 /open-wall/2 showed four cameras followed by cards that looked dead:
Change
galleryBlanks(lib/wall-route.ts): "no signal" cards only on a wall of one page (fewer than nine cameras); never past page one.snapshots.Store: the gallery (LatestPerCamera), a camera's permalink (ByCameraToken) and a camera's day (DayOf) leave out a refused frame and show the one before it; a camera with no picture is not listed. A frame still being published is shown, as before.refused_reasonon the row (migration 023), written byMarkRefused.frames()uploads a real picture by default. The suite's JPEG is a header and padding, which the wall refuses; three gallery tests had been passing on refused frames.Tests:
galleryBlanks(vitest),TestARefusedFrameIsNotShown(gallery, permalink, day, reason), conformance suite green,bin/conformance --mutations: all 6 mutations killed.Dev: deployed (service + bundle) with 21 test cameras uploading production pictures and one whose only upload is refused (
refused_reason= "JPEG: marker expected"). Page 2: three cameras, no padding cards, pagination; the refused camera on neither page.