Fixed
- Adding an app from the gallery that has a preset group no longer crashes with "missing 'id' property" -- the auto-created group now gets the DnD identifier that Svelte's keyed
{#each}requires - Adding the first app from the gallery no longer silently marks it as the default homepage app --
defaultis only set explicitly during onboarding - Edit/delete buttons on app rows, keybinding combos, custom themes, and custom icons are now always visible -- previously hidden behind hover, making them inaccessible on touch devices
Changed
- App and Group object construction consolidated into shared
makeApp()/makeGroup()factory functions andstampAppId()/stampGroupId()helpers -- eliminates duplicated defaults across 4 creation paths and prevents field-omission bugs