Commit graph

11315 commits

Author SHA1 Message Date
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
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
fef
2cf232c1ac
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-07-07 21:57:39 +02:00
fef
c38ce09d74
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-07-07 21:57:39 +02:00
Jeremy Kescher
3c84fc19d4
Add reaction limit to instance serializer 2023-07-07 21:57:39 +02:00
fef
9ea349ea92
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-07-07 21:57:39 +02:00
fef
a05d93da6d
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-07-07 21:57:39 +02:00
fef
ef97a35161
cleanup JS imports and other minor stuff 2023-07-07 21:57:39 +02:00
fef
01cc5133e0
remove unnecessary parameter 2023-07-07 21:57:39 +02:00
fef
b978e10bef
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-07-07 21:57:39 +02:00
fef
5d94cbfc31
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-07-07 21:57:39 +02:00
fef
f1c26962f0
remove outdated comments 2023-07-07 21:57:39 +02:00
fef
82c137c726
clean up new imports in vanilla flavour 2023-07-07 21:57:39 +02:00
fef
3313ab8651
rebase with upstream 2023-07-07 21:57:39 +02:00
fef
956321b863
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-07-07 21:57:39 +02:00
fef
759435f6a8
make number of displayed reactions a setting
This adds an extra item to the local settings for
specifying the number of reactions shown in toots.
The detailed status view always shows all
reactions.
2023-07-07 21:57:39 +02:00
fef
5526b1b39b
change default reaction limit to 1 2023-07-07 21:57:39 +02:00
fef
661c1bb360
limit number of reactions displayed
Too many reactions on a single post quickly get
spammy, so they are now sorted by count and only
the first MAX_REACTIONS number of different
emojis are actually displayed.
2023-07-07 21:57:39 +02:00
fef
02c69ca9f7
fix reaction margins and paddings 2023-07-07 21:57:39 +02:00
fef
622e384aa4
cleanup frontend emoji reaction code 2023-07-07 21:57:39 +02:00
fef
da177d6c9d
cleanup backend emoji reaction code 2023-07-07 21:57:38 +02:00
fef
a14c84b553
fix padding for reaction button 2023-07-07 21:57:38 +02:00
fef
2dbdc74771
handle misskey reactions properly
misskey federates emoji reactions as likes.
2023-07-07 21:57:38 +02:00
fef
db2f6172ee
move react button to action bar 2023-07-07 21:57:38 +02:00
fef
4750a8005d
cherry-pick emoji reaction changes 2023-07-07 21:57:38 +02:00
fef
c633dd7d0f
make frontend fetch reaction limit
the maximum number of reactions was previously
hardcoded to 8.  this commit also fixes an
incorrect query in StatusReactionValidator where
it didn't count per-user reactions but the total
amount of different ones.
2023-07-07 21:57:38 +02:00
fef
953ee687ef
make status reaction count limit configurable 2023-07-07 21:57:38 +02:00
fef
16e4a10cb4
remove accidentally created file 2023-07-07 21:57:38 +02:00
fef
5230a2c7bc
federate emoji reactions
this is kind of experimental, but it should work
in theory.  at least i tested it with a remove
akkoma instance and it didn't crash.
2023-07-07 21:57:38 +02:00
fef
0dc02acd05
show reactions in detailed status view 2023-07-07 21:57:38 +02:00
fef
c02ab227d0
add frontend for emoji reactions
this is still pretty bare bones but hey, it works.
2023-07-07 21:57:38 +02:00
fef
6038222aa7
add backend support for status emoji reactions
turns out we can just reuse the code for
announcement reactions.
2023-07-07 21:57:38 +02:00
Claire
b9aa228c54 Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `.github/workflows/build-image.yml`:
  Upstream attempted something with tags.
  Kept our version.
2023-07-07 19:59:43 +02:00
Claire
b6d173b459
Fix crash in admin interface when viewing a remote user with verified links (#25796) 2023-07-07 18:10:17 +02:00
Claire
94fbac77e7
Fix processing of media files with unusual names (#25788) 2023-07-07 13:35:22 +02:00
Claire
513078de7a
Fix incorrect secondary button size (#2276) 2023-07-07 09:50:06 +02:00
Claire
ff7aae3037 Merge branch 'main' into glitch-soc/merge-upstream 2023-07-06 15:16:34 +02:00
Claire
610731b03d
Merge pull request from GHSA-55j9-c3mp-6fcq 2023-07-06 15:06:49 +02:00
Claire
c5929798bf
Merge pull request from GHSA-9pxv-6qvf-pjwc
* Fix timeout handling of outbound HTTP requests

* Use CLOCK_MONOTONIC instead of Time.now
2023-07-06 15:06:23 +02:00
Claire
dc8f1fbd97
Merge pull request from GHSA-9928-3cp5-93fm
* Fix attachments getting processed despite failing content-type validation

* Add a restrictive ImageMagick security policy tailored for Mastodon

* Fix misdetection of MP3 files with large cover art

* Reject unprocessable audio/video files instead of keeping them unchanged
2023-07-06 15:05:05 +02:00
Claire
6d8e0fae3e
Merge pull request from GHSA-ccm4-vgcc-73hp
* Tighten allowed HTML in oEmbed-based preview cards

* Sanitize preview cards at render time

* Add `sandbox` attribute to preview card iframes
2023-07-06 15:03:33 +02:00
Eugen Rochko
c0fa85b8dd [Glitch] Fix regression of icon button colors in web UI
Port 69e124e2ed to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-07-05 13:31:26 +02:00
Trevor Wolf
4719d88117 [Glitch] Change button colors to increase hover/focus contrast and consistency
Port 54cb679c19 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-07-05 13:30:52 +02:00
Eugen Rochko
a117c953d0 [Glitch] Add button to see results for polls in web UI
Port b7910bc751 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-07-05 12:42:24 +02:00