Commit graph

5877 commits

Author SHA1 Message Date
Pranav Kant
8c74d4a38d loleaflet: activate the inactivity timer after document load
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
2017-08-11 23:27:17 +05:30
Pranav Kant
d0be89bffa loleaflet: new event, docloaded, to sync. various things
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
2017-08-11 23:27:17 +05:30
Aron Budea
a75b780b8a loleaflet: don't add reply on Cancel, don't leave empty box
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>
2017-08-11 09:56:33 +02:00
Jan Holesovsky
894c5f2cc2 Warn more about missing capabilities, and advise what to do on SLES11.
Change-Id: I93587db6fa32c1c505877c20857799be71ee162f
2017-08-10 11:12:24 +02:00
Jan Holesovsky
4be7a6cb16 We don't need that new autoconf.
Also check for C++11 support, and remove an unneeded dlopen check (we check for
dlopen earlier in the configure.ac).

Change-Id: I76c25a25d22987ad6a1de309c3edd6ef2ea2b64d
Reviewed-on: https://gerrit.libreoffice.org/40952
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jan Holesovsky <kendy@collabora.com>
2017-08-10 10:37:57 +02:00
Jan Holesovsky
cef217ea24 wsd: Fix the OAuth unit test.
Trying to combine the Poco's http server together with our polling loop leads
only to problem; so instead let's introduce a hook where we can do the WOPI
serving directly in the unit test.

Change-Id: Id3fec6ff93c3ad652aa4e0fc6309c5b7639728cb
2017-08-09 22:27:49 +02:00
Jan Holesovsky
e7af725b7c Better description of the buttons in case of document conflict.
Change-Id: I177e0fdafef218f958f2efae7eb5ca3e099414de
Reviewed-on: https://gerrit.libreoffice.org/40888
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jan Holesovsky <kendy@collabora.com>
2017-08-08 16:17:38 +02:00
Jan Holesovsky
a59598050d convert-to: Set the mimetype in the responses.
Change-Id: Ib8dcad5f81499aec0ba147a3a4ef0b7a30995bcc
2017-08-07 11:33:08 +02:00
Jan Holesovsky
beffd4967a convert-to: New features in the convert-to functionality.
* Add possibility to omit the 'format' parameter
* Allow it even when the 'file' storage is disabled

Change-Id: Ib8dcad5f81499aec0ba147a3a4ef0b7a30995bcc
2017-08-07 11:32:10 +02:00
Jan Holesovsky
b12649d859 discovery: Add the binary MS filetypes.
Change-Id: I745471cc2c1febf6de70c7063197eee7b1672f2e
Reviewed-on: https://gerrit.libreoffice.org/40825
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jan Holesovsky <kendy@collabora.com>
2017-08-07 10:28:18 +02:00
Pranav Kant
341c07b64f loleaflet: Explicitly mention z-index to please MS Edge 40
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
2017-08-04 17:44:57 +05:30
Pranav Kant
dbadff5551 loleaflet: Be more specific in README instructions regarding update
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
2017-08-04 17:44:57 +05:30
Henry Castro
a262b7d7ba wsd: OAuth token passing
MS-WOPI:
"The following HTTP header MUST be included in all WOPI requests."
"Authorization "Bearer" and <token>"

Change-Id: Ie5327286e93b86a49a0248ff5886bf3ea99df768
2017-08-03 17:11:00 -04:00
Marco Cecchetti
2916b99535 loleaflet: graphic selection can get misplaced if mouse is moved fast
Change-Id: I2c1893110ce76bed2c822c8d1ddd293c8f627307
Reviewed-on: https://gerrit.libreoffice.org/40643
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jan Holesovsky <kendy@collabora.com>
2017-08-02 12:57:48 +02:00
Andras Timar
0bfd359a7c loleaflet: create destination file's directory with po2json.py
... 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>
2017-07-31 19:42:32 +02:00
Andras Timar
945d74c237 wsd: fix compilation with old OpenSSL that does not have PKCS5_PBKDF2_HMAC()
Change-Id: If48641f6cbcc4d4ded78ea5cc9c9f66063a2ac0a
Reviewed-on: https://gerrit.libreoffice.org/39779
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Michael Meeks <michael.meeks@collabora.com>
2017-07-31 19:40:37 +02:00
Andras Timar
478e803819 add xpdfimport dependencies (e.g. system libpoppler) to systemplate
Change-Id: Iedb77cc0eed107899b15d3d471edcfa0f655d176
2017-07-31 19:39:50 +02:00
Jan Holesovsky
206a070554 Align the close button with the 'more' toolbar button.
Change-Id: Id7997da325adb6df89155605d6978b6da39890f4
2017-07-28 18:13:53 +02:00
Aditya Dewan
7d2bbbee28 tdf#108997 'kill document' from admin console now works.
Change-Id: I8521f0e50e8e037755d34ca2cea99abc002405ae
Reviewed-on: https://gerrit.libreoffice.org/39898
Reviewed-by: pranavk <pranavk@collabora.co.uk>
Tested-by: pranavk <pranavk@collabora.co.uk>
2017-07-25 07:58:44 +02:00
Pranav Kant
a283942b00 Fix a superfluous condition
(a != 0 || a != 1) makes no sense. Author probably meant AND, not OR.

