charmbracelet / pop

Send emails from your terminal 📬
MIT License
2.41k stars 51 forks source link

feat(deps): bump github.com/charmbracelet/bubbletea from 1.1.0 to 1.1.1 #101

Closed dependabot[bot] closed 2 months ago

dependabot[bot] commented 2 months ago

Bumps github.com/charmbracelet/bubbletea from 1.1.0 to 1.1.1.

Release notes

Sourced from github.com/charmbracelet/bubbletea's releases.

v1.1.1

Don't panic!

Panicking is a part of life…and a part of workin’ in Go. This release addresses two edge cases where a panic() could tank Bubble Tea and break your terminal:

Panics outside of Bubble Tea

If a panic occurs outside of Bubble Tea you can use Program.Kill to restore the terminal state before exiting:

func main() {
    p := tea.NewProgram(model{})
go func() {
    time.Sleep(3 * time.Second)
    defer p.Kill()
    panic("Urgh")
}()

if _, err := p.Run(); err != nil {
    log.Fatal(err)
}

}

Panics in Cmds

If a panic occurs in a Cmd Bubble Tea will now automatically restore the terminal to its natural state before exiting.

type model struct{}

// This command will totally panic.
func pancikyCmd() tea.Msg {
panic("Oh no! Jk.")
}

func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
switch msg := msg.(type) {
case tea.KeyMsg:
switch msg.String() {
case "enter":
// Panic time! But everything will be OK.
return m, pancikyCmd
}
}
return m, nil
}

... (truncated)

Commits
  • 6e71f52 fix: restore the terminal on kill
  • 0589921 fix: recover from panics within cmds
  • 7ca1b0b docs(featured): clean up in the wild list (#1130)
  • 6d43c27 chore(deps): bump github.com/charmbracelet/bubbles in /examples (#1131)
  • d5f1b71 docs(focus): add some GoDoc links and add note on focus support
  • See full diff in compare view


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
caarlos0 commented 2 months ago

@dependabot squash and merge