• exec/sbbslist.js

    From rswindell@VERT to CVS commit on Thursday, October 04, 2018 06:31:00
    exec sbbslist.js 1.39 1.40
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv24685

    Modified Files:
    sbbslist.js
    Log Message:
    Improvements to the verify_services() method (used only on Vertrauen, likely) and the "imsglist" command (ditto) - better dupe detection.



    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Monday, October 22, 2018 06:23:00
    exec sbbslist.js 1.40 1.41
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv11349

    Modified Files:
    sbbslist.js
    Log Message:
    When displaying additional terminal services, include the description if the protocol is repeated (e.g. Telnet).
    When adding/inserting in arrays of items, break the loop if they enter an
    empty string. Cancel the add item if the first field is blank.


    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Tuesday, January 01, 2019 13:32:00
    exec sbbslist.js 1.41 1.42
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv27731

    Modified Files:
    sbbslist.js
    Log Message:
    If you "sbbslist update" but the BBS isn't listed, don't return an error
    (-1), since new installs won't yet be listed in their own database (yet).



    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Tuesday, January 01, 2019 14:59:00
    exec sbbslist.js 1.42 1.43
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv14074

    Modified Files:
    sbbslist.js
    Log Message:
    Don't crash when the 'E'dit and 'R'emove commands are used with an empty
    list.



    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Sunday, January 13, 2019 02:45:00
    exec sbbslist.js 1.43 1.44
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv9297

    Modified Files:
    sbbslist.js
    Log Message:
    Moved list of common_bbs_services from exec/sbbslist.js to load/sbbslist_lib.js Removed TCP/IP services not supported by BBS clients (e.g. SyncTERM) from the list (e.g. ftp, nntp, smtp, binkp, irc) and added "modem".



    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Thursday, January 24, 2019 02:13:00
    exec sbbslist.js 1.44 1.45
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv32173

    Modified Files:
    sbbslist.js
    Log Message:
    Don't import deleted sbl.dab entries (the first character of the BBS's
    name is a 0).



    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Friday, January 25, 2019 01:07:00
    exec sbbslist.js 1.45 1.46
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv3527

    Modified Files:
    sbbslist.js
    Log Message:
    Added support for exporting and importing "SBL-Remove" messages to remotely remove a BBS entry (e.g. your own) from remote databases. You can remove
    any entry (as before) with "jsexec sbbslist remove=<name>", add the '-remote' option and it'll post an SBL-Remove message to the SYNCDATA sub.
    The new "delete" option is the same, but automatically uses your local BBS
    name as the name of the entry to be deleted/removed (you still need the -remote option to create an SBL-Remove message).
    A confirmation prompt was added.
    The "Name:" portion fo the SBL-Remove message body is not actually needed /parsed right now but makes a good sanity check for message subject (BBS name) truncation or manipulation, should that be a problem.


    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Wednesday, July 24, 2019 22:15:45
    exec sbbslist.js 1.53 1.54
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv27721

    Modified Files:
    sbbslist.js
    Log Message:
    Use cached avatar_lib.



    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From nightfox@VERT to CVS commit on Thursday, November 14, 2019 23:37:04
    exec sbbslist.js 1.54 1.55
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv3190

    Modified Files:
    sbbslist.js
    Log Message:
    More efficient screen updates (i.e., when using the up & down arrows, only move the lightbar on the 2 affected rows, don't redraw the whole list unless going to the next/previous page)


    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Digital Man@VERT to nightfox on Saturday, November 16, 2019 23:15:40
    Re: exec/sbbslist.js
    By: nightfox to CVS commit on Thu Nov 14 2019 03:37 pm

    exec sbbslist.js 1.54 1.55
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv3190

    Modified Files:
    sbbslist.js
    Log Message:
    More efficient screen updates (i.e., when using the up & down arrows, only move the lightbar on the 2 affected rows, don't redraw the whole list unless going to the next/previous page)

    Cool that you took the time to do this. I do have some comments however:

    1. Introduces a cosmetic bug, as you can see here, the last character of the inversed/selection line remains after moving the selection down one:
    https://1drv.ms/u/s!ApZPvWcrEaRQvMcp2zTjElCRGYN_Zw?e=htqMfv

    2. This commit includes an arbitray style change, e.g.:
    /* Column headings */
    to:
    // Column headings
    If you want to make style changes unrelated to your change, do that in a separate commit.

    3. With just a few minor tweaks, this optimization works for PETSCII terminals too (you can easily use SyncTERM in PETSCII, e.g. C128 mode, to test PETSCII).

    4. Could we minimize the number of "redraw_whole_list = true" statements by defaulting this value to true rather than false? It seems there's a whole lot of them.

    5. You added 2 new function definitions *after* main(), inconsistent with the style used in this source file prior to your touching it. Maybe you just didn't notice, but all other function definitions in this file occurred *prior* to the main() definition.

    6. If there are any other bugs with this enhancement, it would be nice to allow a sysop to "opt-out" (e.g. via a modopts.ini setting) rather than having to go back to a previous revision if there's an issue. I have no idea how well the script was tested with your changes.

    digital man

    Synchronet/BBS Terminology Definition #1:
    ANSI = American National Standards Institute
    Norco, CA WX: 82.8øF, 32.0% humidity, 0 mph NE wind, 0.00 inches rain/24hrs

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Digital Man@VERT to nightfox on Saturday, November 16, 2019 23:20:32
    Re: exec/sbbslist.js
    By: Digital Man to nightfox on Sat Nov 16 2019 03:15 pm

    6. If there are any other bugs with this enhancement, it would be nice to allow a sysop to "opt-out" (e.g. via a modopts.ini setting) rather than having to go back to a previous revision if there's an issue. I have no idea how well the script was tested with your changes.

    Here's another cosmetic bug newly introduced with your changes: https://1drv.ms/u/s!ApZPvWcrEaRQvMcqKm0mDhi3M2qlqg?e=TtWm9L

    This happens when the user presses the END key to go to the list.

    digital man

    Synchronet "Real Fact" #15:
    SBBSecho was introduced (replacing SBBSFIDO) for Synchronet v2 in 1994.
    Norco, CA WX: 82.8øF, 32.0% humidity, 0 mph NE wind, 0.00 inches rain/24hrs

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Nightfox@VERT/DIGDIST to Digital Man on Sunday, November 17, 2019 01:40:11
    Re: exec/sbbslist.js
    By: Digital Man to nightfox on Sat Nov 16 2019 03:15 pm

    Cool that you took the time to do this. I do have some comments however:

    1. Introduces a cosmetic bug, as you can see here, the last character of the inversed/selection line remains after moving the selection down one: https://1drv.ms/u/s!ApZPvWcrEaRQvMcp2zTjElCRGYN_Zw?e=htqMfv

    Yep, will have to look into that.

    2. This commit includes an arbitray style change, e.g.:
    /* Column headings */
    to:
    // Column headings
    If you want to make style changes unrelated to your change, do that in a separate commit.

    Ah, will make note of that.

    3. With just a few minor tweaks, this optimization works for PETSCII terminals too (you can easily use SyncTERM in PETSCII, e.g. C128 mode, to test PETSCII).

    I'll have to try that out.

    4. Could we minimize the number of "redraw_whole_list = true" statements by defaulting this value to true rather than false? It seems there's a whole lot of them.

    Yeah, I'll try to reduce those.

    5. You added 2 new function definitions *after* main(), inconsistent with the style used in this source file prior to your touching it. Maybe you just didn't notice, but all other function definitions in this file occurred *prior* to the main() definition.

    I'll change that. I didn't really notice and didn't think that would really be an issue.

    6. If there are any other bugs with this enhancement, it would be nice to allow a sysop to "opt-out" (e.g. via a modopts.ini setting) rather than having to go back to a previous revision if there's an issue. I have no idea how well the script was tested with your changes.

    Seems like for a modopts.ini setting for this, the mod would then have to have 2 versions of the code in it to support toggling it on/off..

    Nightfox

    ---
    þ Synchronet þ Digital Distortion: digitaldistortionbbs.com
  • From Nightfox@VERT/DIGDIST to Digital Man on Sunday, November 17, 2019 01:40:46
    Re: exec/sbbslist.js
    By: Digital Man to nightfox on Sat Nov 16 2019 03:20 pm

    6. If there are any other bugs with this enhancement, it would be nice
    to allow a sysop to "opt-out" (e.g. via a modopts.ini setting) rather
    than having to go back to a previous revision if there's an issue. I
    have no idea how well the script was tested with your changes.

    Here's another cosmetic bug newly introduced with your changes: https://1drv.ms/u/s!ApZPvWcrEaRQvMcqKm0mDhi3M2qlqg?e=TtWm9L

    This happens when the user presses the END key to go to the list.

    Where's the cosmetic bug? I'm not sure I'm seeing an issue in that screenshot..

    Nightfox

    ---
    þ Synchronet þ Digital Distortion: digitaldistortionbbs.com
  • From Nightfox@VERT/DIGDIST to Digital Man on Sunday, November 17, 2019 02:21:42
    Re: exec/sbbslist.js
    By: Digital Man to nightfox on Sat Nov 16 2019 03:15 pm

    3. With just a few minor tweaks, this optimization works for PETSCII terminals too (you can easily use SyncTERM in PETSCII, e.g. C128 mode, to test PETSCII).

    I tried logging into my BBS using C128 80-column and 40-colum modes, and even the previous version (1.54) didn't look good or behave very well - For instance, when pressing the up & down arrows, I didn't notice any change on the screen, and viewing the selected BBS always viewed the first one on the screen. Should sbbslist.js already works with PETSCII?

    Nightfox

    ---
    þ Synchronet þ Digital Distortion: digitaldistortionbbs.com
  • From nightfox@VERT to CVS commit on Sunday, November 17, 2019 02:25:01
    exec sbbslist.js 1.55 1.56
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv13101

    Modified Files:
    sbbslist.js
    Log Message:
    Addressing a few issues noted in the previous commit: Functions declared after main() are now before main(). Fixes a display glitch when moving the selected BBS using the up/down arrow keys. The redraw_whole_list variable now defaults to true and is set to false when needed, minimizing the number of times it needs to be changed.


    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Digital Man@VERT to Nightfox on Sunday, November 17, 2019 05:38:05
    Re: exec/sbbslist.js
    By: Nightfox to Digital Man on Sat Nov 16 2019 05:40 pm

    Re: exec/sbbslist.js
    By: Digital Man to nightfox on Sat Nov 16 2019 03:20 pm

    6. If there are any other bugs with this enhancement, it would be nice
    to allow a sysop to "opt-out" (e.g. via a modopts.ini setting) rather
    than having to go back to a previous revision if there's an issue. I
    have no idea how well the script was tested with your changes.

    Here's another cosmetic bug newly introduced with your changes: https://1drv.ms/u/s!ApZPvWcrEaRQvMcqKm0mDhi3M2qlqg?e=TtWm9L

    This happens when the user presses the END key to go to the list.

    Where's the cosmetic bug? I'm not sure I'm seeing an issue in that screenshot..

    See the blank rows after the last entry (Jay's Cafe')? Those aren't there when using rev 1.54 or earlier.

    digital man

    Synchronet/BBS Terminology Definition #70:
    SyncEdit = A defunct 3rd party full-screen editor written for Synchronet
    Norco, CA WX: 73.4øF, 24.0% humidity, 0 mph SSE wind, 0.00 inches rain/24hrs

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Digital Man@VERT to Nightfox on Sunday, November 17, 2019 05:39:30
    Re: exec/sbbslist.js
    By: Nightfox to Digital Man on Sat Nov 16 2019 06:21 pm

    Re: exec/sbbslist.js
    By: Digital Man to nightfox on Sat Nov 16 2019 03:15 pm

    3. With just a few minor tweaks, this optimization works for PETSCII terminals too (you can easily use SyncTERM in PETSCII, e.g. C128 mode, to test PETSCII).

    I tried logging into my BBS using C128 80-column and 40-colum modes, and even the previous version (1.54) didn't look good or behave very well - For instance, when pressing the up & down arrows, I didn't notice any change on the screen, and viewing the selected BBS always viewed the first one on the screen. Should sbbslist.js already works with PETSCII?

    Yeah, works great in PETSCII mode. Maybe you're using an old or weird (not the latest and not v1.0) version of SyncTERM?

    digital man

    Synchronet/BBS Terminology Definition #65:
    SMTP = Simple Message Transfer Protocol
    Norco, CA WX: 73.4øF, 24.0% humidity, 0 mph SSE wind, 0.00 inches rain/24hrs

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Digital Man@VERT to Nightfox on Sunday, November 17, 2019 05:42:19
    Re: exec/sbbslist.js
    By: Nightfox to Digital Man on Sat Nov 16 2019 05:40 pm

    5. You added 2 new function definitions *after* main(), inconsistent with the style used in this source file prior to your touching it. Maybe you just didn't notice, but all other function definitions in this file occurred *prior* to the main() definition.

    I'll change that. I didn't really notice and didn't think that would really be an issue.

    It's not so much an "issue" as it is a non-conformant practice. "Best practice" when modifiying someone's else's source code is to follow their example/style, if/when you can. That's all. Ideally, when looking at a source file, it shouldn't be obvious that some parts were written by different developers.

    digital man

    Synchronet/BBS Terminology Definition #5:
    BBS = Bulletin Board System
    Norco, CA WX: 74.1øF, 22.0% humidity, 0 mph SSW wind, 0.00 inches rain/24hrs

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From nightfox@VERT to CVS commit on Sunday, November 17, 2019 23:18:37
    exec sbbslist.js 1.56 1.57
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv9335

    Modified Files:
    sbbslist.js
    Log Message:
    Resolution for the issue of there sometimes being a few empty lines between the end of the BBS list and the prompt text - For example, on the last page if the BBS entries don't fill the whole screen.


    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Nightfox@VERT/DIGDIST to Digital Man on Sunday, November 17, 2019 23:16:51
    Re: exec/sbbslist.js
    By: Digital Man to Nightfox on Sat Nov 16 2019 09:39 pm

    Yeah, works great in PETSCII mode. Maybe you're using an old or weird (not the latest and not v1.0) version of SyncTERM?

    I was using a v1.1b build from June of this year. I tried downloading the latest build, but it looked the same.

    Using the 1.54 version of sbbslist.js, this is a screenshot of what I see using the C128 80-column mode - After I ran the SBBS list, I pressed the right arrow. One thing I noticed is that in the word "sYNCHRONET", the 's' starts at the last column in the first row:
    http://www.digitaldistortionbbs.com:81/sbbslist-petscii/sl154-p80-rarrow.png

    And this is what I see in C128 40-column mode - It looks like it's not wrapping properly, and the 2 header lines don't show up:
    http://www.digitaldistortionbbs.com:81/sbbslist-petscii/sl154-p40.png

    That's why I was wondering if sbbslist.js was currently working with PETSCII or not.

    Nightfox

    ---
    þ Synchronet þ Digital Distortion: digitaldistortionbbs.com
  • From Digital Man@VERT to Nightfox on Monday, November 18, 2019 00:38:37
    Re: exec/sbbslist.js
    By: Nightfox to Digital Man on Sun Nov 17 2019 03:16 pm

    Re: exec/sbbslist.js
    By: Digital Man to Nightfox on Sat Nov 16 2019 09:39 pm

    Yeah, works great in PETSCII mode. Maybe you're using an old or weird (not the latest and not v1.0) version of SyncTERM?

    I was using a v1.1b build from June of this year. I tried downloading the latest build, but it looked the same.

    Using the 1.54 version of sbbslist.js, this is a screenshot of what I see using the C128 80-column mode - After I ran the SBBS list, I pressed the right arrow. One thing I noticed is that in the word "sYNCHRONET", the 's' starts at the last column in the first row: http://www.digitaldistortionbbs.com:81/sbbslist-petscii/sl154-p80-rarrow.png

    You're not in PETSCII mode. Logon to Vertrauen, port 64 (for 40-column PETSCII) or port 128 (for 80-column PETSCII) to see what you should be seeing in PETSCII mode.

    And this is what I see in C128 40-column mode - It looks like it's not wrapping properly, and the 2 header lines don't show up: http://www.digitaldistortionbbs.com:81/sbbslist-petscii/sl154-p40.png

    That's why I was wondering if sbbslist.js was currently working with PETSCII or not.

    Whatever BBS you're connected to doesn't appear to be setup to accept PETSCII users.

    digital man

    Synchronet/BBS Terminology Definition #55:
    POP3 = Post Office Protocol version 3
    Norco, CA WX: 85.0øF, 12.0% humidity, 0 mph S wind, 0.00 inches rain/24hrs

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Nightfox@VERT/DIGDIST to Digital Man on Monday, November 18, 2019 02:28:46
    Re: exec/sbbslist.js
    By: Digital Man to Nightfox on Sun Nov 17 2019 04:38 pm

    Whatever BBS you're connected to doesn't appear to be setup to accept PETSCII users.

    That's my BBS. :P What option do I need to enable to accept PETSCII users?

    Nightfox

    ---
    þ Synchronet þ Digital Distortion: digitaldistortionbbs.com
  • From Nightfox@VERT/DIGDIST to Digital Man on Monday, November 18, 2019 02:49:19
    Re: exec/sbbslist.js
    By: Nightfox to Digital Man on Sun Nov 17 2019 06:28 pm

    That's my BBS. :P What option do I need to enable to accept PETSCII users?

    I see the option now - I see there are options in sbbs.ini for the ports for PETSCII 40-column and 80-column. I tried connecting to my BBS at those ports but I couldn't connect - I'll have to look into that.

    Nightfox

    ---
    þ Synchronet þ Digital Distortion: digitaldistortionbbs.com
  • From Digital Man@VERT to Nightfox on Monday, November 18, 2019 03:03:41
    Re: exec/sbbslist.js
    By: Nightfox to Digital Man on Sun Nov 17 2019 06:49 pm

    Re: exec/sbbslist.js
    By: Nightfox to Digital Man on Sun Nov 17 2019 06:28 pm

    That's my BBS. :P What option do I need to enable to accept PETSCII users?

    I see the option now - I see there are options in sbbs.ini for the ports for PETSCII 40-column and 80-column. I tried connecting to my BBS at those ports but I couldn't connect - I'll have to look into that.

    I wrote up a how-to:
    http://wiki.synchro.net/howto:petscii

    Hopefully that helps.

    digital man

    Synchronet "Real Fact" #104:
    Synchronet channel: http://www.youtube.com/channel/UCsQ8iXU5yvrybyoEgo__97A Norco, CA WX: 75.1øF, 18.0% humidity, 0 mph WSW wind, 0.00 inches rain/24hrs

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Nightfox@VERT/DIGDIST to Digital Man on Wednesday, November 20, 2019 03:46:36
    Re: exec/sbbslist.js
    By: Digital Man to Nightfox on Sun Nov 17 2019 07:03 pm

    I wrote up a how-to:
    http://wiki.synchro.net/howto:petscii

    Hopefully that helps.

    Thanks. I figured it out from an example in a newer sbbs.ini, to specify additional addresses & ports to listen to on the telnet server.

    For the screen refresh update with sbbslist.js, to get rid of the UI glitch where it was leaving a blue character at the end of the lines, I added these 2 lines to the list_bbs_entry() function:

    console_color(color, selected);
    console.cleartoeol();

    That seems to work okay for an ANSI client, but for PETSCII, I still see a similar weird glitch for the first BBS entry on a page. For example, the following 4 screenshots are for PETSCII using the up & down arrows:

    http://www.digitaldistortionbbs.com:81/sbbslist-petscii/1.png http://www.digitaldistortionbbs.com:81/sbbslist-petscii/2.png http://www.digitaldistortionbbs.com:81/sbbslist-petscii/3.png http://www.digitaldistortionbbs.com:81/sbbslist-petscii/4.png

    I'm not sure what might be causing the glitch on the first entry, and only for PETSCII..

    Nightfox

    ---
    þ Synchronet þ Digital Distortion: digitaldistortionbbs.com
  • From Digital Man@VERT to Nightfox on Wednesday, November 20, 2019 05:20:11
    Re: exec/sbbslist.js
    By: Nightfox to Digital Man on Tue Nov 19 2019 07:46 pm

    Re: exec/sbbslist.js
    By: Digital Man to Nightfox on Sun Nov 17 2019 07:03 pm

    I wrote up a how-to:
    http://wiki.synchro.net/howto:petscii

    Hopefully that helps.

    Thanks. I figured it out from an example in a newer sbbs.ini, to specify additional addresses & ports to listen to on the telnet server.

    For the screen refresh update with sbbslist.js, to get rid of the UI glitch where it was leaving a blue character at the end of the lines, I added these 2 lines to the list_bbs_entry() function:

    console_color(color, selected);
    console.cleartoeol();

    That seems to work okay for an ANSI client, but for PETSCII, I still see a similar weird glitch for the first BBS entry on a page. For example, the following 4 screenshots are for PETSCII using the up & down arrows:

    http://www.digitaldistortionbbs.com:81/sbbslist-petscii/1.png http://www.digitaldistortionbbs.com:81/sbbslist-petscii/2.png http://www.digitaldistortionbbs.com:81/sbbslist-petscii/3.png http://www.digitaldistortionbbs.com:81/sbbslist-petscii/4.png

    I'm not sure what might be causing the glitch on the first entry, and only for PETSCII..

    It's not obvious to me what would cause that. I see that the BBS Location field for that line seems to be displayed one-char to the right too. These problems don't appear in revisions of sbbslist.js before your changes, so it must be something new. <shrug>

    There is a difference in how ANSI cleartoeol() and non-ANSI (e.g. PETSCII) cleartoeol() works, but it certainly seems to work in all other use-cases. I use it a lot in Minesweeper as well, no problems in PETSCII mode.

    You tried different versions of SyncTERM too?

    digital man

    This Is Spinal Tap quote #3:
    How much more black could this be? and the answer is none. None more black. Norco, CA WX: 61.8øF, 81.0% humidity, 4 mph ESE wind, 0.01 inches rain/24hrs

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Nightfox@VERT/DIGDIST to Digital Man on Wednesday, November 20, 2019 06:05:22
    Re: exec/sbbslist.js
    By: Digital Man to Nightfox on Tue Nov 19 2019 09:20 pm

    I'm not sure what might be causing the glitch on the first entry, and only
    for PETSCII..

    It's not obvious to me what would cause that. I see that the BBS Location field for that line seems to be displayed one-char to the right too. These problems don't appear in revisions of sbbslist.js before your changes, so it must be something new. <shrug>

    It seems to have issues even with the display_bbs_entry() function unchanged. I have a feeling it may have something to do with refreshing individual BBS entry lines (compared to writing a whole screenful of BBS entries), though I'm not sure.

    There is a difference in how ANSI cleartoeol() and non-ANSI (e.g. PETSCII) cleartoeol() works, but it certainly seems to work in all other use-cases. I use it a lot in Minesweeper as well, no problems in PETSCII mode.

    I've noticed some slight difference in behavior with cleartoeol()..

    You tried different versions of SyncTERM too?

    I haven't, but I might give that a try.

    Nightfox

    ---
    þ Synchronet þ Digital Distortion: digitaldistortionbbs.com
  • From nightfox@VERT to CVS commit on Wednesday, November 20, 2019 17:26:27
    exec sbbslist.js 1.57 1.58
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv16161

    Modified Files:
    sbbslist.js
    Log Message:
    Improved the optimized screen drawing behavior for PETSCII. There's still a glitch in refreshing the last character on the row when moving the lightbar with the up/down arrow keys, but it's more well-behaved now for PETSCII.


    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Mortifis@VERT/ALLEYCAT to nightfox on Thursday, November 21, 2019 06:16:50
    exec sbbslist.js 1.57 1.58
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv16161

    Modified Files:
    sbbslist.js
    Log Message:
    Improved the optimized screen drawing behavior for PETSCII. There's still a glitch in refreshing the last character on the row when moving the lightbar with the up/down arrow keys, but it's more well-behaved now for PETSCII.

    if(console.terminal.toUpperCase() === 'PETSCII') var line_screen_len = (strip_ctrl(txt).length - 1) else var line_screen_len = strip_ctrl(txt).length

    ???

    ---
    þ Synchronet þ AlleyCat! BBS - http://alleycat.synchro.net:81
  • From Nightfox@VERT/DIGDIST to Mortifis on Thursday, November 21, 2019 03:16:39
    Re: Re: exec/sbbslist.js
    By: Mortifis to nightfox on Wed Nov 20 2019 10:16 pm

    if(console.terminal.toUpperCase() === 'PETSCII') var line_screen_len = (strip_ctrl(txt).length - 1) else var line_screen_len = strip_ctrl(txt).length

    ???

    What's your question? I don't see that code in sbbslist.js.. Are you trying to suggest a piece of code, or..?

    Nightfox

    ---
    þ Synchronet þ Digital Distortion: digitaldistortionbbs.com
  • From Digital Man@VERT to nightfox on Sunday, December 08, 2019 01:26:03
    Re: exec/sbbslist.js
    By: nightfox to CVS commit on Wed Nov 20 2019 09:26 am

    exec sbbslist.js 1.57 1.58
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv16161

    Modified Files:
    sbbslist.js
    Log Message:
    Improved the optimized screen drawing behavior for PETSCII. There's still a glitch in refreshing the last character on the row when moving the lightbar with the up/down arrow keys, but it's more well-behaved now for PETSCII.

    Looking at your changes, I have a question:

    var txt = format("%-*s%c", lib.max_len.name, bbs.name, selected ? '<' : ' ');
    console.print(txt);
    var line_screen_len = strip_ctrl(txt).length; // To help clearing to EOL for PETSCII

    What control characters or sequences in 'txt' would you expect to be stripping at this point? There shouldn't be any in bbs.name and '<' and ' ' aren't control characters, so I'm confused by this logic. It looks like maybe you copy/pasted this design pattern into a few places and some where it's not applicable.

    Also, the correct way to measure the number of columns that would be represented by a printed string (accounting for control characters/sequences) is via console.strlen().

    digital man

    Synchronet "Real Fact" #24:
    1584 Synchronet BBS Software registrations were sold between 1992 and 1996. Norco, CA WX: 59.0øF, 92.0% humidity, 3 mph SE wind, 0.00 inches rain/24hrs

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From nightfox@VERT to CVS commit on Sunday, December 08, 2019 07:05:05
    exec sbbslist.js 1.58 1.59
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv8067

    Modified Files:
    sbbslist.js
    Log Message:
    Replaced strip_ctrl(txt).length to console.strlen(txt) in a few places


    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Nightfox@VERT/DIGDIST to Digital Man on Sunday, December 08, 2019 07:07:47
    Re: exec/sbbslist.js
    By: Digital Man to nightfox on Sat Dec 07 2019 05:26 pm

    Looking at your changes, I have a question:

    var txt = format("%-*s%c", lib.max_len.name, bbs.name, selected ? '<' : ' '); console.print(txt);
    var line_screen_len = strip_ctrl(txt).length; // To help clearing to EOL for PETSCII

    What control characters or sequences in 'txt' would you expect to be stripping at this point? There shouldn't be any in bbs.name and '<' and ' ' aren't control characters, so I'm confused by this logic. It looks like maybe you copy/pasted this design pattern into a few places and some where it's not applicable.

    Also, the correct way to measure the number of columns that would be represented by a printed string (accounting for control characters/sequences) is via console.strlen().

    The intent was to get the length of the string as printed on the screen. I've just committed an update changing those to use console.strlen().

    The documentation says console.strlen() returns the length of the string excluding Ctrl-A codes. So it seems it's functionally equivalent to strip_ctrl(txt).length - Is that correct? Or are there other differences?

    Nightfox

    ---
    þ Synchronet þ Digital Distortion: digitaldistortionbbs.com
  • From Digital Man@VERT to Nightfox on Sunday, December 08, 2019 08:02:09
    Re: exec/sbbslist.js
    By: Nightfox to Digital Man on Sat Dec 07 2019 11:07 pm

    Re: exec/sbbslist.js
    By: Digital Man to nightfox on Sat Dec 07 2019 05:26 pm

    Looking at your changes, I have a question:

    var txt = format("%-*s%c", lib.max_len.name, bbs.name, selected ? '<' : ' '); console.print(txt);
    var line_screen_len = strip_ctrl(txt).length; // To help clearing to EOL for PETSCII

    What control characters or sequences in 'txt' would you expect to be stripping at this point? There shouldn't be any in bbs.name and '<' and ' ' aren't control characters, so I'm confused by this logic. It looks like maybe you copy/pasted this design pattern into a few places and some where it's not applicable.

    Also, the correct way to measure the number of columns that would be represented by a printed string (accounting for control characters/sequences) is via console.strlen().

    The intent was to get the length of the string as printed on the screen.

    I guessed that was the intent, but how would txt.length be any different than strip_ctrl(txt).length in the code I pasted above?

    I've just committed an update changing those to use console.strlen().

    The documentation says console.strlen() returns the length of the string excluding Ctrl-A codes. So it seems it's functionally equivalent to strip_ctrl(txt).length - Is that correct? Or are there other differences?

    strip_ctrl() actually modifies a string while console.strlen() calculates the displayed-length without modifying the string. There are other minor differences (e.g. Ctrl-AZ handling), but that's the main one.

    digital man

    This Is Spinal Tap quote #30:
    Big bottom, big bottom / Talk about mud flaps, my girl's got 'em!
    Norco, CA WX: 56.8øF, 98.0% humidity, 0 mph SE wind, 0.01 inches rain/24hrs

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Nightfox@VERT/DIGDIST to Digital Man on Sunday, December 08, 2019 08:26:27
    Re: exec/sbbslist.js
    By: Digital Man to Nightfox on Sun Dec 08 2019 12:02 am

    The intent was to get the length of the string as printed on the
    screen.

    I guessed that was the intent, but how would txt.length be any different than strip_ctrl(txt).length in the code I pasted above?

    I suppose it wouldn't; I've had a habit of doing that in some other JS code where the text would have Ctrl-A codes, as is often the case in other code I've written where the text has color codes.

    The documentation says console.strlen() returns the length of the
    string excluding Ctrl-A codes. So it seems it's functionally
    equivalent to strip_ctrl(txt).length - Is that correct? Or are there
    other differences?

    strip_ctrl() actually modifies a string while console.strlen() calculates the displayed-length without modifying the string. There are other minor differences (e.g. Ctrl-AZ handling), but that's the main one.

    I suppose console.strlen() would be more efficient.

    Nightfox

    ---
    þ Synchronet þ Digital Distortion: digitaldistortionbbs.com
  • From Digital Man@VERT to nightfox on Tuesday, December 10, 2019 20:22:13
    Re: exec/sbbslist.js
    By: nightfox to CVS commit on Wed Nov 20 2019 09:26 am

    exec sbbslist.js 1.57 1.58
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv16161

    Modified Files:
    sbbslist.js
    Log Message:
    Improved the optimized screen drawing behavior for PETSCII. There's still a glitch in refreshing the last character on the row when moving the lightbar with the up/down arrow keys, but it's more well-behaved now for PETSCII.

    There is a PETSCII issue where a console.cleartoeol() cannot actually clear the last character of the line because:
    1. We don't know for sure what line/row the cursor is currently on
    2. If we write to the last cell of the last line/row, the terminal will scroll

    This isn't a problem with ANSI because there's an actual escape sequence for clear-to-end-of-line which we use when the terminal supports ANSI, but for non-ANSI (including PETSCII), we instead overwrite all the characters in the current row (except the last) with space and then backspace/left-cursor back to the original cursor position.

    This is likely the PETSCII issue now observed with your modification.

    Now, sbbslist.js is pretty sure it knows the current line/row and could possibly indicate to console.cleartoeol() when it's on the last row, but that would also require a change to the console.cleartoeol() implementation (e.g. to accept an additional parameter or whatever). So... it's probably better to just avoid writing to that last character cell. I'll look into it more when I have some time/motivation. I just wanted to make a note of the difference in behavior of console.cleartoeol() for ANSI vs. non-ANSI.

    digital man

    Synchronet/BBS Terminology Definition #29:
    FSP = FidoNet Standards Proposal
    Norco, CA WX: 63.5øF, 62.0% humidity, 3 mph ESE wind, 0.00 inches rain/24hrs

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Nightfox@VERT/DIGDIST to Digital Man on Tuesday, December 10, 2019 20:53:11
    Re: exec/sbbslist.js
    By: Digital Man to nightfox on Tue Dec 10 2019 12:22 pm

    Improved the optimized screen drawing behavior for PETSCII. There's
    still a glitch in refreshing the last character on the row when moving
    the lightbar with the up/down arrow keys, but it's more well-behaved
    now for PETSCII.

    There is a PETSCII issue where a console.cleartoeol() cannot actually clear the last character of the line because: 1. We don't know for sure what line/row the cursor is currently on 2. If we write to the last cell of the last line/row, the terminal will scroll

    This isn't a problem with ANSI because there's an actual escape sequence for clear-to-end-of-line which we use when the terminal supports ANSI, but for non-ANSI (including PETSCII), we instead overwrite all the characters in the current row (except the last) with space and then backspace/left-cursor back to the original cursor position.

    This is likely the PETSCII issue now observed with your modification.

    Now, sbbslist.js is pretty sure it knows the current line/row and could possibly indicate to console.cleartoeol() when it's on the last row, but that would also require a change to the console.cleartoeol() implementation (e.g. to accept an additional parameter or whatever). So... it's probably better to just avoid writing to that last character cell. I'll look into it more when I have some time/motivation. I just wanted to make a note of the difference in behavior of console.cleartoeol() for ANSI vs. non-ANSI.

    I wasn't sure what to do about this, but if it's a PETSCII issue, perhaps there isn't much to do besides work around it / deal with it?

    Nightfox

    ---
    þ Synchronet þ Digital Distortion: digitaldistortionbbs.com
  • From Digital Man@VERT to Nightfox on Tuesday, December 10, 2019 21:23:10
    Re: exec/sbbslist.js
    By: Nightfox to Digital Man on Tue Dec 10 2019 12:53 pm

    So... it's probably better to just avoid writing to that last character cell. I'll look into it more when I have some time/motivation. I just wanted to make a note of the difference in behavior of console.cleartoeol() for ANSI vs. non-ANSI.

    I wasn't sure what to do about this, but if it's a PETSCII issue, perhaps there isn't much to do besides work around it / deal with it?

    Yeah, nothing to be done right now. It's an everything-but-ANSI issue. Just something to keep in mind when designing a UI. I may end up adding an additional/optional parameter to console.cleartoeol() to allow it to write to the last cell on a line. I'll give it some more thought first.

    digital man

    This Is Spinal Tap quote #33:
    Nigel Tufnel: Well, so what? What's wrong with bein' sexy?
    Norco, CA WX: 65.2øF, 63.0% humidity, 0 mph WNW wind, 0.00 inches rain/24hrs

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Thursday, December 19, 2019 20:04:46
    exec sbbslist.js 1.59 1.60
    Update of /cvsroot/sbbs/exec
    In directory cvs:/home/rswindell/sbbs/exec

    Modified Files:
    sbbslist.js
    Log Message:
    Fix "ReferenceError: top is not defined" when the "list" command is used.
    Bug introduced in rev 1.59 by Nightfox. "jsexec sbbslist list" still has many other JS errors even after this fix. :-(




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From nightfox@VERT to CVS commit on Sunday, January 12, 2020 21:54:52
    exec sbbslist.js 1.60 1.61
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv8105

    Modified Files:
    sbbslist.js
    Log Message:
    Fix for JS errors when running "jsexec sbbs list"


    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Sunday, January 12, 2020 23:06:34
    exec sbbslist.js 1.61 1.62
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv18279

    Modified Files:
    sbbslist.js
    Log Message:
    Eliminate the unnecessary calls to format() in previous commit.



    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to sbbs/master on Monday, September 07, 2020 01:44:57
    https://gitlab.synchro.net/sbbs/sbbs/-/commit/435e79167fd306a2f55c731a
    Modified Files:
    exec/sbbslist.js
    Log Message:
    Add -force and -share options, handle missing protocol property.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to sbbs/master on Thursday, September 10, 2020 04:03:53
    https://gitlab.synchro.net/sbbs/sbbs/-/commit/dc5da45735e41f1b985aad5c
    Modified Files:
    exec/sbbslist.js
    Log Message:
    Fix sbbslist.js line 1769: TypeError: bbs is undefined

    Going backwards (negative) in the BBS list while using the 'C'
    (preview capture) command would trigger this exception.

    Also, don't enable spinning cursor while waiting for a key-press
    after displaying a preview.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to sbbs/master on Saturday, September 19, 2020 22:42:46
    https://gitlab.synchro.net/sbbs/sbbs/-/commit/86d0f05724d6baf59d53b14b
    Modified Files:
    exec/sbbslist.js
    Log Message:
    Fix a couple of infinite loops observed when user disconnected

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Thursday, December 17, 2020 09:13:00
    https://gitlab.synchro.net/main/sbbs/-/commit/22bf8731bc422f1b0361e7d0
    Modified Files:
    exec/sbbslist.js
    Log Message:
    Changes necessary to allow non-sbbs system to just sbbsimsg.lst

    Use failed auto-verification server/service address info if/when
    the 'imsg_capable' flag is set.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Thursday, May 27, 2021 02:34:31
    https://gitlab.synchro.net/main/sbbs/-/commit/08007ce1d0be3eaa7f324687
    Modified Files:
    exec/sbbslist.js
    Log Message:
    Remove storage from the 6th format, was making lines too long for 80cols.

    And nobody cares about your terabytes of free space anyway.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net