waybetter/crates/waybetter-host/src
CRT 3db5435208 Store: two catalog files from one source, so apps from before a kind keep a working Store
An app that does not know a catalog item's kind refuses the whole signed file, so
the icons and builtin kinds can never go into catalog.json. `waybetter store build`
now writes catalog.json (format 2: theme, plugin, strings only; what every app
reads today) and catalog.v3.json (format 3: every kind) from the same items;
`sign` and `verify` handle the pair; the rules refuse a format 2 file that lists a
newer kind (CLI, JSON Schema, host). The host reads catalog.v3.json first and falls
back to catalog.json only when the newer file is not there (a newer file that does
not verify is an error). An item of a kind a version does not know is skipped
instead of refusing the file, so the next new kind costs current apps nothing.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 14:41:29 +07:00
..
media host: gallery folders and the opt-in clipboard history 2026-09-29 11:13:01 +07:00
plugins Host: 256 feature flags, the onboarding mode (mode_get/mode_set, shell-only), and the one-time move of replaced plugin files to feature flags 2026-09-30 18:34:13 +07:00
store Store: two catalog files from one source, so apps from before a kind keep a working Store 2026-10-01 14:41:29 +07:00
alerts.rs host: keyword alerts and native notifications 2026-09-29 11:05:49 +07:00
alerts_commands.rs host: keyword alert settings are the host's (AppConfig::with_alerts, commands::ALERTS) 2026-10-01 14:14:34 +07:00
app.rs Store: Open With (files the OS hands over) and the icons and builtin catalog kinds 2026-10-01 14:23:23 +07:00
backup.rs host: settings backup envelope and encrypted folder sync 2026-09-29 10:58:15 +07:00
backup_commands.rs Host: the settings backup commands (collect, export, open, apply) are served for every app; SiteHooks::backup_drafts and backup_apply carry what only the app knows; commands::BACKUP, testkit::assert_backup_guards 2026-10-01 04:41:12 +07:00
bridge.rs Find in page: the shell's find bar per pane (Ctrl+F, the app menu, the palette) over the engine's own find 2026-09-30 22:34:48 +07:00
commands.rs Store: Open With (files the OS hands over) and the icons and builtin catalog kinds 2026-10-01 14:23:23 +07:00
dev_commands.rs Host: developer mode (dev_* commands and the watcher) is served for every app that sets AppConfig::with_dev; SiteHooks::dev_theme_apply and dev_theme_end carry the app's theme file; commands::DEV, testkit::assert_dev_guards 2026-10-01 04:32:54 +07:00
devloop.rs Dev loop: debug-only page scripts from disk + tab rebuild on change (waybetter-host devloop, page_script!), generic devmode watcher, waybetter dev, buildRuntime watch, template scripts 2026-09-30 22:20:22 +07:00
devmode.rs Dev loop: debug-only page scripts from disk + tab rebuild on change (waybetter-host devloop, page_script!), generic devmode watcher, waybetter dev, buildRuntime watch, template scripts 2026-09-30 22:20:22 +07:00
diag.rs Diagnostics for focus and layering (--diag / WAYBETTER_DIAG=1): one timestamped line per event in the app's log folder 2026-10-01 04:11:53 +07:00
find.rs macOS find: page matches drawn with the CSS Custom Highlight API (window.find showed nothing while the page was not the key view); --diag logs exit requests, window close/destroy and each native pane placement on macOS 2026-10-01 14:13:53 +07:00
fonts.rs host: self-hosted Google Fonts (gfonts) and the font cache (fonts) 2026-09-29 11:15:10 +07:00
fonts_commands.rs host: site themes are the host's (AppConfig::with_themes, commands::THEME) 2026-10-01 14:10:43 +07:00
gfonts.rs host: self-hosted Google Fonts (gfonts) and the font cache (fonts) 2026-09-29 11:15:10 +07:00
host.rs macOS find: page matches drawn with the CSS Custom Highlight API (window.find showed nothing while the page was not the key view); --diag logs exit requests, window close/destroy and each native pane placement on macOS 2026-10-01 14:13:53 +07:00
hotfix.rs Extract the wayBetter framework core from wayBetter for X 2026-09-28 03:01:33 +07:00
i18n.rs host: run_app — the window, shell, tab webviews and generic commands for every app 2026-09-29 11:51:24 +07:00
layout.rs fix(shell): coordinate startup cover and tab stills 2026-09-30 12:25:46 +07:00
lib.rs host: the popover host (webview, session, z-order, close rules) is the host's 2026-10-01 14:33:10 +07:00
media.rs host: gallery folders and the opt-in clipboard history 2026-09-29 11:13:01 +07:00
media_commands.rs Host: the media panel's commands (gallery folders, previews, the clipboard history and its watcher) are served for every app that sets AppConfig::with_media; commands::MEDIA, media_commands::gallery_file/clip_image for an app's attach command, testkit::assert_media_guards 2026-10-01 04:02:35 +07:00
modes.rs Modes: a mode that no longer matches the features reads "Custom (based on <mode>)" and offers "Re-apply <mode>" 2026-10-01 03:33:41 +07:00
plugins.rs Host: 256 feature flags, the onboarding mode (mode_get/mode_set, shell-only), and the one-time move of replaced plugin files to feature flags 2026-09-30 18:34:13 +07:00
policy.rs Extract the wayBetter framework core from wayBetter for X 2026-09-28 03:01:33 +07:00
popover.rs host: popover geometry (card placement, label, constants) is the host's 2026-10-01 14:26:25 +07:00
popover_host.rs host: the popover host (webview, session, z-order, close rules) is the host's 2026-10-01 14:33:10 +07:00
profiles.rs Extract the wayBetter framework core from wayBetter for X 2026-09-28 03:01:33 +07:00
safe.rs String packs: the site tab's delivery layer lives in app.rs, so a host without the net feature builds again (a generated app's cargo check failed on the net-gated store_commands module) 2026-10-01 04:40:25 +07:00
settings.rs Host: 256 feature flags, the onboarding mode (mode_get/mode_set, shell-only), and the one-time move of replaced plugin files to feature flags 2026-09-30 18:34:13 +07:00
site.rs Extract the wayBetter framework core from wayBetter for X 2026-09-28 03:01:33 +07:00
store_commands.rs Store: Open With (files the OS hands over) and the icons and builtin catalog kinds 2026-10-01 14:23:23 +07:00
sync.rs host: settings backup envelope and encrypted folder sync 2026-09-29 10:58:15 +07:00
sync_commands.rs Host: workspaces (always) and encrypted folder sync (AppConfig::with_sync) commands; SiteHooks::backup_sections and backup_section_names say what a backup and sync carry; commands::WORKSPACES, commands::SYNC, testkit::assert_sync_guards 2026-10-01 04:26:03 +07:00
tab_commands.rs host: the palette commands of site tabs are the host's (tab_commands, tab_run_command) 2026-10-01 14:22:00 +07:00
tabs.rs Dev loop: debug-only page scripts from disk + tab rebuild on change (waybetter-host devloop, page_script!), generic devmode watcher, waybetter dev, buildRuntime watch, template scripts 2026-09-30 22:20:22 +07:00
testkit.rs Store: Open With (files the OS hands over) and the icons and builtin catalog kinds 2026-10-01 14:23:23 +07:00
theme.rs Theme v2: import icon packs (install screen, packs in the theme choice) 2026-10-01 04:48:26 +07:00
theme_commands.rs host: site themes are the host's (AppConfig::with_themes, commands::THEME) 2026-10-01 14:10:43 +07:00
update.rs App menu: "Check for updates" is a real check, once, now, and says what came of it calmly 2026-09-30 22:54:51 +07:00
update_commands.rs Host: native update commands (update_status, update_check, apply_update, app_ready) and the update loop are served for every app that sets AppConfig::with_updates; commands::UPDATE, testkit::assert_update_guards 2026-10-01 04:18:34 +07:00
updater.rs Host: native update commands (update_status, update_check, apply_update, app_ready) and the update loop are served for every app that sets AppConfig::with_updates; commands::UPDATE, testkit::assert_update_guards 2026-10-01 04:18:34 +07:00
window_fit.rs host: a restored window fits the monitor it opens on 2026-10-01 11:29:35 +07:00
workspaces.rs host: saved workspaces validation 2026-09-29 10:59:20 +07:00
zoom.rs App menu: the titlebar's "Settings and more" (Alt+F, F10, the palette, the account menu's last row) with rows from the site config; page zoom per tab in the host 2026-09-30 21:52:51 +07:00