Commit Graph

129 Commits (79e7590578770c906d7a30e6ce7e0b654f725972)

Author SHA1 Message Date
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
Eugen Rochko 1bd00036c2
Change about page to be mounted in the web UI ()
Eugen Rochko 58d5b28cb0
Remove previous landing page ()
Eugen Rochko d2528b26b6
Add server banner to web app, add `GET /api/v2/instance` to REST API ()
Eugen Rochko 02ba9cfa35
Remove code for rendering public and hashtag timelines outside the web UI ()
Eugen Rochko 36f4c32a38
Change path of privacy policy page ()
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
Mashiro 87a55e2cd6
Change autocomplete type of password input box ()
* Change autocomplete type of password input box

* Update _registration.html.haml
Claire 6d3fa7828e
Redesign /about when already logged in ()
* Redesign /about when already logged in

* Fix sign up form still showing when OMNIAUTH_ONLY is set

* Fix tests

* Change wording based on suggestions

Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>

Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
Claire bddd9ba36d
Add OMNIAUTH_ONLY environment variable to enforce externa log-in ()
* Remove support for OAUTH_REDIRECT_AT_SIGN_IN

Fixes 

Introduced in , OAUTH_REDIRECT_AT_SIGN_IN allowed skipping the log-in form
to instead redirect to the external OmniAuth login provider.

However, it did not prevent the log-in form on /about introduced by  from
appearing, and completely broke with the introduction of .

As I restoring that previous log-in flow without introducing a security
vulnerability may require extensive care and knowledge of how OmniAuth works,
this commit removes support for OAUTH_REDIRECT_AT_SIGN_IN instead for the time
being.

* Add OMNIAUTH_ONLY environment variable to enforce external log-in only

* Disable user registration when OMNIAUTH_ONLY is set to true

* Replace log-in links When OMNIAUTH_ONLY is set with exactly one OmniAuth provider
Claire e2844b7e58
Change number_to_human calls to always use 3-digits precision ()
Fixes 
Claire 1b50ac08c1
Fix server rules not being displayed if extended server discription isn't set ()
Eugen Rochko 8331fdf7e0
Add server rules ()
Eugen Rochko 8a95867693
Add option to obfuscate domain name in public list of domain blocks ()
- Replace the middle of the domain with * characters (except for periods)
- Add SHA-256 digest of the domain name in tooltip
ThibG 47e507fa61
Add ability to require invite request text ()
Fixes 

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
Eugen Rochko a3b5675aa8
Change number format on about page from full to shortened ()
ThibG 49eb4d4ddf
Add honeypot fields and minimum fill-out time for sign-up form ()
* Add honeypot fields to limit non-specialized spam

Add two honeypot fields: a fake website input and a fake password confirmation
one. The label/placeholder/aria-label tells not to fill them, and they are
hidden in CSS, so legitimate users should not fall into these.

This should cut down on some non-Mastodon-specific spambots.

* Require a 3 seconds delay before submitting the registration form

* Fix tests

* Move registration form time check to model validation

* Give people a chance to clear the honeypot fields

* Refactor honeypot translation strings

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
Eugen Rochko 9b1f2a4b61
Add subresource integrity for JS and CSS assets ()
Fix 
ThibG 62a45ae26e
Fix client-side form validation not accepting handles with uppercase letters ()
ThibG 7dc4c74265
Add client-side validation in password change forms ()
* Fix client-side username validation at registration

It used the Account::USERNAME_RE regexp which is for *remote* users,
local user validation is stricter. Also take into account max username length.

* Add client-side form validation for password change

* Add client-side form validation to dedicated registration form

Previous changes only applied to the /about page, not the dedicated form on
/auth
ThibG d70c3ab4c3
Add HTML form validation for the registration form ()
* Add HTML-level validation of username in sign-up form

* Make required fields with incorrect values more visible

* Enable HTML form validation for the registration form

* Mark agreement checkbox as required client-side

* Add minimum length to password

* Add client-side password confirmation validation
Mélanie Chauvel ac3c83ef6f
Improve wording and add titles on moderated servers section in /about/more ()
ThibG 48503384d0
Fix some account avatars on public pages having incorrect size ()
* Fix some account avatars on public pages having incorrect size

* Remove outdated and overridden width and height attributes

* Remove more hardcoded width/height attributes
ThibG 0e362b7678
Fix end-user-facing uses of inline CSS ()
* Move some inline styles to CSS files

* Move default_account_display_name span to fix useless tags with duplicate id

* Change handling of public pages spoiler text from inline CSS to dataset attribute

* Use the `dir` HTML attribute instead of inline CSS

* Move status action bar inline CSS to CSS file

* Hide logo resources from CSS file, not inline CSS

Fixes 

* Move translation prompt styling from inline CSS to CSS file

* Move “invited by” styling on registration form from inline to CSS file

* Use the progress tag to display poll results in JS fallback

* Fix poll results JS-less fallback when the user has voted for an option

* Change account public page “moved” notice to use img tags instead of inline CSS

* Move OTP hint inline CSS to SCSS file

