Ariver
2026-06-03 3b57b1315c478129d03610bbc6e461619aae7c21
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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)
    }
}