about summary refs log tree commit diff
path: root/Gemfile
AgeCommit message (Collapse)Author
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
2016-09-12Fixing image upload limits, allowing webm, merge/unmerge events triggerEugen Rochko
timeline reload in UI, other small fixes
2016-09-08Optimized n+1 queries in accounts Atom and HTML viewsEugen Rochko
Added stack trace for SQL queries in development Removed badly thought out accounts/lookup API
2016-09-08Improving production logs, removing n+1 on media attachments in atom,Eugen Rochko
adding attachments display to static views
2016-08-24Removing mini-profiler that doesn't work, formatting timelines a bit betterEugen Rochko
2016-08-24Adding React.js, Redux, revamping dashboardEugen Rochko
2016-08-18Live timelines using ActionCableEugen Rochko
2016-08-17Upgrade to Rails 5.0.0.1Eugen Rochko
2016-03-26Moving Salmon notifications to background processing, fixing mini-profilerEugen Rochko
behaviour with Turbolinks enabled, optimizing Rabl for production
2016-03-25Fixing some stuff for Turbolinks, adding gzip on top, fixing a n+1 queryEugen Rochko
2016-03-25Fixing FanOutOnWriteService, fixing Sidekiq not having enough DB connectionsEugen Rochko
in the pool, adding a throttle of 60rpm per IP, adding mini profiler, adding admin status to users
2016-03-25Adding Sidekiq for background processing (firstly just of mailers)Eugen Rochko
2016-03-21Adding Turbolinks, adding status posting form on homepageEugen Rochko
2016-03-21Security updateEugen Rochko
2016-03-19Adding letter opener for development and Rack::Attack for future rate ↵Eugen Rochko
limiting implementations
2016-03-19Removing some unused gems, adding pagination to profiles, fix #10Eugen Rochko
2016-03-12Adding simple_form, adding profile settings, header imageEugen Rochko
2016-03-12Adding config for puma, dashboard layout, fixing some queriesEugen Rochko
2016-03-11Improving feed queries, switching API to doorkeeper authenticationEugen Rochko
2016-03-08Distrubute statuses as a fan-out-on-write system, with optional precomputingEugen Rochko
2016-03-07Adding doorkeeper, adding a REST APIEugen Rochko
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.