Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
pleroma-fe
pleroma-fe
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 250
    • Issues 250
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 19
    • Merge Requests 19
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Pleroma
  • pleroma-fepleroma-fe
  • Merge Requests
  • !1043

Merged
Opened Jan 15, 2020 by Shpuld Shpludson@shpuldMaintainer

Timeline virtual scrolling

  • Overview 54
  • Commits 49
  • Pipelines 24
  • Changes 21

This MR optimizes the amount of stuff in dom/v-dom a lot by simplifying the statuses that are not in view. This is most notable when observing RAM use while scrolling deep down and loading lots of statuses on the timeline that way. Not much of an impact you'll feel on high performance devices that run the application smooth enough already.

There aren't many notable downsides to the way it's done, as each Conversation/Status component is kept alive when they're hidden and they get to keep their state untouched. The biggest ones are:

  • Not being able to use ctrl-f on the full page because a lot of the text outside of view is hidden
  • When resizing, the calculated heights for hidden elements is going to be wrong and scrolling up the first time after that will be jerky.

There is an option to turn the feature off for those who encounter problems.

EDIT: after extended on my instance I've noticed some parts regarding the perf that I can improve

EDIT2: I haven't really been running into any issues with the latest version of this. Only positives making the FE more responsive especially on mobile.

Edited Aug 31, 2020 by Shpuld Shpludson
Assignee
Assign to
Reviewer
Request review from
None
Milestone
None
Assign milestone
Time tracking
Reference: pleroma/pleroma-fe!1043
Source branch: feat/custom-virtual-scrolling

Revert this merge request

This will create a new commit in order to revert the existing changes.

Switch branch
Cancel
A new branch will be created in your fork and a new merge request will be started.

Cherry-pick this merge request

Switch branch
Cancel
A new branch will be created in your fork and a new merge request will be started.