Commit graph

211 commits

Author SHA1 Message Date
Eugen Rochko
94e5e834f2
Improve performance of list of blocked domains by caching counts () 2019-03-26 00:36:35 +01:00
Eugen Rochko
555c4e11ba
Add validations to admin settings ()
* Add validations to admin settings

- Validate correct HTML markup
- Validate presence of contact username & e-mail
- Validate that all usernames are valid
- Validate that enums have expected values

* Fix code style issue

* Fix tests
2019-03-23 14:07:04 +01:00
Eugen Rochko
ff565524aa
Fix maxed-out invites not showing up as expired in UI () 2019-03-15 05:35:17 +01:00
Eugen Rochko
51e154f5e8
Admission-based registrations mode ()
Fix 
Fix 
2019-03-14 05:28:30 +01:00
Eugen Rochko
6e3936aa6f
Improve invites list with click-to-copy inputs () 2019-03-14 05:25:49 +01:00
ThibG
359d26a053 Fix “reset” button of instance filter switching to custom emoji admin panel () 2019-02-19 14:01:22 +01:00
ThibG
3a8cb6c737 Add quick link from admin account view to block/unblock instance () 2019-02-18 14:59:46 +01:00
ThibG
6840a77711 Add domain search/filter to the "Federation" (/admin/instances) page () 2019-02-18 14:59:19 +01:00
ThibG
2f7f6af26a Hide domain filter in admin page when “local” filter is active ()
Since the “domain” field is ignored in this case.
2019-02-18 13:37:13 +01:00
ThibG
1ac9a3f4bb Hide misleading “You will be sent a confirmation e-mail” hint from admin view ()
Thanks @wryk for noticing this issue.
2019-02-05 15:11:35 +01:00
Eugen Rochko
a269ffdfa5
Change "federation" admin UI link to point to "limited" domains () 2019-01-08 17:41:27 +01:00
Eugen Rochko
1c6588accc
Redesign admin instances area () 2019-01-08 13:39:49 +01:00
ThibG
6f9a7bd02c Add quick links to the admin interface in the WebUI ()
* Allow to show a specific status in the admin interface

* Let the front-end know the current account is a moderator

* Add admin links to status and account menus

If the current logged-in user is an admin, add quick links to the admin
interface in account and toot dropdown menu. Suggestion by @ashkitten

* Use @statuses.first instead of @statuses[0]
2019-01-04 13:10:43 +01:00
Eugen Rochko
c39c112ced
Fix admin UI view of local followers ()
Regression from 
2019-01-04 11:28:14 +01:00
Eugen Rochko
6e49907ecf
Improve admin UI for account view () 2018-12-28 03:38:41 +01:00
chr v1.x
c3465f699e Add local followers page to admin account UI ()
* Add local followers page to admin account UI

For moderation, I often find myself wondering who, locally, is following
a remote user. Currently, to see this, I have to go back to the web UI,
paste in their full handle, click their profile, and go to the
"Followers" tab (plus, this information is incidental, and if mastodon
ever decides to resolve all of the follower information, there will be
no place local followers are shown). This PR adds a new page which is
accessible via the "following" count on the admin's account view
page, which shows the local followers. (It has filter parameters for
account location to indicate that only local followers are shown, and
leave room for expansion if mastodon ever decides to store the entire
remote follow list).

* Normalize en.yml
2018-12-27 13:15:39 +01:00
Eugen Rochko
3c033c4352
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
ThibG
11a91592aa Restore profile links in /admin/accounts ()
Fixes 
2018-12-14 01:47:50 +01:00
ThibG
cf6ee4ff24 Add admin ability to remove an user's header image ()
* Fix markup in admin/accounts/:id table for avatar

* Add admin ability to remove an user's header image
2018-12-11 19:28:03 +01:00
ThibG
720daa8143 Add instance-wide setting to disable profile directory ()
* Add instance-wide setting to disable profile directory

Fixes 

When the profile directory is disabled:
- The “discoverable” setting is hidden from users
- The “profile directory” link is not shown on public pages
- /explore returns 404

* Move Setting.profile_directory check to a before_action filter
2018-12-11 19:18:29 +01:00
Eugen Rochko
73be8f38c1
Add profile directory ()
Fix 
2018-12-06 17:36:11 +01:00
Eugen Rochko
73faadad28
Redesign admin accounts index ()
* Improve overview of accounts in admin UI

- Display suspended status, role, last activity and IP prominently
- Default to showing local accounts
- Default to not showing suspended accounts

