Skip to content

docs: document expand/contract pattern for dropping DB columns - #787

Closed
gaidheal1 wants to merge 9 commits into
developmentfrom
claude/prod-redis-query-errors-c0dzdg
Closed

docs: document expand/contract pattern for dropping DB columns#787
gaidheal1 wants to merge 9 commits into
developmentfrom
claude/prod-redis-query-errors-c0dzdg

Conversation

@gaidheal1

@gaidheal1 gaidheal1 commented Aug 16, 2026

Copy link
Copy Markdown
Member

Superseded — branch renamed to task/fix-sentry-issues and continued in #788 (I don't have permission to delete the old claude/prod-redis-query-errors-c0dzdg branch, so closing this PR instead).

gaidheal1 and others added 9 commits August 10, 2026 01:46
The hour/minute duration inputs shared a .row class with the
completed-date/time row. The small-screen media query flipped all
.row elements to flex-direction: column, stacking the duration
fields instead of keeping them side by side. Scope the column
layout to the date/time row only.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Publishing an Announcement now pushes a WebSocket "announcement_published"
event to online players, which invalidates the announcements/unread-count
queries so the Navbar badge appears immediately instead of only on refresh
or remount.

- Announcement.save() broadcasts on the unpublished->published transition
- publish_selected_announcements admin action saves rows individually
  (not queryset.update()) so the broadcast actually fires
- frontend wires the new action into handleGlobalWebSocketEvent /
  WebSocketContext to invalidate the relevant react-query keys

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…realtime-badge

feat: broadcast announcement badge updates in real time
Root-cause the 2026-08-14 production UndefinedColumn errors on
Character.can_link: web, celery, and celery-beat deploy independently
on Render, and only web runs migrate via preDeployCommand. The
migration dropping can_link landed in the same deploy as the code
change that stopped using it, so celery/celery-beat kept erroring on
the old column reference until their own deploys caught up. The
current can_link code (derived property, is_reserved field) is
already correct - this documents the two-deploy process needed to
avoid the same stale-worker window on future column removals.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants