Commit Graph

1387 Commits (7c7dfe7de33c27b65805960061bd5d0a42733722)

Author SHA1 Message Date
Yamagishi Kazutoshi 2510119f19 Add meta tags for OGP to following & follow page ()
* Add meta tags for OGP to following & follow page

* simplify render helper

* Follow up 

* og:type is only accounts/show

* revert accounts/{following,followers}
Matt Jankowski 8bac0350d1 Restful refactor of accounts/ routes ()
* Add routing specs for accounts followers and following actions

* Use more restful route naming for public account follow pages

Moves two actions:
- accounts#followers to accounts/follower_accounts#index
- accounts#following to accounts/following_accounts#index

Adds routing spec to ensure prior URLs are preserved.
Matt Jankowski 55e1503522 Instances list in admin ()
* Add admin/instances index action

* Add link to instances admin page

* View lists instances

* Instances, grouped by domain, ordered by count

* Use Account.remote scope

* Extract method: Account.by_domain_accounts
Matt Jankowski 66d8f99a30 Admin reports with accounts ()
* Add a ReportFilter class

* Add reports and targeted_reports relationships to Account

* Use ReportFilter from admin/reports controller

* Link to admin/reports filtered views from admin account show view

* Add indexes to reports.account_id and reports.target_account_id
Matt Jankowski 84b5fae8e3 Simplify renders in views ()
* Simplify render in mailer views

* Simplify render in about/more view

* Simplify render in accounts follow views

* Simplify render in recovery code views

* Simplify render in stream entry embed

* Simplify render in stream entries status partial

* Simplify render in authorize follow new view
Eugen Rochko 57d784f1e4 Merge branch 'pause-gif' of git://github.com/patf/mastodon into patf-pause-gif
Matt Jankowski 389f8f8249 Instance helper to replace site title helper ()
* Move site title helper to instance helper (name change only)

* Remove newline in <title> tag

* Add site_hostname helper method to wrap up local_domain value

* Use site_hostname helper in places that need local_domain value
Matt Jankowski f96f8d0176 Use .presence instead of ternary on site description for og: content ()
Eugen 15ec4ae07b Fix , fix - Fix special characters in XML, add tests ()
Also improve efficiency of the mastodon:maintenance:add_static_avatars task
Patrick Figel ffb99325ca Add gif auto-play/pause preference
This introduces a new per-user preference called
"Auto-play animated GIFs", which is enabled by default. When a
user disables this setting, gifs in toots become click-to-play.

Previews of animated gifs were changed to display the video play
button so that users can distinguish them from regular images.

This setting also affects account avatars in the detailed account
view, which was changed to use the same hover-to-play mechanism
that is used for animated avatars in timelines.

Fixes 
Dale Price f3b86c1bda Add mask-icon.svg () ()
* Add mask-icon ()

* use updated svg logo for mask-icon
Yuki Nakagawa 548ff54714 Optimize user setting page for mobile browser ()
* Remove overflow because it blocks scrolling on mobile safari.

* Add “-webkit-overflow-scrolling: touch;” to enable smooth scroll on mobile safari and other webkit browsers.

* Use radio buttons in user setting page.

Because select tags with long text are not fit in the width of mobile devices.

* Add flex property to fit labels to devise width.

* Change font size of select.

It causes auto zooming on mobile safari.
anon f8ae12909c Fix tiny typo, and added link to terms and conditions in confirmation email for Japanese. () ()
Eugen 1955a3f444 Do not display "reset password" in admin UI for remote accounts ()
Eugen 6d70a80263 Onboarding modal ()
* Basic onboarding modal that's shown to users once

* Lay out pages 2 through 5, add images, style modals ()

* Lay out pages 2 through 5

Added images and laid out pages 2 through 5 in the jsx file. SCSS will
come, still working on just seeing if this works at all.

* Fix jsx errors, add images to modal pages, style modal pages

* Add animations to onboarding pager changes, improve wording and styling

* Finishing touches on the onboarding

* Add missing propTypes

* Update wording
Matt Jankowski f87b51fda8 I18n health warnings ()
* Rename admin.domain_block to admin.domain_blocks in prep for i18n improvement

* Use implicit controller/action path for i18n in admin/domain_blocks

* Add DomainBlock#accounts has_many

* Avoid i18n health warning for `en` locale by using symbol scope with :count

* Remove unused i18n key: plaintext_secret_html

* Remove unused i18n key two_factor_auth.warning

* Remove final will_paginate i18n keys

* Remove unused key two_factor_auth.recovery_codes

* Remove unused key: admin.reports.comment.none

* Remove unused reports. i18n namespace (moved to admin.reports)

* Ignore keys from locales which override activemodel and activerecord errors

* Revert "Remove unused key: admin.reports.comment.none"

This reverts commit 350ef2685f.

* Update i18n key reference to match moved location

* Add missing `en` keys to i18n

* Tell i18n-tasks to ignore missing attributes that dont need overwriting

* Add i18n-tasks unused to travis
Matt Jankowski 26ec042f38 Remove trailing whitespace in terms.no.html ()
Matt Jankowski 73b0af5c93 Simplify the og:image and og:description code in stream_entries/show ()
Matt Jankowski 7efde22c3a Use local vars in partials ()
* Use local vars in accounts/header partial

