Commit Graph

1448 Commits (21ad21cb507d7a5f48ef8ee726b2f9308052aa9d)

Author SHA1 Message Date
Eugen Rochko 3ab193bc3f Adding optional S3, fail-mastodon
Eugen Rochko 48b9619439 Adding hashtags
Eugen Rochko 6471a548fe Add pghero for analyzing postgres performance in production
Eugen Rochko 829d189f44 Add tests for recently added API end points
Eugen Rochko e4671adc25 Fix reblogged/favourited caching; add API endpoints for who favd/reblogged status
Eugen Rochko e7723ab662 Add puma preloading, decrease DB pool size to size of threads per worker
Eugen Rochko 53fb7b1aa8 Replace in-memory cache store with redis store, should decrease memory
footprint of each running process by 128mb
Eugen Rochko a59d10d3df Fix missing default headers
Eugen Rochko 9467b900a2 Make cookies https-only if LOCAL_HTTPS is true, set X-Frame-Options to DENY,
add permissive CORS to API controllers
Eugen Rochko dd03118098 Fix follow icon changing plus to minus, add terms page stub
Eugen Rochko e0a197650a Adding common followers API, fixing fallback query again
Eugen Rochko 720d1f8f3d Restrict access to oauth/applications to admins only
Eugen Rochko a9e40a3d80 Adding OAuth access scopes, fixing OAuth authorization UI, adding rate limiting
to the API
Eugen Rochko 43df35213e Improving all forms
Eugen Rochko d5e086a47b Adding application/jrd+json webfinger resource
Eugen Rochko dd02fc0ec4 More debugging
Eugen Rochko 6611e3a2ef More debugging
Eugen Rochko 4baca34a45 Do not compress JS (perhaps it removes source maps, needed for debugging)
Eugen Rochko c9a7e6e1e3 Enable source maps
Eugen Rochko e21a3fe0cd Adding sync of follow relationships to Neo4J, accounts/suggestions API
Eugen Rochko 7a6d95f70c E-mail preferences page
Eugen Rochko 1f650d327d Adding public timeline
Eugen Rochko 3554d638b3 Fix - add follow/unfollow button to public profiles
Waldir Pimenta 4f654eb822 use consistent capitalization for subject lines
Yann Vaillant 038a407b9e
Update default devise wording to include reference to Mastodon
Fix 
Eugen Rochko fe77921e47 Catching more exceptions that slipped through, removing AR logging from
production as it's very verbose and not very useful
Eugen Rochko 7b9a4af311 API for blocking and unblocking
Eugen Rochko fc198a8b4c Adding e-mail confirmations
Eugen Rochko d74da1a89a Small fixes
Eugen Rochko f06f295890 Fix doorkeeper skip_authorization
Eugen Rochko 6d7290f47c Add API for getting info about authenticated user: /api/v1/accounts/verify_credentials
Eugen Rochko 4909bbf415 Add logging for outgoing http requests
Eugen Rochko 492224b93f Allow non-https redirect URIs for OAuth apps (AndStatus seems to require this)
Eugen Rochko e63aebff7a Adding landing page
Eugen Rochko 4f9b7432dd Fix - Add API versioning (v1)
Eugen Rochko 7e14eefc81 Replace logo, fix - delete/unreblog/unfavourite API, fix - app
registration API
Eugen Rochko 3b56350121 Fix - Rate limit GET reqs to 300/5min, POST to 100/5min
Eugen Rochko e46abc71ca Fix notifications in UI, added new API for fetching account relationships
Eugen Rochko bd5ad304ba Adding media controller, 1 webm/compose form allowed, previews generated
Eugen Rochko 5b0cef9781 Setting up preliminary "detailed" routes in the UI, new API end-point for fetching status context
Eugen Rochko 85d89b472d Optimized n+1 queries in accounts Atom and HTML views
Added stack trace for SQL queries in development
Removed badly thought out accounts/lookup API
Eugen Rochko 509c18eb13 Fix local follows, 404 in logs
Eugen Rochko 0f4bc56719 Improving production logs, removing n+1 on media attachments in atom,
adding attachments display to static views
Eugen Rochko eec0dc46a6 PostStatusService can attach media to status, ProcessFeedService likewise
Eugen Rochko ae1fac0062 Add API to upload media attachments
Eugen Rochko 413e700fe0 Enhancing test suite but I think the problem might have been caching setting
Eugen Rochko 1022d682dc Normalized data in Redux, fix for asset URLs when rendered outside request
Eugen Rochko 92afd29650 The frontend will now be an OAuth app, auto-authorized. The frontend will use an access token for API requests
Adding better errors for the API controllers, posting a simple status works from the frontend now
Eugen Rochko 44e57f64dd Improving statuses, adding a composer drawer, which doesn't work yet
Eugen Rochko bc0692d75b Removing mini-profiler that doesn't work, formatting timelines a bit better
Eugen Rochko 49520d6e62 Adding React.js, Redux, revamping dashboard
Eugen Rochko 68c93f8b85 Final fix for ActionCable origin issues
Eugen Rochko 8985f8e66c Fixing more configuration issues with ActionCable
Eugen Rochko 5a8c149f6b Fix ActionCable origin checking
Eugen Rochko 8459acd123 Fix for force SSL issue with websockets
Eugen Rochko 6426819b6f Fix tests
Eugen Rochko 6deb9f966e Live timelines using ActionCable
Eugen Rochko 10ba09f546 Upgrade to Rails 5.0.0.1
Eugen Rochko 6c480c8429 Oops, typo
Eugen Rochko 85b00d19b8 Moving Salmon notifications to background processing, fixing mini-profiler
behaviour with Turbolinks enabled, optimizing Rabl for production
Eugen Rochko 5764d52b04 Fix Sidekiq pooling issues. Remove API docs from homepage, replace with
a basic home timeline
Eugen Rochko bb98ee489d Up the number of pooled DB connections to cover both Sidekiq and Puma workers
Eugen Rochko 318886287b Fixing some stuff for Turbolinks, adding gzip on top, fixing a n+1 query
Eugen Rochko 36f3da3cde Adjust down the number of Sidekiq threads to 5 (default of 25 is way too high)
Eugen Rochko e24bfbde1a Fixing FanOutOnWriteService, fixing Sidekiq not having enough DB connections
in the pool, adding a throttle of 60rpm per IP, adding mini profiler, adding
admin status to users
Eugen Rochko 42dcb0d4cb Adding Sidekiq for background processing (firstly just of mailers)
Eugen Rochko f14f462eaf Adding Turbolinks, adding status posting form on homepage
Eugen Rochko 9d55529318 Fix text color in dashboard inputs, sanitize remote status content in UI,
simplify FanOutOnWriteService, add /api/accounts/lookup method
Eugen Rochko 253ab26520 Adding more tests for helpers
Eugen Rochko b640f35621 Writing out more tests, fixed some bugs
Eugen Rochko e2b846f630 Adding letter opener for development and Rack::Attack for future rate limiting implementations
Eugen Rochko 71ae4dd3d2 Adding public following and followers pages, fix
Eugen Rochko 9cb690c706 Access tokens no longer expire, case-insensitive local username validation, as well as case-insensitive Webfinger look-up
Eugen Rochko 48d66a2055 Fixing the docker container setup (with assets compilation &co)
Eugen Rochko 2c374cd97c Adding e-mail configuration
Eugen Rochko b17202ca0f Adding a docker-compose template for running Mastodon easily
Eugen Rochko 6fec8afc3f Bind oauth applications to users
Eugen Rochko 3441361568 Adding simple_form, adding profile settings, header image
Eugen Rochko 1aa477ac2f Customized more doorkeeper views, only logged in users can create oauth apps
Eugen Rochko aab9f57e36 Adding config for puma, dashboard layout, fixing some queries
Eugen Rochko 447cfef62d Improving feed queries, switching API to doorkeeper authentication
Eugen Rochko b919f39b31 Customizing doorkeeper views for authorizing app
Eugen Rochko 6c4c84b161 Distrubute statuses as a fan-out-on-write system, with optional precomputing
Eugen Rochko fe57f6330f API methods for retrieving home and mentions timelines
Eugen Rochko f099bc6091 Adding API for favouriting a status
Eugen Rochko ab6696e855 Adding doorkeeper, adding a REST API
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.
Eugen Rochko c605b828b5 Adding routes to follow, unfollow, favourite and reblog (locally known models)
Eugen Rochko 6045b6cb18 Customizing devise views and controllers
Eugen Rochko 7e93da3f8d Removing grape and adding devise
Eugen Rochko 23d08c6749 Changing the use of config constants to the Rails configuration object
Eugen Rochko 0e8f59c16f Refactoring Grape API methods into normal controllers & other things
Eugen Rochko ee73d35eea Incoming Salmon requests can be turned into follows and unfollows
Eugen Rochko fa33750105 Adding reblogs, favourites, improving atom generation
Eugen Rochko 3b0bc18db9 Improved Atom rendering templates, added README
Eugen Rochko 2bc48e9064 Individual atom entries
Eugen Rochko 1dad72bf13 Fixes and general progress
Eugen Rochko 709c6685a9 Made some progress
Eugen Rochko 9c4856bdb1 Initial commit