* Hide JS-less fallback vote progressbars from accessibility tools

Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
ThibG 42b3b019e0 Fix blur behind closed registration message ()
* Fix closed registration message blur

* Adjust overlay margins to account for blur

Fixes 
BSKY fccf83e1f2 Add noopener and/or noreferrer ()
Eugen Rochko 19cdc62765
Remove fallback to long description on sidebar and meta description ()
Fix 
Eugen Rochko c35376132b
Fix long domain block descriptions breaking table layout ()
Eugen Rochko bd9685f798
Fix public list of domain blocks being too verbose on about page ()
Eugen Rochko 33b2e0f189
Fix "reason" prefix being shown with no reason for public blocks ()
Eugen Rochko d930eb88b6
Add table of contents to about page ()
Move public domain blocks information to about page
ThibG 2b2b03a7da Fix duplicate HTML ids in /about ()
Fixes 
ThibG 9b6a5ed109 Add public blocks to /about/blocks ()
* Add automatic blocklist display in /about/blocks

Inspired by https://github.com/Gargron/mastodon.social-misc

* Add admin option to set who can see instance blocks

* Normalize locales files

* Rename “Sandbox” to “Silence” for consistency

* Disable /about/blocks when in whitelist mode

* Optionally display rationale for domain blocks

* Only display domain blocks that have user-facing limitations, and order them

* Redesign table of blocked domains to better handle long domain names and rationales

* Change domain blocks ordering now that rationales aren't displayed right away

* Only show explanation for block severities actually in use

* Reword instance block explanations and add disclaimer for public fetch mode
ThibG 730c4053d6 Add ActivityPub actor representing the entire server ()
* Add support for an instance actor

* Skip username validation for local Application accounts

* Add migration script to create instance actor

* Make Codeclimate happy

* Switch to id -99 for instance actor

* Remove unused `icon` and `image` attributes from instance actor

* Use if/elsif/else instead of return + ternary operator

* Add instance actor to fresh installs

* Use instance actor as instance representative

Use instance actor for forwarding reports, relay operations, and spam
auto-reporting.

* Seed database in test environment

* Fix single-user mode

* Fix tests

* Fix specs to accomodate for an extra `Account`

* Auto-reject follows on instance actor

Following an instance actor might make sense, but we are not handling that
right now, so auto-reject.

* Fix webfinger lookup and serialization for instance actor

* Rename instance actor

* Make it clear in the HTML view that the instance actor should not be blocked

* Raise cache time for instance actor as there's no dynamic content

* Re-use /about/more with a flash message for instance actor profile
Eugen Rochko 20dda5cca0
Change full logo to use primary text color of the given theme ()
* Change full logo to use primary text color of the given theme

* Fix colors of public layout header in light theme
Eugen Rochko 8b69a66380 Add "why do you want to join" field to invite requests ()
* Add "why do you want to join" field to invite requests

Fix 

* Remove unused translations

* Fix broken registrations when no invite request text is submitted
koyu 0f9278c3d3 Don't autofocus registration form ()
Eugen Rochko 55a9658ad8
Add custom closed registrations message to landing page when set ()
ThibG d041b7a1e7 Do not show timeline preview or directory widgets if they are disabled ()
Yamagishi Kazutoshi 8347479f5d Bump webpacker from 3.5.5 to 4.0.2 ()
Bumps [webpacker](https://github.com/rails/webpacker) from 3.5.5 to 4.0.2.
- [Release notes](https://github.com/rails/webpacker/releases)
- [Changelog](https://github.com/rails/webpacker/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rails/webpacker/compare/v3.5.5...v4.0.2)

Signed-off-by: dependabot[bot] <support@dependabot.com>
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
Eugen Rochko 51e154f5e8
Admission-based registrations mode ()
Fix 
Fix 
Eugen Rochko 65fffeac3f
Redesign landing page ()
Aditoo17 6c0a96912a Change joinmastodon.org to joinmastodon.org/#getting-started for sign up on another server ()
ashleyhull-versent 2dba313100 Replace SVG asset with Custom mascot ()
Eugen Rochko 3d7f68c273
Revert Font Awesome 5 upgrade ()
* Revert "Fix some icon names changed by the Font Awesome 5. ()"

This reverts commit 3f9ec3de82.

* Revert "Migrate to font-awesome 5.0. ()"

This reverts commit 8bae14591b.

* Revert "Fix some icons names, unavailable in fontawesome5 (free license). ()"

This reverts commit b9c727a945.

* Revert "Update the icon name changed by the Font Awesome 5. ()"

This reverts commit 17af4d27da.

* Revert "Add bot icon to bot avatars and migrate to newer version of Font Awesome ()"

This reverts commit 4b794e134d.
Naoki Kosaka 8bae14591b Migrate to font-awesome 5.0. ()
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
jacob d16c3342ce add several missing alt tags ()
* add several missing alt tags

* remove alt text from mascot images
M Somerville ad41806e53 Allow use of plurals on about page stats. ()
Eugen Rochko 5b8603879f
Adjust responsive design for /about/more and /terms ()
Follow-up to