Claire
2644a28cb3
Change remote media files to be downloaded outside of transactions ( #21796 )
2022-12-15 18:09:48 +01:00
Brian Campbell
2d12948220
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
ebf1d74e40
Fix being stuck in edit mode when deleting the edited status ( #22126 )
2022-12-15 17:47:43 +01:00
Claire
8556a649d5
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
fb1d9789db
Fix attachment rendering of edited posts in OpenGraph ( #22270 )
...
Fixes #22241
2022-12-15 17:41:20 +01:00
Rens Groothuijsen
726c7dea31
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
ff414a5489
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
9f63c428e1
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
3656a6b9cc
Add "disabled" user filter for admin/accounts UI ( #21282 )
2022-12-15 17:30:47 +01:00
Mina Her
cedf138313
Fix margin for search field on medium window size ( #21606 )
2022-12-15 17:24:38 +01:00
David Vega
1b5d207131
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
d412147d02
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
8f8c0fe88c
Remove inline-css in logo ( #20814 )
2022-12-15 17:10:34 +01:00
Matthías Páll Gissurarson
1e95fa3df5
Fix punycoded local domains not being prettified in initial state ( #21440 )
2022-12-15 17:05:40 +01:00
Meisam
059d64a59e
set activation for tag follow button ( #21629 )
...
Co-authored-by: meisam <meisam@noreply.codeberg.org>
2022-12-15 17:04:52 +01:00
Claire
673c54f114
Fix inability to use local LibreTranslate without setting ALLOWED_PRIVATE_ADDRESSES ( #21926 )
...
Fixes #20029
2022-12-15 17:04:38 +01:00
Claire
bbc49f15e0
Add explanation text to log-in page ( #20946 )
2022-12-15 16:44:29 +01:00
Fries
725f21662f
Add Montenegrin (cnr) ( #21013 )
2022-12-15 16:40:57 +01:00
Claire
38596e49d4
Fix the top action bar appearing in multi-column layout ( #20943 )
2022-12-15 16:40:45 +01:00
Claire
623d3d2e32
Change CSP directives on API to be tight and concise ( #20960 )
2022-12-15 16:40:32 +01:00
Neil Matatall
1f5740e65c
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
72a8af8088
Fix typo in handler function call name ( #21829 )
2022-12-15 16:37:17 +01:00
Connor Shea
08c0e43b6f
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
c50e9d078a
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
58200132d0
FormattedMessage
must be used directly (#20982 )
...
* `FormattedMessage` must be used directly
* rollback
2022-12-15 16:20:46 +01:00
Pleclown
3a59ffde8d
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
903e5a3f45
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
04c611daa1
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
63b379c2d9
Fix N+1 queries from in NotificationsController ( #21202 )
...
Co-authored-by: Nonexistent <nx@example.org>
2022-12-15 16:18:20 +01:00
luzpaz
596923da4a
Fix typos in source documentation ( #21046 )
...
Fixed 2 source comment/documentation typos
2022-12-15 15:57:26 +01:00
c3388f4ab1
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
52540771b0
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
441cac758f
Allow adding relays while secure mode & limited federation mode are enabled ( #22324 )
2022-12-15 15:56:05 +01:00
Claire
7b68e6409b
Fix invalid CSS for links in warning and strike cards ( #22302 )
2022-12-15 15:52:18 +01:00
Jeong Arm
e8cc63105f
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
bae6ef315e
Fix missing Javascript in domain block import confirmation page ( #21471 )
...
Follow-up to #20597
2022-12-15 15:47:23 +01:00
Francis Murillo
5fb1c3e934
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
fe9eab51d1
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
5917b46c05
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
1f762f4271
Fix wasteful request to /api/v1/custom_emojis when not logged in ( #22326 )
2022-12-15 14:07:34 +01:00
Claire
ccc01559de
Fix invalid CSS for links in warning and strike cards
2022-12-14 10:11:04 +01:00
Rin
21ee6a777d
[Glitch] fix missing style in warning and strike cards
...
Port 42e16ea52d
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-12-14 09:26:27 +01:00
cadars
32b8b3355b
[Glitch] Make handle more easily selectable on profile page
...
Port 52a50c5e43
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-12-14 09:19:23 +01:00
Claire
bc91069e08
[Glitch] Change default reply language to be default language when replying to a translated reply
...
Port f70bdba926
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-12-14 09:14:50 +01:00
Claire
47c75c29da
Merge branch 'main' into glitch-soc/merge-upstream
2022-12-14 09:10:49 +01:00
zunda
09191dee66
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
42e16ea52d
fix missing style in warning and strike cards ( #22177 )
2022-12-13 20:03:09 +01:00
cadars
52a50c5e43
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
f70bdba926
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
Claire
dcae9edb14
Merge branch 'main' into glitch-soc/merge-upstream
2022-12-11 20:15:04 +01:00
prplecake
714e68db38
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
Claire
3ea445bb5c
[Glitch] Fix potential duplicate statuses in Explore tab
...
Port c8a1faa86b
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-12-09 16:50:53 +01:00
Claire
e877bb47b8
Merge branch 'main' into glitch-soc/main
2022-12-09 16:48:55 +01:00
Eugen Rochko
97b6e38a7d
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
Michal Dvorak
859db01268
initial translation of Glitch-specific texts into Czech ( #1997 )
2022-12-08 10:38:52 +01:00
Claire
ed07f10ca8
Fix failure when “Require a reason to join” is set with open registrations ( #22127 )
2022-12-07 16:39:58 +01:00
Claire
c8a1faa86b
Fix potential duplicate statuses in Explore tab ( #22121 )
2022-12-07 14:12:55 +01:00
Juan Xavier Gomez
16fb604c52
[Glitch] Fix hidden overflow on interaction modal
...
Port 21b208afcb
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-12-07 09:11:57 +01:00
Claire
4642f7d830
[Glitch] Fix UI header overflow on mobile
...
Port 76454cc638
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-12-07 09:10:47 +01:00
Claire
0e70215c40
[Glitch] Fix “Sign up” button with closed registrations not opening modal on mobile
...
Port 51098035ed
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-12-07 09:09:23 +01:00
Claire
9a3d91f629
Merge branch 'main' into glitch-soc/merge-upstream
...
Conflicts:
- `app/models/concerns/domain_materializable.rb`:
Fixed a code style issue upstream in a PR that got merged in glitch-soc
earlier.
Changed the code to match upstream's.
2022-12-07 09:03:42 +01:00
Claire
b59fb28e90
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
21b208afcb
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
76454cc638
Fix UI header overflow on mobile ( #21783 )
2022-12-07 00:40:18 +01:00
Claire
51098035ed
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
f6492a7c4d
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
c8849d6cee
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
69137f4a90
Fix irreversible and whole_word parameters handling in /api/v1/filters ( #21988 )
...
Fixes #21965
2022-12-07 00:10:53 +01:00
Jed Fox
33f06a4ae7
Fix the top border of verified account fields ( #22006 )
2022-12-06 23:54:02 +01:00
Claire
fe523a3045
Fix unbounded recursion in account discovery ( #1994 )
...
* 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-04 21:23:19 +01:00
Claire
f4879c4481
Fix content-type being reset when editing toots ( #1993 )
...
Fixes #1990
2022-12-04 17:58:10 +01:00
Claire
3be6aff1a8
Merge branch 'main' into glitch-soc/merge-upstream
2022-12-04 17:22:57 +01:00
Nick Schonning
05d4c50f64
Fix spacing warning from ESLint ( #22005 )
2022-12-04 10:56:21 +09:00
Eugen Rochko
6119668e45
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
kibigo!
2cabc5d188
Use a tree‐based approach for advanced text formatting ( #1907 )
...
* Use a tree‐based approach for adv. text formatting
Sanitizing HTML/Markdown means parsing the content into an HTML tree
under‐the‐hood anyway, and it is more accurate to do mention/hashtag
replacement on the text nodes in that tree than it is to try to hack it
in with regexes et cetera.
This undoes the overrides of `#entities` and `#rewrite` on
`AdvancedTextFormatter` but also stops using them, instead keeping
track of the parsed Nokogiri tree itself and using that in the `#to_s`
method.
Internally, this tree uses `<mastodon-entity>` nodes to keep track of
hashtags, links, and mentions. Sanitization is moved to the beginning,
so it should be known that these do not appear in the input.
* Also disallow entities inside of `<code>`
I think this is generally expected behaviour, and people are annoyed
when their code gets turned into links/hashtags/mentions.
* Minor cleanup to AdvancedTextFormatter
* Change AdvancedTextFormatter to rewrite entities in one pass and sanitize at the end
Also, minor refactoring to better match how other formatters are organized.
* Add some tests
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2022-12-02 10:29:42 +01:00
Claire
4ac6601476
Port navigation bar from upstream ( #1986 )
...
Fixes #1977
2022-12-01 20:06:08 +01:00
Claire
fd6f9bf7a7
Merge branch 'main' into glitch-soc/merge-upstream
2022-12-01 11:08:52 +01:00
Claire
68d1df8bc3
Fix some performance issues with /admin/instances ( #21907 )
...
/admin/instances?availability=failing remains wholly unefficient
2022-12-01 10:32:10 +01:00
Claire
e64909d8bf
Move translate button above media attachments/preview cards
2022-11-30 15:03:47 +01:00
Claire
afdd75e1f9
Fix translate button not being shown when the toot has no Content Warning
2022-11-30 14:44:06 +01:00
Claire
620b079a78
Fix inconsistent with “translate” button padding
2022-11-30 13:53:38 +01:00
Eugen Rochko
f7684a31fe
[Glitch] Change design of translations in web UI
...
Port fcca781aae
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-11-30 13:53:38 +01:00
Claire
44c0ba445a
[Glitch] Add mention of the translation provider when translating a post
...
Port 30453fab80
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-11-30 13:53:38 +01:00
Claire
47bd934061
[Glitch] Change “Translate” button to only show up when a translation backend is configured
...
Port 8046cf34d6
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-11-30 13:53:38 +01:00
Eugen Rochko
e8d0a1b320
[Glitch] Fix showing translate button when status has no language in web UI
...
Port 4adb267f91
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-11-30 13:53:38 +01:00
Eugen Rochko
5e143db13a
[Glitch] Don't show translate button to logged-out users
...
Port part of e623c302d5
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-11-30 13:53:38 +01:00
Eugen Rochko
b5ee275ed9
[Glitch] Fix translations not being formatted, other issues in web UI
...
Port 55a2e9b5be
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-11-30 13:53:38 +01:00
Eugen Rochko
a3052dad04
[Glitch] Add user content translations with configurable backends
...
Port 0d6b878808
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-11-30 13:53:38 +01:00
Claire
fe111a8bad
Merge branch 'main' into glitch-soc/merge-upstream
2022-11-30 10:29:19 +01:00
Claire
2d4d99f135
Fix expanded statuses not always being scrolled into view ( #21797 )
2022-11-28 16:42:04 +01:00
Connor Shea
f51990bd62
[Glitch] Make the 'Trending now' header a link to Explore.
...
Port cec1e902e0
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-11-28 11:59:00 +01:00
Claire
98c5ca1037
[Glitch] Fix infinite loading instead of soft 404 for non-existing remote accounts
...
Port 3ffaa966b0
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-11-28 11:55:56 +01:00
James Adney
2815ac4155
[Glitch] fix gif autoplay on iOS
...
Port c0dcf15d1e
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-11-28 11:55:09 +01:00
Claire
c0bf90ac19
[Glitch] Fix “Share @{name}'s profile” profile menu item
...
Port fe421257e5
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-11-28 11:54:00 +01:00
kedama
32b43a96a7
[Glitch] Fix status mismatch of sensitive check
...
Port 14e2354eea
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-11-28 11:53:21 +01:00
Claire
a2e7997592
Merge branch 'main' into glitch-soc/merge-upstream
...
Conflicts:
- `README.md`:
Our README is completely different.
Discarded upstream changes.
2022-11-28 11:33:34 +01:00
Connor Shea
cec1e902e0
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
3ffaa966b0
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
57b893d505
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
c0dcf15d1e
fix gif autoplay on iOS ( #21422 )
2022-11-27 20:46:23 +01:00