* add a system_font_ui setting on the server
* Plug the system_font_ui on the front-end
* add EN/FR locales for the new setting
* put Roboto after all other fonts
* remove trailing whitespace so CodeClimate is happy
* fix user_spec.rb
* correctly write user_spect this time
* slightly better way of adding the classes
* add comments to the system-font stack for clarification
* use .system-font for the class instead
* don't use multiple lines for comments
* remove trailing whitespace
* use the classnames module for consistency
* use `mastodon-font-sans-serif` instead of Roboto directly
* Update links in status content on update as well as mount
Fixes occasional bugs with mentions and hashtags not being set to open in a new column like they should, and instead opening in a new page
* use classList instead of raw className
This fixes a warning on status unmounting (e.g. deletion).
This also resets IntersectionObserverWrapper on disconnect to avoid `unobserve()` calls
which has bug in Edge.
* Added Korean Translation (based on japanese)
* Update korean translation
* Update korean translation: fix syntax error
* Updated korean translation
* Update korean translation
* Update ko.json
Translate non-translated parts
* Update ko.yml
Translated missed parts - and fixed some typos
* Create simple_form.ko.yml
* Updated korean translation
* i18n: fix test fails
* add missing locales for French translation
* accent "Media" in the front-end locales
* images => médias
* Change 'rapport' to 'signalement' in French locales to be more coherent
* fix typo
* remove duplicate EN locale
* translate missing locales
* update missing locale
* fix typo
* unify with "utilisateur⋅ice⋅s"
* address PR comments
(This patch has been merged as bugfix and reverted, but still valuable as
improvement)
Previously, we've attached IntersectionObserver twice for boosted statuses:
wrapper Status and wrapped Status. but wrapped Status don't need to manage
intersection and visibility by itself, because it's a part of wrapper Status.
* Revert "Bump version to 1.4.4"
This reverts commit 1585b0c6cc.
* Revert "Fix conversations (fixes#3869) (#3870)"
This reverts commit 15b43f555d.
* Revert "Fix streaming server. Redis connection subscribe for each channel. (#3828)"
This reverts commit d8ec832806.
* Revert "Filter direct statuses in Status.as_home_timeline (#3842)"
This reverts commit bab5a18232.
* Revert "Fix RemoteFollow behavior (#3868)"
This reverts commit a20cf3b64e.
* Revert "Update fabricator for MediaAttachment to attach a file according to type (#3862)"
This reverts commit 356df7ae6b.
* Revert "Upgrade React Router (#3677)"
This reverts commit 8f03fdce7f.
* Revert "Do not call setState from unmounted component (#3853)"
This reverts commit 1fc6cb4997.
* Revert "Replace TextIconButton for SensitiveButton to IconButton (#3759)"
This reverts commit eb832e88f4.
* Revert "Fix RTL detection on Ruby side (#3867)"
This reverts commit b16b69350e.
* Revert "i18n: Fixed typo in Polish translation (#3864)"
This reverts commit da6fa029f6.
* Revert "Don't attach IntersectionObserver for wrapped statuses (#3863)"
This reverts commit 94ad0706f5.
This fixes a bug that sometimes boosted statuses being hidden on scrolling.
Previously, we've attached IntersectionObserver twice for boosted statuses:
wrapper Status and wrapped Status. This will call intersection handler twice,
so this may results race condition...probably.
mergeDeep also merges columns, but it should be replaced simply.
So in the new function, first apply mergeDeep except columns, and set default columns if columns unset.