Commit Graph

692 Commits

Author SHA1 Message Date
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