Conflicts:
- `.rubocop_todo.yml`:
Upstream regenerated this file, glitch-soc had a specific ignore.
- `README.md`:
Upstream updated its README, but glitch-soc has a completely different one.
Kept glitch-soc's README
* Cleanup unused portions of statuses/status partial (#26045)
* Wrong count in response when removing favourite/reblog (#24365)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
* Paperclip: add support for Azure blob storage (#23607)
* Fix a missing redirection on getting-started in multi column mode (#26070)
* Fix haml-lint Rubocop `Style/NumericPredicate` cop (#26040)
* Change casing for 'Server Settings' string (#26011)
* Move localized subject mailer shared example to separate file (#25889)
* Fix haml-lint Rubocop `Lint/UnusedBlockArguments` cop (#26039)
* Fix `Lint/Void` cop (#25922)
* Add stricter protocol fields validation for accounts (#25937)
* Improve the bug report templates (#25621)
* Fix the crossorigin attribute (#26096)
* Fix replica being used even if not explicitly defined (#26074)
* Clean up unused application records (#24871)
* Change thread view to scroll to the selected post rather than the post being replied to (#24685)
* Change default KeyGenerator digest to SHA1 to fix cookies in rolling upgrades (#26023)
* change focus ui for keyboard only input (#25935)
* Use username as display name for suspended users or users with blank display names (#25276)
* Fix CSP headers being unintendedly wide (#26105)
* Fix linting issue (#26106)
* Replace 'favourite' by 'favorite' for American English (#26009)
* Override default Action Mailer `preview_path` (#26110)
* Favourits -> Favorites (#26109)
* Bump version to v4.1.5 (#26108)
* Fix incorrect connect timeout in outgoing requests (#26116)
* Fix missing translation strings for importing lists (#26120)
* Use valid email address for first account (#26114)
* Update haml-lint 0.49.1 (#26118)
* Fix focus and hover styles in web UI (#26125)
* Remove back button from bookmarks, favourites and lists screens in web UI (#26126)
* Remove 16:9 cropping from web UI (#26132)
* Change design of link previews in web UI (#26136)
* change poll form element colors to fit with the rest of the ui (#26139)
* Add `lang` attribute to trending links (#26111)
* Update dependency rdf-normalize to v0.6.1 (#26130)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Update dependency brakeman to v6.0.1 (#26141)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Update dependency postcss to v8.4.27 (#26144)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Fix unexpected redirection to /explore after sign-in (#26143)
* Update dependency aws-sdk-s3 to v1.131.0 (#26145)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Add report.updated webhook (#24211)
* Fix LinkCrawlWorker crashing on `null` `created_at` (#26151)
* Fix UI Overlap with the loupe icon in the Explore Tab (#26113)
* Fix missing border on error screen in light theme in web UI (#26152)
* Fix missing action label on sensitive videos and embeds in web UI (#26135)
* Fix `lang` for UI texts in link preview (#26149)
* Add published date and author to news on the explore screen in web UI (#26155)
* Coverage for `Auth::OmniauthCallbacks` controller (#26147)
* fix poll input active style (#26162)
* Add `published_at` attribute to preview cards (#26153)
* Update dependency sass to v1.64.1 (#26146)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Revert poll colors to green outside of compose form (#26164)
* Preserve translation on status re-import (#26168)
* Fix missing GIF badge in account gallery (#26166)
* Reformat large text arg in `FetchLinkCardService` spec (#26183)
* Ignore long line in regex initializer (#26182)
* Reformat large key values in service specs (#26181)
* Reformat large hash in `ContextHelper` module (#26180)
* Use heredoc SQL blocks in `AddFromAccountIdToNotifications` migration (#26178)
* Extract private methods in `StatusCacheHydrator` (#26177)
* New Crowdin Translations (automated) (#26072)
Co-authored-by: GitHub Actions <noreply@github.com>
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
* Remove the `sr` locale override .rb files (#25927)
* Use correct naming on controller concern specs (#26197)
* Migrate to request specs in `/api/v2/filters` (#25721)
* Fix wrong filters sometimes applying in streaming (#26159)
* Refactor streaming's filtering logic & improve documentation (#26213)
* Add role badges to the WebUI (#25649)
* Change interaction modal in web UI (#26075)
Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
* Fix crash when processing Flag activity with no status (#26189)
* Storage: add :azure to remaining callers (#26080)
* Remove queued_at value from pubsub payloads (#26173)
* Fix emoji picker button scrolling with textarea content in single-column view (#25304)
* Change the wording of the dismissable explore prompt (#25917)
* Update dependency haml_lint to v0.49.2 (#26222)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Fix: Streaming server memory leak in HTTP EventSource cleanup (#26228)
* Swap debug statements in streaming server (#26231)
* Fix missing return values in streaming (#26233)
* [Glitch] Wrong count in response when removing favourite/reblog
Port 4c18928a93 to glitch-soc
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
* [Glitch] Fix a missing redirection on getting-started in multi column mode
Port 586b1c9dca to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
* [Glitch] Change thread view to scroll to the selected post rather than the post being replied to
Port e4ea80d808 to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
* [Glitch] Replace 'favourite' by 'favorite' for American English
Port 217ef7f2af to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
* [Glitch] change poll form element colors to fit with the rest of the ui
Port 80809ef33e to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
* [Glitch] Add `lang` attribute to trending links
Port 76fce34ebb to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
* [Glitch] Fix UI Overlap with the loupe icon in the Explore Tab
Port 9a567ec1d1 to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
* [Glitch] Fix missing border on error screen in light theme in web UI
Port d1a9f601c7 to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
* [Glitch] Fix missing action label on sensitive videos and embeds in web UI
Port 714a20697f to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
* [Glitch] fix poll input active style
Port 49d2e8979f to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
* [Glitch] Revert poll colors to green outside of compose form
Port ce1f35d7e2 to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
* [Glitch] Add published date and author to news on the explore screen in web UI
Port f826a95f6e to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
* [Glitch] Preserve translation on status re-import
Port 6781dc6462 to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
* [Glitch] Fix missing GIF badge in account gallery
Port a4b69bec2e to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
* Fix interaction modal being broken because of glitch-soc's theming system
* [Glitch] Change interaction modal in web UI
Port b4e739ff0f to glitch-soc
Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
* [Glitch] Change the wording of the dismissable explore prompt
Port a4ec187a20 to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
* Fix CSP tests in glitch-soc
---------
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
Co-authored-by: Matt Jankowski <matt@jankowski.online>
Co-authored-by: Christian Schmidt <github@chsc.dk>
Co-authored-by: Misty De Méo <mistydemeo@gmail.com>
Co-authored-by: Stanislas Signoud <signez@stanisoft.net>
Co-authored-by: gunchleoc <fios@foramnagaidhlig.net>
Co-authored-by: Renaud Chaput <renchap@gmail.com>
Co-authored-by: Trevor Wolf <teeerevor@gmail.com>
Co-authored-by: наб <nabijaczleweli@nabijaczleweli.xyz>
Co-authored-by: mogaminsk <mgmnjp@icloud.com>
Co-authored-by: Nick Schonning <nschonni@gmail.com>
Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Vyr Cossont <VyrCossont@users.noreply.github.com>
Co-authored-by: gol-cha <info@mevo.xyz>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <noreply@github.com>
Co-authored-by: Daniel M Brasil <danielmbrasil@protonmail.com>
Co-authored-by: Emelia Smith <ThisIsMissEm@users.noreply.github.com>
* [Glitch] Change search pop-out in web UI
Port 2b11376411 to glitch-soc
Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
* [Glitch] Change logo version in header based on screen size in web UI
Port remaining change from 6028d047b9 to glitch-soc
Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
* Rename `hashtags.js` to `hashtags.ts` and apply code style changes
Apply changes from e38b391940 (rename to ts), 51b83ed195 (code style change), 73b64b8917 (additional code style change)
Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
* Remove strings for old search
Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
---------
Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
Conflicts:
- `app/controllers/authorize_interactions_controller.rb`:
Small conflict due to our theming system.
- `streaming/index.js`:
Upstream refactored part of the streaming server.
We had some extra logic for handling local-only posts.
Applied the refactor.
Conflicts:
- `db/schema.rb`:
Upstream regenerated the schema file using Rails 7, the conflicts are
caused by our extra columns.
Applied upstream's changes, but keeping our extra columns.
Conflicts:
- `app/views/layouts/application.html.haml`:
Upstream removed the `crossorigin` attribute from `preload_pack_asset`.
Glitch-soc had different calls to `preload_pack_asset` because of the
different theming system.
Ported the change.
- `app/views/layouts/embedded.html.haml`:
Upstream removed the `crossorigin` attribute from `preload_pack_asset`.
Glitch-soc had different calls to `preload_pack_asset` because of the
different theming system.
Ported the change.
Conflicts:
- `app/models/account.rb`:
Upstream added new validations close to lines on which glitch-soc had
modified validations to handle custom limits set through environment
variables.
Ported upstream changes.
- `config/initializers/content_security_policy.rb`:
Upstream added `AZURE_ALIAS_HOST`. Glitch-soc's version of the file is
completely different.
Added `AZURE_ALIAS_HOST` to our version of the file.
When "Show local-only toots in All" is enabled, the column never indicated there are new toots, since `hasUnread` was always false.
Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
Conflicts:
- `.github/workflows/build-image.yml`:
Upstream entirely refactored this, while we changed the docker repository
to upload to and disabled the “latest” tag.
Applied the repository change to `.github/workflows/build-*.yml`, as well
as disabling native ARMv64 builds.
- `README.md`:
We have a completely different README.
Kept ours.
- `app/views/admin/settings/shared/_links.html.haml`:
Upstream refactored, we had an extra item.
Refactored as upstream did.
- `spec/controllers/api/v1/timelines/public_controller_spec.rb`:
Upstream deleted this file, to be replaced by a request spec at
`spec/requests/api/v1/timelines/public_spec.rb`.
We had an extra bit about enabling the public timelines because we have
different defaults than upstream.
Moved that bit to `spec/requests/api/v1/timelines/public_spec.rb`
Conflicts:
- `app/views/admin/settings/appearance/show.html.haml`:
Upstream enforced an uniform code style around lambdas, and glitch-soc
had a different lambda due to its theming system.
Applied the same code style changes.
- `app/views/settings/preferences/appearance/show.html.haml`:
Upstream enforced an uniform code style around lambdas, and glitch-soc
removed some code just after the lambda.
Applied the same code style changes.
When slow mode is enabled, clicking a notification filter when a new notification was received will render an empty column.
This change has been missed in e91bf82083
Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
Conflicts:
- `app/javascript/styles/fonts/roboto-mono.scss`:
Upstream updated the linter, which changed a few linter rules.
Some of those changed lines are different in glitch-soc because we use
different paths for the assets.
Applied the same style rules on our version of the file.
- `app/javascript/styles/fonts/roboto.scss`:
Upstream updated the linter, which changed a few linter rules.
Some of those changed lines are different in glitch-soc because we use
different paths for the assets.
Applied the same style rules on our version of the file.
Conflicts:
- app/controllers/application_controller.rb:
Upstream added an `include` where we had an extra `include` due to
glitch-soc's theming system.
Added upstream's new `include`.
Conflicts:
- `db/migrate/20180831171112_create_bookmarks.rb`:
Upstream ran a lint fix on this file, but this file is different in
glitch-soc because the feature was added much earlier.
Ran the lint fix on our own version of the file.
Conflicts:
- `app/serializers/initial_state_serializer.rb`:
Upstream renamed an initial state parameter, where we had extra ones.
Renamed as upstream did.
- `app/workers/feed_insert_worker.rb`:
Upstream wrapped database query in a block, we had extra database
queries because of the DM timeline.
Moved everything in the block.
Follow-up to 3a91f535faf654ac2abf2c0232a7c1bd4216a8d7
Missed these while porting changes.
Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
When reacting with different custom emojis with the same shortcode, it would count as an already present reaction and processed, bypassing the limit.
Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
Instead of processing tag and then look for the custom emoji, let the processing return an emoji.
Add `name` to `process_emoji_tags` to check if it matches the shortcode.
Removed `process_single_emoji` and added its code to `process_emoji_tags`
Removed arg from `maybe_process_misskey_reaction`.
Ideally, `original_status` should be a global object, but I wanted to modify vanilla code as little as possible.
Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
Handling remote reactions with foreign emojis would require an extensive rewrite of vanilla code, so instead prevent reactions with remote emojis when the status is not local.
Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
When an account and a remote account reacted with a custom emoji with the same shortcode, the `me` attribute was also true for the remote reaction, despite being a different emoji.
This query should probably be optimised, but it works.
Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
Right now Misskey users were able to react, but couldn't remove their reactions.
delegates `Undo` for a `Like` to `undo_emoji_react` when there is no favourite found.
(Misskey `Like` activities can still create a fav when the emoji tag is invalid, I don't see the point though)
Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
Processing all custom emojis is neither wise nor necessary as both `Like` and `EmojiReact` only expect a single custom emoji
Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
These occur when an account tries to react with disabled custom emojis.
In both `EmojiReact` and `Like? activities, the activity is discarded.
Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
* 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
* Add regex filter back to firehose
The regex filter will apply to all tabs and not be automatically applied when pinned.
Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
* Keep regex when pinned
Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
---------
Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
* Fix warnings about missing dependency in hooks
Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
* Add `allowLocalOnly` to timelineId
Without this local-only toots will never be loaded.
feedType is checked to be public to not show local-only toots in the "Remote" tab.
Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
---------
Signed-off-by: Plastikmensch <plastikmensch@users.noreply.github.com>
Conflicts:
- `app/models/user_settings.rb`:
Upstream added a constraint on a setting textually close
to glitch-soc-only settings.
Applied upstream's change.
- `lib/sanitize_ext/sanitize_config.rb`:
Upstream added support for the `translate` attribute on a few elements,
where glitch-soc had a different set of allowed elements and attributes.
Extended glitch-soc's allowed attributes with `translate` as upstream did.
- `spec/validators/status_length_validator_spec.rb`:
Upstream refactored to use RSpec's `instance_double` instead of `double`,
but glitch-soc had changes to tests due to configurable max toot chars.
Applied upstream's changes while keeping tests against configurable max
toot chars.
Conflicts:
- `app/views/layouts/application.html.haml`:
Conflicts due to glitch-soc's theming system.
Added `crossorigin: 'anonymous'` like upstream did, to the glitch-soc-specific code.
- `app/views/layouts/embedded.html.haml`:
Conflicts due to glitch-soc's theming system.
Added `crossorigin: 'anonymous'` like upstream did, to the glitch-soc-specific code.
Conflicts:
- `app/views/settings/profiles/show.html.haml`:
Upstream redesigned the settings page, where glitch-soc had changes because of
the ability to set some custom limits.
Went with upstream's design while keeping our custom limits.
- `yarn.lock`:
Upstream updated dependencies textually close to a glitch-soc-only dependency.
Updated the dependnencies as well.
Conflicts:
- `app/views/settings/preferences/appearance/show.html.haml`:
Upstream fixed a translation bug in the theme selector that is absent from
glitch-soc due to our different theming system.
Discarded upstream changes.
- `streaming/index.js`:
Upstream changed the signature of a function to change its return type.
This is not a real conflict, the conflict being caused by an extra
argument in glitch-soc's code.
Applied upstream's change while keeping our extra argument.
Conflicts:
- `app/javascript/mastodon/load_locale.js`:
The file moved to `app/javascript/mastodon/locales/load_locale.ts`.
Ported the changes there and deleted `app/javascript/mastodon/load_locale.js`.
- `app/javascript/mastodon/locales/index.js`:
The file moved to `app/javascript/mastodon/locales/index.ts`.
Did *not* port the changes as I want to try something a bit different.
Conflicts:
- `package.json`:
Upstream changed various script definitions in lines surrounding the one for
`i18n:extract`, which had glitch-soc-specific changes.
Updated the scripts as upstream did, while keeping our changes to
`i18n:extract`.
Conflicts:
- `.github/dependabot.yml`:
Updated upstream, but we've deleted it.
Keep it deleted.
- `app/javascript/mastodon/locales/index.js`:
Reworked upstream, but the code was mostly in
`app/javascript/locales/index.js` in glitch-soc.
Updated that file accordingly.
- `app/javascript/packs/public.jsx`:
Not a real conflict, but different imports in
glitch-soc and upstream.
- `app/views/layouts/application.html.haml`:
Conflict due to locales loading and theme system
discrepancies.
Updated in our own way.
- `app/views/layouts/embedded.html.haml`:
Conflict due to locales loading and theme system
discrepancies.
Updated in our own way.
- `config/webpack/generateLocalePacks.js`:
Deleted upstream, as upstream now directly loads the
JSON at runtime.
Deleted as well, will switch to runtime loading in
an upcoming commit.
- `config/webpack/shared.js`:
Not a real conflict, but different imports in
glitch-soc and upstream.
- `config/webpack/translationRunner.js`:
Mostly deleted upstream, to be replaced with `formatjs-formatter.js`
instead.
Moved the glitch-soc logic there and deleted the file.