aboutsummaryrefslogtreecommitdiff
path: root/widgets/account.go
AgeCommit message (Collapse)Author
2019-04-27lib/ui: introduce InvalidatableSimon Ser
Many Drawable implementations have their own Invalidate and OnInvalidate functions, with an unexported onInvalidate field. However OnInvalidate and Invalidate are usually not called in the same goroutine. This results in a race on this field, e.g.: Read at 0x00c000094748 by goroutine 7: git.sr.ht/~sircmpwn/aerc2/widgets.NewDirectoryList.func1() /home/simon/src/aerc2/widgets/dirlist.go:85 +0x56 git.sr.ht/~sircmpwn/aerc2/widgets.(*Spinner).Start.func1() /home/simon/src/aerc2/widgets/spinner.go:93 +0x1bb Previous write at 0x00c000094748 by main goroutine: [failed to restore the stack] Goroutine 7 (running) created at: git.sr.ht/~sircmpwn/aerc2/widgets.(*Spinner).Start() /home/simon/src/aerc2/widgets/spinner.go:46 +0x8f git.sr.ht/~sircmpwn/aerc2/widgets.NewDirectoryList() /home/simon/src/aerc2/widgets/dirlist.go:37 +0x286 git.sr.ht/~sircmpwn/aerc2/widgets.NewAccountView() /home/simon/src/aerc2/widgets/account.go:50 +0x5ca git.sr.ht/~sircmpwn/aerc2/widgets.NewAerc() /home/simon/src/aerc2/widgets/aerc.go:60 +0x800 main.main() /home/simon/src/aerc2/aerc.go:65 +0x33e To fix this, introduce a new type, Invalidatable, which protects the field. Unfortunately the Drawable must be passed to the callback function in Invalidate, so we still need to re-implement this in each Invalidatable user.
2019-03-31Make message viewer real, part twoDrew DeVault
2019-03-30Correct color of error messagesDrew DeVault
2019-03-29Add body fetching support codeDrew DeVault
2019-03-20Implement :delete-messageDrew DeVault
2019-03-17Move exline handling up to aerc, add :termDrew DeVault
2019-03-17Add basic terminal widgetDrew DeVault
2019-03-15Move MessageStore into its own fileDrew DeVault
2019-03-15Implement default in accounts.confDrew DeVault
2019-03-15Implement sidebar-width config optionDrew DeVault
2019-03-15Rig up key bindingsDrew DeVault
2019-03-14Implement :{next,prev}-messageDrew DeVault
2019-03-14Use cached message store when re-opening dirsDrew DeVault
2019-03-14Implement :cd commandDrew DeVault
2019-03-14Implement message store side of message fetchingDrew DeVault
2019-03-14Lay out message list widget basic designDrew DeVault
2019-03-10Fetch valid UIDs from server after opening dirDrew DeVault
2019-03-10Improve error reportingDrew DeVault
2019-03-10Flesh out command parsing & handlingDrew DeVault
2019-03-10Start building out command subsystemDrew DeVault
2019-02-10Fix buildElias Naur
2019-01-20Implement Container interface in widgets/Drew DeVault
2019-01-14Send commands up to the top-level aerc widgetDrew DeVault
2019-01-13Handle errors from worker initializationDrew DeVault
2019-01-13Swap message list placeholder for spinnerDrew DeVault
2019-01-13Handle connection errors properlyDrew DeVault
2019-01-13Simplify approach to directory listDrew DeVault
This doesn't really need to be abstract tbh
2019-01-13Filter dirlist according to user configDrew DeVault
2019-01-13Add directory list widgetDrew DeVault
2019-01-13Move ex line into accountDrew DeVault
2019-01-13Move status line into account, update behaviorDrew DeVault
2019-01-13Initialize worker in account widgetDrew DeVault
2019-01-13Add basic account widget, populate real acct viewsDrew DeVault