Hibryda
a4d180d382
fix(electrobun): wizard fixes — native dialog, models, PathBrowser, ensureDir
...
- Native dialog: resolve to nearest existing parent dir, detect user cancel
(exit code 1) vs actual error, add createIfMissing option
- Claude models: fallback to KNOWN_CLAUDE_MODELS (6 models) when API key
unavailable. Adds Opus 4.6, Sonnet 4.6, Opus 4.5, Sonnet 4, Haiku 4.5,
Sonnet 3.7. Live API paginated to limit=100.
- PathBrowser: Select button moved to sticky header (always visible).
Current path shown compact in header with RTL ellipsis.
- files.ensureDir RPC: creates directory recursively before project creation
- files.ensureDir added to RPC schema
2026-03-25 01:05:15 +01:00
Hibryda
e61473b025
fix(electrobun): wizard creation flow + GitLab probe + shell detection + dropdown flip
...
- Git probe tries GitHub then GitLab for owner/repo shorthand
- Shows "Found on GitHub/GitLab" with platform indicator
- system.shells RPC detects installed shells (bash/zsh/fish/sh/dash)
- CustomDropdown flip logic uses 200px threshold for flip-up
- Project creation properly persists all wizard fields + adds card
2026-03-23 15:34:57 +01:00
Hibryda
021feba3ed
fix(electrobun): wizard 7 fixes — validation, GitLab, SSHFS, icons, model dropdown, keyboard nav
...
- Git Platform: validates repo via git.probe before enabling Next, supports GitHub + GitLab + any git URL
- Template dir configurable in Advanced Settings (template_dir key)
- SSHFS: checks sshfs availability, mountpoint selector when enabled
- CustomDropdown: flip-up when insufficient space below
- 50 Lucide icons (was 24) with categories (AI, Data, DevOps, Security, Media, Comms)
- Model: CustomDropdown from live API, max_tokens as slider, effort only with adaptive thinking
- Keyboard: Escape closes wizard, Tab navigation with :focus-visible rings, source cards navigable
2026-03-23 14:20:30 +01:00
Hibryda
41b8d46a19
feat(electrobun): complete project wizard phases 4-5
...
- ModelConfigPanel: Claude thinking/effort, Codex sandbox/approval, Ollama
temp/ctx/predict, Gemini thinkingLevel/budget (mutually exclusive)
- CustomDropdown: themed with keyboard nav, groupBy, display:none pattern
- CustomCheckbox/CustomRadio: themed with Lucide icons
- Replaced native selects in 5 settings panels + wizard steps
- wizard-state.ts: shared type definitions
- Gemini added as 4th provider throughout
2026-03-23 13:12:47 +01:00
Hibryda
d4014a193d
feat(electrobun): project wizard phases 1-5 (WIP)
...
- sanitize.ts: input sanitization (trim, control chars, path traversal)
- provider-scanner.ts: detect Claude/Codex/Ollama/Gemini availability
- model-fetcher.ts: live model lists from 4 provider APIs
- ModelConfigPanel.svelte: per-provider config (thinking, effort, sandbox, temperature)
- WizardStep1-3.svelte: split wizard into composable steps
- CustomDropdown/Checkbox/Radio: themed UI components
- provider-handlers.ts: provider.scan + provider.models RPC
- Wire providers into wizard step 3 (live detection + model lists)
- Replace native selects in 5 settings panels with CustomDropdown
2026-03-23 13:05:07 +01:00
Hibryda
b7fc3a0f9b
fix(electrobun): replace native <select> with fully themed custom dropdowns
...
All 3 wizard selects (branch, group, shell) now use custom dropdown
components with --ctp-* themed menu, hover states, active highlight.
No native OS styling leaks through.
2026-03-22 12:52:24 +01:00
Hibryda
d8b831089a
fix(electrobun): XDG dirs, sanitized errors, themed dropdowns + checkboxes
...
- PathBrowser: dynamic XDG shortcuts (only shows dirs that exist)
- Errors sanitized: "Directory not found" instead of raw ENOENT
- Select dropdowns: custom arrow, themed options, appearance:none
- Checkboxes: custom styled with --ctp-blue check, themed border
2026-03-22 12:40:56 +01:00
Hibryda
42ca15535b
fix(electrobun): limit PathBrowser max-width to 32rem (ultrawide fix)
2026-03-22 12:28:51 +01:00
Hibryda
0d163f77e8
fix(electrobun): no double dialog on cancel, browser closes on select + max-height
...
- pickDirectory: removed Electrobun fallback on zenity cancel (was causing
second dialog to appear). Cancel = return null, no fallback.
- PathBrowser: handleBrowserSelect closes browser after selection
- PathBrowser container: max-height 16rem with overflow scroll + border
2026-03-22 12:25:18 +01:00
Hibryda
46b4893d2d
fix(electrobun): fix PathBrowser process.env.HOME, add dual browse buttons
...
- PathBrowser: resolveHome() via files.homeDir RPC (was process.env.HOME)
- ProjectWizard: two browse buttons — 📂 native dialog + 🔍 in-app browser
- In-app browser uses display toggle (rule 55), dirs-only filter
- Native dialog: Electrobun Utils.openFileDialog (GTK chooser)
- In-app browser: themed, dirs sorted first, proper breadcrumbs
2026-03-22 11:48:47 +01:00
Hibryda
bfc63bb595
fix(electrobun): native folder picker dialog replaces inline PathBrowser
...
- Uses Electrobun's Utils.openFileDialog (canChooseDirectory: true)
- files.pickDirectory + files.homeDir RPC handlers
- ProjectWizard: 📂 button opens native OS dialog
- Removed broken inline PathBrowser (process.env.HOME not in WebView)
2026-03-22 11:38:19 +01:00
Hibryda
45bca3b96f
feat(electrobun): ProjectWizard — 3-step project creation with 5 source types
...
Step 1 — Source: local folder (path browser + validation), git clone,
GitHub URL, template (4 built-in), remote SSH
Step 2 — Configure: name, branch selector, worktree toggle, group, icon, shell
Step 3 — Agent: provider, model, permission mode, system prompt, auto-start
- ProjectWizard.svelte: 3-step wizard with display toggle (rule 55)
- PathBrowser.svelte: inline directory browser with breadcrumbs + shortcuts
- git-handlers.ts: git.branches + git.clone RPC handlers
- files.statEx RPC: path validation + git detection + writable check
- 39 new i18n keys, 172 total TranslationKey entries
- App.svelte: wizard overlay replaces simple add-project card
2026-03-22 11:17:05 +01:00