Commit graph

1035 commits

Author SHA1 Message Date
1b9f99c4fd fix regression in Ellie Mode; add the announcement to it
Apparently, the context["m.relates_to"] = {"m.in_reply_to": {event_id: event.event_id}} has always been there... The more you know!

I forgot I didn't, apparently, add it myself.

Also, while fixing the regression, I may as well introduce the note to EM, too.
2026-04-22 14:11:06 +00:00
b007822174 Okey, let's be real: Those tests were an embarrassment. 2026-04-22 13:54:49 +00:00
7943f33dbb What were those imports for, anyway? 2026-04-22 13:50:27 +00:00
cd2b5ebb13 Yep! It does exactly what I thought it would. 2026-04-22 12:41:19 +00:00
a54809155f wait, I wanna test 1 more thing on mobile... 2026-04-22 12:31:02 +00:00
a7aad4281d Well, it DOES WORK, alright.....!
thanks, I hate it
2026-04-22 12:27:46 +00:00
cc906d5fb7 Does EM even work? 2026-04-22 12:18:38 +00:00
e92bda4a2a Credit where credit is due(TRUE)² 2026-04-17 22:39:32 +00:00
189ea7e769 text² 2026-04-17 22:30:14 +00:00
b6a68936ec text. 2026-04-17 22:10:50 +00:00
88b25e0482 imports. 2026-04-17 22:07:41 +00:00
5aa13a2a92 Somehow, it almost did!
2 caveats remain (and neither has anything to do with not passing ...channel):
* ugly-error with permissions (fixed)
* no auto-reset (maybe fixed??? - it's either because I DID pass channel (ironic) or because of no await, testing option 1 now)

Also, improved comment consistency
2026-04-17 21:27:14 +00:00
804a6ecb74 This isn't gonna work, is it?
I'm 99% sure I need to do {...channel, flags:(channel.flags^DiscordTypes.ChannelFlags.RequireTag)} but TypeScript won't let me
2026-04-17 20:04:10 +00:00
ab482a82fe actually, GIMME DA OBJECT! 2026-04-17 19:43:31 +00:00
81758529ba Debugging tags-breaking 2026-04-17 18:46:57 +00:00
e95df09c5d heyyyyy~~~~~~~~ 2026-04-17 17:59:02 +00:00
2d82734a06 just appreciated how useful these links are after getting an error and having to go all the way to the Command Handler for links 2026-04-17 17:48:42 +00:00
d52794e22c ACTUALLY handle forums
turns out my handling of it from yesterday was still broken
2026-04-17 17:00:16 +00:00
86c58f169e stupid emigrants...
The code is always greener in the other file, or something
2026-04-17 14:21:33 +00:00
10b6cf5bdb Undone some of the „quality improvements” from yesterday because I noticed they'd break auto-removing for already existing threads. 2026-04-17 13:27:46 +00:00
b1513a6fd1 idea acquired 2026-04-17 11:30:54 +00:00
3a74dfb78f Make sure it's actually possible to create a /thread in a Forum channel without guard()'s interference.
Also, while at it, let the users know that /thread usage is a possibility in Forums.
2026-04-16 21:27:01 +00:00
f17c070175 Account for the hypothetical „/thread ” command 2026-04-16 21:10:54 +00:00
81bf0b935f Extra changes for compat with previous commit 2026-04-16 20:26:20 +00:00
369370d0ad 🎶 the unenlightened masses, they cannot make a judgement call🎵
🎵Give up free will forever - their voices won't be heard at all!🎶
🎶Display obedience...🎵

Where was I, again? Ah, right. I'm supposed to make the judgment call (I am the unenlightened masses) ((Someone tries to link their, fkin, smart-bidet smart-home-controller-room to a Stage or something and imma be cooked))
2026-04-16 00:01:43 +00:00
f6b9614277 Only 2 things are eternal: Doom, and temporary solutions 2026-04-15 23:42:51 +00:00
0c6a5008e3 MOAR channels!!!1!1!!!11!!!!!
also, switched to working on this branch for now; I think that's the easiest option for the time being
2026-04-15 22:52:11 +00:00
f62468511b unfuck my mess
Why did I make it this way???

#13
2026-04-15 20:05:00 +00:00
1cc86b52fd these changes were promised to me 3000 years ago 2026-04-15 19:53:48 +00:00
b7e398a068 Handle errors; general code-quality improvements 2026-04-15 19:07:18 +00:00
bd80d562c7 t e s t i n g c o m p l e t e
I also noticed that my previous wiping code wasn't even doing anything at all. lmfao
2026-04-15 17:08:16 +00:00
9871ed8930 consistency. 2026-04-15 16:35:36 +00:00
5db585a525 I just noticed something silly...
I was stripping the ping before because I thought it just pings the thread-author (which I found kinda pointless). But I didn't actually remove the code that figures out who to ping (because I happened to reuse the „if” around it, and didn't remove the setting itself because I didn't pay enough attention to it and just assumed it has some side-effects). I just tried to remove it finally (because my thought was „Wait, WHY are we setting m.mentions only to remove it?”), only to realize that the code does something entirely different (it pings the one under whose message a thread is about to be created, which makes a lot of sense tbh), and actually shouldn't be removed at all and - on the contrary - I should stop removing m.mentions (and also fix Ellie-Mode so that it won't prevent m.mentions from being set even if it's enabled).
2026-04-15 16:24:32 +00:00
ff8e571950 Changes to thread announcements, especially:
* use "" instead of „” to comply with English Language Standards Recommendations On Quotation Marks [TM], as per Cadence's request
* reflect current bot behavior (ie. it no longer bridges-as-replies, but mercilessly rips the message away from your caring arms)
* add Ellie-Mode
2026-04-15 15:24:01 +00:00
7eeff2faf3 ...So I might as well take care of this mess with commands.
Notably:
* Don't do the unmarshalling and switch-cases, as Cadence asked
* Revert command handler returns to how they were before, now that we're not using the returned-command-name anymore.
2026-04-14 22:49:59 +00:00
b869b432b6 This looks better (I still don't remember what was I doing) 2026-04-14 20:52:29 +00:00
44fb3f9f64 Credit where credit is due 2026-04-03 13:08:13 +00:00
e47b5e3d2b I am SUCH a MASSIVE FUCKING MORON jesusfuckingCHRIST 2026-04-02 20:12:29 +00:00
50d09fd48f Async JS does *NOT* spark joy 2026-04-02 20:09:13 +00:00
85314818d2 WHAT? HOW? 2026-04-02 20:03:07 +00:00
b3badac452 i WILL cry 2026-04-02 19:55:10 +00:00
3df15c5efa WHY are you still defined? 2026-04-02 18:56:46 +00:00
c53b54bafc Fix Element being stupid 2026-04-02 18:24:30 +00:00
1ea9712086 Message redirection on Matrix side, too? 2026-04-02 17:42:36 +00:00
b924de2357 namegen; prevent commands from running in redirected messages 2026-04-02 16:26:20 +00:00
98240400a6 ThreadRoom auto-create
Both sides of creation (M2D and D2M) use ensureRoom() instead of syncRoom() because it's impossible to know which one will fire first, and we wouldn't want a double-sync. At the same time, calling ensureRoom() as a way to CREATE a thread-room is perfectly safe because „Naturally, the newly created room is already up to date, so we can always skip syncing here.” and also thread-rooms aren't subject to manual-mode restrictions, so we can skip all „Does a channel_room entry exists or guild autocreate = 1?” checks (actually, the comment probably should reflect that - so I updated the comments, too.

Also, bridgeThread() is a separate function to make guard clauses possible instead of nesting 3 more layers of IFs like we were fkin YandereDev.
2026-04-02 15:13:40 +00:00
e23d365913 this will likely be removed, but I might still fix it 2026-04-02 12:42:20 +00:00
6c2aeea8a6 This should, IN THEORY, *just work* for existing threads. 2026-04-01 21:20:54 +00:00
f3330826d9 Resolved merge conflicts 2026-04-01 20:47:56 +00:00
91bce76fc8 Use HTML to strip per-message profile fallback 2026-03-29 15:41:23 +13:00