* Use local variable in 2fa recovery codes partial
Eugen 5d710b1139 Make file attachment on MediaAttachment optional ()
Create MediaAttachment but without actual file download when domain is blocked with reject_media set to true
Clean up old media files when creating a new domain block with reject_media set to true
Return remote_url in media attachments API if local file is not present
Undo domain block action in admin UI
Ability to enable reject_media from admin UI
Eugen 8a58942c80 Fix up recovery codes design a little ()
Matt Jankowski 3834e1e69b View spec fix ()
* Add option to disable verify partial doubles

* Add show_landing_strip? helper method

* Use show_landing_strip? helper in accounts and stream entries views

* Fix naming in view specs
Eugen 0d83569899 Fix cross-origin integrity ()
See <https://glitch.social/users/bea/updates/434>
Naouak 3d3e32befb Check for a custom css file to help customization of instances ()
* User can create a custom.scss to customize their instance without modifying gitted files.

* Add documentation for customization.

* Forgot the helper file

* Fix Style to pass codeclimate

* Requests from maintainer.
Marcin Cieślak 1c8477eab2 Give SINGLE_USER a chance to register ()
An attempt to open a brand new Mastodon instance configured
as SINGLE_USER_MODE=true will cause an exception.

Enable temporary registration if we have no users in the database

Fixes 
Matt Jankowski 6670e6d33f Add password reset for users from admin accounts area ()
Matt Jankowski 3b8908c114 About page contact email ()
* Correct site_contact_email typo

* Separate about more page into partials, add specs
Alex Dunn 0f889523e4 views/about: use Setting.site_title instead of hardcoding ()
Patrick Figel df4ff9a8e1 Add recovery code support for two-factor auth ()
* Add recovery code support for two-factor auth

When users enable two-factor auth, the app now generates ten
single-use recovery codes. Users are encouraged to print the codes
and store them in a safe place.

The two-factor prompt during login now accepts both OTP codes and
recovery codes.

The two-factor settings UI allows users to regenerated lost
recovery codes. Users who have set up two-factor auth prior to
this feature being added can use it to generate recovery codes
for the first time.

Fixes  and fixes 

* Set OTP_SECRET in test enviroment

* add missing .html to view file names
Matt Jankowski cde1f37d93 Use site title on tags#show page ()
Joachim Viide ef879a8839 Send initial state in a <script type="application/json"> tag ()
Matt Jankowski 8b74aa4217 Admin reports controller improvements ()
* Simplify admin/reports controller filtering for index

* Rename parameter to resolved

* Fix issue where reports view could not access filter_link_to

* Add coverage for admin/reports controller

* DRY up resolution of related reports for target account

* Clean up admin/reports routes

* Add Report#statuses method

* DRY up current account action taken params

* Rubocop styles
maxypy a6807201d2 Implementing Subresource Integrity ()
* Add sprockets-rails to Gemfile

* Add sprockets-rails to Gemfile.lock

* Update show.html.haml

* Update index.html.haml

* Update admin.html.haml

* Update auth.html.haml

* Update embedded.html.haml

* Update public.html.haml
Thomas Citharel c0c56db0fa Translate admin ()
* Translate the domain_block panel

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

* Translate PubSubHubbub section

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

* translate account section and correct typos

* move reports translation & translate sidebar

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

* normalize l18n
Alyssa Ross 55b56e3f95 terms: remove redundant words ()
"at least X" and "X or older" have identical meanings.
Using both together feels a little jarring.
Isabelle Knott 447b8bc44e Do not show media attachment as og:image if it was marked as NSFW ()
Daijiro Wachi 4f781b17cc Use input type `number` for Two-factor code ()
Matt Jankowski 137100dcf3 Clean up well-known routes/controllers ()
* Add request spec for host meta route returning xml

* Add routing spec for xrd routes

* Update well-known routes

* Move webfinger and host-meta actions to their own controllers
Matt Jankowski 3a9eb81a80 Admin accounts controller cleanup ()
* Remove unused account_params method in admin/accounts controller

* Introduce AccountFilter to find accounts

* Use AccountFilter in admin/accounts controller

* Use more restful routes admin silence and suspension area

* Add admin/silences and admin/suspensions controllers
Matt Jankowski 0e39cc6a35 Settings export refactor ()
* Refactor Export to take an account and know about the export types

* Use Export instance in settings/exports#show
Knut Erik e1264bbd92 Added norwegian version of terms of service and privacy policy ()
Ben Roberts 0254ee9795 significant improvement in microformats markup ()
* significant improvement in microformats markup

This is a huge improvement and I believe will close .

Had these microformats reviewed by others in the community to help
ensure they are at least correct, if not complete.

I did not want to change the structure of the page, and so there it does
not fully mark up the entire ancestry chain, or reply chain, only the
direct decendants and direct ancestors are correctly associated, but
this is likely fine as the most important bit is to have access to the
urls for those toots which are now correctly fetchable.

* improve code climate

* trying to pass code climate tests

* code climate

* fix p-summary for content warning posts

* fix error introduced when merging via github
David Libeau c2a31b8032 Fix target blank on "open_in_web" link ()
When you render the "embed" view in an iframe, this link bugs when clicked, due to missing target blank.
Matt Jankowski c44a700252 Quick best practice cleanup of views/helpers ()
* Remove trailing whitespace

* Use query methods instead of explicit .blank? checks
Matt Jankowski 7f0a865b05 Allow import/export of mutes list ()
* Allow export of mutes list

* Allow importing of mutes list

* Refactor to use Settings::Exports::BaseController and DRY up exports code
Thomas Citharel d90d23699c Make Reporting admin section translatable ()
* Make Reporting admin section translatable

