1. 03 Aug, 2019 2 commits
  2. 01 Aug, 2019 1 commit
  3. 30 Jul, 2019 1 commit
  4. 26 Jul, 2019 1 commit
  5. 06 Jul, 2019 1 commit
  6. 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
      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
  7. 03 May, 2019 1 commit
  8. 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
    • rswindell's avatar
      Added new text.dat string: MsgCarbonCopyList · f3dfd635
      rswindell authored
      used to display a CC list, when applicable.
    • rswindell's avatar
      Restore accidentally removal of strchr (!). · 8d8ee163
      rswindell authored
    • 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.
  9. 30 Apr, 2019 1 commit
  10. 11 Apr, 2019 1 commit
    • rswindell's avatar
      Define and use sbbs_t::msghdr_tos (exposed via JS as · 0ad2c4a2
      rswindell authored
      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).
  11. 10 Apr, 2019 3 commits
  12. 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
      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.
  13. 26 Oct, 2018 1 commit
  14. 03 Oct, 2018 1 commit
  15. 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.
  16. 12 Jan, 2018 2 commits
    • rswindell's avatar
      Added a synchronization comment. · 045e4055
      rswindell authored
    • rswindell's avatar
      Introduce new text.dat line: · 665933e8
      rswindell authored
      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).
  17. 09 Jan, 2018 1 commit
  18. 07 Jan, 2018 1 commit
  19. 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.
  20. 28 Nov, 2017 2 commits
  21. 24 Nov, 2017 1 commit
  22. 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.
  23. 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.
  24. 21 Nov, 2016 4 commits
  25. 19 Nov, 2016 1 commit
  26. 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().
  27. 16 Nov, 2016 2 commits
    • rswindell's avatar
      loadmsg() now returns < 0 on error, >= 0 on success, this change was necessary · 742f1901
      rswindell authored
      to be able to delete messages that have no hfields, for example, with sub-op
      'D' command.
      Now support polls with comments (displayed before the poll answers).
      Poll results/statistics are only displayed to sub-ops and users who have voted
      already. This may be optoinal behavior determined by the pollster in the future.
      Sub-ops can now add comments to any post using the 'A' command from the
      [O]perator menu - use with caution.
    • rswindell's avatar
      Poll display support: · ae7c2f8b
      rswindell authored
      * uses new text.dat strings:
      - PollVoteNotice
      - PollAnswerNumber
      - PollAnswerFmt
      - PollAnswerChecked
      The actual answer of a poll is still crude (uses the old crufty uselect scheme)
      and doesn't support multiple-choice polls. This will be addressed.
  28. 15 Nov, 2016 1 commit