Socket
Socket
Sign inDemoInstall

mx-puppet-bridge

Package Overview
Dependencies
Maintainers
1
Versions
112
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mx-puppet-bridge - npm Package Compare versions

Comparing version 0.0.29 to 0.0.30

lib/src/provisioningapi.d.ts

2

lib/src/config.d.ts

@@ -58,2 +58,4 @@ export declare class Config {

blacklist: string[];
sharedSecret: string;
apiPrefix: string;
}

@@ -60,0 +62,0 @@ declare class PresenceConfig {

@@ -84,2 +84,3 @@ "use strict";

this.blacklist = [];
this.apiPrefix = "/_matrix/provision";
}

@@ -86,0 +87,0 @@ }

@@ -10,2 +10,3 @@ export * from "./puppetbridge";

export { ICommand, SendMessageFn } from "./botprovisioner";
export { IAuthedRequest } from "./provisioningapi";
export { IStringFormatterVars } from "./structures/stringformatter";

4

lib/src/matrixeventhandler.js

@@ -219,3 +219,3 @@ "use strict";

// tslint:disable-next-line no-any
if (event.content.source === "remote") {
if (event.content.source === this.bridge.protocol.id) {
log.verbose("Dropping event due to de-duping...");

@@ -268,3 +268,3 @@ return;

// tslint:disable-next-line no-any
if (event.content.source === "remote") {
if (event.content.source === this.bridge.protocol.id) {
log.verbose("Dropping event due to de-duping...");

@@ -271,0 +271,0 @@ return;

@@ -17,2 +17,3 @@ /// <reference types="node" />

import { BotProvisioner, ICommand } from "./botprovisioner";
import { ProvisioningAPI } from "./provisioningapi";
import { PresenceHandler, MatrixPresence } from "./presencehandler";

@@ -58,2 +59,3 @@ import { TypingHandler } from "./typinghandler";

botProvisioner: BotProvisioner;
provisioningAPI: ProvisioningAPI;
typingHandler: TypingHandler;

@@ -60,0 +62,0 @@ presenceHandler: PresenceHandler;

@@ -40,2 +40,3 @@ "use strict";

const botprovisioner_1 = require("./botprovisioner");
const provisioningapi_1 = require("./provisioningapi");
const presencehandler_1 = require("./presencehandler");

@@ -113,2 +114,3 @@ const typinghandler_1 = require("./typinghandler");

this.botProvisioner = new botprovisioner_1.BotProvisioner(this);
this.provisioningAPI = new provisioningapi_1.ProvisioningAPI(this);
// pipe matrix-bot-sdk logging int ours

@@ -243,2 +245,3 @@ const logMap = new Map();

this.matrixEventHandler.registerAppserviceEvents();
this.provisioningAPI.registerProvisioningAPI();
yield this.appservice.begin();

@@ -245,0 +248,0 @@ log.info("Application service started!");

@@ -54,3 +54,3 @@ "use strict";

const send = {
"source": "remote",
"source": this.bridge.protocol.id,
"m.relates_to": {

@@ -57,0 +57,0 @@ rel_type: "m.annotation",

@@ -102,3 +102,3 @@ "use strict";

};
send.source = "remote"; // tslint:disable-line no-any
send.source = this.bridge.protocol.id; // tslint:disable-line no-any
if (opts.formattedBody) {

@@ -109,3 +109,3 @@ send.format = "org.matrix.custom.html";

if (params.externalUrl) {
send.external_url = params.externalUrl; // tslint:disable-line no-any
send.external_url = params.externalUrl;
}

@@ -116,2 +116,4 @@ const matrixEventId = yield client.sendMessage(mxid, send);

}
// aaand stop typing
yield this.bridge.typingHandler.set(yield client.getUserId(), mxid, false);
});

@@ -144,3 +146,3 @@ }

"body": `* ${opts.body}`,
"source": "remote",
"source": this.bridge.protocol.id,
"m.new_content": {

@@ -174,2 +176,4 @@ body: opts.body,

}
// aaand stop typing
yield this.bridge.typingHandler.set(yield client.getUserId(), mxid, false);
});

@@ -204,3 +208,3 @@ }

body: opts.body,
source: "remote",
source: this.bridge.protocol.id,
}; // tslint:disable-line no-any

