Skip to content

ENG-2173 Enable props-based settings by default - #1349

Open
mdroidian wants to merge 2 commits into
mainfrom
eng-2173-use-props-based-settings-by-default
Open

ENG-2173 Enable props-based settings by default#1349
mdroidian wants to merge 2 commits into
mainfrom
eng-2173-use-props-based-settings-by-default

Conversation

@mdroidian

@mdroidian mdroidian commented Aug 24, 2026

Copy link
Copy Markdown
Member

Summary

  • Enable the props-based settings store by default after legacy settings migration succeeds
  • Make legacy-to-block-props migration await writes and report failures before recording completion
  • Preserve explicit admin rollbacks and add migration coverage with Vitest

Testing

  • Added Vitest unit tests for migration failure handling and props-store default migration

Open in Devin Review

@linear-code

linear-code Bot commented Aug 24, 2026

Copy link
Copy Markdown

ENG-1273

ENG-2173

@vercel

vercel Bot commented Aug 24, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
discourse-graph Skipped Skipped Aug 24, 2026 3:49pm

Request Review

@supabase

supabase Bot commented Aug 24, 2026

Copy link
Copy Markdown

This pull request has been ignored for the connected project zytfjzqyijgagqxrzbmz because there are no changes detected in packages/database/supabase directory. You can change this behaviour in Project Integrations Settings ↗︎.


Preview Branches by Supabase.
Learn more about Supabase Branching ↗︎.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 648ac7480f

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread apps/roam/src/components/settings/utils/init.ts
Comment thread apps/roam/src/components/settings/utils/init.ts

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no bugs or issues to report.

Open in Devin Review

@mdroidian mdroidian changed the title ENG-1273 Enable props-based settings by default ENG-2173 Enable props-based settings by default Aug 24, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 256a34a417

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +382 to +383
if (graphSettingsMigrated && personalSettingsMigrated) {
await migratePropsStoreDefault(blockUids);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Gate the shared flag on each user's migration

In a shared graph, once the first user reaches this call, Use new settings store becomes true in the graph-wide Feature Flags block, but every collaborator has a different personal block and migration marker. On another user's next load, bulkReadSettings() runs before initSchema() and therefore reads defaults from that user's not-yet-migrated personal block; for example, a legacy Disable product diagnostics opt-out becomes false and initPostHog() is called before this migration can repair the block. Unlike the earlier validation case, this occurs even when the second user's legacy data is valid, because this conditional cannot make an already-enabled graph flag wait for that user; the read gate needs per-user migration readiness.

Useful? React with 👍 / 👎.

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.

1 participant