• NNTP and To: field

    From Carlos Navarro@2:341/234.1 to Digital Man on Tuesday, November 11, 2025 21:29:34
    04 Nov 2025 14:01, you wrote to me:

    Replies in echomail areas through Synchronet's NNTP server include
    "All" in the To: field. I had assumed this was standard behavior
    for SBBS, similar to the old NNTP-FTN gateways. (However, the REPLY
    kludge appears to be functioning correctly, allowing messages to be
    properly threaded.)

    After reviewing the source code of nntpservice.js, I discovered a
    function named getReferenceTo. If I'm not mistaken, this function
    should return the recipient's name, but it defaults to "All" when a
    recipient isn't found.

    Could it be that this function isn't working as intended?

    If a recipient isn't found, "All" seems like a sensible default. Are
    you saying the failure to find a recipient is a bug? Feel free to play
    with it and offer up a patch if you have one.

    I've been playing a bit and here's a patch. Edit nntpservice.js (line 107 in revision 1.2, or line 111 in current 1.3) and change:

    var hdr2 = mb.get_msg_header(hdr.reply_id);

    to:

    var hdr2 = mb.get_msg_header(hdr.reply_id + '');

    There may be another way, but this seems to work.

    Carlos

    --- GoldED+/W32-MSVC 1.1.5-b20180707
    * Origin: cyberiada (2:341/234.1)
  • From Digital Man@1:103/705 to Carlos Navarro on Tuesday, November 11, 2025 14:08:17
    Re: NNTP and To: field
    By: Carlos Navarro to Digital Man on Tue Nov 11 2025 09:29 pm

    I've been playing a bit and here's a patch. Edit nntpservice.js (line 107 in revision 1.2, or line 111 in current 1.3) and change:

    var hdr2 = mb.get_msg_header(hdr.reply_id);

    to:

    var hdr2 = mb.get_msg_header(hdr.reply_id + '');

    There may be another way, but this seems to work.

    That change would just change (force) hdr.reply_id to be a string. It should already be a string, so that change should do nothing.
    --
    digital man (rob)

    Sling Blade quote #11:
    Doyle Hargraves (to Karl): What in the hell you doin' with that hammer?
    Norco, CA WX: 79.1øF, 38.0% humidity, 4 mph W wind, 0.00 inches rain/24hrs
    --- SBBSecho 3.31-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Carlos Navarro@2:341/234.1 to Digital Man on Wednesday, November 12, 2025 19:47:34
    11 Nov 2025 14:08, you wrote to me:

    I've been playing a bit and here's a patch. Edit nntpservice.js
    (line 107 in revision 1.2, or line 111 in current 1.3) and change:

    var hdr2 = mb.get_msg_header(hdr.reply_id);

    to:

    var hdr2 = mb.get_msg_header(hdr.reply_id + '');

    There may be another way, but this seems to work.

    That change would just change (force) hdr.reply_id to be a string. It
    should already be a string, so that change should do nothing.

    However, hdr.reply_id is not a string, but an object (a string object). And then, mb.get_msg_header() doesn't find anything and returns null.

    I guess that something has to be fixed elsewhere (I am not familiar with Synchronet's code), but my quick patch doesn't break anything and it works for now: replies in echomail via NNTP have "To: recipient" instead of "To: All".

    Carlos

    --- GoldED+/W32-MSVC 1.1.5-b20180707
    * Origin: cyberiada (2:341/234.1)
  • From Digital Man@1:103/705 to Carlos Navarro on Wednesday, November 12, 2025 23:01:20
    Re: NNTP and To: field
    By: Carlos Navarro to Digital Man on Wed Nov 12 2025 07:47 pm

    That change would just change (force) hdr.reply_id to be a string. It should already be a string, so that change should do nothing.

    However, hdr.reply_id is not a string, but an object (a string object).

    A string object is a string - they're the same thing.

    And
    then, mb.get_msg_header() doesn't find anything and returns null.

    Very weird. What version of SBBS is this?

    I guess that something has to be fixed elsewhere (I am not familiar with Synchronet's code), but my quick patch doesn't break anything and it works for now: replies in echomail via NNTP have "To: recipient" instead of "To: All".

    I'll look into it more.
    --
    digital man (rob)

    Steven Wright quote #29:
    To steal ideas from one person is plagiarism; to steal from many is research. Norco, CA WX: 63.2øF, 72.0% humidity, 0 mph NE wind, 0.00 inches rain/24hrs
    --- SBBSecho 3.31-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Carlos Navarro@2:341/200 to Accession on Thursday, November 13, 2025 08:04:06
    09/11/2025 15:26, Accession (1:103/705):

    This is a reply to a message from Accession in the SYNCHRONET echomail area, sent via Thunderbird on the NNTP server of a Synchronet-based BBS. The message will likely be posted to the echo with recipient "To: All" instead of "To: Accession"

    You were correct. It came through addressed to "All".

    Another reply, but now with the patch I posted (thanks for testing, Angel).

    Carlos
    --- SBBSecho 3.32-Linux
    * Origin: Zruspa's BBS - bbs.zruspas.org (2:341/200)
  • From Digital Man@1:103/705 to Carlos Navarro on Wednesday, November 12, 2025 23:21:14
    Re: NNTP and To: field
    By: Digital Man to Carlos Navarro on Wed Nov 12 2025 11:01 pm

    I guess that something has to be fixed elsewhere (I am not familiar with Synchronet's code), but my quick patch doesn't break anything and it works for now: replies in echomail via NNTP have "To: recipient" instead of "To: All".

    I'll look into it more.

    I just wrote and executed a quick test and the msg header reply_id property does appear to be a string, as expected:

    var msgbase = new MsgBase("test");
    if(!msgbase.open())
    exit();
    var hdr = msgbase.get_msg_header(27);
    print(typeof hdr.reply_id);

    when run, prints 'string'.
    --
    digital man (rob)

    Steven Wright quote #1:
    I'd kill for a Nobel Peace Prize.
    Norco, CA WX: 64.0øF, 71.0% humidity, 0 mph NNW wind, 0.00 inches rain/24hrs --- SBBSecho 3.31-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Carlos Navarro@2:341/234.1 to Digital Man on Thursday, November 13, 2025 18:08:55
    12 Nov 2025 23:21, you wrote to me:

    I just wrote and executed a quick test and the msg header reply_id
    property does appear to be a string, as expected:

    var msgbase = new MsgBase("test");
    if(!msgbase.open())
    exit();
    var hdr = msgbase.get_msg_header(27);
    print(typeof hdr.reply_id);

    when run, prints 'string'.

    Ok, in that script nothing happens to hdr after loading from the MSGbase. But in nntpservice.js, before being passed to function getReferenceTo, it is processed by function parse_news_header (in newsutil.js). It seems hdr.reply_id is then an array of string (typeof "object"). I think it happens here:

    hdr.reply_id = data.match(/<[^\<]*>$/);

    Carlos

    --- GoldED+/W32-MSVC 1.1.5-b20180707
    * Origin: cyberiada (2:341/234.1)
  • From Accession@1:103/705 to Carlos Navarro on Thursday, November 13, 2025 17:01:53
    Hey Carlos!

    On Wed, Nov 13 2025 01:04:06 -0600, you wrote:

    This is a reply to a message from Accession in the SYNCHRONET
    echomail area, sent via Thunderbird on the NNTP server of a
    Synchronet-based BBS. The message will likely be posted to the
    echo with recipient "To: All" instead of "To: Accession"

    You were correct. It came through addressed to "All".

    Another reply, but now with the patch I posted (thanks for testing,
    Angel).

    Looks good from here. I'm still using my convoluted way, but I'm
    watching this closely to see what comes of it.

    Thanks for bringing it up!

    Regards,
    Nick

    ... Sarcasm, because beating people up is illegal.
    ---
    ï¿­ Synchronet ï¿­ _thePharcyde telnet://bbs.pharcyde.org (Wisconsin)
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Digital Man@1:103/705 to Carlos Navarro on Friday, November 14, 2025 12:03:12
    Re: NNTP and To: field
    By: Carlos Navarro to Digital Man on Thu Nov 13 2025 06:08 pm

    12 Nov 2025 23:21, you wrote to me:

    I just wrote and executed a quick test and the msg header reply_id property does appear to be a string, as expected:

    var msgbase = new MsgBase("test");
    if(!msgbase.open())
    exit();
    var hdr = msgbase.get_msg_header(27);
    print(typeof hdr.reply_id);

    when run, prints 'string'.

    Ok, in that script nothing happens to hdr after loading from the MSGbase. But in nntpservice.js, before being passed to function getReferenceTo, it is processed by function parse_news_header (in newsutil.js). It seems hdr.reply_id is then an array of string (typeof "object"). I think it happens here:

    hdr.reply_id = data.match(/<[^\<]*>$/);

    Thank you!

    Looks like a bug introduced in https://gitlab.synchro.net/main/sbbs/-/commit/9bf86ab10c206945417c45d98f09

    I'll fix that right up and appreciate your testing and detailed feedback!
    --
    digital man (rob)

    Steven Wright quote #10:
    The early bird may get the worm, but the second mouse gets the cheese.
    Norco, CA WX: 59.8øF, 90.0% humidity, 0 mph WNW wind, 0.09 inches rain/24hrs --- SBBSecho 3.31-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Carlos Navarro@2:341/234.1 to Accession on Wednesday, November 19, 2025 17:21:04
    09 Nov 2025 08:54, you wrote to me:

    Interesting! Could you share how to do that in TB?

    Here is a message posted with Thunderbird with the "X-Comment-To"
    field filled in.

    This is the only way I could do it with TB, and while it's not super friendly (you'll forget to do it sometimes, probably), it works:

    Settings > Config Editor

    - Search for 'mail.compose.other.header', edit it and put
    "X-Comment-To" without quotes.

    When you write/reply to a message, in the header there it says
    "Followup-To >>", hit the ">>" drop down menu, and "X-Comment-To"
    will be an option to select now. Then, fill it in with who you're
    writing the message to (yes, manually).

    Thank you.

    This can still be useful even if the "To: All" issue has been fixed in SBBS's NNTP server. You can use it this to change the default recipient to another one (or to set one when posting a new message), just like when you write "to: some one" in the first line of the message text in JamNNTPd.

    Carlos

    --- GoldED+/W32-MSVC 1.1.5-b20180707
    * Origin: cyberiada (2:341/234.1)
  • From Accession@1:103/705 to Carlos Navarro on Wednesday, November 19, 2025 17:36:53
    Hey Carlos!

    On Tue, Oct 19 2025 10:21:04 -0600, you wrote:

    When you write/reply to a message, in the header there it says
    "Followup-To >>", hit the ">>" drop down menu, and "X-Comment-
    To" will be an option to select now. Then, fill it in with who
    you're writing the message to (yes, manually).

    Thank you.

    Of course!

    This can still be useful even if the "To: All" issue has been fixed> in SBBS's NNTP server. You can use it this to change the default
    recipient to another one (or to set one when posting a new message),
    just like when you write "to: some one" in the first line of the
    message text in JamNNTPd.
    I am also keeping the config editor mod in place, for this very reason. However, it's now much easier to reply and not have to worry about filling in the name you're replying to manually every time. Now, you only have to do it if you're forcing it to someone else, or as you said, want to direct a /new/ message to someone besides "All".

    Thanks for catching this, and an amazing, informative description! I had asked DM about this a while back, but I couldn't describe it nearly as well, or find where in the code it was causing it not to work, like you did. So I left it alone and went with what I was doing with TB, because I would have made a fool of myself trying to report it while just getting at stuff. ;)

    Regards,
    Nick

    ... Sarcasm, because beating people up is illegal.
    ---
    ï¿­ Synchronet ï¿­ _thePharcyde telnet://bbs.pharcyde.org (Wisconsin)
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)