about summary refs log tree commit diff
path: root/app
AgeCommit message (Collapse)Author
2017-10-02Fix stupid typo (#5184)Jeong Arm
2017-10-02Korean translation (#5185)Jeong Arm
* Add missing Korean translations * Add Korean email confirmation template * Fix Korean typo
2017-10-02Make IdsToBigints (mostly!) non-blocking (#5088)aschmitz
* Make IdsToBigints (mostly!) non-blocking This pulls in GitLab's MigrationHelpers, which include code to make column changes in ways that Postgres can do without locking. In general, this involves creating a new column, adding an index and any foreign keys as appropriate, adding a trigger to keep it populated alongside the old column, and then progressively copying data over to the new column, before removing the old column and replacing it with the new one. A few changes to GitLab's MigrationHelpers were necessary: * Some changes were made to remove dependencies on other GitLab code. * We explicitly wait for index creation before forging ahead on column replacements. * We use different temporary column names, to avoid running into index name length limits. * We rename the generated indices back to what they "should" be after replacing columns. * We rename the generated foreign keys to use the new column names when we had to create them. (This allows the migration to be rolled back without incident.) # Big Scary Warning There are two things here that may trip up large instances: 1. The change for tables' "id" columns is not concurrent. In particular, the stream_entries table may be big, and does not concurrently migrate its id column. (On the other hand, x_id type columns are all concurrent.) 2. This migration will take a long time to run, *but it should not lock tables during that time* (with the exception of the "id" columns as described above). That means this should probably be run in `screen` or some other session that can be run for a long time. Notably, the migration will take *longer* than it would without these changes, but the website will still be responsive during that time. These changes were tested on a relatively large statuses table (256k entries), and the service remained responsive during the migration. Migrations both forward and backward were tested. * Rubocop fixes * MigrationHelpers: Support ID columns in some cases This doesn't work in cases where the ID column is referred to as a foreign key by another table. * MigrationHelpers: support foreign keys for ID cols Note that this does not yet support foreign keys on non-primary-key columns, but Mastodon also doesn't yet have any that we've needed to migrate. This means we can perform fully "concurrent" migrations to change ID column types, and the IdsToBigints migration can happen with effectively no downtime. (A few operations require a transaction, such as renaming columns or deleting them, but these transactions should not block for noticeable amounts of time.) The algorithm for generating foreign key names has changed with this, and therefore all of those changed in schema.rb. * Provide status, allow for interruptions The MigrationHelpers now allow restarting the rename of a column if it was interrupted, by removing the old "new column" and re-starting the process. Along with this, they now provide status updates on the changes which are happening, as well as indications about when the changes can be safely interrupted (when there are at least 10 seconds estimated to be left before copying data is complete). The IdsToBigints migration now also sorts the columns it migrates by size, starting with the largest tables. This should provide administrators a worst-case scenario estimate for the length of migrations: each successive change will get faster, giving admins a chance to abort early on if they need to run the migration later. The idea is that this does not force them to try to time interruptions between smaller migrations. * Fix column sorting in IdsToBigints Not a significant change, but it impacts the order of columns in the database and db/schema.rb. * Actually pause before IdsToBigints
2017-10-02Search popout (#5170)Eugen Rochko
2017-10-02Code-split emoji-mart picker and data (#5175)Nolan Lawson
2017-10-02Append confirmation link as plain text (#5146)Jeong Arm
* Append confirmation link as plain text Some mail application is malfunctioning with links. * Change description text
2017-10-02Suppress backtrace from Request#perform (#5174)Daigo 3 Dango
2017-10-02Toggle contain:strict on fullscreen (#5159)Nolan Lawson
* Toggle contain:strict on fullscreen * Fix scss lint issue * fix scss whitespace lint issue
2017-10-02Make Chrome splash screen same color as web UI's background color (#5169)Eugen Rochko
2017-10-01Improve privacy dropdown, remove react-simple-dropdown dependency (#5140)Eugen Rochko
* Improve privacy dropdown, remove react-simple-dropdown dependency * Animate privacy warning * Fix react-router-scroll
2017-10-01Reorganize preferences page (#5161)Eugen Rochko
2017-10-01Add image descriptions to title attribute to view on mouse hover/long-press. ↵Daggertooth
(#5137) * Add image descriptions to `title` attribute to view on mouse hover/long-press. * Too many title properties may spoil the broth.
2017-09-30Fix order of paginated accounts in FollowerDomainsController and spec (#3357)Akihiko Odaki
* Fix order of paginated accounts in FollowerDomainsController Unordered pagination could result in unexpected behavior. * Cover Settings::FollowerDomainsController more
2017-09-30Fix #5104 - GET /api/v1/apps/verify_credentials to confirm app works (#5112)Eugen Rochko
2017-09-30Retry ActivityPub delivery a few more times (#5014)ThibG
2017-09-30trivial refactoring for emojify() (#5075)MIYAGI Hikaru
* unite loop process * add hint for original emojifier
2017-09-30Improve IntersectionObserverArticle perf (#5152)Nolan Lawson
2017-09-30Make emoji autosuggestions immediate, usernames appear sooner (#5149)Eugen Rochko
* Do not debounce emoji search * Make autosuggestions appear sooner
2017-09-30Upgrade to React 16 (#5119)Eugen Rochko
* Upgrade to React 16.0.0 * Disable some uncritical tests while chai-enzyme remains incompatible
2017-09-29Remove react-sizeme (#5143)Nolan Lawson
* Remove react-sizeme * Fix aspect ratio in "sensitive" mode
2017-09-29Updated German translation (#5151)Jakob Kramer
Translate "about" page, several settings pages, data export/import, sessions overview, authorized followers page, account deletion page. More consistent use of words: - A toot is a Beitrag. - An account is a Konto. Some small improvements.
2017-09-29After 7 days of repeated delivery failures, give up on inbox (#5131)Eugen Rochko
- A successful delivery cancels it out - An incoming delivery from account of the inbox cancels it out
2017-09-29Remove dependency on db during assets:precompile (#5138)Eugen Rochko
2017-09-29Increase attachment descriptions to 420 characters (#5139)Eugen Rochko
Blaze it
2017-09-28Change max redirects followed to 2 (#5136)Eugen Rochko
I see no reason to allow more than that. Usually a redirect is HTTP->HTTPS, then maybe URL structure changed, but more than that is highly unlikely to be a legitimate use case.
2017-09-28Update German translation (#5133)Jakob Kramer
Create activerecord.de.yml (50%) Update devise.de.yml Update doorkeeper.de.yml (100%) Update simple_form.de.yml (100%)
2017-09-28Improve performance of modal and swipe animations (#5135)Nolan Lawson
* Improve performance of modal and swipe animations * Fix eslint issues
2017-09-28If HTTP signature is wrong and webfinger cache is stale, retry with resolve ↵Eugen Rochko
(#5129) If the signature could not be verified and the webfinger of the account was last retrieved longer than the cache period, try re-resolving the account and then attempting to verify the signature again
2017-09-28Updated German translation (#5132)Jakob Kramer
2017-09-28Add ability to specify alternative text for media attachments (#5123)Eugen Rochko
* Fix #117 - Add ability to specify alternative text for media attachments - POST /api/v1/media accepts `description` straight away - PUT /api/v1/media/:id to update `description` (only for unattached ones) - Serialized as `name` of Document object in ActivityPub - Uploads form adjusted for better performance and description input * Add tests * Change undo button blend mode to difference
2017-09-28Flush body when POST requests (#5128)abcang
2017-09-28Remove web UI warnings about OStatus privacy (#5102)Eugen Rochko
* Remove web UI warnings about OStatus privacy * yarn run manage:translations
2017-09-27Fix empty query sent to postgres for custom emojis (#5121)Eugen Rochko
2017-09-26Follow-up to #4582 and #5027, removing dead code (#5101)Eugen Rochko
2017-09-26Fix #5059 - Stop processing payload if it's from local account (#5100)Eugen Rochko
2017-09-26Send streaming API delete to people mentioned in status (#5103)Eugen Rochko
- Previously they wouldn't receive it unless they were author's followers - Skip unpush from public/hashtag timelines if status wasn't public in the first place
2017-09-25New error page graphic. Other error page improvements (#5099)Eugen Rochko
- 500.html generated with admin-set default locale if set - Error page `<title>` includes Mastodon site title - 500 title changed to "This page is not correct" (ref: <https://www.youtube.com/watch?v=2VCAP_seh1A>) - 500 content appended with "on our end" to make clear it's not user's fault
2017-09-25Fix size of single media in media-gallery (#5098)Lynx Kotoura
2017-09-25Fix emojify() by generating a mapping to existing Twemoji files (#5080)Eugen Rochko
A new rake task emojis:generate downloads a full list of valid unicode sequences from unicode.org and checks it against existing Twemoji files, finally generating a map from each sequence to the existing file (e.g. when there's multiple ways an emoji can be expressed). The map is dumped into app/javascript/mastodon/emoji_map.json That file is loaded by emojione_light.js (now a misnomer) which decorates it further with shortcodes taken from emoji-mart's index.
2017-09-25Add missing validations in ActivityPub::Activity::Create (#5096)Akihiko Odaki
2017-09-25Increase max height of preview card image (#5092)unarist
We added horizontal layout to preview card for wide image. However, max height of the thumbnail is still limited to 120px and it makes nearly square images to too small for that layout. This PR increases max height as well as max width.
2017-09-25Generate 500.html with assets:precompile, remove loading from Google Fonts ↵Eugen Rochko
(#5067)
2017-09-24OC update: different emoji picker (#5046) (#5077)JeanGauthier
2017-09-24Thread toot notification mails by conversation (#5061)ThibG
* Thread toot notification mails by conversation * Make codeclimate happy and avoid potential mis-threading
2017-09-24Compact status_ids in StatusRelationshipsPresenter (#5073)Daigo 3 Dango
2017-09-24Fix media spoiler of DetailedStatus (#5071)abcang
2017-09-24Suppress backtrace when failed to communicate with a remote instance (#5076)Daigo 3 Dango
2017-09-24In detail status view, display attachment uncropped if there's only one (#5054)Eugen Rochko
* In detail status view, display attachment uncropped if there's only one * Make media spoiler the size of the media it hides, enable on static
2017-09-24Make sure nil IDs to not get cast to empty string in REST API (#5068)Eugen Rochko
2017-09-24Change mobile layout breakpoint from 1024px to 630px (#5063)Eugen Rochko
630px = Drawer + 1 Column