- Sep 25, 2023
-
-
Rob Swindell authored
See issue #648 for details.
-
Rob Swindell authored
The uppercase ON and OFF are being deprecated
-
Rob Swindell authored
Fixes issue #648
-
- Sep 24, 2023
-
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
These were problematic (crash, could corrupt filebases) and unsupported, so just change the programs to stubs that alert the sysop that they need to switch to using the JS versions of these utilities immediately.
-
Rob Swindell authored
Only the common/UIFC-type arguments should be passed-on. This fixes issue #646 It also appeared that the user editor spawning wouldn't work correctly when arguments were passed to umonitor (missing a space).
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
e.g. as a logon script "?replace_text es" would replace strings from ctrl/text.es.ini (for Spanish translations) This is not really to be used to load ctrl/text.ini since that is support is built in (in load_cfg.c) and not necessary to be done in JS.
-
Rob Swindell authored
Of course, I'm just guessing using DDG Translate, I don't actually speak these languages with any fluency, so I could use help from those that do. These files aren't directly used by anything yet. One could copy or symlink them to ctrl/text.ini or dynamically load them for certain users (right now, that'd be done via JS).
-
Rob Swindell authored
-
Rob Swindell authored
Hm.
-
Rob Swindell authored
The TEXT:<x> @-code can now be used with the text.dat string ID rather than the text.dat string number, if preferred. For convenience and brevity, ALL text.dat string IDs are now valid @-codes (case-sensitive). While this functionality is redundant with the TEXT: @-code now, if there are any conflicts between new/existing @-codes and text.dat string IDs, the TEXT: @-code can be used to overcome such conflicts. This should help with localization (to other languages) by using common single-word replacements (Which, Quit, Next, etc.) in text.dat strings.
-
Rob Swindell authored
The syntax of text.ini is: <id>: "string" <id>: "string" Where <id> is the named identifier of a text.dat string as seen ctrl/text.dat and string is a literal string value (optionally, in double-quotes). Line continuations (for long strings) are not supported: you'll just need to put your string all on one long line (up to 1024 char string). C-escape characters for control chars and hex-encoded chars are supported. This should address feature request issue #644
-
Rob Swindell authored
-
Rob Swindell authored
After 90 minutes of waiting, we'll do the same abort wait (and run the event anyway), but closing the node's socket should be enough to get the node_thread to terminate and set the node status back to NODE_WFC. Apparently some sysops like to leave their terminals idling (e.g. running MRC) and never disconnect and since they're T-exempt, the BBS won't limit their time online to allow events to run. Exclusive events will wait for all nodes to become inactive, but give up after 90 minutes of waiting and run the event anyway and set node status to WFC at the end. If the node was actually still connected/in-use, this could lead to the (new) critical error messages logged "!Node X status is WFC, but the node socket (N) and thread are still in use!" and other chaos (NODE STATUS FIXUP and the like). This should prevent all that by just abruptly disconnecting the node after waiting 60 minutes for the sysop to gracefully disconnect. The log message when this happens: "!TIRED of waiting for node N to become inactive (status=X), closing socket Y"
-
Rob Swindell authored
-
Rob Swindell authored
Mark them all "UNUSED"
-
Rob Swindell authored
Fixes unnecessary [Hit a key] prompt.
-
Rob Swindell authored
This appears to work around a bug in BRE, FE, and TAL where they don't recognize the "1" (ANSI supported) unless there is at least one other character on the line following the decimal digit, resulting in the unnecessary prompting of the user: This game is much more enjoyable with ANSI graphics enabled. Do you want ANSI Graphics? (Y/n) As reported by "ben" in IRC.
-
- Sep 23, 2023
-
-
Rob Swindell authored
Fixes issue #645
-
Rob Swindell authored
Fix-up the require() statements.
-
Rob Swindell authored
Also clear the screen immediately cause it can take a noticable amount of time to read/parse the file.ini and main.ini files.
-
Rob Swindell authored
When used, replaces built-in user (e.g. terminal) settings menu with a loadable (e.g. JS) module.
-
Rob Swindell authored
... or else any changes we make aren't saved (we're just modifying this object in memory). Fix the heading (user alias is displayed, not name). Fix the mouse hot-spots. Fix the "None" default download protocol (requires latest text.js). Fix the hot-key option (inverted logic). Don't display the [K] Command Shell option if there's only one available.
-
Rob Swindell authored
-
Rob Swindell authored
pass undefined to termdesc.type() when editing current user
-
Rob Swindell authored
-
Rob Swindell authored
js version of user default See merge request !331
-
-
- Sep 22, 2023
-
-
Rob Swindell authored
I finally reproduced this issue myself on a fresh install on Windows. We needed explicit file closing here as going out of scope doesn't immediately finalize (and close) a File object. That may not happen until garbage collection and thus prevent subsequent re-opens of the same files, so always close() your files. init-fidonet.js calls install-binkit.js which uses cfglib.js, so that was a source of these errors too.
-
- Sep 21, 2023
-
-
Rob Swindell authored
DD MsgReader and SlyVote: Fixed poll voting for single-answer polls Closes #642 See merge request !337
-
Rob Swindell authored
A web-based sbbsctrl implementation See merge request !318
-
-
Eric Oulashin authored
-
Rob Swindell authored
DD File Lister: If used as a loadable module and blanked out the NFilesListed string, then revert NFilesListed on exit of the script See merge request !336
-
- Sep 20, 2023
-
-
Rob Swindell authored
This should avoid/work-around issue #630 Nelgin's terminal server log indicated that the node's configuration was being reloaded for a new client connection (which doesn't normally/always happen, only when there's been a config file change or a node "rerun" requested), while there was still a user online using that node. This would explain the segfault (configuration fields being freed and reallocated). The node_socket[] array indicates when a node thread is actively servicing a client, so it should contain INVALID_SOCKET for the any node's that WFC. If it doesn't, that means something/someone changed the node's status value to 0 (WFC) in the node.dab file while the node was still in-use. Let's not crash in this case and rather just log the message and give the client the next available node (if any).
-
- Sep 18, 2023
-
-
Rob Swindell authored
Some of the errors could be pretty vague since they looked the same and we were depending on the path/file attempted to be opened in the log msg to clue us into what exactly was being attempted. But some of these file paths are sysop-configurable, and they can put unexpected things in there that make it difficult to determine exactly what file was trying to be opened and for what purpose. This should help a little bit.
-