Skip to content

TipTap with Blocks using multiple Compositions loads slow #19728

@marcemarc

Description

@marcemarc

Which Umbraco version are you using?

v16.0

Bug summary

We are experiencing an issue with slllllloooooooowwwwness with Umbraco 16.

Both sites are on Umbraco Cloud

The first is a project 'not live yet' which started on V15, and has recently been bumped to V16, in terms of whether the move to V16 introduced the issue, is not clear, because it's only now that content is being entered on a grand scale before launch.

The second project is a migration of a V13 site, and because we have seen the issue on the first project, we could see it occurring there too.

The issue is with 'how long' it takes for the TipTap Rich Text Editor to display 'ready for editing' - after the rest of the UI elements have been loaded. This is intermittent, but can be 3 to 4 seconds later, and because the toolbar and content finally appearing causes layout shift (it can be quite disruptive).

The issue seems to be related to pages which use the Block List, with Blocks containing the RTE, I haven't seen the slowness when the RTE is used on the Document Type itself.

Essentially when you add a new block ,or open a block the UI starts to load and once all the other elements have loaded there is a good few seconds of the TipTap editor loading 'snake' three dots, until it appears. If you close the block and immediately open it again, it will sometimes be fast, and sometimes be just as slow - it therefore doesn't appear to be a 'first time - then cached' situation, it appears more to be some kind of race condition or dependant on other factors outside of the UI, my machine was not maxed out and there is no strain on the SQL Server, and it's running on Umbraco Cloud so the instances are 'big'

The issue happens on dev / staging and live so I think, rules out the issue being related to DotNet Environment settings.

I've not been able to recreate it locally with a vanilla V16 and Paul Seals starter kit :-( but can invite you to either Cloud project to observe.

Specifics

I made a video

https://youtu.be/Y99tIKrYkYE

(the same behaviour is observable without dev tools open)

Basically any block that is opened, with a TipTap RTE, has about a 30% chance of taking 3-4 additional seconds to load, this RTE allows inline blocks to be inserted (2 types) but this is also the case with RTE's without inline blocks enabled.

On both projects, I can see long running requests to the Management API endpoint

Image

eg
https://the-project-uksouth01.umbraco.io/umbraco/management/api/v1/document-type/262e9d93-e32e-4fae-bc32-4c36fde90f4c

With the block list there is often multiple requests to this endpoint with the same guid - but assuming this is the world of webcomponents, rather than anything sinister, the timings for these requests seem long.

Image

The first project is a new build, there are

34 Page Document Types, supported by 9 Composition Document Types
37 Element Types for blocks, 11 Settings Element Types, supported by 4 Composition Element Types.

However, anecdotally, the 'slowness' appears to occur after the requests to the Management API have been made, it doesn't appear to be blocked waiting for the data to return from the Management API endpoint, but what do I know!

Third party packages installed:
Slimsy
TheDashboard
ClientDrawer
Contentment

Steps to reproduce

I guess, create a new Umbraco Cloud site,

build a project with 30 DocTypes using 10 compositions, and using the Block List editor, with 30 different block types using 5 different compositions...

Make sure the Block list element has a TipTap RTE

Add two inline blocks to the configuration of the RTE

Then populate the site with content, A homepage, 6 sections, containing 5 to 6 pages within, and then a News section with 30 odd articles...

I guess you only need to add the content and the multiple different doc types if the issue isn't immediately recreatable with just a block list (I couldn't recreate it with Paul Seal's starter kit for example).

Then try opening a block with RTE Content in repeatedly, perhaps having nested blocks too, and see if you can see the slowness.

Expected result / actual result

Just want it to load pretty snappy, with all the different components loading at different times it gives a really unsmooth jerky experience, like the system is struggling to get the things in front of your face (when really it's doing it as fast as it can) - it might be a less stressful experience if it takes longer but all the UI elements are loaded, but appreciate that's a different thing to this issue - all we are expecting here is the RTE being ready to go in a second, only a mere flash of the three dots loading...

I appreciate this is a really vague description, but I'm pointing the info out there in case this is a really super obvious thing you are aware of and working on, so I can stop investigating, or if other people are experiencing same but it feels to vague a thing to raise, at least there is a ticket people can add observations too, and I guess we'll continue digging here and update ticket if we find something or have a more reliable way to recreate it.


This item has been added to our backlog AB#54707

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions