Opened 9 years ago
Closed 9 years ago
#327 closed defect (fixed)
Log stops updating beyond 2 Mbyte size
Reported by: | Tom Goddard | Owned by: | Tom Goddard |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | Logging | Version: | |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Notify when closed: | Platform: | all | |
Project: | ChimeraX |
Description
The Log panel and file history html panels stop updating or display nothing if an attempt is made to show more than 2 Mbytes of html content. It is easy to exceed this limit if images are included since they are inlined in the html (using <img src="data:image/png;base64,[data]">).
This is a bug in Qt 5.6.0 WebEngineView setContent() and setHtml() methods that can only handle 2 Mbytes of content. This comes from the Chromium backend used by Qt 5.6 which limits URL size to 2 Mbytes. Qt converts the html content to a url (like "data:text/html,...") for passing to the rendering process.
This is Qt bug 53414
The owner of that bug will look at using shared memory to pass html content instead of a URL.
Conrad put in code to work around this that saves the log to a temporary file once the html is larger than 1 Mbyte.