Commit graph

11475 commits

Author SHA1 Message Date
fusagiko / takayamaki
ab7716cff4
Rename Image component to ServerHeroImage (#24894) 2023-05-09 23:08:28 +02:00
Claire
0fff2b67de Disable broken onboarding code 2023-05-09 23:03:23 +02:00
neatchee
81c3d63f01
Remove stale/missed references to makeCustomEmojiMap / EmojiMap 2023-05-09 22:58:59 +02:00
Jeremy Kescher
530167dff5
Reactions: Return 404 when status should not be visible, asynchronous unreact 2023-05-09 22:58:58 +02:00
Jeremy Kescher
5fd81b6144
Add missing authorization to ReactService 2023-05-09 22:58:58 +02:00
neatchee
6af0296abc
Restore loc files for non-English languages; CrowdIn should handle this 2023-05-09 22:58:58 +02:00
Jeremy Kescher
92d6dc61eb
Update emoji reaction patches 2023-05-09 22:58:58 +02:00
neatchee
214eee241b
Fix placement of reactions bar for new threading UI 2023-05-09 22:58:58 +02:00
Jeremy Kescher
5b7d1d5281
Migrate emoji reactions 2023-05-09 22:58:56 +02:00
neatchee
1b76bb6bcc
Remove old .js locale files accidentally restored during rebase 2023-05-09 22:58:42 +02:00
Ivan Rodriguez
55303adfef
Keep emoji picker within screen bounds
Adds the `flip` prop to `<Overlay>`. Fixes #40
2023-05-09 22:58:42 +02:00
neatchee
f577764472
Fix rebase issues 2023-05-09 22:58:42 +02:00
neatchee
a789208939
Per PR suggestion, split name and domain, and look for emoji ID, for unreact, so remote emoji's can be unreacted 2023-05-09 22:58:42 +02:00
fef
bec3c13cad
bypass reaction limit for foreign accounts 2023-05-09 22:56:46 +02:00
fef
9b2cfc3191
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-09 22:56:46 +02:00
fef
b7d563611f
fix status action bar after upstream changes 2023-05-09 22:56:46 +02:00
fef
c05db8c765
delete reaction notifications when deleting status 2023-05-09 22:56:46 +02:00
fef
c2209aca12
support reacting with foreign custom emojis 2023-05-09 22:56:44 +02:00
Renaud Chaput
5f2071d055 [Glitch] Enforce stricter rules for Typescript files
Port c8181eb0a4 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-09 22:56:26 +02:00
fef
b46adb9a1d
properly disable reactions when not logged in 2023-05-09 22:56:07 +02:00
fef
9ad49a191c
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-09 22:56:07 +02:00
fef
f0d129fabe
also disable reaction buttons in vanilla flavour 2023-05-09 22:56:07 +02:00
fef
245f5b3f2f
disable reaction button when not signed in 2023-05-09 22:56:07 +02:00
fef
01723aef2b
fix image for new custom emoji reactions 2023-05-09 22:56:07 +02:00
fef
83bffa8b3c
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-09 22:55:28 +02:00
fef
38346d52ef
handle incoming custom emoji reactions properly 2023-05-09 22:55:28 +02:00
fef
fe084475e9
support Undo action for EmojiReaction 2023-05-09 22:55:28 +02:00
fef
d800559866
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-09 22:55:28 +02:00
fef
7792235a89
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-09 22:55:28 +02:00
Jeremy Kescher
5482045c22
Add reaction limit to instance serializer 2023-05-09 22:55:28 +02:00
fef
a97b0fd62b
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-09 22:55:28 +02:00
fef
9ac20598db
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-09 22:55:28 +02:00
fef
c53ff0fecc
cleanup JS imports and other minor stuff 2023-05-09 22:55:26 +02:00
fef
c898de9aba
remove unnecessary parameter 2023-05-09 22:55:14 +02:00
fef
ef5396ce65
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-09 22:55:12 +02:00
fef
99f03f2d1c
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-09 22:54:35 +02:00
fef
9702fa0a99
remove outdated comments 2023-05-09 22:54:35 +02:00
fef
c32386f15a
clean up new imports in vanilla flavour 2023-05-09 22:54:35 +02:00
fef
5aa74e9aae
rebase with upstream 2023-05-09 22:54:35 +02:00
fef
5d5fd9457d
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-09 22:54:33 +02:00
fef
4d7340472b
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-05-09 22:53:50 +02:00
fef
fdb5d35c7c
change default reaction limit to 1 2023-05-09 22:53:23 +02:00
fef
fbace10f99
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-05-09 22:53:23 +02:00
fef
2e312d28e8
fix reaction margins and paddings 2023-05-09 22:53:23 +02:00
fef
46179ed6be
cleanup frontend emoji reaction code 2023-05-09 22:53:23 +02:00
fef
42490e21f8
cleanup backend emoji reaction code 2023-05-09 22:53:23 +02:00
fef
4653f9830d
fix padding for reaction button 2023-05-09 22:53:23 +02:00
fef
abd60c57f7
handle misskey reactions properly
misskey federates emoji reactions as likes.
2023-05-09 22:53:23 +02:00
fef
2ec91c6d0f
move react button to action bar 2023-05-09 22:53:23 +02:00
fef
c5befd7c1a
cherry-pick emoji reaction changes 2023-05-09 22:53:21 +02:00
fef
dd4762f3ca
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-05-09 22:51:38 +02:00
fef
e210fccb9d
make status reaction count limit configurable 2023-05-09 22:51:38 +02:00
fef
ad6b92df8d
remove accidentally created file 2023-05-09 22:51:38 +02:00
fef
add68d9291
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-05-09 22:51:38 +02:00
fef
6eeda52a8e
show reactions in detailed status view 2023-05-09 22:51:38 +02:00
fef
a445e38694
add frontend for emoji reactions
this is still pretty bare bones but hey, it works.
2023-05-09 22:51:38 +02:00
fef
4829f96113
add backend support for status emoji reactions
turns out we can just reuse the code for
announcement reactions.
2023-05-09 22:51:34 +02:00
Renaud Chaput
b509b96504 [Glitch] Enforce React Rules of Hooks with eslint
Port d9b93bd15e to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-09 22:28:53 +02:00
Renaud Chaput
108720d7b0 [Glitch] Dont use CommonJS (require, module.exports) anywhere
Port 955179fc55 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-09 22:28:53 +02:00
Claire
c81d1b0d38 Merge commit 'c8181eb0a41c4f5c1655d4e400cab071aee4182a' into glitch-soc/merge-upstream
Conflicts:
- `app/javascript/packs/admin.jsx`:
  Upstream reworked imports, but we had many changes.
  Reworked imports as upstream did.
- `app/javascript/packs/public.jsx`:
  Upstream reworked imports, but we had many changes.
  Reworked imports as upstream did.
2023-05-09 22:12:05 +02:00
たいち ひ
887112a065 [Glitch] Add TypeScript support for mastodon alias and image imports
Port 7c1305b3a4 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-09 21:50:48 +02:00
Claire
42bdc2add9 Copy hooks/useHovering.ts to glitch-soc 2023-05-09 21:30:10 +02:00
Claire
8e806b6e88 Fix IconButton prop types in glitch-soc 2023-05-09 21:11:23 +02:00
Renaud Chaput
6415981056 [Glitch] Mark wheel events on scrollable list as passive
Port 89269e4b71 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-09 20:42:07 +02:00
fusagiko / takayamaki
f94eb65cf9 [Glitch] Rewrite Domain component as function component
Port 9818f34273 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-09 20:33:58 +02:00
fusagiko / takayamaki
468dfffd26 [Glitch] Use LayoutType from is_mobile in actions/app
Port 5bc8e2d1fd to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-09 20:32:30 +02:00
たいち ひ
87a704f70b [Glitch] Rewrite RadioButton component as FC
Port 76264e3fe8 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-09 20:25:31 +02:00
たいち ひ
bd851d3b58 [Glitch] Rewrite Image component as function component
Port a65d2d1045 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-09 20:24:49 +02:00
たいち ひ
1edaf58fb9 [Glitch] Rewrite <NotSignedInIndicator /> as FC
Port 490ccbf40b to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-09 20:24:01 +02:00
Claire
8b568755ad Merge commit '89269e4b713e3291a5c8c29b8d2e7b950b60eb35' into glitch-soc/merge-upstream
Conflicts:
- `tsconfig.json`:
  Upstream changed the config to properly process imports.
  Glitch-soc had previously already done so.
  Changed the config to better match upstream.
2023-05-09 20:12:33 +02:00
Nick Schonning
51b83ed195
Use Prettier for ESLint formatting TypeScript (#23631) 2023-05-09 19:02:12 +02:00
Renaud Chaput
6aeb162927
Type Redux store and middleware (#24843) 2023-05-09 16:56:26 +02:00
Claire
e1f466fbbe
Fix javascript on moderation interface (#24933) 2023-05-09 16:42:02 +02:00
Renaud Chaput
224d458f7e
Remove unused iOS agent sniffing function (#24931) 2023-05-09 15:48:53 +02:00
Renaud Chaput
a3a2414f0e
Rework polyfills loading (#24907) 2023-05-09 14:55:35 +02:00
fusagiko / takayamaki
6579e3af7d
Add more detailed type annotation for Account (#24815) 2023-05-09 12:09:32 +02:00
Renaud Chaput
c8181eb0a4
Enforce stricter rules for Typescript files (#24910) 2023-05-09 03:11:56 +02:00
Renaud Chaput
d9b93bd15e
Enforce React Rules of Hooks with eslint (#24911) 2023-05-09 03:09:11 +02:00
Renaud Chaput
955179fc55
Dont use CommonJS (require, module.exports) anywhere (#24913) 2023-05-09 03:08:47 +02:00
Renaud Chaput
89269e4b71
Mark wheel events on scrollable list as passive (#24914) 2023-05-09 03:07:13 +02:00
Renaud Chaput
ea04f33f50 [Glitch] Fixes build errors from some previous TS-related commits
Port 45579a26cf to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-08 22:15:00 +02:00
fusagiko / takayamaki
3d9e35375c [Glitch] Rewrite actions/app.ts and reducers/missed_updates.ts with createAction
Port 0999cb4601 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-08 22:15:00 +02:00
Renaud Chaput
a33d6c946a [Glitch] Remove MastodonMap TS type
Port 9a52a7f7a0 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-08 22:15:00 +02:00
fusagiko / takayamaki
e8243d5bbd [Glitch] Add type annotation for some js files
Port e38b391940 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-08 22:15:00 +02:00
Claire
5f0d2b6e3b Copy Typescript type definitions to glitch-soc 2023-05-08 22:15:00 +02:00
Claire
f3af434c25 [Glitch] Fix incorrect import of redux store
Port 9c1929efad to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-08 22:15:00 +02:00
fusagiko / takayamaki
f4e3e309b1 [Glitch] use configureStore of redux-toolkit instead of createStore of redux
Port 8227af8dcc to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-08 22:15:00 +02:00
Eugen Rochko
bbd0e9caa6 [Glitch] Add ALT badges to media that has alternative text in web UI
Port 8131a5b330 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-08 22:15:00 +02:00
Claire
a8939e9098 [Glitch] Change media elements to use aspect-ratio rather than compute height themselves
Port 598e63dad2 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-08 22:15:00 +02:00
Claire
10f5329ddf [Glitch] Fix incorrect box shadow on avatar in thread view
Port d37c0a1060 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-08 21:09:49 +02:00
fusagiko / takayamaki
9ab89bb832 [Glitch] Add type annotation for Blurhash component
Port f50105779b to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-08 21:09:49 +02:00
fusagiko / takayamaki
20f1f3aa7d [Glitch] Add type annotation for IconButton component
Port 5a5975d7f7 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-08 21:09:49 +02:00
Claire
d77fbbed73 Merge commit 'f877aa9d70d0d600961989b8e97c0e0ce3ac1db6' into glitch-soc/merge-upstream
Conflicts:
- `.github/dependabot.yml`:
  Upstream made changes, but we had removed it.
  Discarded upstream changes.
- `.rubocop_todo.yml`:
  Upstream regenerated the file, we had some glitch-soc-specific ignores.
- `app/models/account_statuses_filter.rb`:
  Minor upstream code style change where glitch-soc had slightly different code
  due to handling of local-only posts.
  Updated to match upstream's code style.
- `app/models/status.rb`:
  Upstream moved ActiveRecord callback definitions, glitch-soc had an extra one.
  Moved the definitions as upstream did.
- `app/services/backup_service.rb`:
  Upstream rewrote a lot of the backup service, glitch-soc had changes because
  of exporting local-only posts.
  Took upstream changes and added back code to deal with local-only posts.
- `config/routes.rb`:
  Upstream split the file into different files, while glitch-soc had a few
  extra routes.
  Extra routes added to `config/routes/settings.rb`, `config/routes/api.rb`
  and `config/routes/admin.rb`
- `db/schema.rb`:
  Upstream has new migrations, while glitch-soc had an extra migration.
  Updated the expected serial number to match upstream's.
- `lib/mastodon/version.rb`:
  Upstream added support to set version tags from environment variables, while
  glitch-soc has an extra `+glitch` tag.
  Changed the code to support upstream's feature but prepending a `+glitch`.
- `spec/lib/activitypub/activity/create_spec.rb`:
  Minor code style change upstream, while glitch-soc has extra tests due to
  `directMessage` handling.
  Applied upstream's changes while keeping glitch-soc's extra tests.
- `spec/models/concerns/account_interactions_spec.rb`:
  Minor code style change upstream, while glitch-soc has extra tests.
  Applied upstream's changes while keeping glitch-soc's extra tests.
2023-05-08 19:28:21 +02:00
Claire
f89f3a8566
Fix glitch-soc's thread line styling (#2214)
Thread lines were misaligned in glitch-soc because we have less padding and
larger avatar sizes.
2023-05-08 18:21:36 +02:00
fusagiko / takayamaki
aff2d55b80 [Glitch] Add type annotation for RelativeTimestamp component
Port 15fd712464 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-08 16:02:59 +02:00
fusagiko / takayamaki
a49707dacb [Glitch] Rewrite Icon and IconWithBadge with typescript
Port 81f75b1e0e to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-08 15:59:27 +02:00
Eugen Rochko
7835f8fd22 [Glitch] Fix icons having an image role
Port 24b2c60beb to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-08 15:57:35 +02:00
Claire
e9eab013e7 [Glitch] Fix audio player width in thread view
Port cf1bc4bb93 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-08 15:50:05 +02:00
Nick Schonning
51479f5c28 [Glitch] Add eslint-plugin-jsdoc
Port f22b4e556c to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-08 15:48:08 +02:00
Christian Schmidt
09054f5485 [Glitch] Fix media description not being cleared
Port bfeccf6748 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-05-08 15:41:17 +02:00
Claire
2d029dedd9 Merge commit '0ad2413b35287958f59073a5b63aecc659a64d98' into glitch-soc/merge-upstream
Conflicts:
- `app/javascript/styles/mastodon/forms.scss`:
  Conflict because we ran eslint autofix on upstream files.
- `config/initializers/content_security_policy.rb`:
  Code style changes but we have a different version.
  Kept our version.
- `streaming/index.js`:
  Upstream fixed a typo close to glitch-soc-only code.
  Applied upstream's changes.
2023-05-08 15:28:36 +02:00
Claire
5d18840ab9
Fix more JS linting issues (#2212)
* Fix uses of intl.formatMessages without default messages

* Ignore lint issue for ColumnLink button
2023-05-08 15:16:55 +02:00
fusagiko / takayamaki
9818f34273
Rewrite Domain component as function component (#24896) 2023-05-08 15:12:12 +02:00
fusagiko / takayamaki
5bc8e2d1fd
Use LayoutType from is_mobile in actions/app (#24863) 2023-05-08 15:10:21 +02:00
Claire
16c5354b8c
Fix some more JS linting issues (#2211)
* Minor refactor and linting fixup in `flavours/glitch/actions/accounts.js`

This is some added boilerplate but it's much more consistent with the remaining
of the code, and avoids the linting issue.

* Fix missing /privacy-policy link in DM warning because of wrongly-named import

* Fix unnecessary import

* Fix regexp in flavours/glitch/utils/hashtag.js
2023-05-08 14:02:41 +02:00
たいち ひ
7c1305b3a4
Add TypeScript support for mastodon alias and image imports (#24895) 2023-05-08 11:28:36 +02:00
たいち ひ
76264e3fe8
Rewrite RadioButton component as FC (#24897) 2023-05-08 11:12:53 +02:00
たいち ひ
a65d2d1045
Rewrite Image component as function component (#24893) 2023-05-08 11:12:44 +02:00
たいち ひ
490ccbf40b
Rewrite <NotSignedInIndicator /> as FC (#24903) 2023-05-08 11:12:13 +02:00
たいち ひ
6fdbee240c
Rewrite <Check /> as FC (#24901) 2023-05-08 08:26:02 +02:00
Essem
a61794d914
Merge remote-tracking branch 'neatchee/feat/emoji_reactions' 2023-05-08 00:01:26 -05:00
neatchee
f560ee44e9 Fix appearance/show.html.haml 2023-05-07 16:52:52 -07:00
neatchee
5bd0c35304 Revert "Fix appearance/show.html.haml"
This reverts commit 34f9e54f9f.
2023-05-07 16:30:59 -07:00
neatchee
730878a587 Remove stale/missed references to makeCustomEmojiMap / EmojiMap 2023-05-07 16:26:37 -07:00
Jeremy Kescher
4bd3c80038 Reactions: Return 404 when status should not be visible, asynchronous unreact 2023-05-07 15:36:34 -07:00
Jeremy Kescher
ec687d7edb Remove failing skip_before_action from v1/custom_emojis_controller.rb
Fixes incorrect merge at 9eb149477a24daf6e17a72ef550c76d4cf6ad506
2023-05-07 15:36:06 -07:00
Jeremy Kescher
b0b593d525 Add missing authorization to ReactService 2023-05-07 15:34:48 -07:00
neatchee
fa0a5a70c7 Restore loc files for non-English languages; CrowdIn should handle this 2023-05-07 15:33:50 -07:00
Jeremy Kescher
e0db7dc35a Update emoji reaction patches 2023-05-07 15:27:26 -07:00
neatchee
759a27781d Fix placement of reactions bar for new threading UI 2023-05-07 15:08:26 -07:00
Jeremy Kescher
34f9e54f9f Fix appearance/show.html.haml 2023-05-07 15:08:26 -07:00
Jeremy Kescher
0c230226e4 Migrate emoji reactions 2023-05-07 15:08:26 -07:00
neatchee
f718c027b0 Remove old .js locale files accidentally restored during rebase 2023-05-07 15:08:26 -07:00
Ivan Rodriguez
b78ea8b4a3 Keep emoji picker within screen bounds
Adds the `flip` prop to `<Overlay>`. Fixes #40
2023-05-07 15:08:26 -07:00
neatchee
98eab315c1 Fix rebase issues 2023-05-07 15:08:26 -07:00
neatchee
26646218c7 Per PR suggestion, split name and domain, and look for emoji ID, for unreact, so remote emoji's can be unreacted 2023-05-07 15:08:26 -07:00
fef
275a67b5a3 bypass reaction limit for foreign accounts 2023-05-07 15:08:26 -07:00
fef
79ff467687 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-07 15:08:26 -07:00
fef
4761bd3e69 fix status action bar after upstream changes 2023-05-07 15:08:26 -07:00
fef
215a76cca0 delete reaction notifications when deleting status 2023-05-07 15:08:26 -07:00
fef
3eab0d0cd0 support reacting with foreign custom emojis 2023-05-07 15:08:26 -07:00
fef
f6b1ec0f3d properly disable reactions when not logged in 2023-05-07 15:08:26 -07:00
fef
13b5375fb7 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-07 15:08:26 -07:00
fef
588315ab24 also disable reaction buttons in vanilla flavour 2023-05-07 15:08:26 -07:00
fef
6a1c43856e disable reaction button when not signed in 2023-05-07 15:08:26 -07:00
fef
799fb2812a fix image for new custom emoji reactions 2023-05-07 15:08:26 -07:00
fef
d0f3f649f5 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-07 15:08:25 -07:00
fef
dbbfea1b48 handle incoming custom emoji reactions properly 2023-05-07 15:05:56 -07:00
fef
7349a5a2f5 support Undo action for EmojiReaction 2023-05-07 15:05:56 -07:00
fef
16e08e1e3f 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-07 15:05:56 -07:00
fef
d8205100c8 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-07 15:05:56 -07:00
Jeremy Kescher
d5ccf3b438 Add reaction limit to instance serializer 2023-05-07 15:05:56 -07:00
fef
8aadf99a54 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-07 15:05:56 -07:00
fef
9f6a880c96 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-07 15:05:56 -07:00
fef
4452ddbc88 cleanup JS imports and other minor stuff 2023-05-07 15:05:56 -07:00
fef
490c1a2244 remove unnecessary parameter 2023-05-07 15:05:56 -07:00
fef
be710b6a5f 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-07 15:05:56 -07:00
fef
946debee55 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-07 15:05:56 -07:00
fef
a8afee509b remove outdated comments 2023-05-07 15:05:56 -07:00
fef
49c8048b98 clean up new imports in vanilla flavour 2023-05-07 15:05:56 -07:00
fef
7403e91a6e rebase with upstream 2023-05-07 15:05:56 -07:00
fef
573f12ef46 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-07 15:05:56 -07:00
fef
c3a18c6fff 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-05-07 15:05:56 -07:00
fef
b6f8093a9d change default reaction limit to 1 2023-05-07 15:05:56 -07:00
fef
78e0e74fa7 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-05-07 15:05:56 -07:00
fef
4951abefb3 fix reaction margins and paddings 2023-05-07 15:05:56 -07:00
fef
299b501db4 cleanup frontend emoji reaction code 2023-05-07 15:05:56 -07:00
fef
98682312e1 cleanup backend emoji reaction code 2023-05-07 15:05:56 -07:00
fef
0ae702a331 fix padding for reaction button 2023-05-07 15:05:56 -07:00
fef
256a07ef40 handle misskey reactions properly
misskey federates emoji reactions as likes.
2023-05-07 15:05:56 -07:00
fef
c96110a037 move react button to action bar 2023-05-07 15:05:56 -07:00
fef
f61c649318 cherry-pick emoji reaction changes 2023-05-07 15:05:56 -07:00
fef
6bd06460f4 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-05-07 15:05:56 -07:00
fef
4f4237c58e make status reaction count limit configurable 2023-05-07 15:05:56 -07:00
fef
6646d36d1b remove accidentally created file 2023-05-07 15:05:56 -07:00
fef
a1685c4a83 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-05-07 15:05:56 -07:00
fef
56cb7ff931 show reactions in detailed status view 2023-05-07 15:05:56 -07:00
fef
671fb4c3ed add frontend for emoji reactions
this is still pretty bare bones but hey, it works.
2023-05-07 15:05:55 -07:00
fef
9fccc8ca76 add backend support for status emoji reactions
turns out we can just reuse the code for
announcement reactions.
2023-05-07 15:05:29 -07:00
Essem
cd71462f92
Merge remote-tracking branch 'neatchee/feat/emoji_reactions' 2023-05-07 15:08:48 -05:00
Essem
708df4cc2a
Merge remote-tracking branch 'upstream/main' 2023-05-07 15:05:29 -05:00
Claire
de74acbe0c
Fix some more Javascript linting issues and discrepancies with upstream (#2209)
* Fix typo in flavours/glitch/features/video/index.js

* Fix various linting issues and discrepancies with upstream
2023-05-07 21:43:25 +02:00
Claire
ed0a407888
Fix thread lines not being properly updated when new posts are received (#2210) 2023-05-07 20:06:10 +02:00
Plastikmensch
179e38cf15
Reset language to default when cancelling a reply (#2114)
When cancelling a reply, the language was still set to the language of the replied to toot.

Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
2023-05-07 18:45:10 +02:00
Claire
3fb7fe14c6
Fix some of the Javascript linting issues, as well as bugs and unneeded divergences with upstream (#2208)
* Run eslint --fix

* Fix linting issues in video player and reduce divergences with upstream

This includes a behavior change of not auto-looping videos anymore. I don't
remember loops being ever intended, and they have been removed from upstream
a while ago, but we somehow missed the change.

* Fix lint issues in `app/javascript/flavours/glitch/selectors/index.js`

Those were basically caused by dead code that isn't present upstream, so
that brings us closer to upstream as well.

* Fix linting issue and bug in streaming/index.js

* Fix linting issues in config/webpack/shared.js

* Fix unused import in flavours/glitch/features/ui/index.js

* Fix linting issues and reduce divergences from upstream in flavours/glitch/features/ui/components/video_modal.jsx

* Fix linting issues in flavours/glitch/reducers

* Fix linting issues in glitch-soc onboarding modal

* Fix linting issues in flavours/glitch/features/ui/components/navigation_panel.jsx

* Remove dead code for unused local setting navbar_under

* Fix various linting issues

* Fix linting issues in flavours/glitch/components/scrollable_list.jsx and reduce divergences with upstream
2023-05-07 18:22:25 +02:00
Claire
9b59748679
Fix rubocop warnings (#2206) 2023-05-07 15:06:15 +02:00
Claire
6f64c79ca4
Fix SCSS linting issues (#2207)
* Disable font-family-no-missing-generic-family-keyword for font-awesome accessibility icons

* Run stylelint --fix

* Avoid `@extend` directives with doodle modal CSS

* Drop use of `@extend` for notification cleanup buttons SCSS

* Run prettier on SCSS
2023-05-07 15:04:59 +02:00
Claire
a6207d243b
New Crowdin updates (#2202)
* New translations en.json (Russian)
[ci skip]

* New translations en.json (Russian)
[ci skip]
2023-05-07 13:37:47 +02:00
neatchee
3fffa8a04b Fix placement of reactions bar for new threading UI 2023-05-07 01:10:49 -07:00
Jeremy Kescher
74184e0359 Fix appearance/show.html.haml 2023-05-07 01:01:49 -07:00
Jeremy Kescher
b06a233ee8 Migrate emoji reactions 2023-05-07 01:01:49 -07:00
neatchee
5ccfbf6ee3 Remove old .js locale files accidentally restored during rebase 2023-05-07 01:01:49 -07:00
Ivan Rodriguez
09c808ae99 Keep emoji picker within screen bounds
Adds the `flip` prop to `<Overlay>`. Fixes #40
2023-05-07 01:01:49 -07:00
neatchee
54a2372897 Fix rebase issues 2023-05-07 01:01:49 -07:00
neatchee
12d95fcebe Per PR suggestion, split name and domain, and look for emoji ID, for unreact, so remote emoji's can be unreacted 2023-05-07 01:01:49 -07:00
fef
8744bb10a3 bypass reaction limit for foreign accounts 2023-05-07 01:01:49 -07:00
fef
cf7850f0d2 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-07 01:01:49 -07:00
fef
f55666786b fix status action bar after upstream changes 2023-05-07 01:01:49 -07:00
fef
17c8841513 delete reaction notifications when deleting status 2023-05-07 01:01:49 -07:00
fef
2e2430ad49 support reacting with foreign custom emojis 2023-05-07 01:01:49 -07:00
fef
fffe4af3b7 properly disable reactions when not logged in 2023-05-07 01:01:49 -07:00
fef
f33147e152 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-07 01:01:49 -07:00
fef
7ce619b13c also disable reaction buttons in vanilla flavour 2023-05-07 01:01:49 -07:00
fef
8f64167661 disable reaction button when not signed in 2023-05-07 01:01:49 -07:00
fef
ba4984e15d fix image for new custom emoji reactions 2023-05-07 01:01:49 -07:00
fef
2568ea1fe1 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-07 01:01:49 -07:00
fef
6afbc6d226 handle incoming custom emoji reactions properly 2023-05-07 01:01:49 -07:00
fef
61547fd28a support Undo action for EmojiReaction 2023-05-07 01:01:49 -07:00
fef
d5e8133904 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-07 01:01:49 -07:00
fef
5d682cc93b 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-07 01:01:49 -07:00
Jeremy Kescher
8f262bbd37 Add reaction limit to instance serializer 2023-05-07 01:01:49 -07:00
fef
35ff0c4d94 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-07 01:01:49 -07:00
fef
2102a08780 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-07 01:01:49 -07:00
fef
aa8d77ba0e cleanup JS imports and other minor stuff 2023-05-07 01:01:49 -07:00
fef
dfd0c0b992 remove unnecessary parameter 2023-05-07 01:01:14 -07:00
fef
223edf4023 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-07 01:01:14 -07:00
fef
4f9cb8cd54 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-07 01:01:14 -07:00
fef
25999d39dd remove outdated comments 2023-05-07 01:01:14 -07:00
fef
a33a698ab7 clean up new imports in vanilla flavour 2023-05-07 01:01:14 -07:00
fef
88f2423ca4 rebase with upstream 2023-05-07 01:01:12 -07:00
fef
92384b1563 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-07 00:58:56 -07:00
fef
7908581d43 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-05-07 00:58:56 -07:00
fef
64dcd84409 change default reaction limit to 1 2023-05-07 00:58:56 -07:00
fef
092d8ad5ab 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-05-07 00:58:56 -07:00
fef
e220736cac fix reaction margins and paddings 2023-05-07 00:58:56 -07:00
fef
d52593b591 cleanup frontend emoji reaction code 2023-05-07 00:58:55 -07:00
fef
5ef952eebb cleanup backend emoji reaction code 2023-05-07 00:58:28 -07:00
fef
896ed10527 fix padding for reaction button 2023-05-07 00:58:28 -07:00
fef
d7a49f057c handle misskey reactions properly
misskey federates emoji reactions as likes.
2023-05-07 00:58:28 -07:00
fef
3ed18a4c01 move react button to action bar 2023-05-07 00:58:28 -07:00
fef
88f6ccf950 cherry-pick emoji reaction changes 2023-05-07 00:58:28 -07:00
fef
2b4e922c33 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-05-07 00:58:28 -07:00
fef
f2d942571c make status reaction count limit configurable 2023-05-07 00:58:28 -07:00
fef
ee6927a2dc remove accidentally created file 2023-05-07 00:58:28 -07:00
fef
0fee4ad5ea 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-05-07 00:58:28 -07:00
fef
e5b03ea1d3 show reactions in detailed status view 2023-05-07 00:58:27 -07:00
fef
531c5c9185 add frontend for emoji reactions
this is still pretty bare bones but hey, it works.
2023-05-07 00:58:02 -07:00
fef
445a7a8086 add backend support for status emoji reactions
turns out we can just reuse the code for
announcement reactions.
2023-05-07 00:58:02 -07:00
fusagiko / takayamaki
140aa6b054
Rewrite VerifiedBadge component as function component (#24892) 2023-05-07 09:10:58 +02:00
Claire
746979f75d
Fix compose textarea scroll behavior (#24872) 2023-05-05 18:58:58 +02:00
mogaminsk
c9e040fb24
Fix import data field type (#24874) 2023-05-05 18:10:10 +02:00
S.H
5811ccc611
Fix column back button error (#24867) 2023-05-05 15:13:28 +02:00
zunda
c0ea33e3fc
Make it possible to upload audio and video to Heroku app (#24866) 2023-05-05 14:41:07 +02:00
Matt Jankowski
0b249ebdb0
Extract StatusSafeReblogInsert concern from Status (#24821) 2023-05-04 14:06:20 +02:00
Nick Schonning
569b39256b
Bump rubocop-rails 2.19.1 with update .rubocop_todo.yml (#24469) 2023-05-04 11:56:24 +02:00
Claire
c3c7d59072
Fix infinite loop in AccountsStatusesCleanupScheduler (#24840) 2023-05-04 10:13:00 +02:00
Nick Schonning
f95125bd04
Fail ESLint for Warnings in CI (#24836) 2023-05-04 09:48:50 +02:00
Florin
27bafabb64
Fix Back button going outside the app (#24835) 2023-05-04 08:14:04 +02:00
Nick Schonning
ff3b7069cf
Autofix Rubocop Style/ConcatArrayLiterals (#23755) 2023-05-04 05:57:40 +02:00
Nick Schonning
da3bd913ae
Autofix Rubocop Style/HashSyntax (#23754) 2023-05-04 05:54:26 +02:00
Nick Schonning
d5a185d721
Autofix Rubocop Style/CaseLikeIf (#23756) 2023-05-04 05:51:18 +02:00
Matt Jankowski
08fb9d300a
Spec coverage for settings/preferences/* controllers (#24825) 2023-05-04 05:44:27 +02:00
Matt Jankowski
2c6c398c60
Fix Performance/CollectionLiteralInLoop cop (#24819) 2023-05-04 05:33:55 +02:00
Claire
a2a22bad23
Fix various edge cases with local moves (#24812) 2023-05-03 19:19:25 +02:00
Claire
1e75eb690d
Fix own posts not getting delivered to own lists (#24810) 2023-05-03 19:17:40 +02:00
Renaud Chaput
45579a26cf
Fixes build errors from some previous TS-related commits (#24811) 2023-05-03 16:28:14 +02:00
fusagiko / takayamaki
0999cb4601
Rewrite actions/app.ts and reducers/missed_updates.ts with createAction (#24801) 2023-05-03 15:28:39 +02:00
Claire
c98b012583
Change Move handler to also move list memberships (#24808) 2023-05-03 14:03:38 +02:00
Renaud Chaput
9a52a7f7a0
Remove MastodonMap TS type (#24807) 2023-05-03 13:32:11 +02:00
fusagiko / takayamaki
e38b391940
Add type annotation for some js files (#24787) 2023-05-03 11:43:29 +02:00