Commit graph

48 commits

Author SHA1 Message Date
Matt Jankowski
e8537a3a01 Fix Performance/CollectionLiteralInLoop cop () 2023-05-04 05:33:55 +02:00
Nick Schonning
5f1a0f550b Autofix Rubocop Rails/IgnoredColumnsAssignment () 2023-03-31 15:07:22 +02:00
Nick Schonning
e6312104c7 Autofix Rubocop remaining Layout rules () 2023-02-20 06:58:28 +01:00
Nick Schonning
49f1168050 Autofix Rubocop Style/RedundantBegin () 2023-02-19 07:09:40 +09:00
Claire
592fe1a3bd Add confirmation screen when handling reports ()
* Add confirmation screen on moderation actions

* Add flash notice when a report has been processed

* Refactor tests

* Add tests
2023-01-18 16:40:09 +01:00
Claire
0687eb20da Change domain block CSV parsing to be more robust and handle more lists ()
* Change domain block CSV parsing to be more robust and handle more lists

* Add some tests

* Improve domain block import validation and reporting
2023-01-18 16:20:52 +01:00
Claire
64952cef52 Fix crash when marking statuses as sensitive while some statuses are deleted ()
* Do not offer to mark statuses as sensitive if there is no undeleted status with media attachments

* Fix crash when marking statuses as sensitive while some statuses are deleted

Fixes 

* Fix multiple strikes being created for a single report when selecting “Mark as sensitive”

* Add tests
2023-01-13 10:46:52 +01:00
lenore gilbert
498e9478c7 Support for import/export of instance-level domain blocks/allows for 4.x w/ additional fixes ()
* Allow import/export of instance-level domain blocks/allows ()

* Allow import/export of instance-level domain blocks/allows.
Fixes 

* Pacify circleci

* Address simple code review feedback

* Add headers to exported CSV

* Extract common import/export functionality to
AdminExportControllerConcern

* Add additional fields to instance-blocked domain export

* Address review feedback

* Split instance domain block/allow import/export into separate pages/controllers

* Address code review feedback

* Pacify DeepSource

* Work around Paperclip::HasAttachmentFile for Rails 6

* Fix deprecated API warning in export tests

* Remove after_commit workaround

(cherry picked from commit b8319d0578)

* Add confirmation page when importing blocked domains ()

* Move glitch-soc-specific strings to glitch-soc-specific locale files

* Add confirmation page when importing blocked domains

(cherry picked from commit 73a2e3326f)

* Fix authorization check in domain blocks controller

(cherry picked from commit 655bac2c3a)

* Fix error strings for domain blocks and email-domain blocks

Corrected issue with non-error message used for Mastodon:NotPermittedError in Domain Blocks
Corrected issue Domain Blocks using the Email Domain Blocks message on ActionContoller::ParameterMissing
Corrected issue with Email Domain Blocks using the not_permitted string from "custom emojii's"

* Ran i18n-tasks normalize to address test failure

* Removed unused admin.export_domain_blocks.not_permitted string

Removing unused string as indicated by Check i18n

* Fix tests

(cherry picked from commit 1ba41b34c1)

* Fix domain block export not exporting blocks with only media rejection

(cherry picked from commit 1686374b2f)

* Fix various issues with domain block import

- stop using Paperclip for processing domain allow/block imports
- stop leaving temporary files
- better error handling
- assume CSV files are UTF-8-encoded

(cherry picked from commit cad824d8f501b95377e4f0a957e5a00d517a1902)

Co-authored-by: Levi Bard <taktaktaktaktaktaktaktaktaktak@gmail.com>
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2022-11-17 11:05:09 +01:00
Eugen Rochko
8b98bebc17 Fix error when passing unknown filter param in REST API ()
Fix 
2022-11-14 08:06:06 +01:00
Claire
4b0e72b2b7 Fix reblogs being discarded after the reblogged status () 2022-11-04 16:31:44 +01:00
Claire
a5e1f56347 Fix inaccurate admin log entry for re-sending confirmation e-mails ()
Fixes 
2022-11-02 18:50:21 +01:00
Eugen Rochko
eedf46b243 Fix account action type validation ()
* Fix account action type validation

Fix 

* Fix 

* Fix code style issues
2022-10-30 02:44:32 +02:00
Eugen Rochko
bf1bc15575 Fix using wrong policy on status-related actions in admin UI () 2022-10-28 00:48:30 +02:00
Eugen Rochko
3e5588bf70 Add ability to view previous edits of a status in admin UI ()
* Add ability to view previous edits of a status in admin UI

