Commit Graph

120 Commits

Author SHA1 Message Date
sternenseemann 679980f77c
Allow users to delete their header and avatar ()
This is achieved by sending a DELETE request to
/settings/profile/pictures/{avatar,header} via a link that is part of
the upload form's hint of the respective picture.
2020-04-20 14:03:03 +02:00
Takeshi Umeda e4617c8ed8
Fix ImportsController param to permit :mode () 2020-03-31 12:43:42 +02:00
Eugen Rochko 49b2f7c0a2
Fix base64-encoded file uploads not being possible ()
Fix , Fix 
2020-01-04 01:54:07 +01:00
Eugen Rochko 6e9e8d89fa
Fix settings pages being cacheable by the browser ()
Fix 
2019-12-30 04:38:30 +01:00
Faye Duxovni 48f75b86ae Add setting for whether to crop images in unexpanded toots () 2019-10-24 22:51:41 +02:00
Eugen Rochko 368a87755b
Fix account migration not affecting followers on origin server () 2019-09-29 16:23:13 +02:00
Eugen Rochko 163ed91af3
Add (back) option to set redirect notice on account without moving followers ()
Fix 
2019-09-29 05:03:19 +02:00
Takeshi Umeda f497d14b19 Addition of update activity distribution by alias, minor correction ()
* Addition of update activity distribution by alias, minor correction

* Distribute Update activity after adding alias
* Add uniqueness verification to alias uri
* accept acct starting with @

* fix double-quoted to single-quoted
2019-09-21 09:11:21 +02:00
Takeshi Umeda e35636a0d1 Fixed an error in the aliases template of the aliases controller () 2019-09-21 02:59:37 +02:00
Eugen Rochko 3ed94dcc1a
Add account migration UI ()
Fix 

- Change data export to be available for non-functional accounts
- Change non-functional accounts to include redirecting accounts
2019-09-19 20:58:19 +02:00
Eugen Rochko e1066cd431
Add password challenge to 2FA settings, e-mail notifications ()
Fix 
2019-09-18 16:37:27 +02:00
Eugen Rochko a4b60e9ba4
Fix TOTP codes not being filtered from logs during enabling/disabling ()
Not a serious issue because they are meaningless past single use
2019-09-18 02:48:40 +02:00
Eugen Rochko c707ef49d9
Fix 2FA challenge and password challenge for non-database users ()
* Fix 2FA challenge not appearing for non-database users

Fix 

* Fix account deletion not working when using external login

Fix 
2019-09-15 21:08:39 +02:00
Eugen Rochko 9072fe5ab6
Add trends UI with admin and user settings () 2019-08-06 17:57:52 +02:00
Eugen Rochko 115dab78f1
Change admin UI for hashtags and add back whitelisted trends ()
Fix 

Add back the `GET /api/v1/trends` API with the caveat that it does
not return tags that have not been allowed to trend by the staff.

When a hashtag begins to trend (internally) and that hashtag has
not been previously reviewed by the staff, the staff is notified.

The new admin UI for hashtags allows filtering hashtags by where
they are used (e.g. in the profile directory), whether they have
been reviewed or are pending reviewal, they show by how many people
the hashtag is used in the directory, how many people used it
today, how many statuses with it have been created today, and it
allows fixing the name of the hashtag to make it more readable.

The disallowed hashtags feature has been reworked. It is now
controlled from the admin UI for hashtags instead of from
the file `config/settings.yml`
2019-08-05 19:54:29 +02:00
Eugen Rochko 964ae8eee5
Change unconfirmed user login behaviour ()
Allow access to account settings, 2FA, authorized applications, and
account deletions to unconfirmed and pending users, as well as
users who had their accounts disabled. Suspended users cannot update
their e-mail or password or delete their account.

Display account status on account settings page, for example, when
an account is frozen, limited, unconfirmed or pending review.

After sign up, login users straight away and show a simple page that
tells them the status of their account with links to account settings
and logout, to reduce onboarding friction and allow users to correct
wrongly typed e-mail addresses.

