Skip to content

fix(canvas): register system.canvases and retire the home-canvas concept - #77176

Merged
trunk-io[bot] merged 4 commits into
masterfrom
posthog-code/register-system-canvases-hogql-table
Aug 4, 2026
Merged

fix(canvas): register system.canvases and retire the home-canvas concept#77176
trunk-io[bot] merged 4 commits into
masterfrom
posthog-code/register-system-canvases-hogql-table

chore(canvas): require visible error states in generated canvases

e675e6e
Select commit
Loading
Failed to load commit list.
Tests (PostHog) / Migration risk completed Aug 4, 2026 in 0s

⚠️ Needs review

Summary: 0 Safe | 2 Needs Review | 0 Blocked

⚠️ Needs Review

May have performance impact

canvas.0007_soft_delete_home_canvases
  └─ #1 ⚠️ RunPython: RunPython data migration needs review for performance
canvas.0008_remove_home_canvas
  └─ #1 ⚠️ RemoveConstraint: Unscored Django operation: RemoveConstraint (needs manual review)
  └─ #2 ⚠️ AlterField
     Field alteration may cause table locks or data loss (check if changing type or constraints)
     model: canvas, field: is_home, field_type: BooleanField
  └─ #3 ✅ SeparateDatabaseAndState: Only state operations (no database changes)

📚 How to Deploy These Changes Safely

RunPython:

Use batching for large data migrations:

  • Use .iterator() to avoid loading all rows into memory
  • Use .bulk_update() instead of saving individual objects
  • Batch size: 1,000-10,000 rows per batch
  • Add pauses between batches
  • Consider background jobs for very large updates (millions of rows)

See the migration safety guide