1. 05 Feb, 2014 1 commit
  2. 12 Apr, 2013 1 commit
  3. 08 Mar, 2013 1 commit
    • Jim Nelson's avatar
      Memory leak and lost reference tracking: Refs #5306 · 826e9d5f
      Jim Nelson authored
      This patch solves the following memory/resource leak problems:
      
      (a) Gee.TreeSet doesn't drop references when destroyed.  Fixed by
      using a subclass that clears the set when destroyed (exactly same
      as patch made to Gee, however that won't be in distribution for
      awhile.)
      
      (b) Imap.ClientSession was holding refs to CommandResponses after
      they'd been completed.  They're now dropped.
      
      (c) Imap.ClientSessionManager now has an open/close_async() (called
      by Imap.Account.open/close_async()) that drops all ClientSessions.
      
      (d) All classes in Engine (and some in the client) use Geary.BaseObject,
      which uses a static map to track outstanding held references to
      it.  The table is dumped when Geary exits.  Must be enabled with a
      ./configure flag.
      
      Two outstanding memory leaks persist (one for Imap.ResponseCodes and
      another when messages are selected/deselected), so this doesn't close
      the ticket, but testing and use has shown these changes to make a huge
      improvement on memory usage and reducing crashes.
      826e9d5f
  4. 15 May, 2012 1 commit
    • Jim Nelson's avatar
      Better debug in Geary.StateMachine · 21c0e6bf
      Jim Nelson authored
      Eric once reported a triggered assertion inside Geary.StateMachine
      that was unreproducible.  This change means that if it happens
      again better information will be logged to try and debug and/or
      reproduce it.
      21c0e6bf
  5. 17 Feb, 2012 1 commit
    • Jim Nelson's avatar
      IDLE support: Closes #3885 · 5b468948
      Jim Nelson authored
      IDLE support is now baked into ClientConnection and ClientSession.
      ClientConnection can be configured to go into an IDLE state when
      quiet (no commands pending), and ClientSession will turn this on
      when IDLE is detected from the CAPABILITY server data response.
      5b468948
  6. 10 Jan, 2012 1 commit
  7. 26 Sep, 2011 1 commit
    • Jim Nelson's avatar
      Now builds with Vala 0.14: closes #3756 · fb54fb18
      Jim Nelson authored
      This commit introduces a Scheduler module which deals with the problem of scheduling on the
      idle or timeout queue unowned SourceFuncs (because the idle and timeout functions require
      owned delegates).  It also takes care of a handful of places where an out parameter was not
      being set before the method returned, which Vala's new code analysis now picks up.
      fb54fb18
  8. 01 Jul, 2011 1 commit
    • Jim Nelson's avatar
      Folder heirarchies: #3788 · 0273b780
      Jim Nelson authored
      Now supporting folder heirarchies.  The client will now descend looking for subfolders.  This task now opens up multiple outstanding requests to the Engine as well as exercises the database schema.
      
      Closing this ticket opens the door to finishing #3692.
      0273b780
  9. 27 Jun, 2011 1 commit
    • Jim Nelson's avatar
      New file naming scheme and organization for the Engine. · 41faa361
      Jim Nelson authored
      The code base is growing much faster than expected, faster than Shotwell it seems (not necessarily line count, but files and necessary organization of the library vs. Shotwell's initial flat directory).  After some thought decided to move to a more standard Vala/GTK naming scheme of all lowercase with dashes for spaces starting with namespace (minus the "geary-", unless the class was in the topmost namespace).  Three motivations:
      
      1. Often confusing when working on code to see three "Folder.vala" in the gedit tabs: one IMAP, one SQLite, and one the interface definition.
      2. This paves the way for waf integration, as right now we're held up using it because it barfs on projects with two files of the same name in different directories.
      3. I find the CamelCase in the file browser becoming hard on the eyes, and this scheme seems a little more browsable.
      41faa361
  10. 06 May, 2011 1 commit
    • Jim Nelson's avatar
      ClientSession improvements · 42247df6
      Jim Nelson authored
      Fleshed out the ClientSession state machine to follow the session state graph described by the IMAP specification.  ClientSession is now firmly a single-connection object that tracks the server state appropriately.  A higher-level class will need to be defined that manages multiple sessions (for when dealing with multiple folders, monitoring, etc.)
      42247df6
  11. 05 May, 2011 1 commit
    • Jim Nelson's avatar
      Improvements to Serializer and Deserializer · a43ab81f
      Jim Nelson authored
      The input mode for Deserializer meant that the caller needed to manage the input stream and push data in an appropriate way; this is error-prone.  Now Deserializer manages the input stream and the modes it must be read from.  Serializer still works in a similar fashion as before, but now it deals with literal data more efficiently, writing it to the output stream directly (via splice_async()) rather than into the in-memory temporary buffer.  Serializable's serialize() method is now async, meaning that all serialization can occur asynchronously, which is how we want it going forward.
      a43ab81f
  12. 14 Apr, 2011 1 commit
  13. 11 Apr, 2011 1 commit