Compare commits

...

3 Commits

Author SHA1 Message Date
Chris Koos 9005ba579c Merge cf82daf5da into 0cb8ecf8aa 2025-01-06 23:04:48 +01:00
skylord123 0cb8ecf8aa Updated README with a link to a guide that explains how to register users via web browser 2025-01-04 12:58:08 -07:00
Chris Koos cf82daf5da Add option for allowing unknown devices
Allows workaround for sending messages until verification is implemented
2024-11-10 10:57:43 -08:00
3 changed files with 22 additions and 3 deletions
+4 -2
View File
@@ -59,7 +59,9 @@ Interested in helping? Contributions to finalize E2EE support are welcome!
This module includes a node to register users using the Synapse secret registration endpoint. It returns both an `access_token` and a `device_id`, perfect for setting up the bot.
[See how to register a user here](https://github.com/Skylar-Tech/node-red-contrib-matrix-chat/tree/master/examples#readme).
[Guide on registering a user via the web browser](https://skylar.tech/matrix-chat-bot-module-for-node-red/)
[Guide on registering using shared secret registration](https://github.com/Skylar-Tech/node-red-contrib-matrix-chat/tree/master/examples#readme) (for server owners)
### Other Packages
@@ -69,4 +71,4 @@ This module includes a node to register users using the Synapse secret registrat
We welcome all contributions! Please submit a pull request if you add a feature so the whole community can benefit.
**Sharing is caring!**
**Sharing is caring!**
+16 -1
View File
@@ -36,7 +36,8 @@
name: { value: null },
autoAcceptRoomInvites: { value: true },
enableE2ee: { type: "checkbox", value: true },
global: { type: "checkbox", value: true }
global: { type: "checkbox", value: true },
allowUnknownDevices: { type: "checkbox", value: false }
},
icon: "matrix.png",
label: function() {
@@ -130,6 +131,20 @@
<code style="white-space: normal;">let client = global.get("matrixClient['@bot:example.com']");</code>
</div>
</div>
<div class="form-row">
<input
type="checkbox"
id="node-config-input-allowUnknownDevices"
style="width: auto; margin-left: 125px; vertical-align: top"
/>
<label for="node-config-input-allowUnknownDevices" style="width: auto">
Allow unverified devices in rooms
</label>
<div class="form-tips" style="margin-bottom: 12px;">
Allow sending messages to a room with unknown devices which have not been verified.
</div>
</div>
<script type="text/javascript">
$("#matrix-login-btn").on("click", function() {
function prettyPrintJson(json) {
+2
View File
@@ -56,6 +56,7 @@ module.exports = function(RED) {
this.autoAcceptRoomInvites = n.autoAcceptRoomInvites;
this.e2ee = n.enableE2ee || false;
this.globalAccess = n.global;
this.allowUnknownDevices = n.allowUnknownDevices || false;
this.initializedAt = new Date();
node.initialSyncLimit = 25;
@@ -401,6 +402,7 @@ module.exports = function(RED) {
node.log("Initializing crypto...");
await node.matrixClient.initCrypto();
node.matrixClient.getCrypto().globalBlacklistUnverifiedDevices = false; // prevent errors from unverified devices
node.matrixClient.getCrypto().globalErrorOnUnknownDevices = !node.allowUnknownDevices;
}
node.log("Connecting to Matrix server...");
await node.matrixClient.startClient({