Move the final sign-up step of SSO integrations to be the same
as above to reduce code duplication.
2019-07-22 10:48:50 +02:00
ThibG 650459f93c Fix some flash notices/alerts staying on unrelated pages () 2019-07-19 23:13:21 +02:00
Eugen Rochko 9b1d3e4acb
Add option to disable real-time updates in web UI ()
Fix 
Fix 
2019-07-16 06:30:47 +02:00
ThibG 3086c645fd Add option to disable blurhash previews ()
* Add option to disable blurhash previews

* Update option text

* Change options order
2019-06-26 19:33:04 +02:00
Acid Chicken (硫酸鶏) 33144e132d Fix layout of identity proofs settings () 2019-06-20 02:18:06 +02:00
Eugen Rochko 560ec24e58
Change /settings/preferences to redirect to appearance, add /settings/preferences/other () 2019-06-07 16:51:08 +02:00
Eugen Rochko 1db4117030
Change preferences page into appearance, notifications, and other () 2019-06-07 03:39:24 +02:00
Eugen Rochko 1e5532e693
Add responsive panels to the single-column layout ()
* Add responsive panels to the single-column layout

* Fixes

* Fix not being able to save the preference

* Fix code style issues

* Set max-height on the compose textarea and add a link to relationship manager
2019-05-25 21:27:00 +02:00
Eugen Rochko f27d709351
Fix not being able to save e-mail preference for new pending accounts () 2019-04-25 02:49:06 +02:00
Alex Gessner 154106c0c3 compare usernames case-insensitively on new proof creation flow ()
* compare usernames case-insensitively on new proof creation flow

* Fix code style issue
2019-04-10 18:05:11 +02:00
Eugen Rochko 36b39fbac5
Add preference to disable e-mails about new pending accounts () 2019-04-10 00:35:49 +02:00
Alex Gessner 69141dca26 squashed identity proof updates () 2019-03-28 18:01:09 +01:00
Eugen Rochko 9c4cbdbafb
Add Keybase integration ()
* create account_identity_proofs table

* add endpoint for keybase to check local proofs

* add async task to update validity and liveness of proofs from keybase

* first pass keybase proof CRUD

* second pass keybase proof creation

* clean up proof list and add badges

* add avatar url to keybase api

* Always highlight the “Identity Proofs” navigation item when interacting with proofs.

* Update translations.

* Add profile URL.

* Reorder proofs.

* Add proofs to bio.

* Update settings/identity_proofs front-end.

* Use `link_to`.

* Only encode query params if they exist.

URLs without params had a trailing `?`.

* Only show live proofs.

* change valid to active in proof list and update liveness before displaying

* minor fixes

* add keybase config at well-known path

* extremely naive feature flagging off the identity proof UI

* fixes for rubocop

* make identity proofs page resilient to potential keybase issues

* normalize i18n

* tweaks for brakeman

* remove two unused translations

* cleanup and add more localizations

* make keybase_contacts an admin setting

* fix ExternalProofService my_domain

* use Addressable::URI in identity proofs

* use active model serializer for keybase proof config

* more cleanup of keybase proof config

* rename proof is_valid and is_live to proof_valid and proof_live

* cleanup

* assorted tweaks for more robust communication with keybase

* Clean up

* Small fixes

* Display verified identity identically to verified links

* Clean up unused CSS

* Add caching for Keybase avatar URLs

* Remove keybase_contacts setting
2019-03-18 21:00:55 +01:00
Eugen Rochko 1c113fd72d
Add relationship manager UI () 2019-03-16 11:23:22 +01:00
ThibG 5506b9406d Avoid race conditions when creating backups ()
Under load, multiple backups for a single user could be planned, which
is very expensive.
2019-03-11 00:50:31 +01:00
Eugen Rochko 2557cb2f95
Fix pinned statuses being shown in a featured hashtag () 2019-02-05 00:27:18 +01:00
Eugen Rochko 364f2ff9aa
Add featured hashtags to profiles ()
* Add hashtag filter to profiles

GET /@:username/tagged/:hashtag
GET /api/v1/accounts/:id/statuses?tagged=:hashtag

* Display featured hashtags on public profile

* Use separate model for featured tags

* Update featured hashtag counters on-write

* Limit featured tags to 10
2019-02-04 04:25:59 +01:00
ThibG ed30110618 Make displaying application used to toot opt-in ()
* Make storing and displaying application used to toot opt-in

