• exec/imapservice.js

    From Deucе@VERT to Git commit to main/sbbs/master on Fri Nov 15 12:49:28 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/e0a367bdea0ef6d4c27d3362
    Modified Files:
    exec/imapservice.js
    Log Message:
    What I hope are the last \Seen and \Recent fixes.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Fri Nov 15 16:10:11 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/af159feca3fe112835b0f306
    Modified Files:
    exec/imapservice.js
    Log Message:
    Don't rollback scan pointer on sub close.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Fri Nov 15 19:08:40 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/9df9fdf1885c3278ec025859
    Modified Files:
    exec/imapservice.js
    Log Message:
    More speed optimizations

    1) Cache the binified seen data rather than regenerate every time
    2) Only call js.gc() after a complete fetch or store loop

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Fri Nov 15 21:49:59 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/4119cc5e59b81e1bc0c98e3f
    Modified Files:
    exec/imapservice.js
    Log Message:
    Add a sanity check on saved config.

    I managed to hit a bug where bseen and seen were both completely
    filled. No idea how I hit it, so not positive it's fixed.

    This is cheap insurance against the 43k file groung to 1.6MB for
    someone else.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Sat Nov 16 03:04:54 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/add2e0e273bb3626ee410896
    Modified Files:
    exec/imapservice.js
    Log Message:
    Some saved_config cleanup before splitting configs.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Sat Nov 16 03:04:54 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/6fa958e9b1be895446c4d534
    Modified Files:
    exec/imapservice.js
    Log Message:
    Overhaul the saved config.

    Rather than a single file with config for all subs, use a separate
    file for each sub. This makes clients that do parallel connections
    to different mailboxes work much better, and make loading and saving
    the config for a mailbox much faster.

    The caching stuff is removed to simplify things, and hopefully won't
    need to come back... we should just not save config if it doesn't
    change.

    Only issue I'm still aware of is that 99% of IMAP clients just can't
    deal with slashes in mailbox paths. Like... at all. The protocol
    supports them, but every client seems to have a different way of
    breaking with them.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Sat Nov 16 12:28:18 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/5ecec81c22623035fbd404d3
    Modified Files:
    exec/imapservice.js
    Log Message:
    Replace / with - in group/sub names

    Almost no clients support a / in names. Maybe I'll define an x-
    extension or something when I write my own mail client.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Sat Nov 16 12:31:09 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/8dc5c89eb835563bf798dca5
    Modified Files:
    exec/imapservice.js
    Log Message:
    Wrap each cleanup step in a separate try/catch in exit func.

    Clean up as much as possible.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Sat Nov 16 14:13:33 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/74403a96ba56a498efc17c3b
    Modified Files:
    exec/imapservice.js
    Log Message:
    Don't overwrite the offset with the IMAP offset, add a new one.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Sat Nov 16 14:13:33 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/4db633b82b6a2acf5171cdb9
    Modified Files:
    exec/imapservice.js
    Log Message:
    "Final" optimizations

    Use the fastest message base access methods documented.
    Cache read/write configs and avoid parsing on read if unchanged.
    Make common saves dependent on there being changes.

    This is likely as good as it gets (assuming it works)

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Sat Nov 16 23:02:36 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/753ec4a9c9048ccaa4b737d1
    Modified Files:
    exec/imapservice.js
    Log Message:
    "support" CHARSET search parameter.

    Allow only US-ASCII, and send the BADCHARSET response code indicating
    that. Fixes issue with aerc.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Mon Nov 18 15:29:08 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/8a55e3e3a25c78540bfbcd5b
    Modified Files:
    exec/imapservice.js
    Log Message:
    Add log levels to the rest of the log() calls.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net