- Mar 06, 2023
-
-
Claire authored
-
- Mar 05, 2023
-
-
Eugen Rochko authored
-
- Mar 03, 2023
-
-
Ramūns Usovs authored
-
- Feb 11, 2023
- Feb 09, 2023
-
-
Eugen Rochko authored
-
Eugen Rochko authored
Add connection timeout of 15s
-
- Feb 03, 2023
-
-
Eugen Rochko authored
-
- Dec 18, 2022
-
-
Nick Schonning authored
* Enable ESLint recommended ruleset * Disable failing ESLint recommended rules * Remove rules shadowed by eslint:recommended
-
- Nov 15, 2022
-
-
Claire authored
-
- Nov 13, 2022
-
-
Claire authored
* Fix streaming server using wrong property name for matching filters Late in the PR, the `filter_results` property has been renamed to `filtered`, but the change has not been reflected in the streaming server code. * Fix filter_action attribute being an integer instead of a string
-
- Jul 13, 2022
-
-
Eugen Rochko authored
* Change how hashtags are normalized * Fix tests
-
- Jun 28, 2022
-
-
Claire authored
* Add model for custom filter keywords * Use CustomFilterKeyword internally Does not change the API * Fix /filters/edit and /filters/new * Add migration tests * Remove whole_word column from custom_filters (covered by custom_filter_keywords) * Redesign /filters Instead of a list, present a card that displays more information and handles multiple keywords per filter. * Redesign /filters/new and /filters/edit to add and remove keywords This adds a new gem dependency: cocoon, as well as a npm dependency: cocoon-js-vanilla. Those are used to easily populate and remove form fields from the user interface when manipulating multiple keyword filters at once. * Add /api/v2/filters to edit filter with multiple keywords Entities: - `Filter`: `id`, `title`, `filter_action` (either `hide` or `warn`), `context` `keywords` - `FilterKeyword`: `id`, `keyword`, `whole_word` API endpoits: - `GET /api/v2/filters` to list filters (including keywords) - `POST /api/v2/filters` to create a new filter `keywords_attributes` can also be passed to create keywords in one request - `GET /api/v2/filters/:id` to read a particular filter - `PUT /api/v2/filters/:id` to update a new filter `keywords_attributes` can also be passed to edit, delete or add keywords in one request - `DELETE /api/v2/filters/:id` to delete a particular filter - `GET /api/v2/filters/:id/keywords` to list keywords for a filter - `POST /api/v2/filters/:filter_id/keywords/:id` to add a new keyword to a filter - `GET /api/v2/filter_keywords/:id` to read a particular keyword - `PUT /api/v2/filter_keywords/:id` to edit a particular keyword - `DELETE /api/v2/filter_keywords/:id` to delete a particular keyword * Change from `irreversible` boolean to `action` enum * Remove irrelevent `irreversible_must_be_within_context` check * Fix /filters/new and /filters/edit with update for filter_action * Fix Rubocop/Codeclimate complaining about task names * Refactor FeedManager#phrase_filtered? This moves regexp building and filter caching to the `CustomFilter` class. This does not change the functional behavior yet, but this changes how the cache is built, doing per-custom_filter regexps so that filters can be matched independently, while still offering caching. * Perform server-side filtering and output result in REST API * Fix numerous filters_changed events being sent when editing multiple keywords at once * Add some tests * Use the new API in the WebUI - use client-side logic for filters we have fetched rules for. This is so that filter changes can be retroactively applied without reloading the UI. - use server-side logic for filters we haven't fetched rules for yet (e.g. network error, or initial timeline loading) * Minor optimizations and refactoring * Perform server-side filtering on the streaming server * Change the wording of filter action labels * Fix issues pointed out by linter * Change design of “Show anyway” link in accordence to review comments * Drop “irreversible” filtering behavior * Move /api/v2/filter_keywords to /api/v1/filters/keywords * Rename `filter_results` attribute to `filtered` * Rename REST::LegacyFilterSerializer to REST::V1::FilterSerializer * Fix systemChannelId value in streaming server * Simplify code by removing client-side filtering code The simplifcation comes at a cost though: filters aren't retroactively applied anymore.
-
- Apr 19, 2022
-
-
Yamagishi Kazutoshi authored
-
- Mar 21, 2022
-
-
Claire authored
-
- Feb 16, 2022
-
-
Claire authored
Fixes #17541 - prefix JSON parsing error message by “Error parsing message from …” - output user id if a user is logged in, IP address otherwise - reduce log level from error to warning when a user is logged in, and to silly otherwise
-
- Jan 07, 2022
-
-
Claire authored
* Fix timeline streaming stopping for multiple sessions instead of one Fixes #17256. In updating the code for a newer version of node-redis, #17183 also broke redis subscription management when multiple streaming clients subscribe to the same channel. This commit restores the redis subscription management code. * Let node-redis actually handle the subscriptions
-
- Dec 25, 2021
-
-
Lerk authored
* fix streaming redis client * use console.error instead of console.log * follow node-redis migration guide https://github.com/redis/node-redis/blob/master/docs/v3-to-v4.md * fix config options for node-redis * keep indentation * Update streaming/index.js Co-authored-by:
Yamagishi Kazutoshi <ykzts@desire.sh> Co-authored-by:
Yamagishi Kazutoshi <ykzts@desire.sh>
-
- Oct 13, 2021
-
-
Sasha Sorokin authored
When checking for required OAuth scopes, an unexpected error could happen due to missing (null-y) req.scopes. This commit fixes that by checking if req.scopes are present before checking if any required scopes are present, otherwise it skips that straight to rejection.
-
- Sep 26, 2021
-
-
Eugen Rochko authored
Eliminate need to have custom notifications filtering logic in the streaming API code by publishing notifications into a separate stream and then simply using the multi-stream capability to subscribe to that stream when necessary
-
- May 02, 2021
-
-
Eugen Rochko authored
Third argument of `ping` is the callback Regression from #15932
-
- May 01, 2021
-
-
Eugen Rochko authored
-
- Mar 24, 2021
-
-
Claire authored
* Switch from deprecated ClusterWS/cws to ws package Fixes #15184 Co-authored-by:
Edho Arief <me@nanaya.pro> * Make bufferutil and utf-8-validate optional dependencies Co-authored-by:
Edho Arief <me@nanaya.pro>
-
- Nov 23, 2020
-
-
abcang authored
* eslint --fix * fix consistent-return * fix promise/catch-or-return * ignore import rule
-
- Nov 12, 2020
-
-
Eugen Rochko authored
Fix #14816
-
- Sep 22, 2020
-
-
fuyu authored
-
- Aug 12, 2020
-
-
Eugen Rochko authored
-
- Aug 11, 2020
-
-
Eugen Rochko authored
-
- Jun 24, 2020
-
-
ThibG authored
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.
-
- Jun 02, 2020
-
-
Eugen Rochko authored
-
- May 10, 2020
-
-
Takeshi Umeda authored
* Add remote only to public timeline * Fix code style
-
- Jan 24, 2020
-
-
Ben Lubar authored
* 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.
-
- Jul 30, 2019
-
-
Eugen Rochko authored
-
- Jul 15, 2019
-
-
Eugen Rochko authored
-
- May 24, 2019
-
-
ThibG authored
* 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
-
- May 22, 2019
-
-
abcang authored
-
- Mar 10, 2019
-
-
Eugen Rochko authored
Fix #10223
-
Eugen Rochko authored
* Fix SSL configuration regression in streaming API Fix #10223 * Fix code style issues and integrate #10219 * Fix dumb thing
-
- Mar 08, 2019
-
-
Sascha authored
* config: add DB_SSLMODE for managed/remote PG * streaming: set PG sslmode, defaults to prefer
-
- Oct 21, 2018
-
-
Gomasy authored
-