Age | Commit message (Collapse) | Author |
|
- Allow batch actions on unreviewed tags
- Hide checkboxes when batch actions aren't available
|
|
(#12661)
* Summary: fix slowness due to layout thrashing when reloading a large set of status updates
in order to limit the maximum size of a status in a list view (e.g. the home timeline), so as to avoid having to scroll all the way through an abnormally large status update (see https://github.com/tootsuite/mastodon/pull/8205), the following steps are taken:
•the element containing the status is rendered in the browser
•its height is calculated, to determine if it exceeds the maximum height threshold.
Unfortunately for performance, these steps are carried out in the componentDidMount(/Update) method, which also performs style modifications on the element. The combination of height request and style modification during javascript evaluation in the browser leads to layout-thrashing, where the elements are repeatedly re-laid-out (see https://developers.google.com/web/fundamentals/performance/rendering/avoid-large-complex-layouts-and-layout-thrashing & https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Performance_best_practices_for_Firefox_fe_engineers).
The solution implemented here is to memoize the collapsed state in Redux the first time the status is seen (e.g. when fetched as part of a small batch, to populate the home timeline) , so that on subsequent re-renders, the value can be queried, rather than recalculated. This strategy is derived from https://github.com/tootsuite/mastodon/pull/4439 & https://github.com/tootsuite/mastodon/pull/4909, and should resolve https://github.com/tootsuite/mastodon/issues/12455.
Andrew Lin (https://github.com/onethreeseven) is thanked for his assistance in root cause analysis and solution brainstorming
* remove getSnapshotBeforeUpdate from status
* remove componentWillUnmount from status
* persist last-intersected status update and restore when ScrollableList is restored
e.g. when navigating from home-timeline to a status conversational thread and <Back again
* cache currently-viewing status id to avoid calling redux with identical value
* refactor collapse toggle to pass explicit boolean
|
|
Port dc0750abc331749a92ffa96fed9fe048acdea3b1 to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
|
|
|
|
Port 34aa5c7cb2090bf9d995eafdfbf5f9bd01336491 to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
|
|
Conflicts:
- `config/locales/en.yml`
No real conflict, upstream added a translatable string “too close” to
one specific to glitch-soc
- `lib/mastodon/statuses_cli.rb`
Fixes made upstream, while changed in glitch-soc to keep bookmarked statuses
- `package.json`
No real conflict, additional dependency in glitch-soc
|
|
Currently the page re-uses strings from other contexts which doesn't fit
very well - strings incorrectly lowercase-d and pluralized, when they
don't need to be, because it's a table.
This commit changes page to re-use accounts.posts_tab_heading for toots,
and admin.accounts for "Following" and "Follows". This all should look
more aesthetically pleasing.
|
|
Fixes #12607
`will-change: transform` apparently makes manual scrolling impossible on
Firefox/Windows. While this should probably be considered a Firefox bug,
`will-change: transform` seem like a very aggressive performance hint that
may possibly make the browser consume more resources than needed, especially
in multiple-column mode.
This was originally added to improve scrolling performances on mobile, but
I think this isn't necessary anymore, because of the two following reasons:
- `contain: paint` (which is implied by `contain: strict`, which we apply
whenever the browser supports grids) should have similar effects
- in single-column mode, the scrolling container is the root element, which
I believe is optimized in at least Chromium
Keep in mind that I have not been able to make in-depth benchmarks, and
especially not been able to try on mobile, so performances should probably
be investigated further…
|
|
|
|
category (#12647)
Instead, just re-use the existing category if any.
Fixes #12608
|
|
The link crawler expects HTML documents, so set the `Accept`
header accordingly.
Fixes #12618
|
|
|
|
nil (#12652)
|
|
|
|
* Remove “protocol” argument and return value, as only ActivityPub is supported
* Remove FetchRemoteAccountService, only use ActivityPub::FetchRemoteAccountService
* Fix tests
|
|
invalid tags (#12436)
* Revert "Fix ignoring whole status because of one invalid hashtag (#11621)"
This reverts commit dff46b260b2f7d765d254c84a4b89105c7de5e97.
* Fix statuses being rejected because of invalid hashtag names
* Add spec for invalid hashtag names in statuses
* Add test for featured tags controller
|
|
* Increased max backup size
* partially reverted schema.rb
|
|
|
|
This adds support for Event AP type in Mastodon. Events are converted
into toots by taking their title (AS name) and their URL (AP ID). Event
picture is also brought in if available.
Testable by fetching event content from https://test.mobilizon.org
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
|
|
* Move resolved button to the heading
This is one of the commits on improving overall reports page structure.
It changes where resolved button is located, moving it to the heading,
right next to the "Report #n" header, so-called "hot-place" to look at.
To accomplish this we have to declare one more content variable, change
admin dashboard template to respect it and CSS files for minor styling,
so buttons are inlined and centrally aligned according to the heading.
* Move actions buttons below the report table
I believe that actions to react on report should not be located at the
top of the page, instead they should be either after the table or
reporter's comment. This is just a logical sign that you should not
react to the report without reading all the details first.
|
|
|
|
Pluralize function from Rails framework does not work with other
languages than English, moreover it does not even work properly with
English [1]. Not that the latest applies to this context, it's just
a sign that we best to avoid this function, especially when there are
more reliable ways.
This commit changes how reports pages generated in order to avoid usage
of pluralize function, replacing it with default translation function,
called with given counter. On top of that, we have to make strings
pluralizable, so have to change locale files.
[1]: https://medium.com/@anna7/b3927de2ca8e#6a60
|
|
|
|
Conflicts:
- app/controllers/application_controller.rb
Minor conflict due to glitch-soc's theming system
|
|
This reverts commit 054ef83fc5808596643dd366286b4e85446b850c.
|
|
|
|
This commit changes how doorkeeper.applications.help.native_redirect_uri
string is being formatted to use <code> tag for native_redirect_uri
placeholder. This makes the URI look more distinguishable.
|
|
|
|
|
|
Port eb551c480d4c687d75d6bc94915adfcd8aae93fb to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
|
|
Port f43f1e01840cd0bad7a88c90d9ea44b183a2a15d to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
|
|
Port c05ed8a6254bc82fda3ae0fd3934dc2cdcf7c82d to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
|
|
Port 911cc144815babf83ddf99f2daa3682021d401b8 to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
|
|
Port f92ed32df4489210ab0ef557f1df90bc5e97d8e6 to glitch-soc
Co-authored-by: hina <hina@hinaloe.net>
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
|
|
Conflicts:
- package.json
Not really a conflict, caused by an additional dependency in glitch-soc.
- yarn.lock
Not really a conflict, caused by an additional dependency in glitch-soc.
|
|
Fix #12551
Fix #12547
|
|
* Fix account search with no query
Modeled after #12541. Fix #12548
* fix codeclimate
|
|
|
|
|
|
AccountHelper (#12545)
|
|
* Show badge on group actor in WebUI
* Do not notify in case of by following group actor
* If you mention group actor, also mention group actor followers
* Relax characters that can be used in username (same as Application)
* Revert "Relax characters that can be used in username (same as Application)"
This reverts commit 7e10a137b878d0db1b5252c52106faef5e09ca4b.
* Delete display_name method
|
|
* Update stream.js
* Update package.json
* Update yarn.lock
Co-authored-by: hina <hina@hinaloe.net>
|
|
Fix #12462
|
|
|
|
* Fix poll options not being selectable via keyboard
Fixes #12384
* Improve styling of poll option checkboxes/radio buttons
* Use more appropriate ARIA roles for poll options
* Allow switching between single and multiple choice from keyboard
* Coding style
* Avoid using .bind()
|
|
|
|
Fixes #12511
|
|
* Fix translations not being displayed
* ran `yarn manage:translations en`
|
|
|
|
Signed-off-by: mathieu.brunot <mathieu.brunot@monogramm.io>
|