And translate it into english and french

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

* Make subject of emails translatable and improve french translation

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

* Make error pages translatable and translate them in english and french

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

* Translate site setting section

* Insert instance in registration emails and improve them a bit

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Matt Jankowski dd1ae3b109 Simplify the way the embed view is created ()
* Add coverage for embedded status view

* Refactor embed view to eliminate @external_links variable
Matt Jankowski 3ddd936b03 Refactor exports controller ()
* Add basic coverage for settings/exports controller

* Remove unused @account variable from settings/exports controller

* Add coverage for download export actions

* Remove deprecated `render :text` in favor of `send_data` for csv downloads

* Add model to handle exports

* Use Export class in settings/exports controller

* Simplify settings/exports controller methods

* Move settings/export to more restful routes
lindwurm fc47c1d00e [about] Moving docs link to tootsuite/documentation ()
related: 1236529e39

Signed-off-by: lindwurm <lindwurm.q@gmail.com>
pinfort 6f5268b02d Add Japanese translation ()
* add device.ja.yml

* update device.ja.yml

* add file simple_form.ja.yml

* 👍Added doorkeeper.ja.yml

* add ja.yml

* Update doorkeeper.ja.yml

fixed url to uri

* update ja.yml

* fix some translations

* fix japanese grammar of a translate

* fix some translates

* fix ja.yml

* add ja.jsx

* add Japanese user mail views

* Added japanese translate locales

* Added :ja to available_locales

こっちも

* Added "日本語" to HUMAN_LOCALES

* Imported/Added ja to addLocaleData

* update ja.jsx
Eugen Rochko 2a7602cad4 Merge branch 'master' of https://github.com/blackle/mastodon into blackle-master
blackle 06444bf050 Allow user to disable the boost confirm dialog in preferences
Matt Jankowski 4ada50985a Pagination improvements ()
* Replace will_paginate with kaminari

* Use #page instead of #paginate in controllers

* Replace will_paginate.page_gap with pagination.truncate in i18n

* Customize kaminari views to match prior styles

* Set kaminari options to match prior behavior

* Replace will_paginate with paginate in views
Eugen 12f72e1740 When avatar/header are GIF, generate static versions ()
* When avatar/header are GIF, generate static versions.
Account API returns "avatar"/"avatar_static", "header"/"header_static"
Static version is the same as original for other cases
Web UI de-animates avatars in toots, lists of users

Fix , fix , prerequisite for 

* Fix JS test

* Add rake task to generate static avatars/headers from GIF ones, add test
Matt Jankowski d2f6d9b9fb Fix issue with missing emojify class in views ()
* Add missing emojify class to landing strip

* Add missing emojify class to simple_status partial
Olivier Humbert 082bef3027 French translation update ()
* Update confirmation_instructions.fr.html.erb

consistency across the French translation

* Update 

consistency across the French translation

* Update fr.yml

a bunch of consistency across the French translation + a few typos

* Update doorkeeper.fr.yml

consistency across the French translation (punctuation)
Matt Jankowski e5282e4ec0 Clean up about page ()
* Add InstancePresenter to expose site details

* Clean up about controller, use instance presenter
Eugen 9acdb166e8 Fix , fix , fix - 2FA requires confirmation to be enabled ()
* Fix , fix , fix  - 2FA requires confirmation to be enabled
TOTP secret is not shown again after 2FA is enabled

* Clean up
Thomas Citharel 41f8fde83e Update french translation ()
Add french translation for emails sent

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

Add non-breaking spaces

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

changes and fixes to the nbsps

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

French update

a few fixes

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

fixes

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Matt Jankowski ca44c13455 Use Setting.site_title value for `og:site_name` occurrences ()
* Add helper method to return Setting.site_title

* Use site_title helper in application layout

* Use site_title value for og:site_name
Joël Quenneville d4c94fa004 DRY up reblog vs original status check
Checking reblog vs original status was happening in multiple places
across the app. For views, this logic was encapsulated in a helper
method named `proper_status` but in the other layers of the app, the
logic was duplicated.

Because the logic is used at all layers of the app, we extracted it into
a `Status#proper` method on the model and changed all uses of the logic
to use this method. There is now a single source of truth for this
condition.

We added test coverage to untested methods that got refactored.
Eugen 0adee18d73 Merge branch 'master' into feature-customized-default-locale
Jantso Porali 786e6f94b9 Update Finnish translations, add sample Minio config ()
Eugen Rochko e3a3422a65 Allow setting of default language through config
Setting of locale in controller extracted to Localized concern,
the doorkeeper authorized applications controller moved under
custom namespace with inclusion of Localized, which resolves the
"it sometimes appears in a different random language" bug
Eugen 1c351709bc Force UTF8 encoding on generated XML ()
Eugen 6d6a429af8 Rewrite Atom generation from stream entries to use Ox instead of Nokogiri ()
* Rewrite Atom generation from stream entries to use Ox instead of Nokogiri::Builder

StreamEntry is now limited to only statuses, which allows some optimization. Removed
extra queries on AccountsController#show. AtomSerializer instead of AtomBuilderHelper
used in AccountsController#show, StreamEntriesController#show, StreamEntryRenderer
and PubSubHubbub::DistributionWorker

PubSubHubbub::DistributionWorker moves n+1 DomainBlock query to PubSubHubbub::DeliveryWorker
instead.

