Commit graph

47 commits

Author SHA1 Message Date
Carl Worth
4aff2ca55b emacs: Fix '+' and '-' in case of thread no longer matching current search.
Similar to the way thread-viewing was broken after a thread was
archived, (and recently fixed), tag manipulation has also been broken
when the thread no longer matches the current search.

This also means that the behavior of '+' and '-' are now different
than that of '*'. The '+' and '-' bindings now return to the previous
behavior old affecting all messages in the thread, (and not simply
those matching the search).

I actually prefer this behavior, since otherwise a '-' operation on a
thread might not actually remove the tag from the thread, (since it
could operate on a subset of the thread and not hit all messages with
the given tag).

So I'd now like to fix '*' to be consistent with '+' and '-', for
which we add an item to TODO.
2009-12-10 10:35:18 -08:00
Carl Worth
6f1173c0e4 TODO: Add idea for an --exclude-threads options to "notmuch search".
This would provide support for "muted" threads, as well as allowing for negative
filtering based on messages not matched by the original search, (but present in
threads that do have at least one matched message).
2009-12-09 14:03:03 -08:00
Carl Worth
cface5fda7 TODO: Note that we should report when two "copies" of a message differ.
Marten Veldthuis pointed out on the mailing list that intentional
spoofing is something that the user should be told about.
2009-12-08 22:12:43 -08:00
Carl Worth
9ea8bb11d4 TODO: Note about adding "notmuch search --matching"
This bug was recently discussed on the mailing list:

	id:878wdifu13.fsf@yoom.home.cworth.org

so note one idea for fixing it.
2009-12-04 14:52:32 -08:00
Carl Worth
48a1b8b006 TODO, emacs: Correct a few typos.
Sometime I'll stop misspelling things so much, honets.
2009-12-03 07:30:26 -08:00
Carl Worth
656709b5ed TODO: Add some tasks, delete some tasks.
A new item from IRC discussion, (speeding up "notmuch restore"), as
well as a bug I just hit myself, (content from citations is not being
indexed).

While here, notce that several items have recently been completed ('?'
now displays documentation, not function names; we have a search
binding from notmush-show-mode; and "notmuch new" responds to SIGINT
by flushing). Finally, the item regarding optimizing chunky searching
is irrelevant since we dropped chunky searching in favor of the much
better streamed searching.
2009-12-02 17:19:27 -08:00
Carl Worth
880b21a097 Makefile: Incorporate getline implementation into the build.
It's unconditional for a very short time. We expect to soon be
building it only if necessary.
2009-12-01 16:33:17 -08:00
Carl Worth
8b445212e4 xutil: Implement xstrndup without relying on strndup.
Since we need to do this for portability, (some systems don't have a
strndup function), we might as well do it unconditionally. There's
almost no disadvantage to doing so, and this has the advantages of not
requiring a configure-time check nor having two different
implementations, one of which would often be less tested.
2009-12-01 12:51:39 -08:00
Carl Worth
5b7b5ce1ef TODO: A read-only file in the mail store should be a warning, not an error.
It's a bug that processing currently stops when it hits a read-only
file. This is yet another case we'll want our test suite to cover.
2009-11-26 13:07:20 -08:00
Carl Worth
5c5727ab52 Testing. 2009-11-25 09:39:10 -08:00
Carl Worth
bc0a873b18 search : Extend "intial burst" optimization to return all results by chunks
This way, the user gets a steady (but bursty) stream of reults. We
double the chunk size each time since each successive chunk has to
redo work from all previous chunks.

Of course, the overall time is thereby slower, as the price we pay for
increased responsiveness. With a search returning about 17000 thread
results I measured a total time of 48.8 seconds before this change and
58.4 seconds afterwards.
2009-11-23 18:14:47 +01:00
Carl Worth
793cbf8049 Add rudimentary date-based search.
The rudimentary aspect here is that the date ranges are specified with
UNIX timestamp values (number of seconds since 1970-01-01 UTC). One
thing that can help here is using the date program to determins
timestamps, such as:

	$(date +%s -d 2009-10-01)..$(date +%s)

