-
DDMsgReader: New user option to toggle the message 'replied' character in the email list. Fix for setting help line colors so that the background won't get un-done.
DDMsgReader: New user option to toggle the message 'replied' character in the email list. Fix for setting help line colors so that the background won't get un-done.
revision_history.txt 36.86 KiB
This file lists all of the changes made for each release of the Digital
Distortion Message Reader.
Revision History (change log)
=============================
Version Date Description
------- ---- -----------
1.89 2023-11-30 New: User option to toggle whether to display the email
'replied' indicator (defaults to true).
Fix for setting colors for the key help lines so that the
background won't get un-done if the other help line colors
have a N (normal) attribute.
1.88 2023-11-24 New user setting/configuration option to prompt the user
whether or not to delete a personal email after replying
to it (defaults to false).
New: Displays whether a personal email has been replied
to.
Fix: Now displaying message vote score in the default
header again.
Fix: When viewing message headers (for the sysop), now
correctly shows the message attributes.
1.87 2023-11-18 Possible speed improvement when loading messages.
New: User setting to only show new messages in a newscan
(defaults to true/enabled)
In the message list, there is now an additional space
before the 'from' name, in case one of the status
characters is a letter (this should look better).
New: In lightbar mode, the indexed newscan menu can
optionally 'snap' to the next sub-board with new messages
when showing/returning to the menu
Fix: When listing personal email, messages to the user
were written with the to-user color wuen unread. Now the
regular colors are always used (since all of a user's
personal emails are 'to' them).
Fix: For indexed newscan, if there are no sub-boards
selected for scan in the user's newscan configuration,
then output a message and exit. Otherwise, it would end
up in an infinite loop.
Updated how user settings are loaded, to ensure that
default user settings from DDMsgReader.cfg actually get
set properly in the user settings.
1.86 2023-11-09 New feature: For indexed mode, when choosing a sub-board,
the R key can be used to mark all messages as read in the
sub-board.
Fix: For continuous newscan or browse newscan (SCAN_BACK),
call the stock Synchronet behavior (DDMsgReader did this
previously, as DDMsgReader doesn't implement those yet).
Fix: In the message list, to-user alternate colors weren't
being used unless the message was read. The correct colors
are used again.
1.85 2023-11-01 Mark personal email as read if the user is just reading
personal email
1.84 2023-10-26 Fix in reader mode for refreshing the message area after
closing another window (necessary with recent changes to
substrWithAttrCodes())
1.83 2023-10-25 Personal emails to the sysop received as "sysop" (or
starting with "sysop") are now correctly identified and
marked as read when read
1.82 2023-10-18 Fix for # posts and missing dates in sub-board list when
changing sub-board
1.81 2023-10-11 Updated permission check functions (speed improvement)
1.80 2023-10-10 Improved speed of new-to-you scans, and to an extent
(hopefully) overall speed
Bug fix: Setting reverseListOrder to "ask" in the .cfg
file works properly again.
Bug fix: When listing messages in reverse order, the
selected menu index (for lightbar mode) is now correct.
Bug fix: If the user is allowed to read deleted messages,
then allow the left & right arrow keys to to the next or
previous message if it's deleted.
Small fixes for indexed scanning mode.
New: For personal email, unread emails will have an
'unread' message indicator in the message list as a U
between the message number and the 'from' name.
New user setting: "Quit from reader to message list":
When enabled, quitting from reader mode goes to the
message list instead of exiting out of DDMsgReader fully.
New user setting: Enter/selection from indexed mode menu
shows message list (instead of going into reader mode)
New user setting: List messages in reverse order
1.79 2023-09-20 Fixed poll voting for single-answer polls
1.78 2023-08-30 Bug fix for going to a specific message in the message
list (especially for lightbar mode)
1.77a 2023-08-26 When saving a message on the local BBS PC without all the
headers, the date is now included
1.77 2023-08-20 Including all message headers when saving a message (sysop
only) is now optional.
1.76 2023-08-18 Fix for "Message header has 'expanded fields'" error when
updating message header attributes in certain conditions
1.75 2023-08-16 Made some changes to allow easy searching of personal
email with command-line arguments.
1.74 2023-04-29 Settings for users being able to read deleted messages now
applies to personal email. Also, allows reading messages
that are marked for deletion in addition to just seeing
them in the message list
1.73a 2023-04-25 For viewing message headers, now all message header
information is displayed & sorted alphabetically by field
name (same with saving a message to a file).
1.73 2023-04-17 Bug fix: When getting header lines to view, ensure the
header lines are not too wide for the user's terminal.
Header lines that are too long will be split into no more
than 2 lines.
1.72 2023-04-16 Added a quick-validation hotkey, Ctrl-Q, for sysops to
use to apply a quick-validation set to a user when
reading their message. Quick-Validation sets are
configured in SCFG > System > Security Options >
Quick-Validation Values.
1.71 2023-04-07 Ctrl-C is now supported for message searches to abort the
search. A new configurable string was added for this
situation: msgSearchAbortedText
1.70 2023-04-04 Added "indexed" reader mode, which lists sub-boards with
total and number of new/unread messages and lets the user
read messages in those sub-boards. Also, utf-8 characters
should now be converted properfly for non utf-8 terminals.
1.69 2023-03-24 Bug fix for deleting multiple selected messages: When
updating message headers in the cached arrays, don't try
to save them back to the database, because that was
already done (this avoids a 'header has expanded fields'
error).
1.68 2023-03-15 Makes use of console.aborted when displaying help screens
so that screen updates work better after pausing output.
Also, when running a new message scan (not new-to-you),
the current sub-board being scanned is now outputted.
There is a new configurable text string:
scanningSubBoardText
1.67 2023-03-09 Fixes for time zone alignment & list key help for wide
terminals
1.66 2023-03-02 When forwarding a message, the subject can now be edited
before sending the message
1.65 2023-02-24 Ctrl-C can now be used to cancel message scans. Output
from the scan is now word-wrapped to the terminal width.
1.64 2023-02-09 When reading personal email (received or sent), as a
loadable module, now it can allow reading another user's
mail (for the sysop when deleting a user account).
1.63 2023-02-01 Fix for reading colors from the theme file. Also, the
theme file now no longer needs the control character for
color codes.
1.62 2023-01-30 (Hopefully) Improved display of ANSI messages which would
previously look bad with empty lines evrey other line
1.61 2023-01-22 Fix: When replying to an email with an unknown sender
(empty or "All"), no longer gives the error "Invalid user
field: 0"; also, if the sender is unknown, prompts the
user for a user name/number/email address to send the
reply to.
1.60 2023-01-20 DDMsgReader can now optionally convert Y-style MCI
attribute codes to to Synchronet attribute codes, with
the new configuration setting convertYStyleMCIAttrsToSync
(true/false).
1.59 2022-12-29 For Synchronet above 3.20, now reads the external editor
quote wrap setting from xtrn.ini. Below version 3.20, the
quote wrap setting is read from xtrn.cnf.
Also, there's a new user setting to toggle whether or not
to use the scrollbar in the scrolling reader. Currently
there is no alternate progress displayed if not using the
scrollbar, but that is planned for a future update.
1.58 2022-12-14 Now wraps quote lines, if applicable, according to the
quote line wrap settings of the user's external editor,
if the user uses one
1.57.1 2022-12-12 Fix for "assignment to undeclared variable" error
1.57 2022-12-02 @-codes were only expanded when reading personal mail;
now, DDMsgReader also checks to make sure the sender is a
sysop.
1.56 2022-11-25 Fixed bug startup mode for scanning all groups for un-read
messages to you where the reader was bringing up personal
email instead.
1.55 2022-09-23 Refactored how email replies are done (passing the header
to the appropriate functions, not using ungetstr() when
prompting for the message subject)
1.54 2022-08-06 Users now have a personal twit list, configurable via
user settings, with the Ctrl-U hotkey.
1.53 2022-07-18 Deleted messages can now be un-marked for deletion from
the message list (if the user has delete permissions).
Also, the reader now honors the system setting for whether
users can view deleted messages.
1.52 2022-07-09 Mouse click support for the bottom help lines in scrolling
mode (thanks to help from Nelgin)
1.51 2022-07-05 Graphic is now only used when using the scrollable
interface. Also, when creating the Graphic, now
subtracting 1 from the reading area height to avoid making
the Graphic one line too tall to avoid unnecessary
scrolling.
When saving messages with ANSI codes, Graphic is only used
if the message has any ASCII drawing characters. (not sure
if this really matters much though).
Also, applied "use strict" and made some changes as necessary.
1.50 2022-06-20 When doing a text search, it now ignores the user scan
configuration for sub-boards, to ensure it will show any
results of the text search.
1.49 2022-06-13 Refactor: Simplified saving a message to BBS machine for
sysop (as-is, less processing); removed attachment stuff
for pre-Synchronet 3.17; moved hasSyncAttrCodes() to
attr_conv.js because that's where it needs to be.
1.48 2022-06-12 Improved display of ANSI messages
1.47a 2022-03-23 Internal change: Now calls bbs.edit_msg() for editing an
existing message (for Synchronet 3.18 and up).
Functionally no change.
1.47 2022-03-14 DDMsgReader can now be called directly as a loadable
module by Synchronet (though requires the included
ddmr_lm.js if DDMsgReader.js is not in sbbs/exec or
sbbs/mods)
1.46 2022-03-07 Fix: When changing to an empty sub-board from within the
reader (either from read mode or list mode), it now
properly says there are no messages and exits, rather than
showing a list of bogus messages. Unsure when this bug
was introduced.
1.45d 2022-02-26 Fix for no group information available when displaying the
sub-board header above the message list when listing
personal email
1.45c 2022-02-25 Fixed score display and related colors in the message list
for wide terminals
1.45b 2022-02-25 Fixed message list time colors for wide terminals (above
80 columns)
1.45 2022-02-24 Fixed message scanning & searching issue introduced in the
previous version.
1.44 2022-02-19 Removed the scanScopePromptText text line and used the
SubGroupOrAll line (621) from text.dat instead. Also, the
reader now supports @-code expansion in configured text
strings.
Text search now can search sub-board, group, or all like
the other text searching.
When reading the theme file, color settings are now
checked to ensure they only have Synchronet attribute
codes.
1.43 2022-02-10 Fixed the memory error when viewing message header info.
Also, when viewing message header information, it will no
longer show JS functions.
1.42 2022-01-13 Fixed attachment downloading.
Also, the first attempt at converting HTML entities in
HTML-formatted messages.
Also, added the ability to sort the message list by date
& time written rather than the import date/time. This is
specified in the configuration file via the msgListSort
option.
1.41 2021-02-12 Bug fix: When changing to another area with the lightbar
interface, if the user's current sub-board is a
high-numbered sub-board and they select a message group
with fewer sub-boards, the highlighted sub-board in that
group would be set to that high number and would be
incorrect. That has been fixed. Copied a fix from my
stand-alone message area chooser. In that scenario, the
current highlighted sub-board in the other group will be
the first one.
1.40 2021-01-31 (Michael Long) Fixed left/right colors not being
customizable on message list lightbar
1.39 2020-12-01 When forwarding a message, added the ability to optinally
edit the message before forwarding it.
1.38 2020-11-26 Bug fix: When forwarding a message, it now correctly sets
sets the to_net_type property in the message header to
FidoNet or internet for those types of message
destinations
1.37 2020-07-11 Added mouse support to the scrollable reader interface.
The integrated area changer functionality doesn't have
mouse support yet.
1.36 2020-05-23 Added a command-line parameter, -onlyNewPersonalEmail,
which specifies to list/read only new/unread personal
email to the user. And for integration with Synchronet
via the "Read Email" loadable module, this is to be used
together with the updated DDReadPersonalEmail.js. This
is intended to support the "read your unread mail only"
option in the email menu.
1.35 2020-05-13 Fixed some logic in determining how to address a personal
email when replying (either to a local user or via their
network address).
1.34 2020-05-11 The message list mode now honors anonymous posts, showing
the 'from' name as "Anonymous" (for non-sysops). The
sysop can still see the real name of the poster. The
reader mode already honored the 'anonymous' flag.
1.33 2020-04-21 Fixed: A new user starting to read messages in a sub-board
no longer causes an error (it checks for the scan_ptr
being 0xffffffff). This had been fixed in a couple places
previously, but apparently not this particular case.
1.32 2020-04-19 Removed some code that's no longer used. Also, fixed an
issue when changing to another sub-board with the
traditional-style (non-lightbar) list where it was slow to
list sub-boards. For the number of messages, it was
checking all headers to ignore ones marked as deleted,
etc., but that can be fairly slow.. Now it just uses
total_msgs for the MessageBase object, which is a lot
faster and still gives an idea of how many messages are
there.
1.31 2020-04-13 The area change feature now uses DDLightbarMenu. There
is no more internal lightbar code in this message reader.
1.30 2020-04-07 The message list features now uses DDLightbarMenu rather
than the internal lightbar menu code. Requires the
latest dd_lightbar_menu.js (in sbbs/exec/load).
Later I also plan to update the area chooser code to also
use DDLightbarMenu and remove the internal lightbar
chooser code from DDMsgReader altogether.
1.29 2020-04-03 When reading a message, if a message is written to the
current user, the 'To' username in the header above the
message is now written in a different color. Also, there
are new color settings available in the theme
configuration file (see the readme for descriptions):
msgHdrMsgNumColor, msgHdrFromColor, msgHdrToColor,
msgHdrToUserColor, msgHdrSubjColor, msgHdrDateColor
1.28 2019-12-21 Bug fix: When the user changes to a different message
area while reading a message, the reader would exit with
an error due to an invalid last-read message number.
This has been fixed.
1.27 2019-09-16 Bug fix: Now displays the message score in the header
even if the message only has downvotes
1.26 2019-09-12 Fixed a bug that was causing some of the message vote
tally information to be displayed as "undefined"
1.25 2019-08-29 Added the ability to search for message groups and
sub-boards when changing to another sub-board. Search
can be started with the / key or CTRL-F (Find). Also, in
lightbar mode, the N key can be used to highlight the
next match in the list.
1.24 2019-08-17 When making a private reply on local email, an error is
now outputted if the recipient's user number is not
found. Also, fixed an 'undefined' bug that happened when
searching for messages sometimes.
1.23 2019-07-27 If a message is in UTF-8 format and the user's terminal
doesn't support UTF-8, the message text will be converted
to CP437. Also, if there is a color/attribute code in
the message before the message text and there are no
other color/attribute codes, the color/attribute codes
will be removed so that the entire message isn't colored
1.22 2019-05-12 If the message score is 0, with upvotes and total_votes
both 0, then don't show the score when using the default
header ANSI. This is what was intended, but the 0 score
started showing up in more recent builds of Synchronet.
1.21 2019-05-04 New uses require() instead of load(), if the require()
function exists, to load required .js library scripts.
This helps avoid 'multiple definition' errors. The
require() function was added in Synchronet 3.17, so
if the require() function doesn't exist, then the reader
will use load().
1.20 2019-04-26 Added configurable options for the message score colors
for the message list: msgListScoreColor,
msgListToUserScoreColor, msgListFromUserScoreColor, and
msgListScoreHighlightColor
1.19 2019-04-25 If the terminal size is wide enough (at least 86
characters), the overall vote scores for the messages
is now displayed in the message list. Also, fixed a
bug introduced in the previous version where the vote
scores were no longer being displayed when reading a
message. It's no longer using MsgBase.get_index() and
uses get_all_msg_headers(), as before, since that's what
is required for message tallies to be included in the
message headers.
1.18 2019-04-15 Made use of the new MsgBase.get_index() function (if
available) for better performance. Added 'undefined'
checks for some of the messaeg attribute definitions
before adding them to the attribute strings, since some
of them have changed.
1.17 2019-01-02 Added support for Synchronet's new voting feature that
was added in Synchronet 1.17. Added support to allow the
sysop to validate messages in moderated message areas.
Fixed various bugs related to doing a newscan, displaying
messages with ANSI content, out-of-bounds error when
deleting a message, etc. Updated to set the message
number field length dynamically based on the number of
messages in the sub-board. It will be at least 4 but
can be more than 4 if there are 10000 messages or more
in a sub-board. Updated so that when listing personal
email, it will use the regular formatting colors rather
than the colors for messages to the user, since all
personal emails are to the user (the 'to user' colors for
each email might be obnoxious).
Also, updated to support Synchronet's Avatar feature
which was added in version 3.17. For that feature to
work, you will need the latest .js files - Specifically,
for this reader, you would need smbdefs.js and
avatar_lib.js. Added a new configuration setting,
displayAvatars, which toggles whether or not to display
user avatars in the message headers. Valid values are
true and false.
Also Added the new @-code MSG_FROM_AND_FROM_NET and
MSG_FROM_AND_FROM_NET-L (for left-justification with
field length), which shows the 'from' name with the from
network in parenthesis. Updated the default message
header to show that information.
Also contains various bug fixes.
1.16 2016-09-11 Added a new feature that allows users to forward a
message to an email address or to another user on the
BBS (using the O key). This can be useful, for
instance, if the user wants to send a message in a
public sub-board to their personal email for future
reference or send a message from a public sub-board to
another user to discuss the topic privately.
1.15 2016-08-29 - New user edit feature for sysops only: While reading
a message, the U key will edit the user account of the
author of the message (only if it's a local user account
on the BBS)
- Bug fix: Private reply on a networked sub-board
was no longer working (different from the bug fixed
in 1.14)
- Implemented a check to (hopefully) prevent a crash
related to parsing and replacing @-codes related to
file areas
1.14 2016-08-17 Bug fix: Version 1.13 was failing to reply to
private emails
1.13 2016-08-16 - Bug fix: Message number error when a new user starts
reading messages.
- Bug fix: Now, it should always successfully save a
message header with the READ attribute when the user
it was addressed to has read the message. This should
fix an issue where the same message would keep coming
up in a newscan, etc.
1.12 2016-05-11 - Updated the way the pause prompt is shown in the help
screen, in case the sysop has configured an external
module (Baja/JS) to run for a pause prompt.
- Potential bug fix: When translating a message number to
a message index, added a check to ensure the value is
a number, to (hopefully) avoid a potential crash.
1.11 2016-03-25 The reader now updates the number of new posts read by
the user during the session. This is represented by
bbs.posts_read in JavaScript. Also, did some internal
refactoring of the code, removing some old code leftover
from my message lister that is no longer needed in this
reader. DDMsgReader.js is a bit smaller due to the
refactor.
1.10 2016-02-19 Added a new configuration option,
readingPostOnSubBoardInsteadOfGoToNext, that affects what
happens after the user reads the last message on a
sub-board (for normal reading, not for newscans etc.): If
this is set to true, then the reader will prompt the user
if they want to post on the sub-board, then exit (this
is the stock Synchronet behavior). If this is set to
false, then the reader will prompt the user whether to go
to the next sub-board after reading the last message on a
sub-board. Also, added the postOnSubBoard text
configuration parameter for the theme filename, which
specifies the text to use for prompting the user if they
want to post on the sub-board after reading the last
message.
Added new configuration options areaChooserHdrFilenameBase
and areaChooserHdrMaxLines. These options specify the
filename base for a header file to use for the message
area chooser list and the maximum number of lines to use
from the area chooser header file. The filaname is
without the extension - The reader will first look for an
.ans version, then an .asc version. Additionally,
multiple header files can be used for different terminal
widths - For example, chooserMsgHdr-80.ans for an
80-column terminal, choosrMsgHdr-140.ans for a 140-column
terminal, etc.
Updated so that when using the message written dates
(instead of the imported dates) in the message list & area
chooser, it will adjust the message written dates to the
BBS's local time zone so that they are all consistent.
1.09 2016-01-15 Updated to not center the message header lines
horizontally. Now, it will display the header lines
starting on column 1. This was done to fix a display
issue in some terminal software.
1.08 2016-01-10 Bug fix: When scanning message sub-boards, it wasn't
always closing the sub-board when there were no new
messages, resulting in further sub-boards failing to open
after a while. That has been fixed.
1.07 2015-12-24 - Added the ability to select multiple messages (for
actions such as batch delete), and added the ability to
delete multiple selected messages. Batch deleting is
only allowed when the user has permission to delete
messages (such as their own personal email). Messages
can be selected in the following ways:
o Lightbar message list: The spacebar selects an
individual message. CTRL-A lets the user select or
un-select all messages.
o Traditional message list: The S key lets the user
select or un-select messages, by typing message
numbers, A to select all, or N to select none
(un-select all). The list of message numbers is
comma-separated or space-separated, allowing
for number ranges such as 120-130 for instance.
o Reader interface: The spacebar selects the message.
To delete the selected messages, the user must be in the
message list; the CTRL-D key combo is used for batch
delete, and it will prompt the user for confirmation
before deleting the messages.
- Added the following configurable items in the theme
file:
delSelectedMsgsConfirmText
selectedMsgsDeletedText
cannotDeleteAllSelectedMsgsText
selectedMsgMarkColor
1.06 2015-12-13 - Updated so that a sub-board new-message-scan (with the
new_msg_scan_cur_sub command-line parameter) can make
use of the -subBoard command-line option to scan a
specific sub-board, which may be different than the
user's current sub-board.
- Added a new configuration option, pauseAfterNewMsgScan,
which specifies whether or not to pause (i.e., with a
"finished" message) after doing a new message scan.
- Bug fix: The configFilename command-line parameter was
not being read correctly on startup; this has been fixed.
- Bug fix: Doing a new-message-scan should now always
display the correct sub-board @-code information in the
header above the message.
1.05 2015-12-06 - Improved displaying of messages with ANSI codes. The
reader now makes use of frame.js and scrollbar.js (in the
sync/exec/load directory) to enable a scrollable user
interface when displaying messages with ANSI content.
There is also a new configuration option,
readerInterfaceStyleForANSIMessages, which lets the sysop
configure whether to use a scrollable or traditional user
interface for ANSI messages. The reason for that option
is in case ANSI messages don't look good when using
frame.js & scrollbar.js - When set to a traditional user
interface for ANSI messages, the reader will use a
non-scrolling user interface for displaying messages with
ANSI codes, which simply sends the message to the client
and lets the client display the ANSI content.
- More kludge lines displayed (with the 'K' key), and
all message header lines are now displayed (with the
'H' key). This is a sysop feature.
- Color configuration options for the kludge/header line
labels (hdrLineLabelColor) and kludge/header line values
(hdrLineValueColor)
- Bug fix related to interpreting colors from other BBS
software (WWIV, PCBoard, Wildcat, Celerity, Renegade)
1.04 2015-10-10 - New feature: Users can now download attached files,
whether uploaded to their mailbox in Synchronet or
attached via internet email.
- New feature: Sysops can save a message to the BBS
machine (using the Ctrl-S key combo).
- User experience improvements: Added a pause after
saving a message so that the user can see Synchronet's
message save screen before going back to the reader or
message list. Also, in the message list, PageDown now
goes to the last message when on the last page, and
similarly, PageUp goes to the first message when on the
first page.
- Updated the DDReadPersonalMail.js loadable module
script to start reading personal email in lister mode
by default, which is more in line with what Synchronet
does by default. That will let the user select a message
to read first.
1.03 2015-07-12 Bug fix: In Linux, when replying to the last message in
a sub-board during a newscan or in read mode, it would
not immediately refresh the messagebase information, so
it would not see the new message posted. This has been
fixed by closing the messagebase while the user is
posting a reply message and re-opening the messagebase
when the user is done posting the reply.
1.02 2015-06-10 Bug fix in DDScanMsgs.js: Switched to bbs.scan_msgs()
instead of bbs.scan_subs() for all other scan modes
besides SCAN_READ. Updated the version number to
reflect that; no change to the actual reader.
1.01 2015-05-17 Bug fix: The enhanced reader header file is now correctly
displayed even if the lengths of its lines are
inconsistent.
1.00 2015-05-06 Initial release