diff --git a/model.go b/model.go index 5626cdb..9545bdd 100644 --- a/model.go +++ b/model.go @@ -227,14 +227,17 @@ func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) { )) profiles := m.app.ListProfiles() - m.profiles = append(m.profiles, profile{ + newProfile := profile{ name: msg.name, onion: profiles[len(profiles)-1], statusViewport: viewport.New( m.width, m.height-3, ), - }) + } + m.profiles = append(m.profiles, newProfile) + + cmds = append(cmds, startProfileCmd(m, newProfile.onion)) m.menuBar = append(m.menuBar, msg.name) @@ -256,6 +259,7 @@ func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) { for _, profile := range profiles { m.menuBar = append(m.menuBar, profile.name) + cmds = append(cmds, startProfileCmd(m, profile.onion)) } m.profiles = profiles @@ -314,6 +318,7 @@ func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) { m.app = msg.app m.acn = msg.acn m.connState = connected + m.app.ActivateEngines(true, true, false) case errMsg: cmds = append(cmds, m.sendStatusCmd(msg.Error())) diff --git a/profile.go b/profile.go index 06cae20..4d75cda 100644 --- a/profile.go +++ b/profile.go @@ -4,6 +4,7 @@ import ( "cwtch.im/cwtch/model/attr" "cwtch.im/cwtch/model/constants" "github.com/charmbracelet/bubbles/viewport" + tea "github.com/charmbracelet/bubbletea" ) type profile struct { @@ -42,3 +43,8 @@ func unlockProfiles(m model, password string) profiles { return unlocked } + +func startProfileCmd(m model, onion string) tea.Msg { + // https://git.openprivacy.ca/sarah/cwtchbot/src/branch/main/bot.go + return nil +}