Long-term, we'll probably need to do our own query parsing to be able
to support directly-specified dates and also relative expressions like
"since:'2 months ago'".
2009-11-23 17:17:08 +01:00
Carl Worth
cfc671cc2e TODO: Yet another idea.
This is an idea I've had "forever" (and is commented as such in the
code already), but just came up on the mailing list. So note it here.
2009-11-23 06:28:41 +01:00
Carl Worth
369b44103d TODO: Add a couple of notes about things to do with/to Xapian.
I had these notes sitting in an uncommitted file that was cluttering
up my "git status" output. This cleans that up, and also shares the
ideas with the wider community.
2009-11-23 03:48:04 +01:00
Carl Worth
8aa339ac77 TODO: Capturing even more ideas.
Hopefully soon I can start implementing ideas rather than just writing
them down.
2009-11-23 03:34:24 +01:00
Carl Worth
fff24a2858 TODO: A couple of more ideas for improving the emacs interface.
We're not likely to run out of work to do anytime soon...
2009-11-23 03:04:16 +01:00
Carl Worth
8c09ca1e21 TODO: Add several ideas for improving the emacs interface.
These are from email messages on the notmuch mailing list and from
IRC conversations in #notmuch.
2009-11-23 02:57:39 +01:00
Carl Worth
cc2dc4896b TODO: Add a bunch of ideas that have been on my mind lately.
So get these out of my mind and out to the user community.
2009-11-23 00:29:00 +01:00
Carl Worth
637f99d8f3 Rename NOTMUCH_DATABASE_MODE_WRITABLE to NOTMUCH_DATABASE_MODE_READ_WRITE
And correspondingly, READONLY to READ_ONLY.
2009-11-21 22:10:18 +01:00
Carl Worth
b088370920 TODO: Add notes on portability, and remove completed tasks.
It's better to have things in TODO rather than mails with a todo
tag in my notmuch database.
2009-11-21 19:54:24 +01:00
Carl Worth
d746688beb TODO: Several updates. 2009-11-21 19:52:43 +01:00
Carl Worth
1728fe2a0a TODO: Add a couple of notes about fixing the completion script.
I'm throwing away a half-finished fix of this now, and just want to
ensure I don't forget about it.
2009-11-20 17:04:29 +01:00
Carl Worth
f0d4c3ace2 TODO: Add note on making "notmuch new" interruptible.
This note was described in the previous commit message, but mistakenly
not committed:

The note about making "notmuch setup" faster is now rewritten to apply
to "notmuch new" since "notmuch setup" no longer does any mail
indexing.
2009-11-12 09:35:03 -08:00
Carl Worth
dd8a08bec4 TODO: Update based on recent additions.
We recently added support for "notmuch reply" and also made (most of)
the hidden components self documenting.

