Commit Graph

1215 Commits

Author SHA1 Message Date
Claire 9f4930ec11
Add password autocomplete hints ()
Fixes 

Our password autocomplete hints were “off” but that does not prevent current
browsers from trying to autocomplete them anyway, so use `current-password` and
`new-password` so they don't put a newly-generated password in a password
confirmation prompt, or the old password for a password renewal prompt.
2022-11-08 03:53:06 +01:00
Claire e1227457f1
Fix links to the Web UI in notifications ()
Most of the old routes are broken because of the /web removal.
2022-11-07 15:42:58 +01:00
Chris Rose a70e2cd649
Tag the OTP field with autocomplete for password managers ()
This is modeled on , and based on the attribute values documented
in https://developer.apple.com/documentation/security/password_autofill/enabling_password_autofill_on_an_html_input_element?language=objc
2022-11-07 03:57:16 +01:00
Jeremy Kescher 02a34252ba
Add null check on application in dispute viewer () 2022-11-07 03:40:17 +01:00
rcombs e53fc34e9a
Set autocomplete attr for email field on signup page ()
The email address will be used as the "username" for sign-in purposes, so it's the value that should be stored in password managers. We can inform the password manager of this by setting `autocomplete="email"`. Without this hint, password managers may instead store the `username` field, which isn't valid for sign-in (this happens with iCloud Keychain in Safari, for instance).
2022-11-07 03:16:10 +01:00
SJang1 053dac2afa
Remove meta tag for official iOS app () 2022-11-04 00:13:07 +01:00
Claire a529d6d93e
Fix invites ()
Fixes 

Fix regression from 
2022-10-30 19:04:39 +01:00
Eugen Rochko ad83e64795
Fix sidebar and tabs on settings on small screens in admin UI () 2022-10-30 02:43:15 +02:00
Eugen Rochko f910f0dc92
Fix wrong host being used for custom.css when asset host configured () 2022-10-29 14:04:24 +02:00
Claire d9d722d74b
Change admin announcement edition interface to use datetime-local ()
* Change admin announcement edition interface to use datetime-local

* Dynamically set announcement stop date as required if start date is set, set minimum date for stop date

* Change `all_day` to not be bound to presence of time-range

* Add pattern and placeholder as minimal fallback for browsers not supporting datetime-local

* Display datetime-local inputs as local time

Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
2022-10-28 12:56:32 +02:00
Eugen Rochko f8ca3bb2a1
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 8f07381856
Revert "Remove preference to aggregate reblogs in home/list feeds ()" ()
This reverts commit af396fa35f.
2022-10-26 09:10:18 +02:00
Eugen Rochko 1fd6460b02
Change floating action button to be a button in header in web UI ()
- Fix theme color
- Fix elephant being too big on error page on small screens
- Remove "Follows and Followers" link from navigation panel
2022-10-23 15:58:24 +02:00
Eugen Rochko 7c152acb2c
Change settings area to be separated into categories in admin UI ()
And update all descriptions
2022-10-22 11:44:41 +02:00
Takeshi Umeda 7777524145
Fix featured tag display name in setting () 2022-10-21 13:22:02 +02:00
Eugen Rochko 839f893168
Change public accounts pages to mount the web UI ()
* 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
2022-10-20 14:35:29 +02:00
Eugen Rochko dd5d99f83f
Fix error on migration page () 2022-10-18 19:01:59 +02:00
Eugen Rochko 1bd00036c2
Change about page to be mounted in the web UI () 2022-10-13 14:42:37 +02:00
Eugen Rochko b04633a961
Add image processing and generate blurhash for server thumbnail ()
Remove separate server hero setting
2022-10-13 11:29:19 +02:00
Eugen Rochko 45ebdb72ca
Add support for language preferences for trending statuses and links () 2022-10-08 16:45:40 +02:00
Eugen Rochko a2ba011326
Change privacy policy to be rendered in web UI, add REST API ()
Source string no longer localized, Markdown instead of raw HTML
2022-10-08 06:01:11 +02:00
Eugen Rochko 93f340a4bf
Remove setting that disables account deletes () 2022-10-06 10:16:47 +02:00
Eugen Rochko 62782babd0
Change public statuses pages to mount the web UI () 2022-10-06 02:26:34 +02:00
Eugen Rochko 58d5b28cb0
Remove previous landing page () 2022-10-06 02:19:45 +02:00
Eugen Rochko 5fd46dddd7
Remove unnecessary sections from welcome e-mail () 2022-10-06 00:03:52 +02:00
Eugen Rochko 679274465b
Add server rules to sign-up flow () 2022-10-05 18:57:33 +02:00
Eugen Rochko d2528b26b6
Add server banner to web app, add `GET /api/v2/instance` to REST API () 2022-10-05 03:47:56 +02:00
Eugen Rochko 02ba9cfa35
Remove code for rendering public and hashtag timelines outside the web UI () 2022-10-04 20:13:46 +02:00
Eugen Rochko 36f4c32a38
Change path of privacy policy page () 2022-09-29 06:22:12 +02:00
Eugen Rochko 43b5d5e38d
Add logged-out access to the web UI () 2022-09-29 04:39:33 +02:00
Eugen Rochko 5c9abdeff1
Add retention policy for cached content and media () 2022-09-27 03:08:19 +02:00
Eugen Rochko 546672e292
Change "Allow trends without prior review" setting to include statuses ()
* Change "Allow trends without prior review" setting to include posts

