about summary refs log tree commit diff
path: root/streaming
AgeCommit message (Collapse)Author
2020-08-11Add support for managing multiple stream subscriptions in a single ↵Eugen Rochko
connection (#14524)
2020-07-07Fix streaming server only working for streams allowing local-only tootsThibaut Girka
2020-07-06Add UI option to show local-only toots in public timelineThibaut Girka
2020-06-26Merge branch 'master' into glitch-soc/merge-upstreamThibaut Girka
2020-06-24Change streaming server to treat blank redis password as password-less auth ↵ThibG
(#14135) Fixes #14131 Our `mastodon:setup` task defaults to a blank password rather than the absence of password, but some versions of Redis reject blank password authentication when authentication is possible without a password. The Ruby code only uses the Redis password when it's not blank, so do the same for the node.js part.
2020-06-09Merge branch 'master' into glitch-soc/merge-upstreamThibaut Girka
Conflicts: - `app/controllers/activitypub/collections_controller.rb`: Conflict due to glitch-soc having to take care of local-only pinned toots in that controller. Took upstream's changes and restored the local-only special handling. - `app/controllers/auth/sessions_controller.rb`: Minor conflicts due to the theming system, applied upstream changes, adapted the following two files for glitch-soc's theming system: - `app/controllers/concerns/sign_in_token_authentication_concern.rb` - `app/controllers/concerns/two_factor_authentication_concern.rb` - `app/services/backup_service.rb`: Minor conflict due to glitch-soc having to handle local-only toots specially. Applied upstream changes and restored the local-only special handling. - `app/views/admin/custom_emojis/index.html.haml`: Minor conflict due to the theming system. - `package.json`: Upstream dependency updated, too close to a glitch-soc-only dependency in the file. - `yarn.lock`: Upstream dependency updated, too close to a glitch-soc-only dependency in the file.
2020-06-02Add E2EE API (#13820)Eugen Rochko
2020-05-10Merge branch 'master' into glitch-soc/merge-upstreamThibaut Girka
Conflicts: - `Gemfile.lock`: Not a real conflict, just a glitch-soc-only dependency too close to a dependency that got updated upstream. Updated as well. - `app/models/status.rb`: Not a real conflict, just a change too close to glitch-soc-changed code for optionally showing boosts in public timelines. Applied upstream changes. - `app/views/layouts/application.html.haml`: Upstream a new, static CSS file, conflict due to glitch-soc's theming system, include the file regardless of the theme. - `config/initializers/content_security_policy.rb`: Upstream dropped 'unsafe-inline' from the 'style-src' directive, but both files are very different. Removed 'unsafe-inline' as well.
2020-05-10Add remote only to public timeline (#13504)Takeshi Umeda
* Add remote only to public timeline * Fix code style
2020-01-25Merge branch 'master' into glitch-soc/merge-upstreamThibaut Girka
2020-01-24minor server-sent events fixes (#12945)Ben Lubar
* Send output on the server-sent events stream immediately so the client sees that it was successfully opened even if it doesn't have any messages. Fix transparent SSE streaming for the public:local and hashtag:local stream types. * Tell caches to never store server-sent events.
2019-07-30Merge branch 'master' into glitch-soc/merge-upstreamThibaut Girka
Conflicts: - app/controllers/directories_controller.rb - package.json - yarn.lock
2019-07-30Add whitelist mode (#11291)Eugen Rochko
2019-07-16Change default interface of web and streaming from 0.0.0.0 to 127.0.0.1 (#11302)Eugen Rochko
2019-07-15Change default interface of web and streaming from 0.0.0.0 to 127.0.0.1 (#11302)Eugen Rochko
2019-06-18Fix streaming server crashing when updating filtersThibaut Girka
2019-05-24Merge branch 'master' into glitch-soc/merge-upstreamThibaut Girka
Conflicts: - streaming/index.js
2019-05-24Improve streaming server security (#10818)ThibG
* Check OAuth token scopes in the streaming API * Use Sec-WebSocket-Protocol instead of query string to pass WebSocket token Inspired by https://github.com/kubevirt/kubevirt/issues/1242
2019-05-23Merge branch 'master' into glitch-soc/merge-upstreamThibaut Girka
Conflicts: - app/models/account.rb - app/views/settings/profiles/show.html.haml - spec/controllers/api/v1/accounts/credentials_controller_spec.rb Conflicts were due to an increase in account bio length upstream, which is already covered in glitch-soc through `MAX_BIO_CHARS`.
2019-05-22Migrate from uws to cws (#10805)abcang
2019-03-11Merge branch 'master' into glitch-soc/merge-upstreamThibaut Girka
Conflicts: - app/services/post_status_service.rb Small conflict due to handling of instance-local toots. A subsequent change is required to ensure instance-local polls are not leaked through Update.
2019-03-11Fix streaming API always attempting to use SSL with Postgres (#10231)Eugen Rochko
Fix #10223
2019-03-10Merge branch 'master' into glitch-soc/merge-upstreamThibaut Girka
2019-03-10Fix SSL configuration regression in streaming API (#10225)Eugen Rochko
* Fix SSL configuration regression in streaming API Fix #10223 * Fix code style issues and integrate #10219 * Fix dumb thing
2019-03-08Merge branch 'master' into glitch-soc/merge-upstreamThibaut Girka
2019-03-08config: add DB_SSLMODE for managed/remote PG (#10210)Sascha
* config: add DB_SSLMODE for managed/remote PG * streaming: set PG sslmode, defaults to prefer
2018-11-13Only stream local-only toots to logged-in usersThibaut Girka
2018-10-21Fix crash when using UNIX socket (#9036)Gomasy
2018-10-20Check if port/socket is available before forking in Streaming API (#9023)Eugen Rochko
Previously, the server would attempt taking port/socket in worker process, and if it was taken, fail, which made the master process create a new worker. This led to really high CPU usage if the streaming API was started when the port or socket were not available. Now, before clustering (forking) into worker processes, a test server is created and then removed to check if it can be done.
2018-10-11Add check for missing tag param in streaming API (#8955)Eugen Rochko
* Add check for missing tag param in streaming API Fixes error: ``` TypeError: Cannot read property 'toLowerCase' of undefined at app.get (.../streaming/index.js:493:50) ``` * Fix code style issues
2018-10-07Add conversations API (#8832)Eugen Rochko
* Add conversations API * Add web UI for conversations * Add test for conversations API * Add tests for ConversationAccount * Improve web UI * Rename ConversationAccount to AccountConversation * Remove conversations on block and mute * Change last_status_id to be a denormalization of status_ids * Add optimistic locking
2018-08-26Add health endpoint to streaming API (#8441)Eugen Rochko
GET /api/v1/streaming/health Answers with OK. Fix #8337
2018-08-24Support UNIX domain socket for streaming service without using PORT (#8217)MIYAGI Hikaru
* Support UNIX domain socket for streaming service without using PORT The use of UNIX domain socket for streaming service was not officially supported, but it was made unofficial to use by setting a path to PORT. From now on, SOCKET will be used just like setting for puma. * Hundle relative path
2018-07-14Fix streaming API still using filtered instead of chosen languages (#8009)Eugen Rochko
2018-05-21Add media timeline (#6631)Yamagishi Kazutoshi
2018-04-18Direct messages column (#4514)Kaito Sinclaire
* Added a timeline for Direct statuses * Lists all Direct statuses you've sent and received * Displayed in Getting Started * Streaming server support for direct TL * Changes to match other timelines in 2.0
2018-04-17Perform processing that does not use the database before connecting to the ↵abcang
database (#7168)
2017-12-13Make sure call `done();` in the listener of public timeline for anonymous ↵nullkal
connection (#6009)
2017-12-13Fix the condition in streaming listener (#6008)nullkal
2017-12-12Improve error handling in streaming/index.js (#5968)erin
On an unhandled worker exception, we should log the exception and exit with nonzero status, instead of letting workers silently fail and restarting them in an endless loop. Note: we previously tried to handle the `'error'` signal. That's not a signal Node fires; my patch traps `'uncaughtException'`, which is what the code was _trying_ to do.
2017-12-12make it possible to stream public timelines without authorization (#5977)nullkal
* make it possible to stream public timelines without authorization * Fix * Make eslint allow `value == null` * Remove redundant line * Improve style and revert .eslintrc.yml * Fix streamWsEnd * Show IP address instead of (anonymous user) * Add missing semicolon
2017-11-18Make it possible to bind streming service to 0.0.0.0 (#5744)Baptiste Gelez
2017-11-18Lists (#5703)Eugen Rochko
* Add structure for lists * Add list timeline streaming API * Add list APIs, bind list-account relation to follow relation * Add API for adding/removing accounts from lists * Add pagination to lists API * Add pagination to list accounts API * Adjust scopes for new APIs - Creating and modifying lists merely requires "write" scope - Fetching information about lists merely requires "read" scope * Add test for wrong user context on list timeline * Clean up tests
2017-10-17use-DB_NAME-in-development (#5430)masarakki
2017-09-24Fix streaming API double-JSON-encoding status IDs for deletes (#5069)Eugen Rochko
2017-09-04Fix streaming url to lowercase (#4804)voidSatisfaction
2017-07-07Gracefully stop streaming server (#4103)Nolan Lawson
2017-07-07Restore streaming API output format (#4100)Eugen Rochko
* Restore streaming API output format Regression from #4090 * Remove whitespace
2017-06-26Stop using Babel with streaming server (#3950)Yamagishi Kazutoshi
2017-06-26Re-fix errorMiddleware (#3922)Takuya Yoshida