fix(create): parse DeferUntil in daemon handleCreate (GH#950)
The daemon's handleCreate was parsing DueAt but ignoring the DeferUntil field from CreateArgs. This caused --defer flag to be silently dropped when using daemon mode. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -238,6 +238,23 @@ func (s *Server) handleCreate(req *Request) Response {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Parse DeferUntil if provided (GH#820, GH#950)
|
||||||
|
var deferUntil *time.Time
|
||||||
|
if createArgs.DeferUntil != "" {
|
||||||
|
// Try date-only format first (YYYY-MM-DD)
|
||||||
|
if t, err := time.ParseInLocation("2006-01-02", createArgs.DeferUntil, time.Local); err == nil {
|
||||||
|
deferUntil = &t
|
||||||
|
} else if t, err := time.Parse(time.RFC3339, createArgs.DeferUntil); err == nil {
|
||||||
|
// Try RFC3339 format (2025-01-15T10:00:00Z)
|
||||||
|
deferUntil = &t
|
||||||
|
} else {
|
||||||
|
return Response{
|
||||||
|
Success: false,
|
||||||
|
Error: fmt.Sprintf("invalid defer_until format %q. Examples: 2025-01-15, 2025-01-15T10:00:00Z", createArgs.DeferUntil),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
issue := &types.Issue{
|
issue := &types.Issue{
|
||||||
ID: issueID,
|
ID: issueID,
|
||||||
Title: createArgs.Title,
|
Title: createArgs.Title,
|
||||||
@@ -268,8 +285,9 @@ func (s *Server) handleCreate(req *Request) Response {
|
|||||||
Actor: createArgs.EventActor,
|
Actor: createArgs.EventActor,
|
||||||
Target: createArgs.EventTarget,
|
Target: createArgs.EventTarget,
|
||||||
Payload: createArgs.EventPayload,
|
Payload: createArgs.EventPayload,
|
||||||
// Time-based scheduling (GH#820)
|
// Time-based scheduling (GH#820, GH#950)
|
||||||
DueAt: dueAt,
|
DueAt: dueAt,
|
||||||
|
DeferUntil: deferUntil,
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if any dependencies are discovered-from type
|
// Check if any dependencies are discovered-from type
|
||||||
|
|||||||
Reference in New Issue
Block a user