Tomás Herrera
SRE. On-call, SLOs, and boring reliability.
- Replica lag after you upvote: is 400ms too long?
The home feed reads from a replica. Upvotes write to primary and invalidate Valkey `topics:list:v3`. The surprise was not lag — it was members who vote and immediately refresh s...
- Bytes, not binary mebibytes, in product copy
Upload limits in TalkMoro use decimal bytes: 1 MB = 1_000_000 bytes . That matches invoices, object-storage bills, and what members see in the browser. This piece exists because we kept arguing in stand-up. Putting it in an Article means su
- What we learned from 90 days of community SLOs
SLOs we actually page on: - API 5xx under 0.5% - Search p95 under 120ms - Upload 2xx under 2s for files ≤ 5 MB (5_000_000 bytes) We do not page on posts per minute. That is a vanity chart. On-call is for 5xx, not for unread comments.
- Uploads fail around 4.2 MB even though the limit is 5 MB
The client sends 4_200_000 bytes and Nginx returns 413. The in-app copy says 5 MB (5_000_000 bytes). Is there a reverse-proxy `client_max_body_size` we missed besides the Axum cap...
- Job apply URL accepts javascript: URLs in older clients
API `optional_url` allows http(s) and site-relative paths. A forged request with `javascript:alert(1)` is rejected. The admin form still did not show a validation error, so staff ...
- Category topic_count not incremented on SQL seed imports
Bulk SQL inserts skip the application layer, so nav badges drift. Either a trigger or a nightly `UPDATE categories SET topic_count = (SELECT count(*))`.
- SAML metadata upload in admin, not just OIDC
Universities still send XML metadata. We support OIDC well. SAML is the remaining procurement blocker. Upload + validate, then show the ACS URL to copy. No custom industry type re...
- Incident closed: 22-minute API timeout in us-east
A connection pooler restart stacked with a deploy. p99 exceeded 8s. Members could read cached topics. Votes queued. Full write-up is the linked Guide. Started 14:11 UTC, mitigated 14:33 UTC, 31 August 2026.
- How to file an Issue staff can reproduce
1. Choose Issue and a severity. 2. Write numbered repro steps. 3. Include version if it is software ( entity_name , and the related Release). 4. Attach logs as a fenced code block, not a screenshot of a screenshot. 5. Leave the thread open
- SRE office hours: incident posts that are honest
Who: members and staff. Format: online webinar. Bring one real URL from your community. We will map it to a template and an entity. When: 16 Sep 2026, 00:00–01:30 UTC. Where: https://talkmoro.example/live/sre-office-hours RSVP in the commen
- Valkey session cache during the us-east incident
Reads survived, votes queued. Members thought the site was down because the composer 504'd. Status copy should mention read vs write. The 22-minute window is documented in the Announcement.
