Commit graph

193 commits

Author SHA1 Message Date
Claire
1a33d348d0 Add sidekiq_unique_jobs:delete_all_locks task and disable sidekiq-unique-jobs UI by default () 2024-02-14 13:17:45 +01:00
Claire
1ab050eb52 Change PostgreSQL version check to check for PostgreSQL 10+ 2024-01-24 15:31:13 +01:00
Claire
890e334703
Add migration tests for negative settings () 2023-09-21 12:33:30 +02:00
jsgoldstein
4d9186a48c
Add search tests () 2023-09-08 16:17:55 +02:00
Claire
cddef4c485
Fix language settings for users having selected the kmr language () 2023-09-04 17:56:31 +02:00
Claire
16681e0f20
Add admin notifications for new Mastodon versions () 2023-09-01 17:47:07 +02:00
Claire
3a8370e1f4
Fix repo:changelog task matching strings that are not Pull Request identifiers () 2023-08-14 18:47:43 +02:00
Claire
6b896b20cc
Add primary key to preview_cards_statuses join table (includes deduplication migration) () 2023-08-03 11:12:52 +02:00
Matt Jankowski
30f5ec7303
Rubocop fix: Perfomance/UnfreezeString () 2023-07-28 23:11:05 +02:00
Renaud Chaput
4d1b67f664
Add end-to-end (system) tests () 2023-07-28 23:09:49 +02:00
Matt Jankowski
b8b2470cf8
Fix Style/SlicingWithRange cop () 2023-07-12 10:03:06 +02:00
Nick Schonning
1d557305d2
Enable Rubocop Style/FrozenStringLiteralComment () 2023-07-12 09:47:08 +02:00
Claire
71d44949bf
Fix branding:generate_app_icons failing because of disallowed ICO coder () 2023-07-07 18:10:00 +02:00
Nick Schonning
c66250abf1
Autofix Rubocop Regex Style rules ()
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-06-06 14:50:51 +02:00
Claire
1d588d58f1
Improve various queries against account domains () 2023-05-25 09:27:16 +02:00
Nick Schonning
99e2e9b81f
Fix minor typos in comments and spec names () 2023-05-19 17:13:29 +02:00
Matt Jankowski
60ac9e8634
Fix Rails/SquishedSQLHeredocs cop () 2023-04-30 06:43:50 +02:00
Eugen Rochko
a9b5598c97
Change user settings to be stored in a more optimal way ()
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-03-30 14:44:00 +02:00
Claire
0d70deee53
Add migration tests for user mail notification settings () 2023-03-27 17:54:42 +02:00
Nick Schonning
25d36b6edd
Autofix Rubocop Style/RedundantArgument () 2023-03-16 10:34:00 +09:00
Nick Schonning
e762a14c0a
Enable Rubocop Performance/DeleteSuffix () 2023-03-13 00:03:07 +01:00
Nick Schonning
8fd3fc404d
Autofix Rubocop Rails/RootPathnameMethods () 2023-02-22 09:57:15 +09:00
Nick Schonning
59c8d43d94
Autofix Rubocop Style/RescueStandardError () 2023-02-20 11:01:20 +01:00
Nick Schonning
717683d1c3
Autofix Rubocop remaining Layout rules () 2023-02-20 06:58:28 +01:00
Nick Schonning
bf785df9fe
Audofix Rubocop Style/WordArray () 2023-02-20 06:14:10 +01:00
Nick Schonning
81ad6c2e39
Autofix Rubocop Style/StringLiterals () 2023-02-19 07:38:14 +09:00
Nick Schonning
2177daeae9
Autofix Rubocop Style/RedundantBegin () 2023-02-19 07:09:40 +09:00
Nick Schonning
d65b2c1924
Apply Rubocop Style/RedundantConstantBase () 2023-02-18 04:30:03 +01:00
Nick Schonning
669f6d2c0a
Run rubocop formatting except line length () 2023-02-18 06:56:20 +09:00
Nick Schonning
11557d1c5a
Apply Rubocop Rails/RootPublicPath () 2023-02-08 10:38:07 +01:00
Nick Schonning
f68bb52556
Apply Rubocop Style/NegatedIfElseCondition () 2023-02-08 07:07:36 +01:00
JT Olio
a5fd2fe1cb
Add Storj DCS to cloud object storage options ()
* Add Storj DCS to cloud object storage options

