Commit Graph

904 Commits

Author SHA1 Message Date
Bryan Ashby 8d51c7d47c * Additional helpers to MenuModule
* Gzip signature (.gz)
* Switch to sha-256 vs sha1 for internal file hashes
* Nearly complete callback / scan update support for scanFile()
* Fix data input issue after performing upload
* Support 'sz' recv (uploads)
2017-01-21 22:09:29 -07:00
Bryan Ashby fb176d3ab3 * Fix updating of existing file filter
* Update findFiles() to properly apply filters, sort order / direction, etc.
* Properly persist hash tags @ file entry persist
* Lots of improvements / additions to MCI for upload/download, etc. stats
* Persist processed entries @ upload (WIP, but close!)
2017-01-18 22:23:53 -07:00
Bryan Ashby e265e3cc97 * WIP on upload scan/processing
* WIP on user add/edit data to uploads
* Add write access (upload) to area ACS
* Add upload collision handling
* Add upload stats
2017-01-11 22:51:00 -07:00
Bryan Ashby 4c1c05e4da Fix bug with already logged in/connected check logic @ login 2017-01-11 22:48:04 -07:00
Bryan Ashby 1218fe65f9 Add new file scan year est regexp 2017-01-11 22:47:00 -07:00
Bryan Ashby a45142f2fd * Use more standard code paths & emit index events in ToggleMenuView
* Fix fetching areas & internal message attach area name
* Use proper config in new MenuModule methods
* More good progress on uploading
2017-01-01 21:53:04 -07:00
Bryan Ashby 0a92eec5e8 * WIP on upload support - protocols, modules, etc.
* Ability for KeyEntryView to only show specific/allowed keys
* Start moving/adding common methods to MenuModule vs boilerplate code
* menuFlags: String|StringArray: flags for menus, e.g. new 'noHistory' flag to prevent appending to history/stack
* New download stats/MCI codes
* Ability to redirect input stream to [protocols] temporairly
2016-12-31 14:50:29 -07:00
Bryan Ashby 6f3fe7c52d #103: FTN PKT files need to be uppercase 2016-12-06 20:51:48 -07:00
Bryan Ashby 6da7d557f9 * Improvements to ANSI parser
* Introduction of storage tags for file bases / areas
* Expiration for file web server items
* WIP work on clean ANSI (on hold for a bit while other file base stuff is worked on)
2016-12-06 18:58:56 -07:00
Bryan Ashby a7c0f2b7b0 * Add FileBaseFilters
* Add HTTP(S) file web server with temp URLs
* Get temp web d/l from file list
* Add File area filter editor (all file area stuff will be rename to file "base" later)
* Concept of "listening servers" vs "login servers"
* Ability to get servers by their package name
* New MCI: %FN: File Base active filter name
* Some ES6 updates
* VC resetInitialFocus() to set focus to explicit/detected initial focus field
* Limit what is dumped out when logging form data
2016-10-24 21:49:45 -06:00
Bryan Ashby 712cf512f0 * Add another year est regex
* Add queue file support
2016-10-14 21:57:02 -06:00
Bryan Ashby 1ef546d569 Download queue manager 2016-10-14 21:56:45 -06:00
Bryan Ashby 78607f8a48 * Add CRC32
* Fix stale entries loaded from previous item in file listing
2016-10-13 20:53:38 -06:00
Bryan Ashby 806e6539f4 * Lots of improvements (WIP) to file browsing 2016-10-12 22:07:22 -06:00
Bryan Ashby 67e2ff987f * getISOTimestampString()
* More file entry load/persist
2016-10-06 21:03:04 -06:00
Bryan Ashby 29947611f6 * New archives/archiver format - more flexible, more formats, etc.
* Add scanning inside archives ability, extract file_id.diz, etc.
* Initial year est (WIP) work
2016-10-05 23:22:59 -06:00
Bryan Ashby 61b0658743 Work on new archivers layout, short/long desc file discovery 2016-10-03 22:03:32 -06:00
Bryan Ashby 9593da5626 Additional work with archivers 2016-10-02 22:21:37 -06:00
Bryan Ashby ec716fdf2c * More file area utility methods/etc.
* Start adding oputil file-area --scan <areaTag> stuff
* New new ArchiveUtil.getInstance()
2016-10-02 21:40:37 -06:00
Bryan Ashby 35e7610670 Better code, more flexible ArchiveUtil 2016-10-02 21:39:29 -06:00
Bryan Ashby 0a98ce651f #101 set real names for message areas 2016-10-02 13:47:19 -06:00
Bryan Ashby c715bb7731 Allow tab to process as 'next' in preview mode 2016-10-02 13:46:12 -06:00
Bryan Ashby f8c4990646 Add 'pcansi' support for ZOC terminal 2016-10-01 13:30:02 -06:00
Bryan Ashby ac35d3506d File area updates WIP 2016-10-01 13:25:32 -06:00
Bryan Ashby c81b6789f4 Add 'pcansi' support for ZOC terminal 2016-10-01 13:22:34 -06:00
Bryan Ashby b9ef561058 Parse file meta values @ load (e.g. to number 2016-09-28 22:26:06 -06:00
Bryan Ashby 5a0b291a02 * Some WIP on file area releated stuff - various partially implemented pieces coming together
* Some changes to database.js: Triggers for FTS were not being created properly
* Misc fixes & improvements
2016-09-28 21:54:25 -06:00
Bryan Ashby 7da0abdc39 Work on EnigError and usage as experiment; This will go to many other areas of the code 2016-09-19 21:30:26 -06:00
Bryan Ashby 6a28b3ff35 Dump schedule info @ load 2016-09-19 21:29:46 -06:00
Bryan Ashby 9f22117e49 * Move login servers to core/servers/login 2016-09-19 21:28:50 -06:00
Bryan Ashby caa9137162 * Move login servers to core/servers/login
* A bit of minor changes related to upcoming file areas --- will likely branch before anything major
* Clean up database.js a bit
2016-09-19 21:28:21 -06:00
Bryan Ashby 34474bc610 minor cleanup 2016-09-14 21:08:59 -06:00
Bryan Ashby e90cf673e3 Updates to event scheduler 2016-09-13 21:44:35 -06:00
Bryan Ashby 70d1eb8d91 Update ssh2 3rd party module & ssh.js local server 2016-09-11 16:21:27 -06:00
Bryan Ashby ae02f35baa Fix NaN issue in string_format.js 2016-09-08 22:32:24 -06:00
Bryan Ashby d621fa9566 * renderStringLength(): Account for ESC[<N>C "forward" ESC seq
* Use string util renderStringLength() in word wrap
* Hopefully resolve all issues with renderSubstr()
* Fix width issue in message list
2016-09-06 23:20:11 -06:00
Bryan Ashby f7c21baa52 * FSE quote format is now configurable and random if there are 2:n available
* Remove old 3rd party string-format & replace with string_format.js version
* Some fix some bugs with string_format.js padding, width, and number format
2016-09-04 21:36:26 -06:00
Bryan Ashby d4d64f925d * Attempt to hide sensitive information by default (e.g. 'password' fields) in log
* New logger configuration - change logging: level -> logging: rotatingFile: level for current functionality
2016-09-04 17:46:28 -06:00
Bryan Ashby a729944af7 ANSI resources (comments) 2016-09-04 17:44:51 -06:00
Bryan Ashby 82533eae2d Don't re-add + log MCI cache if already cached. Also fix wording :) 2016-09-01 23:57:57 -06:00
Bryan Ashby 767bddcc4b StatLog will now store for N days or N max/count items 2016-09-01 23:41:20 -06:00
Bryan Ashby 9d46f23c66 Allow spaces in usernames by default 2016-09-01 23:39:49 -06:00
Bryan Ashby f4c041abdf Better sliceAtEOF() 2016-09-01 23:37:57 -06:00
David Stephens 0b3b7bee41 Small typo in username validation error message 2016-09-01 19:34:31 +01:00
Bryan Ashby 00330020b9 Some ES6 cleanup 2016-08-31 22:25:41 -06:00
Bryan Ashby 2c53515b60 Better isGroupMember() impl. 2016-08-31 22:06:49 -06:00
Bryan Ashby e7ba6c406e * Introduce MCI cache: Art files are hashed and MCI info (per client) is cached. Term resizes invalidate the cache
* Bring in farmhash for art file hashing (and perhaps other uses soon)
* Re-write of art.js display(). Better system, use MCI cache, etc.
* Update package.json engines node req.
2016-08-31 22:06:28 -06:00
Bryan Ashby 0a3a62edf3 * Added ability to pass a "menu result" from a menu when calling prev()/prevMenu()
* Ability to fully quit newscan with X key using new menu result functionality
2016-08-30 21:31:24 -06:00
Bryan Ashby 57309b433a Misc & isRootUserId() 2016-08-29 21:03:48 -06:00
Bryan Ashby a54caed41e Catch ACS parse exception 2016-08-29 21:01:51 -06:00
Bryan Ashby 8002bbe8fe Start using new enig assert vs standard assert 2016-08-26 21:30:25 -06:00
Bryan Ashby 8d484daa3a Enigma error objects 2016-08-26 21:29:57 -06:00
Bryan Ashby 6fa19f9ac3 assert() that won't expload when not in 'dev' mode 2016-08-26 21:29:49 -06:00
Bryan Ashby 3bae109537 Fix formatting on banner 2016-08-26 21:28:29 -06:00
Bryan Ashby 3319e8d7f9 Formatting 2016-08-26 21:28:17 -06:00
Bryan Ashby ef6c21e48e comment 2016-08-26 21:28:02 -06:00
Bryan Ashby 9bd39f6d80 format() that works with RA pipe codes & ANSI ESC seqs 2016-08-26 21:27:32 -06:00
Bryan Ashby b19d06df26 Default to NOT showing non-authenticated users in who's online / getActiveNodeList() 2016-08-26 20:53:27 -06:00
Bryan Ashby 51baba1f2a Add preAuthIdleLogoutSeconds 2016-08-21 19:59:21 -06:00
Bryan Ashby d50e505bd7 * Allow for clients such as ConnectBot that see "home" as 0,0 vs ANSI-BBS standard 1,1 by offsetting CPR values
* Some code cleanup
* Don't assert in View.js setPosition(); Instead, sanatize values
2016-08-14 11:45:31 -06:00
Bryan Ashby cf30389146 ToggleMenuView causes Engima to crash when connecting with ConnectBot #83 2016-08-13 10:05:49 -06:00
Bryan Ashby 383b3b449d * Fix key press event for EditTextView
* Fix MCI draw issue for TextView
* Missing bbs.js MCI init
2016-08-10 23:35:17 -06:00
Bryan Ashby 30ba609fb4 * Add rumorz mod
* ANSI/pipe working properly in VerticalMenuView
* Fix bug in renderStringLength()
* Make initSequence() part of prototype chain for inheritance
* Use proper 'desc' field vs 'status' for menus when setting client/user status
* Move pipeToAnsi() to setItems/setFocusItems vs every render
* Add %RR random rumor MCI
* Predefined MCI's can be init @ startup - RR uses random as a test bed
* Add some StatLog functionality for ordering, keep forever, etc.
* Fix TextView redraw issue
* Better VerticalMenuView drawItem() logic
* Add 'key press' emit for View
* Enable formats for BBS list - works with MCI
* Remove old system_property.js
2016-08-10 22:48:13 -06:00
Bryan Ashby 2b68201f7d * Pretty big optimization with TextView: Don't attempt to draw empty items - which needs SGR work and all sorts of processing - if there is not (yet) a non-empty string to draw 2016-08-06 20:11:04 -06:00
Bryan Ashby 6283a047f3 Fix renderSubstr() with start > 0 2016-08-06 19:58:14 -06:00
Bryan Ashby 257081b250 Help catch errors in configs easier 2016-08-06 19:57:27 -06:00
Bryan Ashby 26fb4692dc Attempt to detect when an archiver does not exist (HACK!) 2016-08-06 16:30:56 -06:00
Bryan Ashby 9af9bfe3d0 More switch style 2016-08-03 22:43:56 -06:00
Bryan Ashby 33f0553ea9 Use sane switch style :) 2016-08-03 22:43:06 -06:00
Bryan Ashby b12d9aad04 sysStat for +op username vs old config value 2016-08-03 21:46:38 -06:00
Bryan Ashby 969cd35ece * Use standard MCI codes in FSE/etc.
* Add mod mixin for temp area/conf switch e.g. used by new scan, fse, so on
* string utils: renderSubstr(), renderStringLength(): Works with *rendered* text. That is, is smart enough to ignore ANSI and RA style pipe color codes
* string util pad() works with ANSI/RA pipe codes
* TextView can now display text with RA pipe codes and MCI codes
* Message conf/area welcome art #81
* Update luciano art with new MCI
2016-08-03 19:48:45 -06:00
Bryan Ashby 3d098e927a Misc minor cleanup 2016-08-03 19:38:06 -06:00
Bryan Ashby c93638a5e6 Ooops... missing StatLog module :) 2016-07-27 21:48:13 -06:00
Bryan Ashby 8787703989 * New StatLog: Replaces various logs, system props, etc. into one class/methods
* Uew StatLog for last callers
* Use new StatLog for +op props
* Use new StatLog for user props such as posts & MCI to access such
* Use StatLog for various new MCI codes for +op
* Misc missing MCI codes
2016-07-27 21:44:27 -06:00
Bryan Ashby d4ce574be3 Case insensitive areaTag compare 2016-07-25 14:36:57 -06:00
Bryan Ashby 0a629feeb0 Resolve: System methods prev/nextArea, and prev/nextConf can cause a crash #79 2016-07-25 14:35:58 -06:00
Bryan Ashby fb737357f5 Update copyright 2016-07-25 14:26:34 -06:00
Bryan Ashby 8d75a675dd Make linter happy 2016-07-25 14:26:20 -06:00
Bryan Ashby b39c26153b * Don't allow pure numbers as usernames (e.g. "1234")
* Minor code cleanup
2016-07-25 10:49:41 -06:00
Bryan Ashby b0ddc3fec4 Minor cleanup, allow console.log(), .error(), etc. here 2016-07-25 10:47:30 -06:00
Bryan Ashby 623e96feb0 Replaced by acs.js 2016-07-25 10:46:58 -06:00
Bryan Ashby 0aa75c17c1 Style + import lodash 2016-07-25 09:30:49 -06:00
Robert Mooney 9ab4adc05f Handle empty text masks.
This allows themes to prevent text from being sent during password
entry. To enable, edit theme.hjson and set $.customization.defaults
.general.passwordChar to "". e.g.,

{
  ...
  customization: {
    defaults: {
      general: {
        passwordChar: ""
      }
    }
    ...
  }
}
2016-07-25 02:02:37 -07:00
Robert Mooney e080b5dcfa Spelling and grammar! 2016-07-25 02:02:37 -07:00
Bryan Ashby 87c6746676 validateUserNameExists() 2016-07-25 01:01:14 -06:00
Bryan Ashby 820e150708 Properly filter out private mail by user ID 2016-07-25 01:00:35 -06:00
Bryan Ashby c3ae30a8aa isPrivateTagArea() 2016-07-25 00:58:49 -06:00
Bryan Ashby c2cbc7913c Use new menu stack code 2016-07-25 00:58:27 -06:00
Bryan Ashby ea0ec9ae4e ES6 menu stack 2016-07-25 00:57:12 -06:00
Bryan Ashby 08393e0aff * New ACS class avail @ client.acs
* Experimental / WIP work on issue #79
2016-07-24 11:48:59 -06:00
Bryan Ashby 8bd61f2d01 * New ACS class avail @ client.acs
* Experimental / WIP work on issue #79
* Issue # 77: Changes to new_scan.js, temp conf/area swapping, etc.
* message area: getMessageConfByAreaTag(), getMessageConfTagByAreaTag(), tempChangeMessageConfAndArea(), getNewMessageCountInAreaForUser()
2016-07-24 11:47:34 -06:00
Bryan Ashby 359241654b Case insensitive compare for area tags (#78) 2016-07-21 21:04:08 -06:00
Bryan Ashby a1167acc03 Fix non 'ch' issue 2016-07-20 22:21:46 -06:00
Bryan Ashby 9545cb620b Add KeyEntryView (%KE) 2016-07-20 22:11:57 -06:00
Bryan Ashby 8cd07d2af4 Add startup log entry 2016-07-19 21:23:41 -06:00
Bryan Ashby 7f1aec4fca Make linter happy 2016-07-19 21:02:12 -06:00
Bryan Ashby 2d1f3d3c17 Minor cleanup work 2016-07-19 21:01:49 -06:00
Bryan Ashby 5e13a78f31 Minor cleanup 2016-07-19 21:01:25 -06:00
Bryan Ashby 64044399ab error -> reason when failing to display art 2016-07-19 21:00:56 -06:00
Bryan Ashby b0930a3b7e Add setSyncTermFontWithAlias() 2016-07-19 20:58:51 -06:00
Bryan Ashby df56391338 Fix message and conf area sorting for 'sort' > 9 (again) 2016-07-19 08:45:18 -06:00
Bryan Ashby 985d239ab9 Fix message and conf area sorting for 'sort' > 9 2016-07-18 21:18:55 -06:00
Bryan Ashby 09e399a060 Messages Cut Off #73 2016-07-18 20:05:29 -06:00
Bryan Ashby b8a23b827c * Improved message trimming
* Better logs, code cleanup, etc. around trimming
2016-07-17 22:17:24 -06:00
Bryan Ashby e19b725aa8 Various cleanup WIP 2016-07-17 22:16:15 -06:00
Bryan Ashby b7274a16d4 (Yet another) fix for setFocusItemIndex() draw issues! 2016-07-17 22:15:43 -06:00
Bryan Ashby a7993281b9 Better missing art log 2016-07-16 13:17:16 -06:00
Bryan Ashby 2bd548d284 Code cleanup (minor) 2016-07-16 13:06:03 -06:00
Bryan Ashby 485711b5da * Clean up some logs
* Add serializer for 'err' in logs for passing full err object
* Don't dump HUGE message lists to log during new scan
2016-07-16 13:05:32 -06:00
Bryan Ashby 787a855097 Auto-activation by default 2016-07-14 21:30:02 -06:00
Bryan Ashby 43c5de3e40 Finally fix setFocusItemIndex() draw issues! 2016-07-13 22:46:14 -06:00
Bryan Ashby c94f663947 * DRY menu pop/goto into reloadMenu() (temp hack until we can find a good solution for simple redraw)
* Only reloadMenu() if we actually change areas
* Code style cleanup
2016-07-12 23:38:40 -06:00
Andrew Pamment 1ddbb98319 Updated to use findIndex 2016-07-13 14:43:13 +10:00
Andrew Pamment b627977f9c Fixed Next/prev conf/areas 2016-07-12 20:52:17 +10:00
Andrew Pamment 369d17c407 Message Area/Conf Prev, Next (Unfinished) 2016-07-12 19:57:07 +10:00
Bryan Ashby dfb4f17c5f * Resp DONT to WONT NEW-ENVIRONMENT 2016-07-10 22:14:30 -06:00
Bryan Ashby 1ecc68b250 Fix erronous warning 2016-07-09 20:10:03 -06:00
Bryan Ashby 6ffef26cbf Start of cleanup 2016-07-09 20:09:03 -06:00
Bryan Ashby 1aa77530dd TODO reminder 2016-07-09 20:08:08 -06:00
Bryan Ashby 7717ac8b5f Change default SSH port 2016-07-09 16:01:38 -06:00
Bryan Ashby 0519d9a001 Minor cleanup, prevent XY from warning in log 2016-07-06 20:56:30 -06:00
Bryan Ashby 03ee20783b Enable FK's, duh 2016-07-06 20:55:50 -06:00
Bryan Ashby 3bbdd4abae Check for MSGID explicitly during dupe check if present 2016-07-05 22:32:13 -06:00
Bryan Ashby f87e9917a0 * Resolve issue #59: Better message UUID generation and dupe checks 2016-07-05 22:18:43 -06:00
Bryan Ashby 9e573e6810 * Allow relative or absolute paths in for art
* Misc cleanup
2016-07-04 12:58:41 -06:00
Bryan Ashby 396e7cc747 Default to empty[] args 2016-07-04 12:57:49 -06:00
Bryan Ashby ce1d3e6a7e * ES6 & misc cleanup
* Add index to message for quicker retrieval
2016-07-04 12:56:15 -06:00
Bryan Ashby f6d363b53d Allow modules to live in their own subdirectory (by matching module name) such that they can have their own package.json, deps, etc. 2016-07-03 10:58:57 -06:00
Bryan Ashby a5fafc25ae Clear out old items before drawing new 2016-07-02 23:09:27 -06:00
Bryan Ashby 1b0891b0c3 Set baud emu before cls such that terms without support don't show garbage... most of the time 2016-07-02 23:08:54 -06:00
Bryan Ashby 8803465762 ES6 cleanup 2 2016-07-02 20:05:14 -06:00
Bryan Ashby 5a5b39f3a4 ES6 cleanup 2016-07-02 20:02:00 -06:00
Bryan Ashby d5c806031f Use new beforeArt 2016-06-28 23:07:33 -06:00
Bryan Ashby 9e6af7f19b Use new beforeArt 2016-06-28 23:07:15 -06:00
Bryan Ashby c2ee05bd51 Add callback to beforeArt 2016-06-28 23:06:35 -06:00
Bryan Ashby a3b4568a76 Fix issue parsing args in sgr() introduced recently 2016-06-27 23:07:59 -06:00
Bryan Ashby e82ec724e1 * Fix some issues with autoScroll
* Misc cleanup
2016-06-27 23:01:31 -06:00
Bryan Ashby 8be75d4713 Remove commented out deleteLine method 2016-06-27 22:34:19 -06:00
Andrew Pamment be6af161ec Added ERC Module 2016-06-27 17:29:17 +10:00
Bryan Ashby b6cada6f3c Various ES6, TODO and code cleanup 2016-06-26 21:23:59 -06:00
Bryan Ashby 3955d5539f Comment out disabling of VT100 line wrapping for now - causes too much trouble with actual esc seq in place 2016-06-26 21:23:36 -06:00
Bryan Ashby 0f0e674f97 Add nextMenu() @systemMethod, code cleanup, ES6, etc. 2016-06-25 22:43:12 -06:00
Bryan Ashby a5505ea718 Add getModDatabasePath() for modules 2016-06-25 22:37:28 -06:00
Bryan Ashby 57180da398 Mods DB location 2016-06-25 22:37:02 -06:00
Bryan Ashby 8f1301d647 ES6 + misc cleanup 2016-06-25 22:36:40 -06:00
Bryan Ashby aafa3b68eb Run trim messages every 24 hours 2016-06-21 21:37:47 -06:00
Bryan Ashby 424aadbd40 Fix stdio door exit 2016-06-21 09:02:06 -06:00
Bryan Ashby 8c06325e63 * Try to clean up terminal stuff set by doors @ exit 2016-06-20 21:38:43 -06:00
Bryan Ashby 97c2e7adc0 Call shutdown() of msg network modules @ shutdown 2016-06-20 21:05:47 -06:00
Bryan Ashby b17bd15c46 * @watchFile support for event scheduler
* Better/cleaner overall BBS shutdown WIP
2016-06-20 20:39:20 -06:00
Bryan Ashby 1e5a8da1e8 Add @execute support to event scheduler 2016-06-20 18:58:54 -06:00
Bryan Ashby 3a41d550b0 Fix typo in spelling 2016-06-20 15:03:36 -06:00
Bryan Ashby 7eb7500ad8 * Better OO
* Some scheduled event logging
2016-06-20 15:02:20 -06:00
Bryan Ashby 81301047b3 Handle missing / no longer avail message 2016-06-20 14:41:43 -06:00
Bryan Ashby 05cf2c24ca Fix origin line to a signle leading space (reported by apam) 2016-06-20 14:24:11 -06:00
Bryan Ashby 61c9a0d320 * Fix config.js & remove testing values 2016-06-20 14:11:37 -06:00
Bryan Ashby f5a1a79777 * Clean up door.py
* Implement trimMessageAreasScheduledEvent() method
* Misc cleanup
2016-06-20 14:10:12 -06:00
Bryan Ashby 6e6ebc9b18 * Fix menu stack corruption reported by apam when 'exit' (and possibly other) pty events fire 2+ times 2016-06-20 00:40:31 -06:00
Bryan Ashby 36ce2354e3 * Functional event scheduler - still some to do, but works
* WIP on message area cleanup via scheduler
* Some const cleanup
2016-06-19 21:09:45 -06:00
Bryan Ashby a06f721185 prevMenu() if MenuModule load error 2016-06-16 22:35:27 -06:00
Bryan Ashby 9b2af0f90c Send the correct rlogin information; Require bbsTag in config 2016-05-31 22:35:34 -06:00
Bryan Ashby 4dd8b106ba * Oops! 2016-05-28 21:55:49 -06:00
Bryan Ashby fd3192c75a Add DoorParty support 2016-05-28 21:04:39 -06:00
Bryan Ashby 4f719259fe * Some minor code cleanup
* Some experimental stuff - likely to just drop soon, so no need for a branch
* Minor changes to ansi escape parser
2016-05-23 20:45:18 -06:00
Bryan Ashby 77a9306afa Merge branch 'master' of ssh://numinibsd/git/base/enigma-bbs 2016-04-28 23:05:17 -06:00
Bryan Ashby aadc7a347b Minor updates to ansi parser 2016-04-28 23:05:01 -06:00
Bryan Ashby dbfad79431 Remove unused variables; use const 2016-04-18 21:20:18 -06:00
Bryan Ashby 1a689805b5 Fix StateFlags0 -> state_flags0 -- was causing imports to export! 2016-04-14 23:08:54 -06:00
Bryan Ashby 9080b1d0b9 Fix conflict 2016-04-14 22:12:46 -06:00
Bryan Ashby 1113a5f366 Fix some encode/decoding errors with unknown/unsupported encodings 2016-04-14 22:11:01 -06:00
Bryan Ashby 2c0267adf1 Fix assert when looking for MSGID 2016-04-13 21:38:45 -06:00
Bryan Ashby 7278450d9e * Ability to save off imported (and later, exported) packets for debugging purposes via scannerTossers::ftn_bso::retainImportPacketPath config.hjson opt 2016-04-13 21:06:27 -06:00
Bryan Ashby f0919b5227 * Fix bug causing private mail to be skipped during new scan
* Some code cleanup: spaces -> indents
* Resolve TODO removing Message.MetaCategories: Just use string names
* Misc ES5 -> ES6
* Fix bug in module loader when require() fails
* Some DRY in new_scan.js
2016-04-12 22:38:32 -06:00
Bryan Ashby 54c79dee05 Adjust to TZUTC kludge 2016-04-11 20:44:08 -06:00
Bryan Ashby 8f988f5dc1 Some notes 2016-04-11 20:23:11 -06:00
Bryan Ashby 91e0c44d9d RE: check should not be case sensitive 2016-04-11 20:22:55 -06:00
Bryan Ashby 2342806576 Fallback decoding 2016-04-10 22:04:22 -06:00
Bryan Ashby a6d7d41601 FTN/BSN import/export now ignores case in filenames 2016-04-02 09:56:16 -06:00
Bryan Ashby fbf9bc49f9 Better FTN outbound handing of zones...I think 2016-04-02 00:28:25 -06:00
Bryan Ashby 568a138cab * Better logging of import/export stats & schedules
* Some code cleanup
* Remove all mkdirp module stuff -- use fs-extra
2016-03-28 22:07:21 -06:00
Bryan Ashby b5a4fadb92 originName -> originLine 2016-03-28 19:58:07 -06:00
Bryan Ashby 434fcdb652 * Fix a few bugs with import - use eachSeries() for packet import to properly handle SQL transaction with 2:n packets 2016-03-28 19:36:09 -06:00
Bryan Ashby 8645cac892 Use fs-extra for move vs fs.rename(), start replace of mkdirp 2016-03-27 23:19:18 -06:00
Bryan Ashby 38a96f53da * Fix quickstart config.hjson example
* Fix minor log issue in bbs.js @ error when parsing config/etc.
2016-03-27 00:19:31 -06:00
Bryan Ashby 91279464f7 Documentation on Message Conferences & Areas 2016-03-25 20:47:25 -06:00
Bryan Ashby 0b23f0aa3b Add 'sort' key available to message conferences and areas 2016-03-24 23:10:08 -06:00
Bryan Ashby 686573e362 Merge branch 'msg_network' of ssh://numinibsd/git/base/enigma-bbs into msg_network 2016-03-23 21:01:01 -06:00
Bryan Ashby 98e6afa1af * Don't blow up @ message network record() if no network configured for areaTag
* Remove console.log() of message persist; use proper client.log
2016-03-23 20:59:38 -06:00
Bryan Ashby 485dccfe11 SSH not enabled by default (Req's PK/pass in config) 2016-03-22 22:29:08 -06:00
Bryan Ashby 4e21901be7 * Fix hard line feeds @ FTN import/export
* Retain Origin and tear lines in imported messages
2016-03-22 22:24:00 -06:00
Bryan Ashby b91c9771fc * Updated Message Network docs
* .ANS files updated from attributes
2016-03-20 21:34:39 -06:00
Bryan Ashby 9fa044119b Catch exception @ createServer() e.g. if no PK exists for ssh.js 2016-03-19 22:17:49 -06:00
Bryan Ashby d29829a46c * Implemented @watch rule for import schedule
* Implemented @immediate rule for export schedule
2016-03-15 21:44:24 -06:00
Bryan Ashby 964c53ea9f * Changed scan check to use new System state_flags0 meta to skip already imported/exported msgs
* Use moment.js for Message modTimestamp
* Remove user_message_status stuff
* Add REPLY kludge support @ export
* Use TID vs PID kludge @ export (spec)
* Start work on @immediate - nearly complete
2016-03-14 22:29:41 -06:00
Bryan Ashby a787a2eab3 * Fix collsion with import/export temporary dirs; better use of temp dirs all around
* Raw (non-bundle) packet exports are now BSO named (e.g. .cut for crash)
2016-03-13 11:11:51 -06:00
Bryan Ashby 86c659849c * Flow file creation for exported bundles based on node configuration - 'crash' is currently the default 2016-03-12 00:22:06 -07:00
Bryan Ashby 31ca7d3eaf * Don't export imported messages
* Some basic code cleanup
2016-03-09 22:32:00 -07:00
Bryan Ashby ad0296addf * Change FTN packet read() to use async iterator
* createMessageUuidAlternate(): Mmethod for FTN message v5 UUID generation when no MSGID to work with
* parseAbbreviatedNetNodeList() now works properly
* Add core/uuid_util.js for various UUID utilities such as v5 named UUID generation
* Fix message meta load/retrieval
* Add lookup for REPLY kludge -> MSGID -> local reply IDs
* Fix SEEN-BY additions @ export
* Don't override MSGIDs if they already exist
* Store MSGID @ export so it can be inspected later
* Add import functionality (working, but WIP!)
* Clean up bundles and packets after import
2016-03-08 22:30:04 -07:00
Bryan Ashby 6094bed07f * Use node-temp for temp file creation, cleanup, etc.
* Lots of WIP on FTN BSO import
* Fix double callbacks in ArchiveUtil
* Impl ArchiveUtil.extractTo()
* Update bunyan
2016-03-03 22:54:32 -07:00
Bryan Ashby 5c324788fe * Minor work on FTN/BSO import
* Minor work on message network docs
2016-03-01 22:42:29 -07:00
Bryan Ashby 662d3f232e * Use key name for configured archiver name (e.g. "zip")
* Start WIP on mesasge import/toss via schedule
* Defaults for message network name
2016-02-29 22:32:51 -07:00
Bryan Ashby 1a6af18801 Update area scan ID after successful export 2016-02-28 22:35:43 -07:00
Bryan Ashby 76bbc43600 * Start work on FTN/BSO schedule via later.js
* Utilize last scan message ID to scan areas
* Lots of changes to FTN packet creation
* Create packets with target max size
* Create ArcMail bundles when configured to do so
2016-02-28 22:04:03 -07:00
Bryan Ashby ae20dc1f7c * Fix FTN packet created date/time & moment stuff 2016-02-23 23:38:05 -07:00
Bryan Ashby 1417b7efdd * Fix messages with no origin line
* Fix end of message/termination detection for FTN packets
* Start of archive support -- one use will be FTN archives
* Work on FTN ArcMail/bundles
2016-02-23 21:56:22 -07:00
Bryan Ashby a858a93ee1 * FTN BSO module: Export to <domain>.<zone> dirs where appropriate
* Code cleanup
* Fix FTN packet header writing
* Add CHRS support to FTN packet I/O
* Change to FNV-1a hash of ms since 2016-1-1 ("enigma epoc") + message ID for MSGID serial number and <packet>.pkt BSO export
* Only write some FTN kludges for EchoMail (vs NetMail)
* If config specifies, call message network modoule(s) .record() method @ persist (WIP)
2016-02-20 17:57:38 -07:00
Bryan Ashby 74f5342997 * msg_network.js: Management of message network modules (start/stop/etc.)
* Minor updates to ES6 in some areas
* Better bbs.js startup seq
* Better iterator support for loadModulesForCategory()
* Start work on loading message network modules & tieing in record() (WIP)
* FTN PacketHeader is now a ES6 class
* Various FTN utils, e.g. Via line creation
2016-02-16 22:11:55 -07:00
Bryan Ashby 13d5c4d8f4 * New Address class for FTN addresses + experiment with ES6 classes
* Move a lot of address functionality/parsing/etc. to Address
* WIP on ftn_bso scan/tosser
* PATH and SEEN-BY creation, parsing, etc.
2016-02-15 17:56:05 -07:00
Bryan Ashby 7b5ab029f9 Many updates to read/write of packets of diff versions 2016-02-10 22:24:46 -07:00
Bryan Ashby dec78e942d * Reworked FTN packet I/O (WIP)
* Detect FTN packet 2, 2.2, and 2+
* Various FTN utils (MSGID, Origin, PID, generation etc)
* More work on message network readyness
2016-02-09 22:30:59 -07:00
Bryan Ashby 317af8419a Major commit for new message network WIP 2016-02-02 21:35:59 -07:00
Bryan Ashby 6750c05f07 Beter group check and isAuthenticated() 2016-01-30 15:26:19 -07:00
Bryan Ashby 794c885ac1 * Add new method for getting online/active node information
* Use new online method for whos online
2016-01-30 15:18:55 -07:00
Bryan Ashby e8a729cebd Remove break me nonsense 😁 2016-01-22 22:16:25 -07:00
Bryan Ashby 12414d0d7a Fix some bugs with merging when no explicit form defined 2016-01-16 19:04:17 -07:00
Bryan Ashby 5700ff27ba Missing changes for theme fixes 2016-01-14 22:58:56 -07:00
Bryan Ashby ea820dbbbb Missing config_util.js 2016-01-14 22:56:21 -07:00
Bryan Ashby 4fdd3dbbfe MAJOR CHANGE to theming system:
* Less complex
* Themes are only loaded once. Users share avail themes[] objects
* Themes are applied to configuration _once_
* Users can switch themes in configuration
* Other related improvements
2016-01-14 22:44:33 -07:00
Bryan Ashby ef047bc515 Use === for comparison 2016-01-04 23:33:03 -07:00
Bryan Ashby 36c995018d Add getCount() and getItems9) 2016-01-04 23:32:43 -07:00
Bryan Ashby 9ce2991216 Better handling of quote builder - do not wrap back up to start when appending lines; Final line closes the builder (experimental) 2016-01-04 23:32:01 -07:00
Bryan Ashby dd82a24e56 Newscan functionality for messages in working state 2016-01-03 19:40:34 -07:00
Bryan Ashby 63019e9338 Fixes to last read ID updates and DRY 2016-01-03 17:47:39 -07:00
Bryan Ashby 9306b6e38c * Update last read ID even for private_mail
* Allow options.config or extraArgs for various configuration
2016-01-03 17:46:32 -07:00
Bryan Ashby f3b98c5644 Fix callback, add some WIP commented out concepts 2016-01-03 15:53:27 -07:00
Bryan Ashby a4cd689697 Updated new scan WIP 2016-01-02 18:35:13 -07:00
Bryan Ashby 484ccdc014 Fix to/from user ID meta 2016-01-02 18:34:50 -07:00
Bryan Ashby 3056d6c742 Add some note 2016-01-02 18:34:12 -07:00
Bryan Ashby 79cb65304d Some minor improvements for NetRunner + fix RE: RE: RE bug 2016-01-02 13:40:02 -07:00
Bryan Ashby f292944992 Add callbacks to write methods 2016-01-02 12:11:40 -07:00
Bryan Ashby 7b521d8699 removeClient() at logoff() 2016-01-02 12:10:54 -07:00
Bryan Ashby b3e1490d63 Add username to client.log 2016-01-01 21:17:13 -07:00
Bryan Ashby 1212eb41eb Semi functional for basic private mail 2015-12-30 23:24:26 -07:00
Bryan Ashby ac6288eb23 Notes 2015-12-30 22:29:41 -07:00
Bryan Ashby 92c33d2d43 Add WIP method getNewMessagesInAreaForUser() 2015-12-30 22:29:10 -07:00
Bryan Ashby 7fb9cdccb1 Add local_bulletin message area type 2015-12-30 22:28:25 -07:00
Bryan Ashby db014c16bf Backup restore() when 'close' fails to fire 2015-12-28 16:34:28 -07:00
Bryan Ashby eca82b66d4 Better loading of themes & getAvailThemes() 2015-12-24 11:56:04 -07:00
Bryan Ashby 37bba84cb4 Missing ; 2015-12-24 11:55:37 -07:00
Bryan Ashby edcee5eb6a setNewAuthCredentials() method 2015-12-24 11:54:55 -07:00
Bryan Ashby a9490d8fd2 Formatting 2015-12-24 11:54:38 -07:00
Bryan Ashby d2c8bd90f0 setFocusItemIndex() support 2015-12-24 11:54:03 -07:00
Bryan Ashby a2011ef39c setText() for MaskEditTextView 2015-12-24 11:53:34 -07:00
Bryan Ashby 67b0d1a683 User configuration functional 2015-12-24 11:52:23 -07:00
Bryan Ashby fe01a9f15e Additional max lengths for user properties 2015-12-24 11:51:49 -07:00
Bryan Ashby e8c8975f13 Allow hotkeys to submit 2015-12-23 19:08:24 -07:00
Bryan Ashby 3ffccc35da Switch to Renegade style color codes as default pipe code system 2015-12-21 18:07:03 -07:00
Bryan Ashby 727f9fdb1f Fix occasional null ref if client ends before door sock 2015-12-15 23:27:13 -07:00
Bryan Ashby 1404768ed3 Add explicit 'ansi-bbs' as ANSI terminal type 2015-12-14 10:33:15 -07:00
Bryan Ashby 0489f5b2dd * Remove/fix up some console.log()'s 2015-12-13 17:32:05 -07:00
Bryan Ashby b53ad03ad0 Default to luciano_blocktronics for pre-login theme 2015-12-13 16:47:28 -07:00
Bryan Ashby da5d88d20d * Validation framework functional
* Use validation for FSE, NUA, etc.
* Switch to nua.js from apply.js (MenuModule + validation)
2015-12-12 15:52:56 -07:00
Bryan Ashby 0d477210f9 Add Config.general.menuFile: Specify name or path of menu HJSON file. Defaults to menu.hjson in mods 2015-12-11 13:58:58 -07:00
Bryan Ashby bd4c50fa8d Handle SIGINT a bit more gracefully - disconnect clients 2015-12-11 13:57:56 -07:00
Bryan Ashby cb3ae84bc5 Many updates to view validation framework 2015-12-10 21:45:02 -07:00
Bryan Ashby 490d71c180 Remove console.log() 2015-12-10 21:44:36 -07:00
Bryan Ashby 007103cbc1 * New validation methods 2015-12-10 21:44:21 -07:00
Bryan Ashby 34a8bdae21 * Notes on validation framework usage 2015-12-10 21:43:57 -07:00
Bryan Ashby 743035683c * WIP on new view validation framework 2015-12-10 00:04:38 -07:00
Bryan Ashby 964b899fe5 * 'validator' property 2015-12-10 00:03:58 -07:00
Bryan Ashby 93a28f4b7b Rename debugConnections -> traceConnections 2015-12-07 21:45:48 -07:00
Bryan Ashby 4458bcfd37 * Remove inhSocket stuff at least for now: a) It's untested and liekly dangerous, b) does not work with SSH connections 2015-12-07 21:44:42 -07:00
Bryan Ashby 06974973a3 * Make keyboard input trace optional
* Ensure term exists before calling disconnect()
2015-12-07 21:43:37 -07:00
Bryan Ashby 32fe815ea2 Ensure top() exists before attempting to return instance 2015-12-07 19:15:15 -07:00
Bryan Ashby 6af0861dfe * ClientTerminal now has disconnect() method called by a client when a connection ends thus preventing data to be written after 2015-12-07 19:12:31 -07:00
Bryan Ashby 7cc1fe55c0 * Better handling of TOONODE (existing user already logged in) 2015-12-06 20:54:23 -07:00
Bryan Ashby ecaee4fe2f * Handle RFC 779 SEND_LOCATION in telnet 2015-12-06 15:25:10 -07:00
Bryan Ashby 6152530a57 * Add {userId} arg to doors 2015-12-06 15:24:34 -07:00
ENiGMA BBS 58f4af0f11 * Fix defaultHandlerMissingMod for menu load error 2015-12-05 23:22:23 -07:00
Bryan Ashby 406b272de1 Some fixes to doors using sockets. Works on Windows! 2015-12-03 20:31:20 -07:00
Bryan Ashby 5087467eeb * Doors can now optionally spawn a temporary server for I/O (e.g. to be used for virtual serial port for QEMU/etc.) 2015-12-02 22:10:45 -07:00
Bryan Ashby 87b6e245ce Help on message reading #29 2015-11-28 12:17:14 -07:00
Bryan Ashby a1f1578048 System allows non-unique email addresses #7 2015-11-27 22:26:00 -07:00
Bryan Ashby d7c35911e8 * Some DOOR32 updates 2015-11-26 22:09:40 -07:00
Bryan Ashby 5d37b25ad9 WIP door32.sys support 2015-11-26 21:48:02 -07:00
Bryan Ashby c7a6e6fd29 * Temporary work around for broken pty/iconv-lite encoding with doors 2015-11-26 21:27:57 -07:00
Bryan Ashby 15cf37c55c Add Who's Online mod 2015-11-25 18:03:47 -07:00
Bryan Ashby 6a70c5af51 Fix bad SyncTerm/cterm font ESC generation when no font match 2015-11-25 17:58:35 -07:00
Bryan Ashby 11ff742dc6 Don't set font to default (cp437) if it came from SAUCE 2015-11-21 17:01:21 -07:00
Bryan Ashby 3380f3a2e5 * Remove console.log() 2015-11-21 13:31:26 -07:00
Bryan Ashby 97ac37deb9 * Fix ~ and config.hjson lookup on Windows 2015-11-21 13:29:24 -07:00
Bryan Ashby 3ad43c07e8 * New user / apply crashes if no message areas defined #19 2015-11-20 23:46:48 -07:00
Bryan Ashby 839ab8fc91 * Leaving feedback to Sysop #20
* Cache sysop info after first user created
* ACS check preventing sysop from sending feedback to themselves @ apply
2015-11-20 17:49:37 -07:00
Bryan Ashby c81eb6f514 * Update some packages
* Use ptyw.js (from a specific rev for now) vs pty.js for better Windows support
* Updated docs slightly
* Use iconv.encode() in dropfile generation
2015-11-20 11:48:32 -07:00
Bryan Ashby 48c12ddffb * ACS checks in 'next' blocks can now have a default "catch all" by simply omitting the 'acs' portion of a condition 2015-11-14 17:51:05 -07:00
Bryan Ashby 688e46bc47 * Some more JSON -> HJSON cleanup
* More work on ACS system conditional matching. Now functional within menus. Still more work to go on various ACS checks themselves.
* Use ACS for new user path: If new user requires activation, they will see 'DONE' then get logged off
2015-11-14 12:22:21 -07:00
Bryan Ashby 03f9ad4789 * ACS system is now to chars for all IDs, e.g. ID, LC, etc. 2015-11-13 16:13:20 -07:00
Bryan Ashby a2f8101821 * Some additional work on ACS 2015-11-12 20:47:34 -07:00
Bryan Ashby da460dfc7b * Change config.hjson path from ~/.enigma-bbs/config.hjson to ~/.config/enigma-bbs/config.hjson
* Note about first user being sysop
2015-11-12 16:18:28 -07:00
Bryan Ashby a1d3ab9f0e * Lots of progress on PEG.js ACS parsing and validation implementation 2015-11-12 00:31:25 -07:00
Bryan Ashby 23025ca5bd * Very early start on PEG.js based ACS grammar 2015-11-10 23:05:42 -07:00
Bryan Ashby e023d0236e * Fix accidental delete of user db line 2015-11-06 19:09:26 -07:00
Bryan Ashby b6aa21b990 * Fix misc path 2015-11-06 18:30:08 -07:00
Bryan Ashby 3af5b9a213 * Much better DB init 2015-11-06 18:25:07 -07:00
Bryan Ashby 2423a00d05 * Add misc to path creation 2015-11-06 17:15:05 -07:00
Bryan Ashby 4d40fe0f1b * Databases not initialized on first run #15 2015-11-06 16:14:30 -07:00
Bryan Ashby 5bd95255a3 * User.isGroupMember() can now take a string or array of strings to check
* Add WELCOME2.ANS
* Disallow "all" as a username
* Check group membership when switching areas
2015-11-04 23:04:55 -07:00
Bryan Ashby b1be5cdff4 * Delete mods/login.js (not used)
* More fallbackMenuModule & gotoMenuModule clean up -- should all be using new system now
2015-11-03 23:25:35 -07:00
Bryan Ashby f7a7423b32 * New menu stack functional
* @systemMethod:fallbackMenu -> @systemMethod:prevMenu
* Lots of cleanup of gotoMenuModule() -> MenuModule.gotoMenu()
* Lots of cleanup of fallbackMenuModule() -> MenuModule.prevMenu()
* Lots of cleanup of 'next' processing -> MenuModule.nextMenu()
* Clean up CPU strings a bit more
2015-11-03 23:15:49 -07:00
Bryan Ashby 15ce69e02c * More work on MenuStack 2015-11-03 16:42:11 -07:00