* Remove unused strings

* Fix tests

* Allow filtering accounts by IP mask
2018-11-26 15:53:27 +01:00
Eugen Rochko
fd5285658f
Add option to block reports from domain () 2018-10-20 08:02:44 +02:00
Eugen Rochko
9486f0ca77
Add "disable" button to report screen ()
* Add "disable" button to report screen

* i18n-tasks remove-unused
2018-10-20 02:39:39 +02:00
Eugen Rochko
9d4541c612
Display customized mascot in web UI and fix admin form for it ()
Follow-up to 
2018-10-12 04:04:08 +02:00
ashleyhull-versent
2dba313100 Replace SVG asset with Custom mascot () 2018-10-08 00:20:45 +02:00
Eugen Rochko
e645ae9561
Change admin accounts default sort to most recent () 2018-10-04 16:05:38 +02:00
Yamagishi Kazutoshi
c6d43115c2 Fix broken report detail (regression from ) () 2018-09-26 19:48:14 +02:00
Eugen Rochko
f4d549d300
Redesign forms, verify link ownership with rel="me" ()
* Verify link ownership with rel="me"

* Add explanation about verification to UI

* Perform link verifications

* Add click-to-copy widget for verification HTML

* Redesign edit profile page

* Redesign forms

* Improve responsive design of settings pages

* Restore landing page sign-up form

* Fix typo

* Support <link> tags, add spec

* Fix links not being verified on first discovery and passive updates
2018-09-18 16:45:58 +02:00
Eugen Rochko
011437dcb5
Group reports by target account ()
* Group reports by target account

* Improve CSS
2018-09-13 03:44:08 +02:00
Eugen Rochko
5e1767173f
Display pending message on admin relays UI ()
* Add missing specs for relay accept/reject

* Display pending message on admin relays UI
2018-08-28 05:39:43 +02:00
M Somerville
b31449cd77 Better singulars of account followers/toots. () 2018-08-26 21:30:53 +02:00
M Somerville
29da56cf75 Hide reject media checkbox when not relevant. () 2018-08-25 13:26:17 +02:00
M Somerville
ac092d03e7 Add missing video descriptions ()
* Pass through video description as necessary.

* Add title to video, matching aria-label.
2018-08-24 23:55:41 +02:00
Eugen Rochko
a2cabf3f4a
Add admin custom CSS setting ()
Fix 
2018-08-24 04:33:27 +02:00
Jakub Mendyk
6cb3514d64 Add ability to change an instance default theme from the administration panel () ()
* Add default_settings class method to ScopedSettings

ScopedSettings was extended to use value of unscoped setting instead of
only using defaults set in config/settings.yml for selected settings.
This adds possibility for admins to set default values of users' settings,
for example default theme (as requested in ).

* Add ability to change an instance default theme

Closes 
2018-08-23 14:17:35 +02:00
Eugen Rochko
2374a00c10
Add confirmation step to account suspensions ()
* Add confirmation page for suspensions

* Suspension confirmation closes reports, linked from report UI

* Fix tests
2018-08-22 11:53:41 +02:00
Eugen Rochko
9dd5639f90
Add admin function to deactivate all invites ()
Fix 
2018-08-19 00:58:53 +02:00
ThibG
625b5a567b Get rid of the Content Warning rainbows ()
* Disable the animated rainbow text when the “Reduce motion” setting is set

* Get rid of the Content Warning rainbows

* Revert to default color for CWs in admin view

Since that colorscheme is apparently broken for some colorblind people.

* Use HTML5's details and summary for statuses with CWs in admin interface
2018-08-15 19:38:56 +02:00
Eugen Rochko
cc56f2230a
Add separate setting for sidebar text (site_short_description) ()
* Add separate setting for sidebar text (site_short_description)

* Fix tests
2018-07-31 18:59:34 +02:00
Eugen Rochko
8241f162df
Fix tag usage display on admin dashboard 2018-07-16 19:51:16 +02:00
Eugen Rochko
0d13e30ad2
Display trending hashtags on admin dashboard () 2018-07-16 19:21:27 +02:00
Eugen Rochko
2354b10eb5
Add admin dashboard () 2018-07-16 01:11:53 +02:00
Eugen Rochko
e55dce3176
Add federation relay support ()
* Add federation relay support

* Add admin UI for managing relays

* Include actor on relay-related activities

