Commit Graph

66 Commits

Author SHA1 Message Date
Bryan Ashby 4050affedf More conversion to UserProps 2018-11-23 17:41:16 -07:00
Bryan Ashby b3ec97cc5c Art asset ACS conditional cleanup: Make more general purpose 2018-11-17 18:56:09 -07:00
Bryan Ashby f9429dd2e6 Move where passwordChar lives 2018-11-15 20:32:08 -07:00
Bryan Ashby 7d74556868 Changes to config: defaults -> theme, preLoginTheme -> theme.preLogin, etc. 2018-11-07 18:33:07 -07:00
Bryan Ashby dfe1c297b5 Menu "options" block is now deprecated. Move members to "config"!
* Deprecate & allow conversion behind the scenes for now + add warning in log
* Add some initial docs
* Clean up prompt.hjson and menu.hjson
2018-08-05 14:06:30 -06:00
Bryan Ashby fbffe2873c * ansiPrepOptions support for displaying art
* simplify proxy of options along call path
* general improvements
2018-07-04 18:43:40 -06:00
Bryan Ashby 851da9e8c8 Do not require MCI configurations in theme.hjson for theme.hjson to apply #167 2018-06-25 18:09:32 -06:00
Bryan Ashby 1d8be6b014 Pardon the noise. More tab to space conversion! 2018-06-22 21:26:46 -06:00
Bryan Ashby e9787cee3e ENiGMA 1/2 WILL USE SPACES FROM THIS POINT ON VS TABS
* Really just to make GitHub formatting happy. Arg.
2018-06-21 23:15:04 -06:00
Bryan Ashby 1fe46894d3 More Hot-Reload related changes
* Config.get(): Returns the latest config
* Update code all over the place to use Config.get() vs Config.conf (which will be deprecated)
2018-06-20 19:57:06 -06:00
Bryan Ashby 4aab8224ed Initial version of hot-reload of config, menus, and prompts
* Themes use ES6 Map vs object{}
* Re-write and re-enable config cache using sane
* Events sent for config, prompt, or menu changes
* Event sent for theme changes
* Theme (or parent menu/prompt) changes cause re-merge and updates to connected clients
2018-06-13 21:02:00 -06:00
Bryan Ashby b6bda7f45f much cleaner code 2018-01-26 21:38:50 -07:00
Bryan Ashby 78ca1e9c4f * Ensure explicit by-MCI key forms are properly themed, e.g. form: { 3: { HM1: { ... }}} 2018-01-15 21:06:16 -07:00
Bryan Ashby ac1433e84b * Code cleanup and eslint since -- remove unused variables, clean up RegExs, so on... 2018-01-15 12:22:11 -07:00
Bryan Ashby 68da131b1b Fix waterfall error 2017-09-24 09:58:43 -06:00
Bryan Ashby b1b841674c Ability to disabled themes + clean up theme code slightly. Area needs work! 2017-09-04 09:57:10 -06:00
Bryan Ashby ea39811ff6 Fix up some font switching logic 2017-09-02 09:59:38 -06:00
Bryan Ashby 019596d709 Convert to using graceful-fs vs vanilla fs module 2017-05-19 21:20:19 -06:00
Bryan Ashby 54a7f4f774 * Lots of improvements to info extraction system
* MUCH faster browsing in file base
* Better release year estimation
* New tool: exiftool2desc
2017-05-19 18:41:13 -06:00
Bryan Ashby 50a5b8d78e Use proper resetScreen() vs clearScreen() 2017-02-12 00:23:39 -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 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 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 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 33f0553ea9 Use sane switch style :) 2016-08-03 22:43:06 -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 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 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 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 eca82b66d4 Better loading of themes & getAvailThemes() 2015-12-24 11:56:04 -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 73952a2c37 * Minor work on themes + FSE 2015-10-06 15:22:49 -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 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 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 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 8b3b36fd83 * Add dateTimeFormat 2015-09-01 22:42:54 -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 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
Bryan Ashby dd478ed6ba * displayArtAsset is now part of asset
* Work on generalizing some things so they can be used for pause/etc.
2015-07-24 18:33:59 -06:00
Bryan Ashby 8b5152d66f * WIP pause prompt
* prompt.json::prompts::pause is now a standard/required prompt
* CT for current time MCI
* Fix up config/theme defaults.dateTimeFormat -> dateFormat & timeFormat
2015-07-23 22:23:44 -06:00
Bryan Ashby 4288c5b2e9 * A few fixes to standard MCI codes
* Load user groups properly
* Configurable/themeable date time formats
2015-07-22 21:35:35 -06:00
Bryan Ashby 89adc83fc6 * JSONCache for caching JSON data (vs reading + parsing every time)
* Minor changes
2015-07-19 21:49:48 -06:00
Bryan Ashby 3d5d21bcb5 * Lots of WIP on FSE demo
* WIP emit position from MutliLineEditTextView
* ansi.rawWrite() when no iconv/lfs to be processed
2015-07-05 19:05:55 -06:00
Bryan Ashby 32fdbab88d * Very very early work on FSE module 2015-06-25 22:34:33 -06:00
Bryan Ashby b759975742 * Some minor tweaks. Nothing major right now 2015-06-08 22:41:57 -06:00