1. 08 Aug, 2019 1 commit
  2. 07 Aug, 2019 1 commit
  3. 04 Aug, 2019 1 commit
    • rswindell's avatar
      More UTF-8 fun: · 3313a87e
      rswindell authored
      - bstrlen() moved to sbbs_t, accepts an option pmode argument so it can account
        for UTF-8 encoded strings correctly
      - JS console.strlen() now accepts an optional pmode argument (e.g. P_UTF8)
      - Renamed sbbs_t::utf8_to_cp437 to sbbs_t::print_utf8_as_cp437
      - Create/use msghdr_hfield() to perform UTF-8->CP437 conversions as needed for
        printing/copying UTF-8 encoded message header fields.
      - Defined XTRN_UTF8 misc setting flag. If a message editor does *not* have this
        flag, it is assumed to *not* support UTF-8. Will likely use this for UTF-8
        doors as some point too (none known to exist, yet).
      3313a87e
  4. 03 Aug, 2019 2 commits
  5. 01 Aug, 2019 1 commit
  6. 30 Jul, 2019 1 commit
  7. 26 Jul, 2019 1 commit
  8. 06 Jul, 2019 1 commit
  9. 04 May, 2019 1 commit
    • rswindell's avatar
      smb_getplaintext and smb_getmsgtxt(...,GETMSGTXT_PLAIN) will now fall-back · 284b31b3
      rswindell authored
      to a text/html part of a multi-part MIME encoded message if no text/plain part
      exists.
      Changed smbmsg_t.charset to smbmsg_t.text_charset.
      Added smbmsg_t.text_subtype (e.g. "plain" or "html").
      Fixed issue with parsing parsed plain-text when the charset was the last
      element of the MIME-part header.
      MIMEDecodedPlainTextFmt text.dat line now includes the text sub-type arg
      284b31b3
  10. 03 May, 2019 1 commit
  11. 02 May, 2019 4 commits
    • rswindell's avatar
      @-code changes: · 0868c5d9
      rswindell authored
      Expanded codes will not *not* go beyond the terminal column width (minus 1).
      If you need the old/wrap behavior, add a "-W" modifier to your @-code.
      If a length value is specified with -W, it is ignored.
      
      - MSG_TO, MSG_FROM, MSG_SUBJECT now reflect the header values passed
        to sbbs_t::show_msghdr(), JS bbs.show_msg_header() and not necessarily the
        actual stored (e.g. MIME-encoded) header values.
      
      New codes:
      - MSG_CC - reflect a message's CC list, if it has one
      - DATETIMEZONE - combines DATETIME and TIMEZONE in one string
      0868c5d9
    • rswindell's avatar
      Added new text.dat string: MsgCarbonCopyList · f3dfd635
      rswindell authored
      used to display a CC list, when applicable.
      f3dfd635
    • rswindell's avatar
      Restore accidentally removal of strchr (!). · 8d8ee163
      rswindell authored
      8d8ee163
    • rswindell's avatar
      Support the passing of optional 'subject', 'from', and 'to' values to · 4fc5b9a5
      rswindell authored
      show_msghdr(), over-riding the values from the passed smbmsg_t. This is useful
      for, say, displaying MIME-decoded values rather than the MIME-encoded versions
      of the header fields that you often find in email today.
      4fc5b9a5
  12. 30 Apr, 2019 1 commit
  13. 11 Apr, 2019 1 commit
    • rswindell's avatar
      Define and use sbbs_t::msghdr_tos (exposed via JS as · 0ad2c4a2
      rswindell authored
      console.msghdr_top_of_screen):
      a hack to let scripts know whether the most-recently displayed message header
      was displayed on the top of the terminal screen (or not). This allows us to
      show avatars at the top of the screen when the header is up there, rather than
      relevative to the bottom of the header (the pos can vary, depending on stuff).
      0ad2c4a2
  14. 10 Apr, 2019 3 commits
  15. 24 Mar, 2019 1 commit
    • rswindell's avatar
      New JS bbs methods: · b4d31140
      rswindell authored
      - bbs.show_msg()
      - bbs.show_msg_header()
      Re-worked the JS bbs.netmail() implementation
      sbbs::show_msg(), show_msghdr(), msgtotxt() now take an smb_t* argument
      (don't use the pseudo-global 'smb' in these functions any longer)
      sbbs_t::putmsg() and JS console.putmsg() now accept an optional orig_columns
      argument to specify the original column width of a text for intelligent
      re-word-wrapping (e.g. as taken from a message header field). Previously, the
      original-column value was hard-coded to 80 columns (technically, 79).
      sbbs_t::show_msghdr() no longer sends a CRLF if the cursor is already at the
      top-of-screen (TOS).
      sbbs_t::show_msg() now uses the stored "columns" msg header fields to pass to
      putmsg() to intelligently re-word-wrap message bodies for display.
      sbbs_t::show_msg() and msgtotxt() return bool now instead of void.
      JS MsgBase.get_all_msg_headers() now supports an optional "expand_fields"
      argument (defaults to true). I contemplated just getting rid of the (few)
      expanding header fields (more like default-value-header fields, like 'id'), but
      decided against it, at least for now.
      JS MsgBase.put_msg_header(), the "number_or_offset" argument is optional and
      not needed if a header object argument is provided. Make this clear in this JS
      docs for this method
      
      Note:
      I sat on this commit for a while because I noticed occasional errors like this:
          Node 1 <Digital Man> !ERROR 2 (No such file or directory) (WinError 0) in
          readmsgs.cpp line 217 (sbbs_t::loadposts) locking
          "path/to/sub" access=-100 info=smb_locksmbhdr msgbase not open
      started cropping up after introducing these changes and which I never
      root-caused. But after a clean-build and waiting a week, I haven't seen it
      again, so hopefully it was just a incomplete rebuild issue and not a new bug.
      b4d31140
  16. 26 Oct, 2018 1 commit
  17. 03 Oct, 2018 1 commit
  18. 24 Jul, 2018 1 commit
    • rswindell's avatar
      Singificantlly improve message scan pointer initialization (e.g. for new · 264cb38c
      rswindell authored
      users) and adjusting scan ptrs by date or set to "Last msg" while online:
      - speed (on my system, reduced from 12 to < 2 seconds)
        This involved 2 enhancements: check msgbase index file timestamp (fast)
        before opening any files. When opening the msgbase, just open the index
        file (no other msgbase files) - required new smblib function: smb_open_index.
      - fixed off-by-one when setting by date (when setting the new-scan ptr to
        Jan-1-2018, you want that first message posted on/after Jan-1-2018 to be
        found as "new", not the first message posted *after* that date.
      - re-added the fixmsgptrs() call in putmsgptrs(), inadvertently removed
        in the .ixb -> .ini ptr storage update in rev 1.192 of userdat.c.
      264cb38c
  19. 12 Jan, 2018 2 commits
    • rswindell's avatar
      Added a synchronization comment. · 045e4055
      rswindell authored
      045e4055
    • rswindell's avatar
      Introduce new text.dat line: · 665933e8
      rswindell authored
        MsgHdrBodySeparator
      This is display between the msg header text.dat lines and the message body
      (previously, just hard-coded to a blank line).
      This enables us to now execute showmsgavatar.js much faster than loading
      msghdr.asc file, and using it to execute showmsghdr.js.
      So... if you're upgrading to this build, you can get rid of msghdr.asc and
      get a message viewing performance boost. The results should look the same
      (but the message header will display immediately, with no discernable delay).
      665933e8
  20. 09 Jan, 2018 1 commit
  21. 07 Jan, 2018 1 commit
  22. 08 Dec, 2017 1 commit
    • rswindell's avatar
      Adjustment to change introduced in rev1.67: · 676c18f4
      rswindell authored
      When displaying message body text, skip all initial ocurrences of CR or LF
      (rather than all initial white-space). Some people use white-space for
      centering or justifying blocks of text and we don't want to mess up the
      presentation of their messages.
      676c18f4
  23. 28 Nov, 2017 2 commits
  24. 24 Nov, 2017 1 commit
  25. 13 Nov, 2017 1 commit
    • rswindell's avatar
      New feature: control of SPAM visibility when reading mail on the Terminal · d18bd3bd
      rswindell authored
      Server via the new 'V' command from the Reading Mail prompt allows you to
      toggle between all mail (including SPAM, the default), SPAM only, or HAM only.
      Also added a new '/' (search text) command from the reading mail prompts.
      Mail imported before the mailsrvr added support (recently) for the MSG_SPAM
      attribute flag will not be counted/filtered as SPAM.
      SBBSecho will have a commit (next) to support the new loadmail() usage, it
      will not compile until then.
      d18bd3bd
  26. 27 Nov, 2016 1 commit
    • rswindell's avatar
      Added new sub-scan mode: SCAN_POLLS (used to scan sub-boards for posted polls) · b14e9904
      rswindell authored
      Introduced a better progress indicator (similar to poll results), using the
      backfill() method. 2 new attr.cfg fields allow the progress indicator colors to
      be configured separately from poll results (though they default to the same
      white on magenta). This new progress indicator is used when loading msg ptrs
      and scanning for votes. I will be using it while performing other searches
      (e.g. file libraries/dirs) as well.
      b14e9904
  27. 21 Nov, 2016 4 commits
  28. 19 Nov, 2016 1 commit
  29. 18 Nov, 2016 1 commit
    • rswindell's avatar
      Introduced 2 new poll concepts: · 0ac4f937
      rswindell authored
      - Closures (polls can be closed for new voting by the pollster)
      - Results can have configurable visibility:
        a. Only to voters (and the pollster) - the default
        b. Everyone
        c. Everyone once the poll has closed
        d. Only the pollster
      
      Changes to smb_getmsgtxt():
      Main change: poll questions can now be quoted when replying to a posted poll
      (the results cannot be quoted).
      Also: there's now automatically a blank line inserted between comment header
      fields and poll answers or the msg body text.
      Also: upon any malloc failure, the function now returns NULL.
      New functions: smb_msg_is_from() and smb_addpollclosure().
      0ac4f937