Commit graph

20134 commits

Author SHA1 Message Date
Eugen Rochko
ceeb2b8c41
Fix explore page being inaccessible when opted-out of trends in web UI (#25716) 2023-07-08 20:00:12 +02:00
Eugen Rochko
93e8a15415
Add forwarding of reported replies to servers being replied to (#25341) 2023-07-08 20:00:02 +02:00
Kurtis Rainbolt-Greene
e4cfe4b3db
First pass at multi-database for read replica using Rails native adapter (#25693)
Co-authored-by: emilweth <7402764+emilweth@users.noreply.github.com>
2023-07-08 19:45:36 +02:00
Renaud Chaput
4534498a8e
Convert <DismissableBanner> to Typescript (#25582) 2023-07-08 11:12:20 +02:00
alfe
20e85c0e83
Rewrite <ShortNumber /> as FC and TS (#25492) 2023-07-08 11:11:58 +02:00
fusagiko / takayamaki
e0d230fb37
simplify counters (#25541) 2023-07-08 11:11:22 +02:00
Matt Jankowski
0f9b803eb3
Regenerate brakeman ignore, pruning warnings (#25749) 2023-07-08 11:07:19 +02:00
Renaud Chaput
9f078e238d
Fix translate button position (#25807) 2023-07-08 00:12:31 +02:00
Jeremy Kescher
6315a70c23
Fix translations 2023-07-07 21:57:41 +02:00
Jeremy Kescher
b3a8cdd468
Move status_reactions.js to status_reactions.jsx 2023-07-07 21:57:41 +02:00
Plastikmensch
f1f8012745
Add missing name param.
Follow-up to 3a91f535fa
Missed these while porting changes.

Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
2023-07-07 21:57:41 +02:00
Jeremy Kescher
87c1a75191
Use named import for AnimatedNumber 2023-07-07 21:57:41 +02:00
Jeremy Kescher
0cef59e954
Fix some RubyCop offenses 2023-07-07 21:57:41 +02:00
Plastikmensch
0ac7b22532
Fix being able to bypass MAX_REACTIONS
When reacting with different custom emojis with the same shortcode, it would count as an already present reaction and processed, bypassing the limit.

Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
2023-07-07 21:57:41 +02:00
Plastikmensch
1a42ad69f7
Refactor emoji reactions
Instead of processing tag and then look for the custom emoji, let the processing return an emoji.

Add `name` to `process_emoji_tags` to check if it matches the shortcode.

Removed `process_single_emoji` and added its code to `process_emoji_tags`

Removed arg from `maybe_process_misskey_reaction`.
Ideally, `original_status` should be a global object, but I wanted to modify vanilla code as little as possible.

Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
2023-07-07 21:57:41 +02:00
Plastikmensch
f4f1cc9eab
Only allow reacting with remote emojis when status is local
Handling remote reactions with foreign emojis would require an extensive rewrite of vanilla code, so instead prevent reactions with remote emojis when the status is not local.

Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
2023-07-07 21:57:41 +02:00
Plastikmensch
51b00dd034
Don't set me to true for remote reactions
When an account and a remote account reacted with a custom emoji with the same shortcode, the `me` attribute was also true for the remote reaction, despite being a different emoji.

This query should probably be optimised, but it works.

Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
2023-07-07 21:57:41 +02:00
Plastikmensch
e90ab798a1
Don't allow reactions with disabled custom emojis
Also doesn't set custom_emoji to a local variant of name when not given.

Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
2023-07-07 21:57:41 +02:00
Plastikmensch
63facd7c8e
Handle Undo from Misskey
Right now Misskey users were able to react, but couldn't remove their reactions.
delegates `Undo` for a `Like` to `undo_emoji_react` when there is no favourite found.

(Misskey `Like` activities can still create a fav when the emoji tag is invalid, I don't see the point though)

Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
2023-07-07 21:57:41 +02:00
Plastikmensch
03845b0be2
Only process single custom emoji
Processing all custom emojis is neither wise nor necessary as both `Like` and `EmojiReact` only expect a single custom emoji

Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
2023-07-07 21:57:40 +02:00
Plastikmensch
21975a11fd
Rescue uncaught RecordInvalid errors
These occur when an account tries to react with disabled custom emojis.
In both `EmojiReact` and `Like? activities, the activity is discarded.

Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
2023-07-07 21:57:40 +02:00
Plastikmensch
762d9bbb97
Add custom_emoji to reacted?
Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
2023-07-07 21:57:40 +02:00
Jeremy Kescher
029e18f9b8
ReactionsController: Don't check for status reaction existence in destroy
UnreactService checks for its existence in the background anyway, so remove redundant checks.
2023-07-07 21:57:40 +02:00
Jeremy Kescher
4cb90c6bf0
Fix invalidating status reactions when they already exist
Co-authored-by: Plastikmensch <plastikmensch@users.noreply.github.com>
2023-07-07 21:57:40 +02:00
Jeremy Kescher
4113237eb1
status_reaction_fabricator: Use a unicode emoji instead of "MyString"
Co-authored-by: Plastikmensch <plastikmensch@users.noreply.github.com>
2023-07-07 21:57:40 +02:00
Jeremy Kescher
ae37d47de5
api.rb: Remove resources line that wasn't in routes.rb anymore
Co-authored-by: Plastikmensch <plastikmensch@users.noreply.github.com>
2023-07-07 21:57:40 +02:00
Jeremy Kescher
e93f2941de
Remove German translation for setting_visible_reactions 2023-07-07 21:57:40 +02:00
Jeremy Kescher
2d2130bce6
Remove old french emoji reaction-related strings 2023-07-07 21:57:40 +02:00
Jeremy Kescher
bf7a20b77c
Introduce visible reactions default setting 2023-07-07 21:57:40 +02:00
Jeremy Kescher
cf6e8134f5
Fix visible reactions setting not applying 2023-07-07 21:57:40 +02:00
Jeremy Kescher
13657de04e
eslint fix 2023-07-07 21:57:40 +02:00
Jeremy Kescher
b6a646d10c
Remove further leftover makeCustomEmojiMap references 2023-07-07 21:57:40 +02:00
Jeremy Kescher
cd6702280c
Remove duplicate notification_mailer definition 2023-07-07 21:57:40 +02:00
Jeremy Kescher
224ced2cc0
Fix n+1 query for move emoji reaction settings migration 2023-07-07 21:57:40 +02:00
Jeremy Kescher
c781b34278
Run rubocop -a 2023-07-07 21:57:40 +02:00
Jeremy Kescher
31d9da6172
Removed unused imports in status_container.js 2023-07-07 21:57:40 +02:00
Jeremy Kescher
87d8579fa4
Add back missing visibleReactions variable to both initial_state.js files 2023-07-07 21:57:40 +02:00
Jeremy Kescher
0839dcdc7b
Add missing visible_reactions to vanilla initial_state typedef 2023-07-07 21:57:40 +02:00
Jeremy Kescher
0fe3bc4309
Fix max_reactions typedef 2023-07-07 21:57:40 +02:00
Jeremy Kescher
af549a7d8d
Move reaction endpoints from route.rb to api.rb 2023-07-07 21:57:40 +02:00
neatchee
290e1cb42d
Remove stale/missed references to makeCustomEmojiMap / EmojiMap 2023-07-07 21:57:40 +02:00
Jeremy Kescher
9268c0923d
Reactions: Return 404 when status should not be visible, asynchronous unreact 2023-07-07 21:57:40 +02:00
Jeremy Kescher
6e0d17cc7d
Add missing authorization to ReactService 2023-07-07 21:57:40 +02:00
neatchee
c47aa90717
Restore loc files for non-English languages; CrowdIn should handle this 2023-07-07 21:57:40 +02:00
Jeremy Kescher
bcab2d89ca
Update emoji reaction patches 2023-07-07 21:57:40 +02:00
neatchee
f214cd2938
Fix placement of reactions bar for new threading UI 2023-07-07 21:57:40 +02:00
Jeremy Kescher
c6d04be51a
Migrate emoji reactions 2023-07-07 21:57:40 +02:00
neatchee
08264918bf
Remove old .js locale files accidentally restored during rebase 2023-07-07 21:57:40 +02:00
Ivan Rodriguez
76da89a262
Keep emoji picker within screen bounds
Adds the `flip` prop to `<Overlay>`. Fixes #40
2023-07-07 21:57:40 +02:00
neatchee
8a0264bdf4
Fix rebase issues 2023-07-07 21:57:40 +02:00