Auto-commit extra files (#197)

Whenever Dyad does a commit from a proposal, it will automatically amend
the commit with outside changes (e.g. made outside of Dyad).

This helps avoid a lot of user confusion, e.g.
https://github.com/dyad-sh/dyad/issues/187

https://www.reddit.com/r/dyadbuilders/comments/1kjysc0/error_pushing_images/

Edge cases:
If a user adds a file outside of Dyad, and then they hit retry, it will
revert these outside changes, but it's still technically in the version
history, so I think it's OK. This should also be a pretty unusual
situation.

Fixes #164 
Fixes #187
This commit is contained in:
Will Chen
2025-05-19 13:42:27 -07:00
committed by GitHub
parent 648724b4e9
commit b5671c0a59
8 changed files with 95 additions and 33 deletions

View File

@@ -58,7 +58,7 @@ import { useVersions } from "@/hooks/useVersions";
import { useAttachments } from "@/hooks/useAttachments";
import { AttachmentsList } from "./AttachmentsList";
import { DragDropOverlay } from "./DragDropOverlay";
import { showError, showUncommittedFilesWarning } from "@/lib/toast";
import { showError, showExtraFilesToast } from "@/lib/toast";
import { ChatInputControls } from "../ChatInputControls";
const showTokenBarAtom = atom(false);
@@ -183,8 +183,11 @@ export function ChatInput({ chatId }: { chatId?: number }) {
chatId,
messageId,
});
if (result.uncommittedFiles) {
showUncommittedFilesWarning(result.uncommittedFiles);
if (result.extraFiles) {
showExtraFilesToast({
files: result.extraFiles,
error: result.extraFilesError,
});
}
} catch (err) {
console.error("Error approving proposal:", err);