experiments in a post-browser web
10
fork

Configure Feed

Select the types of activity you want to include in your feed.

refactor(app): rename builtinExtensions to builtinFeatureTiles + drop dead extensions table from datastore browser

app/index.js
- rename builtinExtensions array to builtinFeatureTiles
- rename registerExtensionCommands to registerCoreCommands
- refresh adjacent comments to use tile/feature vocabulary

app/settings/settings.js
- drop the deleted extensions SQLite table from the Datastore browser table-groups list
- rename that group's label from "Extensions" to "Features"
- drop the corresponding tableDescriptions entry

+18 -18
+16 -15
app/index.js
··· 33 33 const topicCorePrefs = 'topic:core:prefs'; 34 34 const topicFeatureToggle = 'core:feature:toggle'; 35 35 36 - // Built-in extensions (now loaded by main process ExtensionManager) 37 - // cmd is first so it's ready to receive command registrations from other extensions 38 - const builtinExtensions = ['cmd', 'editor', 'groups', 'peeks', 'slides']; 36 + // Builtin feature tiles loaded by the main-process tile launcher. 37 + // cmd is first so it's ready to receive command registrations from other tiles. 38 + const builtinFeatureTiles = ['cmd', 'editor', 'groups', 'peeks', 'slides']; 39 39 40 40 let _settingsWin = null; 41 41 ··· 102 102 return; 103 103 } 104 104 105 - // Skip extension-based features (they're loaded by main process ExtensionManager) 106 - const extId = f.name.toLowerCase(); 107 - if (builtinExtensions.includes(extId)) { 108 - log('core', 'skipping extension-based feature (loaded by main process):', f.name); 105 + // Skip tile-backed features (they're loaded by the main-process tile launcher). 106 + const tileId = f.name.toLowerCase(); 107 + if (builtinFeatureTiles.includes(tileId)) { 108 + log('core', 'skipping tile-backed feature (loaded by main process):', f.name); 109 109 return; 110 110 } 111 111 ··· 167 167 } 168 168 } 169 169 170 - // Register extension management commands for cmd palette 171 - const registerExtensionCommands = () => { 170 + // Register the core cmd-palette commands the app ships with. 171 + const registerCoreCommands = () => { 172 172 // Settings command 173 173 api.commands.register({ 174 174 name: 'settings', ··· 558 558 559 559 // ---- Chrome Extension Entry Point Commands ---- 560 560 // Register commands for each openable entry point of loaded chrome extensions 561 - // (async, fire-and-forget since registerExtensionCommands is not async) 561 + // (async, fire-and-forget since registerCoreCommands is not async) 562 562 api.chromeExtensions.getUiEntries().then(uiResult => { 563 563 if (!uiResult.success || !uiResult.data) return; 564 564 const entryTypeLabels = { ··· 612 612 // after the IPC message had already been sent and dropped. 613 613 api.subscribe('feature:all-loaded', () => { 614 614 try { 615 - registerExtensionCommands(); 615 + registerCoreCommands(); 616 616 } catch (err) { 617 - log.error('core', 'registerExtensionCommands threw:', err); 617 + log.error('core', 'registerCoreCommands threw:', err); 618 618 } 619 619 }); 620 620 ··· 790 790 if (f) { 791 791 log('core', 'feature toggle', f); 792 792 793 - // Check if this feature is backed by a tile-feature 793 + // Check if this feature is backed by a builtin tile. 794 794 const featureId = f.name.toLowerCase(); 795 - const isFeatureTile = builtinExtensions.includes(featureId); 795 + const isFeatureTile = builtinFeatureTiles.includes(featureId); 796 796 797 797 if (msg.enabled == false) { 798 798 log('core', 'disabling', f.name); ··· 826 826 } 827 827 }); 828 828 829 - // Initialize core features (non-extension features only) 829 + // Initialize core features (non-tile-backed only — tile-backed features 830 + // are loaded by the main-process tile launcher). 830 831 features().forEach(initFeature); 831 832 832 833 // Features (tiles) are loaded by the main process feature pipeline.
+2 -3
app/settings/settings.js
··· 2687 2687 const tableGroups = [ 2688 2688 { label: 'Core Data', tables: ['items', 'tags', 'content', 'blobs'] }, 2689 2689 { label: 'Relationships', tables: ['item_tags', 'item_visits', 'item_events', 'item_groups', 'item_group_members'] }, 2690 - { label: 'Extensions', tables: ['extensions', 'feature_settings', 'scripts_data', 'feeds'] }, 2690 + { label: 'Features', tables: ['feature_settings', 'scripts_data', 'feeds'] }, 2691 2691 { label: 'System', tables: ['settings', 'migrations', 'themes'] }, 2692 2692 ]; 2693 2693 ··· 2701 2701 item_group_members: 'Group membership associations', 2702 2702 content: 'Cached page content (legacy)', 2703 2703 blobs: 'Binary data storage', 2704 - scripts_data: 'Script extension data', 2704 + scripts_data: 'Script feature data', 2705 2705 feeds: 'Feed subscription data', 2706 - extensions: 'Installed extension metadata', 2707 2706 feature_settings: 'Per-feature settings and preferences', 2708 2707 settings: 'Global application settings', 2709 2708 migrations: 'Schema migration history',