1. 05 Feb, 2014 2 commits
  2. 04 Feb, 2014 3 commits
  3. 03 Feb, 2014 7 commits
    • Jim Nelson's avatar
      Reduce local delays when new message arrives · 6833f1ea
      Jim Nelson authored
      In particular, bug #713493 reports this, although this patch doesn't
      appear to solve the problem entirely.  However, I have spotted
      situations in the past where the Append replay operation caused local
      operations to hang.  This is because Append was being treated as a
      local operation when, in fact, it's first call is back to the server
      to fetch UIDs of the new messages.  Hence, it should be treated as
      a remote operation so local operations can run without delay.
      6833f1ea
    • Jim Nelson's avatar
      Allow flag watching while synchronizing folder in background · a9185461
      Jim Nelson authored
      Previously, synchronizing folders caused a jump in CPU, so work was
      done to minimize activity.  Optimizations to folder normalization
      has reduced the CPU load, so it's okay now to allow flag watching
      while the background folder is open.
      
      This is not a substitute for an architected solution: periodic
      flag synchronization with folders, not merely when changes in contents
      (additions/removals) are detected, but this helps some, especially
      with high-traffic folders.
      a9185461
    • Jim Nelson's avatar
      Further work fixing connection reestablishment logic · 70aafd75
      Jim Nelson authored
      More testing of previous changes located two other problems that
      this patch fixes.
      
      First, if a connection reestablishment was attempted but the reconnect
      failed initially (common if the server is simply unavailable, i.e.
      recent Gmail outage) the reestablishment logic halts.  This patch
      forces another attempt.
      
      Second, the back-off delay that used to be present in the
      conversation monitor (when it handled reestablishment) was missing
      in the new code.  This adds it back.
      70aafd75
    • Jim Nelson's avatar
      Fix bug in reestablishment logic intro'd in commit 86f1854e · ab7ede3e
      Jim Nelson authored
      One bug in that commit was that only one of two the two conditionals
      for entering connection reestablishment was considered when
      determining if the Folder should close.  This change now uses both
      conditionals.  Without this, it's possible for the remote to fail
      to open due to connection error and the Folder to remain open although
      reestablishment doesn't occur because there's no remote folder to
      establish with.
      ab7ede3e
    • Jim Nelson's avatar
      Better IDLE state handling · 182fb0a9
      Jim Nelson authored
      OpenMailbox.org doesn't complete transactions when the IDLE state
      is entered while commands are outstanding.  One thing I've considered
      for a while is only issuing IDLE when no comands are outstanding,
      as in some situations the connection state "thrashes" if commands
      come in back-to-back.  This commit does just that, only entering
      IDLE when no commands are outstanding.
      182fb0a9
    • Jim Nelson's avatar
      Add LIST RETURN functionality · 7f535b02
      Jim Nelson authored
      SPECIAL-USE does not have to return special-use flags, but the
      LIST RETURN syntax can force it, which we want.
      7f535b02
    • Yosef Or Boczko's avatar
  4. 31 Jan, 2014 1 commit
  5. 30 Jan, 2014 3 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
    • Wolfgang Steitz's avatar
      Fix unstarred icon's interior from selection color: Closes bgo#714426 · 0dcf353a
      Wolfgang Steitz authored
      This deals with both the star and unread icon, so both are good now.
      Need to clean up the rest of the conversation list's selection probs,
      bgo#723265.  Also would like to reduce the intensity of the icons,
      bgo#720771.
      0dcf353a
  6. 29 Jan, 2014 5 commits
  7. 20 Jan, 2014 2 commits
  8. 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
  9. 15 Jan, 2014 1 commit
  10. 13 Jan, 2014 3 commits
    • William Jon McCann's avatar
      Clean up the password dialog · 657dce51
      William Jon McCann authored
      * Remove details section
      * Fix plural problem
      * Remove unnecessary labels
      * Only allow to prompt for one password at a time, which was true in
        practice already, but the code is cleaner making that a requirement
      
      Closes: bgo #720779
      657dce51
    • Jim Nelson's avatar
      Revised handling of append/remove upcalls: Closes bgno#721326 · bd83b8bc
      Jim Nelson authored
      This approach immediately updates the remote_count when an upcall
      is received, as that math is important for determining positional
      addressing if another one immediately follows it.  However, the
      async calls only deal in the remote count *at the time the upcall
      arrived*, in effect allowing for the upcall to be serially processed
      using async blocking calls.
      bd83b8bc
    • Jim Nelson's avatar
      f642be54
  11. 10 Jan, 2014 3 commits
  12. 07 Jan, 2014 4 commits
  13. 23 Dec, 2013 2 commits
  14. 21 Dec, 2013 2 commits
    • Jim Nelson's avatar
      Bind to GSettings rather than read/write imperatively · 229f4dc4
      Jim Nelson authored
      This work is the result of the prior commit (updating the Preferences
      box, specifically).  Instead of initialzing Widgets with GSettings
      values and writing values out as Widget state changes, bind GSettings
      values directly to the Widgets.  This logic is also moved out to the
      rest of the application where monitoring changes is necessary.
      
      This has the pleasant side-effect of allowing changes to come in from
      GSettings backends (i.e. dconf) and having them updated in Geary
      automatically.
      229f4dc4
    • William Jon McCann's avatar
      Make application dialogs transient and modal: Closes bgno#720794 · b4d25910
      William Jon McCann authored
      This makes both the Preferences and Accounts dialogs modal and
      transient for the parent window.  Additional code changes are to
      remove logic in place to deal with previouys modeless-ness of those
      dialogs.
      b4d25910
  15. 20 Dec, 2013 1 commit