Claire
bd40c1fa5a
Ensure exact match is the first result in hashtag searches ( #21315 )
...
Fixes #17494
2022-12-15 18:41:40 +01:00
Bramus!
e6f386edf1
Fix media markup ( #21420 )
...
This brings the markup of the MediaItem component on par with the Item component from media_gallery.
Co-authored-by: Effy Elden <effy@effy.space>
2022-12-15 18:37:47 +01:00
Claire
b821678966
Change remote media files to be downloaded outside of transactions ( #21796 )
2022-12-15 18:09:48 +01:00
Brian Campbell
baf43ec2d5
Fix idempotency when database writes are slow ( #21840 )
...
There is an idempotency key generated by clients when authoring a post,
and stored in Redis, to ensure that if a user or client retries posting
the same status, we don't get a duplicate.
Hachyderm.io has been experiencing some filesystem and database
performance issues, causing database writes to be slow. This can mean
that there are successful posts, but the reverse proxy returns 504
Gateway Timeout before the idempotency status has been updated; users or
clients who retry (such as Tusky which retries automatically, see
tuskyapp/Tusky#2951 ) can re-try the same post with the same idempotency
key before it has actually been recorded in Redis, leading to duplicate
posts.
To address this issue, move all of the database updates after the
initial transaction that creates the status into the
`postprocess_status!` method, so we can insert the idempotency key
immediately after the status has been created, significantly reducing
the window in which the status could be created but the idempotency key
not yet stored.
Note: this has not yet been tested; I'm submitting this PR for
discussion and to offer to the Hachyderm.io admins to try out to fix the
multiple posting problem.
Co-authored-by: Brian Campbell <brcampbell@beta.team>
2022-12-15 18:08:40 +01:00
Claire
f5d8ba958f
Fix being stuck in edit mode when deleting the edited status ( #22126 )
2022-12-15 17:47:43 +01:00
Claire
94d294202b
Fix changing domain block severity not undoing individual account effects ( #22135 )
...
* Fix changing domain block severity not undoing individual account effects
Fixes #22133
* Add tests
2022-12-15 17:45:02 +01:00
Claire
9490975b4e
Fix attachment rendering of edited posts in OpenGraph ( #22270 )
...
Fixes #22241
2022-12-15 17:41:20 +01:00
Rens Groothuijsen
37e12ff0ae
Display search popout at fixed screen position ( #16463 )
...
* Display search popout at fixed screen position
* Attach search popout to search box
2022-12-15 17:38:50 +01:00
Terence Eden
b4ec206994
Add transparancy to modal background for accessibility ( #18081 )
...
Fixes #18080
This keeps the `ui-base-lighter-color` but adds enough transparency so that text is more easily readable.
Tested in Firefox and Chrome.
2022-12-15 17:38:35 +01:00
Arnout Engelen
18e78d2f5a
Don't autofocus the compose form ( #16517 )
...
When opening a page such as /web/timelines/home in a desktop browser, the
cursor was automatically placed in the textarea of the compose form.
When using the keyboard for navigation (using a browser plugin like vimium or
vim vixen, or just to hit 'space' to scroll down a page), you have remember to
leave the field before using that.
Since you only visit the page to write a new post some of the time, this PR
attempts to have nothing focused initially (and require the user to click or
e.g. use 'tab' to focus the textarea).
Tested:
* /web/timeslines/home no longer autofocuses the compose box
* pressing the 'n' hotkey still focuses the compose box
* clicking 'reply' for a post still focuses the compose box
* replying to a CW'ed post still focuses the compose box
* introducing the CW field still focuses the CW field
* introducing the CW field for a reply still focuses the CW field
* removing the CW field still focuses the compose box
* /web/statuses/new still autofocuses the compose box
fixes #15862
2022-12-15 17:37:05 +01:00
Jeong Arm
429687c59f
Add "disabled" user filter for admin/accounts UI ( #21282 )
2022-12-15 17:30:47 +01:00
Mina Her
520a0c8ea7
Fix margin for search field on medium window size ( #21606 )
2022-12-15 17:24:38 +01:00
David Vega
4c10de8ae3
Fix single name variables on controller folder ( #20092 )
...
Co-authored-by: petrokoriakin1 <116151189+petrokoriakin1@users.noreply.github.com>
Co-authored-by: petrokoriakin1 <116151189+petrokoriakin1@users.noreply.github.com>
Co-authored-by: Effy Elden <effy@effy.space>
2022-12-15 17:11:58 +01:00
Jeong Arm
0bcfa2b429
Save avatar or header correctly even if other one fails ( #18465 )
...
* Save avatar or header correctly if other one fails
* Fix test
2022-12-15 17:11:14 +01:00
Luxiaba
cd49284155
Remove inline-css in logo ( #20814 )
2022-12-15 17:10:34 +01:00
Matthías Páll Gissurarson
bf26ee1e27
Fix punycoded local domains not being prettified in initial state ( #21440 )
2022-12-15 17:05:40 +01:00
Meisam
272ae2baa8
set activation for tag follow button ( #21629 )
...
Co-authored-by: meisam <meisam@noreply.codeberg.org>
2022-12-15 17:04:52 +01:00
Claire
c83083eef5
Fix inability to use local LibreTranslate without setting ALLOWED_PRIVATE_ADDRESSES ( #21926 )
...
Fixes #20029
2022-12-15 17:04:38 +01:00
Claire
a85c0fc862
Add explanation text to log-in page ( #20946 )
2022-12-15 16:44:29 +01:00
Fries
0e5b4b87bb
Add Montenegrin (cnr) ( #21013 )
2022-12-15 16:40:57 +01:00
Claire
8985a8d7ec
Fix the top action bar appearing in multi-column layout ( #20943 )
2022-12-15 16:40:45 +01:00
Claire
01f0da2a4f
Change CSP directives on API to be tight and concise ( #20960 )
2022-12-15 16:40:32 +01:00
Neil Matatall
728cfe0c1c
Use Rails tag API to build RSS feed for spoilers and polls ( #20163 )
...
* Use Rails tag API to build RSS feed for spoilers and polls
While the previous method did not contain a bug or a potential issue,
the tag API can be very resilient against future problems and reduces the
amount of manual management of the escape status of the content.
I've added tests to ensure that the formatting is broken and still
escapes control characters correctly.
* this seems cleaner and passes
* Incorporate feedback by moving the br to its own line and using the tag helper over the string constant for the br tag itself
* whoops, tag helper doesn't use a self-closing tag
2022-12-15 16:39:41 +01:00
Nick Schonning
691a69adf5
Fix typo in handler function call name ( #21829 )
2022-12-15 16:37:17 +01:00
Connor Shea
5475089960
Increase the width of the unread notification border. ( #21692 )
...
The smaller border is difficult to see for some users, especially
when the browser window was thinner, and so the unread border is at the
very left edge of the window.
2022-12-15 16:37:07 +01:00
Francis Murillo
1bfc5af0a7
Render current day formats in the client timezone ( #21878 )
...
* Fix remaining plain %time to %time.formatted
* Add %time.relative-formatted to client format dates on the current day
* Add missing comma dangle to formats
* Use client side message format instead of the server
* Add fallback message to relatve_format.today
* Remove unused translation key and fix js lint issue
Co-authored-by: Effy Elden <effy@effy.space>
2022-12-15 16:35:25 +01:00
Yamagishi Kazutoshi
21ffc2340f
`FormattedMessage` must be used directly ( #20982 )
...
* `FormattedMessage` must be used directly
* rollback
2022-12-15 16:20:46 +01:00
Pleclown
8993b7d630
Adding 12 hours option for polls ( #21131 )
...
* Adding 12 hours option for polls
Adding 12 hours option for polls
* Adding 12 hours option for polls
Missing > on a line
2022-12-15 16:20:34 +01:00
Alex Stine
ce1103a154
Fix hidden label causing accessibility issue for search inputs ( #21275 )
...
* Try unhiding search label.
* Use aria-label. Remove label as empty labels are useless.
* Remove addition of package-lock.json.
2022-12-15 16:20:21 +01:00
Jeremy Kescher
4afb0ba152
Fix being unable to react with the keycap number sign emoji ( #22231 )
...
#⃣
This bug is caused by the emoji consisting of:
U+23 #
U+FE0F
U+20E3 ⃣
Because it starts with a #, it's interpreted as an anchor link, which is not passed to the API. Therefore, the API sees no emoji to react with and answers correctly with a 404.
2022-12-15 16:18:39 +01:00
nametoolong
93ad2aba5e
Fix N+1 queries from in NotificationsController ( #21202 )
...
Co-authored-by: Nonexistent <nx@example.org>
2022-12-15 16:18:20 +01:00
luzpaz
11b7735fb3
Fix typos in source documentation ( #21046 )
...
Fixed 2 source comment/documentation typos
2022-12-15 15:57:26 +01:00
Riedler
b80d7c9f00
Fix profile avatar being slightly offset into left border ( fixes #20822 ) ( #20994 )
...
* hotfix for #20822
I don't know why it was shifted in the first place or why the width is specified twice, but this fixes the problem, so it looks fine to me.
* realigned pfp with content below
* fixed formatting
my bad
* added comment to explain the negative margin
before I forget - comments are *important* !
Co-authored-by: Riedler <riedler@gelse.eu>
2022-12-15 15:57:02 +01:00
s0
289097866b
Fix crash in elasticsearch_check.rb ( #21006 )
...
Nil unwrap causes the admin dashboard to crash/500 when the Chewy client info version number value is nil.
This occurs when running another ES-compatible backend such as MeiliSearch.
Obviously it would be good for chewy to recognise upstream but at least avoiding the crash would be fine.
2022-12-15 15:56:48 +01:00
Effy Elden
c7d4d21d99
Allow adding relays while secure mode & limited federation mode are enabled ( #22324 )
2022-12-15 15:56:05 +01:00
Claire
cd7d124e21
Fix invalid CSS for links in warning and strike cards ( #22302 )
2022-12-15 15:52:18 +01:00
Jeong Arm
53b6623136
Don't delivery a reply to domains which are blocked by author ( #22117 )
...
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2022-12-15 15:52:06 +01:00
Claire
50aecc6738
Fix missing Javascript in domain block import confirmation page ( #21471 )
...
Follow-up to #20597
2022-12-15 15:47:23 +01:00
Francis Murillo
3a11a90dd3
Revoke all authorized applications on password reset ( #21325 )
...
* Clear sessions on password change
* Rename User::clear_sessions to revoke_access for a clearer meaning
* Add reset paassword controller test
* Use User.find instead of User.find_for_authentication for reset password test
* Use redirect and render for better test meaning in reset password
Co-authored-by: Effy Elden <effy@effy.space>
2022-12-15 15:47:06 +01:00
Claire
4adc6160ad
Change dropdown menu to contain “Copy link to post” even for non-public posts ( #21316 )
...
Fixes #21244
2022-12-15 15:43:16 +01:00
Claire
747da76540
Allow admins to refresh remotely-suspended accounts ( #22327 )
...
* Change suspension text to mention that a remotely suspended account is not locally-suspended
* Add ability to refresh profile of remotely suspended accounts
2022-12-15 14:15:50 +01:00
Claire
76d3dc633f
Fix wasteful request to /api/v1/custom_emojis when not logged in ( #22326 )
2022-12-15 14:07:34 +01:00
zunda
65922f50fc
Add single splat to callback method definitions to avoid ArgumentError ( #22246 )
...
It looks like a [bug](https://bugs.ruby-lang.org/issues/18633 ) around
autosplat is [fixed](fbaadd1cfe
)
on ruby-3.2.0-rc1 and breaks a test (but not on ruby <= 3.1.3):
```
$ bundle exec rspec ./spec/controllers/api/v1/emails/confirmations_controller_spec.rb:41
:
1) Api::V1::Emails::ConfirmationsController#create with an oauth token from an app that created the account when the account is already confirmed but user changed e-mail and has not confirmed it returns http success
Failure/Error:
def email_changed(user, **)
@resource = user
@instance = Rails.configuration.x.local_domain
return unless @resource.active_for_authentication?
I18n.with_locale(locale) do
mail to: @resource.email, subject: I18n.t('devise.mailer.email_changed.subject')
end
end
ArgumentError:
wrong number of arguments (given 2, expected 1)
# ./app/mailers/user_mailer.rb:51:in `email_changed'
# ./app/models/user.rb:444:in `render_and_send_devise_message'
# ./app/models/user.rb:430:in `block in send_pending_devise_notifications'
# ./app/models/user.rb:429:in `each'
# ./app/models/user.rb:429:in `send_pending_devise_notifications'
# ./spec/controllers/api/v1/emails/confirmations_controller_spec.rb:38:in `block (7 levels) in <top (required)>'
```
2022-12-13 20:03:16 +01:00
Rin
5015e7cee2
fix missing style in warning and strike cards ( #22177 )
2022-12-13 20:03:09 +01:00
cadars
40bf70b802
Make handle more easily selectable on profile page ( #21479 )
...
* Make handle more easily selectable on profile page
* Wrap handle in a span
* Add `user-select: all` to span
* remove whitespace
2022-12-13 19:43:03 +01:00
Claire
0e7709efce
Change default reply language to be default language when replying to a translated reply ( #22272 )
...
Fixes #22250
2022-12-13 19:41:53 +01:00
prplecake
3958691dc7
Add noindex setting to Admin settings Discovery page ( #22205 )
...
* Add noindex setting to Admin settings Discovery page
* Replace default_noindex i18n
2022-12-11 07:27:44 +01:00
Eugen Rochko
cf5565cff3
New Crowdin updates ( #21954 )
...
* New translations en.json (Serbian (Cyrillic))
* New translations en.json (Serbian (Latin))
* New translations en.yml (Serbian (Latin))
* New translations simple_form.en.yml (Serbian (Latin))
* New translations activerecord.en.yml (Serbian (Latin))
* New translations doorkeeper.en.yml (Serbian (Latin))
* New translations devise.en.yml (Serbian (Latin))
* New translations en.json (Serbian (Cyrillic))
* New translations en.json (Chinese Traditional)
* New translations en.json (Serbian (Latin))
* New translations en.json (Serbian (Cyrillic))
* New translations en.json (Icelandic)
* New translations en.json (Serbian (Latin))
* New translations en.json (Serbian (Cyrillic))
* New translations en.json (Serbian (Latin))
* New translations en.json (Malay)
* New translations en.json (Malay)
* New translations activerecord.en.yml (Malay)
* New translations devise.en.yml (Malay)
* New translations en.yml (Malay)
* New translations en.yml (Arabic)
* New translations en.yml (Greek)
* New translations en.yml (Galician)
* New translations simple_form.en.yml (Malay)
* New translations en.yml (Greek)
* New translations en.yml (Russian)
* New translations en.yml (Belarusian)
* New translations en.yml (Greek)
* New translations en.yml (Belarusian)
* New translations simple_form.en.yml (Greek)
* New translations en.json (Greek)
* New translations en.yml (Greek)
* New translations en.yml (Belarusian)
* New translations doorkeeper.en.yml (Greek)
* New translations en.yml (Greek)
* New translations en.yml (Malay)
* New translations simple_form.en.yml (Malay)
* New translations en.json (Esperanto)
* New translations en.yml (Malay)
* New translations en.yml (Esperanto)
* New translations devise.en.yml (Esperanto)
* New translations en.yml (Vietnamese)
* New translations simple_form.en.yml (Vietnamese)
* New translations en.json (Serbian (Cyrillic))
* New translations en.json (Serbian (Latin))
* New translations en.yml (Belarusian)
* New translations en.yml (Vietnamese)
* New translations en.yml (Belarusian)
* New translations en.yml (Kurmanji (Kurdish))
* New translations en.json (Serbian (Cyrillic))
* New translations en.json (Serbian (Latin))
* New translations en.json (Occitan)
* New translations en.json (Czech)
* New translations en.yml (Hebrew)
* New translations doorkeeper.en.yml (Spanish, Argentina)
* New translations en.json (German)
* New translations en.yml (Spanish, Argentina)
* New translations en.json (German)
* New translations simple_form.en.yml (Serbian (Cyrillic))
* New translations en.json (German)
* New translations en.json (Esperanto)
* New translations en.yml (Esperanto)
* New translations en.yml (Esperanto)
* New translations en.yml (Thai)
* New translations activerecord.en.yml (Scots)
* New translations en.json (Scottish Gaelic)
* New translations en.yml (Belarusian)
* New translations en.yml (Belarusian)
* New translations en.json (Latvian)
* New translations en.json (Latvian)
* New translations activerecord.en.yml (Latvian)
* New translations devise.en.yml (Latvian)
* New translations en.yml (Turkish)
* New translations en.yml (Scottish Gaelic)
* New translations en.yml (Danish)
* New translations en.yml (Thai)
* New translations en.yml (Belarusian)
* New translations simple_form.en.yml (Thai)
* New translations en.yml (Thai)
* New translations en.json (Thai)
* New translations en.yml (German)
* New translations en.yml (German)
* New translations simple_form.en.yml (German)
* New translations en.json (Kurmanji (Kurdish))
* New translations en.json (Kurmanji (Kurdish))
* New translations en.yml (Belarusian)
* New translations en.yml (Kurmanji (Kurdish))
* New translations en.json (Latvian)
* New translations simple_form.en.yml (Serbian (Cyrillic))
* New translations en.yml (Belarusian)
* New translations en.yml (German)
* New translations en.json (German)
* New translations simple_form.en.yml (German)
* New translations simple_form.en.yml (Serbian (Cyrillic))
* New translations simple_form.en.yml (Spanish, Argentina)
* New translations en.yml (German)
* New translations en.json (German)
* New translations en.yml (Spanish, Argentina)
* New translations en.yml (Persian)
* New translations en.json (Spanish, Mexico)
* New translations en.yml (Belarusian)
* New translations en.yml (German)
* New translations en.json (Danish)
* New translations en.yml (Danish)
* New translations simple_form.en.yml (Scots)
* New translations en.yml (Belarusian)
* New translations en.yml (Danish)
* New translations en.yml (Scots)
* New translations simple_form.en.yml (Scots)
* New translations en.json (Scots)
* New translations devise.en.yml (Scots)
* New translations doorkeeper.en.yml (Scots)
* New translations en.yml (Greek)
* New translations en.yml (Greek)
* New translations en.yml (Belarusian)
* New translations en.json (German)
* New translations en.yml (Belarusian)
* New translations en.yml (Spanish, Argentina)
* New translations en.json (Spanish, Argentina)
* New translations en.json (German)
* New translations en.json (Esperanto)
* New translations en.json (French)
* New translations en.yml (Esperanto)
* New translations en.yml (Belarusian)
* New translations en.json (Esperanto)
* New translations en.yml (Esperanto)
* New translations en.yml (Belarusian)
* New translations devise.en.yml (Esperanto)
* New translations en.json (Slovak)
* New translations en.yml (Slovak)
* New translations activerecord.en.yml (Slovak)
* New translations devise.en.yml (Slovak)
* New translations doorkeeper.en.yml (Slovak)
* New translations en.yml (Belarusian)
* New translations en.yml (Slovak)
* New translations en.yml (Belarusian)
* New translations en.yml (Belarusian)
* New translations en.json (Lithuanian)
* New translations en.yml (Belarusian)
* New translations simple_form.en.yml (Serbian (Cyrillic))
* New translations en.yml (Belarusian)
* New translations simple_form.en.yml (Serbian (Cyrillic))
* New translations en.json (Esperanto)
* New translations en.json (Vietnamese)
* New translations en.yml (Belarusian)
* New translations en.yml (Belarusian)
* New translations en.yml (Belarusian)
* New translations simple_form.en.yml (Belarusian)
* New translations en.yml (Belarusian)
* New translations en.yml (Latvian)
* New translations en.yml (Belarusian)
* New translations en.json (Welsh)
* New translations en.yml (Welsh)
* New translations simple_form.en.yml (Welsh)
* New translations activerecord.en.yml (Welsh)
* New translations devise.en.yml (Welsh)
* New translations doorkeeper.en.yml (Welsh)
* New translations en.json (Welsh)
* New translations en.json (Welsh)
* New translations en.yml (Welsh)
* New translations en.yml (Hebrew)
* New translations en.yml (Welsh)
* New translations en.yml (Hebrew)
* New translations en.yml (Russian)
* New translations simple_form.en.yml (Serbian (Cyrillic))
* New translations simple_form.en.yml (Belarusian)
* New translations en.yml (Ukrainian)
* New translations en.json (Ukrainian)
* New translations en.json (Chinese Simplified)
* New translations en.json (Slovak)
* New translations en.json (Slovak)
* New translations en.yml (Slovak)
* New translations en.yml (Belarusian)
* normalize
* New translations en.yml (Belarusian)
* normalize
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-12-10 00:12:56 +09:00
Claire
145a3506b3
Fix failure when “Require a reason to join” is set with open registrations ( #22127 )
2022-12-07 16:39:58 +01:00
Claire
7fe4f2c715
Fix potential duplicate statuses in Explore tab ( #22121 )
2022-12-07 14:12:55 +01:00
Claire
d4e4d272e1
Fix 500 error when trying to migrate to an invalid address ( #21462 )
...
* Fix 500 error when trying to migrate to an invalid address
* Add tests
2022-12-07 02:35:39 +01:00
Juan Xavier Gomez
6414c28368
Fix hidden overflow on interaction modal ( #21763 )
...
* Fix hidden overflow on interaction modal
* only update overflow y
2022-12-07 00:40:37 +01:00
Claire
fe85b0b686
Fix UI header overflow on mobile ( #21783 )
2022-12-07 00:40:18 +01:00
Claire
eb24df264f
Fix “Sign up” button with closed registrations not opening modal on mobile ( #22060 )
...
Fixes #20840
2022-12-07 00:25:40 +01:00
Francis Murillo
5ad9fea52a
Log admin approve and reject account ( #22088 )
...
* Log admin approve and reject account
* Add unit tests for approve and reject logging
2022-12-07 00:25:18 +01:00
Claire
aec7de494f
Fix unbounded recursion in account discovery ( #22025 )
...
* Fix trying to fetch posts from other users when fetching featured posts
* Rate-limit discovery of new subdomains
* Put a limit on recursively discovering new accounts
2022-12-07 00:15:24 +01:00
Claire
b97260426b
Fix irreversible and whole_word parameters handling in /api/v1/filters ( #21988 )
...
Fixes #21965
2022-12-07 00:10:53 +01:00
Jed Fox
1f371be744
Fix the top border of verified account fields ( #22006 )
2022-12-06 23:54:02 +01:00
Nick Schonning
088b0b4b20
Fix spacing warning from ESLint ( #22005 )
2022-12-04 10:56:21 +09:00
Eugen Rochko
bec346eb28
New Crowdin updates ( #21599 )
...
* New translations doorkeeper.en.yml (Esperanto)
* New translations activerecord.en.yml (Spanish)
* New translations activerecord.en.yml (Esperanto)
* New translations doorkeeper.en.yml (Spanish)
* New translations devise.en.yml (Spanish)
* New translations devise.en.yml (Esperanto)
* New translations en.json (Spanish)
* New translations en.yml (Danish)
* New translations en.json (Serbian (Cyrillic))
* New translations en.yml (Faroese)
* New translations en.yml (Faroese)
* New translations en.json (German)
* New translations en.yml (Faroese)
* New translations simple_form.en.yml (Faroese)
* New translations en.yml (Belarusian)
* New translations en.yml (German)
* New translations en.json (German)
* New translations simple_form.en.yml (Faroese)
* New translations en.yml (Belarusian)
* New translations doorkeeper.en.yml (Belarusian)
* New translations en.yml (German)
* New translations en.json (Bulgarian)
* New translations en.json (German)
* New translations en.yml (Bulgarian)
* New translations simple_form.en.yml (Bulgarian)
* New translations doorkeeper.en.yml (Bulgarian)
* New translations en.json (Belarusian)
* New translations simple_form.en.yml (Belarusian)
* New translations en.json (Czech)
* New translations en.json (Serbian (Cyrillic))
* New translations en.yml (Serbian (Cyrillic))
* New translations simple_form.en.yml (Faroese)
* New translations devise.en.yml (Catalan)
* New translations en.yml (German)
* New translations en.json (Bulgarian)
* New translations en.json (German)
* New translations en.json (Catalan)
* New translations en.yml (Catalan)
* New translations en.json (Danish)
* New translations en.json (Ukrainian)
* New translations en.json (Galician)
* New translations doorkeeper.en.yml (Catalan)
* New translations simple_form.en.yml (German)
* New translations en.json (Danish)
* New translations en.yml (English, United Kingdom)
* New translations simple_form.en.yml (Faroese)
* New translations en.json (Danish)
* New translations en.yml (Japanese)
* New translations en.yml (German)
* New translations en.json (Urdu (Pakistan))
* New translations simple_form.en.yml (German)
* New translations simple_form.en.yml (Faroese)
* New translations en.yml (German)
* New translations en.json (Urdu (Pakistan))
* New translations simple_form.en.yml (Faroese)
* New translations simple_form.en.yml (Faroese)
* New translations en.json (Scots)
* New translations activerecord.en.yml (Scots)
* New translations en.json (Finnish)
* New translations en.json (Finnish)
* New translations en.json (Asturian)
* New translations en.yml (Asturian)
* New translations simple_form.en.yml (Asturian)
* New translations activerecord.en.yml (Asturian)
* New translations devise.en.yml (Asturian)
* New translations doorkeeper.en.yml (Asturian)
* New translations en.yml (Belarusian)
* New translations en.json (Romanian)
* New translations en.json (Galician)
* New translations en.yml (Galician)
* New translations doorkeeper.en.yml (Romanian)
* New translations doorkeeper.en.yml (Galician)
* New translations activerecord.en.yml (Romanian)
* New translations en.yml (Russian)
* New translations en.yml (Estonian)
* New translations en.yml (Estonian)
* New translations devise.en.yml (Estonian)
* New translations en.json (Czech)
* New translations en.yml (Bulgarian)
* New translations en.json (Serbian (Cyrillic))
* New translations en.yml (Serbian (Cyrillic))
* New translations en.json (Galician)
* New translations en.yml (Galician)
* New translations en.json (Breton)
* New translations simple_form.en.yml (Bulgarian)
* New translations doorkeeper.en.yml (Bulgarian)
* New translations simple_form.en.yml (Galician)
* New translations devise.en.yml (Italian)
* New translations en.json (Bulgarian)
* New translations en.yml (Bulgarian)
* New translations simple_form.en.yml (Bulgarian)
* New translations doorkeeper.en.yml (Bulgarian)
* New translations devise.en.yml (Italian)
* New translations en.json (Serbian (Cyrillic))
* New translations doorkeeper.en.yml (Italian)
* New translations en.json (Serbian (Cyrillic))
* New translations en.json (Chinese Traditional, Hong Kong)
* New translations en.yml (Chinese Traditional, Hong Kong)
* New translations en.json (Serbian (Latin))
* New translations simple_form.en.yml (Serbian (Cyrillic))
* New translations doorkeeper.en.yml (Italian)
* New translations en.yml (Belarusian)
* New translations en.yml (Belarusian)
* New translations simple_form.en.yml (Serbian (Cyrillic))
* New translations en.yml (Belarusian)
* New translations simple_form.en.yml (Serbian (Cyrillic))
* New translations en.yml (Estonian)
* New translations simple_form.en.yml (Estonian)
* New translations en.yml (Estonian)
* New translations simple_form.en.yml (Estonian)
* New translations simple_form.en.yml (Asturian)
* New translations en.yml (Asturian)
* New translations simple_form.en.yml (Asturian)
* New translations en.json (Thai)
* New translations en.yml (Thai)
* New translations en.json (Thai)
* New translations en.yml (Thai)
* New translations en.yml (Czech)
* New translations en.json (Czech)
* New translations simple_form.en.yml (Czech)
* New translations doorkeeper.en.yml (Czech)
* New translations en.yml (Belarusian)
* New translations en.yml (Thai)
* New translations en.json (English, United Kingdom)
* New translations en.yml (Belarusian)
* New translations en.yml (Thai)
* New translations en.yml (Estonian)
* New translations en.yml (Thai)
* New translations en.json (Thai)
* New translations en.yml (German)
* New translations en.json (Russian)
* New translations en.yml (Icelandic)
* New translations en.json (Estonian)
* New translations en.yml (Estonian)
* New translations en.yml (Belarusian)
* New translations en.yml (Thai)
* New translations en.json (Esperanto)
* New translations en.yml (Esperanto)
* New translations simple_form.en.yml (Esperanto)
* New translations en.yml (Thai)
* New translations en.json (Esperanto)
* New translations en.yml (Thai)
* New translations en.yml (Belarusian)
* New translations en.yml (Thai)
* New translations en.json (Icelandic)
* New translations en.yml (Icelandic)
* New translations simple_form.en.yml (Icelandic)
* New translations doorkeeper.en.yml (Icelandic)
* New translations en.yml (Belarusian)
* New translations activerecord.en.yml (Icelandic)
* New translations devise.en.yml (Icelandic)
* New translations en.yml (Thai)
* New translations en.json (Estonian)
* New translations en.yml (Estonian)
* New translations doorkeeper.en.yml (Estonian)
* New translations en.yml (Belarusian)
* New translations en.yml (Thai)
* New translations en.yml (Belarusian)
* New translations en.json (Bulgarian)
* New translations en.yml (Bulgarian)
* New translations en.json (Serbian (Cyrillic))
* New translations en.yml (Bulgarian)
* New translations en.json (Serbian (Cyrillic))
* New translations en.yml (Estonian)
* New translations en.json (Ukrainian)
* New translations en.yml (Estonian)
* New translations en.json (Esperanto)
* New translations en.yml (Estonian)
* New translations en.yml (Estonian)
* New translations en.yml (Estonian)
* New translations simple_form.en.yml (Estonian)
* New translations en.yml (Estonian)
* New translations simple_form.en.yml (Estonian)
* New translations en.yml (Belarusian)
* New translations en.yml (Belarusian)
* New translations en.json (Persian)
* New translations en.yml (Belarusian)
* New translations en.json (Esperanto)
* New translations en.json (Greek)
* New translations en.json (Persian)
* New translations en.json (Scots)
* New translations en.yml (Estonian)
* New translations simple_form.en.yml (Estonian)
* New translations en.yml (Thai)
* New translations en.yml (Estonian)
* New translations simple_form.en.yml (Estonian)
* New translations doorkeeper.en.yml (Estonian)
* New translations en.yml (German)
* New translations en.json (German)
* New translations en.json (Finnish)
* New translations en.yml (Estonian)
* New translations en.yml (German)
* New translations en.json (Estonian)
* New translations en.yml (Estonian)
* New translations simple_form.en.yml (German)
* New translations simple_form.en.yml (Estonian)
* New translations devise.en.yml (German)
* New translations simple_form.en.yml (German)
* New translations en.yml (Finnish)
* New translations en.json (Serbian (Cyrillic))
* New translations en.json (Serbian (Cyrillic))
* New translations en.yml (Estonian)
* New translations simple_form.en.yml (Estonian)
* New translations doorkeeper.en.yml (Estonian)
* New translations en.json (Estonian)
* New translations en.yml (Estonian)
* New translations simple_form.en.yml (Estonian)
* New translations en.json (Spanish)
* New translations en.yml (Estonian)
* New translations simple_form.en.yml (Estonian)
* New translations en.yml (Thai)
* New translations en.yml (Estonian)
* New translations simple_form.en.yml (Estonian)
* New translations simple_form.en.yml (Icelandic)
* New translations en.yml (German)
* New translations en.yml (Ukrainian)
* New translations en.json (Spanish, Mexico)
* New translations en.json (Serbian (Cyrillic))
* New translations en.json (Spanish, Mexico)
* New translations activerecord.en.yml (Spanish, Mexico)
* New translations en.json (German)
* New translations en.yml (Thai)
* New translations en.json (Thai)
* New translations en.json (Korean)
* New translations en.json (Scottish Gaelic)
* New translations en.yml (Scottish Gaelic)
* New translations en.yml (Thai)
* New translations en.yml (Japanese)
* New translations en.json (Serbian (Cyrillic))
* New translations en.yml (Belarusian)
* New translations en.json (Estonian)
* New translations en.yml (Estonian)
* New translations simple_form.en.yml (Estonian)
* New translations en.json (Serbian (Cyrillic))
* New translations en.json (Estonian)
* New translations en.json (Serbian (Cyrillic))
* New translations en.yml (Italian)
* New translations en.yml (Italian)
* New translations en.json (Kurmanji (Kurdish))
* New translations en.yml (Spanish)
* New translations en.yml (Spanish, Mexico)
* New translations en.yml (Latvian)
* New translations simple_form.en.yml (Latvian)
* New translations en.yml (Belarusian)
* New translations en.json (Serbian (Cyrillic))
* New translations simple_form.en.yml (Serbian (Cyrillic))
* normalize
* New translations en.json (German)
* New translations en.json (Serbian (Cyrillic))
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-12-02 23:03:06 +09:00
Claire
1bef772764
Fix some performance issues with /admin/instances ( #21907 )
...
/admin/instances?availability=failing remains wholly unefficient
2022-12-01 10:32:10 +01:00
Claire
feaa152fcd
Fix expanded statuses not always being scrolled into view ( #21797 )
2022-11-28 16:42:04 +01:00
Connor Shea
2821d7aaa7
Make the 'Trending now' header a link to Explore. ( #21759 )
...
This keeps the same design that exists currently, but makes "Trending
now" into a link to the Hashtags section of "Explore".
Resolves #21758 .
2022-11-27 23:49:32 +01:00
Claire
e668be4cac
Fix infinite loading instead of soft 404 for non-existing remote accounts ( #21303 )
...
Fixes #21278 , #21021
2022-11-27 20:48:12 +01:00
Claire
851c6d647f
Fix spaces not being stripped in admin account search ( #21324 )
...
Fixes #21058
Regression from #18641
2022-11-27 20:47:29 +01:00
James Adney
0a302f7673
fix gif autoplay on iOS ( #21422 )
2022-11-27 20:46:23 +01:00
Bramus!
e0d03fd3cb
Add user profile OG tag on status page ( #21423 )
2022-11-27 20:45:28 +01:00
Claire
4d9ee0e01d
Remove LDSignature on actor Delete activities ( #21466 )
...
They are currently not used for anything and represent more than half of the
payload size.
2022-11-27 20:43:24 +01:00
Claire
f47fbb8729
Fix “Share @{name}'s profile” profile menu item ( #21490 )
2022-11-27 20:42:17 +01:00
Kaspar V
f2ec356cb6
refactor(vacuum statuses): reduce amount of db queries and load for each query - improve performance ( #21487 )
...
* refactor(statuses_vacuum): remove dead code - unused
Method is not called inside class and private.
Clean up dead code.
* refactor(statuses_vacuum): make retention_period present test explicit
This private method only hides functionality.
It is best practice to be as explicit as possible.
* refactor(statuses_vacuum): improve query performance
- fix statuses_scope having sub-select for Account.remote scope by
`joins(:account).merge(Account.remote)`
- fix statuses_scope unnecessary use of `Status.arel_table[:id].lt`
because it is inexplicit, bad practice and even slower than normal
`.where('statuses.id < ?'`
- fix statuses_scope remove select(:id, :visibility) for having reusable
active record query batches (no re queries)
- fix vacuum_statuses! to use in_batches instead of find_in_batches,
because in_batches delivers a full blown active record query result,
in stead of an array - no requeries necessary
- send(:unlink_from_conversations) not to perform another db query, but
reuse the in_batches result instead.
- remove now obsolete remove_from_account_conversations method
- remove_from_search_index uses array of ids, instead of mapping
the ids from an array - this should be more efficient
- use the in_batches scope to call delete_all, instead of running
another db query for this - because it is again more efficient
- add TODO comment for calling models private method with send
* refactor(status): simplify unlink_from_conversations
- add `has_many through:` relation mentioned_accounts
- use model scope local instead of method call `Status#local?`
- more readable add account to inbox_owners when account.local?
* refactor(status): searchable_by way less sub selects
These queries all included a sub-select. Doing the same with a joins
should be more efficient.
Since this method does 5 such queries, this should be significant,
since it technically halves the query count.
This is how it was:
```ruby
[3] pry(main)> Status.first.mentions.where(account: Account.local, silent: false).explain
Status Load (1.6ms) SELECT "statuses".* FROM "statuses" WHERE "statuses"."deleted_at" IS NULL ORDER BY "statuses"."id" DESC LIMIT $1 [["LIMIT", 1]]
Mention Load (1.5ms) SELECT "mentions".* FROM "mentions" WHERE "mentions"."status_id" = $1 AND "mentions"."account_id" IN (SELECT "accounts"."id" FROM "accounts" WHERE "accounts"."domain" IS NULL) AND "mentions"."silent" = $2 [["status_id", 109382923142288414], ["silent", false]]
=> EXPLAIN for: SELECT "mentions".* FROM "mentions" WHERE "mentions"."status_id" = $1 AND "mentions"."account_id" IN (SELECT "accounts"."id" FROM "accounts" WHERE "accounts"."domain" IS NULL) AND "mentions"."silent" = $2 [["status_id", 109382923142288414], ["silent", false]]
QUERY PLAN
------------------------------------------------------------------------------------------------------------------
Nested Loop (cost=0.15..23.08 rows=1 width=41)
-> Seq Scan on accounts (cost=0.00..10.90 rows=1 width=8)
Filter: (domain IS NULL)
-> Index Scan using index_mentions_on_account_id_and_status_id on mentions (cost=0.15..8.17 rows=1 width=41)
Index Cond: ((account_id = accounts.id) AND (status_id = '109382923142288414'::bigint))
Filter: (NOT silent)
(6 rows)
```
This is how it is with this change:
```ruby
[4] pry(main)> Status.first.mentions.joins(:account).merge(Account.local).active.explain
Status Load (1.7ms) SELECT "statuses".* FROM "statuses" WHERE "statuses"."deleted_at" IS NULL ORDER BY "statuses"."id" DESC LIMIT $1 [["LIMIT", 1]]
Mention Load (0.7ms) SELECT "mentions".* FROM "mentions" INNER JOIN "accounts" ON "accounts"."id" = "mentions"."account_id" WHERE "mentions"."status_id" = $1 AND "accounts"."domain" IS NULL AND "mentions"."silent" = $2 [["status_id", 109382923142288414], ["silent", false]]
=> EXPLAIN for: SELECT "mentions".* FROM "mentions" INNER JOIN "accounts" ON "accounts"."id" = "mentions"."account_id" WHERE "mentions"."status_id" = $1 AND "accounts"."domain" IS NULL AND "mentions"."silent" = $2 [["status_id", 109382923142288414], ["silent", false]]
QUERY PLAN
------------------------------------------------------------------------------------------------------------------
Nested Loop (cost=0.15..23.08 rows=1 width=41)
-> Seq Scan on accounts (cost=0.00..10.90 rows=1 width=8)
Filter: (domain IS NULL)
-> Index Scan using index_mentions_on_account_id_and_status_id on mentions (cost=0.15..8.17 rows=1 width=41)
Index Cond: ((account_id = accounts.id) AND (status_id = '109382923142288414'::bigint))
Filter: (NOT silent)
(6 rows)
```
2022-11-27 20:41:18 +01:00
Claire
be16e6f26c
Fix attachments of edited statuses not being fetched ( #21565 )
...
* Fix attachments of edited statuses not being fetched
* Fix tests
2022-11-27 20:39:05 +01:00
kedama
691b827c87
Fix status mismatch of sensitive check ( #21724 )
2022-11-27 20:36:21 +01:00
afontenot
05b1b5790f
Clear voter count when poll is reset ( #21700 )
...
When a poll is edited, we reset the poll and remove all previous
votes. However, prior to this commit, the voter count on the poll
was not reset. This leads to incorrect percentages being shown in
poll results.
Fixes #21696
2022-11-26 23:08:25 +01:00
Skyler Hawthorne
ce10b313bb
fix media uploads with ffmpeg 5 ( #21191 )
2022-11-25 16:20:47 +01:00
Eugen Rochko
4b21adb4b2
New Crowdin updates ( #20942 )
...
* New translations en.yml (Belarusian)
* New translations simple_form.en.yml (Belarusian)
* New translations doorkeeper.en.yml (Belarusian)
* New translations devise.en.yml (Finnish)
* New translations en.json (Norwegian)
* New translations en.json (Serbian (Cyrillic))
* New translations en.yml (Esperanto)
* New translations en.yml (Scots)
* New translations en.yml (Italian)
* New translations en.json (Welsh)
* New translations en.yml (Welsh)
* New translations en.yml (Esperanto)
* New translations en.yml (Belarusian)
* New translations simple_form.en.yml (Belarusian)
* New translations en.yml (German)
* New translations simple_form.en.yml (Belarusian)
* New translations en.yml (Belarusian)
* New translations en.json (Belarusian)
* New translations en.yml (Faroese)
* New translations simple_form.en.yml (Estonian)
* New translations en.json (German)
* New translations simple_form.en.yml (German)
* New translations en.yml (Esperanto)
* New translations en.yml (Welsh)
* New translations en.yml (Estonian)
* New translations en.json (Estonian)
* New translations en.yml (Italian)
* New translations doorkeeper.en.yml (Belarusian)
* New translations en.yml (German)
* New translations en.json (Estonian)
* New translations en.yml (Estonian)
* New translations en.yml (Welsh)
* New translations simple_form.en.yml (German)
* New translations simple_form.en.yml (Estonian)
* New translations doorkeeper.en.yml (Welsh)
* New translations activerecord.en.yml (Welsh)
* New translations devise.en.yml (Welsh)
* New translations en.yml (Faroese)
* New translations en.yml (Scots)
* New translations simple_form.en.yml (Belarusian)
* New translations doorkeeper.en.yml (Belarusian)
* New translations en.yml (German)
* New translations en.json (Hungarian)
* New translations en.json (Bengali)
* New translations en.yml (Estonian)
* New translations simple_form.en.yml (German)
* New translations simple_form.en.yml (Estonian)
* New translations simple_form.en.yml (Welsh)
* New translations en.yml (Scots)
* New translations doorkeeper.en.yml (German)
* New translations en.yml (Russian)
* New translations en.yml (Estonian)
* New translations en.json (Belarusian)
* New translations simple_form.en.yml (Belarusian)
* New translations en.json (Indonesian)
* New translations en.yml (Indonesian)
* New translations simple_form.en.yml (Serbian (Latin))
* New translations en.json (Belarusian)
* New translations en.yml (Belarusian)
* New translations devise.en.yml (Serbian (Latin))
* New translations en.yml (Belarusian)
* New translations simple_form.en.yml (Belarusian)
* New translations doorkeeper.en.yml (Belarusian)
* New translations en.yml (German)
* New translations en.json (German)
* New translations en.yml (Portuguese, Brazilian)
* New translations simple_form.en.yml (German)
* New translations doorkeeper.en.yml (German)
* New translations devise.en.yml (German)
* New translations en.yml (Faroese)
* New translations simple_form.en.yml (Faroese)
* New translations en.yml (Belarusian)
* New translations doorkeeper.en.yml (Belarusian)
* New translations en.json (Spanish)
* New translations en.json (Welsh)
* New translations en.yml (Welsh)
* New translations doorkeeper.en.yml (Welsh)
* New translations en.yml (Belarusian)
* New translations en.json (German)
* New translations en.yml (Welsh)
* New translations en.json (Asturian)
* New translations simple_form.en.yml (German)
* New translations en.yml (Faroese)
* New translations en.yml (Belarusian)
* New translations en.json (Asturian)
* New translations en.yml (Asturian)
* New translations en.json (French, Quebec)
* New translations en.json (Faroese)
* New translations en.yml (Faroese)
* New translations en.json (Belarusian)
* New translations en.yml (Belarusian)
* New translations devise.en.yml (Asturian)
* New translations en.json (Spanish)
* New translations en.json (French, Quebec)
* New translations en.yml (Faroese)
* New translations en.yml (Scots)
* New translations en.json (Belarusian)
* New translations en.yml (Belarusian)
* New translations en.json (French, Quebec)
* New translations en.yml (Scots)
* New translations en.yml (Belarusian)
* New translations en.yml (Asturian)
* New translations simple_form.en.yml (Asturian)
* New translations doorkeeper.en.yml (Asturian)
* New translations en.json (Asturian)
* New translations en.yml (Asturian)
* New translations simple_form.en.yml (Asturian)
* New translations en.json (Asturian)
* New translations en.yml (Faroese)
* New translations en.yml (Faroese)
* New translations simple_form.en.yml (Faroese)
* New translations simple_form.en.yml (Belarusian)
* New translations devise.en.yml (Serbian (Latin))
* New translations en.yml (Japanese)
* New translations en.json (Serbian (Latin))
* New translations en.yml (Faroese)
* New translations en.yml (Belarusian)
* New translations simple_form.en.yml (Belarusian)
* New translations en.yml (German)
* New translations en.json (German)
* New translations en.yml (Estonian)
* New translations en.json (Estonian)
* New translations en.yml (Estonian)
* New translations simple_form.en.yml (Estonian)
* New translations devise.en.yml (Estonian)
* New translations en.yml (German)
* New translations en.json (German)
* New translations en.yml (Estonian)
* New translations simple_form.en.yml (German)
* New translations simple_form.en.yml (Estonian)
* New translations devise.en.yml (Estonian)
* New translations en.yml (German)
* New translations en.json (German)
* New translations en.yml (Catalan)
* New translations en.json (Estonian)
* New translations en.yml (Estonian)
* New translations simple_form.en.yml (Catalan)
* New translations doorkeeper.en.yml (Catalan)
* New translations simple_form.en.yml (German)
* New translations simple_form.en.yml (Estonian)
* New translations activerecord.en.yml (Serbian (Cyrillic))
* New translations en.yml (Faroese)
* New translations simple_form.en.yml (Faroese)
* New translations en.yml (Scots)
* New translations doorkeeper.en.yml (Serbian (Cyrillic))
* New translations en.yml (Belarusian)
* New translations devise.en.yml (German)
* New translations en.json (Estonian)
* New translations en.yml (Estonian)
* New translations simple_form.en.yml (Estonian)
* New translations doorkeeper.en.yml (Serbian (Cyrillic))
* New translations doorkeeper.en.yml (Estonian)
* New translations en.yml (Romanian)
* New translations en.yml (Estonian)
* New translations simple_form.en.yml (Estonian)
* New translations en.yml (Scots)
* New translations doorkeeper.en.yml (Estonian)
* New translations simple_form.en.yml (Bulgarian)
* New translations simple_form.en.yml (German)
* New translations activerecord.en.yml (Serbian (Cyrillic))
* New translations en.yml (Scots)
* New translations en.yml (Bulgarian)
* New translations simple_form.en.yml (Bulgarian)
* New translations en.yml (Asturian)
* New translations devise.en.yml (Asturian)
* New translations en.yml (Scots)
* New translations simple_form.en.yml (Hebrew)
* New translations en.yml (Belarusian)
* New translations en.yml (Belarusian)
* New translations en.yml (Belarusian)
* New translations en.yml (Scots)
* New translations en.yml (Belarusian)
* New translations en.json (Ukrainian)
* New translations doorkeeper.en.yml (Ukrainian)
* New translations en.yml (Scots)
* New translations doorkeeper.en.yml (Serbian (Cyrillic))
* New translations en.yml (Scots)
* New translations doorkeeper.en.yml (Serbian (Cyrillic))
* New translations en.yml (Czech)
* New translations en.json (Czech)
* New translations en.yml (Bulgarian)
* New translations en.json (Catalan)
* New translations en.yml (Catalan)
* New translations en.yml (Scots)
* New translations doorkeeper.en.yml (Serbian (Cyrillic))
* New translations en.json (Belarusian)
* New translations simple_form.en.yml (Belarusian)
* New translations en.yml (Ukrainian)
* New translations simple_form.en.yml (Dutch)
* New translations en.json (Ukrainian)
* New translations en.yml (Esperanto)
* New translations simple_form.en.yml (Ukrainian)
* New translations simple_form.en.yml (Esperanto)
* New translations en.yml (Faroese)
* New translations en.yml (Faroese)
* New translations en.yml (Scots)
* New translations en.yml (Scots)
* New translations en.yml (Belarusian)
* New translations en.yml (Belarusian)
* New translations en.json (Czech)
* New translations en.json (Malayalam)
* New translations en.yml (Scots)
* New translations en.json (Czech)
* New translations en.json (Hindi)
* New translations en.json (Malayalam)
* New translations activerecord.en.yml (Serbian (Latin))
* New translations en.yml (Scots)
* New translations doorkeeper.en.yml (Serbian (Latin))
* New translations en.json (Czech)
* New translations en.json (Serbian (Cyrillic))
* New translations simple_form.en.yml (Asturian)
* New translations en.yml (Scots)
* New translations en.json (Czech)
* New translations en.json (Frisian)
* New translations en.json (Serbian (Cyrillic))
* New translations en.yml (Scots)
* New translations en.yml (Belarusian)
* New translations devise.en.yml (Frisian)
* New translations en.json (Czech)
* New translations en.json (Serbian (Cyrillic))
* New translations en.json (Estonian)
* New translations en.yml (Estonian)
* New translations en.yml (Faroese)
* New translations en.yml (Belarusian)
* New translations en.yml (Ukrainian)
* New translations en.yml (Bulgarian)
* New translations en.json (Italian)
* New translations en.json (Ukrainian)
* New translations en.json (Spanish, Mexico)
* New translations en.json (Estonian)
* New translations en.yml (Estonian)
* New translations simple_form.en.yml (Bulgarian)
* New translations simple_form.en.yml (Estonian)
* New translations en.yml (Faroese)
* New translations en.yml (Belarusian)
* New translations simple_form.en.yml (Belarusian)
* New translations devise.en.yml (Ukrainian)
* New translations en.yml (Ukrainian)
* New translations en.json (Italian)
* New translations en.json (Ukrainian)
* New translations en.json (Spanish, Mexico)
* New translations simple_form.en.yml (Ukrainian)
* New translations activerecord.en.yml (Italian)
* New translations en.yml (Belarusian)
* New translations simple_form.en.yml (Belarusian)
* Run `yarn manage:translations`
* Run `bundle exec i18n-tasks normalize`
* Add `app/javascript/mastodon/locales/whitelist_be.json`
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-11-25 09:40:05 +09:00
Claire
655ad99a37
Fix not being able to follow more than one hashtag ( #21285 )
...
Fixes regression from #20860
2022-11-21 10:35:09 +01:00
David Leadbeater
72a60150de
Don't allow URLs that contain non-normalized paths to be verified ( #20999 )
...
* Don't allow URLs that contain non-normalized paths to be verified
This stops things like https://example.com/otheruser/../realuser where
"/otheruser" appears to be the verified URL, but the actual URL being
verified is "/realuser" due to the "/../".
Also fix a test to use 'https', so it is testing the right thing, now
that since #20304 https is required.
* missing do
2022-11-20 19:28:13 +01:00
Claire
3b81318a0f
Fix form-action CSP directive for external login ( #20962 )
2022-11-17 22:59:07 +01:00
Claire
aa37dc6aae
Fix OAuth flow being broken by recent CSP change ( #20958 )
2022-11-17 21:31:52 +01:00
Eugen Rochko
c67819829d
New Crowdin updates ( #20759 )
...
* New translations en.json (German)
* New translations en.json (Italian)
* New translations en.yml (Kurmanji (Kurdish))
* New translations simple_form.en.yml (German)
* New translations doorkeeper.en.yml (Kurmanji (Kurdish))
* New translations en.json (Dutch)
* New translations en.json (Esperanto)
* New translations en.json (Dutch)
* New translations en.yml (Portuguese, Brazilian)
* New translations en.json (Faroese)
* New translations en.json (Esperanto)
* New translations en.json (Irish)
* New translations simple_form.en.yml (Esperanto)
* New translations doorkeeper.en.yml (Esperanto)
* New translations en.json (Faroese)
* New translations simple_form.en.yml (Faroese)
* New translations en.json (Scots)
* New translations simple_form.en.yml (Esperanto)
* New translations doorkeeper.en.yml (Esperanto)
* New translations en.json (Scots)
* New translations en.yml (Korean)
* New translations simple_form.en.yml (Korean)
* New translations en.yml (Esperanto)
* New translations en.yml (Chinese Simplified)
* New translations en.yml (Chinese Simplified)
* New translations en.json (Chinese Simplified)
* New translations simple_form.en.yml (Chinese Simplified)
* New translations doorkeeper.en.yml (Chinese Simplified)
* New translations en.json (Lithuanian)
* New translations en.yml (Galician)
* New translations en.json (Icelandic)
* New translations en.yml (Galician)
* New translations en.json (Icelandic)
* New translations en.yml (Thai)
* New translations en.yml (Slovenian)
* New translations en.yml (Lithuanian)
* New translations en.yml (Macedonian)
* New translations en.yml (Dutch)
* New translations en.yml (Punjabi)
* New translations en.yml (Polish)
* New translations en.yml (Portuguese)
* New translations en.yml (Russian)
* New translations en.yml (Slovak)
* New translations en.yml (Serbian (Cyrillic))
* New translations en.yml (Georgian)
* New translations en.yml (Swedish)
* New translations en.yml (Chinese Traditional)
* New translations en.yml (Urdu (Pakistan))
* New translations en.yml (Vietnamese)
* New translations en.yml (Galician)
* New translations en.yml (Icelandic)
* New translations en.yml (Portuguese, Brazilian)
* New translations en.yml (Indonesian)
* New translations en.yml (Persian)
* New translations en.yml (Tamil)
* New translations en.yml (Korean)
* New translations en.yml (Japanese)
* New translations en.yml (German)
* New translations en.yml (Arabic)
* New translations en.yml (Czech)
* New translations en.yml (Chinese Simplified)
* New translations en.yml (Ido)
* New translations en.yml (Spanish)
* New translations en.yml (Turkish)
* New translations en.yml (Albanian)
* New translations en.yml (Ukrainian)
* New translations en.yml (Romanian)
* New translations en.yml (French)
* New translations en.yml (Afrikaans)
* New translations en.yml (Bulgarian)
* New translations en.yml (Italian)
* New translations en.yml (Catalan)
* New translations en.yml (Danish)
* New translations en.yml (Frisian)
* New translations en.yml (Basque)
* New translations en.yml (Finnish)
* New translations en.yml (Hebrew)
* New translations en.yml (Hungarian)
* New translations en.yml (Armenian)
* New translations en.yml (Spanish, Argentina)
* New translations en.yml (Spanish, Mexico)
* New translations en.yml (Silesian)
* New translations en.yml (Serbian (Latin))
* New translations en.yml (Kurmanji (Kurdish))
* New translations en.yml (Sorani (Kurdish))
* New translations en.yml (Corsican)
* New translations en.yml (Sardinian)
* New translations en.yml (Sanskrit)
* New translations en.yml (Taigi)
* New translations en.yml (Standard Moroccan Tamazight)
* New translations en.yml (Asturian)
* New translations en.yml (Burmese)
* New translations en.yml (Igbo)
* New translations en.yml (French, Quebec)
* New translations en.json (Faroese)
* New translations en.yml (Faroese)
* New translations simple_form.en.yml (Faroese)
* New translations en.yml (Occitan)
* New translations en.yml (Scottish Gaelic)
* New translations en.yml (Bengali)
* New translations en.yml (Telugu)
* New translations en.yml (Marathi)
* New translations en.yml (Croatian)
* New translations en.yml (Norwegian Nynorsk)
* New translations en.yml (Kazakh)
* New translations en.yml (Estonian)
* New translations en.yml (Latvian)
* New translations en.yml (Hindi)
* New translations en.yml (English, United Kingdom)
* New translations en.yml (Kannada)
* New translations en.yml (Welsh)
* New translations en.yml (Uyghur)
* New translations en.yml (Chinese Traditional, Hong Kong)
* New translations en.yml (Tatar)
* New translations en.yml (Malayalam)
* New translations en.yml (Sinhala)
* New translations en.yml (Cornish)
* New translations en.yml (Thai)
* New translations en.yml (Portuguese)
* New translations en.yml (Georgian)
* New translations en.yml (Korean)
* New translations en.yml (Lithuanian)
* New translations en.yml (Dutch)
* New translations simple_form.en.yml (Dutch)
* New translations en.yml (Norwegian)
* New translations en.yml (Polish)
* New translations en.yml (Russian)
* New translations en.yml (Italian)
* New translations en.yml (Slovak)
* New translations en.yml (Slovenian)
* New translations en.yml (Serbian (Cyrillic))
* New translations en.yml (Swedish)
* New translations en.yml (Chinese Traditional)
* New translations en.yml (Vietnamese)
* New translations en.yml (Galician)
* New translations en.yml (Icelandic)
* New translations en.yml (Portuguese, Brazilian)
* New translations en.yml (Japanese)
* New translations en.yml (Armenian)
* New translations en.json (Hebrew)
* New translations en.yml (French)
* New translations en.yml (German)
* New translations en.yml (Czech)
* New translations en.yml (Chinese Simplified)
* New translations en.yml (Spanish)
* New translations en.yml (Turkish)
* New translations simple_form.en.yml (Czech)
* New translations en.yml (Albanian)
* New translations en.yml (Ukrainian)
* New translations en.yml (Afrikaans)
* New translations en.yml (Hungarian)
* New translations en.yml (Arabic)
* New translations en.yml (Bulgarian)
* New translations en.yml (Catalan)
* New translations en.yml (Danish)
* New translations en.yml (Greek)
* New translations en.yml (Basque)
* New translations en.yml (Finnish)
* New translations en.yml (Irish)
* New translations en.yml (Hebrew)
* New translations en.yml (Indonesian)
* New translations en.yml (Ido)
* New translations en.yml (Persian)
* New translations simple_form.en.yml (Polish)
* New translations en.yml (Breton)
* New translations en.yml (Sinhala)
* New translations en.yml (Scottish Gaelic)
* New translations simple_form.en.yml (Sinhala)
* New translations simple_form.en.yml (Vietnamese)
* New translations simple_form.en.yml (Romanian)
* New translations simple_form.en.yml (French)
* New translations simple_form.en.yml (Spanish)
* New translations simple_form.en.yml (Afrikaans)
* New translations simple_form.en.yml (Arabic)
* New translations simple_form.en.yml (Bulgarian)
* New translations en.yml (Chinese Traditional, Hong Kong)
* New translations en.yml (Spanish, Argentina)
* New translations en.yml (Spanish, Mexico)
* New translations en.yml (Norwegian Nynorsk)
* New translations en.yml (Kazakh)
* New translations en.yml (Estonian)
* New translations en.yml (Latvian)
* New translations simple_form.en.yml (Catalan)
* New translations en.yml (Esperanto)
* New translations en.yml (Welsh)
* New translations en.yml (Malay)
* New translations en.yml (Corsican)
* New translations en.yml (Occitan)
* New translations en.yml (Sardinian)
* New translations en.yml (Serbian (Latin))
* New translations en.yml (Kurmanji (Kurdish))
* New translations en.yml (Kabyle)
* New translations en.yml (Sorani (Kurdish))
* New translations simple_form.en.yml (Bengali)
* New translations simple_form.en.yml (Galician)
* New translations simple_form.en.yml (Icelandic)
* New translations simple_form.en.yml (Portuguese, Brazilian)
* New translations simple_form.en.yml (Indonesian)
* New translations simple_form.en.yml (Persian)
* New translations simple_form.en.yml (Tamil)
* New translations simple_form.en.yml (Spanish, Argentina)
* New translations simple_form.en.yml (Spanish, Mexico)
* New translations simple_form.en.yml (Ukrainian)
* New translations simple_form.en.yml (Croatian)
* New translations simple_form.en.yml (Norwegian Nynorsk)
* New translations simple_form.en.yml (Kazakh)
* New translations simple_form.en.yml (Estonian)
* New translations simple_form.en.yml (Latvian)
* New translations simple_form.en.yml (English, United Kingdom)
* New translations simple_form.en.yml (Chinese Traditional)
* New translations simple_form.en.yml (Turkish)
* New translations simple_form.en.yml (Georgian)
* New translations simple_form.en.yml (Frisian)
* New translations simple_form.en.yml (Basque)
* New translations simple_form.en.yml (Finnish)
* New translations simple_form.en.yml (Hebrew)
* New translations simple_form.en.yml (Hungarian)
* New translations simple_form.en.yml (Armenian)
* New translations simple_form.en.yml (Italian)
* New translations simple_form.en.yml (Japanese)
* New translations simple_form.en.yml (Swedish)
* New translations simple_form.en.yml (Portuguese)
* New translations simple_form.en.yml (Slovak)
* New translations simple_form.en.yml (Slovenian)
* New translations simple_form.en.yml (Albanian)
* New translations simple_form.en.yml (Serbian (Cyrillic))
* New translations en.yml (French, Quebec)
* New translations en.json (Faroese)
* New translations en.yml (Faroese)
* New translations simple_form.en.yml (Scottish Gaelic)
* New translations simple_form.en.yml (Malayalam)
* New translations simple_form.en.yml (Tatar)
* New translations simple_form.en.yml (Chinese Traditional, Hong Kong)
* New translations simple_form.en.yml (Standard Moroccan Tamazight)
* New translations simple_form.en.yml (Ido)
* New translations simple_form.en.yml (Sardinian)
* New translations simple_form.en.yml (Corsican)
* New translations simple_form.en.yml (Sorani (Kurdish))
* New translations simple_form.en.yml (Serbian (Latin))
* New translations simple_form.en.yml (Occitan)
* New translations simple_form.en.yml (Asturian)
* New translations en.yml (Chinese Simplified)
* New translations en.yml (Hebrew)
* New translations en.yml (Korean)
* New translations en.yml (Dutch)
* New translations en.yml (Slovenian)
* New translations en.yml (Chinese Traditional)
* New translations en.yml (Kurmanji (Kurdish))
* normalize
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-11-17 21:59:15 +09:00
Claire
41be06e4ec
Remove use of DOMParser in front-end emoji rewriting code ( #20758 )
...
* Add jstest for node ordering in emojify
* Remove use of DOMParser in front-end emoji rewriting code
2022-11-17 11:24:59 +01:00
Rose
b54c639482
Fix style for hashes ( #20518 )
...
* Fix style for hashes
Make the style for hashes consistent.
* New style
More consistency
2022-11-17 11:05:39 +01:00
lenore gilbert
498e9478c7
Support for import/export of instance-level domain blocks/allows for 4.x w/ additional fixes ( #20597 )
...
* Allow import/export of instance-level domain blocks/allows (#1754 )
* Allow import/export of instance-level domain blocks/allows.
Fixes #15095
* Pacify circleci
* Address simple code review feedback
* Add headers to exported CSV
* Extract common import/export functionality to
AdminExportControllerConcern
* Add additional fields to instance-blocked domain export
* Address review feedback
* Split instance domain block/allow import/export into separate pages/controllers
* Address code review feedback
* Pacify DeepSource
* Work around Paperclip::HasAttachmentFile for Rails 6
* Fix deprecated API warning in export tests
* Remove after_commit workaround
(cherry picked from commit b8319d0578
)
* Add confirmation page when importing blocked domains (#1773 )
* Move glitch-soc-specific strings to glitch-soc-specific locale files
* Add confirmation page when importing blocked domains
(cherry picked from commit 73a2e3326f
)
* Fix authorization check in domain blocks controller
(cherry picked from commit 655bac2c3a
)
* Fix error strings for domain blocks and email-domain blocks
Corrected issue with non-error message used for Mastodon:NotPermittedError in Domain Blocks
Corrected issue Domain Blocks using the Email Domain Blocks message on ActionContoller::ParameterMissing
Corrected issue with Email Domain Blocks using the not_permitted string from "custom emojii's"
* Ran i18n-tasks normalize to address test failure
* Removed unused admin.export_domain_blocks.not_permitted string
Removing unused string as indicated by Check i18n
* Fix tests
(cherry picked from commit 1ba41b34c1
)
* Fix domain block export not exporting blocks with only media rejection
(cherry picked from commit 1686374b2f
)
* Fix various issues with domain block import
- stop using Paperclip for processing domain allow/block imports
- stop leaving temporary files
- better error handling
- assume CSV files are UTF-8-encoded
(cherry picked from commit cad824d8f501b95377e4f0a957e5a00d517a1902)
Co-authored-by: Levi Bard <taktaktaktaktaktaktaktaktaktak@gmail.com>
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2022-11-17 11:05:09 +01:00
Joshua Wood
e0940d04f1
Handle links with no href in VerifyLinkService ( #20741 )
...
Before this change, the following error would cause VerifyAccountLinksWorker to fail:
NoMethodError: undefined method `downcase' for nil:NilClass
[PROJECT_ROOT]/app/services/verify_link_service.rb:31 :in `block in link_back_present?`
2022-11-17 10:59:35 +01:00
Claire
4abfb043f2
Fix invalid/empty RSS feed link on account pages ( #20772 )
...
Fixes #20770
2022-11-17 10:58:33 +01:00
trwnh
699bec589f
Make tag following idempotent ( #20860 )
2022-11-17 10:55:59 +01:00
trwnh
0f402ff0eb
Fix getting a single EmailDomainBlock ( #20846 )
2022-11-17 10:55:50 +01:00
Claire
c7accdb6ac
Change automatic post deletion configuration to be accessible to redirected users ( #20774 )
...
Fixes #20550
2022-11-17 10:55:23 +01:00
trwnh
9b83c67aa7
Fix pagination of followed tags ( #20861 )
...
* Fix missing pagination headers on followed tags
* Fix typo
2022-11-17 10:54:10 +01:00
Levi Bard
8f32b59570
Make the button that expands the publish form differentiable from the button that publishes a post ( #20864 )
2022-11-17 10:53:38 +01:00
Claire
3e40b7ef8d
Change batch account suspension to create a strike ( #20897 )
2022-11-17 10:52:51 +01:00
Chris Johnson
5573d1db4e
Add maskable icon support for Android ( #20904 )
...
* Add maskable icon support for Android
* Update manifest_serializer.rb
* Fix linting issue
2022-11-17 10:52:30 +01:00
nyura123dev
c18c565cb3
Fix safari explore disappearing tabs ( #20917 )
...
* fix disappearing Explore tabs on Safari
* fix lint
Co-authored-by: nyura <nyura@hidden.com>
2022-11-17 08:54:43 +01:00
Daniel Axtens
e61dc520ae
Add 'private' to Cache-Control, match Rails expectations ( #20608 )
...
Several controlers set quite intricate Cache-Control headers in order to
hopefully not be cached by any intermediate proxies or local caches. Unfortunately,
these headers are processed by ActionDispatch::HTTP::Cache in a way that squashes
and discards any values set alongside no-store other than private:
8015c2c2cf/actionpack/lib/action_dispatch/http/cache.rb (L207-L209)
We want to preserve no-store on these responses, but we might as well remove
parts that are going to be dropped anyway. As many of the endpoints in these
controllers are private to a particular user, we should also add "private",
which will be preserved alongside no-store.
2022-11-16 04:56:30 +01:00
Eugen Rochko
a021e53791
New Crowdin updates ( #20580 )
...
* New translations en.json (Catalan)
* New translations en.yml (Chinese Traditional)
* New translations en.yml (Thai)
* New translations en.yml (Spanish)
* New translations en.yml (Ukrainian)
* New translations en.json (Catalan)
* New translations en.yml (Catalan)
* New translations en.yml (Hungarian)
* New translations en.json (Slovak)
* New translations en.yml (Portuguese, Brazilian)
* New translations en.yml (Asturian)
* New translations simple_form.en.yml (Catalan)
* New translations en.yml (Turkish)
* New translations en.yml (Portuguese, Brazilian)
* New translations en.yml (Thai)
* New translations en.yml (German)
* New translations en.json (German)
* New translations simple_form.en.yml (Thai)
* New translations en.json (Irish)
* New translations en.yml (Norwegian)
* New translations en.yml (German)
* New translations en.json (Romanian)
* New translations en.yml (Danish)
* New translations en.json (Irish)
* New translations en.yml (Irish)
* New translations en.yml (Norwegian)
* New translations en.yml (Russian)
* New translations en.yml (Norwegian Nynorsk)
* New translations simple_form.en.yml (Irish)
* New translations doorkeeper.en.yml (Irish)
* New translations en.yml (Danish)
* New translations en.json (Catalan)
* New translations en.yml (Norwegian)
* New translations en.yml (Scottish Gaelic)
* New translations simple_form.en.yml (Norwegian)
* New translations en.json (Catalan)
* New translations en.json (Portuguese, Brazilian)
* New translations simple_form.en.yml (Portuguese, Brazilian)
* New translations en.yml (Portuguese, Brazilian)
* New translations simple_form.en.yml (Portuguese, Brazilian)
* New translations en.yml (Latvian)
* New translations en.json (Irish)
* New translations en.json (Swedish)
* New translations en.yml (Galician)
* New translations en.json (Latvian)
* New translations en.yml (Latvian)
* New translations en.json (Kabyle)
* New translations en.yml (Welsh)
* New translations en.json (Breton)
* New translations en.json (Kabyle)
* New translations en.yml (Kabyle)
* New translations simple_form.en.yml (Kabyle)
* New translations en.json (Malay)
* New translations simple_form.en.yml (Spanish)
* New translations simple_form.en.yml (Malay)
* New translations activerecord.en.yml (Malay)
* New translations devise.en.yml (Malay)
* New translations doorkeeper.en.yml (Malay)
* New translations en.json (Malay)
* New translations en.yml (Malay)
* New translations en.json (Welsh)
* New translations en.yml (Welsh)
* New translations simple_form.en.yml (Malay)
* New translations simple_form.en.yml (Welsh)
* New translations doorkeeper.en.yml (Welsh)
* New translations activerecord.en.yml (Malay)
* New translations activerecord.en.yml (Welsh)
* New translations devise.en.yml (Welsh)
* New translations doorkeeper.en.yml (Malay)
* New translations en.yml (Dutch)
* New translations en.json (Malay)
* New translations en.yml (Malay)
* New translations en.json (English, United Kingdom)
* New translations en.yml (Welsh)
* New translations simple_form.en.yml (Malay)
* New translations devise.en.yml (Welsh)
* New translations en.yml (German)
* New translations en.yml (Vietnamese)
* New translations en.yml (Malay)
* New translations en.json (Welsh)
* New translations en.yml (Welsh)
* New translations simple_form.en.yml (German)
* New translations simple_form.en.yml (Malay)
* New translations simple_form.en.yml (Welsh)
* New translations doorkeeper.en.yml (Welsh)
* New translations devise.en.yml (Welsh)
* New translations devise.en.yml (Malay)
* New translations en.json (Vietnamese)
* New translations en.yml (Malay)
* New translations en.json (Welsh)
* New translations simple_form.en.yml (German)
* New translations en.yml (Thai)
* New translations en.yml (German)
* New translations en.json (German)
* New translations en.json (Catalan)
* New translations en.json (Welsh)
* New translations simple_form.en.yml (German)
* New translations simple_form.en.yml (Malay)
* New translations devise.en.yml (Thai)
* New translations en.yml (Thai)
* New translations en.json (Thai)
* New translations en.yml (German)
* New translations en.json (German)
* New translations en.json (Catalan)
* New translations en.json (Norwegian)
* New translations en.json (Welsh)
* New translations simple_form.en.yml (German)
* New translations simple_form.en.yml (Norwegian)
* New translations devise.en.yml (Thai)
* New translations en.yml (German)
* New translations en.json (German)
* New translations en.json (Korean)
* New translations en.yml (Korean)
* New translations en.yml (Norwegian)
* New translations simple_form.en.yml (German)
* New translations simple_form.en.yml (Korean)
* New translations en.json (Esperanto)
* New translations en.json (Korean)
* New translations en.yml (Korean)
* New translations en.yml (Norwegian)
* New translations en.json (Welsh)
* New translations simple_form.en.yml (Korean)
* New translations simple_form.en.yml (Norwegian)
* New translations en.json (Korean)
* New translations en.yml (Korean)
* New translations doorkeeper.en.yml (Korean)
* New translations devise.en.yml (Korean)
* New translations en.json (Asturian)
* New translations en.json (Asturian)
* Run `yarn manage:translations`
* Run `bundle exec i18n-tasks normalize`
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-11-15 14:37:37 +09:00
Eugen Rochko
496fb46016
Fix wrong color on mentions hidden behind content warning in web UI ( #20724 )
2022-11-15 02:58:00 +01:00
Claire
97ac51901d
Fix nodes order being sometimes mangled when rewriting emoji ( #20677 )
...
* Fix front-end emoji tests
* Fix nodes order being sometimes mangled when rewriting emoji
2022-11-14 22:14:55 +01:00
Claire
c9b53436d7
Fix emoji substitution not applying only to text nodes in backend code ( #20641 )
...
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-11-14 20:26:21 +01:00
Claire
bd267f6353
Fix emoji substitution not applying only to text nodes in Web UI ( #20640 )
...
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-11-14 20:26:03 +01:00
Claire
088c365559
Fix media metadata being only editable once ( #20665 )
2022-11-14 17:52:31 +01:00