* Change moderator access to posts to be controlled by a separate policy
2022-10-26 13:42:29 +02:00
Eugen Rochko
a0bb5674d9 Add admin API for managing canonical e-mail blocks () 2022-08-28 03:31:54 +02:00
Eugen Rochko
f9ebc320ed Add audit log entries for user roles ()
* Refactor audit log schema

* Add audit log entries for user roles
2022-08-25 20:39:40 +02:00
Eugen Rochko
0eb2db6b52 Add administrative webhooks ()
* Add administrative webhooks

* Fix error when webhook is deleted before delivery worker runs
2022-06-09 21:57:36 +02:00
Eugen Rochko
4bb50e32e4 Fix being able to report otherwise inaccessible statuses () 2022-05-26 22:08:02 +02:00
Claire
2baba513d9 Fix warning an account outside of a report closing all reports for that account ()
* Fix warning an account outside of a report closing all reports for that account

* Make it clear what actions solve other reports

* Revert "Make it clear what actions solve other reports"

This reverts commit ad006de821f72e75480701298d13f0945b509059.
2022-05-23 20:38:29 +02:00
Claire
0e0b96b8e7 Fix account warnings not being recorded in audit log ()
* Fix account warnings not being recorded in audit log

Fixes 

* Only record warnings if they are not associated to another action
2022-05-06 21:40:20 +02:00
Eugen Rochko
a44646806f Fix statuses not being referenced in strike when category is spam () 2022-03-15 04:11:13 +01:00
Eugen Rochko
cd06775130 Fix moderator account leak in status edit history () 2022-03-12 08:23:03 +01:00
Eugen Rochko
b25b703cce Add ability to mark statuses as sensitive from reports in admin UI ()
* Add ability to mark statuses as sensitive from reports in admin UI

* Allow mark as sensitive action on statuses with preview cards
2022-03-01 22:20:29 +01:00
Eugen Rochko
82f8d19424 Add appeals ()
* Add appeals

* Add ability to reject appeals and ability to browse pending appeals in admin UI

* Add strikes to account page in settings

* Various fixes and improvements

- Add separate notification setting for appeals, separate from reports
- Fix style of links in report/strike header
- Change approving an appeal to not restore statuses (due to federation complexities)
- Change style of successfully appealed strikes on account settings page
- Change account settings page to only show unappealed or recently appealed strikes

* Change appealed_at to overruled_at

* Fix missing method error
2022-02-14 21:27:53 +01:00
Jeong Arm
0ad6f982af Fix admin statuses page order with media () 2022-02-14 16:07:04 +01:00
Eugen Rochko
9b42aad433 Change actions in reports to require only one click () 2022-02-11 21:51:57 +01:00
Claire
33ea1c9008 Fix Sidekiq warnings about JSON serialization ()
* Fix Sidekiq warnings about JSON serialization

This occurs on every symbol argument we pass, and every symbol key in hashes,
because Sidekiq expects strings instead.

See https://github.com/mperham/sidekiq/pull/5071

We do not need to change how workers parse their arguments because this has
not changed and we were already converting to symbols adequately or using
`with_indifferent_access`.

* Set Sidekiq to raise on unsafe arguments in test mode

In order to more easily catch issues that would produce warnings in production
code.
2022-01-28 00:43:56 +01:00
Eugen Rochko
2fb76550a9 Add notifications for statuses deleted by moderators () 2022-01-17 09:41:33 +01:00
Claire
d8da1689c1 Add ability for admins to delete canonical email blocks ()
* Add admin option to remove canonical email blocks from a deleted account

* Add tootctl canonical_email_blocks to inspect and remove canonical email blocks
2021-12-17 23:02:14 +01:00
Claire
44c8b6ff2f Add ability to purge undeliverable domains from admin interface ()
* Add ability to purge undeliverable domains from admin interface

* Add tests
2021-12-17 23:01:21 +01:00
Eugen Rochko
7bf5924339 Add batch suspend for accounts in admin UI () 2021-12-05 21:48:39 +01:00
Claire
7cc72ace9f Fix 404 error when filtering admin action logs by non-existent target account ()
Currently, there is no way for an admin to delete an account record. However,
should that happen in the future, or should an admin mistype an account id,
`/admin/action_logs?target_account_id=<non-existent-account-id>` currently
returns a 404 instead of an empty list.

With this commit, the aforementioned page returns a correct list instead
(potentially non-empty if the account has been manually deleted)
2021-10-14 20:53:11 +02:00
Takeshi Umeda
c958bc7297 Add management of delivery availability in Federation settings ()
* Add management of delivery availavility in Federation settings

