Simon Ser
|
1da3239345
|
widgets/terminal: fix damage race condition
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-19 11:37:38 -04:00 |
|
Drew DeVault
|
ca2cd00fe7
|
Fix scdoc & gofmt issues
|
2019-05-18 15:34:16 -04:00 |
|
Galen Abell
|
b8208509f4
|
Implement loading passwords from external commands
* Resolves #80
|
2019-05-18 15:31:38 -04:00 |
|
Drew DeVault
|
98da4c9509
|
s/aerc2/aerc/g
|
2019-05-17 20:57:10 -04:00 |
|
Drew DeVault
|
9c10a90cac
|
Document dependencies
|
2019-05-17 18:15:50 -04:00 |
|
Drew DeVault
|
7f540df29f
|
Install filters to /usr/share/aerc/filters
|
2019-05-17 13:51:18 -04:00 |
|
Drew DeVault
|
387426923b
|
Add install target to Makefile
|
2019-05-17 13:48:40 -04:00 |
|
Drew DeVault
|
fc719e47c4
|
Add man pages
|
2019-05-17 13:46:26 -04:00 |
|
Drew DeVault
|
fcdcd32de7
|
Remove unimplemented color configuration
Will probably end up doing this differently anyway
|
2019-05-17 11:52:38 -04:00 |
|
Drew DeVault
|
89ffd8653d
|
Implement ui.empty-message config option
Also removes some options that aren't going to be supported any time
soon.
|
2019-05-17 11:42:34 -04:00 |
|
Drew DeVault
|
2ffbe7a6cd
|
Remove debug logging
|
2019-05-17 11:28:32 -04:00 |
|
Drew DeVault
|
eec2bacede
|
Refactor STARTTLS to prevent downgrade attacks
|
2019-05-17 11:22:30 -04:00 |
|
Drew DeVault
|
23650ac0c7
|
Fix date header on outgoing emails
|
2019-05-17 11:05:21 -04:00 |
|
Drew DeVault
|
e436780b47
|
s/Sent/Message sent/
|
2019-05-16 23:57:38 -04:00 |
|
Reto Brunner
|
b275a394e2
|
Abort if accounts.conf is world readable
Fixes #32
|
2019-05-16 17:26:35 -04:00 |
|
Drew DeVault
|
fb3826cee5
|
Revert "Abort if accounts.conf is world readable"
This reverts commit a755608ef9 .
|
2019-05-16 16:40:29 -04:00 |
|
Drew DeVault
|
ff51625513
|
Revert "s/aerc.conf/address.conf/ in permission check"
This reverts commit 66ba099ca0 .
|
2019-05-16 16:40:06 -04:00 |
|
Cole Helbling
|
66ba099ca0
|
s/aerc.conf/address.conf/ in permission check
Small typo in a recent commit: should abort if accounts.conf is world
readable, not aerc.conf.
|
2019-05-16 16:28:49 -04:00 |
|
Drew DeVault
|
2dafe4b390
|
Fix issues with OOB uids
|
2019-05-16 15:28:33 -04:00 |
|
Reto Brunner
|
a755608ef9
|
Abort if accounts.conf is world readable
Fixes #32
|
2019-05-16 15:02:13 -04:00 |
|
Drew DeVault
|
ce0d0e887c
|
Improve reply-all recipient enumeration strategy
|
2019-05-16 14:16:45 -04:00 |
|
Drew DeVault
|
5701b6e949
|
Decode email when reading it for quoting
|
2019-05-16 14:09:57 -04:00 |
|
Drew DeVault
|
08855f23ec
|
Change default bindings for replies
|
2019-05-16 14:06:33 -04:00 |
|
Drew DeVault
|
7f97e0b605
|
Don't prefix Re: if prefix already present
|
2019-05-16 12:42:46 -04:00 |
|
Drew DeVault
|
e367469e1a
|
Change default reply keybindings
|
2019-05-16 12:42:25 -04:00 |
|
Drew DeVault
|
8be59cae6c
|
Implement :reply -q and :reply -a
|
2019-05-16 12:39:22 -04:00 |
|
Drew DeVault
|
475b697bdf
|
Implement (basic form) of :reply
|
2019-05-16 12:15:34 -04:00 |
|
Drew DeVault
|
2b3e123cb8
|
Let caller pass in custom headers to compose
|
2019-05-16 10:49:50 -04:00 |
|
Drew DeVault
|
b0bf09b98f
|
Copy sent emails to the Sent folder
Or rather, to a user-specified folder
|
2019-05-15 19:41:21 -04:00 |
|
Drew DeVault
|
52b318127f
|
Fix default bindings for quit and edit
|
2019-05-14 19:18:33 -04:00 |
|
Drew DeVault
|
67ddaea1b2
|
Move ! bind to [messages]
|
2019-05-14 17:06:31 -04:00 |
|
Drew DeVault
|
6c0359670c
|
Add (non-functional) reply commands to bindings
|
2019-05-14 17:04:21 -04:00 |
|
Drew DeVault
|
d3fe60a0fa
|
Add ! to default keybindings
|
2019-05-14 16:57:10 -04:00 |
|
Drew DeVault
|
2e5ae1946b
|
Implement move, mv commands
|
2019-05-14 16:55:50 -04:00 |
|
Drew DeVault
|
07138146a0
|
Force INBOX to be included in dirlist
|
2019-05-14 16:53:47 -04:00 |
|
Drew DeVault
|
db213fd0ae
|
Implement :copy (aka :cp)
|
2019-05-14 16:44:59 -04:00 |
|
Cole Helbling
|
b0b3287bbd
|
Implement abort command
This allows the user to close the compose tab without sending their
current composition.
|
2019-05-14 16:21:45 -04:00 |
|
Drew DeVault
|
2c486cb7f5
|
Update tab name as subject changes
Also moves truncation to the tab widget
|
2019-05-14 16:18:59 -04:00 |
|
Drew DeVault
|
065da5e372
|
Add $EDITOR, internal config for compose
|
2019-05-14 15:25:30 -04:00 |
|
Drew DeVault
|
9b2612eaf2
|
Add IRC link to README.md
|
2019-05-14 14:47:46 -04:00 |
|
Drew DeVault
|
254e6fe73f
|
Remove tab before going async
To prevent repeated attempts to send
|
2019-05-14 14:29:50 -04:00 |
|
Drew DeVault
|
f77d7c2c3d
|
Add distinct keybindings for each compose view
|
2019-05-14 14:27:28 -04:00 |
|
Drew DeVault
|
928ac1bcd9
|
Send emails asyncronously
|
2019-05-14 14:18:01 -04:00 |
|
Drew DeVault
|
29de3297a1
|
Implement sending emails /o/
|
2019-05-14 14:07:27 -04:00 |
|
Drew DeVault
|
6c36e04c1f
|
Add :send-message, prepares & writes email to /tmp
|
2019-05-14 13:07:48 -04:00 |
|
Drew DeVault
|
d5e82ecfe0
|
Remove leftover debug logging
|
2019-05-13 20:24:04 -04:00 |
|
Drew DeVault
|
3ace4ef732
|
Handle external message deletions
|
2019-05-13 20:23:23 -04:00 |
|
Drew DeVault
|
026e8a17ca
|
Handle incoming emails gracefully
|
2019-05-13 20:16:55 -04:00 |
|
Drew DeVault
|
bb46b2b7e1
|
Spec out review message screen
|
2019-05-13 16:53:02 -04:00 |
|
Drew DeVault
|
17bd2dc4db
|
Populate "From" header from config for new emails
|
2019-05-13 16:04:01 -04:00 |
|