* Fix i18n
2018-07-13 02:16:06 +02:00
Eugen Rochko
f89c595ea0
Add admin setting to enable OG previews for sensitive media () 2018-07-06 02:15:56 +02:00
Yamagishi Kazutoshi
c0fc4e9935 Remove unnecessary underline on accounts table () 2018-06-04 13:09:36 +02:00
Eugen Rochko
40ef46dbef
Display only domain of report account if remote under comment () 2018-05-21 17:33:20 +02:00
ThibG
0f2fbf7d05 Improvements to toots display in admin view ()
* Distinguish boosts from original statuses in the admin panel (fixes )

* Show the “show more” button in admin view to make CWs clearer (fixes )

* Make content warnings swag
2018-05-12 17:44:15 +02:00
Eugen Rochko
61a9018607
Enable custom emojis in profiles (notes, field values, display names) ()
Follow-up to 
2018-05-06 11:48:51 +02:00
Shuhei Kitagawa
bd10a7e480 Add resend confirmation for admin ()
* Add confirmations_controller#resend

* Add tests for confirmations_controller#resend

* Add translations
2018-05-06 10:59:03 +02:00
Eugen Rochko
c7d1a2e400
Improve admin UI for accounts ()
* Improve design of account statuses admin UI (consistent with reports)

* Make account moderation notes look consistent with report notes

* i18n-tasks remove-unused

* Fix code style issues

* Fix tests
2018-05-05 23:06:29 +02:00
Eugen Rochko
251bbf9728
Show remote reports in admin UI as coming from domain rather than user ()
Fix 
2018-05-04 13:26:25 +02:00
Eugen Rochko
a9c440637c
Improve report layout ()
* Use table for statuses in report

* Display reported account and reporter in the same table

* Split accounts and general report info into two tables again

* Redesign report statuses table, notes, merge notes and action log

* Remove unused translations

* Fix code style issue

* Fix code style issue

* Fix code style issue
2018-04-20 02:28:48 +02:00
Emelia Smith
b9c35785e2 Reports: Merge contents and comment columns () 2018-04-19 15:39:54 +02:00
Emelia Smith
204d72fbe4 Feature: add count of account notes to reports ()
* Reports: Colocate account details with reports

* Reports: Add count of account moderation notes

Sometimes an account will be left with a note instead of the report, this adds a way to quickly see from a given report if this is the case.
2018-04-17 14:58:11 +02:00
Emelia Smith
d9b62e34da Feature: Improve reports ui ()
* Further improvements to Reports UI

- Clean up notes display
- Clean up add new note form
- Simplify controller
- Allow reopening a report with a note
- Show created at date for reports
- Fix report details table formatting

* Show history of report using Admin::ActionLog beneath the report

* Fix incorrect log message when reopening a report

* Implement fetching of all ActionLog items that could be related to the report

* Ensure adding a report_note updates the report's updated_at

* Limit Report History to actions that happened between the report being created and the report being resolved

* Fix linting issues

* Improve report history builder

Thanks @gargron for the improvements
2018-04-10 20:27:59 +02:00
Emelia Smith
219a4423d8 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
Emelia Smith
e85cffb236 Feature: Report improvements () ()
* Implement Assignment of Reports ()

* Change translation of admin.report.comment.label to "Report Comment" for clarity

As we'll soon add the ability for reports to have comments on them, this clarification makes sense.

* Implement notes for Reports

This enables moderators to leave comments about a report whilst they work on it

* Fix display of report moderation notes

* Allow reports to be reopened / marked as unresolved

* Redirect to reports listing upon resolution of report

* Implement "resolve with note" functionality

* Add inverse relationship for report notes

* Remove additional database querying when loading report notes

* Fix tests for reports

* Fix localisations for report notes / reports
2018-04-02 22:04:14 +02:00
Emelia Smith
e7a1716701 Implement the ability for an Administrator or Moderator to remove an account avatar () 2018-04-02 13:45:07 +02:00
Eugen Rochko
c71aa468b5
Redesign landing page (again) ()
* Redesign landing page (again)

* Move login form in small version to the right column

* Display closed registrations message

* Add site setting for the hero image

* Fix test

* Increase spacing, maximum width, change call to action section
2018-02-22 01:03:48 +01:00
Renato "Lond" Cerqueira
4e4f1b0dcb Add option to show only local toots in timeline preview ()
* Add option to show only local toots in timeline preview
Right know, toots from all the known fediverse are shown in the main
page of an instance. That however doesn't reflect the instance itself.
With this option the admin may choose to display only local toots so
that users checking the instance get a better idea of internal
conversations.

