47 Commits

Author SHA1 Message Date
Rory&
697b599eb5 Maybe this tie 2025-09-29 18:38:06 +02:00
Rory&
61c3b537ad Include attachments 2025-09-29 18:38:06 +02:00
Rory&
b6cfb32d5a More relations 2025-09-29 18:38:06 +02:00
Rory&
871880996b Actually set the referenced_message relation on new messages 2025-09-29 18:38:06 +02:00
Rory&
f20dff80ef Make cloud uploads work 2025-09-29 18:38:06 +02:00
Rory&
d007acc64e Logging of empty messages 2025-09-29 18:38:06 +02:00
Rory&
c3fa8d3b1f meow??? 2025-09-29 18:38:06 +02:00
Rory&
3bba7882fa Try to handle new attachment style in message handler 2025-09-29 18:38:06 +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 69ea71aa9e0bd2e5a98904a66fba0ad3745707cb, reversing
changes made to 8b2faf0b18336e5dff1eeff4e849bcfd96b09e88.
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