From d346a87fd82297bbefaba241bfdb72dc97d3a739 Mon Sep 17 00:00:00 2001 From: sargonkadnezar Date: Tue, 30 Jun 2026 01:34:48 +0200 Subject: [PATCH] wavebase: symlink ~/.config/waveterm for snap users $SNAP_USER_DATA/.config/waveterm is invisible from the standard XDG path under classic confinement. Create a symlink on startup so docs and guides that say 'edit ~/.config/waveterm/waveai.json' just work. --- pkg/wavebase/wavebase.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkg/wavebase/wavebase.go b/pkg/wavebase/wavebase.go index f24a226745..affc9aea49 100644 --- a/pkg/wavebase/wavebase.go +++ b/pkg/wavebase/wavebase.go @@ -198,6 +198,15 @@ func EnsureWaveDBDir() error { } func EnsureWaveConfigDir() error { + // Symlink ~/.config/waveterm → snap config dir so external edits are visible. + if ClientPackageType() == "snap" { + stdDir := filepath.Join(GetHomeDir(), ".config", "waveterm") + if _, err := os.Lstat(stdDir); os.IsNotExist(err) { + if err := os.Symlink(GetWaveConfigDir(), stdDir); err != nil { + log.Printf("wavebase: symlink %s: %v\n", stdDir, err) + } + } + } return CacheEnsureDir(GetWaveConfigDir(), "waveconfig", 0700, "wave config directory") }