1
0
mirror of https://github.com/hrfee/jfa-go.git synced 2024-12-22 17:10:10 +00:00

print error and include in txt log on crash; fix email migration

This commit is contained in:
Harvey Tindall 2021-08-25 18:10:06 +01:00
parent 5b319d6612
commit 1bfec54c93
Signed by: hrfee
GPG Key ID: BBC65952848FB1A2
2 changed files with 23 additions and 3 deletions

View File

@ -50,6 +50,10 @@ func Exit(err interface{}) {
log.Fatalf("Failed to load template: %v", err) log.Fatalf("Failed to load template: %v", err)
} }
logCache := lineCache.String() logCache := lineCache.String()
if err != nil {
fmt.Println(err)
logCache += "\n" + fmt.Sprint(err)
}
logCache += "\n" + string(debug.Stack()) logCache += "\n" + string(debug.Stack())
sanitized := sanitizeLog(logCache) sanitized := sanitizeLog(logCache)
data := map[string]interface{}{ data := map[string]interface{}{

View File

@ -90,10 +90,26 @@ func migrateEmailStorage(app *appContext) error {
} }
newEmails := map[string]EmailAddress{} newEmails := map[string]EmailAddress{}
for jfID, addr := range emails { for jfID, addr := range emails {
switch addr.(type) {
case string:
newEmails[jfID] = EmailAddress{ newEmails[jfID] = EmailAddress{
Addr: addr.(string), Addr: addr.(string),
Contact: true, Contact: true,
} }
// In case email settings still persist after migration has already happened
case map[string]interface{}:
return nil
default:
return fmt.Errorf("Email address was type %T, not string: \"%+v\"\n", addr, addr)
}
}
config, err := ini.Load(app.configPath)
if err != nil {
return err
}
config.Section("email").Key("use_24h").SetValue("")
if err := config.SaveTo(app.configPath); err != nil {
return err
} }
err = storeJSON(app.storage.emails_path+".bak", emails) err = storeJSON(app.storage.emails_path+".bak", emails)
if err != nil { if err != nil {