about summary refs log tree commit diff
path: root/Gemfile
AgeCommit message (Collapse)Author
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.
2016-03-06Adding GNU Public license, adding home timeline, reblog/favourite countersEugen Rochko
2016-03-05Removing grape and adding deviseEugen Rochko
2016-02-29Refactoring Grape API methods into normal controllers & other thingsEugen Rochko
2016-02-28Adding a test for ReblogService, fixing mentions for remote statusesEugen Rochko
2016-02-28Adding paperclip for avatars, fixing design of the public pagesEugen Rochko
2016-02-26Adding views for the profile and entry pagesEugen Rochko
2016-02-26Adding a bunch of testsEugen Rochko
2016-02-25Adding a Mention model, test stubsEugen Rochko
2016-02-24Send Salmon interactionsEugen Rochko
2016-02-22Made some progressEugen Rochko
2016-02-20Initial commitEugen Rochko