@@ -228,2 +232,4 @@ if (origEvent) {

}
// aaand stop typing
yield this.bridge.typingHandler.set(yield client.getUserId(), mxid, false);
});

@@ -292,8 +298,8 @@ }

};
sendData.source = "remote"; // tslint:disable-line no-any
sendData.source = this.bridge.protocol.id; // tslint:disable-line no-any
if (typeof thing === "string") {
sendData.external_url = thing; // tslint:disable-line no-any
sendData.external_url = thing;
}
if (params.externalUrl) {
sendData.external_url = params.externalUrl; // tslint:disable-line no-any
sendData.external_url = params.externalUrl;
}

@@ -304,2 +310,4 @@ const matrixEventId = yield client.sendMessage(mxid, sendData);

}
// aaand stop typing
yield this.bridge.typingHandler.set(yield client.getUserId(), mxid, false);
});

@@ -306,0 +314,0 @@ }

@@ -42,4 +42,6 @@ "use strict";

delete(value) {
this.db.delete(value);
this.scheduleGc(true);
if (this.db.has(value)) {
this.db.delete(value);
this.scheduleGc(true);
}
return this;

@@ -46,0 +48,0 @@ }

@@ -5,2 +5,3 @@ import { PuppetBridge } from "./puppetbridge";

private timeout;
private typingUsers;
constructor(bridge: PuppetBridge, timeout: number);

@@ -7,0 +8,0 @@ set(mxid: string, roomId: string, typing: boolean): Promise<void>;

@@ -25,2 +25,3 @@ "use strict";

const log_1 = require("./log");
const expireset_1 = require("./structures/expireset");
const log = new log_1.Log("TypingHandler");

@@ -31,2 +32,3 @@ class TypingHandler {

this.timeout = timeout;
this.typingUsers = new expireset_1.ExpireSet(this.timeout);
}

