Repository navigation
Conversation
Phase 2b of docs/design/korekore, behind VIBEBUDDY_UI=korekore on both apps; without it nothing changes. Character, Agents, Conversation, Device, General and Advanced, laid out as the canvas boards draw them, each with the states its "every state" board gives: finding the box, firmware and character writes, Wi-Fi joining and its errors, paired computers, the hook write panel, TRUST AGAIN, terminal permissions, the conversation's loading, empty, error and needs-Codex or Claude states, and Make your own look. What each page does is the current tab's, copied: the current views are untouched. - Mac: shared controls in KorekoreUI (card, pill button, switch, pixel tag, bar, menu, field); the Conversation page there too, fed the same four calls as ConversationView; the other five in the app target on AppModel. Debug builds draw every page with sample data (VIBEBUDDY_KOREKORE_SNAPSHOTS), the conversation canned. - Linux: the same pages as App methods in desktop/src/korekore/pages.rs, on the existing messages; the sections are the existing tabs. Where the Mac shows a sheet, Linux shows an inline panel. iced_test draws them. - Status: rolled_back is read on both sides, for "The update didn't take". - check-localization now reads Swift subfolders too (it missed the pages). 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.
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 2b of the korekore UI (ADR-0021): the six pages, on the Mac and on Linux, each with its own states. Behind
VIBEBUDDY_UI=korekore; without it both apps behave exactly as before.Stacked on #175 (2a), which is stacked on #173 (Phase 1). This PR's own change is the last commit.
Scope: pages with their states; 2c keeps the rest
Each page is laid out as its canvas board draws it, and carries the states its "every state" board gives, so a page is done in one go rather than reworked in 2c:
Left for 2c: onboarding, the confirmations (on the Mac they are still
NSAlerts: flash, update, language restart), system notifications and banners, the end of onboarding.Not built, because the daemon can't do them yet: Cancel on a write, the time left and the route (OVER WI-FI) on the progress cards, the daemon's uptime on Advanced. Those need daemon changes; say if you want them.
What each page does is the current tab's, copied: the current views are untouched. Linux keeps its own differences: no terminal tabs, inline panels where the Mac has sheets, the Permission denied hint.
Screenshots
Mac, the real window drawn off screen in a debug build with sample data (
VIBEBUDDY_KOREKORE_SNAPSHOTS=<folder> swift run --package-path app VibeBuddy). The conversation is canned; the Agents page shows this Mac's real hook and terminal-permission state.Linux, drawn headless by iced_test (
cargo test -p vibebuddy-desktop korekore::snapshots -- --ignored). Only Kore and the robot on Character: the Linux Character packs aren't installed on the machine that drew these.Where it departs from the canvas, and why
#CFC8DCwithmist-text; the state boards'#fff1c2/#ffe1e1panels withcreamand akore-pink-textoutline.Changes to existing files
app/Sources/VibeBuddy/AppDelegate.swiftapp/Sources/VibeBuddy/AppModel.swiftshowSample(_:)app/Sources/VibeBuddyCore/Status.swiftrolledBackread from the statusapp/Sources/VibeBuddyCore/Resident.swiftResidentInfo.samplefor previewsdesktop/src/main.rsview()hands the page overdesktop/src/status.rsrolled_backtools/check-localization.pyVibeBuddy/Korekore/app/Localization/zh-Hans.lproj/Localizable.stringsNew files:
KorekoreUI/Controls.swift,KorekoreUI/ConversationPage.swift,VibeBuddy/Korekore/Pages/*.swift(5),VibeBuddy/Korekore/KorekoreSnapshots.swift,desktop/src/korekore/controls.rs,desktop/src/korekore/pages.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, 418 keys.-warn-long-expression-type-checking=150: no slow expressions in the new code (the CI compiler gave up on one in korekore Phase 2a: window, sidebar with the mini box, menu bar #175).🤖 Generated with Claude Code