- Jul 06, 2019
-
-
rswindell authored
with ZWNBSP/BOM UTF-8 sequence) and messages (with the "CHRS: UTF-8" FTN control paragra or MIME "charset=utf-8" parts). Not all UNICODE codepoints are supported (obviously). Tested with various files from ftp://columbia.edu/kermit/charsets/ (e.g. test.utf8, utf8-boxes.txt)
-
- May 04, 2019
-
-
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
-
- May 03, 2019
-
-
rswindell authored
as well as the auxattr "Attach" when either FILEATTACH or MIMEATTACH is set (requires an updated MsgAttr line in text.dat).
-
- May 02, 2019
-
-
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 authored
used to display a CC list, when applicable.
-
rswindell authored
-
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.
-
- Apr 30, 2019
-
-
rswindell authored
Renamed MIMEDecodedPlainText to MIMEDecodedPlainTextFmt (since it is now a printf-style format string). No special handling of non US-ASCII (e.g. UTF-8) characters... yet.
-
- Apr 11, 2019
-
-
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).
-
- Apr 10, 2019
- Mar 24, 2019
-
-
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.
-
- Oct 26, 2018
-
-
rswindell authored
menu() if it does (exist) and doing something else if it doesn't.
-
- Oct 03, 2018
-
-
rswindell authored
message header.
-
- Jul 24, 2018
-
-
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.
-
- Jan 12, 2018
-
-
rswindell authored
-
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).
-
- Jan 09, 2018
-
-
rswindell authored
line (CRLF) after the header and before the message body. If you want a blank line, it must be in the msghdr.asc file. This change is to be consistent with the behavior in v3.16.
-
- Jan 07, 2018
-
-
rswindell authored
- if the sysop had text/menu/<filename>.bak (for example), the optoinal menu would attempt to load, resulting in an error ("<filename>.asc not found") - if the sysop specified menu_file or menu_dir (e.g. via Baja), the existing checks for optional menu file existance would not work
-
- Dec 08, 2017
-
-
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.
-
- Nov 28, 2017
- Nov 24, 2017
-
-
rswindell authored
-
- Nov 13, 2017
-
-
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.
-
- Nov 27, 2016
-
-
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.
-
- Nov 21, 2016
-
-
sbbs authored
by Bill McGarrity: new bug.
-
rswindell authored
New MsgBase header propeties: - total_votes (total number of votes this msg or poll has received) - tally[], an array of 16 numbers indicating the total votes for each poll answer in the case of a normal message, tally[0] is the same as upvotes and tally[1] is the same as downvotes. This should complete what echicken needs to display polls and voting results in his web UI.
-
rswindell authored
smb_voted_already(), e.g. to @-codes in a custom msg header. New @-codes (e.g. for custom message headers): @MSG_VOTED@ @MSG_UPVOTED@ @MSG_DOWNVOTED@ These all 3 act the same way: they display the PollAnswerChecked (checkmark) if the user voted on the currently displayed message/poll, if the user up-voted or if the user-downvoted. If the user did not vote, nothing is displayed.
-
rswindell authored
(reading the msg) submitted an up-vote or down-vote on the current msg.
-
- Nov 19, 2016
-
-
rswindell authored
(optionally). Sub-board operators can now see all poll-results (always) for locally-posted polls (same as pollster).
-
- Nov 18, 2016
-
-
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().
-
- Nov 16, 2016
-
-
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 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.
-
- Nov 15, 2016
-
-
rswindell authored
-
- Nov 10, 2016
-
-
rswindell authored
- Users can be restricted from voting with the 'V' restriction - Sub-boards can be disalbled for voting in SCFG - VOTING.DAT can be include/excluded from QWK packets via user cfg (when a VOTING.DAT is received in a REP, the user cfg flag is auto-set) - Adds several new text.dat lines (if not present in yours, uses the default) What's not yet implemented: - Notification of votes on your posted messages - Method to view/audit all votes - Polling - Any special handling to auto-exclude votes from msg-related JavaScripts
-
- Dec 10, 2015
-
-
rswindell authored
- it actually *is* an expected condition that a to_net.addr or from_net.addr msg header field is populated with a valid address (string) even though the to_net.type or from_net.type value is NET_NONE. The nntpservice.js and newslink.js modules rely on this behavior to display and export local NNTP-posters' email addresses in message headers, but still be able to identify newslink-imported messages as *not* local (the from_net.type = NET_INTERNET) and thus not export them back to the network. This was not the original intention behind these header fields in SMB, but it was retrofitted to support this condition 10+ years ago and I forgot.
-
- Dec 07, 2015
-
-
rswindell authored
Don't include the to/from network-arddress in the displayed header if the net-type value is NET_NONE (not a normal/expected combination).
-
- Dec 04, 2015
-
-
rswindell authored
*after* the to-net-addr value (if there is one), so the header display makes more logical sense when viewing QWK netmail sent to a QWKnet node on the QWKnet hub system. Update the msgtotxt() prototype to follow the norm (e.g. passing through the mode argument to smb_getmsgtxt())
-
rswindell authored
*after* the to-net-addr value (if there is one), so the header display makes more logical sense when viewing QWK netmail sent to a QWKnet node on the QWKnet hub system.
-