Merge branch 'master' of ssh://numinibsd/git/base/enigma-bbs into 280-config-revamp

This commit is contained in:
Bryan Ashby 2020-07-12 18:34:07 -06:00
commit 313f594633
No known key found for this signature in database
GPG Key ID: B49EB437951D2542
3 changed files with 26 additions and 7 deletions

View File

@ -67,6 +67,7 @@ exports.getModule = class DoorPartyModule extends MenuModule {
if(doorTracking) { if(doorTracking) {
trackDoorRunEnd(doorTracking); trackDoorRunEnd(doorTracking);
doorTracking = null;
} }
} }
}; };
@ -103,6 +104,10 @@ exports.getModule = class DoorPartyModule extends MenuModule {
self.client.term.rawWrite(d); self.client.term.rawWrite(d);
}); });
stream.on('end', () => {
sshClient.end();
});
stream.on('close', () => { stream.on('close', () => {
restorePipe(); restorePipe();
sshClient.end(); sshClient.end();

View File

@ -51,14 +51,22 @@ class TelnetClientConnection extends EventEmitter {
constructor(client) { constructor(client) {
super(); super();
this.client = client; this.client = client;
this.dataHits = 0;
} }
updateActivity() {
if (0 === (this.dataHits++ % 4)) {
this.client.explicitActivityTimeUpdate();
}
}
restorePipe() { restorePipe() {
if(!this.pipeRestored) { if(!this.pipeRestored) {
this.pipeRestored = true; this.pipeRestored = true;
this.client.dataPassthrough = false;
this.client.restoreDataHandler();
// client may have bailed // client may have bailed
if(null !== _.get(this, 'client.term.output', null)) { if(null !== _.get(this, 'client.term.output', null)) {
@ -75,11 +83,15 @@ class TelnetClientConnection extends EventEmitter {
this.emit('connected'); this.emit('connected');
this.pipeRestored = false; this.pipeRestored = false;
this.client.dataPassthrough = true; this.client.setTemporaryDirectDataHandler(data => {
this.client.term.output.pipe(this.bridgeConnection); this.updateActivity();
this.bridgeConnection.write(data);
});
}); });
this.bridgeConnection.on('data', data => { this.bridgeConnection.on('data', data => {
this.updateActivity();
this.client.term.rawWrite(data); this.client.term.rawWrite(data);
// //

View File

@ -1,15 +1,17 @@
--- ---
layout: page layout: page
title: Configuring a Message Area title: Message Base
--- ---
## Message Conferences ## General Information
**Message Conferences** and **Areas** allow for grouping of message base topics. In ENiGMA½, a message base is divided into two logical grouping components: **Message Conferences** and **Areas**. Message conferences are top level containers while areas are for a specific topic. Messages are always stored internally with a area tag.
## Conferences ## Conferences
Message Conferences are the top level container for *1:n* Message *Areas* via the `messageConferences` block in `config.hjson`. A common setup may include a local conference and one or more conferences each dedicated to a particular message network such as fsxNet, ArakNet, etc. Message Conferences are the top level container for *1:n* Message *Areas* via the `messageConferences` block in `config.hjson`. A common setup may include a local conference and one or more conferences each dedicated to a particular message network such as fsxNet, ArakNet, etc.
Each conference is represented by a entry under `messageConferences`. Each entries top level key is it's *conference tag*. Each conference is represented by a entry under `messageConferences`. Each entries top level key is it's *conference tag*.
:information_source: It is **highly** recommended to use snake_case style message *conference tags* and *area tags*!
| Config Item | Required | Description | | Config Item | Required | Description |
|-------------|----------|-------------| |-------------|----------|-------------|
| `name` | :+1: | Friendly conference name | | `name` | :+1: | Friendly conference name |