* Fix issues pointed by codeclimate and eslint

* Add default message for community timeline

* Update pl.yml
2018-02-04 06:00:10 +01:00
ThibG
4ec9d8b4d9 Display deleted users' role as “Suspended” ()
Follow-up to 6eb60260b1 which missed a spot where
the same error occurs.
2018-01-23 14:31:31 +01:00
beatrix
a56c4742d3 keep the same filters and page when doing custom emojo stuff (fixes ) () 2017-12-30 02:43:43 +01:00
Eugen Rochko
38fc1b498d
Add more instance stats APIs ()
* Add GET /api/v1/instance/peers API to reveal known domains

* Add GET /api/v1/instance/activity API

* Make new APIs disableable, exclude private statuses from activity stats

* Fix code style issue

* Fix week timestamps
2017-12-29 19:52:04 +01:00
ThibG
6eb60260b1 Display deleted users' role as “Suspended” ()
Deleted users are technically suspended, but the code displaying their status
in the admin interface was broken and displayed a javascript object holding
translations of the possible user roles instead.
2017-12-22 02:14:17 +01:00
Eugen Rochko
ad75ec8b5b
Add filters to admin UI for custom emojis () 2017-12-13 13:28:31 +01:00
Eugen Rochko
20a6584d2d
Clean up admin UI for accounts ()
* Add staff filter to admin UI for accounts, remove obsolete columns

* Only display OStatus section in admin UI for accounts when OStatus data
2017-12-13 12:15:10 +01:00
Yamagishi Kazutoshi
74320971e2 Add invite filter () 2017-12-01 16:40:02 +01:00
Yamagishi Kazutoshi
df03042a6e Allow admin to deactivate invite created by users () 2017-12-01 12:26:19 +01:00
Yamagishi Kazutoshi
15fab79cfa Show "expired" in invite index ()
* Show "expired" in invite index

* "Force expire" -> "Deactivate"
2017-11-28 15:41:02 +01:00
Eugen Rochko
740f8a95a9
Add consumable invites ()
* Add consumable invites

* Add UI for generating invite codes

* Add tests

* Display max uses and expiration in invites table, delete invite

* Remove unused column and redundant validator

- Default follows not used, probably bad idea
- InviteCodeValidator is redundant because RegistrationsController
  checks invite code validity

* Add admin setting to disable invites

* Add admin UI for invites, configurable role for invite creation

- Admin UI that lists everyone's invites, always available
- Admin setting min_invite_role to control who can invite people
- Non-admin invite UI only visible if users are allowed to

* Do not remove invites from database, expire them instantly
2017-11-27 16:07:59 +01:00
Eugen Rochko
e84fecb7e9
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
Yamagishi Kazutoshi
bfdcf76a64 Add “staff” badge to admin user pages ()
* Allow staff badge to change from setting to hidden

* i18n: Update Polish translation
2017-11-19 04:13:57 +01:00
unarist
e28b33c89c Move "Permissions" row into main table in /admin/accounts/:id () 2017-11-17 15:18:20 +01:00
Eugen Rochko
7bb8b0b2fc
Add moderator role and add pundit policies for admin actions ()
* Add moderator role and add pundit policies for admin actions

* Add rake task for turning user into mod and revoking it again

* Fix handling of unauthorized exception

* Deliver new report e-mails to staff, not just admins

* Add promote/demote to admin UI, hide some actions conditionally

* Fix unused i18n
2017-11-11 20:23:33 +01:00
Eugen Rochko
1032f3994f
Add ability to disable login and mark accounts as memorial ()
Fix 
2017-11-07 19:06:44 +01:00
nullkal
b6e2e999bd Show the local couterpart of emoji when it exists in /admin/custom_emojis ()
* Show the local couterpart of emoji when it exists in admin/custom_emojis

* Fix indentation

* Fix error

* Add class table-action-link to Overwrite link

* Make it enable to overwrite emojis

* Make Code Climate happy
2017-11-07 14:49:32 +01:00
MitarashiDango
38d072446b add account search condition (instance domain) () 2017-11-01 14:46:05 +01:00
nullkal
781105293c Feature: Unlisted custom emojis () 2017-10-27 16:11:30 +02:00
KY
1bdd694a0a Fix - Redirection with page params after copy emoji ()
* Fix  - Redirection with page params after copy emoji