More explanation here: https://forum.storj.io/t/object-storage-provider-for-mastodon-instance/11464/37

* more help for which command to use
2023-01-18 17:47:49 +01:00
Claire
a3a5aa1597
Fix incorrect env file generation in mastodon:setup ()
Regression from 
2023-01-13 10:17:07 +01:00
Claire
a65f86ae55
Fix $ not being escaped in .env.production file generated by mastodon:setup ()
* Fix `$` not being escaped in `.env.production` file generated by `mastodon:setup`

* Improve robustness of dotenv escaping
2023-01-11 21:53:11 +01:00
Dan Peterson
3d3429243f
Fix default S3_HOSTNAME used in mastodon:setup ()
s3-us-east-1.amazonaws.com does not exist.

Co-authored-by: Effy Elden <effy@effy.space>
2022-12-15 16:38:51 +01:00
Claire
66a70ebb6e
Fix pre-4.0 admin action logs ()
* Fix BackfillAdminActionLogs post-deployment migration

* Improve migration tests

* Backfill admin action logs again
2022-12-06 23:38:03 +01:00
Arthur Isac
1af482659d
Copied Spaces support from packer .rake () 2022-11-13 20:58:40 +01:00
Yamagishi Kazutoshi
19a8563905
Fix ENV () 2022-11-11 01:33:32 +01:00
F
9feba112a7
Make enable_starttls configurable by envvars ()
ENABLE_STARTTLS is designed to replace ENABLE_STARTTLS_AUTO by accepting
three values: 'auto' (the default), 'always', and 'never'. If
ENABLE_STARTTLS isn't provided, we fall back to ENABLE_STARTTLS_AUTO. In
this way, this change should be fully backwards compatible.

Resolves 
2022-11-10 21:06:21 +01:00
Eugen Rochko
e02812d5b6
Add assets from Twemoji 14.0 () 2022-11-04 16:08:41 +01:00
Claire
1dca08b76f
Fix admin action logs page ()
* Add tests

* Fix crash when trying to display orphaned action logs

* Add migration for older admin action logs
2022-11-03 16:06:42 +01:00
Claire
e91418436a
Fix mastodon:setup not setting the admin's role properly ()
* Fix mastodon:setup not setting the admin's role properly

* Set contact username when creating admin account in mastodon:setup
2022-11-02 16:35:21 +01:00
luzpaz
4aa3b9bd01
Fix typos ()
* Fix typos

Found via `codespell -q 3 -S ./CHANGELOG.md,./AUTHORS.md,./config/locales,./app/javascript/mastodon/locales -L ba,keypair,medias,pixelx,ro`

* Follow-up typo fix
2022-08-28 17:44:34 +02:00
Claire
02851848e9
Revamp post filtering system ()
* 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.
2022-06-28 09:42:13 +02:00
Eugen Rochko
fe2d6fe105
Fix wrong aspect ratio of logo in icons () 2022-06-11 20:32:02 +02:00
Eugen Rochko
45aa5781ce
Change brand color and logotypes ()
- Add rake task for generating Apple/Android icons and favicons from SVG
- Add rake task for generating PNG icons and logos for e-mails from SVG
- Remove obsolete Microsoft icons and configuration
- Remove PWA shortcut icons
2022-06-09 22:25:23 +02:00
Claire
f714e24ff1
Fix redis configuration not being changed by mastodon:setup ()
Fixes 
2022-05-09 23:19:11 +02:00
Gaelan Steele
74e20f22cd
Fix light-mode emoji borders. () 2022-04-29 19:23:03 +02:00
Claire
33cd80d69c
Fix instance actor being incorrectly created when running migrations ()
* Add migration test about instance actor key

* Fix old migration

* Work around incorrect database state
2022-04-26 21:22:09 +02:00
Eugen Rochko
75e33fd08f
Fix null values being included in some indexes ()
* Fix null values being included in some indexes

* Update lib/mastodon/migration_helpers.rb

Co-authored-by: Claire <claire.github-309c@sitedethib.com>

* Add documentation link to corruption error message

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2022-03-12 08:12:57 +01:00