• src/sbbs3/js_internal.c

    From Rob Swindell@VERT to Git commit to main/sbbs/master on Tue Feb 22 18:32:00 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/78ae75b368cb4d8a877a135b
    Modified Files:
    src/sbbs3/js_internal.c
    Log Message:
    Update JSDOCs on timer-related methods

    - setInterval() returns a Number, not an Object.
    - typos fixed
    - markup added

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on ChromeOS)@VERT to Git commit to main/sbbs/master on Sun Feb 12 22:54:28 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/4bbe7434dcbe92221eaff726
    Modified Files:
    src/sbbs3/js_internal.c
    Log Message:
    Descriptions of js.exec_file and exec_dir were reversed

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows)@VERT to Git commit to main/sbbs/master on Fri Jul 21 12:42:28 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/c2c3cdfc4a890fc622e36cf7
    Modified Files:
    src/sbbs3/js_internal.c
    Log Message:
    Fix js.exec() error message when specified script can't be found

    If the search up the scope tree for js.exec_dir fails, the script 'path' would be left blank leading to a weird error message.
    e.g. !JavaScript default.js line 249: Error: Script file () does not exist

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Nightfox@VERT/DIGDIST to Rob Swindell (on Windows) on Fri Jul 21 14:55:45 2023
    Re: src/sbbs3/js_internal.c
    By: Rob Swindell (on Windows) to Git commit to main/sbbs/master on Fri Jul 21 2023 12:42 pm

    Fix js.exec() error message when specified script can't be found

    If the search up the scope tree for js.exec_dir fails, the script 'path' would be left blank leading to a weird error message.
    e.g. !JavaScript default.js line 249: Error: Script file () does not exist

    I just did an update and rebuilt my Synchronet binaries (and updated my default.js as well). That seems to fix the issue we were seeing with DDMsgReader and default.js. But now I'm seeing the same error in a different situation.

    In my command shell (custom JS), I have this command to run my file area chooser:

    bbs.exec("?../xtrn/DigDist/AreaChoosers/DDFileAreaChooser.js");

    That works. However, I also have a JS script in my sbbs/mods directory that I use as a test sandbox to try out new things, which I usually run from my main menu. I tried using the same line above in my test script to run my DDFileAreaChooser.js, but when I run that, I get the error:

    !JavaScript DigitalDistortionTest.js line 8: Error: Script file () does not exist

    It seems this might be a recent issue, as I've done similar things in my sandbox test script, and I don't remember seeing this before.

    Nightfox

    ---
    þ Synchronet þ Digital Distortion: digitaldistortionbbs.com
  • From Digital Man@VERT to Nightfox on Fri Jul 21 16:38:18 2023
    Re: src/sbbs3/js_internal.c
    By: Nightfox to Rob Swindell (on Windows) on Fri Jul 21 2023 02:55 pm

    Re: src/sbbs3/js_internal.c
    By: Rob Swindell (on Windows) to Git commit to main/sbbs/master on Fri Jul 21 2023 12:42 pm

    Fix js.exec() error message when specified script can't be found

    If the search up the scope tree for js.exec_dir fails, the script 'path' would be left blank leading to a weird error message.
    e.g. !JavaScript default.js line 249: Error: Script file () does not exist

    I just did an update and rebuilt my Synchronet binaries (and updated my default.js as well). That seems to fix the issue we were seeing with DDMsgReader and default.js. But now I'm seeing the same error in a different situation.

    In my command shell (custom JS), I have this command to run my file area chooser:

    bbs.exec("?../xtrn/DigDist/AreaChoosers/DDFileAreaChooser.js");

    That works. However, I also have a JS script in my sbbs/mods directory that I use as a test sandbox to try out new things, which I usually run from my main menu. I tried using the same line above in my test script to run my DDFileAreaChooser.js, but when I run that, I get the error:

    !JavaScript DigitalDistortionTest.js line 8: Error: Script file () does not exist

    That error message looks to be from js.exec(), not bbs.exec(). The error message itself (the empty parens) was fixed in git today. It doesn't appear you have that fix.

    It seems this might be a recent issue, as I've done similar things in my sandbox test script, and I don't remember seeing this before.

    No recent changes to either js.exec() or bbs.exec() that I'm aware of (other than the error message fix I just mentioned).
    --
    digital man (rob)

    Sling Blade quote #10:
    Morris: I stand on the hill, not for thrill, but for the breath of a fresh kill Norco, CA WX: 89.0øF, 30.0% humidity, 11 mph SSE wind, 0.00 inches rain/24hrs ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Nightfox@VERT/DIGDIST to Digital Man on Fri Jul 21 17:25:47 2023
    Re: src/sbbs3/js_internal.c
    By: Digital Man to Nightfox on Fri Jul 21 2023 04:38 pm

    In my command shell (custom JS), I have this command to run my file
    area chooser:

    bbs.exec("?../xtrn/DigDist/AreaChoosers/DDFileAreaChooser.js");

    That works. However, I also have a JS script in my sbbs/mods
    directory that I use as a test sandbox to try out new things, which I
    usually run from my main menu. I tried using the same line above in
    my test script to run my DDFileAreaChooser.js, but when I run that, I
    get the error:

    !JavaScript DigitalDistortionTest.js line 8: Error: Script file ()
    does not
    exist

    That error message looks to be from js.exec(), not bbs.exec(). The error message itself (the empty parens) was fixed in git today. It doesn't appear you have that fix.

    It was something silly on my part.. I had a line above it using js.exec(), and I thought I had removed that but it was still in there.

    Also, I had to check out a fresh copy of the repo in order to rebuild successfully. In the copy of the repo I had, it was getting a build error ('no rule to make target' for something, but I don't remember what it was now). But it's building now, and all is good.

    Nightfox

    ---
    þ Synchronet þ Digital Distortion: digitaldistortionbbs.com
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Fri Sep 1 12:32:50 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/3e1aa12ec62d240e54d6fe0d
    Modified Files:
    src/sbbs3/js_internal.c
    Log Message:
    Don't use scope argument value to js.exec() if it's null

    Fixes issue #611

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Mon Feb 26 23:07:48 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/b1e8d3070d100a5a0ec090aa
    Modified Files:
    src/sbbs3/js_internal.c
    Log Message:
    Update docs for js.auto_terminate to clarify: disconnection will trigger too

    User disconnection will trigger auto-terminate (eventually) as well. But only in the terminal server.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Digital Man@VERT to Tracker1 on Sun Mar 29 15:12:07 2020
    Re: Re: src/sbbs3/js_internal.c
    By: Tracker1 to rswindell on Sun Mar 29 2020 01:47 am

    Just curious... what would it take to get Synchronet up to the current spidermonkey engine?

    A lot of work.

    Related to your recent arguments change for `js.exec()`, having a spread operator would help for when writing such scripts.

    js.exec(...params)

    We don't have the spread operator currently, but reading about it brought me to function.apply() which looks like that can be used to solve the js.exec() problem I had. I don't need to array argument trick. Thanks for the tip!

    digital man

    This Is Spinal Tap quote #16:
    David St. Hubbins: I believe virtually everything I read...
    Norco, CA WX: 63.9øF, 54.0% humidity, 3 mph ENE wind, 0.00 inches rain/24hrs

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Sun Mar 29 16:40:57 2020
    src/sbbs3 js_internal.c 1.98 1.99
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv29776

    Modified Files:
    js_internal.c
    Log Message:
    Revert the last commit (mostly): don't treat array arguments to js.exec() specially, just pass them on to the script as-is. Included a JSDOC note about the use of js.exec.apply() to pass a variable number of arguments (ala execv).

    Thanks Tracker1 for the pointer to 'spread' which led me to function.apply() and the JS-standard method of achieving the result I needed with this enhancement.

    I still think that a script that calls exit() is unlikely to expect non-string arguments in the first place, but if we don't need special case behavior, it's better not to add it and keep the behavior consistent with load() and require(). That was the decision of the executive board anyway. :-|



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