All Salmon slaps that aren't based on StreamEntry still use AtomBuilderHelper and Nokogiri

* All Salmon slaps now use Ox instead of Nokogiri. No touch from status on account
Eugen Rochko 5f54981846 New admin setting: open/close registrations, with custom message, from the admin UI
Eugen Rochko 68f829e11c Add basic logging of who resolved report
Eugen Rochko 71458dc6df When taking action on a report (silence/suspend), it dismisses all other
reports for that user automatically
Eugen Rochko b7c1b12367 Make default admin UI page reports. Add admin UI for creating a domain block
Eugen Rochko 2d07cb5771 Catching rack timeout from rails doesn't work
Eugen Rochko 5b12624847 Add proper error page for request timeouts
Eugen Rochko 433cb198fa Fix landing page sign up form ignoring username field
Eugen Rochko bde5c0eaf9 Fix some views still not using counter caches
Eugen Rochko 5e26295e06 Fix - hide spoilers on static pages
Eugen Rochko e8875c6046 Import feature for following/blocking lists (addresses , , , )
Eugen Rochko de22c202f5 Add counter caches for a large performance increase on API requests
Eugen Rochko 1c6b02f936 Fix - Webfinger should handle new shortform profile URLs now (nice)
Eugen Rochko f864fee116 Fix up some localizations
Eugen Rochko 99ca63a543 Fix public profile pagination links
Eugen Rochko 9bf4c34919 Fix - return created_at in notifications API
Eugen Rochko d6ed2eb512 Prettier account and stream entry URLs
Eugen Rochko 88f32708c3 Web UI support for the new omnisearch
Eugen Rochko 05cf086766 New API method: /api/v1/search
Returns accounts, statuses, hashtags arrays
Eugen Rochko 98571b0ce4 Don't list "direct" under default post privacy settings
Eugen Rochko 8803ca9efe Improved landing page
Eugen Rochko 6b1db5c2b2 Add landing strip
Eugen Rochko 56d998cbdb Export follow/block lists as CSV
Eugen Rochko ac406a31b0 Start page links a bit more readable
shel 38dceb3bf7 Promote Apps ()
"Various apps are available" is now a hyperlink
Eugen Rochko 6be7bde243 Fix - Add instance information API
Eugen e245115f47 Merge branch 'master' into mastodon-site-api
Eugen Rochko caf5b8e975 Fix - convert gif to webm during upload. Web UI treats them like it did
before. In the API, attachments now can be either image, video or gifv. Gifv
is to be treated like images in terms of behaviour, but are videos by file
type.
Eugen Rochko 6b81d10030 Add digest e-mails
Kit Redgrave 442fdbfc53 Mute button progress so far. WIP, doesn't entirely work correctly.
Eugen Rochko d180aaa2a7 Fix - Add RTL support to the compose form textarea and statuses output
Kibigo 620f70e42c Adds site metadata access to the API
Eugen Rochko 175a9b9caa Fix - Style OAuth authorized applications page
Add ability to search accounts by display name
Eugen Rochko f2931af61e Quick fix for avatars with the same URL not being perceived as updated and in need of re-download
Eugen Rochko d0f087db2d Add UI to view report details, remove reported statuses, quick links to resolve/silence/suspend from report
Eugen Rochko 24ba7c9762 Adding index overview for reports in admin UI
Eugen Rochko 5426f06ac2 Fix admin UI for accounts somewhat
Eugen Rochko 3b81baaaaf Adding POST /api/v1/reports API, and a UI for submitting reports
Eugen Rochko 63886bdc59 Fix - Display TOTP secret next to QR code
Eugen Rochko 2d8a4c4390 Add "next" link to Atom feeds
Eugen Rochko 0518492158 Stop trying to shoehorn all Salmon updates into the poor database-connected
StreamEntry model. Simply render Salmon slaps as they are needed
Eugen Rochko d551e43a9b Improve public tag page
Eugen Rochko d2619e0b53 Site title is now a setting
shel 3f1f3d0827 Add link to other instances list
This should help federation
Eugen 9d5fb49cd8 Merge pull request from evanminto/activitypub-account
Expose ActivityStreams 2.0 representation of accounts
Evan Minto 28cbb6dc21 Add AS2 format to RABL files
Eugen Rochko 347a153b3d Add API modifiers to limit returned toots from public/hashtag timelines
to only those from local users; Add link to "extended information" to
getting started in the UI; Add defaults for posting privacy; Change
how publish button looks depending on posting privacy chosen
Evan Minto 53234e5947 Add trailing newline
Evan Minto 3fa5d05997 Simplify RABL
Evan Minto 94e213c6c1 Reuse existing controller and route
Eugen Rochko 87830f99e7 Fix - Replace image links with image icons in status text in the UI
Eugen Rochko 21972bb398 No replies filter on home timeline no longer hides self-replies
Evan Minto e2fbf8bc74 Add an account endpoint for ActivityPub and link to it on HTML profile pages
hoodie d4d3a10c25 untested!! spoiler hotfix for replies
untested, my vagrant is bugged again, submitted at gargron's request
Eugen Rochko ccb8ac8573 Make the streaming API also handle websockets (because trying to get the browser EventSource interface to
work flawlessly was a nightmare). WARNING: This commit makes the web UI connect to the streaming API instead
of ActionCable like before. This means that if you are upgrading, you should set that up beforehand.
Eugen Rochko c2fbd144cf Add "open in web" link to detailed public status pages
Eugen Rochko 23b997ae55 Split 2FA login into two prompts
Eugen Rochko f4bc9620a9 Update settings to re-use admin layout, one big navigation tree, improve settings forms
Eugen Rochko ba192f12e3 Added optional two-factor authentication
Eugen Rochko eb62778bec Fix - opengraph description should display spoiler text when present
Eugen Rochko 999cde94a6 Instead of using spoiler boolean and spoiler_text, simply check for non-blank spoiler_text
Federate spoiler_text using warning attribute on <content /> instead of a <category term="spoiler" />
Clean up schema file from accidental development migrations
blackle bf0f6eb62d Implement a click-to-view spoiler system
Eugen Rochko 6d98a73180 Domain blocks now have varying severity - auto-suspend vs auto-silence
Eugen Rochko e22a56183a Improve error page layouting. 500 page has to stay static because it's
used from nginx when Rails fails.
Eugen Rochko b4a4eb73ae Merge branch 'fix/error-pages' of https://github.com/ineffyble/mastodon into ineffyble-fix/error-pages
Eugen Rochko f0de621e76 Fix - Fetch and display previews of URLs using OpenGraph tags
Eugen Rochko cde0476ca2 Fix
Eugen Rochko cc1eccc8bc Fix - when logged in, make "get started" link to the frontpage instead of sign up
Eugen Rochko e9737c2235 Fix tests, add applications to eager loading/cache for statuses, fix
application website validation, don't link to app website if website isn't set,
also comment out animated boost icon from  until it's consistent with non-animated version
Eugen Rochko ab165547fd Merge branch 'feature/toot-app-source' of https://github.com/ineffyble/mastodon into ineffyble-feature/toot-app-source
Effy Elden e45fed58cb Add a textual 'Back to Mastodon' link in footer of settings pages
Effy Elden 3f84816b24 Add nice error page for CSRF errors/cookie issue, and fix error page handling altogether
Effy Elden f81dc7a33a Merge branch 'feature/toot-app-source' of github.com:ineffyble/mastodon into feature/toot-app-source
Effy Elden 6c002cf615 Test for presence of Application in haml before trying to render details, to fix errors identified by CI
Effy Elden 65122798b2 Fix typo in rel
Effy Elden d6bc0e8db4 Add tracking of OAuth app that posted a status, extend OAuth apps to have optional website field, add application details to API, show application name and website on detailed status views. Resolves
Eugen Rochko 7cde08e30b Improve extended about page layout
Eugen Rochko c01dd089ff Adding about/more page with extended information that can be set up by an admin
Eugen Rochko e25170f960 Add extended about page stub
Eugen Rochko ca50ceeaf0 Add settings for contact information
Eugen Rochko b11fdc3ae3 Migrate from ledermann/rails-settings to rails-settings-cached which allows global settings
with YAML-defined defaults. Add admin page for editing global settings. Add "site_description"
setting that would show as a paragraph on the frontpage
Eugen Rochko 4a2ee43e80 Fix - escape JSON in INITIAL_STATE (this bug only ever allowed a user to xss themselves rather than anyone else)
Effy Elden f876a8681d Update the Mastodon repository URL from Gargron/ to tootsuite/ in various places
Eugen 67a31454ad Merge pull request from blackle/master
simplify emojification on public pages with .emojify class
blackle 917cf0bf5d simplify emojification on public pages with .emojify class
Eugen Rochko 205ba00017 Fix sandboxed iOS login again
Eugen Rochko 75f80bef10 Persist UI settings, add missing localizations for German
Eugen Rochko 23ebf60b95 Improve initialState loading
Eugen Rochko 1bfbce7b45 Clean up h-card mess of divs
Eugen Rochko 72c3a41bef Fix h-card classes and remote follow button appearing when it shouldn't
Greg V 18deeb9db5 Add Microformats2 markup
h-feed, h-card and h-entry
Effy Elden 819bfb75c6 Add twitter:card metatag to enable Twitter Cards support
Eugen Rochko f79ba2de83 Fix admin UI not loading JS, make sure to strip "acct:" out of remote account's usernames when authorizing follow
Eugen Rochko 8f47f6a7ec Adding remote follow button
Eugen Rochko a302e56f9a Add API for retrieving favourites
Eugen Rochko 49834a6e7f Add API for retrieving blocked accounts
Eugen Rochko 8724094ed0 Support remote follow request providing URL instead of acct
Eugen Rochko d7dc84439c Add ability to use remote follow function on other sites
Eugen Rochko eca6110fc4 Add preferences for follow request notification e-mails
Eugen Rochko 2146ac91a0 Follow requests send e-mail notifications, but are excluded from notifications API
Better initial state for unlisted/nsfw toggles
Eugen Rochko 3689c119f0 Replacing follow requests in the settings area with in-UI column
Eugen Rochko 004382e4d0 Adding follow requests API
Eugen Rochko 3282448878 Fix - resolve layout breaking on zoom-out on accounts grid
Eugen Rochko 26f969665d Fix alignment
Eugen Rochko b302b9202b Add page for authorizing/rejecting follow requests
Eugen Rochko 9d42bff285 Hide follow/unfollow button from public page if follow already requested
Eugen Rochko b891a81008 Follow call on locked account creates follow request instead
Reflect "requested" relationship in API and UI
Reflect inability of private posts to be reblogged in the UI
Disable Webfinger for locked accounts
Eugen Rochko 2d2154ba75 Add "locked" flag to accounts, prevent blocked users from following, force-unfollow blocked users
Eugen Rochko 80e02b90e4 Private visibility on statuses prevents non-followers from seeing those
Filters out hidden stream entries from Atom feed
Blocks now generate hidden stream entries, can be used to federate blocks
Private statuses cannot be reblogged (generates generic 422 error for now)
POST /api/v1/statuses now takes visibility=(public|unlisted|private) param instead of unlisted boolean
Statuses JSON now contains visibility=(public|unlisted|private) field
Eugen Rochko 587bf6820e Improved launcher icon on Android
Eugen Rochko e09d3a2c66 Fix - use window.location hack to let people login from sandboxed iOS homescreen
Eugen Rochko 0542773bca Make unfavouriting async to prevent timeout errors from leaving orphaned records behind
Eugen Rochko 5ae1b39ec9 Adjusting public display of statuses to look similar to logged-in UI,
fix  with rich OEmbed display via iframe, fix  by hiding sensitive
content behind a spoiler on public pages
Eugen Rochko aed25932b5 Add OEmbed iframe HTML, convert emojis on public pages, increase size of attachment thumbnails
Eugen Rochko 6de079a5af Removing external hub completely, fix fixing digit-only hashtags,
removing web app capability from non-webapp pages
Eugen Rochko c4ffffbeed Add a better cropped image
Eugen Rochko 642e464670 Adding art by cutewitchirl, open graph tags for about page
Eugen Rochko 76ec907993 Improved admin UI
Eugen Rochko 6c60757e99 Improve images in opengraph meta tags
Eugen Rochko c8e0ceed56 Fix OpenGraph meta tags
Eugen Rochko f978b06dd1 Add suspend account functionality to admin UI
Eugen Rochko 39cc9fde8a Add account suspension
Eugen Rochko 64d109dc0e Downsize originals in media attachments, small fixes
Eugen Rochko 9d9f796130 Adding more to admin accounts UI
Eugen Rochko d236dcded2 Fix public tags page
Eugen Rochko f763e844e8 Do not use expiring links after all
Eugen Rochko 24e692b0cf Set a specific S3 expiration time so that files can be cached
Eugen Rochko 80c44ed9c1 Do not autoplay videos, display play button instead. Use expiring links when using S3. Do not keep originals
for avatars/headers, resize avatars down to 120x120 instead of 300x300. Set cache headers on S3 stuff, also
make it private (aka only accessible via expiring links to prevent hotlinking)
Eugen Rochko 5abf64d647 Add "next" pagination to public profiles
Eugen Rochko ec44cff9a2 Admin accounts page lists accounts
Eugen Rochko 1d0321fc45 Fix pt translations, improve pre-cache queries, removing will_paginate
from accounts/tags because it's a terribly inefficient way to paginate
large sets of data
Eugen bdf7d8f8fd Fix opengraph preview image
Eugen Rochko 6ff93845d5 Add basic OEmbed provider API, fix
Eugen Rochko 14bd46946d Per-status control for unlisted mode, also federation for unlisted mode
Fix , fix 
Eugen Rochko 356d3874eb Normalize localizations, add stub for admin/accounts
Eugen Rochko 4a2347da41 Track successful PuSH deliveries
Eugen Rochko 27fc49d745 Add simple admin overview of PuSH subscriptions
Eugen Rochko 2d2c81765b Adding embedded PuSH server
Eugen Rochko 71401659b8 Fix - Options to block notifications from people you don't follow/who don't follow you
Eugen Rochko b6ee2fb1c6 Add some OpenGraph tags to public statuses
Eugen Rochko 0603971894 Adding sensitive marker to statuses in API
Eugen Rochko 1788164352 Local accounts can control "silenced" attribute which removes them from public timeline
Eugen Rochko 7abbb02824 Fix - No need for Safari chrome on iOS
Eugen Rochko f88ca4a206 Performance improvement for notifications API
Eugen Rochko da2ef4d676 Adding unified streamable notifications
Eugen Rochko 39533190c2 Display human names of locales in dropdown
Eugen Rochko 7b7bf834e9 Fix OAuth authorization page and add a spec for it
Eugen Rochko 116ab27e08 i18n for devise mailer too
Eugen Rochko 2c766bd4b4 Add user locale setting
Eugen Rochko 546c4718e7 Localizations for most server-side strings
Eugen Rochko 3ce6ac0ce2 Adding some localizations
Eugen Rochko a4313224d9 Improve how public status pages look slightly
Eugen Rochko 3f54fba0d3 Use privacy policy from Discourse
Eugen Rochko d42ed78aa4 Fix - Make web UI use browser history, change links in e-mails to link to that
Eugen Rochko ca3b364aea Fix - Add microformats-2 classes to mention links
Eugen Rochko 9aecc0f48a Move timelines API from statuses to its own controller, add a check for
resources that require a user context vs those that don't (such as public timeline)

