basquetWi + New ticket

New ticket

Sub-ticket of MARS-204 Fix practica-link-dead (stale notification bell links to soft-deleted prácticas): root cause CONFIRMED — when a student self-deletes a práctica after submit, the in-app notification (practicaToReview, link=/practicas/<id>) is NOT scrubbed, so it stays in the recipient's bell; clicking it 404s (practica-link-dead, readAt matches the dead-link hit exactly). 14 hits/7 users/14 days. Three-part fix: (1) on práctica soft-delete, scrub/invalidate the related notification rows (cascade or mark invalid + setArchiveContext); (2) bell UI should not render a clickable link to a práctica with deletedAt set (join notifications→vPracticas, grey out if no match); (3) /practicas/[id] shows a friendly 'práctica eliminada' state instead of a 404 — also covers the stale-direct-URL case (1 of 7 had no notification row, likely browser history). Reversible. Auth/notification-adjacent → audit pre-impl design ping. · mars