aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-05-19widgets/terminal: fix damage race conditionSimon Ser
Terminal.damage is accessed when drawing and when invalidating the widget. For this reason we need to protect it with a mutex. This seems to fix various damage issues I've been experiencing (where some regions of the terminal weren't correctly repainted). Race detector trace: Read at 0x00c0000c6670 by main goroutine: git.sr.ht/~sircmpwn/aerc/widgets.(*Terminal).Draw() /home/simon/src/aerc/widgets/terminal.go:292 +0x191 git.sr.ht/~sircmpwn/aerc/lib/ui.(*Grid).Draw() /home/simon/src/aerc/lib/ui/grid.go:117 +0x575 git.sr.ht/~sircmpwn/aerc/lib/ui.(*Grid).Draw() /home/simon/src/aerc/lib/ui/grid.go:117 +0x575 git.sr.ht/~sircmpwn/aerc/widgets.(*MessageViewer).Draw() /home/simon/src/aerc/widgets/msgviewer.go:231 +0x253 git.sr.ht/~sircmpwn/aerc/lib/ui.(*TabContent).Draw() /home/simon/src/aerc/lib/ui/tab.go:124 +0x12e git.sr.ht/~sircmpwn/aerc/lib/ui.(*Grid).Draw() /home/simon/src/aerc/lib/ui/grid.go:117 +0x575 git.sr.ht/~sircmpwn/aerc/widgets.(*Aerc).Draw() /home/simon/src/aerc/widgets/aerc.go:95 +0x5a git.sr.ht/~sircmpwn/aerc/lib/ui.(*UI).Tick() /home/simon/src/aerc/lib/ui/ui.go:93 +0x1dd main.main() /home/simon/src/aerc/aerc.go:105 +0x539 Previous write at 0x00c0000c6670 by goroutine 37: git.sr.ht/~sircmpwn/aerc/widgets.(*Terminal).onDamage-fm() /home/simon/src/aerc/widgets/terminal.go:429 +0x131 git.sr.ht/~sircmpwn/go-libvterm._go_handle_damage() /home/simon/go/pkg/mod/git.sr.ht/~sircmpwn/go-libvterm@v0.0.0-20190421201021-3184f6f13687/vterm.go:481 +0xf9 git.sr.ht/~sircmpwn/go-libvterm._cgoexpwrap_5e22200b58b7__go_handle_damage() _cgo_gotypes.go:731 +0x58 runtime.call32() /usr/lib/go/src/runtime/asm_amd64.s:519 +0x3a git.sr.ht/~sircmpwn/go-libvterm.(*VTerm).Write.func1() /home/simon/go/pkg/mod/git.sr.ht/~sircmpwn/go-libvterm@v0.0.0-20190421201021-3184f6f13687/vterm.go:329 +0x9d git.sr.ht/~sircmpwn/go-libvterm.(*VTerm).Write() /home/simon/go/pkg/mod/git.sr.ht/~sircmpwn/go-libvterm@v0.0.0-20190421201021-3184f6f13687/vterm.go:329 +0x7f git.sr.ht/~sircmpwn/aerc/widgets.NewTerminal.func1() /home/simon/src/aerc/widgets/terminal.go:131 +0x18c Goroutine 37 (running) created at: git.sr.ht/~sircmpwn/aerc/widgets.NewTerminal() /home/simon/src/aerc/widgets/terminal.go:121 +0x23f git.sr.ht/~sircmpwn/aerc/widgets.NewMessageViewer() /home/simon/src/aerc/widgets/msgviewer.go:147 +0xfbe git.sr.ht/~sircmpwn/aerc/commands/account.ViewMessage() /home/simon/src/aerc/commands/account/view-message.go:26 +0x4a4 git.sr.ht/~sircmpwn/aerc/commands.(*Commands).ExecuteCommand() /home/simon/src/aerc/commands/commands.go:47 +0x1f0 main.main.func1() /home/simon/src/aerc/aerc.go:76 +0x205 git.sr.ht/~sircmpwn/aerc/widgets.(*Aerc).BeginExCommand.func1() /home/simon/src/aerc/widgets/aerc.go:262 +0x89 git.sr.ht/~sircmpwn/aerc/widgets.(*ExLine).Event() /home/simon/src/aerc/widgets/exline.go:47 +0x222 git.sr.ht/~sircmpwn/aerc/widgets.(*Aerc).Event() /home/simon/src/aerc/widgets/aerc.go:133 +0x83c git.sr.ht/~sircmpwn/aerc/widgets.(*Aerc).simulate() /home/simon/src/aerc/widgets/aerc.go:126 +0x12a git.sr.ht/~sircmpwn/aerc/widgets.(*Aerc).Event() /home/simon/src/aerc/widgets/aerc.go:148 +0x766 git.sr.ht/~sircmpwn/aerc/lib/ui.(*UI).Tick() /home/simon/src/aerc/lib/ui/ui.go:86 +0x11b main.main() /home/simon/src/aerc/aerc.go:105 +0x539
2019-05-18Fix scdoc & gofmt issuesDrew DeVault
2019-05-18Implement loading passwords from external commandsGalen Abell
* Resolves #80
2019-05-17s/aerc2/aerc/gDrew DeVault
2019-05-17Document dependenciesDrew DeVault
2019-05-17Install filters to /usr/share/aerc/filtersDrew DeVault
2019-05-17Add install target to MakefileDrew DeVault
2019-05-17Add man pagesDrew DeVault
2019-05-17Remove unimplemented color configurationDrew DeVault
Will probably end up doing this differently anyway
2019-05-17Implement ui.empty-message config optionDrew DeVault
Also removes some options that aren't going to be supported any time soon.
2019-05-17Remove debug loggingDrew DeVault
2019-05-17Refactor STARTTLS to prevent downgrade attacksDrew DeVault
2019-05-17Fix date header on outgoing emailsDrew DeVault
2019-05-16s/Sent/Message sent/Drew DeVault
2019-05-16Abort if accounts.conf is world readableReto Brunner
Fixes #32
2019-05-16Revert "Abort if accounts.conf is world readable"Drew DeVault
This reverts commit a755608ef9d5893b68dc4c774bbda06503481552.
2019-05-16Revert "s/aerc.conf/address.conf/ in permission check"Drew DeVault
This reverts commit 66ba099ca0bfa83cd050050d92663ec45da20141.
2019-05-16s/aerc.conf/address.conf/ in permission checkCole Helbling
Small typo in a recent commit: should abort if accounts.conf is world readable, not aerc.conf.
2019-05-16Fix issues with OOB uidsDrew DeVault
2019-05-16Abort if accounts.conf is world readableReto Brunner
Fixes #32
2019-05-16Improve reply-all recipient enumeration strategyDrew DeVault
2019-05-16Decode email when reading it for quotingDrew DeVault
2019-05-16Change default bindings for repliesDrew DeVault
2019-05-16Don't prefix Re: if prefix already presentDrew DeVault
2019-05-16Change default reply keybindingsDrew DeVault
2019-05-16Implement :reply -q and :reply -aDrew DeVault
2019-05-16Implement (basic form) of :replyDrew DeVault
2019-05-16Let caller pass in custom headers to composeDrew DeVault
2019-05-15Copy sent emails to the Sent folderDrew DeVault
Or rather, to a user-specified folder
2019-05-14Fix default bindings for quit and editDrew DeVault
2019-05-14Move ! bind to [messages]Drew DeVault
2019-05-14Add (non-functional) reply commands to bindingsDrew DeVault
2019-05-14Add ! to default keybindingsDrew DeVault
2019-05-14Implement move, mv commandsDrew DeVault
2019-05-14Force INBOX to be included in dirlistDrew DeVault
2019-05-14Implement :copy (aka :cp)Drew DeVault
2019-05-14Implement abort commandCole Helbling
This allows the user to close the compose tab without sending their current composition.
2019-05-14Update tab name as subject changesDrew DeVault
Also moves truncation to the tab widget
2019-05-14Add $EDITOR, internal config for composeDrew DeVault
2019-05-14Add IRC link to README.mdDrew DeVault
2019-05-14Remove tab before going asyncDrew DeVault
To prevent repeated attempts to send
2019-05-14Add distinct keybindings for each compose viewDrew DeVault
2019-05-14Send emails asyncronouslyDrew DeVault
2019-05-14Implement sending emails /o/Drew DeVault
2019-05-14Add :send-message, prepares & writes email to /tmpDrew DeVault
2019-05-13Remove leftover debug loggingDrew DeVault
2019-05-13Handle external message deletionsDrew DeVault
2019-05-13Handle incoming emails gracefullyDrew DeVault
2019-05-13Spec out review message screenDrew DeVault
2019-05-13Populate "From" header from config for new emailsDrew DeVault