From dd7d24f22e16c3ab991c8891a8847e1f8393e27b Mon Sep 17 00:00:00 2001 From: Bryan Ashby Date: Sun, 1 May 2022 12:41:20 -0600 Subject: [PATCH] Many WFC related improvements (WIP) * Update systeminformation to 5.x * More work on WFC display of basic stats -- nearly complete * Disable idle timeout when on WFC --- WHATSNEW.md | 7 ++++++- art/themes/luciano_blocktronics/theme.hjson | 18 ++++++++++++++---- art/themes/luciano_blocktronics/wfc.ans | Bin 2364 -> 2987 bytes core/stat_log.js | 6 +++--- core/view.js | 4 ++-- core/wfc.js | 6 ++++++ docs/_docs/art/mci.md | 6 +++--- package.json | 2 +- yarn.lock | 8 ++++---- 9 files changed, 39 insertions(+), 18 deletions(-) diff --git a/WHATSNEW.md b/WHATSNEW.md index 4ae304d6..da29647a 100644 --- a/WHATSNEW.md +++ b/WHATSNEW.md @@ -2,11 +2,16 @@ This document attempts to track **major** changes and additions in ENiGMA½. For details, see GitHub. ## 0.0.13-beta -* Removed terminal `cursor position reports` from most locations in the code. This should greatly increase the number of terminal programs that work with Enigma 1/2. For more information, see [Issue #222](https://github.com/NuSkooler/enigma-bbs/issues/222). This may also resolve other issues, such as [Issue #365](https://github.com/NuSkooler/enigma-bbs/issues/365), and [Issue #320](https://github.com/NuSkooler/enigma-bbs/issues/320). Anyone that previously had terminal incompatibilities please re-check and let us know! +* Removed terminal `cursor position reports` from most locations in the code. This should greatly increase the number of terminal programs that work with ENiGMA½. For more information, see [Issue #222](https://github.com/NuSkooler/enigma-bbs/issues/222). This may also resolve other issues, such as [Issue #365](https://github.com/NuSkooler/enigma-bbs/issues/365), and [Issue #320](https://github.com/NuSkooler/enigma-bbs/issues/320). Anyone that previously had terminal incompatibilities please re-check and let us know! * Bumped up the minimum [Node.js](https://nodejs.org/en/) version to V14. This will allow more expressive Javascript programming syntax with ECMAScript 2020 to improve the development experience. * Added new configuration options for `term.checkUtf8Encoding`, `term.checkAnsiHomePostion`, `term.cp437TermList`, and `term.utf8TermList`. More information on these options is available in `UPGRADE.md` +* New Waiting For Caller (WFC) support via the `wfc.js` module. +* Many new system statistics available via the StatLog such as current and average load, memory, etc. +* Many new MCI codes: `MB`, `MF`, `LA`, `CL`, `UU`, `FT`, `DD`, `FB`, `DB`, `LC`, `LT`, `LD`, and more. See [MCI](./docs/art/mci.md). +* SyncTERM style font support detection. * Many additional backward-compatible bug fixes since the first release of 0.0.12-beta. See the [project repository](https://github.com/NuSkooler/enigma-bbs) for more information. + ## 0.0.12-beta * The `master` branch has become mainline. What this means to users is `git pull` will always give you the latest and greatest. Make sure to read [Updating](./docs/admin/updating.md) and keep an eye on `WHATSNEW.md` (this file) and [UPGRADE](UPGRADE.md)! See also [ticket #276](https://github.com/NuSkooler/enigma-bbs/issues/276). * Development now occurs against [Node.js 14 LTS](https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V14.md). diff --git a/art/themes/luciano_blocktronics/theme.hjson b/art/themes/luciano_blocktronics/theme.hjson index 4353a1fe..1e2f9b4a 100644 --- a/art/themes/luciano_blocktronics/theme.hjson +++ b/art/themes/luciano_blocktronics/theme.hjson @@ -249,13 +249,21 @@ mainMenuWaitingForCaller: { config: { nowDateTimeFormat: "|00|11dddd|08, |11MMMM Do YYYY |08/ |11h|08:|11mm|08:|11ss|03a" - lastLoginDateTimeFormat: "|00|11ddd h|08:|11mm|03a" + lastLoginDateTimeFormat: "|00|10ddd hh|08:|10mm|02a" mainInfoFormat10: "|00|11{now} {currentUserName} |08- |03mail|08: " mainInfoFormat11: "|00|10{callsToday:>5}" mainInfoFormat12: "|00|10{postsToday:>5}" - mainInfoFormat19: "|00|10{lastLoginUserName:<19} |02{lastLogin}" + mainInfoFormat18: "|00|10{lastLoginUserName:<27} |02{lastLogin}" + + mainInfoFormat19: "|00|10{freeMemoryBytes!sizeWithoutAbbr} |02{freeMemoryBytes!sizeAbbr} free |08/ |10{totalMemoryBytes!sizeWithoutAbbr} |02{totalMemoryBytes!sizeAbbr}" + mainInfoFormat20: "|00|10{systemCurrentLoad} |02% |08/ |10{systemAvgLoad} |02load avg|08." + mainInfoFormat21: "|00|10{processUptimeSeconds!durationSeconds}" + + mainInfoFormat23: "|00|10{totalCalls:>5}" + mainInfoFormat24: "|00|10{totalPosts:>5}" + mainInfoFormat22: "|00|10{totalFiles} |08/ |10{totalFileBytes!sizeWithoutAbbr} |02{totalFileBytes!sizeAbbr}" quickLogLevel: info quickLogLevelIndicators: { @@ -269,15 +277,17 @@ } 0: { mci: { + TL19: { width: 23 } + TL20: { width: 23 } VM1: { height: 5 widht: 37 - itemFormat: "|00|11{node:<3.2} |10{userName:>13} |08> |04{action:<14.13} |14{serverName}" + itemFormat: "|00|11{node:<3.2} |10{userName:>13} |08> |02{action:<14.13} |14{serverName}" } VM2: { height: 5 width: 73 - itemFormat: "{levelIndicator} |15{timestamp} |07{message}" + itemFormat: "{levelIndicator} |15{timestamp} |07{message:<51.50}" } } } diff --git a/art/themes/luciano_blocktronics/wfc.ans b/art/themes/luciano_blocktronics/wfc.ans index b682f92a9caabfe8eef3cc0bfbc8d544d7263396..a8f5087a5e4f5592e7b71163f647b2706d3594a4 100644 GIT binary patch literal 2987 zcmcgu&2H2%5Z-buPXK%IrPsxFw!5I7(rloHr8b8sud|VDu@ee*6CgzKYPr}HJ z;;&QdCFfUCp+MS1i8B~rHaJ|W zw(_=>c(mYDZsgyCqGG?CmX${(N(mSF)}a-f>32$z3v9m>i{h+ zw&u5ctlB`ULQ)!z-LOZH9?)3zQzoKCcx&J)<5@;D5 zU^HvE5)rrh05Izka}?|J101I6JOIYF#GF94hHUE}Hg1e!u19-i@AY6AzYN{j^QozS ww0X|2!*5xZCYy$1G;SF3lT*&=DP`x+d%dHhW$#4~pJ&ta8ChMprB%KE15$Ac?*IS* literal 2364 zcmbtVOK;jh5GJ>ZV{a{&y>P3@?%LoWPR3A#Vjit+s)!S6ofOquS3pwrcaeK4g`dz1 z{WYC^`B7}=fDhI_X1Ry|KjV2(!O%XAm}>4Ti|` zZ9nk%0cMBN?}@7epy>!yfDj1CpAGCAPk`hxo^l5F!g_NtA)uCEh|?_S9^3%mDRWj) zw3P%fYv~Vksi4DAFx#J+fb*{QupE6JZ+8{w^gQ%HMd(s-an&Aa8m*RyhB%gdjPoou zmYg(CIef67BGDpJW@_q;fDQhqlueB=$cwDaZDR(!Rhl|tU!0~ZohEdeCl$Da7FefR zoTEYMN>k5r?b@D?9NTq=AG35zi}~=##Q-&5i86H4@Fxnk;U-@o2`8(JlMIQ>=M@(R zkJFATBnd81k`mLAs3>6|tT74mXTI%vG7>qikGaNp<`RT?H=aM7r219eF3?Vc1VCwb zs**^mIz^_;AXqjLDo8$ehq6h?;>|Bu!;F$GE{;vy?PxQTKHTz53!}H2Fx29@wfLSH zU`j}!Q6KH%-73 zQmWw=N$9o_TYpDUy!wJx4|iIyio)l9jKk-?{QH z-yAswu#oh9vEs4twfqo_oonRIMrbh}e&UY5*h0z^E=w4^0}ucx=v|B+)-Yvm@1qFv zeYe&1dMJ4`p}?)ooZut?QZ$Z=v(-t*NbZ`44;WkRl6!Ssre1wr9KG`JSKb`!Z#_G3 zh8Xi#?1gW7?|qBoDBNV^I#y<*mK0NrEzKt4 { return stream.name === 'wfc-ringbuffer'; }); this._stopRefreshing(); + this.client.startIdleMonitor(); super.leave(); } diff --git a/docs/_docs/art/mci.md b/docs/_docs/art/mci.md index 43c08162..3d7a0c19 100644 --- a/docs/_docs/art/mci.md +++ b/docs/_docs/art/mci.md @@ -97,8 +97,8 @@ There are many predefined MCI codes that can be used anywhere on the system (pla | `DB` | Total download amount *today* (formatted to appropriate bytes/megs/etc. ) | | `MB` | System memory | | `MF` | System _free_ memory | -| `LA` | System load average (e.g. 0.25)
(Not available for all platforms) | -| `CL` | System current load percentage
(Not available for all platforms) | +| `LA` | System load average (e.g. 0.25)
(May not be available on some platforms) | +| `CL` | System current load percentage
(May not be available on some platforms) | | `UU` | System uptime in friendly format | | `LC` | Last caller to the system (username) | | `LT` | Time of last caller | @@ -135,7 +135,7 @@ a Vertical Menu (`%VM`): Old-school BBSers may recognize this as a lightbar menu | `BT` | Button | A button | ...it's a button. See [Button](views/button_view.md) | | `VM` | Vertical Menu | A vertical menu | AKA a vertical lightbar; Useful for lists. See [Vertical Menu](views/vertical_menu_view.md) | | `HM` | Horizontal Menu | A horizontal menu | AKA a horizontal lightbar. See [Horizontal Menu](views/horizontal_menu_view.md) | -| `FM` | Full Menu | A menu that can go both vertical and horizontal. | See [Full Menu](views/full_menu_view.md) | +| `FM` | Full Menu | A menu that can go both vertical and horizontal. | See [Full Menu](views/full_menu_view.md) | | `SM` | Spinner Menu | A spinner input control | Select *one* from multiple options. See [Spinner Menu](views/spinner_menu_view.md) | | `TM` | Toggle Menu | A toggle menu | Commonly used for Yes/No style input. See [Toggle Menu](views/toggle_menu_view.md)| | `PL` | Predefined Label | Show environment information | See [Predefined Label](views/predefined_label_view.md)| diff --git a/package.json b/package.json index efb1ea5d..8dbb5a6a 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,7 @@ "uuid-parse": "1.1.0", "ws": "7.4.3", "yazl": "^2.5.1", - "systeminformation" : "^4.27.5" + "systeminformation" : "^5.11.14" }, "devDependencies": { "eslint": "^8.13.0" diff --git a/yarn.lock b/yarn.lock index e3d6607f..3a038a02 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1821,10 +1821,10 @@ supports-color@^7.1.0: dependencies: has-flag "^4.0.0" -systeminformation@^4.27.5: - version "4.34.23" - resolved "https://registry.yarnpkg.com/systeminformation/-/systeminformation-4.34.23.tgz#54c54ced5adc49c27cda953b73c0819ed56edd45" - integrity sha512-33+lQwlLxXoxy0o9WLOgw8OjbXeS3Jv+pSl+nxKc2AOClBI28HsdRPpH0u9Xa9OVjHLT9vonnOMw1ug7YXI0dA== +systeminformation@^5.11.14: + version "5.11.14" + resolved "https://registry.yarnpkg.com/systeminformation/-/systeminformation-5.11.14.tgz#21fcb6f05d33e17d69c236b9c1b3d9c53d1d2b3a" + integrity sha512-m8CJx3fIhKohanB0ExTk5q53uI1J0g5B09p77kU+KxnxRVpADVqTAwCg1PFelqKsj4LHd+qmVnumb511Hg4xow== tar@^4: version "4.4.19"