Change-Id: If91954e9e48e5804c54380db8c99184ef0fcc1d2
2017-07-20 21:08:19 +05:30
Jan Holesovsky
92cdab8bf8 discovery: Make the unknown file extensions read-only.
Change-Id: Ie1467334868a7e4aa31aa69f67d0cd434ed18e7b
Reviewed-on: https://gerrit.libreoffice.org/40083
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jan Holesovsky <kendy@collabora.com>
2017-07-17 20:05:27 +02:00
Pranav Kant
af13e5927d Open the log channel explicitly to avoid file creation inside jail
Change-Id: Ida66861e0e1c5925dbbf53d564a829eaf0fd15c7
2017-07-12 15:14:58 +05:30
Pranav Kant
160c1f555a Save unsaved documents when memory consumption is high
These saved documents are then removed to free some memory when next
memory cleanup is triggered in the admin loop.

Change-Id: Ia789a65dc204b546f1d3627a8006c4590bdca371
2017-07-11 17:51:47 +05:30
Pranav Kant
ccce64eeef This is percentage of total sys memory, not total consumed memory
Change-Id: I16b8b3d217cd0fabed83a9c63a5966cc6fe4d8fb
2017-07-11 17:51:47 +05:30
Pranav Kant
aa6b96aaed Skip memory cleanup when memproportion is not configured
Change-Id: I3799d914b5155c37f37bb497ac48e76c1a68761b
2017-07-10 20:41:49 +05:30
Pranav Kant
b1194dfa3c Bin unused localized string
Change-Id: Ia8d7dc8e8084320ede4b3a43346c978cfeeb5555
2017-07-10 13:14:01 +05:30
Pranav Kant
5ef7606316 Update the iterator too
Change-Id: Ia715fa11eb21a25935a2075d09c674bd45472e96
2017-07-08 01:52:46 +05:30
Pranav Kant
fde57adbbf Introduce hard mode when we are OOM
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
2017-07-07 21:14:53 +05:30
Pranav Kant
13a541e4bb Lets do away with this
Consistency.

Change-Id: Iea670b77ab5f3f668183eac52f3ae8db92d79a40
2017-07-07 12:18:37 +05:30
Pranav Kant
b97e02bcfc Fix HTTPWSTest::testInactiveClient
Fallback from 3a43f69116

Change-Id: I8840e78bd4deec1edb2e3c4166134ac6ac4b3abf
2017-07-06 19:23:14 +05:30
Pranav Kant
3eaf31f81b Document missing protocol message
Change-Id: I79b2ceb1dafb884356b2b0a0b6fb59b493784fe4
2017-07-06 19:23:14 +05:30
Miklos Vajna
01bf6ab344 wsd: use the more effective overload accepting a character in Storage
I guess checking for "{" in parseJSON() happens for performance reasons,
but then it's a good idea to also avoid constructing a temporary string
for no reason.

Change-Id: I285ba0ed615054fc014796f7d8971a2b9783b075
2017-07-06 11:17:33 +02:00
Pranav Kant
a20afc1ceb Lets not turn off the auto-edit mode on click
Change-Id: I2ad781a213fbca5ac0faabd1831ca2dd0723737d
2017-07-06 13:17:09 +05:30
Aditya Dewan
3a43f69116 tdf#108341 automatic editor switch and follow added
Change-Id: I5129256a0633916a3ca2cb05ccba39a5f4a5d398
Reviewed-on: https://gerrit.libreoffice.org/39299
Reviewed-by: pranavk <pranavk@collabora.co.uk>
Tested-by: pranavk <pranavk@collabora.co.uk>
2017-07-06 09:46:49 +02:00
Aditya Dewan
49032d1dab tdf#108341 Follow any user from the userlist
Change-Id: Iab6d386f0c0b294dcd5adc9bf654de88a3804933
Reviewed-on: https://gerrit.libreoffice.org/39247
Reviewed-by: pranavk <pranavk@collabora.co.uk>
Tested-by: pranavk <pranavk@collabora.co.uk>
2017-07-06 09:42:27 +02:00
Aditya Dewan
bc7fa9a812 admin: convert document list to drop down
Change-Id: I23635599b008fb0bfa694b4e73cb8f18f49c8ab7
Reviewed-on: https://gerrit.libreoffice.org/39170
Reviewed-by: pranavk <pranavk@collabora.co.uk>
Tested-by: pranavk <pranavk@collabora.co.uk>
2017-07-06 09:18:09 +02:00
Aditya Dewan
c29815f42c Assign unique editorId to localhost users
Change-Id: I1c8949fa7acca1b11b35b48629cc20a1170d8caa
Reviewed-on: https://gerrit.libreoffice.org/39442
Reviewed-by: pranavk <pranavk@collabora.co.uk>
Tested-by: pranavk <pranavk@collabora.co.uk>
2017-07-06 09:17:23 +02:00
Miklos Vajna
c07efecdcf wsd: avoid string concatenation resulting in allocation of unnecessary temporary strings in FileServer
By using operator+= instead, which does not have this problem.

