Commit graph

10 commits

Author SHA1 Message Date
Eric Gregory
cf36e062ec Fixed critical warning when loading new messages 2011-11-14 15:57:18 -08:00
Jim Nelson
f5b7d29a8c Better duplicate detection in local database
This incorporates much better duplicate detection in the local database, using both RFC-822 Message-ID as well as IMAP metadata (internaldate, RFC822 size) to determine if a message is already stored in the database.  Very useful when a message is stored in multiple folders, or an already-downloaded message is returned to a folder it originated in (i.e. INBOX).

Also some minor fixes to listing email by EmailIdentifier which save a roundtrip to the server for certain edge cases.
2011-11-14 12:09:52 -08:00
Eric Gregory
d8fe58bf46 Load more messages when scrolled to bottom. #3857 2011-11-11 13:36:25 -08:00
Jim Nelson
4cea0fb0d2 Removed messages are now removed from conversations: Closes #4347
Conversations now fully monitor the Folder for both additions and removals of messages.
This exposed a couple of bugs in the database code, which are fixed here as well.  I also
used this opportunity to clean up some of the internal Conversations code, simplifying Node
management.  #4333 will be a big boost here when implemented.
2011-11-10 13:20:48 -08:00
Jim Nelson
097a46d9ca Cleanup of some stuff detected after last commit.
Fixed a debug statement.  Spotted a bug in the normalization code when a new message is
detected in the folder.
2011-11-09 18:45:21 -08:00
Jim Nelson
3f6d8eac5a Moving away from positional addressing. Greater emphasis on EmailIdentifiers for
addressing.

Positional addressing is a nightmare for a lot of reasons, especially keeping positions
up-to-date as the Folder mutates.  Now, positions are returned with the email but for
advisory reasons only, and do not keep up-to-date.  It is expected that a client will use
positional addressing to "bootstrap" the application's data store, then use EmailIdentifier
addressing to traverse the Folder's contents.
2011-11-09 16:40:28 -08:00
Eric Gregory
e8acbcd1e9 Removes debug message; Closes #4327 2011-10-31 18:19:06 -07:00
Jim Nelson
cd0b926d57 Engine implementation of conversations: #3808
This introduces Geary.Conversations into the API, which scans a Folder and arranges the
messages into threaded conversations.
2011-10-21 17:04:33 -07:00
Jim Nelson
b50b769e77 Really fixes bug where FAST messages had wrong EmailLocations.
Prior commit did not completely fix the problem in the case where a remote folder open took
a long time.  This bulletproofs the solution, but does mean that there will be some
situations where FAST messages return with EmailLocations that radically change in the near
future.  As the contract allows for any changes whatsoever, this is acceptable.
2011-10-18 19:56:54 -07:00
Jim Nelson
ab69b20b1c Moved a lot of implementation-specific code into a new impl/ directory, keeping the api
directory concerned only with user-facing interfaces.  Also, cleaned up some of the public
interfaces in support modules to private.
2011-10-17 19:03:15 -07:00