- Shipped
- August 13, 2026 at 5:54 PM UTC
- Author
- kamo
- Commit
- 94e445f
Nobody can record time they have not worked yet. Dragging an edge, sliding a whole span, nudging with the arrow keys, the magnet, the right-click block and the manual add dialog all stop at the current minute on today's row, and a future day accepts nothing at all. The part of today that has not happened is hatched, because "you cannot drag a pill here" has to be visible BEFORE someone control, not as a rule. The server already refused a punch inserted or corrected past now, which is exactly why the client needed this: without the wall the drag succeeded, the pill sat there looking staged, and the whole save failed at the end with a message about a punch the member could not find. The magnet gets the same wall. A punch left in the future by a wrong device clock was a legitimate snap target, so an edge could be pulled forward onto it and land somewhere the save would refuse. And the confirm card now stays open when a punch CANCELS OUT the one before it, which TimecardService started doing this morning for any reversal inside a minute. Without that the member presses a button, watches the state snap back to exactly where it started, and reasonably concludes the button is broken. In that state the card drops its picker and its action copy, shows one sentence and one button, and stops dismissing on the backdrop — the stray click that so often follows a confirm must not close the only explanation of what happened.