Repository navigation
korekore Phase 2c: onboarding, confirmations, notifications - #177
Merged
Merged
Conversation
Phase 2c of docs/design/korekore, behind VIBEBUDDY_UI=korekore on both apps; without it nothing changes. - Onboarding as the canvas draws it: welcome, find the box (it blinks on its own once found), connect agents (ticked, each change shown before it's written), pick a character, Wi-Fi, launch at login, all set; the step chips take you back. Linux has its five steps (its install script connects the agents and the start at login), with the same pages. - The Mac's five confirmations (old daemon, language restart, flash from file, firmware update, other firmware) as korekore sheets (KorekoreAlert, run modally like NSAlert). Linux already shows them as inline panels. - Notifications use the alerts board's words when the switch is on. Only the words: the look is the system's. On Linux the link and daemon notices come from the daemon, so only the firmware one changes there. - Debug snapshots draw the onboarding steps (sending nothing to the box) and the sheets; iced_test draws the Linux guide. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.
Found running the korekore UI against a box linked over the Relay: Find the box offered "Update now", but firmware without TRANSFER 1 is flashed over the cable only (ADR-0016), and the daemon refuses it. The step now says to plug in the cable, as the Device page does. (The current onboarding has the same gap; it is left as it is.) Also a debug-only mode for checking the UI against the daemon already running: VIBEBUDDY_KOREKORE_LIVE_SHOTS=<folder> starts as a guest (it doesn't manage the daemon), draws the korekore windows with the live status, the Conversation page excepted, and quits. Nothing is sent to the box. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
For checking the korekore UI on a desktop without a pointer (the Omarchy box over SSH): VIBEBUDDY_KOREKORE_SECTION=device, VIBEBUDDY_KOREKORE_GUIDE=1. Release builds don't read them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Found on the Omarchy box: loaded by a task after start, the korekore fonts never reached the first window, and every text fell back to Omarchy's monospace default. They are now given to iced when the app is built, with M PLUS Rounded 1c as the default font, as the headless snapshots already did. Without the switch nothing changes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts: # app/Localization/zh-Hans.lproj/Localizable.strings # app/Sources/VibeBuddy/AppModel.swift # app/Sources/VibeBuddyCore/Status.swift # desktop/src/status.rs
The merge of main brought the Account tab, own keys and Making a Character to the current UI only. The General page now opens with the account and own keys, the Character page shows made Characters, Make a Character and the making progress, and the Device page says why the Relay refuses. Make your own look scrolls to the card it opens below the grid. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The design hands over no app icon, so the Dock shows the General page's badge: Kore at a whole-pixel scale on a kore-pink tile with an ink outline. The bundle's icon stays the robot until the current UI goes. Snapshots gain the icon and a signed-in account with own keys. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The App shows in the Dock only while a window is open, and the tile then takes the bundle's icon, so the icon set at launch never showed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The Linux counterpart of the Mac change: the General page opens with the account and own keys, the Character page shows made Characters, Make a Character with its form in the page's place, and the making progress, and the Device page says why the Relay refuses. After drawings are picked for Make your own look, the page goes down to the card it opens below the grid. Snapshots gain a signed-in account, own keys and a made Character. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
korekore Phase 2d: account, own keys and making a Character
…oarding # Conflicts: # app/Localization/zh-Hans.lproj/Localizable.strings
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Phase 2c of the korekore UI (ADR-0021): onboarding, the confirmations and the notifications, on the Mac and on Linux. Behind
VIBEBUDDY_UI=korekore; without it both apps behave exactly as before. With this, Phase 2 is complete.Stacked on #176 (2b) → #175 (2a) → #173 (Phase 1). This PR's own change is the last commit.
What it does
mint, current ink; done ones take you back). Linux has five steps, as today: its install script already connects the agents and sets up the start at login.NSAlerts become korekore sheets, run modally the same way (KorekoreAlert): the old daemon, the language restart (with its checkbox), flash from file (the two versions as pixel facts), the firmware update, other firmware (inkore-pink, since it erases). Linux already shows these as inline panels (2b).What each step does is the current onboarding's, copied (
OnboardingView,App::guide). Three small behaviours the design implies, all only with the switch on:Screenshots
Mac, the real window drawn off screen in a debug build with sample data; the onboarding is drawn with nothing sent to the box (no blink, no Wi-Fi scan).
The sheets:
Linux, drawn headless by iced_test:
Where it departs from the canvas
line(#F1E7D6); the canvas's#EDE3D1isn't a token. The selected Wi-Fi row iscreaminstead of#FFF1C2, and the signal bars' off colourbackdropinstead of#D8D0E4.Changes to existing files
app/Sources/VibeBuddy/AppDelegate.swiftapp/Sources/VibeBuddy/AppModel.swiftdesktop/src/main.rsview()hands the guide over; the firmware notification's wordsapp/Localization/zh-Hans.lproj/Localizable.stringsAlso changed, from 2a/2b:
KorekoreSettingsWindowtakes a size and button inset (for the onboarding window); the Device and General pages use the korekore sheets; the Linux box-finding cards moved intokk_findingso the guide shares them.New files:
KorekoreUI/Onboarding.swift(frame, step chips, big buttons,KorekoreAlert),VibeBuddy/Korekore/KorekoreOnboarding.swift,VibeBuddy/Korekore/KorekoreFlash.swift,desktop/src/korekore/guide.rs, and the screenshots.Tests
just test(cargo test --workspace, SelfTest): pass.cargo checkandcargo clippyforx86_64-unknown-linux-gnuand the host: pass, no warnings.python3 tools/check-localization.py: ok, 478 keys.-warn-long-expression-type-checking=150: no slow expressions in the new code.🤖 Generated with Claude Code