Andras Timar
a3bb506c9d
Poco was updated in SUSE repos
...
Change-Id: I6406adf979e82ab9d5a907ae31cadff458cc67f3
2017-03-20 23:29:14 +01:00
Andras Timar
2cf1f22439
Use LO_PATH instead of hardcoded path as config default
...
Change-Id: I0d6ce9e7938e2521e764978526fe2d9ce632c992
2017-03-20 23:29:14 +01:00
Pranav Kant
064b2508a7
loleaflet: Slide sorter for draw documents
...
Change-Id: I4ad11236c0186561b5c7df1a3c634e54f8576c8c
2017-03-20 13:59:52 +05:30
Miklos Vajna
98e2f0669a
wsd: fix -Werror,-Winconsistent-missing-override
...
Change-Id: I25f644665951bbb7c188c0a73e929cb63eb1d580
2017-03-20 09:29:08 +01:00
Ashod Nakashian
d0bb5cbdc7
wsd: restore forkit after crash
...
Change-Id: Iacfcbfbf922897ea1bb9896d01a9a8afd4e194cc
2017-03-20 00:41:54 -04:00
Ashod Nakashian
53da72a1dc
wsd: fix hot looping the poll
...
When not sending ping the ping time is not set
which results in the setting the poll timeout to
a negative value, forcing it to return immediately.
This happens when sending ping before upgrading
to WebSocket, which isn't common. One way to
reproduce it, however, is to connect to the
admin console with an unauthenticated socket.
Change-Id: I9f3db1a02b8f8e2781d23d843e848068ad434958
2017-03-20 00:41:54 -04:00
Ashod Nakashian
e9675ed6e1
wsd: close socket when WS close handshake is complete
...
We shouldn't send any more data after the client
shuts down, or after we initiate shutdown.
Change-Id: Ibf0cf61dcabe9d02ddcb7eb40b2df23712c5a136
2017-03-20 00:41:53 -04:00
Ashod Nakashian
5a3b812167
wsd: stop DocBroker poll and terminate child when no more sessions
...
Normally the last session either stopped and terminated
the DocBroker upon saving the doc, or immediately upon
removal when nothing to save.
However, saving could fail, or the session could be
disconnected by the client, or saving could timeout, etc.
In all those failure scenarios the DocBroker should
not linger as a zombie (alive but without sessions).
Here we detect that we are left with no sessions
and terminate correctly.
Change-Id: I31862234e321f63e686f54fa69daacc1fa06ae75
2017-03-20 00:41:53 -04:00
Ashod Nakashian
47bbbbb2dc
wsd: correct prespawning of children and simplify
...
The prisoner poll should wake every so often
to check and rebalance the new children.
However this didn't happen correctly and
WSD would starve of children every so often.
The frequency of checking and rebalancing of
children should be reviewed and optimized.
Also simplified the code to avoid rebalancing
DocBrokers and only do NewChildren.
Change-Id: Id3be34ed3a47c739b606ee7969088397d3807e7a
2017-03-20 00:41:53 -04:00
Ashod Nakashian
6283dbd9cc
wsd: copy and un-mask web-socket data at the same time
...
Change-Id: I2a4831065ae0a81f20d0513b0772d7d427ffc4ea
2017-03-20 00:41:53 -04:00
Ashod Nakashian
714eeac3aa
wsd: simplify DocBroker creation
...
Change-Id: Icc93af2e32ce544c42cc65bbea83b9539c044db9
2017-03-20 00:41:53 -04:00
Ashod Nakashian
0d3ea2bbfd
wsd: flag thread start before creating thread
...
This prevents a race where the thread is started
a second time before the first gets a chance to
set the flag.
Change-Id: Ib106aa0626cdfa403b321822180b0545d3aa9139
2017-03-20 00:41:53 -04:00
Ashod Nakashian
2ba2e213bb
wsd: support rude termination of documents
...
Termination should normally be initiated by the
DocumentBroker in question, so sending of termination
message on the sockets come from the correct thread.
When termination happens from elsewhere
(f.e. cleanupDocBrokers) we cannot send socket
messages, and have to resort to rude termination.
Change-Id: I94acb7b314f5dbdc45c57049fc1ac8527ba72fb9
2017-03-20 00:41:53 -04:00
Ashod Nakashian
14779f5cd4
wsd: return moved socket state to stop any IO processing
...
Once a socket has changed ownership to a new
poll it will assert thread affinity with said
new poll. So we cannot do any IO on the old
poll's thread at that point and on.
Change-Id: I662f188dea7c377a18f3e546839ec43f2875dc7b
2017-03-20 00:41:53 -04:00
Ashod Nakashian
6e7bd4bcf0
wsd: cannot broadcast alert messages from random thread
...
Will have to come up with a different solution
to broadcasting alerts to all users.
Change-Id: I00260402f71c516f4335c592b10dee7555dc67a6
2017-03-20 00:41:53 -04:00
Ashod Nakashian
7096133f07
wsd: log thread affinity violations
...
Change-Id: Ib1317bc71f9162f005e0ce9b8c715bbce656db73
2017-03-20 00:41:53 -04:00
Ashod Nakashian
b1609a0087
wsd: cleanup session and docBroker after convert-to
...
Change-Id: I7d9c8eeef61c23cc3f4f902b15953abd5ec6851a
2017-03-20 00:41:53 -04:00
Henry Castro
7bf2637872
loleaflet: use textRange property to select the text
...
Change-Id: Ie396b199b33ab322a015ce77272430fcf83ef17b
2017-03-19 23:16:34 -04:00
Andras Timar
b17d64a854
switch to 5.3
...
Change-Id: I21cf56f8d061453c4ff3f609ea81a5604e12b78c
2017-03-18 21:56:19 +01:00
Michael Meeks
50661924b7
Dump much more ClientSession state, and also websocket latency.
2017-03-18 15:03:04 +00:00
Michael Meeks
0d8809f0ca
Get warning logic right on wakeup socket.
2017-03-18 15:03:04 +00:00
Michael Meeks
b8b5cc2069
Shorten time to send first ping - to assess socket latency.
...
Also ensure we never send a ping on a non-upgraded websocket.
2017-03-18 15:03:04 +00:00
Henry Castro
caf55527d1
loleaflet: fix the date format of the annotation object
...
Change-Id: Idc323f51e610c784ddc2a4624c0ddf8881c8170c
2017-03-17 21:31:53 -04:00
Henry Castro
92a5320694
loleaflet: insert annotation now pops in the cursor position
...
Change-Id: I6bdfc0cd8a9603cf10685dc5562afd6d81d52162
2017-03-17 21:01:33 -04:00
Henry Castro
91649dc4b6
loleaflet: remove line arrow to replace the text selection
...
Change-Id: I20a85c65463930c3f60c47fc770b68d191887fda
2017-03-17 19:07:27 -04:00
Michael Meeks
a6a4094e52
Send ping message, handle pong & store ping-time on the Websocket.
2017-03-17 22:59:03 +00:00
Michael Meeks
9381d4134f
Unify and simplify timeout and poll events setup.
...
Both happen at the same time, and need support from the
SocketHandlerInterface.
Rename hasQueuedWrites to getPollEvents and merge updateTimeout.
2017-03-17 22:00:28 +00:00
Henry Castro
3190483d7c
loleaflet: convert anchorPos to L.Bounds
...
Change-Id: I8fb648ec52e21a93a1f76fe44224e5481a697453
2017-03-17 17:35:05 -04:00
Michael Meeks
3a5ca4b03f
Switch to std::chrono from Poco::Time and simplify lots.
2017-03-17 21:13:11 +00:00
Michael Meeks
e9dbab6900
Always call handlePoll so we can handle timeouts.
2017-03-17 21:13:11 +00:00
Miklos Vajna
c646be30b6
UnitPrefork: fix -Werror,-Winconsistent-missing-override
...
Change-Id: Iba10362ead68427ea5ca6a9988708e3cd6710f17
2017-03-17 12:25:38 +01:00
Pranav Kant
f57e412403
loleaflet: Tell WOPI host if document was ever modified by user
...
Change-Id: Ic99136168716d7a01d1388c4f5e1107ef9e64616
2017-03-17 15:42:10 +05:30
dewana-dewan
a3c1a685cd
implemented zooming with Ctrl-<mousewheel>
...
Change-Id: I27e53715719fd84b3e22940cc5688e87ae1f0805
Reviewed-on: https://gerrit.libreoffice.org/35288
Reviewed-by: pranavk <pranavk@collabora.co.uk>
Tested-by: pranavk <pranavk@collabora.co.uk>
2017-03-17 08:32:02 +00:00
Dewan
92ad94f259
display lokit and loolwsd version in admin panel
...
Change-Id: Ia5b89373bfd7e921597b73d5a84963268244b748
Reviewed-on: https://gerrit.libreoffice.org/35199
Reviewed-by: pranavk <pranavk@collabora.co.uk>
Tested-by: pranavk <pranavk@collabora.co.uk>
2017-03-17 07:53:06 +00:00
Pranav Kant
5a12b68b01
Fix unit test timeout interfering with normal run
...
Otherwise, loolwsd exits immediately upon start
Change-Id: I3bdf438797be162b8a44bb47ee1ddde7626dcc64
2017-03-17 12:44:23 +05:30
Ashod Nakashian
5aedff2422
wsd: convert-to functional again
...
Change-Id: Ibfdec5e898ccb7f851a09fb3fb5eae85ca20f482
Reviewed-on: https://gerrit.libreoffice.org/35307
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2017-03-17 04:05:19 +00:00
Ashod Nakashian
f9664bb369
wsd: send recylcing message to clients on shutdown
...
Change-Id: Ibeb37b801e388fa33671a3c7df564c8ed86d9b71
Reviewed-on: https://gerrit.libreoffice.org/35306
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2017-03-17 04:04:46 +00:00
Michael Meeks
bb3fa00631
UnitPrefork - restore most of the functionality.
...
No need for the memory reporting bits now that Admin gets this right.
2017-03-16 19:13:14 +00:00
Michael Meeks
ab67d605e6
Unit tests: use WSD's main socket-poll for test timeouts.
2017-03-16 18:52:49 +00:00
Michael Meeks
2c14723e58
UnitFonts - disable.
...
Now we use the forkit, font lists are always the same in kit & forkit.
2017-03-16 18:33:03 +00:00
Michael Meeks
8749f4f2e3
Cleanup unit test hooks.
2017-03-16 18:32:12 +00:00
Michael Meeks
e7ebe0fdaa
remove obsolete Poco headers, and Poco SSL pieces.
2017-03-16 18:03:23 +00:00
Michael Meeks
a6de441ed0
rename AdminRequestHandler to AdminSocketHandler.
2017-03-16 17:32:38 +00:00
Michael Meeks
4bc71cc86d
Admin: remove debug.
2017-03-16 17:29:18 +00:00
Michael Meeks
69feb165dd
Remove websocket assert on performWrites.
...
Since commit 862d7a0734
wsd: write as many messages to socket as possible:
This can be called even if hasQueuedWrites returns false.
2017-03-16 17:23:42 +00:00
Michael Meeks
97cb6597c8
Admin: don't set 'secure' on auth cookie for http.
...
Also tweak paths to accomodate bundlification, apparently un-necessary
in secure cookie mode, interestingly.
2017-03-16 16:44:27 +00:00
Jan Holesovsky
b384867b3f
Fix limiting of the connections.
...
Change-Id: I9ff0aec168fd971599248fee177bf51b134e3e58
2017-03-16 11:33:35 +01:00
Henry Castro
63c7662508
loleaflet: fix annotations of each sheet
...
Change-Id: Ie3169a051523ea99a9d1108b5d921fd6c045ed3d
2017-03-15 23:26:07 -04:00
Jan Holesovsky
191d22992d
This must have been pushed by mistake.
...
Change-Id: I62c516fec4485b176c9d50425030998e296ea369
2017-03-15 21:00:24 +01:00
Michael Meeks
f392d9e6f0
Move http serving into socket impl.
...
Avoid caching headers with parameter, and add Date: parameter.
2017-03-15 18:21:59 +00:00