/api/v1/statuses/public   -> /api/v1/timelines/public
/api/v1/statuses/home     -> /api/v1/timelines/home
/api/v1/statuses/mentions -> /api/v1/timelines/mentions
/api/v1/statuses/tag/:tag -> /api/v1/timelines/tag/:tag
Eugen Rochko 23fc424b7a Account notes (bios) can now contain links. Character limit upped to 160
Eugen Rochko a698b767c1 Fix linking of remote hashtags in UI, add public view of hashtags
Eugen Rochko 48b9619439 Adding hashtags
Eugen Rochko 4ea13d8dc9 Fix web app manifests
Eugen Rochko 159203a7bc Fix : Add aria-labels
Eugen Rochko 1828df9bc0 Disable accounts caching too
Eugen Rochko abf664b560 Disable caching of statuses (maybe this will help with the weird bug)
Eugen Rochko e4671adc25 Fix reblogged/favourited caching; add API endpoints for who favd/reblogged status
Eugen Rochko c003e70758 Caching should work correctly now (fingers crossed)
Eugen Rochko 562044f36a Need to disable caching again due to bug in Rabl
Eugen Rochko 0160d1d9b5 Enable caching for some rabl views
Eugen bc1dba22c5 Fix syntax errors
Frederic Hemberger e7cd6da938 Add touch icons for Chrome, iOS and Windows 10
Frederic Hemberger d991869498 a11y: Add HTML lang attribute and utf8 encoding meta tag
See: https://dequeuniversity.com/rules/axe/2.1/html-has-lang
Eugen Rochko dd03118098 Fix follow icon changing plus to minus, add terms page stub
Eugen Rochko 57304ac375 Catch 404 errors when downloading remote media, add screenshot to landing page
Eugen Rochko e0a197650a Adding common followers API, fixing fallback query again
Eugen Rochko b746a931a5 Fix OAuth authorization redirect
Eugen Rochko a9e40a3d80 Adding OAuth access scopes, fixing OAuth authorization UI, adding rate limiting
to the API
Eugen Rochko aea151a0de Fix - plain text version of devise e-mails
Eugen Rochko 43df35213e Improving all forms
Eugen Rochko 2e0a38d07c Added e-mail edit field to settings, proper format default for webfinger
Eugen Rochko d5e086a47b Adding application/jrd+json webfinger resource
Eugen Rochko de1f3aab86 Fix - Optimize n+1 queries when checking reblogged/favourited values for status lists in API
Eugen Rochko e21a3fe0cd Adding sync of follow relationships to Neo4J, accounts/suggestions API
Eugen Rochko 7a6d95f70c E-mail preferences page
Eugen Rochko 9b195f5dd3 Add window titles to auth pages and about page, link sign up/login from about page
Eugen Rochko 160b5148ec Fix magic key in webfinger XRD href
Eugen Rochko 451733961b Show media of reblogged statuses in public html view
Eugen Rochko 1f650d327d Adding public timeline
Eugen Rochko 3554d638b3 Fix - add follow/unfollow button to public profiles
Yann Vaillant 038a407b9e
Update default devise wording to include reference to Mastodon
Fix 
Eugen Rochko a488b05726 Cleaning up unused views
Eugen Rochko fc198a8b4c Adding e-mail confirmations
Eugen Rochko b3c7c8700d Fix most pages on small screens
Eugen Rochko 188c6f326b Making public pages responsive, removing reblogs/favs counts from them
Eugen Rochko 31a0202546 Slightly improved e-mail notifications
Eugen Rochko ef2b50c9ac Deleting statuses from UI
Eugen Rochko e63aebff7a Adding landing page
Eugen Rochko 4f9b7432dd Fix - Add API versioning (v1)
Eugen Rochko 7e14eefc81 Replace logo, fix - delete/unreblog/unfavourite API, fix - app
registration API
Eugen Rochko 693383234c Improved style of settings page
Eugen Rochko fb94013796 Improved partial rendering for threads
Eugen Rochko db6df6ddb3 Only load JS on homepage, no other page uses it
Eugen Rochko 57583f3fb8 Improve partial rendering and Haml performance (Haml->Hamlit)
Eugen Rochko 3f9708edc4 Change output of api/accounts/:id/follow and unfollow to return relationship
Track relationship in redux state. Display follow/unfollow and following-back
information on account view (unstyled)
Eugen Rochko bc98865c1a API returns mentions for statuses, compose form pre-fills all relevant usernames into the form when replying
Eugen Rochko e46abc71ca Fix notifications in UI, added new API for fetching account relationships
Eugen Rochko 337462aa5e Re-organizing components to be more modular, adding loading bars
Eugen Rochko 0967961de7 Improve how account detailed view looks, load account's statuses
Eugen Rochko 5342629a0a Adding webm playback to UI
Eugen Rochko bd5ad304ba Adding media controller, 1 webm/compose form allowed, previews generated
Eugen Rochko 8c0b19012b Fix , debug
Eugen Rochko 5b0cef9781 Setting up preliminary "detailed" routes in the UI, new API end-point for fetching status context
Eugen Rochko 2e7aac793a Adding sense of self to the UI, cleaning up routing, adding third (detail) column
Eugen Rochko 3cc47beb6e Refactored generation of unique tags, URIs and object URLs into own classes,
as well as formatting of content
Eugen Rochko 762157ee4e Fix for single status pages
Eugen Rochko 0f4bc56719 Improving production logs, removing n+1 on media attachments in atom,
adding attachments display to static views
Eugen Rochko 499beb4484 UI for uploading media attachments (and cancelling them)
Mostly resolves , though attachments are still not displayed in public view
Eugen Rochko fc222dfa49 Displaying media attachments in timelines
Eugen Rochko 14fb0ab4a2 Improve JSON output for media attachments, generate :small preview for them
Eugen Rochko 1d9c886518 Adding enclosures to Atom and statuses JSON
Eugen Rochko ae1fac0062 Add API to upload media attachments
Eugen Rochko 1022d682dc Normalized data in Redux, fix for asset URLs when rendered outside request
Eugen Rochko 92afd29650 The frontend will now be an OAuth app, auto-authorized. The frontend will use an access token for API requests
Adding better errors for the API controllers, posting a simple status works from the frontend now
Eugen Rochko 49520d6e62 Adding React.js, Redux, revamping dashboard
Eugen Rochko 6426819b6f Fix tests
Eugen Rochko 882c94a6bf Cleaning up status partial
Eugen Rochko 5764d52b04 Fix Sidekiq pooling issues. Remove API docs from homepage, replace with
a basic home timeline
Eugen Rochko 8eeec389c1 Add link to github project to footer, move FanOutOnWriteService calls to
DistributionWorker. That isn't the heaviest service, yet, but gotta start
somewhere
Eugen Rochko 7e58303a8d Limit Atom feeds to 20 items by default, add pagination by max_id
(But there are no Atom feed pagination elements yet)
Eugen Rochko c8999a116e Sanitize remote html in atom feeds, API (not just UI), use cached mention
relations on Status#mentions
Eugen Rochko f14f462eaf Adding Turbolinks, adding status posting form on homepage
Eugen Rochko 02696a063e Change default avatar, redirect to home after sign up
Eugen Rochko 9d55529318 Fix text color in dashboard inputs, sanitize remote status content in UI,
simplify FanOutOnWriteService, add /api/accounts/lookup method
Eugen Rochko bf08d46e58 Improving borders between predecessor/successor statuses
Eugen Rochko 35aafdba96 Ancestors and descendants of statuses
Eugen Rochko 7e00a21ea6 Small optimizations in Atom feeds
Eugen Rochko 46cbb9c551 Increase note truncation length on account grids, improve FanOutOnWrite a bit,
fix tests (the recorded Salmon fixture expects LOCAL_DOMAIN to be something
specific unfortunately)
Eugen Rochko f4ad2fb35a Strip out HTML in plain text notification e-mails. Oh, and fix
Eugen Rochko 2b116131d7 Adding e-mail notifications about mentions, follows, favourites and reblogs. Fixing another mention recording bug
Eugen Rochko 5d72b92271 Improving account grid cards layout for longer usernames and notes
Eugen Rochko 71ae4dd3d2 Adding public following and followers pages, fix
Eugen Rochko c349200761 Removing some unused gems, adding pagination to profiles, fix
Eugen Rochko 25d7c1b6ea Customizing the last of doorkeeper views, adding CSS for dashboard forms
Eugen Rochko 3441361568 Adding simple_form, adding profile settings, header image
Eugen Rochko 1aa477ac2f Customized more doorkeeper views, only logged in users can create oauth apps
Eugen Rochko aab9f57e36 Adding config for puma, dashboard layout, fixing some queries
Eugen Rochko 447cfef62d Improving feed queries, switching API to doorkeeper authentication
Eugen Rochko b919f39b31 Customizing doorkeeper views for authorizing app
Eugen Rochko d4b9b289e8 Adding Mastodon logo
Eugen Rochko fe57f6330f API methods for retrieving home and mentions timelines
Eugen Rochko ffe48fd7c6 Improving how the API responses look
Eugen Rochko ab6696e855 Adding doorkeeper, adding a REST API
POST /api/statuses                  Params: status (text contents), in_reply_to_id (optional)
GET  /api/statuses/:id
POST /api/statuses/:id/reblog

