package main import ( "os" "voicesnap/internal/logger" "voicesnap/internal/paths" "voicesnap/internal/singleinstance" ) func main() { if err := paths.MigrateFromLegacyExecutableDir(); err != nil { os.Stderr.WriteString("VoiceSnap data migration failed: " + err.Error() + "\n") } // Initialize logger logger.Init() exePath, _ := os.Executable() logger.Info("VoiceSnap starting... version=%s build=%s executable=%s dataDir=%s", appVersion, appBuild, exePath, paths.AppSupportDir()) // Single instance check lock, err := singleinstance.Acquire() if err != nil { logger.Info("Another instance is already running, exiting") os.Exit(0) } defer lock.Release() // Start the Wails application if err := RunApp(); err != nil { logger.Error("Application error: %v", err) os.Exit(1) } }