* fix translate

* Remove useless object creation

* Fix DeepSource issue

* Add shortcut for all

* Fix DeepSource(skipcq)

* Change 'remove' to 'clear'

* Fix style

* Change class method name (exhausted_deliveries_key_by)
2021-05-05 23:39:02 +02:00
Eugen Rochko
38be9af436 Add support for reversible suspensions through ActivityPub () 2020-11-08 00:28:39 +01:00
Takeshi Umeda
385c2eac6f Add account sensitized ()
* Add account sensitized

* Fix i18n normalize

* Fix description and spec

* Fix spec

* Fix wording
2020-11-04 20:45:01 +01:00
Eugen Rochko
e514304a76 Change account suspensions to be reversible by default () 2020-09-15 14:37:58 +02:00
Eugen Rochko
face3be227 Fix reported statuses not being included in warning e-mail () 2020-09-13 12:52:17 +02:00
Eugen Rochko
6932e0e2af Add ability to filter audit log in admin UI () 2020-04-03 13:06:34 +02:00
ThibG
977b7ef6d0 Fix reported accounts not being whitelisted when resolving a spamcheck report () 2020-03-21 03:08:09 +01:00
Eugen Rochko
d99a6145de Remove auto-silence behaviour from spam check ()
Fix 
2019-10-09 07:11:23 +02:00
Eugen Rochko
4291b74031 Change deletes to preserve soft-deleted statuses in unresolved reports ()
Change all account actions except "none" to resolve all unresolved reports

Refactor `SuspendAccountService` to be more readable
2019-09-11 16:32:44 +02:00
Eugen Rochko
9959cdc79f Add option to include reported statuses in warning e-mail () 2019-08-23 22:37:23 +02:00
Eugen Rochko
ce5f0247f6 Fix option to send e-mail notification about account action always being true () 2019-07-06 13:54:32 +02:00
Eugen Rochko
2e0d617b8b Add moderation warnings ()
* Add moderation warnings

Replace individual routes for disabling, silencing, and suspending
a user, as well as the report update route, with a unified account
action controller that allows you to select an action (none,
disable, silence, suspend) as well as whether it should generate an
e-mail notification with optional custom text. That notification,
with the optional custom text, is saved as a warning.

Additionally, there are warning presets you can configure to save
time when performing the above.

* Use Account#local_username_and_domain
2018-12-22 20:02:09 +01:00
Yamagishi Kazutoshi
e83e74f36d Update dependencies for Ruby (2018-04-23) ()
* Update annotate to version 2.7.3

* Update aws-sdk-s3 to version 1.9.2

* Update browser to version 2.5.3

* Update capistrano to version 3.10.2

* Update domain_name to version 0.5.20180417

* Update http to version 3.2.0

* Update lograge to version 0.10.0

* Update oj to version 3.5.1

* Update parallel_tests to version 2.21.3

* Update puma to version 3.11.4

* Update rubocop to version 0.55.0

* Update scss_lint to version 0.57.0

* Update simplecov to version 0.16.1

* Update tty-command to version 0.8.0

* Update tty-prompt to version 0.16.0

* Update pkg-config to version 1.3.0

* Update fog-local to version 0.5.0

* Update fog-openstack to version 0.1.25

* Update devise-two-factor to version 3.0.3

* bundle update
2018-04-23 11:29:17 +02:00
Emelia Smith
765bfd0cf5 Feature: Allow staff to change user emails ()
* Admin: Show unconfirmed email address on account page

* Admin: Allow staff to change user email addresses

* ActionLog: On change_email, log current email address and new unconfirmed email address
2018-04-10 09:16:06 +02:00
Yamagishi Kazutoshi
49b76b3025 Change belongs_to_required_by_default to true () 2018-01-19 20:56:47 +01:00
Eugen Rochko
efc97d404c Add logging of admin actions ()
* Add logging of admin actions

* Update brakeman whitelist

* Log creates, updates and destroys with history of changes

* i18n: Update Polish translation ()

Signed-off-by: Marcin Mikołajczak <me@m4sk.in>

* Split admin navigation into moderation and administration

* Redesign audit log page

* 🇵🇱 ()

* Add color coding to audit log

* Change dismiss->resolve, log all outcomes of report as resolve

* Update terminology (e-mail blacklist) ()

* Update terminology (e-mail blacklist)

imho looks better

* Update en.yml

* Fix code style issues

* i18n-tasks normalize
2017-11-24 02:05:53 +01:00