Commit Graph

18517 Commits

Author SHA1 Message Date
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
neatchee 253c489177
Per PR suggestion, split name and domain, and look for emoji ID, for unreact, so remote emoji's can be unreacted 2023-07-07 21:57:40 +02:00
fef c1f7ff6129
move emoji reaction strings to locales-glitch 2023-07-07 21:57:40 +02:00
Jeremy Kescher eb696396a1
Fix status reactions preventing an on_cascade delete 2023-07-07 21:57:40 +02:00
fef 370a5d2cd1
bypass reaction limit for foreign accounts 2023-07-07 21:57:40 +02:00
fef 1a85f0274e
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-07-07 21:57:40 +02:00
fef ff712b7aa5
fix status action bar after upstream changes 2023-07-07 21:57:39 +02:00
fef e54ccf57c7
fix schema after rebase 2023-07-07 21:57:39 +02:00
fef 168cb08ba6
delete reaction notifications when deleting status 2023-07-07 21:57:39 +02:00
fef 3540af41db
support reacting with foreign custom emojis 2023-07-07 21:57:39 +02:00
fef 0b6cb441ad
properly disable reactions when not logged in 2023-07-07 21:57:39 +02:00
fef 4b9075e65b
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-07-07 21:57:39 +02:00
fef 04fa964a10
also disable reaction buttons in vanilla flavour 2023-07-07 21:57:39 +02:00
fef 695d93adf9
disable reaction button when not signed in 2023-07-07 21:57:39 +02:00
fef 53e8307a6b
fix image for new custom emoji reactions 2023-07-07 21:57:39 +02:00
fef bad5b2d485
run i18n-tasks normalize 2023-07-07 21:57:39 +02:00
fef a5c96afeac
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-07-07 21:57:39 +02:00
fef 56617243b5
handle incoming custom emoji reactions properly 2023-07-07 21:57:39 +02:00
fef 4026e40b32
support Undo action for EmojiReaction 2023-07-07 21:57:39 +02:00