Commit Graph

651 Commits

Author SHA1 Message Date
Will Chen
3d6e683f5e pre commit (#1119)
<!-- 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. -->
2025-08-28 21:19:03 -07:00
顾颢
6e4eb7c46b fix: error on first custom provider deletion (#1110)
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>
2025-08-27 14:49:14 -07:00
Will Chen
8211db71c9 bump to beta v0.19 1 (#1094) 2025-08-26 11:09:17 -07:00
Will Chen
9869fefbcb Support dyad docker (#674)
TODOs:
- [ ] clean-up docker images

https://claude.ai/chat/13b2c5d3-0d46-49e3-a771-d10edf1e29f4
2025-08-26 11:07:40 -07:00
Toni Alatalo
e6c92a24ed Prompts: align examples to TypeScript (.tsx/.ts) to avoid .jsx drift (#1076)
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. -->
2025-08-26 09:59:05 -07:00
Will Chen
53bbfc9813 Read JSON (#1081)
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. -->
2025-08-26 09:57:19 -07:00
Will Chen
1dfa0d1004 Fix package.json (#1080)
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. -->
2025-08-25 21:11:27 -07:00
Will Chen
72be54e6c5 verify jwt to false (#1085)
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. -->
2025-08-25 21:10:22 -07:00
Will Chen
d8e54d9a10 Parameterize sys prompt (#1082)
<!-- 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. -->
2025-08-25 17:56:14 -07:00
Will Chen
b14177b049 fix contrib format (#1083) 2025-08-25 17:25:39 -07:00
顾颢
2d5aa7e711 style(chat): solve the issue where the SetupBanner is cut off (#1078)
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>
2025-08-25 17:24:19 -07:00
Mohamed Aziz Mejri
7adffc7576 fix text overflow in chat messages (#1073)
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. -->
2025-08-25 16:57:57 -07:00
Mohamed Aziz Mejri
c23e0ae434 update contributing.md so that it refers to the architecture doc (#1057)
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. -->
2025-08-25 16:57:13 -07:00
Will Chen
2a90d2af5f architecture (#1052)
<!-- 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. -->
2025-08-22 22:51:16 -07:00
Will Chen
2285b5ebdf Disable encryption for e2e tests (#1024)
<!-- 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. -->
2025-08-20 17:19:57 -07:00
Will Chen
a66ac3c4a4 Bump to v0.18.0 (#1026)
<!-- 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. -->
2025-08-20 17:19:18 -07:00
Will Chen
ef4871bfdb Bump to 0.18.0-beta.2 (#1023)
<!-- 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. -->
2025-08-20 15:35:54 -07:00
Will Chen
4e9a927a7b smart context v3 (#1022)
<!-- 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. -->
2025-08-20 14:16:07 -07:00
Will Chen
34215db141 Help chat (#1007) 2025-08-19 15:31:17 -07:00
Adeniji Adekunle James
0cdd13dcbe feat: add timestamp and message version to prompt (#944) (#959)
### Summary

This PR implements a timestamp feature for messages in the prompt
window, responding to feature request #944.

**What this does:**
- Prefixes each sent message with a timestamp and message version.
### Screenshot

<img width="530" height="116" alt="image"
src="https://github.com/user-attachments/assets/62a86890-b120-42dd-ab48-8eeb4515a292"
/>

---------

Co-authored-by: Will Chen <willchen90@gmail.com>
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
2025-08-18 22:27:19 -07:00
Will Chen
d535db6251 Upgrade to AI sdk with codemod (#1000) 2025-08-18 22:21:27 -07:00
Will Chen
573642ae5f Prompt gallery (#957)
- [x] show prompt instead of app in autocomplete
- [x] use proper array/list for db (tags)
- [x] don't do <dyad-prompt> - replace inline
2025-08-18 13:25:11 -07:00
Will Chen
a547735714 Skip delete for windows (#992) 2025-08-18 11:00:03 -07:00
Olyno
237017acd9 feat: allow custom install and start commands (#892)
# Description

Gives the ability to define an `install` and `startup` command when
importing a project, so we can work on a project locally without any
issue.

# Preview

<img width="2256" height="1422" alt="image"
src="https://github.com/user-attachments/assets/2132b1cb-5f71-4b88-84db-8ecc81cf1f66"
/>

---------

Co-authored-by: Will Chen <willchen90@gmail.com>
2025-08-18 10:41:22 -07:00
Will Chen
f72157a443 bump to v0.18.0 beta 1 (#991) 2025-08-18 10:36:43 -07:00
Will Chen
55cc5460e3 Support next.js for routes and handle long width address bar (#958) 2025-08-15 17:56:44 -07:00
Adeniji Adekunle James
e554fd962b feat: add copy to clipboard functionality for code blocks (#934)
## 🚀 Feature: Copy to Clipboard for Code Blocks

### What's Changed
- Added a copy button to all code blocks that allows users to easily
copy code snippets
- Implemented visual feedback showing a checkmark when code is
successfully copied
- Copy button automatically reverts back after 2 seconds

### Technical Details
- Uses `navigator.clipboard.writeText()` for modern clipboard API
- Positioned copy button in the top-right corner alongside language
label
- Maintains existing code highlighting functionality

### UI/UX Improvements
- Clean, minimal copy button design that doesn't interfere with code
readability
- Clear visual feedback with copy and check icon transition
- Consistent styling with existing theme system

### Video



https://github.com/user-attachments/assets/8f388217-da8a-422e-9087-42cce8df68ad

---------

Co-authored-by: Will Chen <willchen90@gmail.com>
2025-08-15 16:52:37 -07:00
Will Chen
b06f658fc5 Add link for rate limit errors (#956) 2025-08-15 14:29:28 -07:00
Will Chen
60b1f509e6 increase mem size to avoid OOM (#942) 2025-08-14 14:21:28 -07:00
Will Chen
8ef84285fc Shard E2E tests (#941) 2025-08-14 13:48:27 -07:00
Will Chen
cc72990f0d Bump to v0.17.0 (#940) 2025-08-14 10:17:35 -07:00
Will Chen
4bc961ffb4 Fix preset value (#933) 2025-08-13 17:25:21 -07:00
Will Chen
b8362a74a7 bump to v0.17.0 beta 2 (#932) 2025-08-13 16:24:15 -07:00
Will Chen
a6dca76d29 Allow referencing other apps (#692)
- [x] Update chat_stream_handlers
- [x] Update token handlers
- [x] Update HomeChatInput
- [x] update lexical chat input: do not allow referencing same app
(current app, or other already selected apps)
- [x] I don't think smart context will work on this...
- [x] Enter doesn't clear...
2025-08-13 16:22:49 -07:00
Adeniji Adekunle James
76054c6db7 fix(ui): prevent content click from toggling accordion and improve UX with cursor-text in Codeblock (#930)
Hovering over the code block previously showed a pointer cursor, and
clicking inside would collapse/expand the accordion. This PR updates the
DyadWrite component to use `cursor-text` and adds `e.stopPropagation()`
so clicks inside the code block no longer toggle the accordion, making
it behave like other AI tools and improving user friendliness.


Before


https://github.com/user-attachments/assets/7b6983fd-91a0-4f30-9337-d444cbfcc110

After


https://github.com/user-attachments/assets/07d0d765-7206-4552-b0b4-2665d87df4a1
2025-08-13 15:34:11 -07:00
Olyno
c4420a56e2 docs(contribute): add explainations about SQL migration (#893)
# Description

This pull request adds some explanations on how to do the SQL
migrations, required to contribute to the project, when required.
2025-08-12 21:54:29 -07:00
BlueRaw
2c208e3ace add editable custom model (#794)
Now users can free to edit their custom models by double clicking any
custom models created in each provider.
Before this, they have to delete -> create a new one.
I simply add an edit panel (which looks the same as 'Add Custom Model')
and integrate that process into the "update" button.

There is one more issue that if a user deletes a model that he was using
in chat, then back to chat, that model would still appear (and work)
unless user chooses a new one.
Tried to modify "delete-custom-model" in language_model_handlers.ts by
the logic that if the name of that model matches the latest using one ->
switch to auto (or default) model. Yet I failed, maybe need more
explanation for this :)
2025-08-12 21:53:44 -07:00
Will Chen
ac948412dc Clearer help instructions (#919) 2025-08-12 11:31:06 -07:00
Will Chen
c6eb3975f3 Rebase GPT 4.1 engine (#909) 2025-08-11 15:53:31 -07:00
Will Chen
09efb7e10e Update README.md (#908) 2025-08-11 15:37:34 -07:00
Will Chen
c54635d834 Read .py files (#907)
Fixes #880
2025-08-11 15:03:50 -07:00
Will Chen
599f4c214c bump to v0.17.0-beta.1 (#906) 2025-08-11 15:01:28 -07:00
Will Chen
ab757d2b96 Add GPT 5 support (#902) 2025-08-11 15:00:02 -07:00
Fox
adc724cadf Add missing app description (#847)
The description for the program/app is set to the default placeholder.
Making it look like [this](https://imgur.com/a/gsIgSx4) in systems like
Linux.

So all I did was adding part of the GitHub description as it. Everything
else is okay.

Linked image, tho.
<img width="587" height="141" alt="Screenshot_20250806_102625"
src="https://github.com/user-attachments/assets/98764d70-4b07-4978-a91a-d0c69e939433"
/>
2025-08-11 10:26:35 -07:00
Bryan
3d014e5866 feat: add .env.example for local development (#831)
Closes #820; adds a .env.example file to document required environment
variables and streamline the setup process for new developers.

---------

Co-authored-by: Will Chen <willchen90@gmail.com>
2025-08-11 10:15:52 -07:00
Bryan
dfe6da063e fix: add Node.js version check for capacitor cmds (#801)
Resolves #787. Prevents crashes when running capacitor commands on a
system with an incompatible (older) Node.js version.

---------

Co-authored-by: Will Chen <willchen90@gmail.com>
2025-08-11 10:13:04 -07:00
HotPlugin
676d07e905 Update README.md (#795) 2025-08-05 14:46:23 -07:00
Will Chen
7f13157128 add docs on testing (#833) 2025-08-05 14:39:38 -07:00
Abdur Rahman
bbc50197c2 fix: improve close button alignment in chat error containers (#782)
Adjusted positioning to top-2.5 left-2 and add left padding to prevent
text overlap with the close button. 

<img width="715" height="61" alt="image"
src="https://github.com/user-attachments/assets/1e47f577-2b11-4928-82a6-053abc77dd1e"
/>

<img width="727" height="101" alt="image"
src="https://github.com/user-attachments/assets/b6058eca-93e0-445e-b17a-dee81911b90b"
/>
2025-08-05 14:34:17 -07:00
Will Chen
5db0b04400 Support exclude paths in manual context management (#774) 2025-08-05 14:33:39 -07:00