* Revert "Bump version to 1.4.4"
This reverts commit bd6bee29de.
* Revert "Fix conversations (fixes#3869) (#3870)"
This reverts commit ee7952c349.
* Revert "Fix streaming server. Redis connection subscribe for each channel. (#3828)"
This reverts commit 8f202bc639.
* Revert "Filter direct statuses in Status.as_home_timeline (#3842)"
This reverts commit 77dcf442e7.
* Revert "Fix RemoteFollow behavior (#3868)"
This reverts commit 1d2eba7a84.
* Revert "Update fabricator for MediaAttachment to attach a file according to type (#3862)"
This reverts commit baa248a801.
* Revert "Upgrade React Router (#3677)"
This reverts commit 9bc32eb267.
* Revert "Do not call setState from unmounted component (#3853)"
This reverts commit 59849b392d.
* Revert "Replace TextIconButton for SensitiveButton to IconButton (#3759)"
This reverts commit 47dceaded6.
* Revert "Fix RTL detection on Ruby side (#3867)"
This reverts commit 55376105f5.
* Revert "i18n: Fixed typo in Polish translation (#3864)"
This reverts commit 3c355ed26b.
* Revert "Don't attach IntersectionObserver for wrapped statuses (#3863)"
This reverts commit 79c04b0a2c.
The classes using Status.as_home_timeline, namely Feed and
PrecomputeFeedService are expected to filter direct statuses as
FanOutWriteService does, but their filtering were incomplete or missing.
This commit solves the problem by filtering direct statuses in
as_home_timeline as the other similar methods such as as_public_timeline
does.
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.
* Whitelist allowed classes for federated statuses
Allowed classes are currently:
- Any microformats class (h/p/u/dt/e-*)
- the classes mention, hashtag, ellipses and invisible.
this last one is somewhat suspect, but Mastodon currently uses it to render hidden link text.
resolved#3790
* Fix code style
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.