- 27 12月, 2025 3 次提交
-
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > <sup>[Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) is generating a summary for commit 9f54920421cc7c47882465f0dd0ca371a5620454. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > **Upgrade Electron Forge toolchain** > > - Bumps `@electron-forge/*` (CLI, makers, plugins, publisher) from 7.8.x to `7.10.2` > - Refreshes `package-lock.json` with many transitive updates (e.g., `@inquirer/*`, `webpack`/`terser`, newer `browserslist` data), and replaces `sudo-prompt` with `@vscode/sudo-prompt` > - Aligns lockfile app version to `0.32.0-beta.1` > > No application code changes; build/publish tooling only. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 6b7302ee89c5c56654c9c22e2a5d4f0fc2f1049e. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > Switches Windows packaging to a custom signing hook that signs only `dyad.exe` using `signtool.exe` bundled with `electron-winstaller`. > > - Replaces `signWithParams` with `windowsSign.hookFunction` in `forge.config.ts` to run `signtool` via `execSync` > - Adds `SIGNTOOL_PATH` resolution and imports for `child_process` and `path` > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 5fa37cca92fecb9bac678b0a1f0f143d4ee7cecb. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> <!-- This is an auto-generated description by cubic. --> ## Summary by cubic Only sign dyad.exe during the Windows build to avoid signing other files and prevent CI signing errors. Replaced MakerSquirrel signWithParams with a windowsSign hook that runs the bundled signtool.exe using the same cert and timestamp settings. <sup>Written for commit 5fa37cca92fecb9bac678b0a1f0f143d4ee7cecb. Summary will update automatically on new commits.</sup> <!-- End of auto-generated description by cubic. -->
-
- 25 12月, 2025 5 次提交
-
-
由 Mohamed Aziz Mejri 提交于
close #1994 <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Show the model used for each assistant message in chat and persist it in the database for transparency. Addresses #1994. - **New Features** - Add model field to messages schema and Message type. - Set the model on assistant messages when streaming. - Display the model with a Bot icon next to approval status in ChatMessage. <sup>Written for commit 181b7f919a9c29c0627b3dc74f49cf5989b7243d. Summary will update automatically on new commits.</sup> <!-- End of auto-generated description by cubic. --> <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Adds transparent model tracking for assistant messages. > > - Schema: add `model` to `messages` (migration + Drizzle schema) and `Message` type > - Streaming: set `model` on placeholder assistant messages in `chat_stream_handlers.ts` > - UI: show `message.model` with a Bot icon next to approval status in `ChatMessage` > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 6411d57704648f3d92263b72681cd3fa08583152. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > Addresses stale UI by ensuring key data refreshes immediately after user actions and upgrades. > > - **Token usage refresh**: `ChatInput` toggling the token bar now invalidates `TOKEN_COUNT_QUERY_KEY` to recompute percentages > - **Versions refresh after upgrades**: `AppUpgrades` invalidates `['versions', appId]` on successful upgrade > - **Templates loading**: `useTemplates` uses `placeholderData` (replacing `initialData`) to avoid sticky outdated results > - **Null safety**: `hub.tsx` guards template lookup with optional chaining when passing to `CreateAppDialog` > - **E2E**: `supabase_branch.spec.ts` re-opens the token bar before assertions to validate refreshed counts > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 06c5b8796906ae1dfdf8afda36caa62870781564. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Fixes stale UI by refreshing queries when toggling the token bar and after app upgrades, and by using placeholder data for templates. Users now see up-to-date token counts, versions, and templates. - **Bug Fixes** - Token bar toggle now invalidates the token count query to refresh percentages after branch changes. - App upgrades invalidate the versions query so the latest status shows immediately. - Templates query uses placeholderData instead of initialData to avoid sticky, outdated results. - E2E test updated to reopen the token bar and assert refreshed token counts. - Create app dialog guards against undefined templates to prevent a null error. <sup>Written for commit 06c5b8796906ae1dfdf8afda36caa62870781564. Summary will update automatically on new commits.</sup> <!-- End of auto-generated description by cubic. --> --------- Co-authored-by:
claude[bot] <209825114+claude[bot]@users.noreply.github.com>
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > Ensures model lists refresh reliably by standardizing React Query invalidations. > > - Use `useQueryClient` and `invalidateQueries` in `ModelsSection.tsx` after create/edit/delete instead of local `refetch` > - Update `useDeleteCustomModel` to invalidate `['language-models', providerId]` and `['language-models-by-providers']` (replacing `['languageModels']`) > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit e2184c3150a264360519994290e1677993120cd2. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> <!-- This is an auto-generated description by cubic. --> ## Summary by cubic Fixes stale model lists by properly invalidating React Query caches after create, edit, and delete actions. The UI now updates immediately without manual refetches. - **Bug Fixes** - Added invalidateModels in ModelsSection to invalidate ["language-models", providerId] and ["language-models-by-providers"]. - Replaced manual refetches with cache invalidation on success for create/edit/delete. - Updated useDeleteCustomModel to invalidate ["language-models-by-providers"] instead of the incorrect "languageModels" key. <sup>Written for commit e2184c3150a264360519994290e1677993120cd2. Summary will update automatically on new commits.</sup> <!-- End of auto-generated description by cubic. -->
-
由 Will Chen 提交于
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > Introduces automated AI code reviews via Claude for selected contributors. > > - Adds `.github/workflows/claude-pr-review.yml` triggered on `pull_request` events (`opened`, `synchronize`, `ready_for_review`, `reopened`) > - Uses `anthropics/claude-code-action@v1` with `track_progress: true`, a detailed custom `prompt`, and `claude_args` specifying model and allowed tools > - Filters execution to specific PR authors (`wwwillchen`, `azizmejri1`, `princeaden1`) to control cost > - Configures required permissions and a shallow `actions/checkout@v5` step > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 9ec53fd108626e1be4b7c385acead8a2de526c13. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> <!-- This is an auto-generated description by cubic. --> ## Summary by cubic Adds a GitHub Actions workflow to run automated PR reviews with progress tracking and inline comments. Triggered on PR events and limited to specific contributors to manage cost. - **Migration** - Add repository secret: ANTHROPIC_API_KEY. - Adjust allowed author list or review prompt if needed. <sup>Written for commit 9ec53fd108626e1be4b7c385acead8a2de526c13. Summary will update automatically on new commits.</sup> <!-- End of auto-generated description by cubic. -->
-
- 24 12月, 2025 9 次提交
-
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > Prepares the next beta release with a version bump. > > - Updates `package.json` `version` to `0.32.0-beta.1` > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit bd03023b3697a5918a9c80eedd33cd46bdf0c27c. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Bumps the app version to 0.32.0-beta.1 to prepare the v0.32 beta release. <sup>Written for commit bd03023b3697a5918a9c80eedd33cd46bdf0c27c. Summary will update automatically on new commits.</sup> <!-- End of auto-generated description by cubic. -->
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > Modernizes chat data flow and caching. > > - Replaces Jotai chat list state and `getAllChats` with `useChats` using React Query (`CHATS_QUERY_KEY`), exposing `chats`, `loading`, and `invalidateChats` > - Updates `ChatList`, `ChatHeader`, `useStreamChat`, and `ChatActivity` to consume `useChats` and call `invalidateChats` after create/delete/stream events > - Simplifies `ChatActivityList` to build recent rows from `recentStreamChatIds` and `useChats(null)` > - Sets global `queries.staleTime=60_000` in `renderer.tsx`; removes per-hook `staleTime` in `useCheckName` > - Switches `useVersions` to `placeholderData` > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 8532c5919b25f77f3f38899a53bae80eb7e99c27. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Refactored chat fetching to use React Query and set a global 60s stale time for consistent caching. Simplifies chat state management and updates ChatActivity to use the new hook. - **Refactors** - Rewrote useChats using @tanstack/react-query with query key [CHATS_QUERY_KEY, appId]; exposes chats and loading, adds invalidateChats, and removes refreshChats. - Updated ChatList, ChatHeader, and useStreamChat to call invalidateChats after mutations. - Removed chatsAtom and chatsLoadingAtom; deleted getAllChats from lib/chat. - Updated ChatActivityList to use useChats and derive recent rows from recentStreamChatIds. - Set global queries.staleTime to 60_000 in queryClient; removed per-hook staleTime in useCheckName. - useVersions now uses placeholderData instead of initialData. <sup>Written for commit 8532c5919b25f77f3f38899a53bae80eb7e99c27. Summary will update automatically on new commits.</sup> <!-- End of auto-generated description by cubic. -->
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > Updates OpenRouter model catalog and defaults. > > - Add `mistralai/devstral-2512:free` (Devstral 2) with `contextWindow` 200k > - Upgrade `z-ai/glm-4.6` to `z-ai/glm-4.7` and set `temperature` to 0.7 > - Remove deprecated DeepSeek free entries; retain paid `deepseek/deepseek-chat-v3.1` > - No other providers or TURBO models changed; `FREE_OPENROUTER_MODEL_NAMES` updates automatically from the list > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit fb8546eab6dd595e5a27c5024499c3c042b63f36. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> <!-- This is an auto-generated description by cubic. --> ## Summary by cubic Updated model catalog: added GLM 4.7 and Devstral 2 (free), and removed obsolete DeepSeek free models to keep options current and improve coding performance. - **New Features** - Added z-ai/glm-4.7 with temperature 0.7 and 200k context. - Added mistralai/devstral-2512:free (“Devstral 2”) with 200k context. - **Migration** - Removed deepseek/deepseek-chat-v3.1:free and deepseek/deepseek-chat-v3-0324:free. Update any references to mistralai/devstral-2512:free or another supported model. <sup>Written for commit fb8546eab6dd595e5a27c5024499c3c042b63f36. Summary will update automatically on new commits.</sup> <!-- End of auto-generated description by cubic. -->
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > **Refactor: proposal fetching via react-query** > > - Replaces Jotai state/effects with `useQuery` in `useProposal` (`queryKey: ["proposal", chatId]`, `enabled` gating, `refetch` exposed, error typed as `Error`) > - Deletes `src/atoms/proposalAtoms.ts`; `proposalResultAtom` removed > - In `useStreamChat`, stop using `useProposal`; on stream end, call `queryClient.invalidateQueries({ queryKey: ["proposal", chatId] })` > - In `ChatInput`, display `proposalError.message` and keep using `refreshProposal()` from the hook > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 9739b1befe76a7cb491594815d3d92977ad6a1c6. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Refactored proposal fetching to use React Query’s useQuery, removing Jotai state and simplifying refresh and error handling. Improves reliability and makes the hook easier to use. - **Refactors** - Replaced custom state/effects with useQuery (key: ["proposal", chatId], enabled only when chatId). - Removed proposalAtoms and Jotai; hook now returns proposalResult, isLoading, error, refreshProposal. - Updated useStreamChat to invalidate the proposal query via QueryClient (invalidateQueries(["proposal", chatId])). - ChatInput now displays proposalError.message for clearer errors. - Added meta: { showErrorToast: true } to surface fetch errors. <sup>Written for commit 9739b1befe76a7cb491594815d3d92977ad6a1c6. Summary will update automatically on new commits.</sup> <!-- End of auto-generated description by cubic. --> -
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > Moves Supabase data fetching/mutations to React Query and aligns UI with new query states for clearer loading/errors and cache-driven updates. > > - Removed most Supabase atoms; kept `lastLogTimestampAtom` only > - New `useSupabase` exposes React Query queries (`organizations`, `projects`, `branches`) and mutations (delete org, set/unset app project, edge logs) with invalidate/refetch helpers > - `SupabaseConnector` and `SupabaseIntegration` now use `refetch*`, granular `isLoading*/error` flags, and updated handlers; branch select disabled via `isLoadingBranches`/`isSettingAppProject` > - `PreviewPanel` switches `loadEdgeLogs` to accept `{ projectId, organizationSlug }` and continues polling > - OAuth return flow now calls `refetchOrganizations`/`refetchProjects` instead of manual load functions > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 573df5298f323854d4a8aa1ce5903b99e4caba62. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Refactored Supabase integration to use TanStack React Query for data fetching and mutations. This makes loading/error handling clearer, improves cache invalidation, and smooths the UI. - **Refactors** - Replaced Jotai state with React Query for organizations, projects, and branches; removed related atoms. - Added mutations for delete organization, set/unset app project, and edge logs; invalidates org/project queries on deletion. - Exposed granular states for organizations, projects, and branches; removed selected project state. - Updated SupabaseConnector/SupabaseIntegration to use refetch* methods and new flags; PreviewPanel now calls loadEdgeLogs with params; disables branch select while loading or setting. <sup>Written for commit 573df5298f323854d4a8aa1ce5903b99e4caba62. Summary will update automatically on new commits.</sup> <!-- End of auto-generated description by cubic. --> --------- Co-authored-by:cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
-
由 Adeniji Adekunle James 提交于
Closes #1947 <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Fixed the Show Token Usage button so it toggles on a single click. Switched to a functional state updater to prevent stale state and double toggles. - **Bug Fixes** - Replace setShowTokenBar(!showTokenBar) with a memoized toggle using setShowTokenBar(prev => !prev) to ensure reliable toggle and immediate active styling. <sup>Written for commit e1351b9044a447515d4dc817cdff83fff50a57f4. Summary will update automatically on new commits.</sup> <!-- End of auto-generated description by cubic. -->
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > Strengthens undo to work even when an assistant message produced no code. > > - Use the last assistant message’s `sourceCommitHash` for `revertVersion` and pass `currentChatMessageId` to prune messages at/after the triggering user message; refresh chat state > - Backend `revert-version` now conditionally commits only if there are staged changes and supports message deletion via `gte` with `currentChatMessageId`, falling back to commit-hash-based pruning > - Extend IPC types: add `Message.sourceCommitHash` and `RevertVersionParams.currentChatMessageId` > - Add e2e test and fixture for undo after a no-code assistant response > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit a97e153d3cb703461b66bb7eaec28b4c7ae32cc4. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Make undo reliable by reverting to the message’s source commit instead of relying on a previous assistant message or the chat’s initial state. This fixes undo when an assistant reply contains no code. - **Bug Fixes** - Use current message’s sourceCommitHash for revertVersion and pass currentChatMessageId to prune messages at/after the triggering user message; then refresh chat. - Extend Message type with sourceCommitHash and show a warning if it’s missing. - Add e2e test for undo after a no-code assistant response with a new fixture. <sup>Written for commit a97e153d3cb703461b66bb7eaec28b4c7ae32cc4. Summary will update automatically on new commits.</sup> <!-- End of auto-generated description by cubic. -->
-
由 Will Chen 提交于
Fixes #527 <!-- CURSOR_SUMMARY --> > [!NOTE] > Enables org-scoped Supabase connectivity across the app with per-organization tokens and org-aware project/branch/logs/function operations. > > - DB: migration `0019` adds `apps.supabase_organization_slug`; drizzle schema updated > - Settings/schema: introduce `supabase.organizations{slug->{tokens,...}}`; helper `isSupabaseConnected`; encrypt/decrypt per-org tokens > - OAuth: `handleSupabaseOAuthReturn` now stores credentials under the detected organization > - IPC: new channels `supabase:list-organizations`, `supabase:delete-organization`, `supabase:list-all-projects`; existing branches/logs/set/unset handlers accept `organizationSlug`; preload allowlist and ipc_client updated > - Supabase management: clients selectable per organization; all calls (projects, branches, logs, SQL, deploy/delete/bulk-update functions, context/client code) accept `organizationSlug` > - UI/hooks: `SupabaseConnector` and `SupabaseIntegration` list/manage organizations, group projects by org, persist org on selection, and handle org-scoped branch switching; `useSupabase` adds org state and org-aware loaders; preview panel loads edge logs with org > - Misc: AGENTS.md adds database/migrations guidance; minor test fixture tweak > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 402bb2cd357dfd9c5d4de28ee68cb4719ca75a51. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Adds multi-organization Supabase support so you can connect multiple orgs, pick projects by org, and manage tokens per org. Updates UI, settings, IPC, and the app schema to store organization context with each connected project. - **New Features** - Connect multiple Supabase organizations; list, add, and delete organizations. - Project picker groups projects by organization; selection persists organizationSlug on the app. - Branch switching keeps the selected organization context; “Disconnect Project” still works. - Per-organization token storage and refresh; new IPC: supabase:list-organizations, supabase:delete-organization, supabase:list-all-projects. - Settings shows connected organizations and “Disconnect All”; legacy single-account flows continue to work. - **Migration** - Apply SQL migration 0019 to add supabase_organization_slug to the apps table. <sup>Written for commit 402bb2cd357dfd9c5d4de28ee68cb4719ca75a51. Summary will update automatically on new commits.</sup> <!-- End of auto-generated description by cubic. --> -
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > Adds end-to-end telemetry for Turbo Edits search & replace and wiring to PostHog. > > - Track `search_replace:fix` on initial dry run and each retry with `attemptNumber`, `success`, `issueCount`, and per-file `errors` (emitted from `chat_stream_handlers.ts`) > - New main helper `sendTelemetryEvent` and IPC channel `telemetry:event` (whitelisted in `preload.ts`); renderer subscribes via `IpcClient.onTelemetryEvent` and forwards with `posthog.capture` > - Improves diagnostics: warns with original and diff when `applySearchReplace` fails in `response_processor.ts` > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 56bc3a352a2ab3b1e0100923cb395759229ee645. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Added telemetry for Turbo Edits search & replace, forwarding events from main to renderer and capturing them in PostHog. Tracks success/failure and errors for each fix attempt. - **New Features** - Emit "search_replace:fix" with attemptNumber, success, issueCount, and per-file errors on initial attempt and retries. - Add a sendTelemetryEvent helper in main and a "telemetry:event" IPC channel (whitelisted in preload). - Expose IpcClient.onTelemetryEvent; renderer forwards to PostHog via posthog.capture. <sup>Written for commit 56bc3a352a2ab3b1e0100923cb395759229ee645. Summary will update automatically on new commits.</sup> <!-- End of auto-generated description by cubic. -->
-
- 23 12月, 2025 4 次提交
-
-
由 Will Chen 提交于
Context: - https://github.com/orgs/supabase/discussions/33720 - https://supabase.com/docs/reference/api/v1-deploy-a-function <!-- CURSOR_SUMMARY --> > [!NOTE] > Introduces a two-step deploy flow for edge functions: parallel bundling followed by bulk activation, plus API shape updates. > > - Adds `DeployedFunctionResponse` and updates `deploySupabaseFunction` to support `bundleOnly`, return the deployed function payload, and use `import_map_path` > - Implements `bulkUpdateFunctions` (PUT `/projects/{id}/functions`) to activate multiple functions at once > - In `deployAllSupabaseFunctions`, filters to functions with `index.ts`, bundles them in parallel (`bundleOnly=true`), aggregates successes/errors, then bulk-activates successful bundles > - Cleans up import map generation (`imports: {}`) and switches deploy URL construction to include `bundleOnly` query param > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 7b1d63ee73a56dc24b3465d812838bc5bf5bd0e5. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
-
由 Mohamed Aziz Mejri 提交于
Closes #1971 <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Virtualized the chat message list with react-virtuoso for smoother scrolling and lower memory use in long chats, with non-virtualized rendering in E2E builds for stable tests. Memoized ChatMessage to reduce unnecessary re-renders. - **New Features** - Switched MessagesList to Virtuoso with itemContent, overscan, smooth follow, and initial focus on the latest message. - Moved context limit and Undo/Retry controls into a footer; preserved empty/setup states. - **Dependencies** - Added react-virtuoso ^4.17.0. <sup>Written for commit f82a976c70bebf40d5c7af7de514e0afde604c64. Summary will update automatically on new commits.</sup> <!-- End of auto-generated description by cubic. --> <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Virtualizes the chat message list with react-virtuoso, adds a non-virtualized path for E2E via E2E_TEST_BUILD, and refactors footer/actions with memoized ChatMessage. > > - **Frontend (chat)**: > - Switch `src/components/chat/MessagesList.tsx` to `react-virtuoso` with `itemContent`, `components.Footer`, overscan, and smooth follow; extract `FooterComponent` for context limit + Undo/Retry controls. > - Add E2E test mode using `envVars.E2E_TEST_BUILD` to render non-virtualized list; improve empty/setup handling; memoize `ChatMessage`. > - **Electron/IPC**: > - Include `E2E_TEST_BUILD` in `get-env-vars` so renderer can access test-mode flag. > - **Dependencies**: > - Add `react-virtuoso`. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 1c71fe7555a6a32ff29ef1034b889822527484ba. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
-
由 Mohamed Aziz Mejri 提交于
<!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Aggregates logs from client console, network requests, and Supabase Edge Functions into one console with filters and virtualization for faster debugging. Improves the preview console UX with better filtering, auto-scroll, and “send to chat”. - **New Features** - Unified log stream: new appConsoleEntriesAtom and combined, time-sorted entries (client console, network requests, edge-function, build-time). - Client capture: injects console interceptor and a Service Worker to track fetch requests/responses/errors; forwarded via postMessage. - Supabase Edge Function logs: new IPC handler and admin client query; incremental polling via last timestamp; function name extracted for source filtering. - Console UI: level/type/source filters, log count, virtualized list with react-virtuoso, auto-scroll when near bottom, clear filters, and “send to chat” per entry. - Preview iframe: forwards console logs, network events, and build/runtime errors into unified logs with proper levels. - **Dependencies** - Added react-virtuoso. <sup>Written for commit c8390c5ef9ab2def1135052f04156368b2b9d5d0. Summary will update automatically on new commits.</sup> <!-- End of auto-generated description by cubic. --> <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Brings a unified, performant logs console and multi-source aggregation for easier debugging. > > - Introduces `appConsoleEntriesAtom` and removes `appOutputAtom`; resets logs on app switch > - Captures client logs via injected `worker/dyad_logs.js` and forwards to parent; displays in `Console` with `ConsoleEntry` UI > - Intercepts network requests/responses/errors via Service Worker (`worker/dyad-sw.js`, registered by `dyad-sw-register.js`); proxy serves SW and injects scripts > - Adds Supabase Edge Function logs: IPC handler `supabase:get-edge-logs`, admin query `getSupabaseProjectLogs`, polling via `useSupabase.loadEdgeLogs`, and `lastLogTimestampAtom`; function name extracted for source tags > - Updates `PreviewIframe` to forward console/network events and runtime errors into unified log stream > - New console UI (`Console.tsx`, `ConsoleFilters.tsx`, `ConsoleEntry.tsx`) with level/type/source filters, auto-scroll, and list virtualization via `react-virtuoso` (disabled in E2E via `E2E_TEST_BUILD`) > - Adds "Send to chat" action per log and "Clear" filter control; increases CI timeout; adds e2e tests for logs, network, chat export, and filter clearing > - Exposes `E2E_TEST_BUILD` via `get-env-vars`; adds dependency `react-virtuoso` > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 0c10230f707c2e6f1968bad428b16fe1f56c039f. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > Update README contributing section to reference license details below instead of stating Apache 2.0 explicitly. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit e1c66fde9c8c12a6c020d5e60123299bbe84e8d6. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Clarified the README license text to point to the License section instead of naming the license directly. Keeps docs consistent with the LICENSE file and avoids outdated info. <sup>Written for commit e1c66fde9c8c12a6c020d5e60123299bbe84e8d6. Summary will update automatically on new commits.</sup> <!-- End of auto-generated description by cubic. -->
-
- 20 12月, 2025 1 次提交
-
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > Introduce Agent v2 local tool‑calling mode with parallel tools, consent workflow, UI, and AI message persistence (incl. MCP integration and Supabase-aware ops). > > - **Agent v2 (Local Agent) • Tool-calling mode**: > - Add new chat mode (`local-agent`) with parallel tool calls and MCP tool support; dedicated system prompt and streaming handler. > - Built-in tools: `read_file`, `list_files`, `write_file`, `rename_file`, `delete_file`, `search_replace`, `add_dependency`, `add_integration`, `execute_sql`, `get_database_schema`, `set_chat_summary`. > - Consent workflow: per-tool “ask/always” defaults, inline consent banner, and settings page to manage consents. > - **UI**: > - Render new custom tags in `DyadMarkdownParser` (e.g., `dyad-list-files`, `dyad-database-schema`, MCP call/result), plus `AgentConsentBanner`. > - `ChatModeSelector` exposes “Agent v2 (experimental)”; settings add “Agent Permissions”. > - **Backend/IPC**: > - New local-agent handler, tool definitions, shared file ops (Git/Supabase deploy), provider/options refactor, MCP consent bridge; register agent tool IPC handlers. > - Persist AI SDK messages/tool calls via `messages.ai_messages_json` with size guard and startup cleanup. > - **DB**: > - Migration `0018_*` adds `ai_messages_json` column; snapshot/journal updated. > - **Testing**: > - E2E fixtures and specs for local-agent (parallel tools, consent, MCP); fake LLM server support; unit tests for utils/handler. > - **Docs**: > - Add `docs/agent_architecture.md` and link from `CONTRIBUTING.md`. > - **Deps**: > - Add `jsonrepair`. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 27a18e8ec6ec4e41edd0abcddffc42ee3a9fda3a. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Introduce Local Agent v2 with parallel tool calls and user consent, plus UI to manage and visualize tool activity. Adds DB persistence for AI tool-call messages and smarter Supabase auto-deploys. - **New Features** - New “Agent v2” chat mode with tool calls (read/list files, DB schema, write/rename/delete, search/replace, add dependency, add integration, execute SQL, set chat summary), parallel execution, and MCP tool support. - Consent system with defaults, “accept once/always/decline,” inline banner prompts, and a settings panel to manage consents. - UI rendering for tool activity: list files, database schema, and tool call/result/error blocks. - Streaming handler, XML tool translator, and a dedicated system prompt for Agent v2. - Database: messages.ai_messages_json to store AI SDK messages/tool calls with size limits and startup cleanup. - **Refactors** - Supabase: support functions/_shared modules, detect edits, and deploy all affected functions; centralized file operations for shared tooling. <sup>Written for commit 27a18e8ec6ec4e41edd0abcddffc42ee3a9fda3a. Summary will update automatically on new commits.</sup> <!-- End of auto-generated description by cubic. -->
-
- 18 12月, 2025 6 次提交
-
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > Bumps app version to 0.31.0-beta.1 in package.json. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 4ee3fcee216041f734d39323489514021b90b042. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Bumps the app version from 0.30.0-beta.1 to 0.31.0-beta.1 to prepare the next beta release. <sup>Written for commit 4ee3fcee216041f734d39323489514021b90b042. Summary will update automatically on new commits.</sup> <!-- End of auto-generated description by cubic. -->
-
由 Will Chen 提交于
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > <sup>[Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) is generating a summary for commit c8f494513ae9b2fedda833aeda41ed660b584f16. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
-
由 Will Chen 提交于
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > <sup>[Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) is generating a summary for commit 015da81bdee067873de66007016e46b15d3b4ff0. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
-
由 Will Chen 提交于
## Summary - update the Playwright summary script to support workflow_run events and optional comment skipping - stop the CI workflow from posting Playwright comments directly and only generate the summary - add a workflow_run-based commenter workflow that downloads artifacts and posts results for PRs, including forks ## Testing - not run (workflow changes only) ------ [Codex Task](https://chatgpt.com/codex/tasks/task_e_694340b2da6083278e42db076ea89eba) <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Moves Playwright commenting to a workflow_run job that downloads artifacts and posts/updates the summary; CI now only uploads the report, and the summary script improves PR/run detection and OS bucketing. > > - **Workflows**: > - **CI (`.github/workflows/ci.yml`)**: Remove in-job PR comment step; keep merging reports and uploading `playwright-report` artifact. > - **New (`.github/workflows/playwright-comment.yml`)**: `workflow_run` on CI to download artifacts (`html-report--attempt-*`, `blob-report-*`) and run `scripts/generate-playwright-summary.js` to comment on the PR (supports forks). > - **Script (`scripts/generate-playwright-summary.js`)**: > - Add PR detection for `workflow_run` and `PR_NUMBER`; use `PLAYWRIGHT_RUN_ID` for report link. > - Improve OS detection/bucketing (auto-detect from attachments/stacks, sensible defaults, lazy bucket creation). > - Safer fallbacks when no artifacts; always write job summary; skip PR comment when no PR is detected. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 8428f7ad6eb0671571cb4ae0e473434ffb1cf8d1. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Fixes Playwright report comments on forked PRs by moving comment posting to a workflow_run job. CI now only uploads the reports; a separate workflow posts or updates the PR comment using artifacts. - **Bug Fixes** - Added Playwright Report Comment workflow (workflow_run on CI) to download artifacts and comment on PRs from forks. - Removed PR comment step from CI; CI only uploads Playwright reports. - Updated summary script to support workflow_run, auto-detect the PR number, use PLAYWRIGHT_RUN_ID for links, and improve OS detection/bucketing. <sup>Written for commit 8428f7ad6eb0671571cb4ae0e473434ffb1cf8d1. Summary will update automatically on new commits.</sup> <!-- End of auto-generated description by cubic. -->
-
- 17 12月, 2025 2 次提交
-
-
由 Mohamed Aziz Mejri 提交于
<!-- This is an auto-generated description by cubic. --> ## Summary by cubic Fixes scrollbar flickering in annotator mode by constraining draggable inputs within the container and suppressing scroll during drag for smoother movement. - **Bug Fixes** - Added containerRef to DraggableTextInput and elementRef to calculate bounds. - Constrained drag coordinates to container size and accounted for scale. - Prevented default and stopped propagation on mousemove to avoid scroll jitter. - Passed containerRef from Annotator to DraggableTextInput. <sup>Written for commit 959605ddaa5faf23252ee797bf206c6dff46a069. Summary will update automatically on new commits.</sup> <!-- End of auto-generated description by cubic. -->
-
由 Will Chen 提交于
Fixes #1949 <!-- CURSOR_SUMMARY --> --- > [!NOTE] > <sup>[Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) is generating a summary for commit 46ac310c762fd4044c35bc59264122234ed19bbf. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Make app ports dynamic instead of hardcoded 32100 to prevent conflicts and keep local runs, Docker, and env URLs in sync. Ports now derive from appId using a base of 32100. - **Bug Fixes** - Added getAppPort(appId) = 32100 + (appId % 10_000). - Used the dynamic port in NEXT_PUBLIC_SERVER_URL, start commands, Docker -p mapping, and cleanUpPort. - Updated getCommand to accept appId and generate a per-app default start command. <sup>Written for commit 46ac310c762fd4044c35bc59264122234ed19bbf. Summary will update automatically on new commits.</sup> <!-- End of auto-generated description by cubic. -->
-
- 16 12月, 2025 4 次提交
-
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > Posts a per-OS Playwright test summary as a PR comment by adding a JSON reporter and a CI step to generate and publish the results. > > - **CI / Reporting** > - Add permissions and a GitHub Script step in `.github/workflows/ci.yml` to generate and post/update a Playwright test summary comment after merging shard reports. > - Upload merged HTML report artifact and link to full run. > - **Playwright config** > - Update `merge.config.ts` to add JSON reporter output to `playwright-report/results.json` alongside HTML. > - **New Script** > - Add `scripts/generate-playwright-summary.js` to parse Playwright JSON, compute per-OS (macOS/Windows) pass/fail/flaky/skipped counts, list top failures/flaky tests, and write both PR comment and job summary. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit d5ca6987f65e9a7063533960382516af89e67391. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Posts Playwright test results as a PR comment with a per-OS summary, flaky test counts, and top failures, improving CI visibility across macOS and Windows. Adds a JSON reporter and a GitHub Script step that links to the full report. - **New Features** - Adds JSON reporter output to playwright-report/results.json. - Adds a script to parse results, include flaky tests, post/update the PR comment, and write the job summary. - Updates CI workflow permissions and runs the summary script after report merge. <sup>Written for commit d5ca6987f65e9a7063533960382516af89e67391. Summary will update automatically on new commits.</sup> <!-- End of auto-generated description by cubic. -->
-
由 Will Chen 提交于
Credit: thanks @SlayTheDragons whose PR https://github.com/dyad-sh/dyad/pull/1665 paved the way for this implementation. <!-- CURSOR_SUMMARY --> > [!NOTE] > Adds _shared module support for Supabase edge functions with import-map packaging and automatic redeploys; updates deployment to include full function directories plus shared files, and adds path utilities and tests. > > - **Supabase Edge Functions** > - **Shared Modules Support**: Detect `_shared` changes and redeploy all functions; regular function changes deploy only that function. > - **Deployment Overhaul**: `deploySupabaseFunctions` now uploads full function directories plus `_shared` files via multipart form-data, sets `entrypoint_path`, and writes `import_map.json` (`_shared/` → `../_shared/`). > - **Function Discovery & Packaging**: Add file collection helpers (`listFilesWithStats`, `loadZipEntries`) and path utilities (`toPosixPath`, `findFunctionDirectory`, `stripSupabaseFunctionsPrefix`) with signature-based caching for `_shared`. > - **APIs & Utils**: Introduce `isSharedServerModule`, refine `isServerFunction` (excludes `_shared`), add `extractFunctionNameFromPath`, and `buildSignature`. > - **IPC Changes** > - Update file edit/rename/delete flows to track shared module edits and trigger full redeploys; otherwise deploy per-function using extracted name and `appPath`. > - **Prompts** > - Document `_shared` usage and import pattern in Supabase prompt. > - **Tests** > - Add tests for function/shared detection, name extraction, path handling, and signature building. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit f35599ec0e708e2ef6b7e78ae7901b29953a6dff. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Adds support for shared modules for Supabase edge functions. Shared code in supabase/functions/_shared is now bundled via an import map and triggers redeploys across all functions when changed. - **New Features** - Detects shared modules in supabase/functions/_shared and redeploys all functions when they change. - Deploys full function directories plus shared files, and writes an import_map.json that resolves "_shared/" imports. - Auto-deploys only the affected function on file changes; switches to redeploy-all when a shared module is touched. - **Refactors** - deploySupabaseFunction now uploads multiple files (function + shared) using multipart form-data and sets entrypoint/import map. - Added file collection, path utilities, and shared-file caching via content signatures to reduce redundant reads. - Updated deployAllSupabaseFunctions to skip non-function dirs (e.g., _shared) and use functionPath. - Added tests for function/shared detection, path handling, and signature building. <sup>Written for commit 302d84625d9e61477db9ada052a027b29ff18cef. Summary will update automatically on new commits.</sup> <!-- End of auto-generated description by cubic. -->
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > Rename the “Agent” chat mode to “Build with MCP” and update its label and description in `src/components/ChatModeSelector.tsx`. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit a5ad57fa2492941186c0cdba9ea9d6340817ea6b. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Renamed the “Agent” chat mode to “Build with MCP” and added shared module support for Supabase Edge Functions, including automatic redeploys when shared code changes. - **New Features** - Updated UI: “Agent” → “Build (MCP)” in mode name and “Build with MCP (experimental)” in selector. - Detect changes in supabase/functions/_shared and redeploy all functions accordingly. - Deploy functions with their full directory plus shared files; add an import_map to resolve “_shared/” imports. - Cache shared files by signature to avoid redundant reads. - Added tests for path helpers and signature building. - **Refactors** - deploySupabaseFunctions now accepts appPath and functionPath, and uploads multiple files instead of a single content string. - Updated app and response handlers to use the new deploy flow, skip per-function redeploys when shared modules change, and avoid treating _shared as a function. - Added isSharedServerModule and refined isServerFunction to exclude _shared. <sup>Written for commit a5ad57fa2492941186c0cdba9ea9d6340817ea6b. Summary will update automatically on new commits.</sup> <!-- End of auto-generated description by cubic. -->
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > Switches budget fetch to `https://api.dyad.sh/v1/user/info` and validates/consumes `usedCredits`, `totalCredits`, and `budgetResetDate` directly via Zod. > > - **IPC/Pro handlers (`src/ipc/handlers/pro_handlers.ts`)**: > - **Endpoint**: Update user info URL to `https://api.dyad.sh/v1/user/info`. > - **Validation**: Add `zod` schema `UserInfoResponseSchema` to validate API response. > - **Data mapping**: Use `usedCredits`, `totalCredits`, `budgetResetDate`, and `userId` from response directly; remove conversion logic and old nested `user_info` parsing. > - **Redaction**: Compute `redactedUserId` from `userId` and return parsed `UserBudgetInfo`. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit da1f192c2cabb2154bd10b69555c27d62fbb6368. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> <!-- This is an auto-generated description by cubic. --> ## Summary by cubic Switched user budget fetch to the new user info proxy and added schema validation. Uses API-provided credits directly and removes the old conversion logic. - **Refactors** - Use https://api.dyad.sh/v1/user/info instead of llm-gateway. - Validate response with a Zod schema (usedCredits, totalCredits, budgetResetDate, userId). - Map fields directly to UserBudgetInfo and remove CONVERSION_RATIO. - Keep redacted user ID format (****1234). - **Dependencies** - Removed unused html-dom-parser, html-react-parser, and react-property from the lockfile. <sup>Written for commit da1f192c2cabb2154bd10b69555c27d62fbb6368. Summary will update automatically on new commits.</sup> <!-- End of auto-generated description by cubic. -->
-
- 15 12月, 2025 1 次提交
-
-
由 Mohamed Aziz Mejri 提交于
closes #1803 <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Detects when the app was force-closed and shows a dialog with the last known CPU and memory usage. Adds background performance monitoring so we can surface metrics on next launch. - **New Features** - Start a performance monitor at app launch; captures process and system memory/CPU every 30s and on quit. - Persist metrics in settings.lastKnownPerformance and track settings.isRunning to detect improper shutdowns. - On startup, if the previous run was force-closed, send a "force-close-detected" IPC event after the window loads. - Add ForceCloseDialog to display timestamped process/system metrics. - Whitelist the new IPC channel in preload and listen for it on the home page. <sup>Written for commit 0543cdc234da7f94024e8506749aaa9ca36ef916. Summary will update automatically on new commits.</sup> <!-- End of auto-generated description by cubic. -->
-
- 14 12月, 2025 1 次提交
-
-
由 Mohamed Aziz Mejri 提交于
<!-- This is an auto-generated description by cubic. --> ## Summary by cubic Adds an in-app screenshot annotator to the Preview panel for Pro users so you can capture the current app view, draw or add text, and submit an annotated image to chat. - **New Features** - Pen button in PreviewIframe to toggle annotator; captures a screenshot via worker messaging and displays it in a Konva canvas. - Tools: select, freehand draw, and draggable text; supports undo/redo, delete, and resizing with Transformer. Canvas scales to the container. Includes a color picker. - Submit exports a PNG and attaches it to the chat via useAttachments; prefills the chat input; annotator auto-closes after submit. - Pro-only: non-Pro users see an upsell screen. - State atoms added: annotatorModeAtom, screenshotDataUrlAtom, attachmentsAtom; PreviewIframe now handles dyad-screenshot-response messages. - **Dependencies** - Added konva, react-konva, perfect-freehand, and html-to-image. - Proxy now injects html-to-image and the new dyad-screenshot-client.js for screenshot capture. <sup>Written for commit 580aca271c5993a0dc7426e36e34393e073bd67b. Summary will update automatically on new commits.</sup> <!-- End of auto-generated description by cubic. -->
-
- 13 12月, 2025 1 次提交
-
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> --- > [!NOTE] > Parameterizes the undo e2e test and adds a second run using native Git via a shared helper. > > - **Tests (e2e)**: > - Refactor `e2e-tests/undo.spec.ts` to use `runUndoTest(po, nativeGit)` helper. > - Pass `nativeGit` through `po.setUp({ autoApprove: true, nativeGit })`. > - Import `PageObject` from `helpers/test_helper`. > - Add second test "undo with native git" alongside existing "undo" test. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 2108a7d73669794f0052192e8b5a1ffac3d54ec1. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Parameterized the undo e2e test to run with and without native Git, improving coverage without duplicating code. - **Refactors** - Added runUndoTest(po, nativeGit) helper and passed nativeGit to setUp. - Split into two test cases: “undo” and “undo with native git”. - Minor whitespace-only formatting updates in snapshot and fixture files. <sup>Written for commit 2108a7d73669794f0052192e8b5a1ffac3d54ec1. Summary will update automatically on new commits.</sup> <!-- End of auto-generated description by cubic. -->
-
- 12 12月, 2025 3 次提交
-
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > Load Monaco via @monaco-editor/react loader, drop custom workers, and initialize themes/TypeScript after loader init. > > - **Editor/Monaco**: > - Switch to `@monaco-editor/react` `loader.init()` with type-only `editor` import. > - Remove worker imports and `MonacoEnvironment.getWorker` configuration. > - Move theme registration (`dyad-light`, `dyad-dark`) and TypeScript compiler/diagnostics setup into the loader init callback. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit c4b7c025725273068463feac3fbdb7b61125fc10. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Load Monaco from a CDN via @monaco-editor/react and initialize themes/TypeScript settings after loader init. This reduces bundle size and removes custom worker setup. - **Refactors** - Removed web worker imports and MonacoEnvironment configuration. - Switched from direct monaco import to type-only import; initialization now uses loader.init(). - Moved theme registration (dyad-light/dark) and TS compiler/diagnostics setup into the loader init callback. <sup>Written for commit c4b7c025725273068463feac3fbdb7b61125fc10. Summary will update automatically on new commits.</sup> <!-- End of auto-generated description by cubic. -->
-
由 Will Chen 提交于
<!-- CURSOR_SUMMARY --> > [!NOTE] > Refactors code highlighting to use react-shiki/core with a singleton highlighter and preloaded langs/themes, adds a fallback renderer, bumps react-shiki, and adds tests for message summarization. > > - **Frontend** > - **CodeHighlight** (`src/components/chat/CodeHighlight.tsx`): Replace `useShikiHighlighter` with `ShikiHighlighter` from `react-shiki/core` using a singleton `createHighlighterCore` and JS regex engine; preload common languages and GitHub light/dark themes; add `<pre><code>` fallback while loading. > - **Tests** > - Add/expand Vitest suite for `formatMessagesForSummary` (`src/__tests__/formatMessagesForSummary.test.ts`): covers truncation, ordering, special chars, undefined content, and edge cases. > - **Dependencies** > - Upgrade `react-shiki` to `^0.9.0` in `package.json`. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit b32d224cd21d3c76e77799f2995905e523406bf9. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Preloaded a specific set of Shiki languages and themes using react-shiki core, and updated CodeHighlight to use a singleton highlighter. This reduces bundle size and stabilizes code rendering with a simple fallback while loading. - **Refactors** - Switched to react-shiki/core with ShikiHighlighter and a singleton highlighter. - Preloaded common languages (js/ts/jsx/tsx/html/css/json/markdown/python/etc.) and GitHub light/dark themes. - Used the JavaScript regex engine and added a plain <pre><code> fallback until the highlighter is ready. - **Dependencies** - Upgraded react-shiki to ^0.9.0. <sup>Written for commit b32d224cd21d3c76e77799f2995905e523406bf9. Summary will update automatically on new commits.</sup> <!-- End of auto-generated description by cubic. -->
-
由 Will Chen 提交于
The sourcemap is almost 20mb (and we still don't get proper stacktraces for errors in the main/node.js thread) <!-- CURSOR_SUMMARY --> > [!NOTE] > <sup>[Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) is generating a summary for commit 267749b95f6416b3f88c8caa9a72e21438fc1ee8. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
-