release: v0.2.0#6
Draft
mnzsss wants to merge 105 commits into
Draft
Conversation
Add @base-ui/react collapsible, tabs, tooltip, hover-card dependencies and nanoid for ID generation in prompt-input.
Remove 'use client' directives (not needed in Tauri), reorder Tailwind classes, and simplify dialog overlay/popup event handling.
…tton-group components New base-ui wrapper components for the settings redesign and AI chat interface.
Add conversation, message, prompt-input, reasoning, and shimmer components for building AI chat interfaces. Export new UI and AI element components from package index.
Integrate OpenAI Codex CLI as an AI assistant accessible via the command palette slash commands. Includes Rust backend for tool detection, model listing, and streaming message execution; React chat view with reasoning, command execution display, and token usage; model/reasoning preferences in settings; and i18n for en/pt-BR.
Add CLAUDE.md with project conventions (i18n, UI components, code style), .cgcignore for code graph indexing, and ai-elements skill for building AI chat interfaces.
Comprehensive skill covering IPC, commands, events, plugins, permissions, capabilities, configuration, and distribution. Includes reference docs for all major Tauri v2 topics.
Long-running AI agent script that runs in background with support for multiple tools (amp, claude, copilot) and configurable iterations.
Require using context7 MCP server to look up library docs before implementing or troubleshooting, instead of relying on memory.
Base UI v1.0.0 uses data-active (not data-selected) for the active tab indicator. Update Tailwind classes to match.
Base UI v1.0.0 SelectValue has no native placeholder prop. Use a children function that shows placeholder for empty state and raw value for selected state, while preserving auto-resolution when neither placeholder nor children are provided.
Replace dropdown provider selector with clickable radio cards that show the active provider with a check icon. Nest model and reasoning selectors inside the active card. Add per-provider icon field and fix command palette to use it.
Set up tauri-plugin-log with Stdout, Webview, and LogDir targets. Replace all println!/console.* calls with structured log macros (Rust) and createLogger utility (JS) across the entire codebase. Add attachConsole() for Sentry integration via Webview target.
Only native OS dialogs (file pickers) should prevent blur-to-hide, not web-rendered overlays like settings sheet or bookmark dialogs. Expose nativeDialogCount from dialog manager and use it for the window manager blur guard instead of the full activeDialogs count.
Create apps/renderer/src/lib/config-file.ts with getConfigFilePath, ensureConfigDir, readConfigFile<T>, and writeConfigFile<T> to eliminate duplicated file I/O logic from useShortcutsSettings and useFolderSettings.
Converts between MRunner Hotkey objects and TanStack string format. Meta/Super both collapse to Mod; Mod resolves back to Super (Linux) or Meta (macOS) based on platform.
# Conflicts: # apps/launcher/src/lib.rs # apps/renderer/src/App.tsx # apps/renderer/src/components/settings/settings-sheet.tsx # apps/renderer/src/core/types/command.ts # apps/renderer/src/hooks/use-plugins.ts # apps/renderer/src/locales/en.json # apps/renderer/src/locales/pt-BR.json # pnpm-lock.yaml # scripts/ralph/CLAUDE.md # scripts/ralph/prd.json # scripts/ralph/progress.txt # scripts/ralph/ralph.sh
Apply 88% opacity to dark theme background/popover/card tokens for frosted glass effect. Brighten muted-foreground (L=0.65→0.72), darken primary/accent (L=0.65→0.50), strengthen border (8%→14%), and add backdrop-filter fallback for unsupported compositors. Fix accessibility: bump 11px text to 12px minimum in group headings and footer, replace all muted-foreground/50 with /70, remove unnecessary /70 opacity from group headings and footer text.
Match Raycast-style launcher activation. Only affects new installs; existing users keep their persisted preference.
gh CLI uses different field names: stargazerCount for repo list, stargazersCount for search repos. Use separate struct field names to match each command's API. When searching repos, fetch the authenticated username in parallel and sort results so the user's own repositories appear first.
Register /gr (repos), /gp (PRs), /gi (issues), /ga (actions) as slash shortcuts that navigate directly to GitHub plugin views. Shortcuts appear in the slash picker alongside AI tools, with Tab to activate and auto-activation when space is typed after the command (e.g. "/gr " immediately opens repo search).
Claude requires a working directory to execute commands. Show a DirectoryPicker card before starting the chat when using the Claude provider, and pass the selected path via --directory flag.
…d loadJsonPlugins Break out inline JSX into dedicated components for readability and extract the JSON plugin loading logic into a standalone async function.
Move bookmark selection logic into its own useCallback to keep the command-palette onSelect handler clean.
The noImportantStyles lint rule needs suppression here because !important is required for accessibility media queries.
Set up vitest with jsdom, testing-library, and Tauri API mocks. Add tests for useAIChat hook (events, streaming, provider filtering) and DirectoryPicker component (input validation, keyboard handling).
Cover register(), relative_time(), serde deserialization for github, and list_ai_models(), extract_item_event() for tools. Add Debug derives needed by test assertions and enable tokio macros feature.
Add input validation to the plugin install system to prevent three attack vectors: - Git URL injection via ext:: transport or argument injection: allowlist safe URL schemes (https, http, ssh, git) and add -- separator - Arbitrary directory deletion via cancel/complete_plugin_install: canonicalize temp_path and verify it resides within the plugins directory with the expected .installing-* prefix - Path traversal via malicious plugin manifest id: restrict plugin IDs to alphanumeric characters, hyphens, and underscores
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.
No description provided.