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

WIP! Merge upstream changes from Mastodon 4.2.x #1325

Closed
wants to merge 244 commits into from

Conversation

nachtjasmin
Copy link

@nachtjasmin nachtjasmin commented Aug 1, 2023

Update: 2023-11-16, I'm working on it again! 🥳

Since there are a number of useful additions in the latest Mastodon versions and with Mastodon 4.2 lurking around the corner, I've tried to merge the upstream changes of Mastodon 4.1.6 into Hometown.

I know that you were already working on it, I just haven't found the branch for that, so sorry if this causes additional work now.

Unfortunately, this also reverts your changes to the mobile interface. As much as I like it, it also breaks custom themes like Tangerine, therefore I'm fine with it.

Notes about merge conflicts

I haven't tracked what I've done, but in general there was no automatic merge resolution.

  1. Everything critical (models, streaming API) was reviewed manually and should continue as expected with the Hometown-specific features.
  2. The import/export feature was taken as-is from Mastodon as I think that there are no differences between the features.
  3. The translations were merged, which also means the "Publish" button got renamed to "Post" again (or vice-versa? idk.) And in general, I've tried to incorporate the upstream translations as good as possible, because it's going to make future merges easier.

TODO

  • Incorporate newest changes from the Mastodon interface (will also close Add missing numeric value for "dislike" category #1321, I guess)
  • Check that all Hometown-specific features are still working
    • local-only posts
    • exclusive lists
    • alt-text indicator (soon to be replaced with Mastodon 4.2)
    • "read more" buttons
    • max toot characters
  • Validate whether translations were merged correctly

tribela and others added 30 commits January 21, 2023 10:22
There is a vulnerability
[CVE-2023-22626](GHSA-vf99-xw26-86g5)

```
Name: pghero
Version: 2.8.3
CVE: CVE-2023-22626
GHSA: GHSA-vf99-xw26-86g5
Criticality: High
URL: ankane/pghero#439
Title: Information Disclosure Through EXPLAIN Feature
Solution: upgrade to '>= 3.1.0'
```
…stodon#23210)

* Add missing `policy` attribute to `WebPushSubscriptionSerializer`

Fixes mastodon#23145

* Add tests
* Suppress AddressFamilyError

* clarify comment
Bumps [rubocop-rspec](https://github.com/rubocop/rubocop-rspec) from 2.18.0 to 2.18.1.
- [Release notes](https://github.com/rubocop/rubocop-rspec/releases)
- [Changelog](https://github.com/rubocop/rubocop-rspec/blob/master/CHANGELOG.md)
- [Commits](rubocop/rubocop-rspec@v2.18.0...v2.18.1)

---
updated-dependencies:
- dependency-name: rubocop-rspec
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Fix missing warning-type filtering on some notification types

* Fix missing hide-type filtering on some notification types
* New translations en.json (Romanian)

* New translations en.json (French)

* New translations en.json (Spanish)

* New translations en.json (Afrikaans)

* New translations en.json (Arabic)

* New translations en.json (Belarusian)

* New translations en.json (Bulgarian)

* New translations en.json (Catalan)

* New translations en.json (Czech)

* New translations en.json (Danish)

* New translations en.json (German)

* New translations en.json (Greek)

* New translations en.json (Frisian)

* New translations en.json (Basque)

* New translations en.json (Finnish)

* New translations en.json (Irish)

* New translations en.json (Hebrew)

* New translations en.json (Hungarian)

* New translations en.json (Armenian)

* New translations en.json (Italian)

* New translations en.json (Japanese)

* New translations en.json (Georgian)

* New translations en.json (Korean)

* New translations en.json (Lithuanian)

* New translations en.json (Macedonian)

* New translations en.json (Dutch)

* New translations en.json (Norwegian)

* New translations en.json (Punjabi)

* New translations en.json (Polish)

* New translations en.json (Portuguese)

* New translations en.json (Russian)

* New translations en.json (Slovak)

* New translations en.json (Slovenian)

* New translations en.json (Albanian)

* New translations en.json (Serbian (Cyrillic))

* New translations en.json (Swedish)

* New translations en.json (Turkish)

* New translations en.json (Ukrainian)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Traditional)

* New translations en.json (Urdu (Pakistan))

* New translations en.json (Vietnamese)

* New translations en.json (Galician)

* New translations en.json (Icelandic)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Indonesian)

* New translations en.json (Persian)

* New translations en.json (Tamil)

* New translations en.json (Spanish, Argentina)

* New translations en.json (Spanish, Mexico)

* New translations en.json (Bengali)

* New translations en.json (Marathi)

* New translations en.json (Thai)

* New translations en.json (Croatian)

* New translations en.json (Norwegian Nynorsk)

* New translations en.json (Kazakh)

* New translations en.json (Estonian)

* New translations en.json (Latvian)

* New translations en.json (Hindi)

* New translations en.json (Malay)

* New translations en.json (Telugu)

* New translations en.json (English, United Kingdom)

* New translations en.json (Burmese)

* New translations en.json (Welsh)

* New translations en.json (Faroese)

* New translations en.json (Esperanto)

* New translations en.json (Uyghur)

* New translations en.json (Chinese Traditional, Hong Kong)

* New translations en.json (Tatar)

* New translations en.json (Malayalam)

* New translations en.json (Breton)

* New translations en.json (Latin)

* New translations en.json (Bosnian)

* New translations en.json (French, Quebec)

* New translations en.json (Sinhala)

* New translations en.json (Cornish)

* New translations en.json (Kannada)

* New translations en.json (Scottish Gaelic)

* New translations en.json (Asturian)

* New translations en.json (Aragonese)

* New translations en.json (Occitan)

* New translations en.json (Serbian (Latin))

* New translations en.json (Kurmanji (Kurdish))

* New translations en.json (Sorani (Kurdish))

* New translations en.json (Scots)

* New translations en.json (Igbo)

* New translations en.json (Corsican)

* New translations en.json (Sardinian)

* New translations en.json (Sanskrit)

* New translations en.json (Kabyle)

* New translations en.json (Ido)

* New translations en.json (Taigi)

* New translations en.json (Silesian)

* New translations en.json (Standard Moroccan Tamazight)

* New translations doorkeeper.en.yml (Welsh)

* New translations en.yml (Portuguese, Brazilian)

* 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 en.json (Spanish)

* New translations en.json (German)

* New translations en.json (Frisian)

* New translations en.json (Hebrew)

* New translations en.json (Italian)

* New translations en.json (Polish)

* New translations en.json (Slovak)

* New translations en.json (Swedish)

* New translations en.json (Turkish)

* New translations en.json (Ukrainian)

* New translations en.json (Spanish, Mexico)

* New translations en.json (Faroese)

* New translations en.yml (Polish)

* New translations simple_form.en.yml (Frisian)

* New translations simple_form.en.yml (Spanish, Mexico)

* New translations en.json (Slovenian)

* New translations en.yml (Slovak)

* New translations en.yml (Slovenian)

* New translations en.json (Danish)

* New translations en.json (Chinese Traditional)

* New translations en.json (Serbian (Cyrillic))

* New translations en.json (Korean)

* New translations en.json (Japanese)

* New translations en.json (Korean)

* New translations en.yml (Japanese)

* New translations doorkeeper.en.yml (Japanese)

* New translations simple_form.en.yml (Japanese)

* New translations en.json (Hindi)

* New translations en.json (Galician)

* New translations simple_form.en.yml (Galician)

* New translations en.yml (Galician)

* New translations doorkeeper.en.yml (Galician)

* New translations en.json (Vietnamese)

* New translations en.yml (Vietnamese)

* New translations simple_form.en.yml (Vietnamese)

* New translations en.json (Estonian)

* New translations en.json (Hebrew)

* New translations doorkeeper.en.yml (Belarusian)

* New translations en.json (English, United Kingdom)

* New translations simple_form.en.yml (English, United Kingdom)

* New translations en.json (Portuguese)

* New translations en.yml (Slovak)

* New translations en.json (Hungarian)

* New translations en.json (Korean)

* New translations en.yml (Korean)

* New translations en.json (French)

* New translations en.json (Slovak)

* New translations en.yml (French)

* New translations simple_form.en.yml (French)

* New translations doorkeeper.en.yml (French)

* New translations en.json (Slovak)

* New translations en.yml (Esperanto)

* New translations en.yml (French)

* New translations simple_form.en.yml (French)

* New translations doorkeeper.en.yml (French)

* New translations en.json (Norwegian)

* New translations en.json (Thai)

* New translations en.json (Basque)

* New translations en.json (Tatar)

* New translations en.json (Estonian)

* New translations en.json (Finnish)

* New translations en.json (Estonian)

* New translations en.yml (Finnish)

* New translations simple_form.en.yml (Finnish)

* New translations en.json (Basque)

* New translations en.json (Basque)

* New translations doorkeeper.en.yml (Japanese)

* New translations en.yml (Basque)

* New translations en.json (Arabic)

* New translations en.json (Slovak)

* New translations en.json (Kabyle)

* New translations doorkeeper.en.yml (Arabic)

* New translations en.yml (Arabic)

* New translations simple_form.en.yml (Arabic)

* New translations en.yml (Kabyle)

* New translations en.json (German)

* New translations en.json (Japanese)

* New translations en.json (German)

* New translations en.json (Tatar)

* New translations en.json (Occitan)

* New translations en.yml (Occitan)

* New translations doorkeeper.en.yml (Occitan)

* New translations simple_form.en.yml (Occitan)

* New translations en.json (Tatar)

* New translations en.json (Esperanto)

* New translations en.yml (Esperanto)

* New translations en.yml (Esperanto)

* New translations en.json (Esperanto)

* New translations en.json (Esperanto)

* New translations en.yml (Esperanto)

* New translations simple_form.en.yml (Esperanto)

* New translations en.json (Estonian)

* New translations doorkeeper.en.yml (Estonian)

* New translations en.json (Estonian)

* New translations en.json (Esperanto)

* New translations en.yml (Esperanto)

* New translations doorkeeper.en.yml (Esperanto)

* New translations en.json (Esperanto)

* New translations en.yml (Esperanto)

* New translations simple_form.en.yml (English, United Kingdom)

* New translations en.json (English, United Kingdom)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Portuguese, Brazilian)

* New translations doorkeeper.en.yml (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations simple_form.en.yml (Portuguese, Brazilian)

* New translations en.json (Serbian (Latin))

* New translations en.json (Croatian)

* New translations en.json (Portuguese)

* New translations en.json (Esperanto)

* New translations en.yml (Esperanto)

* New translations en.json (Bulgarian)

* New translations en.json (Esperanto)

* New translations en.yml (Bulgarian)

* New translations simple_form.en.yml (Bulgarian)

* New translations en.yml (Galician)

* New translations en.json (Bulgarian)

* New translations en.json (Bulgarian)

* New translations en.yml (Japanese)

* New translations en.json (Bulgarian)

* New translations en.yml (Japanese)

* New translations devise.en.yml (Bulgarian)

* New translations activerecord.en.yml (Bulgarian)

* New translations devise.en.yml (Bulgarian)

* New translations doorkeeper.en.yml (Bulgarian)

* Normalize

Co-authored-by: Yamagishi Kazutoshi <[email protected]>
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.43.0 to 1.44.0.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](rubocop/rubocop@v1.43.0...v1.44.0)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [concurrent-ruby](https://github.com/ruby-concurrency/concurrent-ruby) from 1.1.10 to 1.2.0.
- [Release notes](https://github.com/ruby-concurrency/concurrent-ruby/releases)
- [Changelog](https://github.com/ruby-concurrency/concurrent-ruby/blob/master/CHANGELOG.md)
- [Commits](ruby-concurrency/concurrent-ruby@v1.1.10...v1.2.0)

---
updated-dependencies:
- dependency-name: concurrent-ruby
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [hadolint/hadolint-action](https://github.com/hadolint/hadolint-action) from 3.0.0 to 3.1.0.
- [Release notes](https://github.com/hadolint/hadolint-action/releases)
- [Changelog](https://github.com/hadolint/hadolint-action/blob/master/.releaserc)
- [Commits](hadolint/hadolint-action@v3.0.0...v3.1.0)

---
updated-dependencies:
- dependency-name: hadolint/hadolint-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [utf-8-validate](https://github.com/websockets/utf-8-validate) from 6.0.0 to 6.0.1.
- [Release notes](https://github.com/websockets/utf-8-validate/releases)
- [Commits](websockets/utf-8-validate@v6.0.0...v6.0.1)

---
updated-dependencies:
- dependency-name: utf-8-validate
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [axios](https://github.com/axios/axios) from 1.2.2 to 1.2.3.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](axios/axios@1.2.2...v1.2.3)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) from 7.31.11 to 7.32.1.
- [Release notes](https://github.com/jsx-eslint/eslint-plugin-react/releases)
- [Changelog](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/CHANGELOG.md)
- [Commits](jsx-eslint/eslint-plugin-react@v7.31.11...v7.32.1)

---
updated-dependencies:
- dependency-name: eslint-plugin-react
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [rimraf](https://github.com/isaacs/rimraf) from 4.0.7 to 4.1.1.
- [Release notes](https://github.com/isaacs/rimraf/releases)
- [Changelog](https://github.com/isaacs/rimraf/blob/main/CHANGELOG.md)
- [Commits](isaacs/rimraf@v4.0.7...v4.1.1)

---
updated-dependencies:
- dependency-name: rimraf
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [jsdom](https://github.com/jsdom/jsdom) from 21.0.0 to 21.1.0.
- [Release notes](https://github.com/jsdom/jsdom/releases)
- [Changelog](https://github.com/jsdom/jsdom/blob/master/Changelog.md)
- [Commits](jsdom/jsdom@21.0.0...21.1.0)

---
updated-dependencies:
- dependency-name: jsdom
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…on#23235)

Bumps [@babel/plugin-proposal-decorators](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-proposal-decorators) from 7.20.7 to 7.20.13.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.20.13/packages/babel-plugin-proposal-decorators)

---
updated-dependencies:
- dependency-name: "@babel/plugin-proposal-decorators"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.20.7 to 7.20.13.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.20.13/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…todon#23245)

* Add tests

* Fix account activation being triggered before email confirmation

Fixes mastodon#23098
…23246)

* Fix email with empty domain name labels passing validation

`EmailMxValidator` would allow empty labels because `Resolv::DNS` is
particularly lenient about them, but the email would be invalid and
unusable.

* Add tests
* Fix styling of featured tags in light theme

Fixes mastodon#23251

* Remove broken highlighting on /settings/featured_tags
Bumps [sanitize](https://github.com/rgrove/sanitize) from 6.0.0 to 6.0.1.
- [Release notes](https://github.com/rgrove/sanitize/releases)
- [Changelog](https://github.com/rgrove/sanitize/blob/main/HISTORY.md)
- [Commits](rgrove/sanitize@v6.0.0...v6.0.1)

---
updated-dependencies:
- dependency-name: sanitize
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@nachtjasmin nachtjasmin changed the base branch from hometown-dev to hometown-4.0.6-merge August 2, 2023 08:53
@graue
Copy link

graue commented Aug 17, 2023

Thank you for working on this! I would love to be able to deploy a Hometown with the fixes from v4.1.x merged in.

@nachtjasmin nachtjasmin changed the base branch from hometown-4.0.6-merge to hometown-dev August 17, 2023 19:06
@nachtjasmin nachtjasmin marked this pull request as ready for review August 17, 2023 19:06
@nachtjasmin nachtjasmin changed the title WIP: Merge changes from Mastodon 4.1.6 Merge upstream changes from Mastodon 4.1.6 Aug 17, 2023
@dariusk
Copy link

dariusk commented Sep 19, 2023

Thanks - I am going to take a week to do a proper 4.2.0 merge and have that be the next release. My plan is to maintain the custom mobile UI support in that release.

@nachtjasmin nachtjasmin changed the title Merge upstream changes from Mastodon 4.1.6 WIP! Merge upstream changes from Mastodon 4.2.x Nov 16, 2023
@nachtjasmin nachtjasmin marked this pull request as draft November 16, 2023 21:46
@nachtjasmin
Copy link
Author

Closed in favor of #1337. (okay, I was just lucky with this number 😎)

@nachtjasmin nachtjasmin deleted the mastodon-4-1 branch November 16, 2023 22:49
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.