Skip to content

ENG-1273: Migrate small personal settings#691

Open
sid597 wants to merge 2 commits intoeng-1272-migrate-all-small-global-settings-componentfrom
eng-1273-migrate-all-small-personal-settings
Open

ENG-1273: Migrate small personal settings#691
sid597 wants to merge 2 commits intoeng-1272-migrate-all-small-global-settings-componentfrom
eng-1273-migrate-all-small-personal-settings

Conversation

@sid597
Copy link
Collaborator

@sid597 sid597 commented Jan 12, 2026

NOTE: No usage video I tested all these and they work. The video will not be helpful because not able to show the console logs in loom video.

Summary by CodeRabbit

Release Notes

  • Refactor

    • Migrated settings to be personalized per user instead of applied globally, enabling individual control over features like Discourse Context Overlay, Suggestive Mode Overlay, Page Preview, Text Selection Popup, and sidebar behavior.
    • Streamlined personal settings interface with consolidated UI components.
  • Documentation

    • Added comprehensive migration guide documenting settings system updates.

✏️ Tip: You can customize this high-level summary in your review settings.


Open with Devin

@linear
Copy link

linear bot commented Jan 12, 2026

@supabase
Copy link

supabase bot commented Jan 12, 2026

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 ↗︎.

@sid597 sid597 marked this pull request as ready for review January 12, 2026 16:02
@sid597 sid597 force-pushed the eng-1273-migrate-all-small-personal-settings branch from a82cfaf to bc0de10 Compare January 17, 2026 18:16
@sid597 sid597 force-pushed the eng-1272-migrate-all-small-global-settings-component branch 2 times, most recently from 9015611 to 16b26f7 Compare January 18, 2026 05:25
@sid597 sid597 force-pushed the eng-1273-migrate-all-small-personal-settings branch from bc0de10 to 57abc42 Compare January 18, 2026 05:25
@sid597 sid597 force-pushed the eng-1272-migrate-all-small-global-settings-component branch from 16b26f7 to dd2272b Compare January 19, 2026 04:51
@sid597 sid597 force-pushed the eng-1273-migrate-all-small-personal-settings branch from 57abc42 to 7ead54e Compare January 19, 2026 04:51
@sid597 sid597 force-pushed the eng-1272-migrate-all-small-global-settings-component branch from dd2272b to 92ea54b Compare January 19, 2026 05:01
@sid597 sid597 force-pushed the eng-1273-migrate-all-small-personal-settings branch 2 times, most recently from 490810f to 8dc5276 Compare January 19, 2026 06:03
@sid597 sid597 force-pushed the eng-1272-migrate-all-small-global-settings-component branch from 5a165ac to bed3149 Compare January 19, 2026 06:34
@sid597 sid597 force-pushed the eng-1273-migrate-all-small-personal-settings branch from 8dc5276 to 8286d6b Compare January 19, 2026 06:34
This was referenced Jan 19, 2026
@sid597 sid597 force-pushed the eng-1272-migrate-all-small-global-settings-component branch from bed3149 to d23e91a Compare January 20, 2026 16:06
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 28, 2026

✅ Actions performed

Full review triggered.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 28, 2026

📝 Walkthrough

Walkthrough

A settings migration refactor replaces direct extensionAPI.settings access with getPersonalSetting accessor calls across multiple components and utilities. HomePersonalSettings.tsx consolidates individual checkbox UI into PersonalFlagPanel components. A comprehensive CLAUDE.md migration guide is added documenting patterns and status.

Changes

Cohort / File(s) Change Summary
Documentation
CLAUDE.md
New comprehensive migration guide covering settings migration mistakes, checklist, key files, block prop settings migration phases, pattern references, Zod schemas, and pending migration items for Discourse Node settings and sidebar configurations.
Settings Migration - Accessors
apps/roam/src/components/DiscourseFloatingMenu.tsx, apps/roam/src/utils/createDiscourseNode.ts, apps/roam/src/utils/initializeObserversAndListeners.ts, apps/roam/src/utils/registerCommandPaletteCommands.ts
Replaced extensionAPI.settings access with getPersonalSetting lookup for "Hide Feedback Button", "Disable Sidebar Open", "Suggestive Mode Overlay", "Page Preview", "Discourse Context Overlay", and "Text Selection Popup" settings. Updated registerCommandPaletteCommands to use synchronous getPersonalSetting/setPersonalSetting for toggleDiscourseContextOverlay, removing async/try-catch.
Settings UI Consolidation
apps/roam/src/components/settings/HomePersonalSettings.tsx
Consolidated individual Checkbox-based settings into PersonalFlagPanel components for Overlay, Suggestive Mode Overlay, Text Selection Popup, Preview, Hide Feedback Button, Auto Canvas Relations, Canvas Overlay, Streamline Styling, and Disable Product Diagnostics. Removed direct checkbox state management and extensionAPI.settings calls, replacing with onChange handlers triggering observers and actions. Implemented inline DOM manipulation for Streamline Styling CSS loading.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

  • Consolidate UI settings #109: Both PRs heavily refactor HomePersonalSettings.tsx, consolidating individual checkbox controls into unified panel components.
  • Add Personal Node Menu Trigger, style Node Menu #40: Both PRs modify initializeObserversAndListeners.ts to change how per-user settings are read, replacing extensionAPI.settings with getPersonalSetting accessor calls.
  • Roam: Add feedback toggle #118: Both PRs update the feedback button visibility flow, shifting from extensionAPI.settings to personal-setting accessors in HomePersonalSettings and DiscourseFloatingMenu.
🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Title check ✅ Passed The title 'ENG-1273: Migrate small personal settings' directly and clearly describes the main change in the pull request: migrating personal settings from extension-wide settings to user-specific personal settings across multiple components and utilities.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@sid597 sid597 force-pushed the eng-1273-migrate-all-small-personal-settings branch from 78e8311 to 26026e1 Compare January 28, 2026 21:16
@sid597 sid597 force-pushed the eng-1272-migrate-all-small-global-settings-component branch from d23e91a to 1a9654d Compare January 28, 2026 21:16
Copy link

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

Choose a reason for hiding this comment

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

Devin Review found 2 potential issues.

View issues and 4 additional flags in Devin Review.

Open in Devin Review

@sid597 sid597 force-pushed the eng-1273-migrate-all-small-personal-settings branch from 26026e1 to 938f6aa Compare January 28, 2026 21:20
@sid597 sid597 requested a review from mdroidian January 28, 2026 21:23
Copy link
Contributor

@mdroidian mdroidian left a comment

Choose a reason for hiding this comment

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

Could you please record a loom video showing the working changed UI. Show the settings being updating in both the legacy as well as the new prop storage.

Please also format all files with prettier.

@sid597 sid597 force-pushed the eng-1272-migrate-all-small-global-settings-component branch from 1a9654d to 97aa080 Compare February 3, 2026 18:56
@sid597 sid597 force-pushed the eng-1273-migrate-all-small-personal-settings branch from 938f6aa to 0dee3d3 Compare February 3, 2026 18:56
@sid597 sid597 force-pushed the eng-1272-migrate-all-small-global-settings-component branch from 97aa080 to 443ab86 Compare February 3, 2026 19:08
@sid597 sid597 force-pushed the eng-1273-migrate-all-small-personal-settings branch from 0dee3d3 to d4ed8a1 Compare February 3, 2026 19:08
@sid597 sid597 changed the base branch from eng-1272-migrate-all-small-global-settings-component to graphite-base/691 February 3, 2026 19:54
@sid597 sid597 changed the title Migrate small personal settings ENG-1273: Migrate small personal settings Feb 3, 2026
@sid597 sid597 force-pushed the graphite-base/691 branch from 443ab86 to a70854f Compare February 3, 2026 20:35
@sid597 sid597 force-pushed the eng-1273-migrate-all-small-personal-settings branch from d4ed8a1 to ab3d5de Compare February 3, 2026 20:35
@sid597 sid597 changed the base branch from graphite-base/691 to eng-1272-migrate-all-small-global-settings-component February 3, 2026 20:35
@sid597 sid597 force-pushed the eng-1273-migrate-all-small-personal-settings branch 3 times, most recently from 88d4ff5 to f5d0a0a Compare February 4, 2026 17:56
@sid597 sid597 force-pushed the eng-1272-migrate-all-small-global-settings-component branch from a70854f to 94e3904 Compare February 4, 2026 17:56
@sid597 sid597 changed the base branch from eng-1272-migrate-all-small-global-settings-component to graphite-base/691 February 6, 2026 18:59
@sid597 sid597 force-pushed the graphite-base/691 branch from 94e3904 to fcaa6de Compare February 7, 2026 18:29
@sid597 sid597 force-pushed the eng-1273-migrate-all-small-personal-settings branch from f5d0a0a to 2a4faca Compare February 7, 2026 18:29
@sid597 sid597 changed the base branch from graphite-base/691 to eng-1272-migrate-all-small-global-settings-component February 7, 2026 18:30
settingKeys={["Discourse Context Overlay"]}
defaultValue={getSetting<boolean>("discourse-context-overlay", false)}
onChange={(checked) => {
void setSetting("discourse-context-overlay", checked);
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Note we are using getSetting and setSetting from the extensionAPI, so when we use these panel we save to both the extensionApi and the blockProps.

@sid597 sid597 requested a review from mdroidian February 7, 2026 18:41
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