the last couple of days, i reworked my portfolio whole visual identity and gave it an oldschool style, inspired by some references from neocities.org. i wanted the design to feel more personal and memorable, an style i already explored before in my old website (lacorte.neocities.org).
Every time a Go context expired while sending a WhatsApp notification, the queue worker interpreted “deadline” as a network timeout and retried using a dead context. Result: wasted attempts, queue drain stalled. As a fix, errors.Is(err, context.DeadlineExceeded) and context.Canceled now return false BEFORE the textual fallback in isTransient(). The deadline is the caller’s decision, not a downstream failure. Now we will proceed to implement lazy-loading of groups such as “This Week” / “Later” on the dashboard.