* Add page params to copy emoji link
2017-10-14 14:40:10 +02:00
nullkal
633426b261 Add moderation note ()
* Add moderation note

* Add frozen_string_literal

* Make rspec pass
2017-10-07 20:26:43 +02:00
Eugen Rochko
49cc0eb3e7 Improve admin UI for custom emojis, add copy/disable/enable () 2017-10-05 23:42:05 +02:00
Lynx Kotoura
43577e9f59 Fix style of email domain block table () 2017-10-04 18:16:30 +02:00
utam0k
b3af3f9f8c Implement EmailBlackList ()
* Implement BlacklistedEmailDomain

* Use Faker::Internet.domain_name

* Remove note column

* Add frozen_string_literal comment

* Delete unnecessary codes

* Sort alphabetically

* Change of wording

* Rename BlacklistedEmailDomain to EmailDomainBlock
2017-10-04 15:16:10 +02:00
Eugen Rochko
09a94b575e Admin interface for listing, adding and removing custom emojis ()
* Admin interface for listing, adding and removing custom emojis

* Only display local ones in the list
2017-09-19 03:52:38 +02:00
Eugen Rochko
9239e4ce4d Uploads for admin site settings ()
* Improve OpenGraph tags for about pages

* Add thumbnail admin setting

* Fix error

* Fix up
2017-09-14 00:04:30 +02:00
nullkal
da77f65c46 Add instance search feature () 2017-09-13 12:30:07 +02:00
nullkal
9e2ff3ef71 Make instance names in into links to user list in the instance () 2017-09-13 11:34:07 +02:00
unarist
af10c9fbff Add section for protocol specific information on the admin page ()
This PR adds section for protocol specific information, then always show
both of OStatus and ActivityPub. Specifically, this will help admins to
check PuSH subscription status and unsubscribe manually, even `protocol`
has been changed.

This also includes below changes:

* Add `overflow: hidden` to prevent float leaking
* Add missing fields for ActivityPub
2017-09-12 23:06:10 +02:00
Eugen Rochko
7d7844a47f Default follows for new users ()
When a new user confirms their e-mail, bootstrap their home timeline
by automatically following a set of accounts. By default, all local
admin accounts (that are unlocked). Can be customized by new admin
setting (comma-separated usernames, local and unlocked only)
2017-09-10 09:58:38 +02:00
Lynx Kotoura
3c45d3963a Scrollable tables in settings pages ()
* Scrollable tables in settings pages

* Add space before curly brace
2017-09-09 02:26:58 +02:00
Yamagishi Kazutoshi
3ac7b353f8 Fix missing at-sign (regression from ) () 2017-08-26 12:39:26 +02:00
Yamagishi Kazutoshi
00f9f16f94 Change timezone of the datetime to what browser specifies () 2017-08-25 17:21:00 +02:00
nightpool
efec02f153 use existing inflections instead of custom helper ()
* use existing inflections instead of custom helper

* use ActiveSupport versions
2017-08-17 23:20:50 +02:00
nullkal
075d6a1e13 Show what protocol is used for accounts in admin/accounts#index ()
* Show what protocol used for in admin/accounts#index

* Add frozen_string_literal
2017-08-17 17:52:40 +02:00
unarist
5b9ae7981e Update /admin/accounts/:id view for ActivityPub ()
* Add protocol field
* Switch protocol specific information according to active protocol
* Hide PuSH subscription related buttons if ActivityPub is active
2017-08-14 14:09:00 +02:00
sdukhovni
06d905f415 Allow domain blocks that only reject media without silencing or suspending ()
* Allow domain blocks to reject media without silencing or suspending

* Fix typo

* Hide 'Reject media' button when superfluous, instead of disabling it

* Properly hide 'reject media' checkbox on page load if needed

This may happen when resubmitting the domain block form after an error.

* Don't ask whether undoing a media-only block should be retroactive

* Rename :media_only block to :noop

* Display :noop block as None in frontend, allow blocks that do nothing

* Remove 'coding' line auto-added by emacs
2017-07-24 14:26:55 +02:00
Eugen Rochko
4b911fea03 Add button to re-subscribe to all accounts from a domain () 2017-07-20 23:07:13 +02:00
abcang
4d42a38954 Improve admin page ()
* Improve admin page

* Fix test

* Add spec

* Improve select style
2017-07-18 16:38:22 +02:00
Eugen Rochko
056b5ed72f Improve UI of admin site settings () 2017-07-12 03:24:04 +02:00