Age | Commit message (Collapse) | Author | |
---|---|---|---|
2016-11-06 | Adding optional S3, fail-mastodon | Eugen Rochko | |
2016-11-04 | Add pghero for analyzing postgres performance in production | Eugen Rochko | |
2016-11-02 | Replace in-memory cache store with redis store, should decrease memory | Eugen Rochko | |
footprint of each running process by 128mb | |||
2016-10-14 | Adding sync of follow relationships to Neo4J, accounts/suggestions API | Eugen Rochko | |
2016-10-07 | Adding user settings (model and mailer), no form yet | Eugen Rochko | |
2016-10-02 | Add logging for outgoing http requests | Eugen Rochko | |
2016-09-24 | Improve partial rendering and Haml performance (Haml->Hamlit) | Eugen Rochko | |
2016-09-21 | Fix #24 - Thread resolving for remote statuses | Eugen 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-18 | Update sidekiq, remove sinatra dependency | Eugen Rochko | |
2016-09-12 | Fixing image upload limits, allowing webm, merge/unmerge events trigger | Eugen Rochko | |
timeline reload in UI, other small fixes | |||
2016-09-08 | Optimized n+1 queries in accounts Atom and HTML views | Eugen Rochko | |
Added stack trace for SQL queries in development Removed badly thought out accounts/lookup API | |||
2016-09-08 | Improving production logs, removing n+1 on media attachments in atom, | Eugen Rochko | |
adding attachments display to static views | |||
2016-08-24 | Removing mini-profiler that doesn't work, formatting timelines a bit better | Eugen Rochko | |
2016-08-24 | Adding React.js, Redux, revamping dashboard | Eugen Rochko | |
2016-08-18 | Live timelines using ActionCable | Eugen Rochko | |
2016-08-17 | Upgrade to Rails 5.0.0.1 | Eugen Rochko | |
2016-03-26 | Moving Salmon notifications to background processing, fixing mini-profiler | Eugen Rochko | |
behaviour with Turbolinks enabled, optimizing Rabl for production | |||
2016-03-25 | Fixing some stuff for Turbolinks, adding gzip on top, fixing a n+1 query | Eugen Rochko | |
2016-03-25 | Fixing FanOutOnWriteService, fixing Sidekiq not having enough DB connections | Eugen Rochko | |
in the pool, adding a throttle of 60rpm per IP, adding mini profiler, adding admin status to users | |||
2016-03-25 | Adding Sidekiq for background processing (firstly just of mailers) | Eugen Rochko | |
2016-03-21 | Adding Turbolinks, adding status posting form on homepage | Eugen Rochko | |
2016-03-21 | Security update | Eugen Rochko | |
2016-03-19 | Adding letter opener for development and Rack::Attack for future rate ↵ | Eugen Rochko | |
limiting implementations | |||
2016-03-19 | Removing some unused gems, adding pagination to profiles, fix #10 | Eugen Rochko | |
2016-03-12 | Adding simple_form, adding profile settings, header image | Eugen Rochko | |
2016-03-12 | Adding config for puma, dashboard layout, fixing some queries | Eugen Rochko | |
2016-03-11 | Improving feed queries, switching API to doorkeeper authentication | Eugen Rochko | |
2016-03-08 | Distrubute statuses as a fan-out-on-write system, with optional precomputing | Eugen Rochko | |
2016-03-07 | Adding doorkeeper, adding a REST API | Eugen 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-06 | Adding GNU Public license, adding home timeline, reblog/favourite counters | Eugen Rochko | |
2016-03-05 | Removing grape and adding devise | Eugen Rochko | |
2016-02-29 | Refactoring Grape API methods into normal controllers & other things | Eugen Rochko | |
2016-02-28 | Adding a test for ReblogService, fixing mentions for remote statuses | Eugen Rochko | |
2016-02-28 | Adding paperclip for avatars, fixing design of the public pages | Eugen Rochko | |
2016-02-26 | Adding views for the profile and entry pages | Eugen Rochko | |
2016-02-26 | Adding a bunch of tests | Eugen Rochko | |
2016-02-25 | Adding a Mention model, test stubs | Eugen Rochko | |
2016-02-24 | Send Salmon interactions | Eugen Rochko | |
2016-02-22 | Made some progress | Eugen Rochko | |
2016-02-20 | Initial commit | Eugen Rochko | |