Age | Commit message (Collapse) | Author |
|
* Revert "persist last-intersected status update and restore when ScrollableList is restored"
This reverts commit 07e26142ef6a8e74bd2ac5e9b461a5a1699bd4c8.
accidentally merged spurious code in https://github.com/tootsuite/mastodon/pull/12661. https://github.com/tootsuite/mastodon/pull/12735 removes the slowdown that this code was trying to solve; and other functionality successfully restores the view state of the list
* Revert "cache currently-viewing status id to avoid calling redux with identical value"
This reverts commit c93df2159fbd3888a5c48d8a8b8ae61dbbc54b89.
accidentally merged spurious code in https://github.com/tootsuite/mastodon/pull/12661. https://github.com/tootsuite/mastodon/pull/12735 removes the slowdown that this code was trying to solve; and other functionality successfully restores the view state of the list
|
|
|
|
Regression from #12661
|
|
|
|
(#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
|
|
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
|
|
|
|
|
|
Conflicts:
- app/controllers/application_controller.rb
Minor conflict due to glitch-soc's theming system
|
|
This reverts commit 054ef83fc5808596643dd366286b4e85446b850c.
|
|
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.
|
|
|
|
* 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 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`
|
|
* Add follow_request notification type
The notification type already existed in the backend but was never pushed
to the front-end. This also means translation strings were also available
for the backend, from the notification mailer.
Unlike other notification types, these are off by default, to match what
I remember of Gargron's view on the topic: that follow requests should not
clutter notifications and should instead be reviewed at the user's own
leisure in the dedicated column.
Since follow requests have their own column, I've deemed it unnecessary to
add a specific tab for them in the notification quick filter.
* Show follow request link in single-column if there are pending requests, even if account isn't locked
* Push follow requests from notifications to the follow_requests list
* Offer to accept or reject follow request from the notification
* Redesign follow request notification
|
|
|
|
|
|
* Fix lost focus after modal closes
Regression caused by the use of the wicg-inert polyfill
* Fix regression introduced by wicg-inert
* Catch errors to please CodeClimate
|
|
|
|
* [WiP] Add hotkey to open media
* Give focus to play/pause button when opening video modal
|
|
The arguments were passed to the wrong function… also, there is no
need to have a conditional decrementation: failure to upload means
we marked an upload as pending, in all cases.
|
|
|
|
|
|
|
|
“Describe for the visually impaired” makes no sense when the uploaded media
is an audio file.
|
|
Conflicts:
- README.md
discarded upstream changes
- app/controllers/api/v1/bookmarks_controller.rb
finally merged upstream, some code style fixes
and slightly changed pagination code
- app/controllers/application_controller.rb
changed upstream to always return HTML error pages
slight conflict caused by theming code
- app/models/bookmark.rb
finally merged upstream, no real conflict
- spec/controllers/api/v1/bookmarks_controller_spec.rb
finally merged upstream, slightly changed pagination code
|
|
|
|
Move bookmark action in inline statuses from action bar to dropdown
|
|
* New translations en.json (Tamil)
[ci skip]
* New translations en.json (Bengali)
[ci skip]
* New translations en.json (Portuguese, Brazilian)
[ci skip]
* New translations en.yml (Portuguese, Brazilian)
[ci skip]
* New translations en.json (Tamil)
[ci skip]
* New translations en.json (Tamil)
[ci skip]
* New translations devise.en.yml (Bengali)
[ci skip]
* New translations en.json (Tamil)
[ci skip]
* New translations devise.en.yml (Bengali)
[ci skip]
* New translations simple_form.en.yml (Bengali)
[ci skip]
* New translations devise.en.yml (Bengali)
[ci skip]
* New translations devise.en.yml (Bengali)
[ci skip]
* New translations devise.en.yml (Bengali)
[ci skip]
* New translations en.json (Thai)
[ci skip]
* New translations en.json (Tamil)
[ci skip]
* New translations en.json (Persian)
[ci skip]
* New translations en.yml (Persian)
[ci skip]
* New translations devise.en.yml (Tamil)
[ci skip]
* New translations devise.en.yml (Tamil)
[ci skip]
* New translations devise.en.yml (Tamil)
[ci skip]
* New translations en.json (Occitan)
[ci skip]
* New translations simple_form.en.yml (Occitan)
[ci skip]
* New translations en.json (Tamil)
[ci skip]
* New translations en.json (Occitan)
[ci skip]
* New translations en.yml (Occitan)
[ci skip]
* New translations en.json (Tamil)
[ci skip]
* New translations simple_form.en.yml (Tamil)
[ci skip]
* New translations en.json (Tamil)
[ci skip]
* New translations simple_form.en.yml (Tamil)
[ci skip]
* New translations activerecord.en.yml (Tamil)
[ci skip]
* New translations en.json (Tamil)
[ci skip]
* New translations en.json (Tamil)
[ci skip]
* New translations en.json (Arabic)
[ci skip]
* New translations en.yml (Arabic)
[ci skip]
* New translations simple_form.en.yml (Arabic)
[ci skip]
* New translations en.json (Finnish)
[ci skip]
* New translations en.json (Danish)
[ci skip]
* New translations en.json (Kannada)
[ci skip]
* New translations en.yml (Kannada)
[ci skip]
* New translations simple_form.en.yml (Kannada)
[ci skip]
* New translations activerecord.en.yml (Kannada)
[ci skip]
* New translations devise.en.yml (Kannada)
[ci skip]
* New translations doorkeeper.en.yml (Kannada)
[ci skip]
* New translations en.json (Marathi)
[ci skip]
* New translations en.yml (Marathi)
[ci skip]
* New translations simple_form.en.yml (Marathi)
[ci skip]
* New translations activerecord.en.yml (Marathi)
[ci skip]
* New translations devise.en.yml (Marathi)
[ci skip]
* New translations doorkeeper.en.yml (Marathi)
[ci skip]
* New translations en.json (Marathi)
[ci skip]
* New translations en.json (Hindi)
[ci skip]
* New translations en.yml (Hindi)
[ci skip]
* New translations simple_form.en.yml (Hindi)
[ci skip]
* New translations activerecord.en.yml (Hindi)
[ci skip]
* New translations devise.en.yml (Hindi)
[ci skip]
* New translations doorkeeper.en.yml (Hindi)
[ci skip]
* New translations en.json (Marathi)
[ci skip]
* New translations en.json (Urdu (Pakistan))
[ci skip]
* New translations en.yml (Urdu (Pakistan))
[ci skip]
* New translations simple_form.en.yml (Urdu (Pakistan))
[ci skip]
* New translations activerecord.en.yml (Urdu (Pakistan))
[ci skip]
* New translations devise.en.yml (Urdu (Pakistan))
[ci skip]
* New translations doorkeeper.en.yml (Urdu (Pakistan))
[ci skip]
* New translations activerecord.en.yml (Marathi)
[ci skip]
* New translations doorkeeper.en.yml (Marathi)
[ci skip]
* New translations doorkeeper.en.yml (Marathi)
[ci skip]
* New translations en.json (Marathi)
[ci skip]
* New translations simple_form.en.yml (Finnish)
[ci skip]
* New translations en.json (Marathi)
[ci skip]
* New translations en.json (Marathi)
[ci skip]
* New translations en.json (Marathi)
[ci skip]
* New translations en.json (Tamil)
[ci skip]
* New translations en.json (Marathi)
[ci skip]
* New translations en.json (Marathi)
[ci skip]
* New translations en.json (Marathi)
[ci skip]
* New translations en.json (Hindi)
[ci skip]
* New translations en.yml (Persian)
[ci skip]
* New translations simple_form.en.yml (Persian)
[ci skip]
* New translations devise.en.yml (Bengali)
[ci skip]
* New translations en.json (Hindi)
[ci skip]
* New translations devise.en.yml (Bengali)
[ci skip]
* New translations en.json (Hindi)
[ci skip]
* New translations en.json (Hindi)
[ci skip]
* New translations en.json (Hindi)
[ci skip]
* New translations en.json (Hindi)
[ci skip]
* New translations en.json (Hindi)
[ci skip]
* New translations en.json (Hindi)
[ci skip]
* New translations en.json (Hindi)
[ci skip]
* New translations en.json (Malayalam)
[ci skip]
* New translations en.yml (Malayalam)
[ci skip]
* New translations simple_form.en.yml (Malayalam)
[ci skip]
* New translations activerecord.en.yml (Malayalam)
[ci skip]
* New translations devise.en.yml (Malayalam)
[ci skip]
* New translations doorkeeper.en.yml (Malayalam)
[ci skip]
* New translations en.yml (Slovak)
[ci skip]
* New translations en.json (Slovak)
[ci skip]
* New translations en.yml (Slovak)
[ci skip]
* New translations simple_form.en.yml (Slovak)
[ci skip]
* New translations devise.en.yml (Slovak)
[ci skip]
* New translations en.json (Slovak)
[ci skip]
* New translations simple_form.en.yml (Slovak)
[ci skip]
* New translations doorkeeper.en.yml (Slovak)
[ci skip]
* New translations en.yml (Bengali)
[ci skip]
* New translations en.json (Ukrainian)
[ci skip]
* New translations simple_form.en.yml (Ukrainian)
[ci skip]
* New translations en.json (Norwegian Nynorsk)
[ci skip]
* New translations en.yml (Bengali)
[ci skip]
* New translations en.json (Hindi)
[ci skip]
* New translations devise.en.yml (Ukrainian)
[ci skip]
* New translations simple_form.en.yml (Ukrainian)
[ci skip]
* New translations en.json (Norwegian Nynorsk)
[ci skip]
* New translations en.json (Hindi)
[ci skip]
* New translations en.json (Norwegian Nynorsk)
[ci skip]
* New translations en.json (Hindi)
[ci skip]
* New translations en.json (Norwegian Nynorsk)
[ci skip]
* New translations en.json (Hindi)
[ci skip]
* New translations en.json (Malayalam)
[ci skip]
* New translations en.yml (Indonesian)
[ci skip]
* New translations en.json (Norwegian Nynorsk)
[ci skip]
* New translations simple_form.en.yml (Tamil)
[ci skip]
* New translations en.json (Hindi)
[ci skip]
* New translations en.yml (Malayalam)
[ci skip]
* New translations en.yml (Indonesian)
[ci skip]
* New translations en.json (Hindi)
[ci skip]
* New translations en.yml (Indonesian)
[ci skip]
* New translations en.json (Hindi)
[ci skip]
* New translations en.json (Hindi)
[ci skip]
* New translations en.json (Hindi)
[ci skip]
* New translations en.json (Hindi)
[ci skip]
* New translations en.json (Italian)
[ci skip]
* New translations en.json (Hindi)
[ci skip]
* New translations en.json (Hindi)
[ci skip]
* New translations en.yml (Hindi)
[ci skip]
* New translations en.json (Hindi)
[ci skip]
* New translations en.json (Marathi)
[ci skip]
* New translations en.json (Marathi)
[ci skip]
* New translations devise.en.yml (Tamil)
[ci skip]
* New translations en.json (Marathi)
[ci skip]
* New translations devise.en.yml (Tamil)
[ci skip]
* New translations en.json (Marathi)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations simple_form.en.yml (Galician)
[ci skip]
* New translations simple_form.en.yml (Chinese Simplified)
[ci skip]
* New translations doorkeeper.en.yml (Chinese Simplified)
[ci skip]
* New translations en.json (Hungarian)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations simple_form.en.yml (Japanese)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations en.json (Bengali)
[ci skip]
* New translations en.json (Basque)
[ci skip]
* New translations en.json (Spanish, Argentina)
[ci skip]
* New translations en.json (Russian)
[ci skip]
* New translations en.yml (Persian)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.yml (Greek)
[ci skip]
* New translations en.yml (Swedish)
[ci skip]
* New translations en.yml (Swedish)
[ci skip]
* New translations en.json (Estonian)
[ci skip]
* New translations en.yml (Estonian)
[ci skip]
* New translations en.yml (Spanish, Argentina)
[ci skip]
* New translations en.yml (Estonian)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations devise.en.yml (Estonian)
[ci skip]
* New translations en.yml (Bengali)
[ci skip]
* New translations en.yml (Indonesian)
[ci skip]
* New translations en.yml (Bengali)
[ci skip]
* New translations en.yml (Kazakh)
[ci skip]
* New translations en.yml (Bengali)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations doorkeeper.en.yml (Finnish)
[ci skip]
* New translations en.json (Malayalam)
[ci skip]
* New translations doorkeeper.en.yml (Finnish)
[ci skip]
* New translations en.json (Malayalam)
[ci skip]
* New translations en.yml (Tamil)
[ci skip]
* New translations en.yml (Tamil)
[ci skip]
* New translations en.yml (Tamil)
[ci skip]
* New translations en.json (Malayalam)
[ci skip]
* New translations simple_form.en.yml (Estonian)
[ci skip]
* New translations en.json (Malayalam)
[ci skip]
* New translations devise.en.yml (Malayalam)
[ci skip]
* New translations en.yml (Estonian)
[ci skip]
* New translations simple_form.en.yml (Estonian)
[ci skip]
* New translations simple_form.en.yml (Malayalam)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations devise.en.yml (Portuguese, Brazilian)
[ci skip]
* New translations simple_form.en.yml (Portuguese, Brazilian)
[ci skip]
* New translations devise.en.yml (Portuguese, Brazilian)
[ci skip]
* New translations simple_form.en.yml (Portuguese, Brazilian)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations en.yml (Swedish)
[ci skip]
* New translations en.yml (Swedish)
[ci skip]
* New translations en.yml (Swedish)
[ci skip]
* New translations en.yml (Swedish)
[ci skip]
* New translations en.yml (Swedish)
[ci skip]
* New translations en.yml (Corsican)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.json (Esperanto)
[ci skip]
* New translations simple_form.en.yml (Slovak)
[ci skip]
* New translations devise.en.yml (Slovak)
[ci skip]
* New translations en.json (Hindi)
[ci skip]
* New translations devise.en.yml (Tamil)
[ci skip]
* New translations en.yml (Tamil)
[ci skip]
* New translations doorkeeper.en.yml (Tamil)
[ci skip]
* New translations doorkeeper.en.yml (Tamil)
[ci skip]
* New translations doorkeeper.en.yml (Slovak)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (Estonian)
[ci skip]
* New translations en.yml (Estonian)
[ci skip]
* New translations en.yml (Estonian)
[ci skip]
* New translations en.yml (Estonian)
[ci skip]
* New translations en.yml (Estonian)
[ci skip]
* New translations en.json (Chinese Simplified)
[ci skip]
* New translations devise.en.yml (Chinese Simplified)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations devise.en.yml (Chinese Simplified)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations simple_form.en.yml (Chinese Simplified)
[ci skip]
* New translations en.json (Hindi)
[ci skip]
* New translations en.json (Hindi)
[ci skip]
* New translations en.json (Hindi)
[ci skip]
* New translations en.json (Hindi)
[ci skip]
* New translations en.yml (Basque)
[ci skip]
* New translations en.yml (Czech)
[ci skip]
* New translations en.yml (Danish)
[ci skip]
* New translations en.yml (Danish)
[ci skip]
* New translations en.yml (Ukrainian)
[ci skip]
* New translations devise.en.yml (Ukrainian)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.json (Malayalam)
[ci skip]
* New translations en.json (Malayalam)
[ci skip]
* New translations en.json (Malayalam)
[ci skip]
* New translations en.yml (Bengali)
[ci skip]
* New translations en.yml (Bengali)
[ci skip]
* New translations en.json (Hindi)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.json (Tamil)
[ci skip]
* New translations en.json (Russian)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations doorkeeper.en.yml (Russian)
[ci skip]
* New translations en.json (Estonian)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations doorkeeper.en.yml (Chinese Simplified)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.json (Bengali)
[ci skip]
* i18n-tasks normalize
* yarn manage:translations
|
|
* Add backend support for bookmarks
Bookmarks behave like favourites, except they aren't shared with other
users and do not have an associated counter.
* Add spec for bookmark endpoints
* Add front-end support for bookmarks
* Introduce OAuth scopes for bookmarks
* Add bookmarks to archive takeout
* Fix migration
* Coding style fixes
* Fix rebase issue
* Update bookmarked_statuses to latest UI changes
* Update bookmark actions to properly reflect status changes in state
* Add bookmarks item to single-column layout
* Make active bookmarks red
|
|
timelines (#12330)
* Fix unread toot indicator not honoring onlyMedia in public and community timelines
* Fixup: `unread` already accounts for new content in pending items
|
|
Conflicts:
- `app/javascript/mastodon/features/compose/components/poll_form.js`
conflict because of the poll option limit being different than upstream's
|
|
Until this patch, drag'n'drop and copy-paste allowed to start uploading as
long as the number of *finished* uploads was below the limit.
|
|
- Disable the “add option” button instead of hiding it
- Allow poll option inputs to scale to full width
|
|
Conflicts:
- `package.json`
|
|
* Inserting wicg-inert in project
* Import wicg-inert in moda_root component
* Update yarn.lock
* Solving code style problems
* Removing package-lock
|
|
run `yarn manage:translations en`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Conflicts:
- README.md
- app/helpers/statuses_helper.rb
Upstream moved account helpers to their own file, we had extra
helpers there, moved too.
- app/lib/sanitize_config.rb
- app/models/user.rb
- app/serializers/initial_state_serializer.rb
- config/locales/simple_form.en.yml
- spec/lib/sanitize_config_spec.rb
|
|
* Add download button for audio player
* Add download button for video player
* fix padding for download button in Audio component
|
|
|