1. 19 Dec, 2014 1 commit
    • Jim Nelson's avatar
      Periodic database & attachments garbage collection: Bug #714134 · 23511dc3
      Jim Nelson authored
      See the ticket (comment #2) for more information on the thinking and
      strategy here, but in a nutshell this will remove from the Geary
      database all emails no longer accessible via any folder and not seen
      on the server in over 30 days.  It also deletes those messages
      attachment(s) and removes any empty directories in the attachment/
      directory to prevent clutter.  If enough messages are garbage
      collected, Geary will vacuum the database at startup, which will
      lower its disk footprint and reduce fragmentation, potentially
      increasing performance.
      23511dc3
  2. 16 Dec, 2014 1 commit
    • Jim Nelson's avatar
      Improved search experience: Bug #720361 · 533ab75e
      Jim Nelson authored
      This introduces a new full-text search algorithm that attempts to
      curb the effects of overstemming in the Porter Snowball stemmer.
      The FTS table will be regenerated with this update.
      
      The crux of this new algorithm is a configurable heuristic that
      reduces stemmed matching.  The configuration is not available via the
      UI (I suspect it will only confuse users) but can be changed by power
      users via GSettings.  More information is available at:
      
      https://wiki.gnome.org/Apps/Geary/FullTextSearchStrategy
      533ab75e
  3. 14 Nov, 2014 1 commit
    • Jim Nelson's avatar
      Move UID/UIDVALIDITY/SeqNum from signed 32 -> unsigned 32: Bug #737642 · da2efeab
      Jim Nelson authored
      Prior code inadvertantly limited UID and UIDVALIDITY to signed, not
      unsigned, 32-bit integers.  I've also added stronger checking of
      numbers received off the wire, both that they're truly numeric
      according to RFC and that they're within boundaries, if specified.
      
      This also enforces bit width of integers from IMAP string parameters
      to avoid similar problems in the future.
      da2efeab
  4. 04 Nov, 2014 1 commit
    • mar-v-in's avatar
      Specify "Reply-To:" in composer fields: Bug #714588 · 108d0abe
      mar-v-in authored
      This also closes bug #713808, as lesser-used fields (Reply-To, Bcc)
      are hidden unless the user expands the composer to show them.  Right
      now that is an option in the composer's toolbar menu; that may change
      in the future if we can find the right place to put the widgetry.
      108d0abe
  5. 24 Oct, 2014 1 commit
  6. 10 Oct, 2014 1 commit
    • Jim Nelson's avatar
      Support multiple Message-IDs with In-Reply-To · 15cac889
      Jim Nelson authored
      Prior RFC822 code treated In-Reply-To as only capable of listing a
      single Message-ID parent.  The spec does allow for multiple parent
      messages, so this change reflects that.
      
      This potentially can also fix bugs where messages were not included
      in conversations, but this would be an edge case, as that would
      require the MUA not listing the In-Reply-To Message-IDs in the
      References list, which Geary does properly parse.
      15cac889
  7. 29 Aug, 2014 1 commit
    • Jim Nelson's avatar
      Present user with dialog when TLS cert warnings detected: Bug #713247 · 80912869
      Jim Nelson authored
      When a TLS certificate warning is detected, the user will now be
      presented with a warning dialog presenting them with three options:
      Trust This Server, Always Trust This Server, and Don't Trust This
      Server (the default).  The user must select one of the first two
      buttons for Geary to continue connecting to the server, otherwise it
      will close the Account object for the duration of the application
      session.
      
      This patch introduces a dependency on gcr-3, which is used to pin TLS
      certificates (i.e. persist the user's choice of ignoring the TLS
      warnings).
      80912869
  8. 21 Aug, 2014 1 commit
  9. 12 Aug, 2014 1 commit
    • Jim Nelson's avatar
      Show attachments lacking a Content-Disposition: Bug #713830 · a9db6e8c
      Jim Nelson authored
      Attachments without Content-Disposition are now generated and shown
      in the client.  This requires a database upgrade as well as rescanning
      all messages to generate the previously missing attachments.
      
      In addition, this upgrade now stores the attachments' Content-ID in
      the database.  This makes it much easier for the client to associate
      a particular MIME section in the RFC822 message with an attachment in
      the database and on disk.
      a9db6e8c
  10. 18 Jun, 2014 1 commit
  11. 29 May, 2014 1 commit
  12. 28 May, 2014 1 commit
    • Jim Nelson's avatar
      Configure saving drafts on/off per account: Bug #726728 · 9741f648
      Jim Nelson authored
      Saving drafts may not be configured per-account.  This is to assist
      users who (a) are using Gmail clients that include trashed messages
      in their conversations (which is where Geary's drafts wind up when
      discarded) or (b) Gmail users where, for unexplained reasons, Geary
      can't expunge their draft messages (bug #729136).
      9741f648
  13. 27 May, 2014 1 commit
  14. 21 May, 2014 1 commit
    • Jim Nelson's avatar
      Use new ReetrantProgressMonitor for folder open: Refs bug #730483 · 3a157b42
      Jim Nelson authored
      open_remote_async() is reetrant and ProgressMonitor is not, and my
      previous attempts to work around this impedence mismatch are obviously
      not working.  This introduces a reentrant progress monitor for folder
      opens only, although it might be useful elsewhere.
      3a157b42
  15. 20 May, 2014 1 commit
  16. 14 May, 2014 1 commit
  17. 04 Apr, 2014 1 commit
    • Charles Lindsay's avatar
      Don't save draft when UIDPLUS is not present: Closes bgo#713983 · 730b33d8
      Charles Lindsay authored
      Without UIDPLUS Geary currently cannot determine the UID of the drafts
      it saves to the server, and so it cannot delete them when the draft is
      saved again or the message is sent.  This patch simply checks if
      UIDPLUS is supported, and if not, does not save the draft to the
      server.
      
      Although a string is included in this patch, it's a duplicate of an
      existing string and so technically does not break string freeze.
      730b33d8
  18. 24 Mar, 2014 1 commit
  19. 12 Mar, 2014 1 commit
  20. 05 Mar, 2014 1 commit
  21. 27 Feb, 2014 1 commit
  22. 25 Feb, 2014 1 commit
    • Charles Lindsay's avatar
      Add folder progress monitor, hook it up to spinner · ab4de5e3
      Charles Lindsay authored
      This adds a progress monitor to the folder open operation.  The spinner
      in the status bar is hooked up to it only for the currently selected
      folder, so that background updates don't trigger the spinner.
      
      Closes: bgo #713703
      ab4de5e3
  23. 11 Feb, 2014 1 commit
    • Charles Lindsay's avatar
      Better special folder detection/creation · 45527579
      Charles Lindsay authored
      This looks for some translatable common names for special folders like
      Sent Mail, Drafts, Spam and Trash, instead of only relying on the
      server's special-use or xlist extensions.  If the server doesn't report
      special-use/xlist, we look for common folder names, creating them on the
      server if necessary, so we always have folders necessary for tasks like
      saving drafts or sent mail.
      
      Closes: bgo #713492
      45527579
  24. 05 Feb, 2014 1 commit
  25. 30 Jan, 2014 2 commits
    • Charles Lindsay's avatar
      Add Geary.iterate to replace Collection.SingleItem · 3af6837e
      Charles Lindsay authored
      This adds a way to turn lists of items into a Geary.Iterable, which then
      allows you to dump results into any kind of container.  This removes the
      Collection.SingleItem class, which was no longer useful.
      
      Closes: bgo #723208
      3af6837e
    • Charles Lindsay's avatar
      Add option to save sent mail · cce04b81
      Charles Lindsay authored
      This adds the ability for Geary to push sent mail up to the account's
      Sent Mail folder (if available).  There's an accompanying account option
      that defaults to on (meaning: push sent mail).
      
      The current implementation will leave messages in the Outbox (though
      they won't be sent again) if they fail to be pushed to Sent Mail.  This
      isn't the best solution, but it at least means you have a way of seeing
      the problem and hopefully copying the data elsewhere manually if you
      need to save it.
      
      Note that Geary might not always recognize an account's Sent Mail
      folder.  This is the case for any "Other" accounts that don't support
      the "special use" or "xlist" IMAP extensions.  In this case, Geary will
      either throw an error and leave messages in the Outbox, or erase the
      message from the Outbox when it's sent, depending on the value of the
      account's save sent mail option.  Better support for detecting the Sent
      Mail folder in every case is coming soon.
      
      Closes: bgo #713263
      cce04b81
  26. 18 Jan, 2014 1 commit
    • Jim Nelson's avatar
      Load local msgs and display new msgs more quickly: Closes bgo#713432 · af10a76b
      Jim Nelson authored
      This patch is a grab-bag of fixes to get mail onto the screen faster
      and report new mail waiting on the server more quickly.
      
      In a nutshell:
        * Adds a NO_DELAY flag to Folder.open_async which indicates that
          background remote connections should initiate ASAP rather than
          wait for a local request that requires remote information.
        * Reduce creation of ImapDB.Folders (which, previously, were
          generated as though "cheap"), which means caching server
          information.  ImapDB now relies on ImapEngine to refresh that
          information on its own.
        * The background search table update is delayed to allow startup
          database tasks priority.
        * Rather than delay selection of a folder 100ms to prevent the user
          from holding down a key or clicking madly, the initial selection
          goes right through, but subsequent ones are delayed.  This may
          also help resolve bug #713468.
        * And the big one: ImapEngine.Account doesn't load local and remote
          folders in parallel at startup, but rather local first, reports
          them to the user, and then loads the remote and pairs the two.
          This gets the UI up and going much more quickly.
      af10a76b
  27. 07 Jan, 2014 1 commit
    • Charles Lindsay's avatar
      Add separate trash/archive/delete buttons · 968743ac
      Charles Lindsay authored
      Archive shows up as its own button for any account that supports
      archiving (currently only Gmail).  Trash or delete shows up as one
      button, depending on what the folder supports and whether you've got the
      shift key held down.  Future work will extend supporting archive to
      other account types and getting the trash special folder recognized in
      more accounts.
      
      Closes: bgo #714212
      968743ac
  28. 17 Dec, 2013 1 commit
  29. 12 Dec, 2013 1 commit
    • Charles Lindsay's avatar
      Add API to make juggling Gee collections easier · 62af03e5
      Charles Lindsay authored
      This adds a simple Iterable class that lets us take advantage of Gee's
      Traversable interface much more easily.  Traversable is great, but
      every operation returns an Iterator, which makes it awkward to use
      outside of Traversable.  The new Iterable wraps the Traversable
      Iterators and methods so you can directly use the result.  It also gives
      us a convenient point to add convenience methods in the future.
      
      I've gone through a few arbitrary places in the code to see how the
      class might be used, and changed some obvious places to (hopefully) the
      equivalent code using the new Iterable class.  More work could be done
      here, but the real benefit is simply having the Iterable class around to
      be able to use in new code.
      62af03e5
  30. 16 Nov, 2013 1 commit
    • Jim Nelson's avatar
      Convert all MIME handling to Engine classes: Closes #6530 · e29a9c80
      Jim Nelson authored
      We've had numerous bugs due to improper MIME comparisons and dealing
      with Content-Type and Content-Disposition (or their lack of presence
      in a message).  Now the Engine offers MIME classes that better deal
      with these issues without exporting the GMime structures, which
      are not as easy to manage and don't offer some of the things that
      have bitten us in the past (such as case-insensitive comparisons).
      e29a9c80
  31. 01 Oct, 2013 1 commit
  32. 26 Sep, 2013 1 commit
  33. 25 Sep, 2013 1 commit
  34. 24 Sep, 2013 1 commit
  35. 17 Sep, 2013 4 commits
    • Charles Lindsay's avatar
      Revamp status bar · 542b2ff9
      Charles Lindsay authored
      * Increase the size of the spinner; fix #7184
      * In the event of an error sending a message, display text in the status
        bar indicating as such (and display a notification too); fix #7481
      * Display a status bar message and spin the spinner when sending;
        fix #4629
      * Re-add the sound played when a message is sent; fix #5429
      542b2ff9
    • Jim Nelson's avatar
      Support Outlook.com IMAP: Closes #7479 · c8b4f9e0
      Jim Nelson authored
      This takes advantage of Outlook.com's new IMAP support, meaning
      Geary works with Outlook.com, Hotmail, and Live.com users.
      
      Because Outlook.com doesn't support UIDPLUS, some features
      (in particular, draft auto-save) is unavailable, as is the
      ability to use its Archive folder directly.
      
      This patch fixes a couple of bugs that occur when a server doesn't
      support UIDPLUS.  Also fixes a use case with UID increment/decrement
      that caused a flag watcher bug due to ImapDB.Folder always
      returning the same email if only one was present in the folder.
      c8b4f9e0
    • Eric Gregory's avatar
    • Eric Gregory's avatar
      3321a6dc
  36. 14 Sep, 2013 1 commit