* Revert to storing application info, and display it to the author via API
2019-02-02 19:18:15 +01:00
Eugen Rochko 7fc7437d05
Add CSV export for lists and domain blocks ()
Fix 
Fix 
2019-01-01 13:44:04 +01:00
ysksn b048926e67 Create Settings::BaseController ()
Define `Settings::BaseController#set_body_classes` so that sub classes
inherit `Settings::BaseController` don't need to define
`#set_body_classes` agein.
2018-12-12 22:32:13 +01:00
ThibG 81bda7d67c Add setting to not aggregate reblogs ()
* Add setting to not aggregate reblogs

Fixes 

* Handle cases where user is nil in add_to_home and add_to_list

* Add hint for setting_aggregate_reblogs option

* Reword setting_aggregate_reblogs label
2018-12-09 13:03:01 +01:00
Eugen Rochko 73be8f38c1
Add profile directory ()
Fix 
2018-12-06 17:36:11 +01:00
Yamagishi Kazutoshi e8ffecbd36 Set @body_classes to admin layout () 2018-10-25 00:10:01 +02:00
ふぁぼ原 f7a6f9489d Add a new preference to always hide all media () 2018-09-25 05:09:35 +02:00
Matt Sweetman 1889526e23 Add user preference to always expand toots marked with content warnings () 2018-09-24 05:44:01 +02:00
Eugen Rochko 075e162319
Whitelist report notification param in Settings::NotificationsController ()
Bug in 
2018-09-02 02:05:32 +02:00
Eugen Rochko c593d6df9c
Add preference for report notification e-mails, skip for duplicates ()
If an unresolved report for the same target account already exists,
no new notification is generated
2018-09-02 00:11:58 +02:00
Eugen Rochko a58ec29631
Allow selecting default posting language instead of auto-detect ()
* Allow selecting default posting language instead of auto-detect

* Enable default language setting in credentials API

* Fix form saving
2018-06-17 18:57:31 +02:00
Eugen Rochko 7eec279c7f
Change language opt-out to language opt-in ()
* Switch filtered_languages to chosen_languages

* Adjust interface

* Remove unused translations
2018-06-17 13:54:02 +02:00
Eugen Rochko 10f51c9886
Fix domain hiding logic ()
* Send rejections to followers when user hides domain they're on

* Use account domain blocks for "authorized followers" action

Replace soft-blocking (block & unblock) behaviour with follow rejection

* Split sync and async work of account domain blocking

Do not create domain block when removing followers by domain, that
is probably unexpected from the user's perspective.

* Adjust confirmation message for domain block

* yarn manage:translations
2018-06-09 22:46:54 +02:00
Eugen Rochko 36e47a31e3
Enforce order on authorized applications page ()
Fix 
2018-05-22 14:44:53 +02:00
Eugen Rochko 1e02dc8715
Add preference to hide following/followers lists ()
* Add preference to hide following/followers lists

- Public pages
- ActivityPub collections (does not return pages but does give total)
- REST API (unless it's your own) (does not federate)

Fix 

* Add preference

* Add delegation

* Fix issue

* Fix issue
2018-05-18 02:26:51 +02:00
Eugen Rochko 7293b9fc61
Ensure unfilled fields are shown when errors are shown ()
Fix 
2018-05-17 13:00:56 +02:00
Eugen Rochko 42cd363542
Bot nameplates ()
* Store actor type in database

* Add bot nameplate to web UI, add setting to preferences, API, AP
Fix 

* Fix code style issues
2018-05-07 09:31:07 +02:00
Eugen Rochko cb5b5cb5f7
Slightly reduce RAM usage ()
* No need to re-require sidekiq plugins, they are required via Gemfile

* Add derailed_benchmarks tool, no need to require TTY gems in Gemfile

* Replace ruby-oembed with FetchOEmbedService

Reduce startup by 45382 allocated objects

* Remove preloaded JSON-LD in favour of caching HTTP responses

Reduce boot RAM by about 6 MiB

* Fix tests

* Fix test suite by stubbing out JSON-LD contexts
2018-05-02 18:58:48 +02:00