@@ -39,2 +41,13 @@ set(mxid, roomId, typing) {

log.verbose(`Updating typing for ${mxid} in room ${roomId} to ${typing}`);
const key = `${mxid};${roomId}`;
if (typing) {
this.typingUsers.add(key);
}
else {
if (!this.typingUsers.has(key)) {
// we weren't typing anyways
return;
}
this.typingUsers.delete(key);
}
try {

@@ -41,0 +54,0 @@ const intent = this.bridge.AS.getIntentForUserId(mxid);

{
"name": "mx-puppet-bridge",
"version": "0.0.29",
"version": "0.0.30",
"description": "Matrix Puppeting Bridge library",

@@ -29,3 +29,3 @@ "repository": {

"markdown-it": "^9.1.0",
"matrix-bot-sdk": "^0.4.1",
"matrix-bot-sdk": "^0.5.2",
"pg-promise": "^8.7.2",

@@ -32,0 +32,0 @@ "request": "^2.88.0",

@@ -80,2 +80,5 @@ /*

public blacklist: string[] = [];
public sharedSecret: string;
public apiPrefix: string = "/_matrix/provision";
}

@@ -82,0 +85,0 @@

@@ -23,2 +23,3 @@ /*

export { ICommand, SendMessageFn } from "./botprovisioner";
export { IAuthedRequest } from "./provisioningapi";
export { IStringFormatterVars } from "./structures/stringformatter";

@@ -218,3 +218,3 @@ /*

// tslint:disable-next-line no-any
if ((event.content as any).source === "remote") {
if ((event.content as any).source === this.bridge.protocol.id) {
log.verbose("Dropping event due to de-duping...");

@@ -269,3 +269,3 @@ return;

// tslint:disable-next-line no-any
if ((event.content as any).source === "remote") {
if ((event.content as any).source === this.bridge.protocol.id) {
log.verbose("Dropping event due to de-duping...");

@@ -272,0 +272,0 @@ return;

@@ -43,2 +43,3 @@ /*

import { BotProvisioner, ICommand } from "./botprovisioner";
import { ProvisioningAPI } from "./provisioningapi";
import { PresenceHandler, MatrixPresence } from "./presencehandler";

@@ -99,2 +100,3 @@ import { TypingHandler } from "./typinghandler";

public botProvisioner: BotProvisioner;
public provisioningAPI: ProvisioningAPI;
public typingHandler: TypingHandler;

@@ -172,2 +174,3 @@ public presenceHandler: PresenceHandler;

this.botProvisioner = new BotProvisioner(this);
this.provisioningAPI = new ProvisioningAPI(this);

@@ -225,3 +228,3 @@ // pipe matrix-bot-sdk logging int ours

}
const reg = {
const reg: IAppserviceRegistration = {
as_token: uuid(),

@@ -245,3 +248,3 @@ hs_token: uuid(),

url: opts.url,
} as IAppserviceRegistration;
};
fs.writeFileSync(this.registrationPath, yaml.safeDump(reg));

@@ -315,2 +318,3 @@ }

this.matrixEventHandler.registerAppserviceEvents();
this.provisioningAPI.registerProvisioningAPI();
await this.appservice.begin();

@@ -317,0 +321,0 @@ log.info("Application service started!");

@@ -52,3 +52,3 @@ /*

const send = {
"source": "remote",
"source": this.bridge.protocol.id,
"m.relates_to": {

@@ -55,0 +55,0 @@ rel_type: "m.annotation",

@@ -105,3 +105,3 @@ /*

};
(send as any).source = "remote"; // tslint:disable-line no-any
(send as any).source = this.bridge.protocol.id; // tslint:disable-line no-any
if (opts.formattedBody) {

@@ -112,3 +112,3 @@ send.format = "org.matrix.custom.html";

if (params.externalUrl) {
(send as any).external_url = params.externalUrl; // tslint:disable-line no-any
send.external_url = params.externalUrl;
}

@@ -119,2 +119,4 @@ const matrixEventId = await client.sendMessage(mxid, send);

}
// aaand stop typing
await this.bridge.typingHandler.set(await client.getUserId(), mxid, false);
}

@@ -145,3 +147,3 @@

"body": `* ${opts.body}`,
"source": "remote",
"source": this.bridge.protocol.id,
"m.new_content": {

@@ -174,2 +176,4 @@ body: opts.body,

}
// aaand stop typing
await this.bridge.typingHandler.set(await client.getUserId(), mxid, false);
}

@@ -201,3 +205,3 @@

body: opts.body,
source: "remote",
source: this.bridge.protocol.id,
} as any; // tslint:disable-line no-any

@@ -224,2 +228,4 @@ if (origEvent) {

}
// aaand stop typing
await this.bridge.typingHandler.set(await client.getUserId(), mxid, false);
}

@@ -287,8 +293,8 @@

};
(sendData as any).source = "remote"; // tslint:disable-line no-any
(sendData as any).source = this.bridge.protocol.id; // tslint:disable-line no-any
if (typeof thing === "string") {
(sendData as any).external_url = thing; // tslint:disable-line no-any
sendData.external_url = thing;
}
if (params.externalUrl) {
(sendData as any).external_url = params.externalUrl; // tslint:disable-line no-any
sendData.external_url = params.externalUrl;
}

@@ -299,2 +305,4 @@ const matrixEventId = await client.sendMessage(mxid, sendData);

}
// aaand stop typing
await this.bridge.typingHandler.set(await client.getUserId(), mxid, false);
}

@@ -301,0 +309,0 @@

@@ -52,4 +52,6 @@ /*

public delete(value: T) {
this.db.delete(value);
this.scheduleGc(true);
if (this.db.has(value)) {
this.db.delete(value);
this.scheduleGc(true);
}
return this;

@@ -56,0 +58,0 @@ }

@@ -16,2 +16,3 @@ /*

import { Log } from "./log";
import { ExpireSet } from "./structures/expireset";

@@ -21,6 +22,9 @@ const log = new Log("TypingHandler");

export class TypingHandler {
private typingUsers: ExpireSet<string>;
constructor(
private bridge: PuppetBridge,
private timeout: number,
) { }
) {
this.typingUsers = new ExpireSet(this.timeout);
}

@@ -32,2 +36,12 @@ public async set(mxid: string, roomId: string, typing: boolean) {

log.verbose(`Updating typing for ${mxid} in room ${roomId} to ${typing}`);
const key = `${mxid};${roomId}`;
if (typing) {
this.typingUsers.add(key);
} else {
if (!this.typingUsers.has(key)) {
// we weren't typing anyways
return;
}
this.typingUsers.delete(key);
}
try {

@@ -34,0 +48,0 @@ const intent = this.bridge.AS.getIntentForUserId(mxid);

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc