fix(mail): prevent message type failures (#960)

This commit is contained in:
Artem Bambalov
2026-01-26 04:05:11 +02:00
committed by GitHub
parent 0ff092ae9f
commit 0e0547b3e1
3 changed files with 35 additions and 12 deletions

View File

@@ -212,6 +212,10 @@ func (m *Mailbox) identityVariants() []string {
// queryMessages runs a bd list query with the given filter flag and value.
func (m *Mailbox) queryMessages(beadsDir, filterFlag, filterValue, status string) ([]*Message, error) {
if err := beads.EnsureCustomTypes(beadsDir); err != nil {
return nil, fmt.Errorf("ensuring custom types: %w", err)
}
args := []string{"list",
"--type", "message",
filterFlag, filterValue,
@@ -829,8 +833,8 @@ func (m *Mailbox) rewriteLegacy(messages []*Message) error {
for _, msg := range messages {
data, err := json.Marshal(msg)
if err != nil {
_ = file.Close() // best-effort cleanup
_ = os.Remove(tmpPath) // best-effort cleanup
_ = file.Close() // best-effort cleanup
_ = os.Remove(tmpPath) // best-effort cleanup
return err
}
_, _ = file.WriteString(string(data) + "\n") // non-fatal: partial write is acceptable