Should help for single user with large screens.
Also dump delta cache sizes on USR1.
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: Id16a287be6b05cee5681abe1d9d2dc0ec61cda2a
Otherwise when we get under pressure re: canvas' we loose useful
statistics around the number of deltas applied.
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I44a089e4af2819007b8f400b506292f8d469ff82
When we need to re-constitute a canvas from the cached compressed
tile.rawDeltas, we could re-enter via var ctx = this._ensureContext(tile);
as we had to populate the canvas with the previous content before
applying our new delta.
Its important to ensure that we don't then try to apply the same
delta (or set of deltas) twice - ie. move the context/re-constitution
before we append the new deltas to the tile.rawDeltas.
Previously showing the same delta applied twice:
Applying a raw keyframe of length 7320
Applied keyframe 0 of total size 264270 at stream offset 0 size 262144
Applied chunk 1 of total size 2126 at stream offset 262144 size 53
Applied chunk 2 of total size 2073 at stream offset 262197 size 2073
Applied chunk 0 of total size 2073 at stream offset 0 size 2073
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: Ib23bb81e6d3534f140ff3472afed1010c6f98cc2
We have no obviously good mechanism for re-fetching them, and
this seems a bit extreme - even if they are otherwise old.
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: Ibaa3d5185493de45efb2887d94b0bf1ee7cac245
In the obscure case: we could have garbage collected the keyframe
content in JS but coolwsd still thinks we have it and now we just
have a delta with nothing to apply it to.
+ show a count in tile debug-mode of this case.
+ re-request a full tile ie. with oldwid=0 if we hit this case.
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: Ide95c54086fcc48d0deed1a090b3b9dd4aa49cd5
+ don't keep a canvas around if we free its rawDeltas.
+ don't keep imgDataCache around if we freed the canvas.
Change-Id: If3e5be642c9e7560bb889881fa62f25031104658
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
gdb seems to really struggle with versioned symbols & types in glibc.
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: Ic59020c2e5c88fbeb7799d3f5c06752097a5ad40
This should catch the case where one view should get an empty
update delta, and the other should get a new keyframe tile.
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I3ad8f564cc45d80186430b463214ffcf092346f3
problem:
regression from 919db16
when address input has focus and keyboard is open,
tapping on sheet would not close keyboard and bring focus back to map
only way to close keyboard and focus map was to accept the input
Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: I2c6f23be9efcbbe8e4d47d11505074a75abc000f
Also: address parts of #6897, primarily:
* remove the problematic aspect of bumping the last wid in our
TileData, when this could trigger a re-send of a previously
sent delta, causing tile corruption.
* instead append an empty wid entry.
* as an optimization - if the last entry is empty update
the wid - since re-sending an empty delta is of no
concern.
* simplify a number of code-paths that special-case zero length
deltas. All deltas now commence with 'D'.
* still track updates in the JS - by detecting empty deltas.
* shares more code and simplifies various paths.
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I02af6d4b152524c201b6985b7a3497da7f08a517
However, don't force rendering a keyframe, only sending it - other
clients may be happy with deltas. This is to better handle:
window.app.console.debug('Unusual: Delta sent - but we have no keyframe for ' + key);
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I4efff0f6b1d2817e6b8bd567eb3b098383a1ef42
It's fine to be a keyframe and have appended deltas too.
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I205e44e0b019b3eec0ce266e9a544b060d0bce4d
No enter key will not be necessary to change tab by accessibility key
Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>
Change-Id: I9ab9e004e9dc883d18b8f750a9a400e1f318240e
- android will not even show a popup
- for some reason after sdk 33 checkSelfPermission returns PackageManager.PERMISSION_DENIED for WRITE_EXTERNAL_STORAGE even if it given permission implicitly by android
Signed-off-by: Rash419 <rashesh.padia@collabora.com>
Change-Id: If50df0df0322d0bddf30d5ff5fb13ab9c010ed87
Set Minimal width for suggestions list
Added some padding for spell check text box for more readability
Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>
Change-Id: I0fa5bb60ece88e4107408448a17378b526020784
Before this commit this option was only available on tabbed view
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I6e027f1b84d09e802f7ea6c6fd9e5144cae2eb91
Revert "Avoid crash when pasting image in debug mode"
This reverts commit 78558fe9af.
Instead of detecting paste command and not trigerring assertion:
fix frame type so it will be binary in case of paste.
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: If5c726463459be7eaffae1522df522dfa1d74443
problem:
on mobile phone keyboard used to flicker when you tap on cell,
even if you were not editing inside cell
Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: I47d940ef32297fdf846ed4370411743982fcd3b7
after commit 51d19dd60e
annotation: avoid saving comments on losing focus
We had regression causing collapsed comment to be completly hidden
if user first opened 'modify mode' and clicked outside comment
area. Then comment was collapsed but when selected again - content
wasn't shown.
This commits makes us sure that when we select comment again
it has visible content.
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I4fc9f0bb7d6649c0aa88bbb9c4cc69ed5cbf57c9
Show the existing state as-is to aid debugging, rather than
polluting it with bogus data, also update the screen immediately.
Change-Id: Ia6f0033208a5ad29eca374f24f215ffc5104301c
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
re-factor histogram rendering out, remove crufty paths to track
tile metrics and do them unconditionally - some counters should be
small & fast & simple. Simplify debug output of tile/deltas.
Change-Id: I3b615719ae2540f855597e52e6c35594dbe5b3f4
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Share sorting tilecombines by part, and de-duplicating on key.
Ensure we build wireID list and send oldwid data to save
bandwidth and avoid re-rendering keyframes un-necessarily.
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I8180fceca22f1369e577bba4de7fd8a6fdbc011f
Disable the 'forceKeyFrame' for tilecombine messages from the client,
we have a larger cache now and it makes sense to honor and track these.
forceKeyFrame was signalled with a zero oldWireId - which is the default
if we don't have it set.
Change-Id: If96423e96f8dc578a634ed5093517dfa6702cc1b
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
refactor a bit condition introduced in:
commit 51d19dd60e
annotation: avoid saving comments on losing focus
I noticed TypeError here at some point in my browser
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I416088333bb0c87b03c52aff3804fee8f7ada311
We normally throttle saving and uploading to
avoid hammering repeatedly, but when unloading,
we reduce said minimum wait by a factor of 10.
This allows for a quicker unload cycle, esp.
if we had just saved before unloading, or
if there was a previous failure.
Change-Id: I8710c9b86c05254ad9b9735d8496dd96900221e2
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
Had to disable a crash test due to incorrect
modification check before unloading.
Because we think there are modifications to
the doc, we issue a save, which will fail
because the kit is killed in said test.
Will be re-enabled when isPossiblyModified
is improved.
Change-Id: I0dd7931308e66e9a12d891a979d54e3f373ef99b
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
And now UnitSaveOnExitUnmodified verifies that
we do not unnecessarily upload unmodified
documents because always-save-on-exit is set.
Always-save-on-exit is meaningful only when there
are modifications. Otherwise, we create identical
copies as separate revisions.
Change-Id: I933069d31d3d273c41734b58e0849680566e591a
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
This improves the disconnected session cleanup
and fixes a corner-case with the last editor
disconnecting before read-only sessions.
Change-Id: Iecb553d7f5be2c63fc55111e60e22b3d8aa668f6
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>