Synchronet merge requestshttps://gitlab.synchro.net/main/sbbs/-/merge_requests2021-02-04T01:42:30Zhttps://gitlab.synchro.net/main/sbbs/-/merge_requests/93xtrnmenu module v32021-02-04T01:42:30Zphareousxtrnmenu module v3- Adds door tracking (like doorscan) - requires json service
- Adds special menus (most launched, longest run, most recent) - for all users and per-user
- Adds search capability
- Adds favorites menu w/ add
- Support more keys in menus (...- Adds door tracking (like doorscan) - requires json service
- Adds special menus (most launched, longest run, most recent) - for all users and per-user
- Adds search capability
- Adds favorites menu w/ add
- Support more keys in menus (esc, left, etc.)
- Adds lightbar support to menus/directional key nav
- Polishes the gameserv commands
- Adds a limited file menu area
- Adds ability to link to any command (new built-in: chat, file, text area)
- More configurable options/display options
- Use modopts.d for the ini options now
- Fix bugs in configurator for copy/paste items
- Other misc fixes and code cleanup
- Add games stats web page
- Games web page fully supports menu options (favorites, special menus, etc.)Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/merge_requests/94Add door stats web page for xtrnmenu2021-02-05T03:46:09ZphareousAdd door stats web page for xtrnmenuRob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/merge_requests/95xtrnmenu 3.1 - fix singlecolumn_margin, streamline menucfg when bulk-adding i...2021-02-05T03:46:21Zphareousxtrnmenu 3.1 - fix singlecolumn_margin, streamline menucfg when bulk-adding itemsRob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/merge_requests/97fix issues with favorites menu/add favorites when user has no favorites (than...2021-02-05T17:33:27Zphareousfix issues with favorites menu/add favorites when user has no favorites (thanks nolageek)Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/merge_requests/98Remove errant files from webv42021-02-05T17:32:57ZphareousRemove errant files from webv4Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/merge_requests/99add metronet to init-fidonet2021-02-05T20:29:21Zphareousadd metronet to init-fidonetRob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/merge_requests/100minor cleanup/fixes to xtrnmenumod2021-02-06T01:11:19Zphareousminor cleanup/fixes to xtrnmenumodRob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/merge_requests/101Fix text_sec issues on add file2021-02-06T03:43:46ZphareousFix text_sec issues on add fileUpdate text_sec.js - don't ask for description if file does not exist, don't permanently change file path if file doesn't exist (let user correct the path on next add attempt)Update text_sec.js - don't ask for description if file does not exist, don't permanently change file path if file doesn't exist (let user correct the path on next add attempt)Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/merge_requests/102Fix issue with overriding inv format per item, cleanup options code, fix prog...2021-02-07T21:16:45ZphareousFix issue with overriding inv format per item, cleanup options code, fix prog menu sort, turn off pausingRob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/merge_requests/104fix typo2021-02-07T21:16:06Zphareousfix typoRob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/merge_requests/105Update readme to warn sysops about adult ship names on scoreboard2021-02-10T04:10:51ZAndre RobitailleUpdate readme to warn sysops about adult ship names on scoreboardUpdate readme.txt to warn sysops about echickens' ship naming convention on the interBBS scoreboard. Seemed easier than trying to setup a self-hosted scoreboard or requiring 18+ on program execution.Update readme.txt to warn sysops about echickens' ship naming convention on the interBBS scoreboard. Seemed easier than trying to setup a self-hosted scoreboard or requiring 18+ on program execution.https://gitlab.synchro.net/main/sbbs/-/merge_requests/106Make it possible to import xtrn and xtrnsec from another system (with differe...2021-02-13T00:49:36ZphareousMake it possible to import xtrn and xtrnsec from another system (with different indexes)Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/merge_requests/1073rd party door install: netrunner and exdx doors2021-02-13T01:51:21Zphareous3rd party door install: netrunner and exdx doorsRob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/merge_requests/108Bug fix for changing message area with lightbar2021-02-13T06:10:59ZEric OulashinBug fix for changing message area with lightbarBug 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 ...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.Rob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/merge_requests/109add exportcfg, importcfg, and xtrnmenucfg2021-02-14T01:25:27Zphareousadd exportcfg, importcfg, and xtrnmenucfgRob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/merge_requests/1103rd party external doors - exitilus, jibben, jns2024-03-22T07:20:19Zphareous3rd party external doors - exitilus, jibben, jnsRob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/merge_requests/111mycroft doors2024-03-22T07:20:19Zphareousmycroft doorsRob SwindellRob Swindellhttps://gitlab.synchro.net/main/sbbs/-/merge_requests/112Update common.js2024-03-22T07:20:19ZMichael J. RyanUpdate common.jsWhen the property was changed, it now blows up on any browser with the previous configuration schema, explicitly checking for the expected text value without parsing.When the property was changed, it now blows up on any browser with the previous configuration schema, explicitly checking for the expected text value without parsing.https://gitlab.synchro.net/main/sbbs/-/merge_requests/116Poll update2024-03-22T07:20:21ZDeucеPoll updateInitial pass at poll()ifying all the things (except utilities like sexyz)
There's still a few complicated bits to iron out.Initial pass at poll()ifying all the things (except utilities like sexyz)
There's still a few complicated bits to iron out.https://gitlab.synchro.net/main/sbbs/-/merge_requests/118Implement support for callback style programming2024-03-22T07:20:21ZDeucеImplement support for callback style programmingIf js.do_callbacks is set to true, a script will not terminate when it finishes. Instead, it will enter an event loop running installed callbacks when configured events occurs. Currently, callbacks can be added with the following new m...If js.do_callbacks is set to true, a script will not terminate when it finishes. Instead, it will enter an event loop running installed callbacks when configured events occurs. Currently, callbacks can be added with the following new methods:
* js.setInterval(callback_function, period_in_ms[, thisObj]);
* js.setTimeout(callback_function, timeout_in_ms[, thisObj]);
* SocketInstance.on('read' | 'write', callback_function);
* SocketInstance.once('read' | 'write', callback_function);
* SocketInstance.connect(host, port, callback_function);
* console.on('read', callback_function);
* console.once('read', callback_function);
Aside from Socket.connect(), these functions return a value that can be passed to a matching clear function:
* js.clearInterval(id);
* js.clearTimeout(id);
* SocketInstance.clearOn('read' | 'write', id);
* SocketInstance.clearOnce('read' | 'write', id);
* console.clearOn('read' | 'write', id);
* console.clearOnce('read' | 'write', id);
Additionally, user-defined events are now supported:
* js.addEventListener(eventName, callback)
* js.removeEventListener(id)
* js.dispatchEvent(eventName[, thisObj])
We also get a cool event-based DNS library.