about summary refs log tree commit diff stats
path: root/worker/types
Commit message (Collapse)AuthorAgeFilesLines
* Add support for :rmdirARaspiK2020-08-191-0/+6
| | | | | | | | | | | | | | | | | | | | | The `:rmdir` command removes the current directory (`-f` is required if the directory is not empty). This is not supported on the notmuch backend. An issue with the maildir backend is that some sync programs (e.g. offlineimap) may recover the directory after it is deleted. They need to specifically be configured to accept deletions, or special commands need to be executed (e.g. `offlineimap --delete-folder`) to properly delete folders. A danger of using this on the IMAP backend is that it is possible for a new message to be added to the directory and for aerc to not show it immediately (due to a slow connection) - using `:rmdir` at this moment (with `-f` if the directory already contains messages) would delete the directory and the new message that just arrived (and all other contents). This is documented in aerc(1) so that users are aware of possible risks.
* run go fmtReto Brunner2020-07-171-2/+2
|
* Add additional flagging functionalityARaspiK2020-07-081-3/+4
| | | | | | | | | | | | | | More mail flags can now be set, unset, and toggled, not just the read/seen flag. This functionality is implemented with a new `:flag` and `:unflag` command, which are extensions to the matching `:read` and `:unread` commands, adding support for different flags. In fact, the `read`/`unread` commands are now recognized aliases to `flag`/`unflag`. The new commands are also well documented in aerc(1). The change mostly extends the previous read/unread setting functionality by adding a selection for the flag to change.
* Set AnsweredFlag on successful replySrivathsan Murali2020-05-251-0/+6
|
* imap: Remove FetchMessageBodyPart.{Encoding,Charset}Reto Brunner2020-05-161-4/+2
| | | | Fixes https://todo.sr.ht/~sircmpwn/aerc2/352 exactly as suggested by emersion.
* store.FetchFull: Change callback type to expose entire messageBen Fiedler2020-05-011-0/+1
| | | | | This is a prerequisite for allowing the FetchFull message to return both the message content and the message headers.
* Mark sent messages as "seen" in maildirGalen Abell2020-03-031-1/+1
| | | | | | | - Add maildir flags to complement a messages imap flags - Set the "seen" flag on sent messages when using the maildir backend - Cleanup AppendMessage interface to use models.Flag for both IMAP and maildir
* remove the dirInfoUpdateRequest functionalityReto Brunner2020-02-291-7/+0
| | | | | The notmuch worker followed suit in handling the dirInfo submission manually. That removes the last user so we might as well remove the functionality.
* Request DirInfo whenever the unread count may have changedReto Brunner2020-02-161-0/+7
| | | | | | | Actions such as read / unread or the addition of new messages do change the read/unread/recent count. Hence we request an update from the workers. Workers going over the network should probably cache the information and invalidate it only if necessary
* FetchBodyParts: decode source in the workersReto Brunner2020-01-051-2/+4
| | | | | | | Previously the workers returned a mixture of decoded / encoded parts. This lead to a whole bunch of issues. This commit changes the msgviewer and the commands to assume parts to already be decoded
* add LabelList eventReto Brunner2019-12-211-0/+5
|
* Add sorting functionalityJeffas2019-09-202-0/+20
| | | | | | | | There is a command and config option. The criteria are a list of the sort criterion and each can be individually reversed. This only includes support for sorting in the maildir backend currently. The other backends are not supported in this patch.
* Add modify-labels commandReto Brunner2019-09-121-0/+7
| | | | | This adds the event type as well as the command implementation, but no backend supports it yet.
* extract search criteria parsing into the backendsReto Brunner2019-08-291-3/+1
|
* #190 Handle gmail duplicate folderDaniel Bridges2019-07-111-0/+1
|
* Use []uint32 instead of imap.SeqSetBen Burwell2019-07-081-5/+5
| | | | | | | | A sequence-set is an IMAP-specific implementation detail. Throughout the UI, aerc simply operates using lists of opaque identifiers. In order to loosen the coupling between the UI and IMAP in particular, replace most usages of imap.SeqSet with []uint32, leaving the translation to a SeqSet to the IMAP backend as needed.
* Factor UI models out of the worker message packageBen Burwell2019-07-081-19/+6
| | | | | | | | Before, the information needed to display different parts of the UI was tightly coupled to the specific messages being sent back and forth to the backend worker. Separating out a models package allows us to be more specific about exactly what a backend is able to and required to provide for the UI.
* worker/imap: implement searchDrew DeVault2019-06-241-0/+10
|
* Add :read and :unread commandsDrew DeVault2019-06-091-0/+7
|
* Add archive commandRobert Günzler2019-06-091-0/+5
| | | | | | | | | | | | | | | Adds an archive command that moves the current message into the folder specified in the account config entry. Supports three layouts at this point: - flat: puts all messages next to each other - year: creates a folder per year - month: same as above, plus folders per month This also adds a "-p" argument to "cp" and "mv" that works like "--parents" on mkdir(1). We use this to auto-create the directories for the archive layout.
* implements ability to view headers in message viewYash Srivastav2019-06-071-0/+2
|
* Remove worker callbacks when Done is receivedDrew DeVault2019-06-022-5/+13
|
* Flesh out multipart switcherDrew DeVault2019-05-201-1/+1
|
* Verify TLS certificatesDrew DeVault2019-05-201-11/+0
| | | | | | I was partway done implementing a UI for users to approve untrusted certs with, but let's just make them configure their servers right instead.
* worker/types/worker: remove mutexSimon Ser2019-05-191-36/+21
| | | | | | | | | | Worker.callbacks contains two types of callbacks: some are action callbacks, some are message callbacks. Each of those is access from one side of the communication channel (UI goroutine vs. worker goroutine). Instead of using a channel, we can use two different maps for each kind. This simplifies the code and also ensures we don't call an action callback instead of a message callback (or the other way around).
* worker/types/worker: make ID allocation atomicSimon Ser2019-05-192-10/+11
| | | | | | | | Message IDs are allocated for both messages from UI to workers and the other way around. Hence, the global nextId variable is accessed from multiple goroutines. Instead, use atomic to access the global counter.
* worker/types/worker: set ID before sending messageSimon Ser2019-05-191-3/+9
| | | | | The previous code set the message ID after sending it, which could result in the receiver reading the ID before it's set.
* s/aerc2/aerc/gDrew DeVault2019-05-171-1/+1
|
* Copy sent emails to the Sent folderDrew DeVault2019-05-152-4/+32
| | | | Or rather, to a user-specified folder
* Implement move, mv commandsDrew DeVault2019-05-141-6/+0
|
* Implement :copy (aka :cp)Drew DeVault2019-05-141-0/+12
|
* worker/types: fix Worker.Callbacks race conditionSimon Ser2019-04-271-15/+41
| | | | | | | | | | | | | Worker.Process* functions were called in different goroutines than Worker.Post*. Protect the map with a mutex. Also make the map unexported to prevent external unprotected accesses. Worker.Process* functions used to delete items from the map. However they didn't delete the element they retrieved: callbacks[msg.InResponseTo()] was read while callbacks[msg] was deleted. I'm not sure I understand why. I tried to delete the element that was accessed - but this broke everything (UI froze at "Connecting..."). I don't believe any elements were actually removed from the map, so the new code just doesn't remove anything.
* Rename FetchMessageBodies to FetchFullMessagesDrew DeVault2019-03-311-2/+2
|
* Don't parse mail in worker; send a reader insteadDrew DeVault2019-03-311-4/+3
|
* Pull BodyStructure up from IMAP workerDrew DeVault2019-03-311-5/+19
|
* Add body fetching support codeDrew DeVault2019-03-291-2/+7
|
* Implement :delete-messageDrew DeVault2019-03-201-0/+10
|
* Implement message store side of message fetchingDrew DeVault2019-03-141-2/+2
|
* Fetch valid UIDs from server after opening dirDrew DeVault2019-03-101-0/+33
|
* Add name to DirectoryInfo messagesDrew DeVault2019-01-131-1/+2
|
* Issue IMAP SELECT commandDrew DeVault2019-01-131-0/+13
|
* Refactoring; consume listing responseDrew DeVault2018-02-011-11/+7
|
* Implement (most of) mailbox listingDrew DeVault2018-02-011-0/+14
|
* Improve loggingDrew DeVault2018-02-011-6/+20
|
* Reduce boilerplate in worker/UIDrew DeVault2018-02-011-0/+59
|
* Add certificate approval flowDrew DeVault2018-01-311-8/+18
|
* Connect to IMAP server, login and idleemersion2018-01-141-0/+2
|
* Move worker into account tabDrew DeVault2018-01-111-1/+1
|
* Initial pass on worker/UI message passingDrew DeVault2018-01-091-0/+55
>
dcf7436e ^
0060093e ^

a4ef18b1 ^








a4ef18b1 ^

0060093e ^
dcf7436e ^
e853b94e ^
dcf7436e ^

a4ef18b1 ^
f02842a9 ^



0060093e ^
a4ef18b1 ^
0060093e ^
a4ef18b1 ^



0060093e ^
a4ef18b1 ^

0060093e ^


dcf7436e ^







0060093e ^
dcf7436e ^





979403c6 ^





1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204