GET  /api/accounts/:id
GET  /api/accounts/:id/following
GET  /api/accounts/:id/followers
POST /api/accounts/:id/follow
POST /api/accounts/:id/unfollow

POST /api/follows                  Params: uri (e.g. user@domain)

OAuth authentication is currently disabled, but the API can be used with HTTP Auth.
Eugen Rochko 3824c58853 Adding GNU Public license, adding home timeline, reblog/favourite counters
Eugen Rochko aab330eb2d Adjusting design of public pages, optimizing account page queries
Eugen Rochko ab80ebdeec Adjusting design of profile and entry pages, linkify mentions in statuses
Eugen Rochko 6045b6cb18 Customizing devise views and controllers
Eugen Rochko 3b4e04dc32 Fixing some bugs, adding pending test examples
Eugen Rochko 23d08c6749 Changing the use of config constants to the Rails configuration object
Eugen Rochko 0e8f59c16f Refactoring Grape API methods into normal controllers & other things
Eugen Rochko 11ff92c9d7 Adding a test for ReblogService, fixing mentions for remote statuses
Eugen Rochko 47d50b0e39 A lot of fixes from a live test
Eugen Rochko f1654da7ad Added <link> tags to profiles and entries
Eugen Rochko ad5ae3f60e Update profile information and download avatar of remote accounts
Eugen Rochko 2825991e09 Improving status display design, including replies and threads
Eugen Rochko 5ae54f9e36 Adding avatars to profile page and statuses
Eugen Rochko 2c70f0ecaa Adding paperclip for avatars, fixing design of the public pages
Eugen Rochko fa29ef3a41 Improving design
Eugen Rochko 24646d5769 Adding views for the profile and entry pages
Eugen Rochko fa33750105 Adding reblogs, favourites, improving atom generation
Eugen Rochko 3b0bc18db9 Improved Atom rendering templates, added README
Eugen Rochko 2bc48e9064 Individual atom entries
Eugen Rochko 1dad72bf13 Fixes and general progress
Eugen Rochko 709c6685a9 Made some progress
Eugen Rochko 9c4856bdb1 Initial commit