Skip to content
Snippets Groups Projects
  1. Nov 14, 2024
    • Deucе's avatar
      Just overhaul this who chunk of code. · 2e47ac98
      Deucе authored
      2e47ac98
    • Deucе's avatar
      Mention the change · 4f158aa2
      Deucе authored
      4f158aa2
    • Deucе's avatar
      Fix bug reported by DigitalMan · 056304ed
      Deucе authored
      It looks like this has been a long-standing UIFC bug (pre-3.0)
      
      If a uifc list that can scroll is showing the bottom-most line,
      and an option that is not the last is deleted, and both *cur and
      *bar are left untouched, *bar would be adjusted to be too high,
      resulting in various highlight bar corruption issues.
      
      This commit just rewrites that logic to be comprehensible, and
      ensures that if bar is set such that the list would end before the
      bottom of the window, it gets moved up.  This makes delete do the
      right thing (didn't test with insert, that may do weird things).
      
      Also, since I figured out a good definition of what bar actually
      represtens, add a comment to that effect.
      056304ed
    • Rob Swindell's avatar
      Allow a separate log level for the event thread of the terminal server · c226475c
      Rob Swindell authored
      So you want to debug (timed) events, but don't want to get debug-spew in your
      terminal server log output? Now you can: By default, the event thread log
      level will be the same as the terminal server, but now you can override this
      by setting [BBS] EventLogLevel in the sbbs.ini file or set it in
      SCFG->Servers->Terminal Server->Event Log Level.
      c226475c
    • Rob Swindell's avatar
      Document the editor property (field) of the message header object · 37ca25a5
      Rob Swindell authored
      there are still other undocumented fields/properties, but this one for sure
      was missing.
      37ca25a5
    • Deucе's avatar
      New IMAP search parser/generator · e997e293
      Deucе authored
      Previously, the IMAP search tried to do sneaky things to optimize
      execution time, but that ended up with problems when nested ()s
      were used, among other, more subtle issues.  Also, the old search
      wasn't even tested enough so that each term would work.
      
      The new system transpiles the IMAP query to Javascript then runs
      the compiled JS function for each message.  Should be much more
      accurate (though may also be much slower).
      
      Actually fixes the issue reported as #397, and closes #730.
      e997e293
  2. Nov 13, 2024
  3. Nov 12, 2024
  4. Nov 11, 2024
    • Deucе's avatar
      NAMESPACE didn't help with Claws/Sylpheed. · 53d11d54
      Deucе authored
      Change the message.
      53d11d54
    • Deucе's avatar
      Fix handling of short send()s · fbe3b5d7
      Deucе authored
      For some reason, I thought socket.send() did this, but apparently
      not.  Fixes issue transferring large messages.
      
      Also, add support for the useless NAMESPACE command.
      fbe3b5d7
    • Deucе's avatar
      Don't map new-scan config to IMAP subscriptions · d1f89436
      Deucе authored
      The sets of message bases you want to get over different protocols
      may be different.
      
      While we're here, fix an error with single-parameter FETCH parsing
      which prevented Sylpheed from being able to read messages.
      d1f89436
    • Deucе's avatar
      Add comment as to why the body is being replaced. · 2294bf8f
      Deucе authored
      2294bf8f
    • Deucе's avatar
      Update fix in e0e1fc38 · 6ab2d322
      Deucе authored
      Instead of text with completely different meaning, change the "no body"
      text to a single space.
      6ab2d322
    • Deucе's avatar
      Fix deadlock introduced in last commit. · 79a6d872
      Deucе authored
      79a6d872
    • Deucе's avatar
      Hold config lock for whole sequence. · 0827b4a3
      Deucе authored
      Rather than locking for just one message, lock for the entire command
      when potentially updating Seen data.  With this, we can block all
      connections the user has except the currently executing one, and
      not need to read/write the seen data between every message.
      
      While this can take minutes on very large subs, it's certainly
      better than hours as previously.
      
      It's rude to have multiple sockets actively pumelling the server
      anyway.
      0827b4a3
    • Deucе's avatar
      Do some more optimizations around setting the Seen flag. · ebeb5075
      Deucе authored
      This speeds things up a fair bit, and will make things faster after
      an initial scan.  I may expand this method a bit to lock other sockets
      for for either some period of time or some number of messages to
      allow the initial scan to be even faster.
      ebeb5075
    • Deucе's avatar
      Optimize read/save of Seen config · 99df0ed4
      Deucе authored
      Previously, this uses INI format files, with ini file accessors
      to read and save this file.  Now it just dumps a JSON file in and
      slurps it out.
      
      This saves about 0.4s/msg on my system when reading headers.
      99df0ed4
    • Deucе's avatar
      Fix what appears to be a potential security hole (and some other stuff) · 830fb14e
      Deucе authored
      If the INI file could not be opened, a failure would be returned,
      but authentication would (potentially) succeed.  I can't think of
      a way to exploit this, but it's getting late.
      
      Also, make some minor optimizations that won't make a difference yet,
      and move opening the file into a single function.
      830fb14e
Loading