about summary refs log tree commit diff
path: root/app/controllers
AgeCommit message (Collapse)Author
2018-07-03Re-add follow recommendations API (#7918)Eugen Rochko
* Re-add follow recommendations API GET /api/v1/suggestions Removed in 8efa081f210d72ed450c39ac4cde0fd84fb3d3fb due to Neo4J dependency. The algorithm uses triadic closures, takes into account suspensions, blocks, mutes, domain blocks, excludes locked and moved accounts, and prefers more recently updated accounts. * Track interactions with people you don't follow Replying to, favouriting and reblogging someone you're not following will make them show up in follow recommendations. The interactions have different weights: - Replying is 1 - Favouriting is 10 (decidedly positive interaction, but private) - Reblogging is 20 Following them, muting or blocking will remove them from the list, obviously. * Remove triadic closures, ensure potential friendships are trimmed
2018-07-01Improve embeds (#7919)Eugen Rochko
* Make embeds cacheable by reverse proxy * Make follow button on embeds open remote follow modal Instead of web+mastodon://, also, turn the button blue, and add a sign up prompt to the remote follow modal
2018-06-30Typo in signature verification failure logging (#7916)Marty McGuire
`@signature_verification_failure_reason` is used in most places but`@signed_verification_failure_reason` appears in two places. Likely those errors are not returned.
2018-06-29Keyword/phrase filtering (#7905)Eugen Rochko
* Add keyword filtering GET|POST /api/v1/filters GET|PUT|DELETE /api/v1/filters/:id - Irreversible filters can drop toots from home or notifications - Other filters can hide toots through the client app - Filters use a phrase valid in particular contexts, expiration * Make sure expired filters don't get applied client-side * Add missing API methods * Remove "regex filter" from column settings * Add tests * Add test for FeedManager * Add CustomFilter test * Add UI for managing filters * Add streaming API event to allow syncing filters * Fix tests
2018-06-24Add tests for remote_unfollows_controller (#7879)Shuhei Kitagawa
2018-06-21Replace bypass option with bypass_sign_in (#7867)Shuhei Kitagawa
2018-06-17Allow selecting default posting language instead of auto-detect (#7828)Eugen Rochko
* Allow selecting default posting language instead of auto-detect * Enable default language setting in credentials API * Fix form saving
2018-06-17Change language opt-out to language opt-in (#7823)Eugen Rochko
* Switch filtered_languages to chosen_languages * Adjust interface * Remove unused translations
2018-06-15Add autofollow option to invites (#7805)Eugen Rochko
* Add autofollow option to invites * Trigger CodeClimate rebuild
2018-06-09Add tests for intents_controller (#7763)Shuhei Kitagawa
2018-06-09Fix domain hiding logic (#7765)Eugen Rochko
* 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-04Remove trending hashtags (#7711)Eugen Rochko
* Delete trends_controller.rb * Update routes.rb * Update trending_tags.rb * Update index.js * Update index.js * Update search_results.js * Update async-components.js * Update index.js * Delete trends.js * Delete trends.js * Delete trends_container.js * Delete trends.js * Update search_results.js * Update search_results_container.js
2018-05-29Add GET /api/v2/search which returns rich tag objects, adjust web UI (#7661)Eugen Rochko
2018-05-28optimize direct timeline (#7614)tateisu
* optimize direct timeline * fix typo in class name * change filter condition for direct timeline * fix codestyle issue * revoke index_accounts_not_silenced because direct timeline does not use it. * revoke index_accounts_not_silenced because direct timeline does not use it. * fix rspec test condition. * fix rspec test condition. * fix rspec test condition. * revoke adding column and partial index * (direct timeline) move merging logic to model * fix pagination parameter * add method arguments that switches return array of status or cache_ids * fix order by * returns ActiveRecord.Relation in default behavor * fix codestyle issue
2018-05-27Track trending tags (#7638)Eugen Rochko
* Track trending tags - Half-life of 1 day - Historical usage in daily buckets (last 7 days stored) - GET /api/v1/trends Fix #271 * Add trends to web UI * Don't render compose form on search route, adjust search results header * Disqualify tag from trends if it's in disallowed hashtags setting * Count distinct accounts using tag, ignore silenced accounts
2018-05-26Catch ActionController::UnknownFormat and return HTTP 406 (#7621)Eugen Rochko
An error like that should not appear in production error log.
2018-05-22Yeah, it was supposed to be #create?Eugen Rochko
2018-05-22Enforce order on authorized applications page (#7587)Eugen Rochko
Fix #7586
2018-05-21Remove small pagination limit from context API (#7564)Eugen Rochko
Fix #7557
2018-05-19Ensure push subscription is immediately removed when application is revoked ↵Eugen Rochko
(#7548) * Ensure push subscription is immediately removed when application is revoked * When token is revoked from app, unsubscribe too
2018-05-18Add preference to hide following/followers lists (#7532)Eugen Rochko
* 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 #6901 * Add preference * Add delegation * Fix issue * Fix issue
2018-05-17Ensure unfilled fields are shown when errors are shown (#7523)Eugen Rochko
Fix #7486
2018-05-17HTTP signatures spec no longer requires algorithms field (#7525)Eugen Rochko
Fix #7520
2018-05-16Do not use permitted_for scope when querying pinned statuses (#7510)Akihiko Odaki
permitted_for scope is slow when combined with pinned status scope. Fortunately permitted_for scope can safely be removed because a pinned status is always public.
2018-05-16Raise Mastodon::RaceConditionError if Redis lock failed (#7511)Akihiko Odaki
An explicit error allows user agents to know the error and Sidekiq to retry.
2018-05-13Fix 404 for GET /api/v1/push/subscription (#7472)Eugen Rochko
My bad...
2018-05-13Add GET /api/v1/push/subscription REST API (#7471)Eugen Rochko
* Add Api::V1::Push::SubscriptionsController#show * Add to routes
2018-05-11Update session activation time (fixes #5605) (#7408)ThibG
2018-05-11Add tests for invites controller (#7441)Shuhei Kitagawa
* Add tests for invites controller * Small refactoring and fix for invites controller
2018-05-11Add REST API for Web Push Notifications subscriptions (#7445)Eugen Rochko
- POST /api/v1/push/subscription - PUT /api/v1/push/subscription - DELETE /api/v1/push/subscription - New OAuth scope: "push" (required for the above methods)
2018-05-07Bot nameplates (#7391)Eugen Rochko
* Store actor type in database * Add bot nameplate to web UI, add setting to preferences, API, AP Fix #7365 * Fix code style issues
2018-05-07Fix distribute_add_activity and distribute_remove_activity (#7393)abcang
2018-05-06Add resend confirmation for admin (#7378)Shuhei Kitagawa
* Add confirmations_controller#resend * Add tests for confirmations_controller#resend * Add translations
2018-05-05Improve admin UI for accounts (#7360)Eugen Rochko
* 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-04Do not render first page of following and followers collections unless ↵ThibG
explicitly asked to (#7357)
2018-05-04Better pagination for ActivityPub outbox (#7356)Eugen Rochko
2018-05-02Slightly reduce RAM usage (#7301)Eugen Rochko
* 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-02Allow updating bio fields via PUT /api/v1/accounts/update_credentials (#7288)Eugen Rochko
Add raw bio fields to the source attribute on GET /api/v1/accounts/verify_credentials
2018-04-30Disable API access when login is disabled (#7289)Eugen Rochko
2018-04-30Return HTTP 410 for suspended accounts in GET /api/v1/accounts/:id (#7287)Eugen Rochko
Fix #7243
2018-04-30Fix "Show more" URL on paginated threads for remote statuses (#7285)Eugen Rochko
* Fix URL of "Show more" link in paginated threads (ancestors side) Increase item limits in threads Fix #7268 * Fix "Show more" link in paginated threads (descendants side)
2018-04-25Add RSS feeds for end-users (#7259)Eugen Rochko
* Add RSS feed for accounts * Add RSS feeds for hashtags * Fix code style issues * Fix code style issues
2018-04-23Paginate descendant statuses in public page (#7148)Akihiko Odaki
2018-04-20Fix spec for sr-Latn (#7203)Yamagishi Kazutoshi
2018-04-20Improve report layout (#7188)Eugen Rochko
* 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-18Direct messages column (#4514)Kaito Sinclaire
* Added a timeline for Direct statuses * Lists all Direct statuses you've sent and received * Displayed in Getting Started * Streaming server support for direct TL * Changes to match other timelines in 2.0
2018-04-17Improve web api protect (#6343)abcang
2018-04-17Set Referrer-Policy to origin in web UI and public pages of private toots ↵Eugen Rochko
(#7162) Fix #7115
2018-04-16Redirect to account status page for page of status stream entry (#7104)Akihiko Odaki
Commit 519119f657cf97ec187008a28dba00c1125a9292 missed a change for stream entry page. Instead of duplicating the change, redirect to account status page. It would also help crawlers (of search engines, for example) to understand a stream entry URL and its corresponding status URL points to the same page.
2018-04-14Add bio fields (#6645)Eugen Rochko
* Add bio fields - Fix #3211 - Fix #232 - Fix #121 * Display bio fields in web UI * Fix output of links and missing fields * Federate bio fields over ActivityPub as PropertyValue * Improve how the fields are stored, add to Edit profile form * Add rel=me to links in fields Fix #121