Commit Graph

23 Commits

Author SHA1 Message Date
Adeniji Adekunle James
d3f3ac3ae1 Replace native Git with Dugite to support users without Git installed (#1760)
I moved all isomorphic-git usage into a single git_utils.ts file and
added Dugite as an alternative Git provider. The app now checks the
user’s settings and uses dugite when user enabled native git for all
isomorphic-git commands. This makes it easy to fully remove
isomorphic-git in the future by updating only git_utils.ts.

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> Adds Dugite-based native Git (bundled binary) and refactors all Git
calls to a unified git_utils API, replacing direct isomorphic-git usage
across the app.
> 
> - **Git Platform Abstraction**:
> - Introduces `dugite` and bundles Git via Electron Forge
(`extraResource`) with `LOCAL_GIT_DIRECTORY` setup in `src/main.ts`.
> - Adds `src/ipc/git_types.ts` and a comprehensive
`src/ipc/utils/git_utils.ts` wrapper supporting both Dugite (native) and
`isomorphic-git` (fallback): `commit`, `add`/`addAll`, `remove`, `init`,
`clone`, `push`, `setRemoteUrl`, `currentBranch`, `listBranches`,
`renameBranch`, `log`, `isIgnored`, `getCurrentCommitHash`,
`getGitUncommittedFiles`, `getFileAtCommit`, `checkout`,
`stageToRevert`.
> - **Refactors (switch to git_utils)**:
> - Replaces direct `isomorphic-git` imports in handlers and processors:
`app_handlers`, `chat_handlers`, `createFromTemplate`,
`github_handlers`, `import_handlers`, `portal_handlers`,
`version_handlers`, `response_processor`, `neon_timestamp_utils`,
`utils/codebase`.
> - Updates tests to mock `git_utils`
(`src/__tests__/chat_stream_handlers.test.ts`).
> - **Behavioral/Feature Updates**:
> - `createFromTemplate` uses `fetch` for GitHub API and `gitClone` for
cloning with cache validation.
> - GitHub integration uses `gitSetRemoteUrl`/`gitPush`/`gitClone`,
handling public vs token URLs and directory creation when native Git is
disabled.
> - Versioning, imports, app file edits, migrations now stage/commit via
`git_utils`.
> - **UI/Copy**:
>   - Updates Settings description for “Enable Native Git”.
> - **Config/Version**:
>   - Bumps version to `0.29.0-beta.1`; adds `dugite` dependency.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
ba098f7f25d85fc6330a41dc718fbfd43fff2d6c. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

---------

Co-authored-by: Will Chen <willchen90@gmail.com>
2025-12-09 19:01:25 -08:00
Will Chen
3bf429f85a Bump to v0.14.0 and forge: prerelease (#704) 2025-07-24 10:53:48 -07:00
Will Chen
bc38f9b2d7 Improve check error performance by off-loading to worker thread w/ incremental compilation (#575) 2025-07-07 12:47:33 -07:00
Will Chen
7a4ec22480 Build in stacktrace.js (#264) 2025-05-27 16:04:50 -07:00
Will Chen
644012c9a5 Simple playwright e2e test (#234) 2025-05-23 10:44:52 -07:00
Will Chen
5966dd7f4b Proxy server to inject shim (#178)
things to test:

- [x] allow real URL to open in new window
- [x] packaging in electron?
- [ ] does it work on windows?
- [x] make sure it works with older apps
- [x] what about cache / reuse? - maybe use a bigger range of ports??
2025-05-16 23:28:26 -07:00
Will Chen
2537fbb342 lint using oxlint (#106) 2025-05-08 17:21:35 -07:00
Will Chen
d0c410859d clean-up release scripts (#86) 2025-05-05 15:12:46 -07:00
Will Chen
60b403e904 windows code-sign (follow electron-fiddle) 2025-04-29 22:00:48 -07:00
Will Chen
235c90e33e Try #7: fix windows code signing 2025-04-29 21:44:17 -07:00
Will Chen
c6b8f77448 Try #6: windows code signing 2025-04-29 21:30:25 -07:00
Will Chen
c7bd5b4817 Try #5: fix windows signing 2025-04-29 21:17:15 -07:00
Will Chen
9999ab6bf7 try 3: windows sign config (#52) 2025-04-29 16:44:31 -07:00
Will Chen
48a6c4f92d Try different sign params for windows (#51) 2025-04-29 16:30:06 -07:00
Will Chen
14a11cc3d2 Code sign win (#50)
* try windows signing

* bump to v0.3.0
2025-04-29 16:12:24 -07:00
Will Chen
67e7e73029 Support dyad protocol in forge 2025-04-23 12:59:09 -07:00
Will Chen
3cf93e10a0 Explicit forge config for github publishing 2025-04-21 18:57:17 -07:00
Will Chen
e1911162e3 Use pnpm and more clean-up of sandbox mode 2025-04-17 17:33:09 -07:00
Will Chen
faadcef1ed chore(forge): just use APPLE_TEAM_ID instead of sign id 2025-04-14 23:27:04 -07:00
Will Chen
d268814d00 chore(forge): rename env SIGN_ID to APPLE_SIGN_ID 2025-04-14 23:21:05 -07:00
Will Chen
4fbf8ef63d fix forge config for sandpack 2025-04-12 21:54:33 -07:00
Will Chen
a1690e0315 add icons 2025-04-11 10:55:11 -07:00
Will Chen
43f67e0739 Initial open-source release 2025-04-11 09:38:16 -07:00