total_mem can be confused with total system memory or total memory
availabe to loolwsd process. Change the API to say what it actually
returns.
Change-Id: I55c246b8a1d0c5c52767520150e55616266a6d4f
Though no harm as of now because we are calling resetAppLoaded whenever
we are emitting 'docloaded' with false status at the caller site, better
safe than sorry for future.
Change-Id: Id6d86ca2ae01a6eb32c8120df435d0535d906938
Now the Close_Session Post message command can be used to close the
documents while it is loading.
Change-Id: If60391834fedc90b3dcb63848aa72503eb43888d
The timer is cancelled right after 'statusindicator' is received, so a
document never really go to inactive mode after set inactivity time
period (unless user refocuses the document). Call _activate() to ensure
that timer is started after document is completely loaded.
Also timer shouldn't really start when the document is not yet loaded.
Change-Id: I58f5d7718c65cc37da9c3feb99ee6b16741a22a2
First, use the docloaded event to see whether we should be dimming the
document (make it inactive) or not. There is no point in inactivating a
document before document has completely loaded; so don't start the timer
until after the document is completely loaded.
It turns out that we were only emitting the WOPI's App_LoadingStatus
with DocumentLoaded for the first document load, but not for subsequent
reconnections. The problem here was that doclayerinit event is only
emitted during first document load (when TileLayer is -actually-
initialized), which was responsible for emitting this event. By
bifurcating the document load from document layer initialization, we
solve this problem.
Change-Id: I0b7b97fc6244ba9ebd6318d68d78d3abef2c0c08
Reply was added when clicking Cancel. This is a regression from
0760786392
Additionally, when focus was lost on an empty, initial commit,
an empty, defunct comment box remained until reload.
Change-Id: I49a5224ff70de65623496cfcba538acb6a8086f8
Reviewed-on: https://gerrit.libreoffice.org/40915
Reviewed-by: pranavk <pranavk@collabora.co.uk>
Tested-by: pranavk <pranavk@collabora.co.uk>
This is not required in any other browser, but Edge 40 requires it
otherwise the popup window upon clicking the combo box goes behind the
main #map element.
Change-Id: Ie95263f08c8af27b16a56ba2c3c7a9faa308400a
An `npm update` on my local tries to update all the modules to latest
version; surely we don't want it everytime only one module update is
required.
Change-Id: I2f79e77ae23edb9b8f8248ac7535e014b7b3218d
... because the Makefile did not work on SLED11SP4 (?!)
Change-Id: I4e7468149f1c5461aeeb05d3a68e62cda1e329e5
Reviewed-on: https://gerrit.libreoffice.org/39778
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Michael Meeks <michael.meeks@collabora.com>
Start killing documents when memory usage goes above threshold.
Also make it possible to close documents from admin instance.
In DocumentBroker::closeDocument, just set the _stop flag and wake
up the polling thread which will terminate the children, instead of
manually terminating the children.
Change-Id: Ie70e05b3fb6ea816a87b6dcfaed92cdddb94aa90
This is so because we require this also when document is opened in
readonly mode and we don't have any toolbar in the readonly mode.
Change-Id: I085d1640f52843e01370d528d6eea656b743d908
Changes protocol to use 'wid' instead of 'hash' everywhere. Wire-ids
are monotonically increasing integers that can be mapped to hash
values for all of the hash values and tiles we cache internally.
Change-Id: Ibcb25817bab0f453e93d52a6f99d3ff65059e47d
Since during an edit conflict the undo/redo
buttons are dissabled (for the user who can't
undo/redo anymore) disabling the repair button
robs them of the ability to repair the document
to an earlier state (i.e. before the conflict).
This enables the repair button as soon as either
the undo or redo is enabled, whereupon it remains
enabled for the duration of the session.
Change-Id: Ibaf257155f721e2cef596e965d8812d381ab3a5b
Reviewed-on: https://gerrit.libreoffice.org/38942
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
No WOPI doc can be loaded with this patch as the URL is all wrong
and the access_token missing.
This reverts commit ad8b437360cd0b7a95fd587f7b17d4cf1f385ca1.
Change-Id: Icced96564e61eb137c1620a7fb7e66c5ef8e5a5b
Reviewed-on: https://gerrit.libreoffice.org/38810
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
(cherry picked from commit 2fc7d50607b14df8ad8055e6d74a9c7970db1ae0)
Reviewed-on: https://gerrit.libreoffice.org/38822
Tested-by: Jan Holesovsky <kendy@collabora.com>
Seems to have no effect, so gone in
favor of RLIMIT_AS (virtual memeory).
Change-Id: I210879ec9285f420c9f9839cdabf45c42d865fb3
Reviewed-on: https://gerrit.libreoffice.org/38720
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
Using it this way looks very fragile to me; let's just avoid this.
Change-Id: I7459f3b215f5f9930287566a1bd946a94e9b343b
Reviewed-on: https://gerrit.libreoffice.org/38512
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jan Holesovsky <kendy@collabora.com>
... with no functionality attached to it except notifying the WOPI host
that button was clicked. Host is supposed to do the action thereafter
itself.
Also, notify the host when a save succeeds or fails.
Change-Id: I0daa2690af2259233840ea7ab4326b9b80d5fa87
Moreover, its ideal to use the same URL to get this *-help.html file with
which loleaflet.html is loaded, and not the one with 'dist' in it.
Change-Id: I2e25f9a2ef41bb1d23fc09878b0726d6b4019cee
In richdocuments, it was added in aa0a8f666ada8f1d1edae17b906089cc03ba473d
and then removed in 87f7720d12e130bd1c3cd9306ad1b1f4d784f9e6
It was added firstly way before WOPI was even there. But now since we
have WOPI, we wouldn't need it.
Change-Id: I786a3f7b2103a43995a70b53438d88a829d13265
When saving while editing a cell, the
document is saved with the new cell contents
(as the cell editing is interrupted and applied),
but the modified status is not published to the
client (loleaflet).
This has the unfortunate side-effect that the
EverModified flag is not set in this scenario.
To avoid this, this patch sets the EverModified
upon successful saving. This is easier than
forcing LO Core to emit ModifiedStatus=true
in the scenario above. Though it suffers from
the false-positive result when the user forces
a save. Although this is probably defensible,
since technically the document changes upon
saving (though not the content if there was
nothing new to save). On the other hand,
it's less harmful to signal modification
due to save than to ignore genuine
modification to the document.
Change-Id: I7ccba62731f534b69819f7924eeb9231d874c111
Reviewed-on: https://gerrit.libreoffice.org/38398
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
This is required to tell the clients if the command they issued was
successfull or not. In this case 'savetostorage' is the command that we
are interested in knowing the success status of.
With this, now if the user commands to overwrite the document, dialog
boxes of all other users are automatically closed.
Can easily more commands in future for this kind of thing. Its similar
to unocommandresult, except its not a uno command, but our internal
command.
Change-Id: I2e7e1fd5edbd55c13ee4bf9bce24284483d6507f
There is one known problem still - after any user decides to overwrite
the file to storage, other users are not informed, so their dialog keeps
hanging on the screen until they press the cancel or reload button.
Change-Id: I6dad1585e4c53eeed79cd38316892a7f239d44ef
Introduce a new header X-LOOL-WOPI-Timestamp
This is a WOPI header extension to detect any external document change. For
example, when the file that is already opened by LOOL is changed
in storage.
The WOPI host sends LastModifiedTime field (in WOPI specs) as part
of the CheckFileInfo response. It also expects wsd to send the
same timestamp in X-LOOL-WOPI-Timestamp header during WOPI::PutFile. If
this header is present, then WOPI host checks, before saving the
document, if the timestamp in the header is equal to the timestamp of
the file in its storage. Only upon meeting this condition, it saves the
file back to storage, otherwise it informs us about some change
to the document.
We are supposed to inform the user accordingly. If user is okay
with over-writing the document, then we can omit sending
X-LOOL-WOPI-Timestamp header, in which case, no check as mentioned above
would be performed while saving the file and document will be
overwritten.
Also, use a separate list of LOOL status codes to denote such a change.
It would be wrong to use HTTP_CONFLICT status code for denoting doc
changed in storage scenario. WOPI specs reserves that for WOPI locks
which are not yet implemented. Better to use a separate LOOL specific
status codes synced across WOPI hosts and us to denote scenario that we
expect and are not covered in WOPI specs.
Change-Id: I61539dfae672bc104b8008f030f96e90f9ff48a5
This is a soft-error and reconnection
is done transparently, so no need to
show the user unhelpful message.
Change-Id: Ie240897fec1ecdc29a9fc1c1482a416a89ca5323
Reviewed-on: https://gerrit.libreoffice.org/38122
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
userextrainfo is a json array that contains
extra user-specific links.
Currently 'avatar' is assumed to hold the
image url for the user's avatar.
'mail' and other links can also be added.
Change-Id: I37c4c68bfa0b7ee659e017b4867dcb8cf5c2ca2f
Reviewed-on: https://gerrit.libreoffice.org/38120
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
Instead, just disable the Help -> About choice if the 'about-dialog' div was
removed from loleaflet.html.
Change-Id: I997aa5489bcfbd02f56feb79bea14e92d3666bf2
The request was meant the other way around; let's just not present "About" in
the menu when there is no element with "about-dialog" id.
This reverts commit b9305d17ce.
Problem:
- Select a whole row, let's say row 10.
- Select a whole column, let's say column I.
=> Columns headers right from I, (J, K etc.) are still highlighted.
Similarly if a column selected first, and a row next.
Change-Id: I13ad0e2a152ddbf96c4889a3aea5129885bc95b5
Reviewed-on: https://gerrit.libreoffice.org/38000
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jan Holesovsky <kendy@collabora.com>