* Fix i18n-tasks
2022-08-28 04:00:39 +02:00
Eugen Rochko 1d84cbeaab
Fix "select all matching items" being offered when all items are on the page () 2022-08-26 02:11:23 +02:00
Eugen Rochko af396fa35f
Remove preference to aggregate reblogs in home/list feeds () 2022-08-25 23:38:36 +02:00
Eugen Rochko 0b3e4fd5de
Remove digest e-mails ()
* Remove digest e-mails

* Remove digest-related code
2022-08-25 23:38:22 +02:00
Eugen Rochko 5b0e8cc92b
Add ability to select all accounts matching search for batch actions () 2022-08-25 23:33:34 +02:00
Eugen Rochko d696f729f1
Add meta tag for official iOS app () 2022-08-25 23:27:10 +02:00
Jeong Arm 42ff4dce41
Use type="color" on badge color input field ()
This informs browser to use interactive color picker
2022-08-25 04:38:34 +02:00
Claire 50487db122
Add ability to filter individual posts ()
* 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
2022-08-25 04:27:47 +02:00
Jeong Arm d415f1116b
Fix /admin/accounts/ order parameter () 2022-08-17 22:07:30 +01:00
Jeong Arm f248d95be2
Fix badge color not affected ()
* Fix badge color not affected

* Generate user role css
2022-07-19 01:06:11 +02:00
Jeremy Kescher ec83e2a35e
Fix missing scope for current_user in _sidebar.html.haml ()
Fixes https://github.com/mastodon/mastodon/issues/18821

Fix suggested by https://miaow.gay/@meganeko/108665430982072358
2022-07-18 08:41:50 +02:00
Jeong Arm ad489f865a
Fix custom.css html escaped () 2022-07-18 08:41:08 +02:00
Claire ecb3bb3256
Add support for editing labelling of one's own role ()
Still disallow edition of rank or permissions
2022-07-17 13:37:30 +02:00
Eugen Rochko e7aa2be828
Change how hashtags are normalized ()
* Change how hashtags are normalized

* Fix tests
2022-07-13 15:03:28 +02:00
Claire befbac3f1c
Fix various in the user role management UI ()
* Reword priority description

* Disable checkboxes for permissions you can't enable in role edition interface

* Set max priority in HTML attribute

* Explicitly link to role edition, do not link when you can't edit

* Reword priority description based on review
2022-07-07 18:18:23 +02:00
Claire 0665ba8a23
Fix incorrect param in role card link () 2022-07-05 20:01:50 +02:00
Eugen Rochko 44b2ee3485
Add customizable user roles ()
* Add customizable user roles

* Various fixes and improvements

* Add migration for old settings and fix tootctl role management
2022-07-05 02:41:40 +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 620b70c41e
Remove item titles from RSS feeds () 2022-06-12 02:48:03 +02:00