From a45e3cca738d6d0b7c87a39d6c64b9e282b1e64c Mon Sep 17 00:00:00 2001 From: John Costa Date: Sat, 7 Jun 2025 12:22:33 +0100 Subject: [PATCH] feat: adding idle timeout --- .gitignore | 1 + main.go | 13 +++++-------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index 35e0dfe..3bf0f96 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ blogssh +.ssh diff --git a/main.go b/main.go index 47ee4a8..c3a8689 100644 --- a/main.go +++ b/main.go @@ -66,7 +66,7 @@ type model struct { termRenderer *glamour.TermRenderer list list.Model - allPosts []string + allPosts *[]string width int height int @@ -110,8 +110,6 @@ func initialModel(renderer *lipgloss.Renderer, w int, h int) model { listItems[i] = item{title: postInfo.Title, desc: postInfo.Date.String(), index: i} } - fmt.Println(renderer.ColorProfile()) - list := list.New(listItems, list.NewDefaultDelegate(), w, h-4) list.Styles.TitleBar = renderer.NewStyle() list.SetShowTitle(false) @@ -156,7 +154,7 @@ func initialModel(renderer *lipgloss.Renderer, w int, h int) model { return model{ list: list, - allPosts: posts, + allPosts: &posts, page: FRONT, termRenderer: termRenderer, viewport: vp, @@ -205,7 +203,7 @@ func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) { m.page = POST selectedItem := m.list.SelectedItem().(item) - processedPost, err := processMarkdown(m.allPosts[selectedItem.index]) + processedPost, err := processMarkdown((*m.allPosts)[selectedItem.index]) if err != nil { panic(err) } @@ -269,6 +267,7 @@ func initServer() { s, err := wish.NewServer( wish.WithAddress(net.JoinHostPort(host, port)), wish.WithHostKeyPath(".ssh/id_ed25519"), + wish.WithIdleTimeout(5*time.Minute), wish.WithMiddleware( bubbletea.Middleware(teaHandler), activeterm.Middleware(), // Bubble Tea apps usually require a PTY. @@ -300,12 +299,10 @@ func initServer() { func main() { var isSsh bool + flag.BoolVar(&isSsh, "ssh", false, "Start an SSH server instead of the TUI application.") - flag.Parse() - fmt.Println(os.Environ()) - if isSsh { initServer() } else {