about summary refs log tree commit diff
path: root/db/migrate
AgeCommit message (Collapse)Author
2017-06-23Add index statuses on account_id and id (#3895)Akihiko Odaki (@fn_aki@pawoo.net)
2017-06-09Language detection defaults to nil (#3666)Matt Jankowski
* Default to nil for statuses.language * Language detection defaults to nil instead of instance UI default
2017-06-06Fix tag search order and not to use tsvector (#3611)unarist
* Sort results by the name * Switch search method to simple `LIKE` matching instead of tsvector/tsquery Previously we used scores from ts_rank_cd() to sort results, but it didn't work because the function returns same score for all results. It's not for calculate similarity of single words. Sometimes this bug even push out exact matching tag from results. Additionally, PostgreSQL supports prefix searching with standard btree index. Using it offers simpler code, but also less index size and some speed.
2017-06-05Fix #3550 - Add all missing foreign keys (#3562)Eugen Rochko
* Fix #3550 - Add all missing foreign keys * Add missing foreign keys
2017-06-05Add migration versions (#3574)René Klačan
Since Rails 5.1 missing migration version results in following error: ``` StandardError: Directly inheriting from ActiveRecord::Migration is not supported. Please specify the Rails release the migration was written for: ``` This PR fixes all migration files.
2017-06-02Add index to media_attachments.account_id (#3510)Matt Jankowski
2017-05-20Filter languages with opt out (#3175)Matt Jankowski
* Remove allowed_languages and add filtered_languages * Use filtered_languages instead of allowed_languages
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-16Make faster ProcessFeedService (#3080)Shunsuke Michii
* Add index accounts on uri. * Remove a blank line.
2017-05-15Feature conversations muting (#3017)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
2017-05-12Add conversation model, <ostatus:conversation /> (#3016)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. * Fix conversation migration * More spec coverage for status before_create * Prevent n+1 query when generating Atom with the new conversations * Improve code style * Remove redundant local variable
2017-05-07Add effective index to subscriptions (#2885)alpaca-tc
2017-05-01Filter on allowed user language preferences (#2361)Matt Jankowski
* Naive approached to timeline filtering * Convert allowed_languages into a db column * Allow users to choose languages to see statuses in * Style list items as two columns * Add a hint to explain language filtering preference
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-27OEmbed support for PreviewCard (#2337)Eugen Rochko
* OEmbed support for PreviewCard * Improve ProviderDiscovery code failure treatment * Do not crawl links if there is a content warning, since those don't display a link card anyway * Reset db schema * Fresh migrate * Fix rubocop style issues Fix #1681 - return existing access token when applicable instead of creating new * Fix test * Extract http client to helper * Improve oembed controller
2017-04-26Add media dimensions (#2448)Francis Chong
* Fixes #1985 - add migration AddMediaAttachmentMeta, which add meta field to media_attachments - before saving attachment, set file meta if needed - add meta in api * add spec * align the “size” format for image and video * fix code climate * fixes media_attachment_spec.rb
2017-04-24Add index to statuses_tags#status_id (#2394)alpaca-tc
2017-04-18Admin reports with accounts (#2092)Matt Jankowski
* Add a ReportFilter class * Add reports and targeted_reports relationships to Account * Use ReportFilter from admin/reports controller * Link to admin/reports filtered views from admin account show view * Add indexes to reports.account_id and reports.target_account_id
2017-04-16Add language detection (#1772)Eugen
* Add language detection via WhatLanguage and (de)serialization of it through Atom * Fix default language in ProcessFeedService * Re-add newline before 'react-rails' Gem to fix groupings Fixes Code Climate issue
2017-04-15Add recovery code support for two-factor auth (#1773)Patrick Figel
* Add recovery code support for two-factor auth When users enable two-factor auth, the app now generates ten single-use recovery codes. Users are encouraged to print the codes and store them in a safe place. The two-factor prompt during login now accepts both OTP codes and recovery codes. The two-factor settings UI allows users to regenerated lost recovery codes. Users who have set up two-factor auth prior to this feature being added can use it to generate recovery codes for the first time. Fixes #563 and fixes #987 * Set OTP_SECRET in test enviroment * add missing .html to view file names
2017-04-15Refresh webfinger (#1323)ThibG
* Refresh local info for remote accounts when webfinger returns new values It only refreshes account info if one of the URLs or the public-key changes, in which cases it refreshes the full info, re-downloading the feeds from that user. Some special handling should probably be done when the public key changes, but I have been unable to find any use for it in Mastodon yet. * Re-fetch remote users we aren't subscribed to. This might induce performance issues, we might want to only do that for users we explicitly attempted to subscribe but failed to. * Refactor changes * Do not refresh existing remote account details more than once a day * Avoid re-fetching webfinger info in tests unless otherwise specified
2017-04-07Low-hanging fruit of query optimization, these indices were missingEugen Rochko
2017-04-05Add index on mentions status_idEugen Rochko
2017-04-03Add basic logging of who resolved reportEugen Rochko
2017-03-30Import feature for following/blocking lists (addresses #62, #177, #201, #454)Eugen Rochko
2017-03-30Fix up null values on latest migration, add notesEugen Rochko
2017-03-30Do NOT try to update the new fields from the migration. Takes too long on a ↵Eugen Rochko
live DB Needs to be a separate task with no locking
2017-03-30Add counter caches for a large performance increase on API requestsEugen Rochko
2017-03-22Fix full-text search query quotation, improve tag search performance with an ↵Eugen Rochko
index, add ability to open status by URL from search (fix #53)
2017-03-22Upgrade status IDs to bigintEugen Rochko
2017-03-22More efficient single account retrieval (0.9ms vs 50ms before)Eugen Rochko
2017-03-18Federate header images, fix open-uri http->https redirection errorEugen Rochko
2017-03-17Make account search blazing fast and rank followers/followees higher in the ↵Eugen Rochko
results
2017-03-04Fix #431 - convert gif to webm during upload. Web UI treats them like it didEugen Rochko
before. In the API, attachments now can be either image, video or gifv. Gifv is to be treated like images in terms of behaviour, but are videos by file type.
2017-03-04Add digest e-mailsEugen Rochko
2017-03-01Mute button progress so far. WIP, doesn't entirely work correctly.Kit Redgrave
2017-02-17Add foreign key to prevent reblogs of non-existent (after race conditions) ↵Eugen Rochko
statuses from happening Fix issue with detailed status view not supporting unreblogging/unfavouriting
2017-02-14Adding POST /api/v1/reports API, and a UI for submitting reportsEugen Rochko
2017-02-09Fix #614 - extra reply-boolean on statuses to account for cases when replied-toEugen Rochko
status is not in the system at time of distribution; fix #607 - reset privacy settings to defaults when cancelling replies
2017-02-05Fix #61 - Add list of blocked users to the UI; clean up failed push ↵Eugen Rochko
notifications API Try to fix Travis CI setup
2017-01-29API for apps to register for push notificationsEugen Rochko
2017-01-27Added optional two-factor authenticationEugen Rochko
2017-01-25Fix spoiler_text not having "not null" constraintEugen Rochko
2017-01-25Fix order of migrationsEugen Rochko
2017-01-25Instead of using spoiler boolean and spoiler_text, simply check for ↵Eugen Rochko
non-blank spoiler_text Federate spoiler_text using warning attribute on <content /> instead of a <category term="spoiler" /> Clean up schema file from accidental development migrations
2017-01-23Implement a click-to-view spoiler systemblackle
2017-01-23Optional domain block attribute that prevents media attachments from being ↵Eugen Rochko
downloaded
2017-01-23Domain blocks now have varying severity - auto-suspend vs auto-silenceEugen Rochko
2017-01-20Fix #463 - Fetch and display previews of URLs using OpenGraph tagsEugen Rochko