The note about making "notmuch setup" faster is now rewritten to apply
to "notmuch new" since "notmuch setup" no longer does any mail
indexing.
2009-11-12 07:05:43 -08:00
Carl Worth
436b8a2fda TODO: Note that notmuch restore needs some progress indication.
A recent "notmuch restore" command took *forever* for me. Obviously,
we need to fix the underlying performance bug in Xapian, but in the
meantime, a progress indicator would help.
2009-11-09 13:42:30 -08:00
Carl Worth
2b576c62be notmuch.el: Add 'N' binding to mark message read and go to next.
The magic space bar is nice, but sometimes there's a message with a
long attachment that I just want to skip, but still consider the
message marked as read.
2009-11-05 04:55:51 -08:00
Carl Worth
e96e34c3f1 notmuch.el: Mark messages read when the (n)ext keybinding is pressed
Of course, technically, we're removing the "unread" tag, but you
get the idea. :-)
2009-11-03 11:42:04 -08:00
Carl Worth
f2a4c3e565 notmuch.el: Hide email headers by default.
The display of the header can be toggled with the 'h' key.
2009-11-02 22:24:35 -08:00
Carl Worth
4f974ac600 TODO: Add an idea from talking with keithp on the train.
I mentioned the read-only directory optimization to Keith, and he
liked it but wanted to be able to configure it to be fully automated.
2009-11-02 18:44:34 -08:00
Carl Worth
e5faf380d1 TODO: Organize tasks based on emacs interface, command-line tool, or library.
There are conceptually three different projects here, so it helps
to keep the tasks for each separated.
2009-11-02 18:02:38 -08:00
Carl Worth
ab2d904e06 notmuch.el: Hide thread IDs in notmuch-search mode.
One more baby step toward something that's pleasant to use.
2009-11-02 16:02:32 -08:00
Carl Worth
d4c4318fb9 notmuch.el: Implement visual feedback for add/remove tags.
There's no undo still, but at least you can see what you are doing
now.
2009-11-02 15:48:21 -08:00
Carl Worth
d6615b554e Print "part" markers for each MIME part (with Content-type).
This can allow for the client to hide undesired MIME parts
such as text/html.
2009-11-02 13:41:04 -08:00
Carl Worth
88ab96dc40 TODO: Add several items.
These are the things that are actively preventing me from being able
to use notmuch as an email-reading client.
2009-11-02 13:18:58 -08:00
Carl Worth
1a579dfe6b Add a simple manual page for notmuch.
By pulling content out of notmuch help, and also the messages
printed by "notmuch setup".
2009-11-02 07:18:31 -08:00
Carl Worth
2405b45a06 notmuch: Add a talloc context argument to each top-level command function.
I had noticed several times earlier that having a talloc context
passed in would make things more convenient. I'm not exercising
that convenience yet, but the context is there now, (and there's
one fewer item on our TODO list).
2009-10-31 16:40:47 -07:00
Carl Worth
c96021a477 Rename message_results/thread_results to messages/threads.
Shorter naming without being any less clear. A definite win.
2009-10-31 16:32:30 -07:00
Carl Worth
f365024166 TODO: Add man page and compiling a libnotmuch library to the list.
These are things we'll want done before any big announcement.
2009-10-30 12:02:11 -07:00
Carl Worth
bdde726388 TODO: Note that "notmuch show" exists now and list several new ideas.
The timestamp stuff we'll want to do soon, since it's a database
change, (though not a major one---at worst a handful of stale
timestamp documents would be left in the database).
2009-10-30 12:00:48 -07:00
Carl Worth
b39ebca8c9 TODO: Update now that full-text indexing is in.
The optimization idea removed here doesn't make sense anymore with
full-text indexing happening up front.
2009-10-28 16:52:45 -07:00
Carl Worth
df959868d9 TODO: A couple new items.
It's time to put full-text indexing back, and we might want to
experiment with optimization the original thread-stitching phase.
2009-10-28 07:28:01 -07:00
Carl Worth
f8a14b698f TODO: Remove a couple of since-completed items.
"notmuch tag" is implemented now and seems to work great (and fast).

As for the race condition, as noted in the description we're removing
it's not exposed directly in the API, but only in a client that
allows for looping over search results and removing the inbox tag
from all of them. But then, that's exactly what the "notmuch tag"
command does. So, as discussed, we've now documented that command
to highlight the issue. Problem resolved, (as well as we can).
2009-10-28 01:46:24 -07:00
Carl Worth
38bc6ba920 TODO: Several more ideas that have come to mind, that I don't want to forget.
Some of these are simple little code cleanups, but it's nice to write them
down rather than trying to remember them.
2009-10-27 11:35:30 -07:00
Carl Worth
f2bcc256fb TODO: More notes on archive-thread and race conditions.
Interstingly, it's our simple "notmuch" client that's going to be the
most difficult to fix. There's just not as much information preserved
in the textual representation from "notmuch search" as there is in the
objects returned from notmuch_query_search_threads.
2009-10-27 10:19:46 -07:00
Carl Worth
c690420076 TODO: Add "notmuch tag" and thoughts on avoiding races in archiving threads.
The archive-thread race condition doesn't even exist now because there's
no command for modifying tags at the level of a thread (just individual
messages).
2009-10-27 10:04:48 -07:00
Carl Worth
31db02a8c1 notmuch restore: Fix to remove all tags before adding tags.
This means that the restore operation will now properly pick up the
removal of tags indicated by the tag just not being present in the
dump file.

We added a few new public functions in order to support this:

	notmuch_message_freeze
	notmuch_message_remove_all_tags
	notmuch_message_thaw
2009-10-26 22:53:39 -07:00
Carl Worth
e8d8906d9c Add TODO file.
I've been maintaining this for a while now, so I might as well
start tracking it with revision control as well.
2009-10-25 23:18:05 -07:00