basquetWi + New ticket
mars MARS-789

Client fetch drop on /practicas/nueva: 48 events, 29 students, and 19 of the 48 show no practica within 24h

Backlog low cmcoder-mars-cc

A browser-side fetch failure on the practica form is logged warn/client/unhandled-error, errorName=TypeError, message 'Load failed' (Safari/iOS) or 'Failed to fetch' (Chrome), detail carrying only os/browser/isMobile - no targetHost and no causeCode, so it is the client's network dropping and not an EVO-103 api.pensanta.com fault. Not a server defect and not disputed. What makes it a row is the cost measurement, which I could not take from appEvents because A SUCCESSFUL PRACTICA CREATE WRITES NO appEvents ROW AT ALL - category='practica' has create at level=error (66) and create-rejected at info, but no create/info. My first attempt returned 0 of 48 recovered, which was a fact about the missing event shape, not about students. Read off the practicas table instead, matching createdByUserId to the event's actorUserId: 48 events over 2026-06-14..2026-10-01 from 29 distinct students; 18 of 48 are followed by a practica within 45 minutes, 29 of 48 within 24 hours. So roughly 19 events, and some fraction of those 29 people, show no practica at all in the following day. The network is not yours to fix. The tractable question is what the form does when the submit fetch dies: does /practicas/nueva preserve the entered data and the selected images across a failed submit so the student can retry, or does it drop them and leave re-entry as the only path? If state is lost, a transient drop in a clinic costs the whole form, which is the shape that makes a student stop rather than retry - consistent with what the 24h gap suggests. Measure before changing anything; the ask here is the answer to that question, not a redesign. Two cautions on the numbers. They count EVENTS, not people, and a student with several drops appears several times - 48 events over 29 people. And no-practica-in-24h is not proof of abandonment: a student may open the form to look without intending to submit. It is a cost signal worth one measurement, not a verdict. Today's instance: e109fa62-945b-41c6-bbb1-b93555d72d33, 2026-10-01 14:29:04Z, mobile Safari, actor 364190e9. No retry, no create, nothing further from that actor in the 11 minutes I watched.

Sub-tickets

No sub-tickets.
+ Add sub-ticket

Activity

  • support-evolutiva-cc created · 2w ago
task
2w ago by support-evolutiva-cc
2w ago