Commit graph

20369 commits

Author SHA1 Message Date
Claire
0669783da8 Merge branch 'main' into glitch-soc/merge-upstream 2023-05-28 17:01:25 +02:00
Eugen Rochko
e7dc375aab [Glitch] Change share action from being in action bar to being in dropdown in web UI
Port 1caa5ff39e to glitch-soc

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-28 16:59:12 +02:00
Renaud Chaput
7bec63e6e2 [Glitch] Fix null signUp URL handling from #25014
Port 40b948a1fb to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-28 16:52:16 +02:00
たいち ひ
017fbc7a74 [Glitch] Rewrite <LoadGap /> as FC and TS
Port 7336f3648b to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-28 16:48:17 +02:00
Claire
0e7466717f Merge commit '391c089d0db58d731765dba730a5e1f2fe8570a6' into glitch-soc/merge-upstream
Conflicts:
- `.github/dependabot.yml`:
  We removed it from glitch-soc.
  Keep it deleted.
2023-05-28 16:41:14 +02:00
Claire
7d7db8977b Fix import order with ESLint
Port d27216dc46 to glitch-soc
2023-05-28 16:38:10 +02:00
Claire
1cd7f5ff17 Merge commit 'd27216dc4616d80659c0cc5d2a55394e0e1ae874' into glitch-soc/merge-upstream
Conflicts:
- `.eslintrc.js`:
  Upstream moved a configuration block in which we had added a glitch-only
  path.
  Moved the configuration block as upstream did.
- other files:
  Upstream reordered imports, and those files had different ones.
  Kept our version and reordered imports using the same rules.
2023-05-28 15:54:31 +02:00
Claire
9e5278ea7b [Glitch] Add support for custom sign-up URLs
Port ca66e61b93 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-28 15:09:28 +02:00
Claire
8f380a33fc [Glitch] Fix video player offering to expand in a lightbox when it's in an iframe
Port 100840c06e to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-28 15:06:29 +02:00
Claire
6dbd44faea Merge commit 'b896b16cb3c8626fbee12a7eda7f882114b1a040' into glitch-soc/merge-upstream 2023-05-28 15:01:53 +02:00
Claire
a0bc0619ca [Glitch] Use JSX syntax for Fragments
Port 5a16bd7bf4 to glitch-soc
2023-05-28 14:56:24 +02:00
Claire
8278907ff7 Merge commit '5a16bd7bf4591feb852364da9b84407438c9b7d6' into glitch-soc/merge-upstream 2023-05-28 14:32:26 +02:00
Claire
6001f5ff36 [Glitch] Use the new JSX transform everywhere
Port 8f66126b10 to glitch-soc
2023-05-28 14:18:43 +02:00
Claire
9381f78166 Merge commit '8f66126b1010e0aaaa8b5f2a2f4ea8a28824e2b7' into glitch-soc/merge-upstream 2023-05-28 13:55:30 +02:00
Jeremy Kescher
3b3bfecba6
Fix translations 2023-05-27 14:12:04 +02:00
Jeremy Kescher
fd5e5a759e
Move status_reactions.js to status_reactions.jsx 2023-05-27 13:55:17 +02:00
Plastikmensch
3dc590a327
Add missing name param.
Follow-up to 3a91f535fa
Missed these while porting changes.

Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
2023-05-27 13:32:45 +02:00
Jeremy Kescher
55199ec150
Use named import for AnimatedNumber 2023-05-27 13:32:45 +02:00
Jeremy Kescher
0e1ef3efd0
Fix some RubyCop offenses 2023-05-27 13:32:43 +02:00
Plastikmensch
2a13d27be4
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-05-27 12:01:13 +02:00
Plastikmensch
3a91f535fa
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-05-27 12:01:13 +02:00
Plastikmensch
4e15a89b39
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-05-27 12:01:13 +02:00
Plastikmensch
ea10f2e1e0
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-05-27 12:01:13 +02:00
Plastikmensch
b326dcab78
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-05-27 12:01:13 +02:00
Plastikmensch
f9730eba77
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-05-27 12:01:13 +02:00
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
245e212ba1
status_reaction_fabricator: Use a unicode emoji instead of "MyString"
Co-authored-by: Plastikmensch <plastikmensch@users.noreply.github.com>
2023-05-27 12:01:13 +02:00
Jeremy Kescher
241d61af52
api.rb: Remove resources line that wasn't in routes.rb anymore
Co-authored-by: Plastikmensch <plastikmensch@users.noreply.github.com>
2023-05-27 12:01:13 +02:00
Jeremy Kescher
ab5d17c9fa
Remove German translation for setting_visible_reactions 2023-05-27 12:01:13 +02:00
Jeremy Kescher
69a5c9483b
Remove old french emoji reaction-related strings 2023-05-27 12:01:13 +02:00
Jeremy Kescher
9be1967d05
Introduce visible reactions default setting 2023-05-27 12:01:13 +02:00
Jeremy Kescher
00d74e293a
Re-apply schema version 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
d18ca9eef6
Remove duplicate notification_mailer definition 2023-05-27 12:01:13 +02:00
Jeremy Kescher
9da713f009
Fix n+1 query for move emoji reaction settings migration 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
Jeremy Kescher
c4d82b4170
Move reaction endpoints from route.rb to api.rb 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