package main
|
|
import (
|
"os"
|
"voicesnap/internal/logger"
|
"voicesnap/internal/paths"
|
"voicesnap/internal/singleinstance"
|
)
|
|
func main() {
|
if err := paths.MigrateFromLegacyExecutableDir(); err != nil {
|
os.Stderr.WriteString("PrivateVoice Dictation data migration failed: " + err.Error() + "\n")
|
}
|
|
// Initialize logger
|
logger.Init()
|
exePath, _ := os.Executable()
|
logger.Info("PrivateVoice Dictation 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)
|
}
|
}
|