Age | Commit message (Collapse) | Author |
|
* Return sensible HTTP status for ActivityPub inbox processing
* Return sensible HTTP status for salmon slap processing
* Return additional information to debug signature verification failures
|
|
|
|
|
|
* Add pagination in media modal
* Change array name
* Add an element class
* Avoid nested class
* Pull out the active class
* Use map instead of forEach
* Remove parentheses
|
|
|
|
* yarn manage:translations
* Add Japanese translations for #5170
* Add Japanese translations for #5123
* Add Japanese translations for #5046
* Add Japanese translations for #5099
* Add Japanese translations for #5161
* "項目" -> "絵文字"
|
|
aria-label contained body of status with content warning, which should be
hidden by default. Remove the label for the case and other cases due to
consistency.
|
|
|
|
* When muting, clear web UI like for blocks
* Fix style issue
|
|
|
|
* Update translation files
Signed-off-by: Marcin Mikołajczak <me@m4sk.in>
* i18n: Update Polish translation
Signed-off-by: Marcin Mikołajczak <me@m4sk.in>
|
|
|
|
* Add missing Korean translations
* Add Korean email confirmation template
* Fix Korean typo
|
|
* 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
|
|
|
|
|
|
* Append confirmation link as plain text
Some mail application is malfunctioning with links.
* Change description text
|
|
|
|
* Toggle contain:strict on fullscreen
* Fix scss lint issue
* fix scss whitespace lint issue
|
|
|
|
* Improve privacy dropdown, remove react-simple-dropdown dependency
* Animate privacy warning
* Fix react-router-scroll
|
|
|
|
(#5137)
* Add image descriptions to `title` attribute to view on mouse hover/long-press.
* Too many title properties may spoil the broth.
|
|
* Fix order of paginated accounts in FollowerDomainsController
Unordered pagination could result in unexpected behavior.
* Cover Settings::FollowerDomainsController more
|
|
|
|
|
|
* unite loop process
* add hint for original emojifier
|
|
|
|
* Do not debounce emoji search
* Make autosuggestions appear sooner
|
|
* Upgrade to React 16.0.0
* Disable some uncritical tests while chai-enzyme remains incompatible
|
|
* Remove react-sizeme
* Fix aspect ratio in "sensitive" mode
|
|
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.
|
|
- A successful delivery cancels it out
- An incoming delivery from account of the inbox cancels it out
|
|
|
|
Blaze it
|
|
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.
|
|
Create activerecord.de.yml (50%)
Update devise.de.yml
Update doorkeeper.de.yml (100%)
Update simple_form.de.yml (100%)
|
|
* Improve performance of modal and swipe animations
* Fix eslint issues
|
|
(#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
|
|
|
|
* 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
|
|
|
|
* Remove web UI warnings about OStatus privacy
* yarn run manage:translations
|
|
|
|
|
|
|
|
- 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
|
|
- 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
|
|
|
|
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.
|