Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

merge 3.4.3 #2

Merged
merged 42 commits into from
Nov 11, 2021
Merged

merge 3.4.3 #2

merged 42 commits into from
Nov 11, 2021

Conversation

ahox
Copy link

@ahox ahox commented Nov 7, 2021

ClearlyClaire and others added 30 commits November 5, 2021 20:25
* Fix newlines in account notes added by the move handler

* Make MoveWorker more robust
* Add test

* Fix crash when encountering invalid account fields
…es (mastodon#16628)

* Fix remotely-suspended accounts' toots being merged back into timelines

* Mark remotely-deleted accounts as remotely suspended
…empt (mastodon#16607)

* Add tests

* Add security-related tests

My first (unpublished) attempt at fixing the issues introduced (extremely
hard-to-exploit) security vulnerabilities, addressing them in a test.

* Fix authentication failures after going halfway through a sign-in attempt

* Refactor `authenticate_with_sign_in_token` and `authenticate_with_two_factor` to make the two authentication steps more obvious
Use relative path for `scope` in web manifest to allow users use PWA correctly via alternate domains.
* Add tests

* Fix webauthn secure key authentication

Fixes mastodon#16769
* Add tests

* Fix scheduled statuses decreasing statuses counts

Fixes mastodon#16774
…inks (mastodon#16885)

* Add tests

* Fix some link previews being incorrectly generated from different prior links

PR mastodon#12403 added a cache to avoid redundant queries when the OEmbed endpoint can
be guessed from the URL. This caching mechanism is not perfectly correct as
there is no guarantee that all pages from a given domain share the same
OEmbed provider endpoint.

This PR prevents the FetchOEmbedService from caching OEmbed endpoint that
cannot be generalized by replacing a fully-qualified URL from the endpoint's
parameters, greatly reducing the number of incorrect cached generalizations.
…ount (mastodon#16896)

In order to work around mastodon#16895,
add a warning to .env.production.sample, and change the mastodon:setup rake
task to:
- output a warning if a variable will be interpreted differently by dotenv
  and docker-compose
- ensure the printed config is compatible with docker-compose
List various values like file size limits and supported mime types
…y path (mastodon#16744)

Follow-up to mastodon#16510, forgot the controller exposing the actual followers…
Fixes mastodon#16509

Microsoft Edge with translation enabled rewrites the DOM in ways that confuse
react and prevent it from working properly. Wrapping the offending parts in
a span avoids this issue.
…suspended accounts (mastodon#16688)

* Do not block existing users' emails on self-destruct

That is wasteful and unintuitive

* Do not close registrations when running tootctl self-destruct with --dry-run

* Close registrations on self-destruct regardless of known remote accounts

* Fix tootctl self-destruct not sending Deletes for recently-suspended accounts

* Suspend local users even if no remote account is known

* Do not show scary confirmation text if ran with --dry-run
The auto-linking code basically rewrote the whole string escaping non-ascii
characters in an inefficient way, and building a full character offset map
between the unescaped and escaped texts before sending the contents to
TwitterText's extractor.

Instead of doing that, this commit changes the TwitterText regexps to include
valid IRI characters in addition to valid URI characters.
… network (mastodon#16418)

* Add tests

* Fix serialization of followers/following counts when user hides their network

Fixes mastodon#16382

Signed-off-by: Claire <[email protected]>
…on#16384)

* Fix WebUI crash when a toot with a playing video gets deleted

* Fix pop-up player not closing the moment a status is deleted
…astodon#16458)

* Fix anonymous access to outbox not being cached by the reverse proxy

Up until now, anonymous access to outbox was marked as public, but with a
0 duration for caching, which means remote proxies would only serve from cache
when the server was completely overwhelmed.

Changed that cache duration to one minute, so that repeated anonymous access
to one account's outbox can be appropriately cached.

Also added `Signature` to the `Vary` header in case a page is requested, so
that authenticated fetches are never served from cache (which only contains
public toots).

* Remove Vary: Accept header from webfinger controller

Indeed, we have stopped returning xrd, and only ever return jrd, so the
Accept request header does not matter anymore.

* Cache negative webfinger hits for 3 minutes
…n#16491)

* Change references to tootsuite/mastodon to mastodon/mastodon

* Remove obsolete test fixture

* Replace occurrences of tootsuite/mastodon with mastodon/mastodon in CHANGELOG

And a few other places
ClearlyClaire and others added 10 commits November 5, 2021 23:46
* Refactor shouldUpdateScroll passing

So far, shouldUpdateScroll has been manually passed down from the very top of
the React component hierarchy even though it is a static function common to
all ScrollContainer instances, so replaced that with a custom class extending
ScrollContainer.

* Generalize “press back to close modal” to any modal and to public pages

* Fix boost confirmation modal closing media modal
* Add tests

* Fix user email address being banned on self-deletion

Fixes mastodon#16498
Up until now, we have used Devise's Rememberable mechanism to re-log users
after the end of their browser sessions. This mechanism relies on a signed
cookie containing a token. That token was stored on the user's record,
meaning it was shared across all logged in browsers, meaning truly revoking
a browser's ability to auto-log-in involves revoking the token itself, and
revoking access from *all* logged-in browsers.

We had a session mechanism that dynamically checks whether a user's session
has been disabled, and would log out the user if so. However, this would only
clear a session being actively used, and a new one could be respawned with
the `remember_user_token` cookie.

In practice, this caused two issues:
- sessions could be revived after being closed from /auth/edit (security issue)
- auto-log-in would be disabled for *all* browsers after logging out from one
  of them

This PR removes the `remember_token` mechanism and treats the `_session_id`
cookie/token as a browser-specific `remember_token`, fixing both issues.
add GITHUB_REPOSITORY configuration to .env.production.sample_friendscafe

fix ruby-version 2.7.2 to 2.7.4 at .ruby-version
Copy link
Author

@ahox ahox left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

v3.4.3 have bug that UI transition is not possible on smartphone. (Chrome 95.0.4638.74 on Android 5.1.1)
I have to merge the commits below to fix this bug.
mastodon@b4dde9a

ClearlyClaire and others added 2 commits November 12, 2021 02:39
Fixes mastodon#16515

Not using a router object somehow made `this.history` lag behind the real
browser history whenever pushing a new history item in `replyCompose`.

Not using the context-provided router in this case was an oversight made
when porting glitch-soc changes in mastodon#16499.
@ahox ahox merged commit 957d2b2 into friends.cafe Nov 11, 2021
@ahox ahox deleted the merge-3.4.3 branch December 29, 2021 11:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants