Commit Graph

1072 Commits

Author SHA1 Message Date
Bryan Ashby f0db0e3c94 * file.db: file_user_rating: Table for tracking average user rating of a file
* Default filter order to descending
* File rating support including in search/filter
* Default to passing submitted form data (if any) @ prevMenu()
* Fix issues with byte/size formatting for 0
* Allow action keys for prompts
* use MenuModule.pausePrompt() in various places
* Add quick search to file area
* Display dupes, if any @ upload
2017-02-07 20:20:10 -07:00
Bryan Ashby 5f929b3d63 comment 2017-02-07 20:14:56 -07:00
Bryan Ashby 92772eb1a9 * Added ability to serve static files from web server
* Web server can have custom error pages, e.g. 404.html
* "file_area" stuff -> "file_base"
* Fix some rare bugs in theme/art loading
* Adjust tab order dynamically for file upload details
2017-02-04 09:20:36 -07:00
Bryan Ashby ff64a7aed5 * SEXYZ: XModem & YModem
* Explicit sort avail to protocols
* MenuView.removeItem()
* Natural sort for more things
* Fix some issues with HorizontalMenuView redraw/update
* Sanatize non-blind upload filename (security)
* Validator on non-blind upload filename
2017-02-01 19:42:27 -07:00
Bryan Ashby 8261881e3e Initial support for non-blind aka non-batch uploads 2017-01-31 23:10:17 -07:00
Bryan Ashby 690d148ad5 * Move to uuid vs node-uuid
* Use uuid-parse for to/from string
2017-01-31 00:17:19 -07:00
Bryan Ashby 9c61b2b945 Use natural sort 2017-01-31 00:16:43 -07:00
Bryan Ashby 807ca9bded Fix some year est regex's, add yyyy-mm-dd 2017-01-31 00:16:28 -07:00
Bryan Ashby c7640de07e Add focusItemIndex property 2017-01-30 21:54:32 -07:00
Bryan Ashby 6f1015305b * Allow alternate matching group order for archive short/long desc
* max short/long desc file input byte size (ignore files larger than N)
* Add Arj support via 'arj'
2017-01-29 22:30:48 -07:00
Bryan Ashby 9525afddd3 * Created new npm module: temptmp: This replaces node-temp usage & solves global temp file cleanup issue with concept of temp "sessions" 2017-01-29 19:56:46 -07:00
Bryan Ashby e10d085cab Remove accidental typo in code 2017-01-29 19:56:34 -07:00
Bryan Ashby 8aa42342a2 Fix setText('')/clearText() issue with text views 2017-01-28 12:48:04 -07:00
Bryan Ashby 12d4c158c4 * ENiGMA now require Node.js 6.x LTS+
* Bump version to 0.0.4-alpha
* Update package dependencies
* Use modified node-buffers that does not use deprecated Array.get()
* Update lodash dependency to 4.x & convert to new methods/etc.
* Better 'noHistory' support for menu stack
* Fix bug in download queue init
* Misc code cleanup
2017-01-28 12:33:06 -07:00
Bryan Ashby 8889014f47 Update copyrights 2017-01-25 22:59:12 -07:00
Bryan Ashby 99ab60bf77 * Convert MenuModule to ES6 style class
* Convert modules that are MenuModule subclasses to ES6 style classes
* Convert mixins to ES6 style
* Various cleanup
2017-01-25 22:18:05 -07:00
Bryan Ashby 1c03c3021a * Temporary fix for MAJOR global temp cleanup bug: comment out node-temp .cleanup() methods
* Don't move temp uploads to area directory until user submit/completed
* New file util module
2017-01-23 23:32:40 -07:00
Bryan Ashby 99036592ae * Bump version to 0.0.2-alpha: File Base alpha here
* LHA/LZH archive support via external lha command
* Nearly complete upload processor
* Set default file base filter if none is set
* Additional MenuModule common method/helpers
* MLTEV property: tabSwitchesView
2017-01-22 21:30:49 -07:00
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
Bryan Ashby 64e9b9b057 * Start work on MenuStack 2015-11-03 15:17:14 -07:00
Bryan Ashby da9ae94ab8 * Sanatise ARM CPU string a bit 2015-11-01 14:02:06 -07:00
Bryan Ashby f318dc8da2 * Couple more toString() -> decode() updates 2015-11-01 13:55:59 -07:00
Bryan Ashby 46088a9f02 * Update to encode()/decode() direct calls for iconv-lite
* Overrite font (to not use!) when showing pause prompts - they should use the current set by menu/art
2015-11-01 13:32:52 -07:00
Bryan Ashby 9df21170c6 * Clean up connect.js a bit, add Github URL
* Readme updated some more :)
2015-10-29 14:10:34 -06:00
Bryan Ashby 77a4f27d9e * Remove old files 2015-10-27 22:49:51 -06:00
Bryan Ashby c5a094d8ff * Lots of mods/art/* file cleanup
* doortoomany.ans -> DOORMANY.ANS
2015-10-27 21:12:55 -06:00
Bryan Ashby 349549fae2 * Add .gitignore
* Use 'privateKeyPem' and 'privateKeyPass' for SSH
2015-10-27 20:46:30 -06:00
Bryan Ashby 4a386d649e * WIP on message last read - not fully functional yet 2015-10-22 15:44:44 -06:00
Bryan Ashby 4988559569 * Fix 'newMark' -> 'newIndicator' in message list
* Better Telnet trace filter similar to SSH
2015-10-22 13:01:16 -06:00
Bryan Ashby e9836e18db * New user reserved names now direct to applicaiton process for SSH 2015-10-22 12:22:03 -06:00
Bryan Ashby 93cff52c1f * Allow SSHPMPT.ASC for displaying SSH/secure app info/instructions 2015-10-22 11:04:50 -06:00
Bryan Ashby 4a22ce0924 * Servers now define 'firstMenu'. This allows e.g. SSH to pre auth, while Telnet still gets the matrix 2015-10-22 10:36:08 -06:00
Bryan Ashby 12e7722ec9 * Better place to get server name/type
* Servers export 'isSecure'
2015-10-22 00:03:18 -06:00
Bryan Ashby ad4eea6ba7 * SSH is now functional for 'ssh', PuTTY, SyncTerm, EtherTerm, and hopefully most others
* Explicit detect of syncterm as ANSI
* Add serverType (TELNET, SSH) MCI: %ST
2015-10-21 22:51:35 -06:00
Bryan Ashby e7e9746a85 * Rewrite SSH authentication - now works with PuTTY (thoguh there are some issues) and standard ssh. WIP still!
* Idle monitor not started until 'ready' signal
2015-10-21 16:30:32 -06:00
Bryan Ashby 6a2d283fad * WIP on SSH2 access: Linux ssh can now connect, browse, etc.
* Still issues with other terminals such as EtherTERM which just hangs after auth. Does not seem to send the 'shell' event
* Fix typo in msg_list module
2015-10-20 22:37:39 -06:00
Bryan Ashby 0f1fe31fe5 * SSH semi functional 2015-10-20 15:39:33 -06:00
Bryan Ashby 3833f9910e * Update some packages
* Still trying to figure out ssh2
2015-10-19 22:33:11 -06:00
Bryan Ashby d86d3e0119 * Separate login logic vs display
* Work on SSH a bit -- major WIP, not working!
2015-10-19 17:21:47 -06:00
Bryan Ashby a6f15c2dfc * Add BSD license 2015-10-19 10:50:35 -06:00
Bryan Ashby 549fba6b34 * Code cleanup + comments
* Fix message area access in NUA path
2015-10-18 21:24:13 -06:00
Bryan Ashby e36507fec1 * WIP user list - mostly complete
* Some code cleanup / renaming
2015-10-18 11:48:08 -06:00
Bryan Ashby 52dee0a401 * Filter Private from area lists/etc.
* Clean up CPU string for MCI display
2015-10-17 21:39:54 -06:00
Bryan Ashby d9ee2b6c80 * Add system_property.js 2015-10-17 20:56:16 -06:00
Bryan Ashby 1c1f4394ca * System stats
* Last callers rewritten using format and VM
* Some minor MCI stuff
2015-10-17 20:03:51 -06:00
Bryan Ashby d02d9e4a7c * TOONODE support when already logged in
* Work on new user / NUA flow
* Various cleanup
2015-10-15 23:41:24 -06:00
Bryan Ashby 171ee75043 * pipeWrite() can now parse Renegade via spec='renegade'
* WIP on user config
2015-10-13 00:35:37 -06:00
Bryan Ashby ea8061ae85 * Skeleton for user configuration 2015-10-11 23:26:27 -06:00
Bryan Ashby 6e0a4e84af * Message list updated to be functional with new MCI/etc. (Still WIP, but working good) 2015-10-11 16:05:45 -06:00
Bryan Ashby 3038213c09 * More progress on theming esp. in relation to .config menu module sections 2015-10-09 23:35:40 -06:00
Bryan Ashby a3ba9b0252 * More work on theming 2015-10-06 21:21:13 -06:00
Bryan Ashby 73952a2c37 * Minor work on themes + FSE 2015-10-06 15:22:49 -06:00
Bryan Ashby 60758e0f34 * WIP on theme by Luciano Ayres
* %TL for area name vs MA which is to become "default" message area
2015-10-04 22:04:56 -06:00
Bryan Ashby 3db16ed4a1 * Missing ; 2015-09-30 05:21:28 -06:00
Bryan Ashby a3e37293f4 * WIP on customization of .config blocks
* getThemeArt() updated with new fallback mechanism (theme -> default theme -> art generic)
2015-09-27 22:05:40 -06:00
Bryan Ashby 78f6915577 * More minor WIP on making theme merging more flexible 2015-09-27 19:33:25 -06:00
Bryan Ashby 05812f57f0 * Trailing LF handling is now 'trailingLF' option, with 'default', 'yes', 'no', etc.
* Initial checking of WIP Mystery Skulls theme by Luciano Ayres of blocktronics
* Fix random theme selection
* WIP on theme customization apply: Needs to be much more flexible than current
* MenuModule will use .next > .fallback > default fallback
2015-09-27 15:35:24 -06:00
Bryan Ashby 68b8af7975 * Fix version to represent alpha
* Some fixes to message areas
* New NU-MAYA prompt
2015-09-26 00:20:17 -06:00
Bryan Ashby df477667b0 * client.runtime.* renamed to client.session.*
* some work on area names - need to fix login issue & rest shoudl work
2015-09-25 23:10:18 -06:00
Bryan Ashby 1082b6e39c * Minor fix + notes 2015-09-23 23:55:13 -06:00
Bryan Ashby 903db84f23 * New fallback with default vs explicit working
* New @systemMethod:fallbackMenu working
* Work on NUA flow: added preamble and some work on FSE related stuff
2015-09-23 23:41:06 -06:00
Bryan Ashby d63320e0b7 Merge branch 'master' of ssh://numinibsd/git/base/enigma-bbs 2015-09-23 22:24:59 -06:00
Bryan Ashby 41cdeb4c55 * WIP new fallback system and @systemMethod:fallback 2015-09-23 22:24:37 -06:00
Bryan Ashby 1175278779 * Some work on NUA
* Placeholder for sysop feedback after NUA step
2015-09-22 23:13:06 -06:00
Bryan Ashby 6c38ff54d5 * WIP replacement NUA system 2015-09-22 21:31:56 -06:00
Bryan Ashby b2592d0e71 * Fixes to actionKeys with new focus changes
* Various fixes, minor changes
2015-09-20 19:10:09 -06:00
Bryan Ashby b15d9a0bf8 * Fix word wrap bug introduced prior -- use 'expand' not 'expandTabs'
* Notes on better access of views by ID
* Work on apply process a bit
* Replies can now be saved
2015-09-20 01:29:07 -06:00
Bryan Ashby a6d00b05a7 * Artwork for NU-MAYA help, updated quote builder, etc.
* Fix some typos
* Fix message getQuoteLines()
* Quote builder fully functional
* MLTEV emits more information in position events
* Action keys can how handle plain characters that don't have full key object, e.g. "?"
* Hot keys for a lot of stuff
* WIP work on focus issue in VC.
2015-09-19 22:55:09 -06:00
Bryan Ashby d23012a201 * Fixed actionKeys to have full conf data including extraArgs 2015-09-18 22:16:19 -06:00
Bryan Ashby 899cb658cc * Clean up some "JSON" nameing in config to reflect generic config or HJSON
* Found why "r" wasn't working for reply in menu.hjson... now it crashes though because actionKeys extraArgs broken it seems
2015-09-17 23:17:15 -06:00
Bryan Ashby 1b46506cf8 * New concept of saved states. Modules will be called before enter to restore a saved state (if applicable) and before leave to save one. 2015-09-17 23:11:21 -06:00
Bryan Ashby 9865da34cc * Quote builder very functional, some bugs
* Work on fallback system (implicit); Added some notes... need saveState/restoreState type functionality as extraArgs may not be final args!
2015-09-17 22:53:19 -06:00
Bryan Ashby 6970e6e2ab * Lots of good progress with quote builder... still WIP, but nearly there 2015-09-16 22:31:09 -06:00
Bryan Ashby 20fb54422a * Quote builder even more functional :) 2015-09-15 22:44:31 -06:00
Bryan Ashby 4cba6f4c10 * word_wrap.js: Word wrapping functionality in it's own module
* Message.getQuoteLines()
2015-09-15 21:55:10 -06:00
Bryan Ashby a320a05c99 * Minor tweak to quoting
* Notes / TODO items
2015-09-14 23:02:09 -06:00
Bryan Ashby cee7983c5a * Progress on FSE quote builder... WIP! 2015-09-14 22:40:00 -06:00
Bryan Ashby 150de3953e * Work on quote builder / reply 2015-09-13 21:15:55 -06:00
Bryan Ashby 88d725f585 * Minor work on reply area post 2015-09-12 19:18:08 -06:00
Bryan Ashby 05f666cf29 * Minor JSON -> HJSON config cleanup
* Some logging in telnet server vs console.log()
* Calculate FSE footer position vs hard code it
2015-09-12 17:17:00 -06:00
Bryan Ashby e661b23eca * Strict mode 2015-09-11 08:39:25 -06:00
Bryan Ashby 7b7cf38113 * Cleanup and minor work on FSE post 2015-09-10 23:09:45 -06:00
Bryan Ashby 1a81532aa7 * Mostly thoughts on starting pipe code support for preview mode of MLTEV 2015-09-10 22:20:11 -06:00
Bryan Ashby 6b03b5357f * predefined_mci.js: General method for resolving MCI codes -> string
* Changed MCI resolution to use object to function mapping so entries not yet available would not be executed
* enigmaToAnsi() can now (optionally) resolve MCI codes
* pipeWrite() resolves MCI codes
2015-09-10 21:01:04 -06:00
Bryan Ashby 870e5a9136 * Update modules
* Remove lingering strip-json-comments
2015-09-10 13:38:36 -06:00
Bryan Ashby 481c3171f4 * JSONCache -> ConfigCache
* ConfigCache used for theme.hjson
* Reformatted theme.hjson JSON to HJSON
* Specific form ID used when applying themes if available, else generic match used
* Pass extraArgs when processing 'next'
2015-09-09 21:31:04 -06:00
Bryan Ashby cc6d214882 * More work on 'action' vs 'next' -- mostly complete for now 2015-09-08 22:31:38 -06:00
Bryan Ashby ca4b99a83e * Convert all JSON configurations (*.json) to HJSON (*.hjson) which is much more flexible for a human readable and editable configuration format
* WIP "next" vs "action" changes
* options.cls is now defaulted in config.js/config.hjson (default = true)
* Notes/etc.
2015-09-08 22:08:45 -06:00
Bryan Ashby 052cf5c490 * Some notes / TODO 2015-09-07 22:40:08 -06:00
Bryan Ashby 2edc63632b * Mostly work on building demo / NU-MAYA theme for testing / working out details / etc. 2015-09-07 21:18:09 -06:00
Bryan Ashby 6517f50e0c * Message view prev/next
* Message view up/down movement
* Some new experimental MCI codes
* Put cursor @ top of document in MLTEV preview mode
* Fix fse finishedLoading()
* Menus can have names, clients have current status
2015-09-07 00:12:01 -06:00
Bryan Ashby 1f3948d84c * Menus can specify status
* WIP changes of message loading in viewer - can now do next... WIP!!!
2015-09-06 15:58:58 -06:00
Bryan Ashby b911db75ca * Some Notes 2015-09-04 16:58:54 -06:00
Bryan Ashby cc68106473 * Message number/total 2015-09-04 16:35:08 -06:00
Bryan Ashby 80460ea050 * Code cleanup; minor 2015-09-04 16:17:41 -06:00
Bryan Ashby f587b228bc * Fix separation of editorMode vs footerMode 2015-09-04 14:28:05 -06:00
Bryan Ashby ddc806bd39 * Varous fixes for FSE. ...WIP on separation of editorMode vs editor/menu/etc. focus 2015-09-04 00:02:28 -06:00
Bryan Ashby 42ddabd875 * Minor work on post view FSE / related 2015-09-02 23:11:17 -06:00
Bryan Ashby 8b3b36fd83 * Add dateTimeFormat 2015-09-01 22:42:54 -06:00
Bryan Ashby e0f267c9a5 * Updates & notes to fse for view mode... WIP! 2015-09-01 22:20:29 -06:00
Bryan Ashby b910007647 * Very minor change 2015-09-01 15:37:03 -06:00
Bryan Ashby 02e90d7ca3 * Lots of work on message loading from message list and extraArgs 2015-08-31 23:18:46 -06:00
Bryan Ashby e852695354 * Fix bug in VerticalMenuView when pressing up with low number of items
* Minor work on message list
2015-08-30 21:42:24 -06:00
Bryan Ashby 8dc06cb49d * Some progress on message list fetching / display... WIP! 2015-08-27 22:20:24 -06:00
Bryan Ashby ede00f8937 * Remove old dependency
* Add string-format dep.
* Convert various strUtil.format() -> String.prototype.format() based system
2015-08-27 16:14:56 -06:00
Bryan Ashby 140990811a * Start some work on message list fetching 2015-08-26 23:25:49 -06:00
Bryan Ashby 3be271aab5 * Not much ... few minor changes 2015-08-26 23:04:04 -06:00
Bryan Ashby 9442760679 * Start work on allowing pipe codes & custom drawing using items vs focusItems for menus. EXPERIMENTAL. 2015-08-25 23:17:09 -06:00
Bryan Ashby 64c8d83559 * NO CARRIER :) 2015-08-21 13:47:01 -06:00
Bryan Ashby 1cb95bd44e * Remove message_area_desc property -- just fetch it 2015-08-20 22:51:00 -06:00
Bryan Ashby 150bd5778a * Switch to JSON/config.json based user groups, and user group membership 2015-08-20 22:29:16 -06:00
Bryan Ashby 6f3137d522 * Fix various areaID and area name refs for new system 2015-08-20 17:05:02 -06:00
Bryan Ashby d69d00a14b * Cleanup related to message area IDs / database -> JSON format and names 2015-08-20 17:00:35 -06:00
Bryan Ashby 35de0a2487 * Initial work on moving to JSON configured Message Areas (vs ID's in SQLite). This will be applied to user groups, and other types as well such that JSON can simply be edited in config.json
* Hopefully better/proper merge of config.js + config.json => config
2015-08-20 16:35:04 -06:00
Bryan Ashby ec70cc8caa * Progress on FSE / Area Posting
* Proof of concept work on user validation in FSE
* Term now has pipeWrite()
2015-08-19 22:10:18 -06:00
Bryan Ashby ca26cca55b * Don't look for non-user (e.g. predefined) MCI codes in form/config lookup 2015-08-19 18:50:40 -06:00
Bryan Ashby 4cf10ba85c * Minor changes & cleanup 2015-08-19 16:05:35 -06:00
Bryan Ashby 79e533468a * Notes 2015-08-19 00:07:24 -06:00
Bryan Ashby d3f82e38da Rely on pty.js, minor updates to area changing logic 2015-08-18 23:11:13 -06:00
Bryan Ashby c9a24b7ec8 * Minor code cleanup + fixes, area change/list semi functional 2015-08-18 22:45:47 -06:00
Bryan Ashby aaac4e884b * New string util method: format()
* Minor work on area list -- WIP!
2015-08-18 17:00:18 -06:00
Bryan Ashby aa820ac0b5 * New message_area.js for Message Area APIs, etc.
* msg_area_list.js module for listing/selecting message area (WIP; much to do)
2015-08-18 15:27:14 -06:00
Bryan Ashby 990dffe880 * Very minor 2015-08-17 21:45:11 -06:00
Bryan Ashby d71cae5c37 * persistAllProperties() and persistProperties() for User obje 2015-08-16 21:47:33 -06:00
Bryan Ashby 7990202317 * Fix some extraArgs stuff
* Minor updates to FSE related modules -- WIP!
2015-08-16 13:35:34 -06:00
Bryan Ashby d9b39fcaa6 * Switching back to module system for FSE... broken now, but hopefully this model sticks 2015-08-14 14:49:06 -06:00
Bryan Ashby 6257208c5e * Progress on FSE class/integration
* Use "proxy" for submit
* More key support... probably just missed it from other box, will merge later
2015-08-13 22:30:55 -06:00
Bryan Ashby 6d49e5e55f * Pass 'key' object to actions & submit form events 2015-08-13 16:05:17 -06:00
Bryan Ashby 08bebb560d * Minor work on fse class. Experimental handling of submit/etc. directly 2015-08-12 22:08:33 -06:00
Bryan Ashby 40e1e1bea8 * Use mixin class for ViewController management 2015-08-12 17:26:05 -06:00
Bryan Ashby bfdc58b90c * Few updates to FSE class, some notes 2015-08-11 22:28:43 -06:00
Bryan Ashby 7526a8b2c8 * Minor 2015-08-11 21:42:55 -06:00
Bryan Ashby c26fb573a1 * Some new skeleton files for area messages + some conceptual thoughts 2015-08-11 21:36:08 -06:00
Bryan Ashby 901f83453c * Lots of experimental stuff with message area in relation of FSE. Have a fairly good idea now how this can work... a few missing pieces 2015-08-09 19:32:38 -06:00
Bryan Ashby dbb3e04166 + asset.getModuleAsset()
* Menus can specify built in menu modules: @systemModule:XXXXX
2015-08-08 15:52:47 -06:00
Bryan Ashby b8d4741c18 * Work with prompts. Prompts now handle special menu "submit" block without form IDs/etc. 2015-08-06 23:08:10 -06:00
Bryan Ashby a0a97350fe * Add l33t.codes URL to connect banner 2015-08-06 16:25:52 -06:00
Bryan Ashby 82f3bc7601 * Use lodash for Config.js / config.json merge 2015-08-05 22:22:17 -06:00
Bryan Ashby ab40eb1fd4 * Message to indicate someone already logged in by username 2015-08-04 22:38:28 -06:00
Bryan Ashby 8d1fac41a9 * User idle timeout
* Only allow one session per user at a time
* user 'timestamp' property -> 'account_created'
* Better User.getLegacySecurityLevel() using group membership
* Client connection management -> client_connections.js
* Minor changes & cleanup
2015-08-04 22:35:59 -06:00
Bryan Ashby 608d4dc094 * DOOR.SYS support
* LORD now works via DOOR.SYS at least
* Abracadabra: nodeMax, tooManyArt support, etc.
* Abracadabra: Exit back to menu
* Some code cleanup
2015-08-03 23:11:17 -06:00
Bryan Ashby 144aa6b351 * More WIP on door support. Proof of concept mostly functional-ish for at least Pimpwars :) 2015-08-02 18:27:05 -06:00
Bryan Ashby d16beca341 * Various 2015-08-01 01:00:15 -06:00
Bryan Ashby 72b54b19b7 * Start work on door, dropfile, etc. support. Lots of placeholder
* Start work on door menu module for launching doors
2015-08-01 00:59:11 -06:00
Bryan Ashby e34f0ad688 * Login count property for users 2015-07-29 22:14:26 -06:00
Bryan Ashby a15067fc21 * Much better flow for mciReady in relation to pausing, etc. using callbacks 2015-07-29 22:09:51 -06:00
Bryan Ashby 44a0f87a24 + stats.js: public APIs for accessing various system stats. Probably needs a better name
* Fix pause placement. Wait for all views ready before placing cursor such that the prompt will display in the right spot
2015-07-28 22:31:28 -06:00
Bryan Ashby 4a342ba2fa * Functional last callers mod
* Notes
* Some cleanup
2015-07-27 22:10:20 -06:00
Bryan Ashby 99ea870ebc * @method for view properties. WIP... hacked in, needs cleaned up & DRY
* Messing around with different approaches to last callers...
2015-07-26 22:51:06 -06:00
Bryan Ashby 542327460b * Last callers module WIP 2015-07-26 00:20:07 -06:00
Bryan Ashby 35a99b7e3e * Fix short timeFormat
* Pause prompts now support MCI codes using View Controller
* View Controller 'noInput' option for read-only/viewable but no interaction
* Ability to omit final trailing CRLF's in ANSI's
* Move asset.displayArtAsset -> theme.displayThemedAsset
2015-07-25 16:10:12 -06:00