Commit Graph

56 Commits

Author SHA1 Message Date
Skylar Sadlier
0a34870fa3
Merge pull request #71 from jacotec/master
Pass invites to the receive object
2022-12-05 21:20:11 -07:00
Skylar Sadlier
768a1c8ce0
Merge pull request #73 from WesleyE/master
Verify login on the relative matrix-chat/login URI
2022-12-05 21:19:03 -07:00
Skylar Sadlier
22dd9b4ca3 - matrix-js-sdk updated to v21.2.0
- added node-fetch polyfill for older nodejs versions
- added abort-controller polyfill for older nodejs versions
2022-12-05 21:18:16 -07:00
Skylar Sadlier
462f9670c2 - matrix-js-sdk updated to v20.0.0
- olm updated to v3.2.13 https://gitlab.matrix.org/matrix-org/olm/-/packages/136
- console messages now only appear if Node-RED's settings.js `logging.console.level` is info, debug, or trace
2022-12-05 19:49:55 -07:00
Wesley Elfring
e4b01c40c2
Verify login on the relative matrix-chat/login URI 2022-11-30 13:11:33 +01:00
Marco Jakobs
908d60835d Pass invites to the receive object
This commit passes a room invite to the receive node, so you can react to it.

Sample invitation:

HDsvcHGiTYFxxxxxxx:mydomain.de : msg : Object
object
type: "r.invite"
payload: "Invitation"
userId: "@relay:mydomain.de"
topic: "!HDsvcHGiTYFxxxxxxx:mydomain.de"
_msgid: "ef1fd7f3c8ae82e6"
2022-11-25 20:56:06 +01:00
Skylar Sadlier
5ef0b6a11f Fix: Error thrown in folder migration if new and old path are same 2022-04-19 12:58:52 -06:00
Skylar Sadlier
7bdadc0fe9 Closes #209
- Can now receive audio files
- Can now receive locations
- Readme updated
2022-03-28 00:42:52 -06:00
Skylar Sadlier
5f129560aa Couple of little changes:
- Fix matrix-receive message types displaying in uppercase when it should be lowercase
- Readme updated with some extra things that are now possible since last release
- Link to matrix.org project in our README.md
2022-03-28 00:42:19 -06:00
Skylar Sadlier
ecb4427217 - Revert device verification/e2ee stuff. It's not ready. 2022-03-18 13:34:46 -06:00
Skylar Sadlier
3e70369cae WIP 2022-03-18 00:23:28 -06:00
Skylar Sadlier
fef40f4ea9 - Update matrix-device-verification node description with super basic info on how to use it 2022-03-17 20:03:48 -06:00
Skylar Sadlier
d01733c647 closes #48
- Device verification can now be requested or received
2022-03-17 19:38:29 -06:00
Skylar Sadlier
ed146e98d8 Closes #56 Closes #50
- can now specify message in node's configuration for matrix-send-message
- can now specify reaction in node's configuration for matrix-react
- reason can now be configured on both matrix-room-kick and matrix-room-ban
- icons updated for various nodes
- fix tag for name configuration field for various nodes
- roomId input is now validated to ensure it starts with ! and if not shows an error
2022-03-17 17:21:44 -06:00
Skylar Sadlier
3dc6363a88 Closes #56
- can now specify message in node's configuration for matrix-send-message
- can now specify reaction in node's configuration for matrix-react
- reason can now be configured on both matrix-room-kick and matrix-room-ban
- icons updated for various nodes
2022-03-17 16:01:27 -06:00
Skylar Sadlier
380e548425 Closes #54
- New option for matrix-send-message node that allows replacing existing message if enabled and `msg.eventId` is passed in.
2022-03-17 15:37:10 -06:00
Skylar Sadlier
27dd4d81a2 name should default to null 2022-03-17 14:47:01 -06:00
Skylar Sadlier
db1901ed1e Closes #29
- msg.isDM is now returned on received messages to help determine if it originated from a direct message room
2022-03-17 14:30:10 -06:00
Skylar Sadlier
ac68060825 - matrix-crypt-file documentation updated (it cannot encrypt, only decrypts)
- matrix-js-sdk update from 15.5.0 to 16.0.0
- Fixed matrix-js-sdk breaking changes
- @matrix-org_olm-3.2.8.tgz added to package since there is no npm release for this. It fixes some errors so we need it.
2022-03-17 14:23:22 -06:00
Skylar Sadlier
d304cb95f6
Merge pull request #55 from Skylar-Tech/51-device_id-fix
- We now use /whoami to validate the auth token since it gives us the…
2022-03-17 13:29:48 -06:00
aikitori
050be29d64 rename node 2022-03-13 10:58:17 +01:00
Skylar Sadlier
33823dea25 - We now use /whoami to validate the auth token since it gives us the user_id and device_id for the given auth_token (device_id is only available on Synapse 1.40 onwards)
- Error is now thrown if device_id cannot be automatically detected
- Do not store `null` into my_device_id and ignore if it has already been set. Fixes #51
2022-03-12 16:23:43 -07:00
aikitori
d826c58b51 Add Delete Message Node 2022-03-12 16:48:52 +01:00
Skylar Sadlier
6dd2ec75f0 - Move client storage to the Node-RED user directory.
- Remove mention of Device ID being required for encryption (since it can now auto generate if not provided this could make people think they have to set it when that isn't the case)
- matrix-js-sdk updated from ^v15.3.0 to ^v15.5.0
- got updated from ^11.8.2 to ^12.0.1 (this also required us to change how we import this library in code)
- Node-RED version requirement added for >=v1.3.0
- NodeJS version requirement added for >=v14.0.0
- removed `process` dependency
- send-image node fixed so error doesn't get thrown (`matrix-js-sdk` updated causing some errors)
- updated send-image node docs to explain that msg.contentType is necessary for some clients to render the image (otherwise it could display as a blank message in the room).
- If a matrix server configuration node was missing it's User ID it would throw a TypeError instead of telling the user the actual issue.
- Updated user list example: it now paginates all users on the server (if you had a lot of users the message would fail to send because it was too large)
- Added example for creating a room and inviting a user
- Added example for joining a mentioned room
- Added example for listing out a user's or server's rooms
- Added example for getting session data from a user via whois info
- Added example for getting a room's user list
- Added example for downloading & storing received files/images
- Added example for kicking/banning user from a room.
- Added example for deactivating a user
- Removed message in the room-users config stating it only works if you are an admin
- Receive node now outputs `msg.filename` for files and images
2022-02-09 12:13:27 -07:00
Skylar Sadlier
ae386b90a6 Fix olm library reference. 2022-02-03 11:33:12 -07:00
Skylar Sadlier
4d1ec9e65c - Make it clear that manually generating a Device ID is bad behavior
- Make DeviceID no longer required for matrix-server-config
2022-02-03 10:36:09 -07:00
Skylar Sadlier
b44629c84e - When checking authentication we should retry startup if the error we receive isn't related to invalid auth token (M_UNKNOWN_TOKEN) 2022-02-03 10:15:52 -07:00
Skylar Sadlier
9f0a962991 - Fixed: Reactions weren't working because sendCompleteEvent is a private method. 2022-02-03 09:40:32 -07:00
Skylar Sadlier
f3df8c6f97 This comment is no longer necessary since we implemented it. 2022-01-28 11:17:23 -07:00
Skylar Sadlier
614920c40c Fixed: matrix-join-room was requiring userId when it didn't need it Closes #39 2022-01-28 10:55:38 -07:00
Skylar Sadlier
58d7d23b2f - Device ID is now stored inside the matrix-client-storage directory within Node-RED's config folder. This way if you leave the Device ID blank it will automatically generate one and save it. Previously if you didn't set a Device ID it would automatically generate one every time the client started which would break encryption (since device_id is tied to your encryption keys).
- You can now generate an Access Token and Device ID from just a username and password (use the Update Access Token button when configuring a client).
- Updated the look of the matrix-server-config node (icons and reorganization)
- Invalid auth token will no longer crash Node-RED on deployment/start. We do an authorized request before starting the client to see if the auth token is valid. If it is not the client will not start and all nodes for this client will show disconnected and an error will display in the debug toolbar.
- Updated matrix olm library from 3.2.1 to 3.2.8
- Setting a Device Label from the server-config node will now update your device's label. If you view the sessions for the client you will see it gets updated after deployment.
2022-01-28 10:53:10 -07:00
Skylar Sadlier
25c92b787a - Messages used to get ignored if they were over 1 second old. This caused issues with messages being ignored on servers that took longer than a second to respond (*cough* matrix.org *cough*). Now it accepts all new messages. Moving forward any messages that are sent before Node-RED starts or gets deployed will be ignored (so that old messages don't pop up since the cache clears every deploy/node-red restart so old messages look like new ones).
- When the matrix-server node would shut down (from a deployment) it wasn't properly shutting the old instance of the client down. This would cause messages to start duplicating X times (X being however many times you deployed since you last started Node-RED). This is now fixed.
- Upgraded to matrix-js-sdk 15.3.0
- Message processing is now done on the matrix-server node. Before if you had multiple matrix-receive nodes it would output one line per matrix-receive node into the log. Now it only outputs from the matrix-server node. Note that all messages get logged that are sent to rooms the bot is in whereas before it would only log message in rooms the matrix-receive node was in.
- Fixed Shared secret registration failing if user_type was defined.
2022-01-14 12:56:14 -07:00
Skylar Sadlier
0b9c59a7be Fix eventId not being returned from matrix-send-file and matrix-send-message nodes 2021-12-19 00:34:51 -07:00
Skylar Sadlier
447b18835c Closes #34 - Fix connection state logic 2021-11-25 00:00:31 -07:00
Skylar Sadlier
2341cbef10 Closes #32 - fixed leaking unencrypted messages during startup 2021-11-24 23:57:56 -07:00
Skylar Sadlier
cf1bd78ee1 Version 0.2.4
- Can now configure a room on the invite-room node (instead of having to pass it in on the msg)
- Changed how the connection event was handled by nodes
- matrix-synapse-join-room node was broken (was trying to access a variable that was never defined).
- olm library updated to 3.2.1 to hopefully fix "account.generate_fallback_key is not a function" Fixes #26
- Added description to the server configuration node that describes how to create a user for use with this module
- Update link to create room api for matrix-create-room.html
2021-09-20 09:24:40 -06:00
Skylar Sadlier
aaecaaec39 Formatted html message wasn't converting to a string. 2021-09-03 11:19:19 -06:00
Skylar Sadlier
be5416a68e guests query param for synapse user list request needs to be a string but our docs say it is a bool. Lets auto convert it so we don't cause a BC problem. 2021-09-03 10:16:49 -06:00
Skylar Sadlier
ff66222687 Fix global variable for matrix client online status not setting to false when connection fails 2021-09-03 08:43:13 -06:00
Skylar Sadlier
6a310de708 Closes #21
- Can now access the matrix client globally so it can be used in function nodes (this way you are not limited by only the nodes we have published)
- Added example for using the Matrix Client in a function to redact messages. This should be a great example to show people what is possible.
2021-09-03 08:24:02 -06:00
Skylar Sadlier
4bd2dce434 - Docs for various nodes updated (closes #9)
- Fixed some nodes not matching how their docs describe how they function (such as node configuration should always take precedence over inputs)
2021-09-02 10:51:47 -06:00
Skylar Sadlier
b698389491 - matrix-create-room had wrong input information listed and wrong API reference URL (fixes #14)
- fixed docs & node for matrix-receive
2021-09-01 20:50:23 -06:00
Skylar Sadlier
14badaeeb5 - fs-extra added as a dependency to handle config folder upgrading
- config folder now upgrades automatically to the new structure
- fixed error preventing matrix client from connecting to servers (just stays disconnected)
2021-09-01 20:48:39 -06:00
Skylar Sadlier
daafe33e86 Fix clients using the same directory for local storage instead of being unique 2021-09-01 11:09:50 -06:00
Skylar Sadlier
f894fab85e Quickfix for e2ee not enabling 2021-08-31 19:27:12 -06:00
Skylar Sadlier
2c4621e293 - Fixed not being able to disable e2ee
- Session.logged_out events are now processed to display an error from the node (helps user figure out why their login failed).
- Update description for matrix-server-config
- Updated readme & examples
2021-08-30 19:21:02 -06:00
Skylar Sadlier
b93a54f041 - Fixed not being able to disable e2ee
- Session.logged_out events are now processed to display an error from the node (helps user figure out why their login failed).
2021-08-30 13:15:22 -06:00
Skylar Sadlier
4a6fd4f015 Closes #12
- Fixed: Client would crash if invalid login was passed and e2ee was enabled
2021-08-30 11:53:50 -06:00
Skylar Sadlier
6d15c259b4 - Update documentation for matrix-room-users and matrix-synapse-create-edit-user
- matrix-synapse-deactivate-user fixed
2021-08-30 09:50:13 -06:00
Skylar Sadlier
15c70e2b2d Fixed issue with node-localstorage being a dev dependency when it shouldn't be. Also added informational text to matrix-server-config.html 2021-08-26 09:39:04 -06:00