To avoid persisting the same document many times over
we check the jailed file timestamp. This logic
doesn't need to be more complex than simply invalidating
the last timestamp upon issuing .uno:Save and setting
it to the file's actual timestamp upon persisting.
Change-Id: I4afdf8da93fed438d4cbcd6de8dc14d52172ac9c
Reviewed-on: https://gerrit.libreoffice.org/24811
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
'make run' must _not_ be used for a production environment already anyway due
to the --allowlocalstorage, so allowing the admin console with some trivial
credentials is hopefully OK.
... otherwise, shift + space combination would select the whole
row in calc even while editing. After this, row selection feature
using shift + space would only work while we are not editing,
that is, when text cursor is not visible.
Change-Id: I07ddf045d023487d70fa632edd7c173ed1df610d
And use these directly from debug/document/loleaflet.html instead
of CDN. Helpful for development when no internet connection.
License: MIT
Change-Id: I4d2086ffc9e9e646164c70481ae74e6c1f7a7062
Invalidation for spreadsheet and presentation
are part-sensitive. The handler will take
care of this distinction and construct the correct
invalidate command.
Also, set active flag before firing invalidation.
Change-Id: I9e897750e0768b54cc1521d47d69b5dbb1a36244
Reviewed-on: https://gerrit.libreoffice.org/24779
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
The handles imply (and indeed are designed for) changing the
selection by dragging them around. Viewers can't change the
selection, so no reason to give them the selection handles either.
Change-Id: Ifa793ac982fd48be877e7ed7709f70890d8de194
Reviewed-on: https://gerrit.libreoffice.org/24770
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
This message is already sent from CalcTilelayer.js.
Change-Id: I9f84d5f365dbfea38061e206d5d52e2201be22ed
Reviewed-on: https://gerrit.libreoffice.org/24769
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
Make sure to sync both lokit and viewers as to which
part is being edited when a previously-viewer takes
editing.
Change-Id: Ia70f647a26029447bb4360633f79233fa9596059
Reviewed-on: https://gerrit.libreoffice.org/24768
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
Relying on the filesystem to tell us when the document
was last modified (to decide whether to upload to storage or not,)
proved unreliable.
Now we always upload to storage if there is only one client.
This both minimizes the risk and also avoids the file timestamp
check as a workaround to the problem of re-uploading documents
as many time as there were clients. Since with one client we
can only upload no more than once per save, which is reasonable.
Furthermore, when a client disconnects we auto-save automatically
as a matter of precaution. However, when there are other clients
still connected, we don't wait for the save to complete, rather
we let that job to the very last one.
Change-Id: I94a2e4bddaed30a6c9c0e69f8006667d33c5b8ee
Reviewed-on: https://gerrit.libreoffice.org/24767
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
Invalidation messages already contain the part they
are referring to (with the exception of EMPTY).
Sending clients the current part makes it hard
to let clients view different parts of a doc
while an editor types.
It also implies that the part has changed,
which isn't necessarily true. If it is, a
separate curpart notification will be sent.
Change-Id: I49afcebef8994c892ef8be633d3ce3982b031d2b
Reviewed-on: https://gerrit.libreoffice.org/24750
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
WSD server must be up and listening to incoming
connections before firing up ForKit and spawning
children.
Having the order reversed caused tests to fail
randomly when WSD was slow to listen to incoming
connections from children already initialized.
Change-Id: I4eaf4a658c65da024101efc096c39222ebfa3c00
Reviewed-on: https://gerrit.libreoffice.org/24745
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
This prevents deadlocking in case of test failure.
Change-Id: I3026311e9a67543a26acb0316546e6b5aacf61dc
Reviewed-on: https://gerrit.libreoffice.org/24738
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
Also, don't let these tile previews change part of the document
permanently. This is a temporary solution till we have some
better API from LOKit to deal with such a situation.
Change-Id: I8dfefd2b7ad8cf3e7a57afb95b57994ef0bb3b6c