-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathTODO
402 lines (291 loc) · 13.8 KB
/
TODO
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
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
-*- text -*-
TODO list for Mahogany
$Id$
*** please do not use this file anymore but add new bugs
to the bugtracker at http://mahogany.sourceforge.net/bugz/
just continue to remove bugs from this list as they are
fixed.
bad bugs:
- error messages from VFS when using HTML?
************ Small features before release
************ Translations
auto update the translations state
************ HeaderInfo reorganization
score/colour setting per message basis: grep for USE_HEADER_SCORE/COLOUR
************ bugs
************ optimize
HeaderInfo::GetFromOrTo() is called *all* the time and is awfully slow as it
uses Message::CompareAddresses() which calls rfc822_parse_adrlist() twice.
We *must* cache the result - the problem is how to update this cache?
************ possible cclient improvements (from reading PINE sources)
1. filtering speed improved a lot but we still do 2 trips to server because
we do "FETCH BODYSTRUCTURE" to just get "From" &c - this is not
needed as we have both of them anyhow already in HeaderInfo!
in fact, we should save ENVELOP when we get it in mail_fetch_overview!
2. mail_fetch_overview_x() could be made obsolete by using SET_IMAPEXTRAHEADERS
to tell cclient to fetch "Newsgroup" header too
3. must install SET_BLOCKNOTIFY handler (it's not clear when exactly is it
called and with which args, so have to test it first, but it might be a
good place to show the busy cursor and such...)
************ other changes
Very high priority:
1. ADB expansion: have a priority field for each address entry and:
----------------------------------------------------------------------------
I think of having 2 buttons in the address expansion dialog:
1. either
a) "Don't use this" -- sets the priority of the selected item to 0 (and
removes it from the listbox) so that it won't be shown ever again
or
b) "Delete this" -- simply deletes the selected item from the address
book
This is helpful to deal with obsolete addresses which are still in the
address book and get in the way when you expand them. It's a real
problem as it's a safe bet that when a person's address changes, the
new one will still match his/her name - just as the old one did - so
you'd get both of them each time you want to write to this "name".
2. have a "Show all" button which would also show the entries with 0
priority (it wouldn't be shown if no such entries were found)
----------------------------------------------------------------------------
High priority:
1. multi threading: it's impossible to have deterministic response time
with c-client otherwise (it uses blocking DNS lookup, mail_open may
take arbitrarily long time with slow server, ...)
Low priority:
1. add support for hooks instead of/expanding Python callbacks
************ THREADING PROBLEMS:
(I am keeping a list of threading problems here, which I will use for
keeping track of them. No need to pass it all through the
bugtracker. KB)
TRUE?
The threads in ASMailFolderCC don't really need to lock anything,
as the MailFolderCC.cpp code should take care of that itself.
*** VZ: this is my notepad, don't add anything here, it's only for myself
1. add listbox for ReplaceFromAdr in the options dlg
2. trailing ",0" in wxPTreeCtrl should probably be discarded?
3. Subfolders dialog must
a) disable itself until the folder retrieval is finished
b) show the progress dialog?
*** end of VZ section
*********************************************************************
*** BUGS
*********************************************************************
*SEV PF WHO DESCRIPTION
*********************************************************************
9 KB wxLayout:
- delete in empty line (works at home...)
- add blinking cursor
- add HTML import
- selection can get confused, when selecting with
pagedown beyond end of text
MessageView:
- undo
- should show cursor only on demand
- shouldn't preview messages unless configured to do so
(currently does preview on delete)
KB properties/access shows wrong help
KB wxMessageView: message/rfc822 display via MessageCC(string)
1 KB SendMessageCC should not use profile but get settings
told, so sending from queue can use original settings
from folder - at least don't use profile at sending
time, but before
9 VZ deleting groups from an ADB book messes up the book and
deletes other non-selected groups and entries, too
9 VZ/KB deleting entry from an ADB book can cause leak of
8 VZ ADB fails to expand "CRAC" to the entries of a group
with that name "CRAC", because another entry has
"crac" in its mail address. Should present the dialog
and offer a choice instead of just picking the first.
VZ: can't reproduce, any example?
8 VZ AdbImort dialog under Windows lacks UpdateUI somewhere
VZ templates need "First Name" field
VZ icons in icons-dialog are scaled --> ugly
VZ Clicking on "header dialog/More button" produces
"headers for folder "xpm" in the dialog when called
from toplevel window.
6 VZ All Folder create dialog pages have no HelpIDs set.
3 URL highlighting in headers is missing (e.g. X-Url)
------------------ not release critical:
Printing multiple messages should only use one config
dialog.
3 Add routine to write large headers.
6 gtk RR The force-reopen checkbox doesn't display its
tooltip. Does this work under MSW? A wxGTK bug?
VZ: yes, it's a wxGTK bug.
*********************************************************************
*** PROJECTS
*********************************************************************
* PRI WHO DESCRIPTION
*********************************************************************
8 filters import
7 VZ Config and wxWin support for different character sets
9 KB add xface button to composeview
configure "From" format
optional thin-cursor for message editor
5 highlight messages in listing in different colours
based on filters?
8 KB line-wrap in compose view before sending
Option to start up iconified.
7 KB write more on tutorial bit in Manual.lyx
4 VZ configure fields and their order when exporting with
AdbExportText
5 add more buttons to folderview, such as
next/previous/goto_next_unread/catch up
5 ? Add DND for MIME content from composeView/messageView
to file managers
6 KB completion of filtering rules/scoring code
6 KB implement listing of folders on remote
servers/subscription API
4 CB GPG/PGP support
4 improve key bindings for message editor, page up/down
whole page
2 VZ printing from ADB
3 VZ "GoTo" the entry should expand the branch which contains it
3 VZ LDIF format import
3 VZ UseCount field and sorting using it when there is more than one
match in AdbExpand()
from 32bitsonline review:
4 add option to hide messages marked as deleted
2 Add code to collect split-up mime content from
multiple messages and decode it.
4 reply unquoted, too
********************* possible additions to *************************
? idea after seeing a standalone program on freshmeat which does
this: what if we supported retrieving mail from Web based email
services (hotmail, yahoo, ...)?
NAMG...total crap, I'd like it to work though
*********************************************************************
*** TESTS
*********************************************************************
* PRI WHO DESCRIPTION
*********************************************************************
5 KB make MailFolder timer react to options change
5 KB for NNTP only count unread/new messages
7 test MH folders
9 KB Modify mail_fetch_overview() to work backwards.
9 KB Group-reply should use old To: field, too if not
identical to ourselves
5 KB properties dialog forgets IMAP mailbox name
5 KB check handling of missing hostnames,
5 KB network page
5 KB folder properties for advanced user
5 KB POP/IMAP server/localhost default values
3 VZ dialog to edit message headers in composeview,
5 KB if message is quoted-printable unquote it before
saving to file (how stupid!) same for encbinary
.... working on it right now
4 VZ test ADB importing more
5 KB Could you have a look at the setting of the default
columns sizes in wxFolderView.cpp, please?
VZ: I fixed a buglet in your code and it seems to work ok now.
Although it's not exactly elegant, it seems to do what you
want (personally, I would prefer if it inherited from the
root folder, why "New Mail"?). Please test it and tell me
more if it doesn't do what you want.
6 VZ folder properties assert when trying to create a
subfolder under INBOX - sort of fixed because folders can't be
created under INBOX (or any other non group folder) any more.
5 KB (optionally, but on by default) expunge deleted messages when
the folder is closed - as noticed in 32bitonline comparison,
otherwise it's a nuisance.
9 first time message retrieval can happen twice, so all
new messages appear twice in NewMail
- selections: do not exchange end/start while
selecting but only at end, so moving selection
across start behaves correctly
- selecting with keyboard uses mouse cursor as
starting position :-)
- selection with cursor a bit funny
KB:
I have started marking code with
//FIXME WXCOMPATIBILITY
if it is likely to depend on a post-release wxWindows version. Such
code should be protected with a suitable #ifdef which should be
removed later when wxWindows has been updated.
VZ: wouldn't an ifdef alone be enough (you can already grep for it...)?
*********************************************************************
*** GENERAL TODO
*********************************************************************
- support for working offline (will need wxWin API modifications?)
- subscription management for NNTP/IMAP/newsspool
- DND with KDE/Gnome filemanagers (now supported by wxGTK)
- there should be no [Expand] button in "Post news message" window,
or may be there should be [choose newsgroup] one instead.
- eventually add a Drafts folder and toggable Online/Offline mode
- TUTORIAL, how to keep multiple folders open
- more configurability for news
- do we really need to scan /var/lib/news/active?
- add address auto collection to compose view
- some html mail import/filtering of tags (easy, quick and dirty)
- Problem: mail uids and nums are long, WXARRAYINT.Count() is int,
content is int.
- do not redraw messageview if the message is the one currently being
shown (DONE, better:)
-- option to keep wxLayoutList around for reuse?
- when inserting filetype of unknown MIME type, prompt for it
- speed up copy mail to folder by cusing c-client functionality
- wxComposeView: if replying, only mark message as answered if reply
got sent --> difficult/ after ASMailFolder is there
- update c-client patch several changes in smpt.c/rfc822.c
- obtain a full IMAP tree as part of subscription management
- move to scandoc instead of doc++??
- add calendar tool/plugin
- if exists, use /etc/M.conf or /etc/Mahogany.conf instead of
prefix/Mahogany/M.conf.
- merge in settings from some remote location, possibly using ftp/http
- when inserting filetype of unknown MIME type, prompt for it,
possibly have a MIME types editor (similar to netscape's?)
- easy: add support for email-to-fax gateway at www.tpc.int and
their coverpage
- document scripts in extra/scripts
- somehow allow different configs for different hosts, maybe a
[M/HOSTNAME/Profiles] section overriding [M/Profiles]?
- toggle readonly status of mailboxes?
- ADB:
+ add "add current address to ADB" to compose view
+ should be updated when new entries are created (can't be deleted from
elsewhere for now...), add an event for this
- fix remaining BBDB/ADB problems (low priority)
- use wxURL to retrieve remote configuration files and import them,
maybe even retrieve files to use as folders or address books`?
- add "Send Digest"
- add "Send bug report"
- add !(command) expansion to wxConfig, i.e.
VAR=!(hostname):me would execute "hostname" and return "hydra.medieval.de:me"
- "Syntax highlighting" for replies
+ implement "internal clipboard" for
- cut-&-paste
- drag-&-drop
- UI things
+ we should somehow merge the toolbars into the main frame toolbar if it
shows the folder view, for example
+ session management --> should be done on wxWindows level
- news reader functions
+ get the list of newsgroup and allow to choose from them
+ "catch up" command
+ filtering of cross posted articles - would be very nice if this could be
also used to filter the copies of received mail messages (i.e. if a
message is sent to the mailing list and cc'd to me I'd like to read it
only once)
+ "killfile" features and a special "quick kill" (TM) feature which would kill
all articles of the author of the selected one
- Use configure to check for utilities, like help browser. "ReConfigure" menu.
- Edit-CC, CC messages to others but edit the individual copies before sending
- "Power Search": search all (even compressed?) folders for a keyword
and when found, open the folder and display the message.
- Export and import of addressbook in text format.
I'd like a feature to select fields from the addressbook and write
them, e.g. semicolon separated as a list to a file, so one could
parse them in scripts or whatever else.
- message integrity verification support
+ PGP
+ MD5 (see RFC-1544 for details)
- REMOTE-CONTROL: add support for popping window open and reading a folder of one's choice
(for being controlled from xbiff like programs)
idea: listen() on a socket and write socket number to a file ~/.M/socket
Relatively simple.
- LDAP -- possibly using python ldap module or OpenLDAP.
- automatic (but optional) mail compactification (to save disk space)?
-> this could be done using scripts?
- creation of separate index files for mail folders
- compressed mail folders / possibly together with index files
vi: set si ts=8 sw=8 noet nolist tw=80: