about summary refs log tree commit diff
path: root/app
AgeCommit message (Collapse)Author
2022-12-15Add Southern Sami, and Lule Sami to language list under the ISO-639-3 ↵Jullan-M
standard (#21262) * Add sme, smj, and sma ISO-639-3 language codes * Remove sme in ISO-639-3
2022-12-15Ensure exact match is the first result in hashtag searches (#21315)Claire
Fixes #17494
2022-12-15Fix media markup (#21420)Bramus!
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-15Change remote media files to be downloaded outside of transactions (#21796)Claire
2022-12-15Fix idempotency when database writes are slow (#21840)Brian Campbell
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-15Fix being stuck in edit mode when deleting the edited status (#22126)Claire
2022-12-15Fix changing domain block severity not undoing individual account effects ↵Claire
(#22135) * Fix changing domain block severity not undoing individual account effects Fixes #22133 * Add tests
2022-12-15Fix attachment rendering of edited posts in OpenGraph (#22270)Claire
Fixes #22241
2022-12-15Display search popout at fixed screen position (#16463)Rens Groothuijsen
* Display search popout at fixed screen position * Attach search popout to search box
2022-12-15Add transparancy to modal background for accessibility (#18081)Terence Eden
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-15Don't autofocus the compose form (#16517)Arnout Engelen
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-15Add "disabled" user filter for admin/accounts UI (#21282)Jeong Arm
2022-12-15Fix margin for search field on medium window size (#21606)Mina Her
2022-12-15Fix single name variables on controller folder (#20092)David Vega
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-15Save avatar or header correctly even if other one fails (#18465)Jeong Arm
* Save avatar or header correctly if other one fails * Fix test
2022-12-15Remove inline-css in logo (#20814)Luxiaba
2022-12-15Fix punycoded local domains not being prettified in initial state (#21440)Matthías Páll Gissurarson
2022-12-15set activation for tag follow button (#21629)Meisam
Co-authored-by: meisam <meisam@noreply.codeberg.org>
2022-12-15Fix inability to use local LibreTranslate without setting ↵Claire
ALLOWED_PRIVATE_ADDRESSES (#21926) Fixes #20029
2022-12-15Add explanation text to log-in page (#20946)Claire
2022-12-15Add Montenegrin (cnr) (#21013)Fries
2022-12-15Fix the top action bar appearing in multi-column layout (#20943)Claire
2022-12-15Change CSP directives on API to be tight and concise (#20960)Claire
2022-12-15Use Rails tag API to build RSS feed for spoilers and polls (#20163)Neil Matatall
* 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-15Fix typo in handler function call name (#21829)Nick Schonning
2022-12-15Increase the width of the unread notification border. (#21692)Connor Shea
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-15Render current day formats in the client timezone (#21878)Francis Murillo
* 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`FormattedMessage` must be used directly (#20982)Yamagishi Kazutoshi
* `FormattedMessage` must be used directly * rollback
2022-12-15Adding 12 hours option for polls (#21131)Pleclown
* Adding 12 hours option for polls Adding 12 hours option for polls * Adding 12 hours option for polls Missing > on a line
2022-12-15Fix hidden label causing accessibility issue for search inputs (#21275)Alex Stine
* Try unhiding search label. * Use aria-label. Remove label as empty labels are useless. * Remove addition of package-lock.json.
2022-12-15Fix being unable to react with the keycap number sign emoji (#22231)Jeremy Kescher
#⃣ 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-15Fix N+1 queries from in NotificationsController (#21202)nametoolong
Co-authored-by: Nonexistent <nx@example.org>
2022-12-15Fix typos in source documentation (#21046)luzpaz
Fixed 2 source comment/documentation typos
2022-12-15Fix profile avatar being slightly offset into left border (fixes #20822) ↵Riedler
(#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-15Fix crash in elasticsearch_check.rb (#21006)s0
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-15Allow adding relays while secure mode & limited federation mode are enabled ↵Effy Elden
(#22324)
2022-12-15Fix invalid CSS for links in warning and strike cards (#22302)Claire
2022-12-15Don't delivery a reply to domains which are blocked by author (#22117)Jeong Arm
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2022-12-15Fix missing Javascript in domain block import confirmation page (#21471)Claire
Follow-up to #20597
2022-12-15Revoke all authorized applications on password reset (#21325)Francis Murillo
* 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-15Change dropdown menu to contain “Copy link to post” even for non-public ↵Claire
posts (#21316) Fixes #21244
2022-12-15Allow admins to refresh remotely-suspended accounts (#22327)Claire
* 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-15Fix wasteful request to /api/v1/custom_emojis when not logged in (#22326)Claire
2022-12-13Add single splat to callback method definitions to avoid ArgumentError (#22246)zunda
It looks like a [bug](https://bugs.ruby-lang.org/issues/18633) around autosplat is [fixed](https://bugs.ruby-lang.org/projects/ruby-master/repository/git/revisions/fbaadd1cfe7fbfd1b904f193f99d7c845a6ed804) 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-13fix missing style in warning and strike cards (#22177)Rin
2022-12-13Make handle more easily selectable on profile page (#21479)cadars
* Make handle more easily selectable on profile page * Wrap handle in a span * Add `user-select: all` to span * remove whitespace
2022-12-13Change default reply language to be default language when replying to a ↵Claire
translated reply (#22272) Fixes #22250
2022-12-11Add noindex setting to Admin settings Discovery page (#22205)prplecake
* Add noindex setting to Admin settings Discovery page * Replace default_noindex i18n
2022-12-10New Crowdin updates (#21954)Eugen Rochko
* 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-07Fix failure when “Require a reason to join” is set with open ↵Claire
registrations (#22127)