Commit Graph

1264 Commits

Author SHA1 Message Date
Bryan Ashby 8702e309ae Fix bug in default config / user config merging: Some arrays should be replaced while others should be merged 2018-11-17 13:14:51 -07:00
Bryan Ashby f4b03826b0 Fix --version 2018-11-15 22:21:45 -07:00
Bryan Ashby f9429dd2e6 Move where passwordChar lives 2018-11-15 20:32:08 -07:00
Bryan Ashby 080d1727c2 WIP on real-time interruptions (ie: incoming message)
Still need work on *when* they are allowed with good defaults, etc.
2018-11-14 22:47:20 -07:00
Bryan Ashby 4025c3c643 Merge branch '0.0.9-alpha' of ssh://numinibsd/git/base/enigma-bbs into user-interruptions 2018-11-14 22:05:23 -07:00
Bryan Ashby cc9c143927 Cleanup & prep for real-time interrupt 2018-11-14 22:04:29 -07:00
Bryan Ashby e4cb93a17c Use better logging for archiver spawn() 2018-11-14 21:24:15 -07:00
Bryan Ashby ea4fb090e2 Better error report from spawn() fail in extractTo() 2018-11-14 21:00:21 -07:00
Bryan Ashby b3930d1999 WIP on node-to-node msg
+ Preview
* Fix node IDs
+ Add new MenuModule method for validating MCI codes
2018-11-14 20:51:11 -07:00
Bryan Ashby 941e7d0a03 Fix ./main.js --version 2018-11-14 19:53:14 -07:00
Bryan Ashby 23af00e7ec Add timestamp 2018-11-14 19:52:55 -07:00
Bryan Ashby a88af51f27 Merge branch '0.0.9-alpha' of ssh://numinibsd/git/base/enigma-bbs into user-interruptions 2018-11-13 21:33:42 -07:00
Bryan Ashby 96d30af5d2 POSSIBLY BREAKING:
config/menu.hjson and config/prompt.hjson are now moved to misc/menu_template.in.hjson and config/prompt_template.in.hjson. These are now simply used as template files and copied to config/ with proper naming when issuing 'oputil.js config new'
2018-11-13 21:32:22 -07:00
Bryan Ashby 330e1efa78 Updates to user interruptions & node-to-node message module
* Can now have header/footer art on node-to-node messages
* 'text' and more advanced 'contents' fields
* format via 'messageFormat'
2018-11-13 21:11:33 -07:00
Bryan Ashby d8f0708310 getActiveNodeList -> getActiveConnectionList (be consistent) 2018-11-13 20:03:54 -07:00
Bryan Ashby 5a74cdc8d9 Merge branch '0.0.9-alpha' of ssh://numinibsd/git/base/enigma-bbs into user-interruptions 2018-11-13 20:01:36 -07:00
Bryan Ashby d28b5ce3b2 Even better file name generation for new configs 2018-11-13 19:44:27 -07:00
Bryan Ashby c1f7eb05ca Better sanatization of menu/prompt.hjson files based on board name 2018-11-13 19:40:48 -07:00
Bryan Ashby 23c30533c7 Merge branch '0.0.9-alpha' of ssh://numinibsd/git/base/enigma-bbs into user-interruptions 2018-11-12 22:06:19 -07:00
Bryan Ashby 308f09b291 Proper callback when missing MCI 2018-11-12 22:05:49 -07:00
Bryan Ashby 74b03fe846 Fix exception when no SSH stuff is configured 2018-11-12 22:05:36 -07:00
Bryan Ashby 516116f83e Spinner Menu now supports itemFormat and focusItemFormat 2018-11-12 22:05:21 -07:00
Bryan Ashby 2b36693240 WIP: User Interrupt Queue
* All queueing of messages/etc.
* Queueing across nodes
* Start on interruption points for displaying queued items
* Start on a multi-node messaging system using such a queue
2018-11-12 22:03:28 -07:00
Bryan Ashby 00a0e131b4 Statlog to config 2018-11-11 01:58:49 -07:00
Bryan Ashby 322274a115 System keeps login history events forever by default -- override in config 2018-11-11 01:55:38 -07:00
Bryan Ashby e8e9df767f * Move idle config to user
* More 'config new' enhancements
2018-11-11 01:00:42 -07:00
Bryan Ashby f592da2645 oputil.js config new now preps 'menuFile' and 'promptFile' 2018-11-11 00:19:01 -07:00
Bryan Ashby c24695e998 + oputil.js config cat
* Many updates to config gen
y
2018-11-10 23:59:26 -07:00
Bryan Ashby 99893b0bd1 Yet more updates with config new 2018-11-10 20:26:23 -07:00
Bryan Ashby 0058d54424 More updates on config template stuff 2018-11-10 20:00:25 -07:00
Bryan Ashby a7b506a595 Updated bad password list 2018-11-10 10:17:24 -07:00
Bryan Ashby 97e2d103e2 Comments 2018-11-09 19:02:07 -07:00
Bryan Ashby 93305d44fc Initial WIP on better 'oputil config new' for testing 2018-11-07 20:24:05 -07:00
Bryan Ashby 7d74556868 Changes to config: defaults -> theme, preLoginTheme -> theme.preLogin, etc. 2018-11-07 18:33:07 -07:00
Bryan Ashby a14c0f42af Onelinerz standardization work and docs 2018-11-05 22:39:49 -07:00
Bryan Ashby 047d8fae89 File Transfer protocol: use itemFormat + docs 2018-11-05 21:54:04 -07:00
Bryan Ashby 5af2fdc6c5 More itemFormat & doc work 2018-11-05 21:35:12 -07:00
Bryan Ashby a98940e967 Use standard itemFormat for BBS list. Add docs 2018-11-05 21:08:56 -07:00
Bryan Ashby 8942eff203 Fix deprecated write() without callback for Node.js 10.x+ 2018-11-04 21:09:27 -07:00
Bryan Ashby 75c952c976 Fix sexyz Linux x86_64 binary links 2018-11-04 21:00:54 -07:00
Bryan Ashby 25560cb47a SyncTERM SSH support
+ Enabled all ssh2-streams supported KEX, ciphers, etc. for now. Will communicate with Deuce about this.
2018-11-04 19:29:51 -07:00
Bryan Ashby 206312302a Fix generated logging level 2018-11-04 18:34:54 -07:00
Bryan Ashby 63b5eed504 Minor updates to FileEntry / oputil 2018-11-04 15:01:27 -07:00
Bryan Ashby d7aabba847 Add CNET style Y-Style/Q-Style color code support 2018-09-15 13:12:54 -06:00
Bryan Ashby 2c7354b4fa Allow movement codes in renegadeToAnsi() 2018-09-14 21:11:44 -06:00
Bryan Ashby 9bb3557509 WIP add in some basic movement MCI codes & color/pipe code cleanup 2018-09-14 20:34:39 -06:00
Bryan Ashby e6055e0f11 Better logging 2018-09-11 14:44:22 -06:00
Bryan Ashby 4501759d99 Better help for 'fb info' 2018-09-11 14:42:36 -06:00
Bryan Ashby 13d30827aa Allow how many to keep in DB by config 'retainCount' 2018-08-14 21:53:00 -06:00
Bryan Ashby aa2e2e56e3 Fix FTN address lookup crash when scanning 2018-08-11 20:45:50 -06:00
Bryan Ashby d54c38b9a9 Default to 'cp437' encoding vs current client encoding so we have something stable 2018-08-05 21:22:32 -06:00
Bryan Ashby dfe1c297b5 Menu "options" block is now deprecated. Move members to "config"!
* Deprecate & allow conversion behind the scenes for now + add warning in log
* Add some initial docs
* Clean up prompt.hjson and menu.hjson
2018-08-05 14:06:30 -06:00
Bryan Ashby 746bd5abd0 * Don't crash with bad string formats
* File listing: If we fail to get an archive listing, fix attempt to format the string with a non-object
2018-08-05 10:50:47 -06:00
Bryan Ashby 5bd7ecdb88 Add menu-level ACS check 2018-08-04 11:49:44 -06:00
Bryan Ashby 475fe596f6 Better handling of 'socket' io 2018-08-02 22:13:42 -06:00
Bryan Ashby b5c67ec88f Fix areaTag bug recently introduced 2018-07-29 20:58:26 -06:00
Bryan Ashby 096bc5497f Minor cleanup/standardization in file list, updated docs 2018-07-28 15:54:48 -06:00
Bryan Ashby 6f84ffd708 Minor updates to file area list to use proper date/time theme formatting + initial docs 2018-07-28 13:49:37 -06:00
Bryan Ashby 33790a74e3 Allow matches of minutes vs minute, etc. as intended 2018-07-25 21:18:30 -06:00
Bryan Ashby c625d25e2a Clean up msg_area_list module (standardize/etc.), update and add docs 2018-07-22 19:06:43 -06:00
Bryan Ashby c3bd036509 Update message conf list with standardized + custom formats 2018-07-22 15:59:00 -06:00
Bryan Ashby 9f85a01a89 Remove comment on formatting - see docs 2018-07-22 15:58:39 -06:00
Bryan Ashby 601433be40 Add messageConf support 2018-07-22 15:58:13 -06:00
Bryan Ashby c5998aa343 Add prevMenuOnTimeout() method 2018-07-22 15:57:51 -06:00
Bryan Ashby 39b35e8d11 Fix MCI ref 2018-07-22 12:59:43 -06:00
Bryan Ashby e6a812cf34 Standardization work on built in user list module plus docs & code cleanup
* More docs, fix some info
* Code cleanup
2018-07-22 12:56:56 -06:00
Bryan Ashby 0d7a20027c Add Who's online docs, minor doc updates to last callers, and code cleanup 2018-07-22 10:55:39 -06:00
Bryan Ashby e732d2b10d Code update + use 'itemFormat' standard 2018-07-21 23:57:59 -06:00
Bryan Ashby f601fd256b Fix last_callers collapsing & DRY code 2018-07-21 21:38:06 -06:00
Bryan Ashby 52585c78f0 Major changes around events, event log, etc.
* User event log is now functional & attached to various events
* Add additional missing system events
* Completely re-write last_callers to have new functionality, etc.
* Events.addListenerMultipleEvents()
* New 'moduleInitialize' export for module init vs Event specific registerEvents
* Add docs on last_callers mod
2018-07-21 14:32:06 -06:00
Bryan Ashby c1ae3d88ba * Fix RunDoor event name
* Standardize *.user_* event names
2018-07-21 14:28:18 -06:00
Bryan Ashby 58254ee27b Fix config 2018-07-17 21:06:27 -06:00
Bryan Ashby 118cb97487 MenuModule.reload(), updated @systemMethod:reloadMenu(), and notes 2018-07-17 20:00:47 -06:00
Bryan Ashby 1f396e198e Fix escape/de-escaping for zmodem & friends 2018-07-16 22:43:19 -06:00
Bryan Ashby e3c197c3e1 Fix event emitter leak 2018-07-15 22:08:09 -06:00
Bryan Ashby 013a947e15 Add release-info.asc used by some modern release groups 2018-07-15 19:18:44 -06:00
Bryan Ashby 6a3849dbdc Fist version of ArchaicNET support module 2018-07-15 19:18:27 -06:00
Bryan Ashby 7b75f08c7e Clean up code a bit 2018-07-15 11:50:04 -06:00
Bryan Ashby 340c6ccf76 Fix asset parsing for path-to-method, etc. 2018-07-15 11:49:56 -06:00
Bryan Ashby 47e34f9da7 Fix comment 2018-07-11 21:14:28 -06:00
Bryan Ashby 5d91cfb7d0 Add {userName} and {userNameRaw} door launch/format options 2018-07-10 19:11:03 -06:00
Bryan Ashby 45ca627b4e Minor update 2018-07-09 20:55:47 -06:00
Bryan Ashby 5c826abd5b Onelinerz updates:
* Uses standard `itemFormat`
* Uses format of {userName} vs {username} (case)
* Has preview implemented as %TL2
2018-07-09 20:27:09 -06:00
Bryan Ashby 2f22d91bcf Fix comment 2018-07-08 19:20:08 -06:00
Bryan Ashby d54267b318 Update custom views after del 2018-07-08 11:33:39 -06:00
Bryan Ashby 3f34f77fcd Implement fake pipe() for WebSocket (doors/etc.) 2018-07-08 11:23:56 -06:00
Bryan Ashby bf11fc24a3 Update message list after marking all as read for 'newIndicator' 2018-07-07 20:13:24 -06:00
Bryan Ashby dd7b234a1d Add @markAllRead method for msg_list 2018-07-07 20:04:51 -06:00
Bryan Ashby 73bc211b94 Oops, fix newscan filter 2018-07-07 20:03:03 -06:00
Bryan Ashby 89bce2c23c trace -> debug for Gopher access logs 2018-07-07 20:02:26 -06:00
Bryan Ashby 539c25ea83 Add ability to omit message and/or file area tags from new scan by config 'omitFileAreaTags' and 'omitMessageAreaTags' arrays 2018-07-07 15:20:45 -06:00
Bryan Ashby 53cda734e5 Minor bugfix 2018-07-05 20:35:38 -06:00
Bryan Ashby 0d55daabe4 Ability to delete private (aka inbox) messages 2018-07-04 18:49:03 -06:00
Bryan Ashby 2408d4c5c0 Fixes around render cache 2018-07-04 18:48:35 -06:00
Bryan Ashby 514edb984f + userHasDeleteRights()
+ deleteMessage()
2018-07-04 18:47:58 -06:00
Bryan Ashby ab9ffc715a * Cleaner action block discovery for 'submit'
* Allow "embedded" prompts to use form action matching
2018-07-04 18:46:40 -06:00
Bryan Ashby 3e06e2fa6b + promptForInput() support
* removeViewController() support
2018-07-04 18:45:14 -06:00
Bryan Ashby fbffe2873c * ansiPrepOptions support for displaying art
* simplify proxy of options along call path
* general improvements
2018-07-04 18:43:40 -06:00
Bryan Ashby e24511678d Ensure 'tag' exists 2018-07-04 18:42:59 -06:00
Bryan Ashby 8922bb6683 Catch exception if we try to log due to config.hjson error 2018-07-04 17:58:38 -06:00
Bryan Ashby 0f6924a916 XY MCI code now properly c reates vanilla view for later lookup/retrieval 2018-07-04 14:59:15 -06:00
Bryan Ashby f4afe9847d Handle bad config.hjson at startup/re-cache: output to stderr 2018-07-02 19:32:27 -06:00
Bryan Ashby 7c741481e1 Much improved getDescFromFileName() 2018-06-30 13:03:08 -06:00
Bryan Ashby c894ed17ec Convert line endings when using Atr 2018-06-30 11:55:13 -06:00
Bryan Ashby 35c5c5dd0f Init ArchiveUtil with noWatch 2018-06-29 23:04:31 -06:00
Bryan Ashby 2cef12f47e * Fix file descriptor leak
* Allow noWatch init (e.g. for oputil)
2018-06-29 23:04:03 -06:00
Bryan Ashby b6e7ecb193 Atari Disk Image (.atr) support via (modified for now; PR open) atr tool 2018-06-29 22:40:13 -06:00
Bryan Ashby fa100c2da1 Resolve TODO: set cwd when launching doors; allow user to set in config 2018-06-25 19:25:07 -06:00
Bryan Ashby 2fa9d6a3c2 Clean up a couple DEP0013 spots 2018-06-25 19:09:08 -06:00
Bryan Ashby 851da9e8c8 Do not require MCI configurations in theme.hjson for theme.hjson to apply #167 2018-06-25 18:09:32 -06:00
Bryan Ashby c758454134 Fix empty filename check 2018-06-25 18:08:41 -06:00
Bryan Ashby 3aa23db306 initDefaultWidht() for various views 2018-06-23 22:23:22 -06:00
Bryan Ashby 0cfd45d8a9 Fix undefined ref if we fail to copy/move a upload file 2018-06-23 21:03:32 -06:00
Bryan Ashby ff3ab38a7a Fix moveOrCopyFileWithCollisions() for fse-extra with kludge 2018-06-23 21:03:05 -06:00
Bryan Ashby 359f21914f Defualt width 2018-06-23 21:02:33 -06:00
Bryan Ashby 5bb4f9b903 Fix archive util config reload 2018-06-23 21:02:16 -06:00
Bryan Ashby 611a52e946 * Did add a tweak to the concept for height only: autoAdjustHeight can be used where it makes sense
* See also: #159
2018-06-23 20:16:44 -06:00
Bryan Ashby 6d4b8abc9c Remove ERC: It's not maintained. Can be added to boards as a mod anyway 2018-06-23 18:17:15 -06:00
Bryan Ashby 4ef1061fc5 Use standard list format for message area select 2018-06-23 11:17:21 -06:00
Bryan Ashby ef12cc0cfb Bring in some of the good parts of dropfile-updates branch 2018-06-22 23:06:01 -06:00
Bryan Ashby 1d8be6b014 Pardon the noise. More tab to space conversion! 2018-06-22 21:26:46 -06:00
Bryan Ashby c3635bb26b More tabs to spaces.. 2018-06-22 20:48:36 -06:00
Bryan Ashby a4e10f5ba5 Add .eslintignore, tidy up a bit 2018-06-21 23:35:52 -06:00
Bryan Ashby e9787cee3e ENiGMA 1/2 WILL USE SPACES FROM THIS POINT ON VS TABS
* Really just to make GitHub formatting happy. Arg.
2018-06-21 23:15:04 -06:00
Bryan Ashby 6325f92fa5 Increase max listeners in Events - experimental: may change this in the near future 2018-06-21 18:37:48 -06:00
Bryan Ashby 1fe46894d3 More Hot-Reload related changes
* Config.get(): Returns the latest config
* Update code all over the place to use Config.get() vs Config.conf (which will be deprecated)
2018-06-20 19:57:06 -06:00
Bryan Ashby ca0149eaf0 Fix rare race crash in CombatNet module 2018-06-18 20:17:56 -06:00
Bryan Ashby 4074d68526 #195: Finish scanFile() & hash updates: Clean up code 2018-06-17 20:42:42 -06:00
Bryan Ashby 681e45cb6d Much faster hash calculation / processing & therefor faster scanFile()
* Manaul read of buffers vs stream (fs.createReadStream())
* Small optimization by skipping work if no progress iterator
* Don't use async loop for updating hashes - vanilla for loop
2018-06-17 20:39:43 -06:00
Bryan Ashby f3cd36ad07 Fix oputil hang 2018-06-17 15:14:31 -06:00
Bryan Ashby c9674e68fb * Re-work menu stack goto() a bit - cleaner, support 'mergeFlags', and 'forwardArgs' menuFlags.
* Add show_art.js module: Advanced ways to show art in menu stacks. For example, by extraArgs, fileBase area art, etc -- this will replace e.g. showing message conf art later as to be more generic
2018-06-16 10:01:08 -06:00
Bryan Ashby 5f0c9ed1ab Fix require paths 2018-06-16 08:42:16 -06:00
Bryan Ashby 057ba684ea Use pre-generated table vs parsing a string 2018-06-16 08:41:41 -06:00
Bryan Ashby 2f09f3e995 Fix a couple rare bugs around SSH sessions 2018-06-14 20:00:01 -06:00
Bryan Ashby 4aab8224ed Initial version of hot-reload of config, menus, and prompts
* Themes use ES6 Map vs object{}
* Re-write and re-enable config cache using sane
* Events sent for config, prompt, or menu changes
* Event sent for theme changes
* Theme (or parent menu/prompt) changes cause re-merge and updates to connected clients
2018-06-13 21:02:00 -06:00
Bryan Ashby 1870db7d38 Cleanup code for new getConditionalValue() support 2018-06-13 20:59:43 -06:00
Bryan Ashby ceab8a0180 Code cleanup 2018-06-13 20:58:59 -06:00
Bryan Ashby 7748765ce0 Clean up code for updated getConditionalValue() 2018-06-13 20:58:02 -06:00
Bryan Ashby c08e4dbe04 New system events 2018-06-13 20:54:59 -06:00
Bryan Ashby 82da4b8e1e Resolve non-conditionals as-is 2018-06-13 20:54:17 -06:00
Bryan Ashby ec30c595c4 Fix drawing like page up/down 2018-06-09 22:50:57 -06:00
Bryan Ashby 973e10fb8b HOME/END key support in lists 2018-06-09 22:45:01 -06:00
Bryan Ashby 1cb811576b + Add unique session ID to client sessions
* Aliased to user for convienence
* Added to logs for easy tracing
* Can be used from events/etc. for grouping
2018-06-03 19:58:31 -06:00
Bryan Ashby fbe87640c5 + New user event 2018-06-03 19:58:05 -06:00
Bryan Ashby 0ae9d0d143 + User login and logoff events 2018-06-03 17:59:16 -06:00
Bryan Ashby c142a9c3d3 Work on Events missed files (see prev) 2018-06-03 17:02:28 -06:00
Bryan Ashby b273101b61 Work on Events system:
+ system_event.js
+ codes.l33t.enigma.system.user_upload and codes.l33t.enigma.system.user_download events
2018-06-03 17:00:54 -06:00
Bryan Ashby 57ecac5350 Add ESC support (actually works) 2018-06-02 20:51:09 -06:00
Bryan Ashby ccf29ea8d4 Force overwrite when extracting lha archives - they can contain dupes! 2018-06-02 17:09:43 -06:00
Bryan Ashby 3ecadebf91 Generic MIME types (file types) such as application/octet-stream can how have sub types for handlers (archive, info extract, ...)
+ Add Amiga DMS support via xdms
2018-06-02 16:06:04 -06:00