Commit graph

11124 commits

Author SHA1 Message Date
Plastikmensch
8cecb468b0
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-05-27 12:01:13 +02:00
Plastikmensch
239170830e
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-05-27 12:01:13 +02:00
Plastikmensch
051bb17de8
Add custom_emoji to reacted?
Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
2023-05-27 12:01:13 +02:00
Jeremy Kescher
88cb32e766
ReactionsController: Don't check for status reaction existence in destroy
UnreactService checks for its existence in the background anyway, so remove redundant checks.
2023-05-27 12:01:13 +02:00
Jeremy Kescher
a801d5035c
Fix invalidating status reactions when they already exist
Co-authored-by: Plastikmensch <plastikmensch@users.noreply.github.com>
2023-05-27 12:01:13 +02:00
Jeremy Kescher
7f21afa5b8
Fix visible reactions setting not applying 2023-05-27 12:01:13 +02:00
Jeremy Kescher
956ce75185
eslint fix 2023-05-27 12:01:13 +02:00
Jeremy Kescher
4ba93c2c10
Remove further leftover makeCustomEmojiMap references 2023-05-27 12:01:13 +02:00
Jeremy Kescher
bf7945f15b
Run rubocop -a 2023-05-27 12:01:13 +02:00
Jeremy Kescher
263f10fd3e
Removed unused imports in status_container.js 2023-05-27 12:01:13 +02:00
Jeremy Kescher
ffd8aa6a2a
Add back missing visibleReactions variable to both initial_state.js files 2023-05-27 12:01:13 +02:00
Jeremy Kescher
672c123211
Add missing visible_reactions to vanilla initial_state typedef 2023-05-27 12:01:13 +02:00
Jeremy Kescher
0859f5b511
Fix max_reactions typedef 2023-05-27 12:01:13 +02:00
neatchee
20da97252d
Remove stale/missed references to makeCustomEmojiMap / EmojiMap 2023-05-27 12:01:13 +02:00
Jeremy Kescher
92fea0e028
Reactions: Return 404 when status should not be visible, asynchronous unreact 2023-05-27 12:01:13 +02:00
Jeremy Kescher
38f39b422a
Add missing authorization to ReactService 2023-05-27 12:01:13 +02:00
neatchee
f08f3c9eb8
Restore loc files for non-English languages; CrowdIn should handle this 2023-05-27 12:01:13 +02:00
Jeremy Kescher
7f1b0f43e9
Update emoji reaction patches 2023-05-27 12:01:13 +02:00
neatchee
9133f5af9d
Fix placement of reactions bar for new threading UI 2023-05-27 12:01:13 +02:00
Jeremy Kescher
83e1c8e742
Migrate emoji reactions 2023-05-27 12:01:13 +02:00
neatchee
8e71bfde83
Remove old .js locale files accidentally restored during rebase 2023-05-27 12:01:13 +02:00
Ivan Rodriguez
1987dd766a
Keep emoji picker within screen bounds
Adds the `flip` prop to `<Overlay>`. Fixes #40
2023-05-27 12:01:13 +02:00
neatchee
bbce42a7cb
Fix rebase issues 2023-05-27 12:01:13 +02:00
neatchee
ee4e497cc6
Per PR suggestion, split name and domain, and look for emoji ID, for unreact, so remote emoji's can be unreacted 2023-05-27 12:01:13 +02:00
fef
5e46bec485
bypass reaction limit for foreign accounts 2023-05-27 12:01:13 +02:00
fef
5ec5a782d4
fix 404 when reacting with Keycap Number Sign
The Unicode sequence for this emoji starts with an
ASCII # character, which the browser's URI parser
truncates before sending the request to the
backend.
2023-05-27 12:01:13 +02:00
fef
8d9105e4c2
fix status action bar after upstream changes 2023-05-27 12:01:13 +02:00
fef
6fa408f1a0
delete reaction notifications when deleting status 2023-05-27 12:01:13 +02:00
fef
f87de8770b
support reacting with foreign custom emojis 2023-05-27 12:01:13 +02:00
fef
e688fac3ec
properly disable reactions when not logged in 2023-05-27 12:01:13 +02:00
fef
55e741df7d
serialize custom emoji reactions properly for AP
Akkoma and possibly others expect the `tag` field
in an EmojiReact activity to be an array, not just
a single object, so it's being wrapped into one
now.  I'm not entirely sure whether this is the
idiomatic way of doing it tbh, but it works fine.
2023-05-27 12:01:13 +02:00
fef
2a64c4d028
also disable reaction buttons in vanilla flavour 2023-05-27 12:01:13 +02:00
fef
804bf4aa38
disable reaction button when not signed in 2023-05-27 12:01:13 +02:00
fef
4454aa7e99
fix image for new custom emoji reactions 2023-05-27 12:01:12 +02:00
fef
1ca69c2513
display external custom emoji reactions properly
Using an emoji map was completely unnecessary in
the first place, because the reaction list from
the API response includes URLs for every custom
emoji anyway.  The reaction list now also contains
a boolean field indicating whether it is an
external custom emoji, which is required because
people should only be able to react with Unicode
emojis and local custom ones, not with custom
emojis from other servers.
2023-05-27 12:01:12 +02:00
fef
3df2d0b1f1
handle incoming custom emoji reactions properly 2023-05-27 12:01:12 +02:00
fef
50cd1cc5f7
support Undo action for EmojiReaction 2023-05-27 12:01:12 +02:00
fef
7500ba8102
download remote custom emojis from reactions
Emoji reactions containing custom emojis from
remote instances were assumed to already have
been downloaded and stored in the database.
This might obviously not be the case.
2023-05-27 12:01:12 +02:00
fef
3ae691ad31
sanitize setting for number of visible reactions
This is kind of a hack, but the lack of
validation for settings unfortunately makes it
necessary.
2023-05-27 12:01:12 +02:00
Jeremy Kescher
e02b9efd45
Add reaction limit to instance serializer 2023-05-27 12:01:12 +02:00
fef
d04be8a958
fix padding on posts without reactions
The margins of the elements above and below the
main reaction list element overlapped before
reactions were added.  Adding display: none to
empty reaction bars restores this exact look.
2023-05-27 12:01:12 +02:00
fef
adc1cd4823
rename nop handler to handleNoOp
This also adds the comment in action_bar.js to
status_action_bar.js, clarifying that a future
version could improve this code by modifying
EmojiPickerDropdown.
2023-05-27 12:01:12 +02:00
fef
6ea8080771
cleanup JS imports and other minor stuff 2023-05-27 12:01:10 +02:00
fef
4690c67bdc
remove unnecessary parameter 2023-05-27 11:59:32 +02:00
fef
48ca4fa744
change reaction api to match other interactions
Status reactions had an API similar to that of
announcement reactions, using PUT and DELETE at a
single endpoint.  I believe that for statuses, it
makes more sense to follow the convention of the
other interactions and use separate POST endpoints
for create and destroy respectively.
2023-05-27 11:59:32 +02:00
fef
ca89c02dec
fix reaction deletion bug and clean up controller
Turns out the strange error where it would delete
the wrong reaction occurred because I forgot to
pass the emoji name to the query, which resulted
in the database deleting the first reaction it
found.  Also, this removes the unused set_reaction
callback and includes the Authorization module for
the status reactions controller.
2023-05-27 11:59:32 +02:00
fef
c80a2f0df0
remove outdated comments 2023-05-27 11:59:32 +02:00
fef
2efb74cea8
clean up new imports in vanilla flavour 2023-05-27 11:59:32 +02:00
fef
a0c91c47c6
rebase with upstream 2023-05-27 11:59:32 +02:00
fef
b796afc818
make number of visible reactions a vanilla setting
Reactions will be backported to the vanilla
flavour, which requires all related settings to
be accessible from the vanilla settings page
rather than the glitch specific settings modal.
2023-05-27 11:59:32 +02:00