feat(ui): UI improvements, restart fix, theme picker, and model list#219
Closed
cryptiklemur wants to merge 4 commits into
Closed
feat(ui): UI improvements, restart fix, theme picker, and model list#219cryptiklemur wants to merge 4 commits into
cryptiklemur wants to merge 4 commits into
Conversation
- fix(restart): wire onRestart callback through server.js to project.js, fixing "Restart not supported" error; add error handling in daemon - feat(themes): add AMOLED Dark theme (pure black background); add Appearance section to server settings with full theme picker; store dark/light theme preferences separately so toggling remembers each variant's selected theme - feat(ui): remove top bar, move theme toggle and version to user island, move status pills to header; add settings gear button to user island - feat(models): supplement SDK model list with known models (opus, claude-sonnet-4, claude-opus-4, claude-3-5-sonnet, claude-3-5-haiku) - feat(chat): add full-width chat toggle in profile popover - feat(sidebar): add right-click context menu on icon strip projects with Settings, Share, and Remove options - feat(sessions): add session ID input to Resume CLI Session modal; show session ID badge on CLI session list items - feat(mobile): add swipe-left gesture to open project list
Merge upstream changes while preserving our feature additions: - server.js: keep both onRestart fix and upstream's onSetUpdateChannel - app.js: merge imports (upstream's elicitation tools + our resetRestartButton) - server-settings.js: keep our openSettingsThemePicker + upstream's settings-defaults extraction - index.html: keep upstream's update pill UI alongside our appearance section
Owner
|
hey, thanks for putting this together. i do have to close this one though. per the contributing guidelines, i don't accept feature PRs. the project has a specific direction and all features are written by me to keep things consistent. the restart bug fix looks solid though. if you can pull that out into a separate PR, i'll review and merge it. there are some good ideas in here and i'll consider them for future updates. if you want to track those, feel free to open individual issues so they can be discussed. appreciate it. |
chadbyte
added a commit
that referenced
this pull request
Mar 18, 2026
The onRestart callback from daemon.js was never extracted or passed to createProjectContext(), causing "Restart not supported" errors. Also adds try/catch in spawnAndRestart() to broadcast error toast on failure. Based on PR #219 by @cryptiklemur.
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.
Summary
Major batch of UI improvements, bug fixes, and new features:
Bug Fixes
onRestartcallback was never wired throughserver.jstoproject.js, causing "Restart not supported" error. Added the two missing lines to extract and pass the callback.daemon.jsspawnAndRestart()to broadcast error toast on failure, and reset the restart button on reconnect.New Features
lib/themes/amoled.jsonclay-skin-dark/clay-skin-light), so toggling remembers your chosen theme for each modesupportedModels()with known models (Opus, Claude Sonnet 4, Claude Opus 4, Claude 3.5 Sonnet, Claude 3.5 Haiku) so all models are always visibleUI Changes
Screenshots
User Island (theme toggle + settings button + version)
Full Page (no top bar)
Appearance / Theme Picker
Model List (all models visible)
Restart Server (working)
Test plan