Commit Graph

503 Commits

Author SHA1 Message Date
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
顾颢
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
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
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
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
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
4bc961ffb4 Fix preset value (#933) 2025-08-13 17:25:21 -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
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
c54635d834 Read .py files (#907)
Fixes #880
2025-08-11 15:03:50 -07:00
Will Chen
ab757d2b96 Add GPT 5 support (#902) 2025-08-11 15:00:02 -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
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
Will Chen
42cbb59b69 Remove shadcn from exclude list for smartcontext (#769) 2025-08-04 17:22:25 -07:00
Will Chen
6c82cef5b5 add Qwen3 coder (#808) 2025-08-04 17:04:09 -07:00
Will Chen
b0f08eaf15 Neon / portal template support (#713)
TODOs:
- [x] Do restart when checkout / restore if there is a DB
- [x] List all branches (branch id, name, date)
- [x] Allow checking out versions with no DB
- [x] safeguard to never delete main branches
- [x] create app hook for neon template
- [x] weird UX with connector on configure panel
- [x] tiny neon logo in connector
- [x] deploy to vercel
- [x] build forgot password page
- [x] what about email setup
- [x] lots of imgix errors
- [x] edit file - db snapshot
- [x] DYAD_DISABLE_DB_PUSH
- [ ] update portal doc
- [x] switch preview branch to be read-only endpoint
- [x] disable supabase sys prompt if neon is enabled
- [ ] https://payloadcms.com/docs/upload/storage-adapters
- [x] need to use main branch...

Phase 2?
- [x] generate DB migrations
2025-08-04 16:36:09 -07:00
Will Chen
3ce81e585a Intercept ctrl/command R for refresh (#759)
Fixes #209
2025-07-31 16:34:28 -07:00
Will Chen
475483dfe5 Update Supabase system prompt to follow security best practices (#760)
Fixes #604
2025-07-31 16:33:16 -07:00
Will Chen
0793fc299d Fix vercel deployment fetching (#758) 2025-07-31 16:13:46 -07:00
Will Chen
867ea28f73 Auto-sync GitHub after connecting to project (#756) 2025-07-31 15:35:18 -07:00
Will Chen
03c200b932 Fix proxy server: remove URL param so it doesn't interfere with Next.js (#753)
Fixes #748
2025-07-31 15:18:37 -07:00
Will Chen
e5e1495c57 Add vercel.json for default React vite.js template (#755)
Fixes #741 
See: https://vercel.com/docs/project-configuration#rewrites-examples
2025-07-31 15:17:47 -07:00
Will Chen
7938b69eca Exclude .next & include .gitignore (#757) 2025-07-31 14:25:21 -07:00
Will Chen
14f13c7c92 Improve system prompt to avoid laziness (#751)
Fixes #749
2025-07-31 12:56:38 -07:00
Will Chen
510d288d78 Show code snippet in fix problems (#745) 2025-07-30 16:03:17 -07:00
Will Chen
c57f6e35f0 bump limit to 100_000 versions (#731) 2025-07-29 11:03:57 -07:00
Will Chen
64a7ddd364 Log request id (#730) 2025-07-29 11:03:26 -07:00
Will Chen
c490af720a Migration file path (#726)
Fixes #714
2025-07-28 14:57:59 -07:00
Will Chen
e947eede7a community templates (#691) 2025-07-23 10:11:16 -07:00
Will Chen
9edd0fa80f Upload image via chat (#686) 2025-07-22 15:45:30 -07:00
Will Chen
de73445766 Update codebase.ts so that all files are read (#684) 2025-07-21 21:16:00 -07:00
Will Chen
de21c6ff25 Rename chat (#673)
Fixes #102
2025-07-21 17:44:56 -07:00
Will Chen
ade5271e22 Better supabase error message (#682) 2025-07-21 16:32:39 -07:00
Will Chen
d56006f847 Add kimi k2 (#662) 2025-07-17 21:20:32 -07:00
Will Chen
db191ae739 Fix Vercel URL (#661) 2025-07-17 16:42:26 -07:00
Will Chen
444397ea86 Create Publish panel to easy GitHub and Vercel push (#655) 2025-07-17 15:54:08 -07:00