Conflicts:
- `package.json`:
Upstream removed a dependency that was textually close to a glitch-soc-only
dependency.
Removed the dependency as upstream did, while keeping the glitch-soc-only
dependency.
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.
Conflicts:
- `README.md`:
Upstream added a link to the roadmap, but we have a completely different README.
Kept ours.
- `app/models/media_attachment.rb`:
Upstream upped media attachment limits.
Updated the default according to upstream's.
- `db/migrate/20180831171112_create_bookmarks.rb`:
Upstream changed the migration compatibility level.
Did so too.
- `config/initializers/content_security_policy.rb`:
Upstream refactored this file but we have a different version.
Kept our version.
- `app/controllers/settings/preferences_controller.rb`:
Upstream completely refactored user settings storage, and glitch-soc has a
different set of settings.
The file does not directly references individual settings anymore.
Applied upstream changes.
- `app/lib/user_settings_decorator.rb`:
Upstream completely refactored user settings storage, and glitch-soc has a
different set of settings.
The file got removed entirely.
Removed it as well.
- `app/models/user.rb`:
Upstream completely refactored user settings storage, and glitch-soc has a
different set of settings.
References to individual settings have been removed from the file.
Removed them as well.
- `app/views/settings/preferences/appearance/show.html.haml`:
Upstream completely refactored user settings storage, and glitch-soc has a
different set of settings.
Applied upstream's changes and ported ours back.
- `app/views/settings/preferences/notifications/show.html.haml`:
Upstream completely refactored user settings storage, and glitch-soc has a
different set of settings.
Applied upstream's changes and ported ours back.
- `app/views/settings/preferences/other/show.html.haml`:
Upstream completely refactored user settings storage, and glitch-soc has a
different set of settings.
Applied upstream's changes and ported ours back.
- `config/settings.yml`:
Upstream completely refactored user settings storage, and glitch-soc has a
different set of settings.
In particular, upstream removed user-specific and unused settings.
Did the same in glitch-soc.
- `spec/controllers/application_controller_spec.rb`:
Conflicts due to glitch-soc's theming system.
Mostly kept our version, as upstream messed up the tests.
Conflicts:
- `README.md`:
Upstream changed their README, we have our own.
Kept ours.
- `app/helpers/application_helper.rb`:
Minor code style fix upstream, on a line that is different in glitch-soc
due to the different theming system.
Applied the code style fix to our own code.
- `app/views/settings/preferences/appearance/show.html.haml`:
Code style fix on a line next to lines exclusive to glitch-soc.
Applied upstream changes.
- `yarn.lock`:
Upstream updated a dependency textually close to a glitch-soc-only
dependency.
Updated the dependency like upstream did.
commit 13bca8d5b7344445633ff3c8a162086be8215379
Merge: 1e2782647 ff157b237
Author: Essem <smswessem@gmail.com>
Date: Thu Mar 16 11:51:32 2023 -0500
Merge branch 'feat/emoji_reactions' of https://github.com/neatchee/mastodon into feat/emoji_reactions
commit ff157b2378a15a786763d7e13ad2de4ff223dc03
Author: neatchee <neatchee@gmail.com>
Date: Wed Mar 8 13:27:25 2023 -0800
Remove old .js locale files accidentally restored during rebase
commit 52beb88a19626c0b17d0945a43bf8725ceae4b04
Author: Ivan Rodriguez <104603218+IRod22@users.noreply.github.com>
Date: Tue Mar 7 23:21:32 2023 -0600
Keep emoji picker within screen bounds
Adds the `flip` prop to `<Overlay>`. Fixes#40
commit 7707004cf3d5bacd3ef830ef734dd003b607c2af
Author: neatchee <neatchee@gmail.com>
Date: Thu Jan 26 11:32:03 2023 -0800
Fix rebase issues
commit ce40bbbce1e5e9ab7770f89dd7cffd87d3ceb177
Author: neatchee <neatchee@gmail.com>
Date: Thu Jan 26 10:22:15 2023 -0800
Per PR suggestion, split name and domain, and look for emoji ID, for unreact, so remote emoji's can be unreacted
commit fc9f34a39fa40b3eda4ccfc0cc8e5c028b9ebe79
Author: fef <owo@fef.moe>
Date: Tue Dec 20 17:19:56 2022 +0000
move emoji reaction strings to locales-glitch
commit af0f50ca74631e9f2dafde0f0e08417f906c04a0
Author: Jeremy Kescher <jeremy@kescher.at>
Date: Sun Dec 18 04:23:42 2022 +0100
Fix status reactions preventing an on_cascade delete
commit 2e713c7792438f17ef026f6d79465be25a5fb7db
Author: fef <owo@fef.moe>
Date: Thu Dec 15 15:27:54 2022 +0000
bypass reaction limit for foreign accounts
commit 907e1e490ed9b2373eb18f92af9fda4426274713
Author: fef <owo@fef.moe>
Date: Sun Dec 11 13:26:23 2022 +0000
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.
commit 9028d3841f7d5d2eb1b06bc210ded055c53fc1d2
Author: fef <owo@fef.moe>
Date: Thu Dec 8 09:48:55 2022 +0000
fix status action bar after upstream changes
commit 4ce5095d8c187947805ecf21c90ad494440e904a
Author: fef <owo@fef.moe>
Date: Wed Dec 7 21:52:53 2022 +0100
fix schema after rebase
commit 63b9e4392adbb13fe0ce71de4d28419df0f36bb1
Author: fef <owo@fef.moe>
Date: Wed Dec 7 12:47:03 2022 +0000
delete reaction notifications when deleting status
commit e407cc12b64a664c66717ce06d65342dd8bc609e
Author: fef <owo@fef.moe>
Date: Wed Dec 7 12:19:36 2022 +0000
support reacting with foreign custom emojis
commit b2dbb4dbe4996426a6cdb90e8da27e5096b3e88c
Author: fef <owo@fef.moe>
Date: Sun Dec 4 12:33:47 2022 +0000
properly disable reactions when not logged in
commit ec790f3b1e243e33ccd22685b8e3c017ca7f9273
Author: fef <owo@fef.moe>
Date: Sun Dec 4 10:52:02 2022 +0000
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.
commit 2637d9b77a6e696face0851328c5bd2e80d1dab2
Author: fef <owo@fef.moe>
Date: Sun Dec 4 08:47:24 2022 +0000
also disable reaction buttons in vanilla flavour
commit 0b4d5f700b74c0a6c8344321e491082511128f48
Author: fef <owo@fef.moe>
Date: Sat Dec 3 16:55:37 2022 +0000
disable reaction button when not signed in
commit afd0bb2c05be38477df1a808b32cece5c7e4b416
Author: fef <owo@fef.moe>
Date: Sat Dec 3 16:20:29 2022 +0000
fix image for new custom emoji reactions
commit b1dcd0eb6ce2f097fab310cdf32cd509426fcfba
Author: fef <owo@fef.moe>
Date: Sat Dec 3 14:23:55 2022 +0000
run i18n-tasks normalize
commit e4e7837bf30082185b2f14e8d60741261f7085f4
Author: fef <owo@fef.moe>
Date: Sat Dec 3 11:57:00 2022 +0000
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.
commit 6d3e364fa22370ab80f16a311dce15d93976464a
Author: fef <owo@fef.moe>
Date: Sat Dec 3 10:22:15 2022 +0000
handle incoming custom emoji reactions properly
commit 0a47a05905adc3e9d1dc1e7e619891b884b9e512
Author: fef <owo@fef.moe>
Date: Sat Dec 3 08:24:23 2022 +0000
support Undo action for EmojiReaction
commit b81f4537aced99e427cb30fd54a33c852839e08a
Author: fef <owo@fef.moe>
Date: Fri Dec 2 17:02:06 2022 +0000
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.
commit ff246bda3731753f58f7e499aae036c331953d0b
Author: fef <owo@fef.moe>
Date: Fri Dec 2 10:17:59 2022 +0000
fix integer cast bug
Gotta love Rails.
commit 40a645aab9e8071698051751d88262bb9e10199a
Author: fef <owo@fef.moe>
Date: Fri Dec 2 09:37:56 2022 +0000
sanitize setting for number of visible reactions
This is kind of a hack, but the lack of
validation for settings unfortunately makes it
necessary.
commit 391c6e22f2170f990d30d975c4a5ffb966484c17
Author: Jeremy Kescher <jeremy@kescher.at>
Date: Fri Dec 2 08:05:10 2022 +0100
Add reaction limit to instance serializer
commit 501ae9e2e1578ef80709ff38910dc46f483c5942
Author: fef <owo@fef.moe>
Date: Fri Dec 2 01:52:59 2022 +0000
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.
commit 956edd3ca7cd04a3524addc2c5b6ddc475358734
Author: fef <owo@fef.moe>
Date: Fri Dec 2 01:00:08 2022 +0000
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.
commit 2c93f1840f6cc74eef628b370b2c7b8485028cc8
Author: fef <owo@fef.moe>
Date: Thu Dec 1 23:30:39 2022 +0100
cleanup JS imports and other minor stuff
commit 4a2f91e3de2dfdb53e1a3f09430c6e0eabbf49be
Author: fef <owo@fef.moe>
Date: Thu Dec 1 04:26:13 2022 +0000
remove unnecessary parameter
commit 91d26c871786708f8c2c0188f82318ff2c438127
Author: fef <owo@fef.moe>
Date: Thu Dec 1 02:24:08 2022 +0000
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.
commit c74e050e3d77920000d7226ae26966d27291e790
Author: fef <owo@fef.moe>
Date: Thu Dec 1 01:41:47 2022 +0000
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.
commit e7ed7e37d7995d4bf39ad44c7a738290c81fa9dc
Author: fef <owo@fef.moe>
Date: Wed Nov 30 19:29:56 2022 +0000
remove outdated comments
commit d33f8330c019898f948334453b75fc2802fab9f8
Author: fef <owo@fef.moe>
Date: Wed Nov 30 17:09:16 2022 +0000
clean up new imports in vanilla flavour
commit 45f803e23f019dbe5246daa3131548acdb99a757
Author: fef <owo@fef.moe>
Date: Wed Nov 30 17:25:36 2022 +0100
rebase with upstream
commit 8b339e4a2d2632a269dccdba1a60e69b6b38a053
Author: fef <owo@fef.moe>
Date: Wed Nov 30 14:59:37 2022 +0000
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.
commit 56323209b519a90f9dbf10b1c45a320de4d6aaa5
Author: fef <owo@fef.moe>
Date: Wed Nov 30 13:20:20 2022 +0000
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.
commit e96fb97770877749b5c6bca8fe3e6136fffa309a
Author: fef <owo@fef.moe>
Date: Wed Nov 30 12:01:34 2022 +0000
change default reaction limit to 1
commit 30ae2ad2612bae2abb48c49205bbe71b97435dda
Author: fef <owo@fef.moe>
Date: Wed Nov 30 09:06:14 2022 +0000
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.
commit 84fb0f3cc252cabfa374b31f8a34e021a3ad8677
Author: fef <owo@fef.moe>
Date: Tue Nov 29 09:07:10 2022 +0000
fix reaction margins and paddings
commit 53b685ff1d4589915655da5cafa3a2dd9ee06a51
Author: fef <owo@fef.moe>
Date: Tue Nov 29 08:54:35 2022 +0000
cleanup frontend emoji reaction code
commit 2b0a474a73a84a3e841ddf44854fa5c2e0681a0f
Author: fef <owo@fef.moe>
Date: Tue Nov 29 08:15:52 2022 +0000
cleanup backend emoji reaction code
commit 3bfd5ceba17c42bee27ff0f10514332caa814332
Author: fef <owo@fef.moe>
Date: Tue Nov 29 06:25:43 2022 +0000
fix padding for reaction button
commit deabc28e182acc208bffe6fb57430b97c5bc7c6c
Author: fef <owo@fef.moe>
Date: Tue Nov 29 05:21:53 2022 +0000
handle misskey reactions properly
misskey federates emoji reactions as likes.
commit 4d47b9929852493b208fdf13dee38e27dde50b8c
Author: fef <owo@fef.moe>
Date: Tue Nov 29 04:37:44 2022 +0000
move react button to action bar
commit 151bcea7d4497086823adc0bca6c674ea78a8d8f
Author: fef <owo@fef.moe>
Date: Tue Nov 29 04:31:22 2022 +0100
cherry-pick emoji reaction changes
commit f150fd0dc8761c2a992875948a2736244e5f7076
Author: fef <owo@fef.moe>
Date: Tue Nov 29 00:39:40 2022 +0000
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.
commit 12886aa19ae5be6c7077ff1704b1b4c75c15eae6
Author: fef <owo@fef.moe>
Date: Mon Nov 28 23:16:56 2022 +0000
make status reaction count limit configurable
commit 25806c568a57e9193b43427df80b60a88143a5eb
Author: fef <owo@fef.moe>
Date: Mon Nov 28 22:25:12 2022 +0000
remove accidentally created file
commit f3784cfef551ad1d9d0df0001b2b480bfc656b14
Author: fef <owo@fef.moe>
Date: Mon Nov 28 22:23:13 2022 +0000
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.
commit d32f3f8c2fb9e8a29e676e54c98d2cac85841728
Author: fef <owo@fef.moe>
Date: Fri Nov 25 23:02:40 2022 +0000
show reactions in detailed status view
commit 5e9bbb0be253b5b56c6d7b5ee8d843f401995b7c
Author: fef <owo@fef.moe>
Date: Thu Nov 24 17:30:52 2022 +0000
add frontend for emoji reactions
this is still pretty bare bones but hey, it works.
commit 85756b572a169857a09d7668ce9f2c856ebefd27
Author: fef <owo@fef.moe>
Date: Thu Nov 24 11:50:32 2022 +0000
add backend support for status emoji reactions
turns out we can just reuse the code for
announcement reactions.
Conflicts:
- `README.md`:
Upstream README has been changed, but we have a completely different one.
Kept our `README.md`.
- `lib/sanitize_ext/sanitize_config.rb`:
Upstream added support for more incoming HTML tags (a large subset of what
glitch-soc accepts).
Change the code style to match upstream's but otherwise do not change our
code.
- `spec/lib/sanitize_config_spec.rb`:
Upstream added support for more incoming HTML tags (a large subset of what
glitch-soc accepts).
Kept our version, since the tests are mostly glitch-soc's, except for cases
which are purposefuly different.
Conflicts:
- `.prettierignore`:
Upstream added a line at the end of the file, while glitch-soc had its own
extra lines.
Took upstream's change.
- `CONTRIBUTING.md`:
We have our custom CONTRIBUTING.md quoting upstream. Upstream made changes.
Ported upstream changes.
- `app/controllers/application_controller.rb`:
Upstream made code style changes in a method that is entirely replaced
in glitch-soc.
Ignored the change.
- `app/models/account.rb`:
Code style changes textually close to glitch-soc-specific changes.
Ported upstream changes.
- `lib/sanitize_ext/sanitize_config.rb`:
Upstream code style changes.
Ignored them.
Conflicts:
- `.prettierignore`:
Upstream added a line at the end, glitch-soc had extra entries at the end.
Added upstream's new line before glitch-soc's.
- `Gemfile.lock`:
Upstream updated dependencies while glitch-soc has an extra one (hcaptcha).
Updated dependencies like upstream did.
- `app/controllers/api/v1/statuses_controller.rb`:
Not a real conflict, upstream added a parameter (`allowed_mentions`) where
glitch-soc already had an extra one (`content_type`).
Added upstream's new parameter.
- `app/javascript/styles/fonts/roboto-mono.scss`:
A lot of lines were changed upstream due to code style changes, and a lot
of those lines had path changes to accomodate glitch-soc's theming system.
Applied upstream's style changes.
- `app/javascript/styles/fonts/roboto.scss`:
A lot of lines were changed upstream due to code style changes, and a lot
of those lines had path changes to accomodate glitch-soc's theming system.
Applied upstream's style changes.
Conflicts:
- `README.md`:
Minor upstream change, our README is completely different.
Kept ours.
- `lib/tasks/assets.rake`:
glitch-soc has extra code to deal with its theming system,
upstream changed a line that exists in glitch-soc.
Applied upstream changes.
Conflicts:
- `.github/workflows/build-image.yml`:
Upstream updated `docker/build-push-action`, and we a different config
for `docker/metadata-action` so the lines directly above were different,
but it's not a real conflict.
Upgraded `docker/build-push-action` as upstream did.
- `app/javascript/mastodon/features/compose/components/compose_form.js`:
Upstream changed the codestyle near a line we had modified to accommodate
configurable character count.
Kept our change.
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.
Conflicts:
- `config/i18n-tasks.yml`:
Upstream added new ignored strings, glitch-soc has extra ignored strings
because of the theming system.
Added upstream's changes.
* Add followed_tags route.
This at least gets us to the point where the page can actually be
rendered, although it doesn't display any hashtags (yet?).
Attempting to implement #20763.
* Fix minor issues.
* I've got the followed tags data partially working
But the Hashtag component errors for some reason. Something about the
value of the history attribute being invalid.
* Fix a mistake in the code
* Minor change.
* Get the followed hashtags list fully working.
Still need to add the Follow/Unfollow buttons, though.
* Resolve JS linter issues.
* Add pagination logic to followed tags list view.
However, it currently loads further pages immediately on page load, so
that's not ideal. Need to figure that one out.
* Appease the linter.
* Apply suggestions from code review
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
* Fixes and resolve some other feedback.
* Use set/update instead of setIn/updateIn.
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
Conflicts:
- `app/models/status.rb`:
Minor upstream refactor moved hook definitions around,
and glitch-soc has an extra `before_create`.
Moved the `before_create` accordingly.
- `app/services/batched_remove_status_service.rb`:
Minor upstream refactor changed a block in which glitch-soc
had one extra call to handle direct timelines.
Adapted changes to keep glitch-soc's extra call.
* Update react-overlays to latest version
* Fix breaking changes in dropdown menus
* Use react-overlays built-in arrow positioning feature
* Re-implemented `.dropdown-menu__arrow` to have a defined width and height to improve positioning
* Moved wrapping div (`.dropdown-menu` from `DropdownMenu` to `Dropdown`)
* Wrap button in a span to solve issue with ref
* Temporarily remove animations
* Fix breaking changes in emoji picker
* Wrap EmojiPickerMenu in a div where react-overlays’ ref is added
* Fix breaking changes in language dropdown
* Fix breaking changes in privacy dropdown
* Fix breaking changes in search form
* Add animations back using `@keyframes`
* Fix arrow color in light theme
* Fix linting issue
* Remove unused `mounted` state
* Remove `placement` state from components and redux
And remove the placement state from props of the menu components.
* Remove abolution position to fix flip issue
* Remove z-index to fix modals and overlay positions
* Fix lint issues
* Set placement in privacy and language components
Copy the placement state into the `PrivacyDropdown` and `LanguageDropdown` components, to apply correct styling to the buttons depending on which placement the Overlay has.
* Move `placement` state to correct component
* Fix footer link circle dividers' screen reader accessibility by adding aria-hidden
* Remove a circle erroneously added in prev commit, and make code more DRY
Conflicts:
- `README.md`:
Upstream updated its README, while we have a completely different one.
Kept our README.
- `app/controllers/concerns/web_app_controller_concern.rb`:
Conflict because of glitch-soc's theming system.
Additionally, glitch-soc has different behavior regarding moved accounts.
Ported some of the changes, but kept our overall behavior.
- `app/javascript/packs/admin.js`:
Code changes actually applied to `app/javascript/core/admin.js`
Conflicts:
- `README.md`:
Discarded upstream changes: we have our own README
- `app/controllers/follower_accounts_controller.rb`:
Port upstream's minor refactoring
When opening a page such as /web/timelines/home in a desktop browser, the
cursor was automatically placed in the textarea of the compose form.
When using the keyboard for navigation (using a browser plugin like vimium or
vim vixen, or just to hit 'space' to scroll down a page), you have remember to
leave the field before using that.
Since you only visit the page to write a new post some of the time, this PR
attempts to have nothing focused initially (and require the user to click or
e.g. use 'tab' to focus the textarea).
Tested:
* /web/timeslines/home no longer autofocuses the compose box
* pressing the 'n' hotkey still focuses the compose box
* clicking 'reply' for a post still focuses the compose box
* replying to a CW'ed post still focuses the compose box
* introducing the CW field still focuses the CW field
* introducing the CW field for a reply still focuses the CW field
* removing the CW field still focuses the compose box
* /web/statuses/new still autofocuses the compose box
fixes#15862
Conflicts:
- `app/models/concerns/domain_materializable.rb`:
Fixed a code style issue upstream in a PR that got merged in glitch-soc
earlier.
Changed the code to match upstream's.
Conflicts:
- `.github/workflows/build-image.yml`:
Upstream changed how docker images were built, including how
they were cached.
I don't know much about it, so applied upstream's changes.
- `app/controllers/admin/domain_blocks_controller.rb`:
The feature, that was in glitch-soc, got backported upstream.
It also had a few fixes upstream, so those have been ported!
- `app/javascript/packs/admin.js`:
Glitch-soc changes have been backported upstream. As a result,
some code from `app/javascript/core/admin.js` got added upstream.
Kept our version since our shared Javascript already has that feature.
- `app/models/user.rb`:
Upstream added something to distinguish unusable and unusable-because-moved
accounts, while glitch-soc considers moved accounts usable.
Took upstream's code for `functional_or_moved?` and made `functional?`
call it.
- `app/views/statuses/_simple_status.html.haml`:
Upstream cleaned up code style a bit, on a line that we had custom changes
for.
Applied upstream's change while keeping our change.
- `config/initializers/content_security_policy.rb`:
Upstream adopted one CSP directive we already had.
The conflict is because of our files being structurally different, but the
change itself was already part of glitch-soc.
Kept our version.
Conflicts:
- `app/views/admin/announcements/edit.html.haml`:
Upstream change too close to theming-related glitch-soc change.
Ported upstream changes.
- `app/views/admin/announcements/new.html.haml`
Upstream change too close to theming-related glitch-soc change.
Ported upstream changes.
Conflicts:
- `app/models/account.rb`:
Conflict because we (glitch-soc) have disabled trending of posts without
review.
Discarded that upstream change.
- `app/views/admin/settings/discovery/show.html.haml`:
Just an extra setting in glitch-soc.
Kept that extra setting.
Conflicts:
- `app/models/custom_emoji.rb`:
Not a real conflict, just upstream changing a line too close to
a glitch-soc-specific validation.
Applied upstream changes.
- `app/models/public_feed.rb`:
Not a real conflict, just upstream changing a line too close to
a glitch-soc-specific parameter documentation.
Applied upstream changes.
This commit removes aria-pressed attribute from all elements which
contents or other descriptive attributes change in active state,
effectively replacing the meaning of the button, in which case
aria-pressed, an attribute specified whether the button is currently
pressed, would create a confusion. (Spoiler: it's everywhere).
See https://github.com/mastodon/mastodon/issues/13545#issuecomment-1304886969
Conflicts:
- `app/javascript/mastodon/features/compose/components/poll_form.js`:
glitch-soc change because of having changed the default number of
available poll options.
Applied upstream's changes while keeping glitch-soc's default number of
poll options.
- `public/oops.png`:
We had a minor graphics change, probably not worth diverging from upstream.
Took upstream version.
* Fix compose form submission reloading web interface
Fix regression introduced by #19742
* Fix various compose form buttons being handled like submit buttons
* Fix coding style issue
* Fix missing onClick prop check
* Fix being unable to withdraw follow request when unfollow confirmation modal is disabled
Fixes#19569
* Fix “unfollow” being inadequately used for withdrawing follow requests from account card
Conflicts:
- `app/javascript/mastodon/locales/ja.json`:
Upstream change too close to a glitch-soc-specific string.
The glitch-soc-specific string should not have been in this file, so it
has been moved to `app/javascript/flavours/glitch/locales/ja.js`.
- `app/javascript/packs/public.js`:
Upstream refactored a part, that as usual is split and duplicated in various
pack files. Updated those pack files accordingly.
- `app/views/layouts/application.html.haml`:
Upstream fixed custom.css path in a different way than we did, went with
upstream's change.
Due to an error in operator priority, those settings would only show up if the
user role included the all-encompassing `administrator` permission and would
display `0` otherwise.
* Change public accounts pages to mount the web UI
* Fix handling of remote usernames in routes
- When logged in, serve web app
- When logged out, redirect to permalink
- Fix `app-body` class not being set sometimes due to name conflict
* Fix missing `multiColumn` prop
* Fix failing test
* Use `discoverable` attribute to control indexing directives
* Fix `<ColumnLoading />` not using `multiColumn`
* Add `noindex` to accounts in REST API
* Change noindex directive to not be rendered by default before a route is mounted
* Add loading indicator for detailed status in web UI
* Fix missing indicator appearing while account is loading in web UI
* Don't use "unfollow language" when cancelling follow requests
- Adds two new i18n keys: `confirmations.cancel_follow_request.confirm`
and `confirmations.cancel_follow_request.message`
- Update the header container to use new language
* "Withdraw follow request" instead of "cancel follow request"
Cherry-picked d2528b26b6
Conflicts:
- `app/serializers/initial_state_serializer.rb`:
Upstream changed stuff, we had extra attributes.
Applied upstream changes while keeping our extra attributes.
- `app/serializers/rest/instance_serializer.rb`:
Upstream actually moved that to `app/serializers/rest/v1/instance_serializer.rb`,
so updated that file by keeping our extra attributes, and took upstream's
version of `app/serializers/rest/instance_serializer.rb`.
- `spec/views/about/show.html.haml_spec.rb`:
Took upstream's version.
Conflicts:
- `app/controllers/home_controller.rb`:
Upstream made it so `/web` is available to non-logged-in users
and `/` redirects to `/web` instead of `/about`.
Kept our version since glitch-soc's WebUI doesn't have what's
needed yet and I think /about is still a much better landing
page anyway.
- `app/models/form/admin_settings.rb`:
Upstream added new settings, and glitch-soc had an extra setting.
Not really a conflict.
Added upstream's new settings.
- `app/serializers/initial_state_serializer.rb`:
Upstream added a new `server` initial state object.
Not really a conflict.
Merged upstream's changes.
- `app/views/admin/settings/edit.html.haml`:
Upstream added new settings.
Not really a conflict.
Merged upstream's changes.
- `app/workers/scheduler/feed_cleanup_scheduler.rb`:
Upstream refactored that part and removed the file.
Ported our relevant changes into `app/lib/vacuum/feeds_vacuum.rb`
- `config/settings.yml`:
Upstream added new settings.
Not a real conflict.
Added upstream's new settings.
* Add database table for status-specific filters
* Add REST endpoints, entities and attributes
* Show status filters in /filters interface
* Perform server-side filtering for individual posts filters
* Fix filtering on context mismatch
* Refactor `toServerSideType` by moving it to its own module
* Move loupe and delete icons to their own module
* Add ability to filter individual posts from WebUI
* Replace keyword list by warnings (expired, context mismatch)
* Refactor server-side filtering code
* Add tests
Conflicts:
- `app/controllers/admin/base_controller.rb`:
Minor conflict caused by glitch-soc's theming system.
- `app/javascript/mastodon/initial_state.js`:
Minor conflict caused by glitch-soc making use of max_toot_chars.
- `app/models/form/admin_settings.rb`:
Minor conflict caused by glitch-soc's theming system.
- `app/models/trends.rb`:
Minor conflict caused by glitch-soc having more granular
notification settings for trends.
- `app/views/admin/accounts/index.html.haml`:
Minor conflict caused by glitch-soc's theming system.
- `app/views/admin/instances/show.html.haml`:
Minor conflict caused by glitch-soc's theming system.
- `app/views/layouts/application.html.haml`:
Minor conflict caused by glitch-soc's theming system.
- `app/views/settings/preferences/notifications/show.html.haml`:
Minor conflict caused by glitch-soc having more granular
notification settings for trends.
- `config/navigation.rb`:
Minor conflict caused by glitch-soc having additional
navigation items for the theming system while upstream
slightly changed every line.
Conflicts:
- `.github/workflows/build-image.yml`:
Fix erroneous deletion in a previous merge.
- `Gemfile`:
Conflict caused by glitch-soc-only hCaptcha dependency
- `app/controllers/auth/sessions_controller.rb`:
Minor conflict due to glitch-soc's theming system.
- `app/controllers/filters_controller.rb`:
Minor conflict due to glitch-soc's theming system.
- `app/serializers/rest/status_serializer.rb`:
Minor conflict due to glitch-soc having an extra `local_only` property
* Add model for custom filter keywords
* Use CustomFilterKeyword internally
Does not change the API
* Fix /filters/edit and /filters/new
* Add migration tests
* Remove whole_word column from custom_filters (covered by custom_filter_keywords)
* Redesign /filters
Instead of a list, present a card that displays more information and handles
multiple keywords per filter.
* Redesign /filters/new and /filters/edit to add and remove keywords
This adds a new gem dependency: cocoon, as well as a npm dependency:
cocoon-js-vanilla. Those are used to easily populate and remove form fields
from the user interface when manipulating multiple keyword filters at once.
* Add /api/v2/filters to edit filter with multiple keywords
Entities:
- `Filter`: `id`, `title`, `filter_action` (either `hide` or `warn`), `context`
`keywords`
- `FilterKeyword`: `id`, `keyword`, `whole_word`
API endpoits:
- `GET /api/v2/filters` to list filters (including keywords)
- `POST /api/v2/filters` to create a new filter
`keywords_attributes` can also be passed to create keywords in one request
- `GET /api/v2/filters/:id` to read a particular filter
- `PUT /api/v2/filters/:id` to update a new filter
`keywords_attributes` can also be passed to edit, delete or add keywords in
one request
- `DELETE /api/v2/filters/:id` to delete a particular filter
- `GET /api/v2/filters/:id/keywords` to list keywords for a filter
- `POST /api/v2/filters/:filter_id/keywords/:id` to add a new keyword to a
filter
- `GET /api/v2/filter_keywords/:id` to read a particular keyword
- `PUT /api/v2/filter_keywords/:id` to edit a particular keyword
- `DELETE /api/v2/filter_keywords/:id` to delete a particular keyword
* Change from `irreversible` boolean to `action` enum
* Remove irrelevent `irreversible_must_be_within_context` check
* Fix /filters/new and /filters/edit with update for filter_action
* Fix Rubocop/Codeclimate complaining about task names
* Refactor FeedManager#phrase_filtered?
This moves regexp building and filter caching to the `CustomFilter` class.
This does not change the functional behavior yet, but this changes how the
cache is built, doing per-custom_filter regexps so that filters can be matched
independently, while still offering caching.
* Perform server-side filtering and output result in REST API
* Fix numerous filters_changed events being sent when editing multiple keywords at once
* Add some tests
* Use the new API in the WebUI
- use client-side logic for filters we have fetched rules for.
This is so that filter changes can be retroactively applied without
reloading the UI.
- use server-side logic for filters we haven't fetched rules for yet
(e.g. network error, or initial timeline loading)
* Minor optimizations and refactoring
* Perform server-side filtering on the streaming server
* Change the wording of filter action labels
* Fix issues pointed out by linter
* Change design of “Show anyway” link in accordence to review comments
* Drop “irreversible” filtering behavior
* Move /api/v2/filter_keywords to /api/v1/filters/keywords
* Rename `filter_results` attribute to `filtered`
* Rename REST::LegacyFilterSerializer to REST::V1::FilterSerializer
* Fix systemChannelId value in streaming server
* Simplify code by removing client-side filtering code
The simplifcation comes at a cost though: filters aren't retroactively
applied anymore.
Conflicts:
- `app/javascript/styles/fonts/montserrat.scss`:
Code style changes upstream, path changes in glitch-soc.
Applied upstream's code style changes.
- `app/javascript/styles/fonts/roboto-mono.scss`:
Code style changes upstream, path changes in glitch-soc.
Applied upstream's code style changes.
- `app/javascript/styles/fonts/roboto.scss`:
Code style changes upstream, path changes in glitch-soc.
Applied upstream's code style changes.
- `app/models/account.rb`:
Textual conflict only caused by glitch-soc using a different value
for character limits in a nearby line.
Applied upstream's changes.
- `app/views/statuses/_simple_status.html.haml`:
Attribute added to a tag modified by glitch-soc.
Added upstream's attributes.
- `yarn.lock`:
Upstream added/updated dependencies close to glitch-soc-only ones.
Updated/added upstream dependencies.
Conflicts:
- `app/javascript/mastodon/features/compose/components/compose_form.js`:
Conflict caused because of minor code style change upstream, while glitch-soc
has different code for handling variable maximum chars.
Ported the change.
- `app/serializers/initial_state_serializer.rb`:
Conflict because glitch-soc had two extra attributes where upstream added
one.
Added upstream's attribute.
Conflicts:
- `package.json`:
Not really a conflict, upstream updated a dependency textually adjacent to a
glitch-soc-only one.
Updated the dependency as upstream did.
Fixes#18331
Add some padding below the last element of scrollable lists when the FAB is
shown in order for users to always be able to fully see the last element.
Conflicts:
- `package.json`:
Upstream updated `jest`, moving its config in a separate file.
This config was modified in glitch-soc, so the corresponding changes have
been ported to `jest.config.js`
Conflicts:
- `package.json`:
Not really a conflict, upstream updated a dependency textually adjacent to a
glitch-soc-only one.
Updated the dependency as upstream did.
Conflicts:
- `app/javascript/packs/admin.js`:
Conflicts due to glitch-soc's theming system.
Upstream changes have been ported to `app/javascript/core/admin.js`
- `app/models/trends/statuses.rb`:
Minor conflict due to glitch-soc's option to allow CWed toots in trends.
Ported upstream changes.
- Change name of conversations column in web UI
- Change hotkey for opening conversations column from `g d` to `g c` in web UI
- Remove shortcuts for creating direct-visibility statuses from web UI
* Replace deprecated String.prototype.substr()
.substr() is deprecated so we replace it with .slice() which works similarily but isn't deprecated
* Change String.prototype.substring() to String.prototype.slice()
.substring() and .slice() work very similary but .slice() is a bit faster and stricter
* Add ESLint rule to forbid usage of .substr and .substring
.substr() is deprecated and .substring() is very similar to .slice() so better to use .slice() at all times
Signed-off-by: Tobias Speicher <rootcommander@gmail.com>
Conflicts:
- `app/models/status.rb`:
Upstream updated media and edit-related code textually close to glitch-soc
additions (local-only and content-type).
Ported upstream changes.
- `app/models/status_edit.rb`:
Upstream changes textually close to glitch-soc additions (content-type).
Ported upstream changes.
- `app/serializers/activitypub/note_serializer.rb`:
Upstream changed how media attachments are handled. Not really a conflict,
but textually close to glitch-soc additions (directMessage attribute).
Ported upstream changes.
- `app/services/remove_status_service.rb`:
Upstream changed how media attachments are handled. Not really a conflict,
but textually close to glitch-soc additions (DM timeline).
Ported upstream changes.
- `app/services/update_status_service.rb`:
Upstream fixed an issue with language selection. Not really a conflict,
but textually close to glitch-soc additions (content-type).
Ported upstream changes.
- `db/schema.rb`:
Upstream added columns to the `status_edits` table, the conflict is because
of an additional column (`content-type`) in glitch-soc.
Ported upstream changes.
- `package.json`:
Upstream dependency (express) textually adjacent to a glitch-soc-specific one
(favico.js) got updated.
Updated it as well.
Conflicts:
- `app/controllers/settings/preferences_controller.rb`:
Conflicts due to us having more user settings and upstream dropping
`hide_network` (to replace it with an account attribute, properly migrated).
Dropped `hide_network` like upstream.
- `app/lib/user_settings_decorator.rb`:
Conflicts due to us having more user settings and upstream dropping
`hide_network` (to replace it with an account attribute, properly migrated).
Dropped `hide_network` like upstream.
- `app/models/status.rb`:
Conflict because of slight change in how glitch-soc handles the scope to
filter out local-only posts for anonymous viewers.
Took upstream's changes and re-applied glitch-soc's change.
- `app/models/user.rb`:
Conflicts due to us having more user settings and upstream dropping
`hide_network` (to replace it with an account attribute, properly migrated).
Dropped `hide_network` like upstream.
- `app/views/directories/index.html.haml`:
Conflict because upstream redesigned that page while glitch-soc had a minor
change to support hiding the number of followers.
Ported glitch-soc's change on top of upstream's redesign.
Additional changes:
- `app/models/account_statuses_filter.rb`:
See change to `app/models/status.rb`.
Conflicts:
- `app/models/account.rb`:
Not a real conflict, just upstream getting rid of unused constants too close
to glitch-soc-specific contents.
Removed unused constants like upstream did.
- `app/models/trends.rb`:
Conflict because glitch-soc disabled email notifications for trending links.
Upstream has refactored this quite a bit and added trending posts.
Took upstream code, but disabling the extra trending stuff will come in
another commit.
- `app/views/admin/trends/links/index.html.haml`:
Conflict due to glitch-soc's theming system.
Ported upstream changes accordingly.
* Change report modal to include category selection in web UI
* Various fixes and improvements
- Change thank you text to be different based on category
- Change starting headline to be different for account and status reports
- Change toggle components to have a checkmark when checked
- Fix report dialog being cut off on small screens
- Fix thank you screen offering mute or block if already muted or blocked
- Refactor toggle components in report dialog into one component
* Change wording on final screen
* Change checkboxes to be square when multiple options are possible
Conflicts:
- `.github/workflows/build-image.yml`:
Upstream changed the workflow a bit.
Conflict comes from us pushing to ghcr while upstream pushes to dockerhub.
Ported the upstream changes while still pushing to ghcr.
Conflicts:
- `db/schema.rb`:
Conflict due to glitch-soc adding the `content_type` column on status edits
and thus having a different schema version number.
Solved by taking upstream's schema version number, as it is higher than
glitch-soc's.
* Add notifications when a reblogged status has been updated
* Change wording to say "edit" instead of "update" and add missing controls
* Replace previous update notifications with the most up-to-date one
Conflicts:
- `app/controllers/api/v1/statuses_controller.rb`:
Upstream moved things around in a place where glitch-soc had support for
an extra parameter (`content_type`).
Follow upstream but reintroduce `content_type`.
* Add editing for published statuses
* Fix change of multiple-choice boolean in poll not resetting votes
* Remove the ability to update existing media attachments for now
Conflicts:
- `app/views/settings/preferences/appearance/show.html.haml`:
Upstream renamed some helper functions that were used in a part of the
settings page which glitch-soc slightly changed the layout of.
Ported the change.
Conflicts:
- `app/lib/activitypub/activity/create.rb`:
Upstream refactored how `Create` activities are handled and how values are
extracted from `Create`d objects. This conflicted with how glitch-soc
supported the `directMessage` flag to explicitly distinguish between
limited and direct messages.
Ported glitch-soc's changes to latest upstream changes.
- `app/services/fan_out_on_write_service.rb`:
Upstream largely refactored that file and changed some of the logic.
This conflicted with glitch-soc's handling of the direct timeline and
the options to allow replies and boosts in public feeds.
Ported those glitch-soc changes on top of latest upstream changes.
- `app/services/process_mentions_service.rb`:
Upstream refactored to move mention-related ActivityPub deliveries to
`ActivityPub::DeliveryWorker`, while glitch-soc contained an extra check
to not send local-only toots to remote mentioned users.
Took upstream's version, as the check is not needed anymore, since it is
performed at the `ActivityPub::DeliveryWorker` call site already.
- `app/workers/feed_insert_worker.rb`:
Upstream added support for `update` toot events, while glitch-soc had
support for an extra timeline support, `direct`.
Ported upstream changes and extended them to the `direct` timeline.
Additional changes:
- `app/lib/activitypub/parser/status_parser.rb`:
Added code to handle the `directMessage` flag and take it into account
to compute visibility.
- `app/lib/feed_manager.rb`:
Extended upstream's support of `update` toot events to glitch-soc's
`direct` timeline.
* Add support for editing for published statuses
* Fix references to stripped-out code
* Various fixes and improvements
* Further fixes and improvements
* Fix updates being potentially sent to unauthorized recipients
* Various fixes and improvements
* Fix wrong words in test
* Fix notifying accounts that were tagged but were not in the audience
* Fix mistake
Conflicts:
- `app/controllers/accounts_controller.rb`:
Upstream introduced support for private pinned toots, but glitch-soc's query
was a bit different as it filtered out local-only toots.
Used upstream's query, while adding local-only filtering back.
- `app/controllers/activitypub/collections_controller.rb`:
Same thing with regards to local-only posts.
- `app/validators/status_pin_validator.rb`:
Not a real conflict, but the line below was different in glitch-soc due to
the configurable pinned toots limit.
Conflicts:
- `README.md`:
We have completely different contents. Kept our version.
- `package.json`:
Not a real conflict, just an upstream dependency udpated
textually too close to a glitch-soc-only dependency.
Updated dependencies like upstream.
- `streaming/index.js`:
Conflict due to code style changes on parts that were
modified in glitch-soc to handle local-only toots.
Changed style according to upstream.
Conflicts:
- `.env.production.sample`:
Copied upstream changes.
- `app/controllers/settings/identity_proofs_controller.rb`:
Minor conflict due to glitch-soc's extra “enable_keybase” setting.
Upstream removed keybase support altogether, so did the same.
- `app/controllers/well_known/keybase_proof_config_controller.rb`:
Minor conflict due to glitch-soc's extra “enable_keybase” setting.
Upstream removed keybase support altogether, so did the same.
- `lib/mastodon/statuses_cli.rb`:
Minor conflict due to an optimization that wasn't shared between
the two versions. Copied upstream's version.
Conflicts:
- `app/views/admin/tags/index.html.haml`:
Removed upstream while it had changes in glitch-soc to accomodate for the
theming system.
Additional changes to accomodate for the theming system:
- `app/views/admin/trends/links/preview_card_providers/index.html.haml`
- `app/views/admin/trends/links/index.html.haml`
- `app/views/admin/trends/tags/index.html.haml`
- `app/views/admin/tags/show.html.haml`
On notifications page, in settings, "Show" for quick filter bar and
unread notifications markers use the same string, while being placed in
the separate contexts - under different settings categories.
This commit splits the contexts, creating new strings:
- "Show filter bar" in place of "Show" for filter bar;
- "Highlight unread notifications" in place of "Show" for unread
notification markers, which are now simply called "Highlighting";
- There's also "Unread notifications" in place of "Unread notification
markers" string to accompany the changes to "Show" string under that
category.
All new strings have new IDs, which will cause previous strings to
invalidate on the next translation update and new strings to be created.
This will help Mastodon translators to know that there are changes and
improve translation in accordance to the source string update.
Conflicts:
- `app/controllers/admin/dashboard_controller.rb`:
Upstream completely redesigned the admin dashboard.
glitch-soc tracked extra features, but that list is
gone.
Followed upstram.
- `app/views/admin/dashboard/index.html.haml`
Upstream completely redesigned the admin dashboard.
glitch-soc tracked extra features, but that list is
gone.
Followed upstram.
* Fix incorrect use of old WebUI paths
PR #16171 renamed some routes but missed some occurrences.
Without #16772, this leads to unreachable routes in those cases.
* Fix floating action button being displayed on statuses and compose screen
* Add aliases for some WebUI routes that were renamed in #16171
Accounts and statuses routes need more work as they use different parameters.
* Add aliases for /statuses/* routes
* Add aliases for /accounts/* WebUI routes
Does not correctly set the “active” state on the navigation tabs but this is
a minor issue.
* Fix some routes
* Fix /accounts/:id/{media,followers,following} not loading on legacy routes
Conflicts:
- `streaming/index.js`:
Filtering code for streaming notifications has been refactored upstream, but
glitch-soc had similar code for local-only toots in the same places.
Ported upstream changes, but did not refactor local-only filtering.
Conflicts:
- `Gemfile.lock`:
Not a real conflict, upstream-updated dependency (redis) textually too
close to glitch-soc-only dependecy.
Updated redis gem like upstream did.
* Add confirmation modal when closing media edit modal with unsaved changes
* Move focal point media state to redux so it does not get erased by confirmation dialog
* Change upload modal behavior to keep it open while saving changes
Instead of closing it immediately and losing changes if they fail to save…
* Make it work with react-intl 2.9
Conflicts:
- `CONTRIBUTING.md`:
Upstream file has changed and we're quoting it.
Ported the changes.
- `README.md`:
Upstream file has changed but we have a completely different one.
Kept our version.
- `lib/mastodon/version.rb`:
Upstream has changed from `tootsuite/mastodon` to `mastodon/mastodon`,
but we're still `glitch-soc/mastodon`.
Kept our version.
- `spec/presenters/instance_presenter_spec.rb`:
Upstream has changed from `tootsuite/mastodon` to `mastodon/mastodon`,
but we're still `glitch-soc/mastodon`.
Kept our version.
* Refactor shouldUpdateScroll passing
So far, shouldUpdateScroll has been manually passed down from the very top of
the React component hierarchy even though it is a static function common to
all ScrollContainer instances, so replaced that with a custom class extending
ScrollContainer.
* Generalize “press back to close modal” to any modal and to public pages
* Fix boost confirmation modal closing media modal
Conflicts:
- `.github/ISSUE_TEMPLATE/bug_report.md`:
Removed upstream, while we had a checkbox telling people to check if the
issue was present upstream. Removed the file as well.
Fixes#15472
If the Tesseract worker fails at any point, re-try with cache settings that
overwrite the cache. It is difficult to catch more precise errors as those
are pretty opaque and do not occur when loading lang data but when trying to
detect text.
- `app/views/statuses/_simple_status.html.haml`:
Small markup change in glitch-soc, on a line that has been modified by
upstream. Ported upstream changes.
Conflicts:
- `README.md`:
Upstream updated copyright year, we don't mention it so kept our version.
- `app/controllers/admin/dashboard_controller.rb`:
Not really a conflict, upstream change (removing the spam checker) too close
to glitch-soc changes. Ported upstream changes.
- `app/models/form/admin_settings.rb`:
Same.
- `app/services/remove_status_service.rb`:
Same.
- `app/views/admin/settings/edit.html.haml`:
Same.
- `config/settings.yml`:
Same.
- `config/environments/production.rb`:
Not a real conflict, upstream added a default HTTP header, but we have
extra headers in glitch-soc.
Added the header.