Commit Graph

775 Commits

Author SHA1 Message Date
Bryan Ashby 2d9cd39ae8 Use config route path for temp files 2017-02-09 20:34:29 -07:00
Bryan Ashby a257a9ba4b * Fix up and improve oputil file-base stuff
* Specialize if user does not have upload ACS
2017-02-08 22:53:48 -07:00
Bryan Ashby 5549ff5512 * Help pages
* No results for criteria page
* noHistory can be passed to gotoMenu()
2017-02-07 22:15:34 -07:00
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