fix: Resolve 3 P1 bugs and add --body-file flag to bd create

- bd-06px: Add --no-git-history flag to import command for sync subprocess compatibility
- bd-0zp7: Add missing hook calls (EventMessage in mail reply, EventClose in mail ack)
- bd-hy9p: Implement --body-file and --description-file flags for reading descriptions from files

Also closed stale issues that were already fixed:
- bd-0d5p: macOS test timeout (already fixed with SysProcAttr)
- bd-7yg: Merge driver placeholders (already using correct %A %O %A %B)
- bd-4ri: Test deadlock (test passes in 0.04s now)
- bd-b3og: TestImportBugIntegration (test no longer exists)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Steve Yegge
2025-12-17 17:29:33 -08:00
parent 9073309b29
commit f270d90f12
3 changed files with 83 additions and 3 deletions

View File

@@ -482,12 +482,20 @@ func runMailAck(cmd *cobra.Command, args []string) error {
errors = append(errors, fmt.Sprintf("%s: %v", messageID, err))
continue
}
// Fire close hook for GGT notifications (daemon mode)
if hookRunner != nil {
hookRunner.Run(hooks.EventClose, issue)
}
} else {
// Direct mode - use CloseIssue for proper close handling
if err := store.CloseIssue(rootCtx, messageID, "acknowledged", actor); err != nil {
errors = append(errors, fmt.Sprintf("%s: %v", messageID, err))
continue
}
// Fire close hook for GGT notifications (direct mode)
if hookRunner != nil {
hookRunner.Run(hooks.EventClose, issue)
}
}
acked = append(acked, messageID)
@@ -646,6 +654,11 @@ func runMailReply(cmd *cobra.Command, args []string) error {
flushManager.MarkDirty(false)
}
// Fire message hook for GGT notifications
if hookRunner != nil {
hookRunner.Run(hooks.EventMessage, reply)
}
if jsonOutput {
result := map[string]interface{}{
"id": reply.ID,