Commit Graph
41 Commits
Author SHA1 Message Date
Rory& f2b74cae46 meow??? 2025-09-29 18:33:17 +02:00
Rory& 50111cb6df Try to handle new attachment style in message handler 2025-09-29 18:33:17 +02:00
Zane Helton 4f75919651 Add OP to message.mentions when replied to
The `message.message_reference` stores:

1. `message_id`
2. `channel_id`
3. `guild_id`

We use the `message_id` and `channel_id` to `.findOne(...)` Message, and
find the author. If the author is the same as OP, we skip (so replying
to yourself doesn't add you to the mentions array) otherwise, it adds
the author_id to the mentions array.

Resolves: #1247
2025-06-29 09:14:58 +10:00
Zane Helton e8d3f655a3 Preserve reactions when a message is edited
Resolves #1241
2025-06-29 08:44:47 +10:00
Zane Helton 81d4313631 Properly filter existing embed links
In a previous PR, I was checking if the `.url` property existed, the
correct fix is to remove any embed that isn't a rich embed
type (non-link).

See also: #1296
2025-06-29 08:39:42 +10:00
Zane Helton 184433b078 Start fresh when updating embeds for links
In a previous commit I was attempting to be clever by only
replacing/removing embeds if necessary. This not only made the logic
more confusing but introduced a bug that would allow for orphaned
embeds when updating the search params of a URL.

This commit will remove all embeds that have a `.url` property and start
fresh. This simplifies the code and eliminates the aforementioned bug.
2025-06-28 18:30:52 +10:00
Zane Helton f9cfb46e73 Fix various issues with embeds on message updates
The `postHandleMessage` function is parsing links and adding them to the
EmbedCache table if necessary. In the previous implementation, message
updates would push to the embeds unconditionally.

This commit parses links from the message and:

1. Normalizes the URLs
  - Useful for deduplicating similar URLs
2. Remove embeds with matching normalized URLs
  - Leaves all embeds except for ones with a `.url` property matching
  the updated message
  - This allows embeds to be re-ordered if the URL is moved
3. If no normalized URLs are found, remove all embeds
4. Take the deduplicated + normalized URLs and add an embed to the message and
insert into the EmbedCache table (if necessary)

This enables:

1. Embeds to be re-ordered by re-ordering links
2. Embeds to be removed by removing links

and fixes:

1. Duplicate embeds being attached to a message when edited
2025-06-28 18:30:52 +10:00
Emma [it/its]@Rory& 168758924c Update some patches, switch to node-fetch-commonjs, more updates 2024-10-28 00:32:15 +01:00
TomatoCake 873107f90d Perms for GET webhook, url property 2024-07-18 15:16:50 +02:00
TomatoCake 15a2e57b05 Prettier & fix merge util/handlers/Message 2024-07-18 14:42:22 +02:00
TomatoCake 128b81bc6a Merge branch 'master' of https://github.com/DEVTomatoCake/spacebar-server into feat/webhooks-3 2024-07-18 14:41:14 +02:00
TomatoCake 6be3714593 Fix ESLint & prettier 2024-07-18 12:52:00 +02:00
TomatoCake e7a98b6c46 webhook fixes & username/avatar property for msg 2024-07-18 12:42:07 +02:00
TomatoCake d3ece937e6 Make channel ID optional when replying 2024-07-17 20:34:09 +10:00
Cyber 7698a15f03 fix: check for message components 2024-07-09 17:19:28 +02:00
Cyber 21579b11cd fix: poll message is not an empty message 2024-07-09 16:02:11 +02:00
TomatoCake 9b02e82614 Make poll a single object instead of an array 2024-07-09 22:58:10 +10:00
Madeline 35c9a09ea5 fix poll in msg create schema 2024-07-09 15:27:24 +10:00
TomatoCake 0ac8888d41 Don't embed links in <> 2024-07-04 09:41:46 +10:00
Madeline 095cbf7b20 Remove ALL fosscord mentions 2023-03-31 15:52:33 +11:00
Madeline 698ad90d3e Revert "Merge pull request #1008 from spacebarchat/dev/samuel"
This reverts commit 69ea71aa9e, reversing
changes made to 8b2faf0b18.
2023-03-31 15:26:15 +11:00
Samuel (Flam3rboy) 69ea71aa9e Merge pull request #1008 from spacebarchat/dev/samuel 2023-03-30 18:13:34 +02:00
Madeline 8b2faf0b18 SPACEBAR 2023-03-31 02:15:42 +11:00
Madeline 64e747a4d2 SPACEBAR 2023-03-31 02:05:02 +11:00
Samuel 7b00e99053 fix: use entity.save() instead of insert (needed for caching) 2023-03-18 04:13:04 +01:00
TheArcaneBrony 16f13616d2 Remove channel mentions from messages, in order to fix them in test client.
Signed-off-by: TheArcaneBrony <myrainbowdash949@gmail.com>
2023-02-20 05:09:57 +01:00
Madeline 084dc0be08 Add ESLint (#941)
* Add eslint, switch to lint-staged for precommit

* Fix all ESLint errors

* Update GH workflow to check prettier and eslint
2023-01-20 18:10:47 +11:00
Madeline 0e7f127ece Script to add license preamble to each file. Also, does that. (#935)
* Add script to automatically add license to each file

* Add license preamble to each file.

* Fix existing preamble detection breaking due to line endings. Git :(

* Prevent license from being added to code with other licenses
2023-01-18 13:05:49 +11:00
Madeline dda70a66c9 Add an error log if embed handler fails, in addition to the existing sentry log 2023-01-15 16:21:46 +11:00
Madeline df449169bd Prettier 2023-01-05 17:16:55 +11:00
Madeline b2aac3eed7 embed fail 2022-10-05 16:10:24 +11:00
Madeline 7db5c02189 capture exception in sentry for embed processing 2022-10-04 15:43:01 +11:00
Madeline c885fd5503 Embed cache 2022-10-03 23:50:34 +11:00
Madeline 69ff9c944c Twitter embeds 2022-10-03 23:38:53 +11:00
Madeline e18af893f6 Better embed handling 2022-10-01 14:44:32 +10:00
Madeline 835a5ab3a3 Fix fetching members for roles in POST message 2022-09-29 21:29:54 +10:00
Madeline 357aada969 Prevent URL embedding and mentions when in codeblock 2022-09-29 15:53:13 +10:00
Madeline ff28c95f2a Fix message editing 2022-09-27 23:02:43 +10:00
Madeline 99ee7e9400 Prettier 2022-09-26 22:41:21 +10:00
Madeline 849b257db7 Move schemas to /src/util/schemas 2022-09-26 22:08:14 +10:00
Madeline f44f5d7ac2 Refactor to mono-repo + upgrade packages 2022-09-25 23:35:18 +10:00