about summary refs log tree commit diff
path: root/Gemfile
AgeCommit message (Collapse)Author
2017-04-09Use HTTP Accept-Language to detect locale (#1166)David Authier
* Use HTTP Accept-Language to detect locale * Fix gem order to comply with codeclimate * Sort gem to comply with rubocop * I18n.default_locale fallback when there is no accept-language header
2017-04-07Rewrite Atom generation from stream entries to use Ox instead of Nokogiri ↵Eugen
(#1124) * 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
2017-04-04Mastodon isn't using jbuilder or sdoc, and it prevents an upgrade to 2.4.0Kurtis Rainbolt-Greene
2017-04-05alphebatically order test gem group as required by rubocopSamy KACIMI
2017-04-05fix rubocop issuesSamy KACIMI
2017-04-05add more tests to modelsSamy KACIMI
2017-04-04Remove sidekiq-mergerEugen Rochko
2017-04-04Reduce number of items in feeds, optimize regeneration worker slightly,Eugen Rochko
make regeneration worker unique, (only schedule/execute once at a time)
2017-04-04Optimize filter methods in FeedManager a bit, use redis pipelining on ↵Eugen Rochko
merge/unmerge feed methods, do not re-create a dynamic class on each feed push call, make sure redis-rb uses hiredis
2017-04-03update DockerfileWonderfall
2017-04-02Add proper error page for request timeoutsEugen Rochko
2017-03-22Upgrade Rails to 5.0.2Eugen Rochko
2017-03-17Make account search blazing fast and rank followers/followees higher in the ↵Eugen Rochko
results
2017-02-22Fix #555 - Use a better URL parserEugen Rochko
2017-02-16Speed up capistrano deploymentsEugen Rochko
2017-02-05Fix #61 - Add list of blocked users to the UI; clean up failed push ↵Eugen Rochko
notifications API Try to fix Travis CI setup
2017-01-30Add capistrano to development environmentEugen Rochko
2017-01-29API for apps to register for push notificationsEugen Rochko
2017-01-27Added optional two-factor authenticationEugen Rochko
2017-01-26Removed accidental n+1 query from notifications, updated some deps,Eugen Rochko
improved how "show more" link looks
2017-01-23Fix #365, 1/2 of #408 - replace rails_autolink with URI.regexp, run ↵Eugen Rochko
link_hashtags on simplified_format
2017-01-21Set remote dev environments to use letter_opener_web, add default ↵Effy Elden
.env.vagrant variables
2017-01-20Fix #463 - Fetch and display previews of URLs using OpenGraph tagsEugen Rochko
2017-01-19Fix statsd null backend not being initialized properlyEugen Rochko
2017-01-18Add optional StatsD performance trackingEugen Rochko
2017-01-12Migrate from ledermann/rails-settings to rails-settings-cached which allows ↵Eugen Rochko
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
2017-01-11Add ruby version to Gemfile, move devDependencies in package.json to ↵Eugen Rochko
dependencies, fix bug in process feed service
2016-12-21Update Rails to 5.0.1Eugen Rochko
2016-12-13Improved admin UIEugen Rochko
2016-11-29Upgrade Paperclip to 5, AWS-SDK to 2, do not generate medium/small versions ↵Eugen Rochko
of avatars
2016-11-29Adding rack timeout of 30sec, PuSH jobs moved to push queue so theyEugen Rochko
can be processed separately
2016-11-24Remove Neo4JEugen Rochko
2016-11-24Mini Profiler not working well, remove itEugen Rochko
2016-11-22Moving some counter queries out of subqueries in the APIEugen Rochko
2016-11-22Upgrade to latest Rails, which apparently improves ActionCable performanceEugen Rochko
2016-11-16Localizations for most server-side stringsEugen Rochko
2016-11-15Fix rubocop issues, introduce usage of frozen literal to improve performanceEugen Rochko
2016-11-12Use full-text search for autosuggestionsEugen Rochko
2016-11-09Replace setting custom CORS headers with rack-cors, set it on /oauth/token ↵Eugen Rochko
endpoint
2016-11-07Replace react-skylight with own solution that centers images betterEugen Rochko
2016-11-06Downgrade aws gem as this one was incompatible with PaperclipEugen Rochko
2016-11-06Adding optional S3, fail-mastodonEugen Rochko
2016-11-04Add pghero for analyzing postgres performance in productionEugen Rochko
2016-11-02Replace in-memory cache store with redis store, should decrease memoryEugen Rochko
footprint of each running process by 128mb
2016-10-14Adding sync of follow relationships to Neo4J, accounts/suggestions APIEugen Rochko
2016-10-07Adding user settings (model and mailer), no form yetEugen Rochko
2016-10-02Add logging for outgoing http requestsEugen Rochko
2016-09-24Improve partial rendering and Haml performance (Haml->Hamlit)Eugen Rochko
2016-09-21Fix #24 - Thread resolving for remote statusesEugen Rochko
This is a big one, so let me enumerate: Accounts as well as stream entry pages now contain Link headers that reference the Atom feed and Webfinger URL for the former and Atom entry for the latter. So you only need to HEAD those resources to get that information, no need to download and parse HTML <link>s. ProcessFeedService will now queue ThreadResolveWorker for each remote status that it cannot find otherwise. Furthermore, entries are now processed in reverse order (from bottom to top) in case a newer entry references a chronologically previous one. ThreadResolveWorker uses FetchRemoteStatusService to obtain a status and attach the child status it was queued for to it. FetchRemoteStatusService looks up the URL, first with a HEAD, tests if it's an Atom feed, in which case it processes it directly. Next for Link headers to the Atom feed, in which case that is fetched and processed. Lastly if it's HTML, it is checked for <link>s to the Atom feed, and if such is found, that is fetched and processed. The account for the status is derived from author/name attribute in the XML and the hostname in the URL (domain). FollowRemoteAccountService and ProcessFeedService are used. This means that potentially threads are resolved recursively until a dead-end is encountered, however it is performed asynchronously over background jobs, so it should be ok.
2016-09-18Update sidekiq, remove sinatra dependencyEugen Rochko