fix(chat): enable draft auto-accept before first message (#2045)
* fix(chat): enable draft auto-accept before first message * fix(test): use supported bun assertions * fix(chat): apply draft auto-accept before session switch --------- Co-authored-by: bashrusakh <bashrusakh@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
co-authored by
bashrusakh
parent
0242765bc8
commit
9bfc5bf0be
@@ -0,0 +1,36 @@
|
||||
export type PermissionAutoAcceptToggleArgs = {
|
||||
permissionScopeSessionId: string | null;
|
||||
newSessionDraftOpen: boolean;
|
||||
draftPermissionAutoAcceptEnabled: boolean;
|
||||
permissionAutoAcceptEnabled: boolean;
|
||||
setDraftPermissionAutoAcceptEnabled: (enabled: boolean) => void;
|
||||
setSessionAutoAccept: (sessionId: string, enabled: boolean) => Promise<void>;
|
||||
onOpenSessionFirst: () => void;
|
||||
onToggleFailed: () => void;
|
||||
};
|
||||
|
||||
export const togglePermissionAutoAccept = (args: PermissionAutoAcceptToggleArgs): void => {
|
||||
const {
|
||||
permissionScopeSessionId,
|
||||
newSessionDraftOpen,
|
||||
draftPermissionAutoAcceptEnabled,
|
||||
permissionAutoAcceptEnabled,
|
||||
setDraftPermissionAutoAcceptEnabled,
|
||||
setSessionAutoAccept,
|
||||
onOpenSessionFirst,
|
||||
onToggleFailed,
|
||||
} = args;
|
||||
|
||||
if (!permissionScopeSessionId) {
|
||||
if (!newSessionDraftOpen) {
|
||||
onOpenSessionFirst();
|
||||
return;
|
||||
}
|
||||
|
||||
setDraftPermissionAutoAcceptEnabled(!draftPermissionAutoAcceptEnabled);
|
||||
return;
|
||||
}
|
||||
|
||||
const nextEnabled = !permissionAutoAcceptEnabled;
|
||||
void setSessionAutoAccept(permissionScopeSessionId, nextEnabled).catch(onToggleFailed);
|
||||
};
|
||||
Reference in New Issue
Block a user