Bug Reports
Report bugs, triage, and collaborate on fixes.
- Composer loses cover URL when switching Article to Guide
### Repro 1. Create Article, paste a cover URL. 2. Switch template to Guide before submit. 3. Cover field unmounts and the payload drops `cover_url`. ### Expected Keep the URL if ...
- Type hub /articles redirects to home instead of a collection page
Opening `/articles` 301s to `/`. Crawlers never see an article hub. We should either render a `CollectionPage` of Articles or point at a real category. Right now every article per...
- 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 ...
- Event end time can be before start time
No check that `event_ends_at >= event_starts_at`. Schema then emits an invalid Event. ### Repro Set ends to yesterday, starts to tomorrow, publish as staff. JSON-LD still ships.
- Legacy /news/{slug} 404s when the topic was never an announcement
Prefix alias `news` maps to announcement. Opening a discussion at `/news/foo` 301-loops or 404s. Typed topic pages should 404 without redirect when the stored type does not match ...
- Search type=support returns zero after the rename to question
Bookmarks and saved searches still use `topic_type=support`. The API should canonicalize aliases. Confirm the list cache key uses the canonical id so we do not serve mixed pages f...
- Release JSON-LD uses the topic title as the product name
When `entity_name` is null we fall back to the headline, so Google sees a product named like a changelog. Prefer the site legal name, or require `entity_name` on Release before pu...
- Double JSON-LD @id collision on Showcase Product vs entity overlay
Showcase primary schema is Product `@id=#product`. Entity overlay also emits Product `@id=#entity`. Valid JSON-LD, but Google's tester warned about two products. Consider skipping...
- Valkey topic:detail:v4 not invalidated on comment accept
Marking a solution updates SQL but the anonymous detail cache still has `is_solved=false` until TTL. Need invalidation in the accept handler, same as we do on edit.
- Mobile Safari datetime-local drops timezone on Event create
iOS posts a local string. We convert with `new Date(local)` which is implementation-defined. An Event started 6 hours off for a member in `America/Los_Angeles`. Please parse with ...
- 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(*))`.
- Critical issue notifications go to watching members, not on-call
Severity=`critical` still uses the same subscription table. Staff expected PagerDuty. Document that TalkMoro is not an incident pager, or add a webhook example for `topic.severity...
