about summary refs log tree commit diff
path: root/streaming/index.js
AgeCommit message (Collapse)Author
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
2017-06-26Ignore DB_NAME for development env on streaming as well as rails side (#3948)unarist
2017-06-25more free pgconfig by .env (#3909)amazedkoumei
* more free pgconfig for streaming by .env * fix wrong default values * database.yml read ENV as same as streaming server
2017-06-23Fix errorMiddleware to prevent "TypeError: res.writeHead is not a function" ↵Takuya Yoshida
(#3913) * Fix errorMiddleware * Add "eslint-disable-line no-unused-vars"
2017-06-23Remove unused variables (#3906)Yamagishi Kazutoshi
2017-06-20Fix streaming server. Redis connection subscribe for each channel. (#3828)猫吸血鬼ディフリス / 猫ロキP
2017-06-09Fix issue with some Node.js versions not having Array.prototype.includes (#3667)Eugen Rochko
by using Array.prototype.indexOf instead
2017-06-03Execute PushUpdateWorker only for accounts who uses StreamingAPI just now. ↵Clworld
(#3278) * Add redis key "subscribed:timeline:#{account.id}" to indicate active streaming API listeners exists. * Add endpoint for notification only stream. * Run PushUpdateWorker only for users uses Streaming API now. * Move close hander streamTo(Http/Ws) -> stream(Http/Ws)End (Deal with #3370) * Add stream type for stream start log message.
2017-05-29[RFC] Return 401 for an authentication error on WebSockets (#3411)unarist
* Return 401 for an authentication error on WebSocket * Use upgradeReq instead of a custom object
2017-05-29Don't stream toots from users who have blocked the recipient user (#3300)unarist
* Don't stream toots from users who have blocked the recipient user This filter was already applied on the `/api/v1/timelines/public` API, but not yet for the Streaming API. * Boosted status' account_id doesn't need for filtering in streaming/index.js This filtering is only for public/hashtag timelines, but boosts already filtered on FanOutOnWriteService because those timelines don't show boosts.
2017-05-28Re-add stream end log for WebSocket (#3397)Clworld
2017-05-28Improve streaming API cluster logging (#3370)Eugen Rochko
* Improve streaming API cluster logging * Less verbose error middleware logging (stack trace useless there) * Fix error logging * Prevent potential issue * Add missing "done()" in catch of Promise.all, websocket heartbeat re-implemented like in example * I actually forgot a done(), the absolute madman
2017-05-27Reject revoked access_token on Streaming API. (#3367)Clworld
2017-05-27Language filtering in streaming API (#3339)Eugen Rochko
2017-05-22Use local default for postgres host in node streaming service (#3240)Matt Jankowski
This location varies across postgres installations, and it seems like the pg package knows how to guess correctly on each system.
2017-05-21Allow access token in URI (#3208)happycoloredbanana
2017-05-20Adjust REDIS_URL usage in node_redis (#3183)Eugen Rochko
Resolves #2780
2017-05-20Improve eslint rules (#3147)Yamagishi Kazutoshi
* Add semi to ESLint rules * Add padded-blocks to ESLint rules * Add comma-dangle to ESLint rules * add config/webpack and storyboard * add streaming/ * yarn test:lint -- --fix
2017-05-19Account domain blocks (#2381)Eugen Rochko
* Add <ostatus:conversation /> tag to Atom input/output Only uses ref attribute (not href) because href would be the alternate link that's always included also. Creates new conversation for every non-reply status. Carries over conversation for every reply. Keeps remote URIs verbatim, generates local URIs on the fly like the rest of them. * Conversation muting - prevents notifications that reference a conversation (including replies, favourites, reblogs) from being created. API endpoints /api/v1/statuses/:id/mute and /api/v1/statuses/:id/unmute Currently no way to tell when a status/conversation is muted, so the web UI only has a "disable notifications" button, doesn't work as a toggle * Display "Dismiss notifications" on all statuses in notifications column, not just own * Add "muted" as a boolean attribute on statuses JSON For now always false on contained reblogs, since it's only relevant for statuses returned from the notifications endpoint, which are not nested Remove "Disable notifications" from detailed status view, since it's only relevant in the notifications column * Up max class length * Remove pending test for conversation mute * Add tests, clean up * Rename to "mute conversation" and "unmute conversation" * Raise validation error when trying to mute/unmute status without conversation * Adding account domain blocks that filter notifications and public timelines * Add tests for domain blocks in notifications, public timelines Filter reblogs of blocked domains from home * Add API for listing and creating account domain blocks * API for creating/deleting domain blocks, tests for Status#ancestors and Status#descendants, filter domain blocks from them * Filter domains in streaming API * Update account_domain_block_spec.rb
2017-05-17Use REDIS_DB in streaming (#3094)Hayato IZUMI
2017-05-11[bug] wrong config setting for dababase. (#2984)Ayumu AIZAWA
2017-05-07namespace redis usage (#2869)beatrix
* add redis-namespace gem * namespace redis usage * refactor redis namespace code to be less intrusive previously : would be prepended to keys when the REDIS_NAMESPACE env var was not set now if it is not set the namespacing functions are not used at all, which should prevent disruptions when instances update. * fix redis namespace variable style in streaming js * remove trailing space * final redis namespace style fix
2017-05-06Replace ws with uws (#2807)Eshin Kunishima
* Replace ws with uws * fix indent * Adjust indentation * remove trailing space
2017-05-04fix DB_URL (#2778)abcang
2017-05-03Clean up redis configuration. Allow using REDIS_URL to set advanced (#2732)Eugen Rochko
connection options instead of setting REDIS_HOST etc individually Close #1986
2017-04-30Revert "Use PostgreSQL inheritance for blocks and mutes (#2520)" (#2634)Akihiko Odaki
This reverts commit 5135d609b774b177d3d3894b176a822d86b73d3c.
2017-04-30Use PostgreSQL inheritance for blocks and mutes (#2520)Akihiko Odaki
2017-04-29Update index.js (#2612)YOU
2017-04-22refactor-cores (#2308)masarakki
2017-04-21Allow to listen Unix socket (#2085)Akihiko Odaki
* Allow puma to listen Unix socket * streaming: Show the whole listening address instead of the port Port is not always appropriate (e.g. Unix socket) * streaming: Close server before exiting This change especially allows to remove Unix socket before exiting.
2017-04-21Fix a bug where the hashtag could not be specified with the streaming API ↵178inaba
(#2258)
2017-04-18Fix streaming server worker count (#2082)kuro5hin
* Make sure we start at least one streaming worker, even if there's only one CPU and we're in production mode. * Oops, let's make sure we're counting cpus right too.
2017-04-17Improve streaming server with cluster (#1970)geta6
2017-04-11Dev Tooling fixes (eslint/editorconfig) (#1398)Gavin Mogan
* Add eslint to dev dependancies so it gets installed for the repo yarn add --dev eslint babel-eslint eslint-plugin-reac project specific version of eslint, you can globally install eslint-cli if you want the global runtime, or add .bin to your path * fix eslint errors about inconsitent returns * eslint ignore the same as git ignore. allows for eslint . * Add editorconfig file so everyones editor will be setup to follow the same standards
2017-04-02Add heartbeat to websockets streaming API connectionsEugen Rochko
2017-03-02Fix #231 - MutingEugen Rochko
2017-02-07Make streaming API use one pattern-matching redis pubsub connectionEugen Rochko
Refresh timelines when streaming API reconnects in the UI
2017-02-06Add streaming API channels for local-only statusesEugen Rochko
2017-02-05Add unique request IDs to streaming API to improve logsEugen Rochko
2017-02-05Add tracking of delay to streaming APIEugen Rochko