Age | Commit message (Collapse) | Author | |
---|---|---|---|
2017-01-19 | Fix statsd null backend not being initialized properly | Eugen Rochko | |
2017-01-18 | Add optional StatsD performance tracking | Eugen Rochko | |
2017-01-12 | Migrate 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-11 | Add ruby version to Gemfile, move devDependencies in package.json to ↵ | Eugen Rochko | |
dependencies, fix bug in process feed service | |||
2016-12-21 | Update Rails to 5.0.1 | Eugen Rochko | |
2016-12-13 | Improved admin UI | Eugen Rochko | |
2016-11-29 | Upgrade Paperclip to 5, AWS-SDK to 2, do not generate medium/small versions ↵ | Eugen Rochko | |
of avatars | |||
2016-11-29 | Adding rack timeout of 30sec, PuSH jobs moved to push queue so they | Eugen Rochko | |
can be processed separately | |||
2016-11-24 | Remove Neo4J | Eugen Rochko | |
2016-11-24 | Mini Profiler not working well, remove it | Eugen Rochko | |
2016-11-22 | Moving some counter queries out of subqueries in the API | Eugen Rochko | |
2016-11-22 | Upgrade to latest Rails, which apparently improves ActionCable performance | Eugen Rochko | |
2016-11-16 | Localizations for most server-side strings | Eugen Rochko | |
2016-11-15 | Fix rubocop issues, introduce usage of frozen literal to improve performance | Eugen Rochko | |
2016-11-12 | Use full-text search for autosuggestions | Eugen Rochko | |
2016-11-09 | Replace setting custom CORS headers with rack-cors, set it on /oauth/token ↵ | Eugen Rochko | |
endpoint | |||
2016-11-07 | Replace react-skylight with own solution that centers images better | Eugen Rochko | |
2016-11-06 | Downgrade aws gem as this one was incompatible with Paperclip | Eugen Rochko | |
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 | |