about summary refs log tree commit diff
path: root/app/models
AgeCommit message (Collapse)Author
2022-10-27Remove unused method `searchable?` on accounts (#19489)Eugen Rochko
It called the wrong methods, but nothing uses it
2022-10-27Fix notifications about deleted reports not being also deleted (#19475)Eugen Rochko
* Fix notifications about deleted reports not being also deleted * Fix notification with empty report crashing web UI Fix #18909
2022-10-26Store integer settings as integer (#19478)zunda
2022-10-26Add ability to view previous edits of a status in admin UI (#19462)Eugen Rochko
* Add ability to view previous edits of a status in admin UI * Change moderator access to posts to be controlled by a separate policy
2022-10-25Fix IP blocks not having a unique index (#19456)Eugen Rochko
2022-10-22Change featured tag updates to add/remove activity (#19409)Takeshi Umeda
* Change featured tag updates to add/remove activity * Fix to check for the existence of feature tag * Rename service and worker * Merge AddHashtagSerializer with AddSerializer * Undo removal of sidekiq_options
2022-10-22Fix duplicate featured tags (#19403)Takeshi Umeda
* Fix duplicate featured tags * Add unique tag name validator * Fix error message
2022-10-22Add featured tag add/remove activity handler (#19408)Takeshi Umeda
2022-10-22Change settings area to be separated into categories in admin UI (#19407)Eugen Rochko
And update all descriptions
2022-10-20Change public accounts pages to mount the web UI (#19319)Eugen Rochko
* Change public accounts pages to mount the web UI * Fix handling of remote usernames in routes - When logged in, serve web app - When logged out, redirect to permalink - Fix `app-body` class not being set sometimes due to name conflict * Fix missing `multiColumn` prop * Fix failing test * Use `discoverable` attribute to control indexing directives * Fix `<ColumnLoading />` not using `multiColumn` * Add `noindex` to accounts in REST API * Change noindex directive to not be rendered by default before a route is mounted * Add loading indicator for detailed status in web UI * Fix missing indicator appearing while account is loading in web UI
2022-10-20Add synchronization of remote featured tags (#19380)Takeshi Umeda
* Add LIMIT of featured tag to instance API response * Add featured_tags_collection_url to Account * Add synchronization of remote featured tags * Deliver update activity when updating featured tag * Remove featured_tags_collection_url * Revert "Add featured_tags_collection_url to Account" This reverts commit cff349fc27b104ded2df6bb5665132dc24dab09c. * Add hashtag sync from featured collections * Fix tag name normalize * Add target option to fetch featured collection * Refactor fetch_featured_tags_collection_service * Add LIMIT of featured tag to v1/instance API response
2022-10-14Fix trending statuses returning more than one post by the same author (#19349)Eugen Rochko
2022-10-13Change about page to be mounted in the web UI (#19345)Eugen Rochko
2022-10-13Add image processing and generate blurhash for server thumbnail (#19348)Eugen Rochko
Remove separate server hero setting
2022-10-10Fix missing `skip_review?` (#19335)Yamagishi Kazutoshi
2022-10-08Add support for language preferences for trending statuses and links (#18288)Eugen Rochko
2022-10-08Fix privacy policy being empty if custom setting exists but is empty (#19318)Eugen Rochko
2022-10-08Change privacy policy to be rendered in web UI, add REST API (#19310)Eugen Rochko
Source string no longer localized, Markdown instead of raw HTML
2022-10-06Remove setting that disables account deletes (#17683)Eugen Rochko
2022-10-05Change public timelines to be filtered by current locale by default (#19291)Eugen Rochko
In the absence of an opt-in to multiple specific languages in the preferences, it makes more sense to filter by the user's presumed language only (interface language or `lang` override)
2022-10-04Remove code for rendering public and hashtag timelines outside the web UI ↵Eugen Rochko
(#19257)
2022-09-29Fix content retention policy settings not accepting a blank value (#19248)Eugen Rochko
2022-09-28Fix language dropdown sometimes not appearing in web UI (#19246)Eugen Rochko
When user has no locale preference saved (such as never changing it from the default), the preferred posting language is nil, and the dropdown is not visible
2022-09-27Add retention policy for cached content and media (#19232)Eugen Rochko
2022-09-20Add ability to filter followed accounts' posts by language (#19095)Eugen Rochko
2022-08-28Change "Allow trends without prior review" setting to include statuses (#17977)Eugen Rochko
* Change "Allow trends without prior review" setting to include posts * Fix i18n-tasks
2022-08-28Add admin API for managing e-mail domain blocks (#19066)Eugen Rochko
2022-08-28Add admin API for managing canonical e-mail blocks (#19067)Eugen Rochko
2022-08-27Add admin API for managing IP blocks (#19065)Eugen Rochko
2022-08-25Remove digest e-mails (#17985)Eugen Rochko
* Remove digest e-mails * Remove digest-related code
2022-08-25Add ability to select all accounts matching search for batch actions (#19053)Eugen Rochko
2022-08-25Add audit log entries for user roles (#19040)Eugen Rochko
* Refactor audit log schema * Add audit log entries for user roles
2022-08-25Add option for EMAIL_DOMAIN_DENYLIST/EMAIL_DOMAIN_ALLOWLIST to apply after ↵Claire
confirmation (#18642) Fixes #18620
2022-08-25Add ability to filter individual posts (#18945)Claire
* Add database table for status-specific filters * Add REST endpoints, entities and attributes * Show status filters in /filters interface * Perform server-side filtering for individual posts filters * Fix filtering on context mismatch * Refactor `toServerSideType` by moving it to its own module * Move loupe and delete icons to their own module * Add ability to filter individual posts from WebUI * Replace keyword list by warnings (expired, context mismatch) * Refactor server-side filtering code * Add tests
2022-08-24Change e-mail domain blocks to match subdomains of blocked domains (#18979)Eugen Rochko
2022-08-24Add ability to block sign-ups from IP (#19037)Eugen Rochko
2022-07-22Fix unicode regression in #18809 (#18863)Eugen Rochko
2022-07-17Add ability to follow hashtags (#18809)Eugen Rochko
2022-07-17Add support for editing labelling of one's own role (#18812)Claire
Still disallow edition of rank or permissions
2022-07-14Fix nil error when rendering featured hashtags on profile (#18808)Eugen Rochko
Regression from #18795
2022-07-13Change how hashtags are normalized (#18795)Eugen Rochko
* Change how hashtags are normalized * Fix tests
2022-07-09Change custom emoji file size limit from 50 KB to 256 KB (#18788)Eugen Rochko
2022-07-05Add customizable user roles (#18641)Eugen Rochko
* Add customizable user roles * Various fixes and improvements * Add migration for old settings and fix tootctl role management
2022-06-28Support audio/vnd.wave (#18737)Jeong Arm
See: https://datatracker.ietf.org/doc/html/rfc2361 And Misskey uses this mime type for wav file.
2022-06-28Revamp post filtering system (#18058)Claire
* 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.
2022-06-27Add notifications for new reports (#18697)Eugen Rochko
2022-06-23Add /api/v1/admin/domain_allows (#18668)Claire
- `GET /api/v1/admin/domain_allows` lists allowed domains - `GET /api/v1/admin/domain_allows/:id` shows one by ID - `DELETE /api/v1/admin/domain_allows/:id` deletes a given domain from the list of allowed domains - `POST /api/v1/admin/domain_allows` to allow a new domain: if that domain is already allowed, the existing DomainAllow will be returned
2022-06-09Add administrative webhooks (#18510)Eugen Rochko
* Add administrative webhooks * Fix error when webhook is deleted before delivery worker runs
2022-06-01Remove dependency on running Redis server for db:setup (#18560)Claire
2022-06-01Add /api/v1/admin/domain_blocks (#18247)Claire
* Add /api/v1/admin/domain_blocks Fixes #18140 - `GET /api/v1/admin/domain_blocks` lists domain blocks - `GET /api/v1/admin/domain_blocks/:id` shows one by ID - `DELETE /api/v1/admin/domain_blocks/:id` deletes a given domain block - `POST /api/v1/admin/domain_blocks` to create a new domain block: if it conflicts with an existing one, returns an error with an attribute `existing_domain_block` with the rendered domain block * Simplify conflict handling as suggested in review