Change-Id: I6dd54cde7e430f2f1d549642dddd3ed1a0e9eefd
2017-07-05 11:22:06 +02:00
Miklos Vajna
3e6680209e wsd: remove unused using declarations in FileServer
Change-Id: Ia56e5af384791df036411fc4acd4b1c69afe30f4
2017-07-04 10:19:45 +02:00
Andras Timar
ad8bffa04a configure option to disable SECCOMP
Change-Id: I8120674b60d388a3f85190631469a112c4af9266
Reviewed-on: https://gerrit.libreoffice.org/39408
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Michael Meeks <michael.meeks@collabora.com>
2017-07-03 11:43:01 +02:00
Miklos Vajna
9a75040bf0 tools: avoid string concatenation resulting in allocation of unnecessary temporary strings
By using std::stringstream instead.

Change-Id: I6fe12afd4adc13166746b1d98bf8ea75a28208e5
2017-07-03 08:08:54 +02:00
Ashod Nakashian
3582012333 wsd: don't resurrect forkit when shutting down
Change-Id: I88ebe5e07a5a9f6c0f52cb12e6acb688de763192
Reviewed-on: https://gerrit.libreoffice.org/39466
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2017-07-03 05:43:38 +02:00
Ashod Nakashian
c9b0dc0424 wsd: cleanup deflate data and free memory
With help from Valgrind to find and verify
these leaks. Also some minor cleanup to the
deflate logic.

Change-Id: I3bb3f1e01cef7025c45874ce52cfc922dfd19e21
Reviewed-on: https://gerrit.libreoffice.org/39465
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2017-07-03 05:43:22 +02:00
Ashod Nakashian
4f8ebca0cb wsd: free leaking memory
With help from Valgrind to find and verify
these leaks.

Change-Id: I3afeed89dc4bcd714a222f81822144477a346fb0
Reviewed-on: https://gerrit.libreoffice.org/39464
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2017-07-03 05:42:38 +02:00
Ashod Nakashian
98dd83338c wsd: log jail removal
Change-Id: I1fef24d66bcab800dc1b4536da781ab8d344586e
Reviewed-on: https://gerrit.libreoffice.org/39463
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2017-07-03 05:42:15 +02:00
Andras Timar
fdec71ad69 build requires /usr/include/linux/seccomp.h
Change-Id: I8277c4af56ac08f09328d3de368deb41f92c6864
2017-06-28 13:19:31 +02:00
Pranav Kant
a03f69a16a Update PostMessageOrigin if SSL termination is on too
Change-Id: I887ab368fec62a5efefde4da3762c47dd0bf66d7
Reviewed-on: https://gerrit.libreoffice.org/39100
Reviewed-by: pranavk <pranavk@collabora.co.uk>
Tested-by: pranavk <pranavk@collabora.co.uk>
2017-06-26 12:32:49 +02:00
Andras Timar
f55d3583be tdf#108753 postinstall script uses setcap, package should depend on libcap2-bin
Change-Id: I60ed36ad83d31925055ff5529da89c5c93f84403
2017-06-26 11:43:23 +02:00
Ashod Nakashian
6591f219ed wsd: use logging macros and const ref where possible
Change-Id: I2f56e1887ea9193083043763d7c876bfb785a7f8
Reviewed-on: https://gerrit.libreoffice.org/39249
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2017-06-26 05:19:42 +02:00
Ashod Nakashian
8689d11f5c wsd: don't busy wait when getNewChild fails fast
If Forkit is dead, getNewChild will fail fast.

Try not to busy loop in that case and yield
the CPU for a nominal duration, which currently
is the tenth of the normal getNewChild timeout.

Change-Id: I1a94dfedbf2a4f4fc12e4d33d1307f70c307987a
Reviewed-on: https://gerrit.libreoffice.org/39248
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2017-06-26 05:18:14 +02:00