- 09 9月, 2025 1 次提交
-
-
由 Will Chen 提交于
-
- 06 9月, 2025 4 次提交
-
-
由 Mohamed Aziz Mejri 提交于
This PR solves issue #1194 by setting a minimum height and width <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Set a minimum window size to prevent UI breakage when the app is resized too small. The BrowserWindow now enforces minWidth 800 and minHeight 500 so layouts stay stable and controls remain accessible. <!-- End of auto-generated description by cubic. --> -
由 Mohamed Aziz Mejri 提交于
This PR introduces a new keyboard shortcut to improve the efficiency of selecting components in the app. Users can now quickly select components using Meta + Shift + C for Mac and Ctrl + Shift + C for Other devices (Windows/Linux) <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Add a shortcut to quickly activate the component selector from the preview. Use Meta+Shift+C on macOS and Ctrl+Shift+C on Windows/Linux. - **New Features** - Added useShortcut hook to handle key combos and prevent default on match. - Wired shortcut in PreviewIframe with OS detection for Meta vs Ctrl. - Forwarded keydown events from the iframe to the parent via postMessage (dyad-shortcut-triggered) so the shortcut works inside preview content. <!-- End of auto-generated description by cubic. --> -
由 Adeniji Adekunle James 提交于
<!-- This is an auto-generated description by cubic. --> ## Summary by cubic Fix typo in CONTRIBUTING.md by correcting "pull requet" to "pull request" in the setup section, improving clarity for contributors. <!-- End of auto-generated description by cubic. -->
-
由 Adeniji Adekunle James 提交于
Hovering over the turbo edit code block previously showed a pointer cursor, and clicking inside would collapse/expand the accordion. This PR updates the DyadEdit component to use cursor-text and adds e.stopPropagation() so clicks inside the code block no longer toggle the accordion. https://github.com/user-attachments/assets/1b23be66-6d8f-4e4b-a390-d59f9a2bcee8 <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Prevented the Turbo Edit accordion from toggling when clicking inside the code block and updated the cursor to text to signal editing. - **Bug Fixes** - Stop click propagation inside the code block to avoid accordion toggle. - Apply cursor-text on the code container for proper text-selection affordance. <!-- End of auto-generated description by cubic. -->
-
- 05 9月, 2025 1 次提交
-
-
由 Will Chen 提交于
<!-- This is an auto-generated description by cubic. --> ## Summary by cubic Set “balanced” as the default smart context mode. Users now get balanced when Smart Files Context is enabled and no mode is set; “conservative” must be explicitly selected. - **Refactors** - Default fallback to balanced in UI and engine (proSmartContextOption undefined -> "balanced"). - ProModeSelector saves "conservative" explicitly; selector reads undefined as balanced. - Updated schema and types to allow "balanced" | "conservative". - Engine payload now includes smart_context_mode with "balanced" by default; e2e tests and snapshots updated. - **Migration** - No action needed. Existing users without an explicit mode will use balanced by default; selecting conservative persists. <!-- End of auto-generated description by cubic. -->
-
- 04 9月, 2025 5 次提交
-
-
由 Will Chen 提交于
1. Show less common AI providers (secondary) in submenu 2. Show $ signs for rough cost guide 3. Show "Pro" for supported AI providers with Pro is enabled <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Improves the Model Picker UX by grouping less-used providers under an “Other AI providers” submenu and adding clear cost and Pro indicators. This makes picking models faster and more informative. - **New Features** - Grouped secondary providers under “Other AI providers” using a new provider.secondary flag (Azure marked secondary). - Added rough cost hints: models can set dollarSigns and the UI shows a “$” badge accordingly. - Shows a “Pro” badge on supported cloud providers when Pro is enabled; added a “Custom” badge for custom providers. - Extended types: LanguageModelProvider.secondary and LanguageModel.dollarSigns; populated values across OpenAI, Anthropic, Google, and OpenRouter. <!-- End of auto-generated description by cubic. --> -
由 Will Chen 提交于
-
由 顾颢 提交于
<!-- This is an auto-generated description by cubic. --> ## Summary by cubic Make npm scripts work on Windows by replacing rm -rf with rimraf and using cross-env for environment variables. This enables local dev and packaging on Windows without WSL. - **Refactors** - Changed clean to use rimraf and delete out and scaffold/node_modules. - Prefixed dev:engine, staging:engine, and staging:gateway with cross-env. - **Dependencies** - Added rimraf ^6.0.1. Run npm install. <!-- End of auto-generated description by cubic. --> Co-authored-by:顾颢 <guhao@dayee.com>
-
由 Adeniji Adekunle James 提交于
### Summary This PR hides `<dyad-command type="refresh"></dyad-command>` tags from generated text outputs. These elements are not intended for end users and clutter the response text. ### Changes - Filter out `<dyad-command>` tags from generated text. - Ensure no regressions in rendering or formatting of user-visible output. <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Hide dyad-command tags from chat output so internal commands never appear in user-visible text. Updates DyadMarkdownParser to detect and drop these tags during preprocessing, parsing, and rendering. <!-- End of auto-generated description by cubic. --> -
由 Will Chen 提交于
This allows almost all the iframe sandbox tokens https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/iframe#sandbox except notably for allow-top-navigation* Note: allow-same-origin should be OK because the main window is under the `file://` origin while the iframe window is served on `localhost:####` <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Enable sandboxing on the preview iframe to isolate preview content while preserving needed capabilities (allow-same-origin, scripts, forms, popups, modals, orientation/pointer lock, presentation, downloads). Top-level navigation remains disallowed; allow-same-origin is safe because the app is file:// and the iframe runs on localhost. <!-- End of auto-generated description by cubic. -->
-
- 03 9月, 2025 2 次提交
- 02 9月, 2025 2 次提交
-
-
由 Will Chen 提交于
<!-- This is an auto-generated description by cubic. --> ## Summary by cubic Updates app branding to icon set v2 and switches the in-app logo to SVG for sharper rendering. - **Refactors** - Use assets/logo.svg in TitleBar instead of logo_transparent.png. - Add assets/logo.svg; remove legacy PNGs (logo.png, logo_transparent.png). - Refresh platform icon files (logo.icns, logo.ico, assets/icon/logo.png). <!-- End of auto-generated description by cubic. -->
-
由 Toluwap 提交于
Update the doc for missing userData for the database. <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Add a setup step in CONTRIBUTING.md to create the userData directory required by the database. This prevents migration commands from failing on fresh installs. <!-- End of auto-generated description by cubic. -->
-
- 31 8月, 2025 1 次提交
-
-
由 Tanner-Maasen 提交于
Fixes #710 This PR implements comprehensive Azure OpenAI integration for Dyad, enabling users to leverage Azure OpenAI models through proper environment variable configuration. The implementation adds Azure as a supported provider with full integration into the existing language model architecture, including support for GPT-5 models. Key features include environment-based configuration using `AZURE_API_KEY` and `AZURE_RESOURCE_NAME`, specialized UI components that provide clear setup instructions and status indicators, and seamless integration with Dyad's existing provider system. The Azure provider leverages the @ai-sdk/azure package (v1.3.25) for compatibility with the current TypeScript language model interfaces. The implementation includes robust error handling for missing configuration, comprehensive test coverage with 9 new unit tests covering critical functionality like model client creation and error scenarios, and an E2E test for the Azure-specific settings UI. <img width="1510" height="908" alt="Screenshot 2025-08-18 at 9 14 32 PM" src="https://github.com/user-attachments/assets/04aa99e1-1590-4bb0-86c9-a67b97bc7500" /> --------- Co-authored-by:
graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com> Co-authored-by:
Will Chen <willchen90@gmail.com>
-
- 30 8月, 2025 4 次提交
-
-
由 Will Chen 提交于
-
由 Will Chen 提交于
-
由 Will Chen 提交于
-
由 Will Chen 提交于
<!-- This is an auto-generated description by cubic. --> ## Summary by cubic Switches the duplicate-issues GitHub Action from anthropic/claude-sonnet-4-20250514 to openai/gpt-5 to reduce cost. Updates the workflow to use OPENAI_API_KEY instead of ANTHROPIC_API_KEY. <!-- End of auto-generated description by cubic. -->
-
- 29 8月, 2025 2 次提交
-
-
由 Will Chen 提交于
<!-- This is an auto-generated description by cubic. --> ## Summary by cubic Adds a GitHub Action to detect and comment on potential duplicate issues when a new issue is opened. This reduces triage time and keeps issue lists clean. - **New Features** - Adds .github/workflows/duplicate-issues.yml triggered on issues: opened. - Uses opencode with Anthropic Claude Sonnet 4 to scan existing issues and comment with links if duplicates are likely; stays silent otherwise. - Runs with minimal permissions; allows gh issue commands and denies webfetch. - **Migration** - Create the ai-bots environment and add the ANTHROPIC_API_KEY secret (GITHUB_TOKEN is provided by GitHub). <!-- End of auto-generated description by cubic. -->
-
由 Will Chen 提交于
<!-- This is an auto-generated description by cubic. --> ## Summary by cubic Adds an explicit Husky pre-commit setup to run the formatter and linter before each commit. Replaces the auto-run prepare hook with a manual npm run init-precommit command. - **Migration** - Run npm run init-precommit once in your repo to install the pre-commit hook. <!-- End of auto-generated description by cubic. -->
-
- 28 8月, 2025 1 次提交
-
-
由 顾颢 提交于
fixes #1109 https://github.com/WiseLibs/better-sqlite3/blob/master/docs/api.md#transactionfunction---function > Transaction functions do not work with async functions. Technically speaking, async functions always return after the first await, which means the transaction will already be committed before any async code executes. <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Fixes a runtime error when deleting the first custom provider by using a synchronous DB transaction. Ensures associated models and the provider are removed atomically without failing. - **Bug Fixes** - Replace async transaction callback with a synchronous one and remove awaits on tx operations to match the DB API and prevent the first-delete error. <!-- End of auto-generated description by cubic. --> Co-authored-by:
顾颢 <hao.gu@factchina.com>
-
- 27 8月, 2025 4 次提交
-
-
由 Will Chen 提交于
-
由 Will Chen 提交于
TODOs: - [ ] clean-up docker images https://claude.ai/chat/13b2c5d3-0d46-49e3-a771-d10edf1e29f4
-
由 Toni Alatalo 提交于
The prompt text says: > - Use TypeScript. But in the examples there are .jsx files. I got errors sometimes (in my fork with other changes too) that JSX got generated instead of TSX. This seems to have fixed it for me. <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Updated system prompt examples to use .tsx/.ts instead of .jsx/.js, matching the “Use TypeScript” instruction. This prevents JSX drift and reduces cases where generated code uses JSX instead of TSX. <!-- End of auto-generated description by cubic. --> -
由 Will Chen 提交于
Fixes #1037 <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Enable JSON file support in codebase scanning so common configs and data (e.g., package.json, vercel.json, translations) are included. Adds .json to the allowed extensions and removes special-casing for package.json/vercel.json. <!-- End of auto-generated description by cubic. -->
-
- 26 8月, 2025 7 次提交
-
-
由 Will Chen 提交于
Fixes #554 #1049 <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Stop mutating package.json when reading files. readFileWithCache now returns raw content so all fields are preserved (e.g., packageManager). Fixes #554 and #1049. - **Bug Fixes** - Removed package.json "cleaning" logic and the cleanContent helper. - Return and cache unmodified file content from both fs and virtualFileSystem. <!-- End of auto-generated description by cubic. --> -
由 Will Chen 提交于
fixes #1010 <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Disable automatic JWT verification for Supabase Edge Functions and update prompts/templates to require and demonstrate manual auth handling. Fixes #1010. - **Bug Fixes** - Set verify_jwt: false in function deployment. - Updated Supabase prompt with an Authentication section and guidance to manually verify tokens. - Adjusted the hello function template to check the Authorization header and return 401 when missing. <!-- End of auto-generated description by cubic. --> -
由 Will Chen 提交于
<!-- This is an auto-generated description by cubic. --> ## Summary by cubic Parameterized the system prompt and tokenized it in e2e dumps to make snapshots smaller and stable. No runtime behavior changes; future prompt edits won’t churn tests. - **Refactors** - Exported BUILD_SYSTEM_PREFIX and BUILD_SYSTEM_POSTFIX from system_prompt.ts. - Updated test_helper to replace the full prompt with ${BUILD_SYSTEM_PREFIX}/${BUILD_SYSTEM_POSTFIX} tokens in message dumps. - Regenerated e2e snapshots to use tokens, reducing ~270 lines per snapshot. <!-- End of auto-generated description by cubic. --> -
由 Will Chen 提交于
-
由 顾颢 提交于
Fixes #1077 <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Fix the SetupBanner being cut off in the empty chat state. The placeholder message now uses flex-1 instead of h-full so the banner renders fully. <!-- End of auto-generated description by cubic. --> Co-authored-by:顾颢 <guhao@dayee.com>
-
由 Mohamed Aziz Mejri 提交于
This PR fixes the issue #1072 where long words in chat messages overflow outside the message container. The fix applies Tailwind’s `break-words` utility to ensure that overly long words wrap properly within the chat bubble. <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Fixes text overflow in chat messages by adding Tailwind’s break-words to the message content. Long words and URLs now wrap inside the bubble instead of spilling out. <!-- End of auto-generated description by cubic. --> -
由 Mohamed Aziz Mejri 提交于
This PR adds a reference to the architecture doc in contributing.md . <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Added a link to the Architecture Guide in CONTRIBUTING.md to give contributors a high-level overview and ensure changes align with the project architecture. <!-- End of auto-generated description by cubic. -->
-
- 23 8月, 2025 1 次提交
-
-
由 Will Chen 提交于
<!-- This is an auto-generated description by cubic. --> ## Summary by cubic Add a high-level Architecture doc for Dyad in docs/architecture.md. It explains the Electron renderer/main model, the life of a request (streaming, parsing, applying Dyad tags), and the reasoning behind our context and agentic choices to improve onboarding and clarity. <!-- End of auto-generated description by cubic. -->
-
- 21 8月, 2025 4 次提交
-
-
由 Will Chen 提交于
<!-- This is an auto-generated description by cubic. --> ## Summary by cubic Disable Electron safeStorage encryption in test builds so e2e runs are consistent and don’t require the OS keychain. Added an IS_TEST_BUILD guard in encrypt() to force the unencrypted fallback during tests. <!-- End of auto-generated description by cubic. -->
-
由 Will Chen 提交于
<!-- This is an auto-generated description by cubic. --> ## Summary by cubic Bump version from 0.18.0-beta.1 to the stable 0.18.0. Updates package.json to finalize the v0.18.0 release for publishing. <!-- End of auto-generated description by cubic. -->
-
由 Will Chen 提交于
<!-- This is an auto-generated description by cubic. --> ## Summary by cubic Bumped the package version from 0.18.0-beta.1 to 0.18.0-beta.2 to prepare the next beta release. <!-- End of auto-generated description by cubic. -->
-
由 Will Chen 提交于
<!-- This is an auto-generated description by cubic. --> ## Summary by cubic Adds Smart Context v3 with selectable modes (Off, Conservative, Balanced) and surfaces token savings in chat. Also improves token estimation by counting per-file tokens when Smart Context is enabled. - **New Features** - Smart Context selector in Pro settings with three options. Conservative is the default when enabled without an explicit choice. - New setting: proSmartContextOption ("balanced"); undefined implies Conservative. - Engine now receives enable_smart_files_context and smart_context_mode. - Chat shows a DyadTokenSavings card when the message contains token-savings?original-tokens=...&smart-context-tokens=..., with percent saved and a tooltip for exact tokens. - Token estimation uses extracted file contents for accuracy when Pro + Smart Context is on; otherwise falls back to formatted codebase output. <!-- End of auto-generated description by cubic. -->
-
- 20 8月, 2025 1 次提交
-
-
由 Will Chen 提交于
-