Commit graph

4153 commits

Author SHA1 Message Date
Henry Castro
b7d3ea63ff loolwsd: update bundled headers 2016-11-15 00:07:21 -04:00
Ashod Nakashian
8072576424 loolwsd: move signal and process code to SigUtil files
Change-Id: I91c001ef54858d942f8e3fe56d8a6b02cb2bf37e
Reviewed-on: https://gerrit.libreoffice.org/30846
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-11-14 21:20:21 +00:00
Ashod Nakashian
b5dd13c57f loolwsd: wait for kit processes only when killing them
Change-Id: I89ec8c728b53ff1acdf9e8d12137ffc7c13f6ba5
Reviewed-on: https://gerrit.libreoffice.org/30845
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-11-14 21:19:00 +00:00
Aleksander Machniak
fc3a059e75 Fix setting DontTerminateEdit/DontSaveIfUnmodified arguments in Action_Save postMessage
Change-Id: I61a2064104b1748571036891ff7696c1a1e6a3d2
Reviewed-on: https://gerrit.libreoffice.org/30842
Reviewed-by: pranavk <pranavk@collabora.co.uk>
Tested-by: pranavk <pranavk@collabora.co.uk>
2016-11-14 18:08:58 +00:00
Pranav Kant
efe6863f17 loleaflet: 'Click to resume editing' label' when inactive doc
Change-Id: I9013158fc6f064dc76398aec044c5b4aa83aa9b7
2016-11-14 23:28:22 +05:30
Pranav Kant
7b332782da loleaflet: Mention sheet name in delete sheet confirm dialog
Change-Id: Ifac13c8fb2f4ec792f1e62541cb92b63edecad56
2016-11-14 20:38:33 +05:30
Pranav Kant
383e8a13a5 loleaflet: Focus after inserting or deleting a sheet
Change-Id: I2807cbeaa0fb5b7ec20002a3f5758ce47bb7d421
2016-11-14 20:38:33 +05:30
Ashod Nakashian
01a6274d7c loolwsd: support forced termination in kits as well
Change-Id: I301cf2f36888b7095f8565bc0badcfc5a927518c
Reviewed-on: https://gerrit.libreoffice.org/30844
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-11-14 14:00:15 +00:00
Andras Timar
b35ac4cbbf loleaflet: Control.Menubar.js indentation fixes 2016-11-14 14:23:22 +01:00
Michael Meeks
fb39c0e919 Prototype renaming script and patch for before branching. 2016-11-14 12:05:48 +00:00
Andras Timar
40009af7aa loleaflet: add Insert - Special character... to menu 2016-11-14 11:41:03 +01:00
Andras Timar
0e5cf0e07f loleaflet: disable Insert Special Character button in view-only mode 2016-11-14 11:38:12 +01:00
Ashod Nakashian
303d173ae1 loolwsd: gracefully shutdown on first CTRL+C then force termination on second
Change-Id: I1c84663d10de8ece715a296eec284b74cdda69df
Reviewed-on: https://gerrit.libreoffice.org/30834
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-11-14 05:37:06 +00:00
Ashod Nakashian
d36306e347 loolwsd: broadcast that the server is shutting down
Change-Id: Ib94eb991763094cd6fe0ab36636f48f9844586c5
Reviewed-on: https://gerrit.libreoffice.org/30833
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-11-14 05:35:37 +00:00
Ashod Nakashian
da5ef9b5a2 loleaflet: add shutdown command to the admin settings
When we add more server controls (restart, f.e.)
we will need to move this to a separate page.

Also, we need to prompt the admin for reason,
which we can broadcast to all users when the server
goes down.

Change-Id: Ide92e58b5b64a5107b6556aef6b1a88191d5d21b
Reviewed-on: https://gerrit.libreoffice.org/30832
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-11-14 05:35:13 +00:00
Ashod Nakashian
d02f677fff loolwsd: support shutdown admin command
Change-Id: Ib87ad2c289d59734c7a7a12e821de89e61c05079
Reviewed-on: https://gerrit.libreoffice.org/30831
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-11-14 05:33:15 +00:00
Ashod Nakashian
853135decd loolwsd: SocketProcessor can be named and name used in logs
Change-Id: I599b6f7308690b49a0e9ed3c23b88dbcb2ed8848
Reviewed-on: https://gerrit.libreoffice.org/30830
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-11-14 05:32:46 +00:00
Ashod Nakashian
03a0347c14 loolwsd: don't make noise on spurious errors while testing
Change-Id: I6ab24367fddc8ab49843289af9bfc2241dc6005f
Reviewed-on: https://gerrit.libreoffice.org/30829
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-11-14 05:31:59 +00:00
Ashod Nakashian
18fd7b7f75 loolwsd: SocketProcessor cleanup
Change-Id: I120574dce169e1e8149aeba9d982b8235fa034fb
Reviewed-on: https://gerrit.libreoffice.org/30828
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-11-14 05:31:45 +00:00
Ashod Nakashian
92ca5225a5 loolwsd: logs and consistent formatting
Change-Id: If32bb829b125678c6e8f83c39a3812098f3b38a3
Reviewed-on: https://gerrit.libreoffice.org/30827
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-11-14 05:30:47 +00:00
Ashod Nakashian
47d040f345 loolwsd: handle SIGINT in WSD only
CONTROL-C is now handled by WSD only to
have full control over server shutting down.

Also set signal handlers first thing to trap
any early failures.

Change-Id: Ifc5c93b9dd2aef288eed0ed36c600a639dbc6a44
Reviewed-on: https://gerrit.libreoffice.org/30826
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-11-14 05:30:07 +00:00
Ashod Nakashian
6ad3b64d30 loolwsd: kill children using SIGTERM from via a helper function
Change-Id: I901183fc59725681208a5c0f23f0916e158e5654
Reviewed-on: https://gerrit.libreoffice.org/30825
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-11-14 05:29:24 +00:00
Ashod Nakashian
7b87e4ab78 loolwsd: kill superfluous shutdownPeer
Change-Id: I50880e15b5e36f7701bafbfa59be57ed6bd856c1
Reviewed-on: https://gerrit.libreoffice.org/30824
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-11-14 05:28:28 +00:00
Ashod Nakashian
71c5f6c303 loolwsd: simplify PrisonerSession
Change-Id: If626b9e5ceb206480f29d4b4b70eeffca55a83c2
Reviewed-on: https://gerrit.libreoffice.org/30823
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-11-14 05:27:52 +00:00
Ashod Nakashian
b7df3b50a9 loolwsd: Log::syserror and Log::sysfatal now supported as macro
Change-Id: Ic07e7fb46e0b3e01db164e5812ef9256f149e5d9
Reviewed-on: https://gerrit.libreoffice.org/30822
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-11-14 05:24:04 +00:00
Ashod Nakashian
41e0902cdf loolwsd: cleanup LOOLStress
Change-Id: I8161488d30f8e173db47ccae5544b6d8b9f21f02
Reviewed-on: https://gerrit.libreoffice.org/30821
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-11-14 05:23:18 +00:00
Ashod Nakashian
ad70138fc9 loolwsd: move file utilities into FileUtil files
Change-Id: Ib0c0bc66adabe6885f7ac16414a3d5af13d72893
Reviewed-on: https://gerrit.libreoffice.org/30820
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-11-14 05:23:01 +00:00
Ashod Nakashian
2906442f03 loolwsd: cleanup LOOLWebSocket
Change-Id: Iad16918a5e0bc239ba969bbe596c1d2c4c01cebb
Reviewed-on: https://gerrit.libreoffice.org/30819
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-11-14 05:21:27 +00:00
Ashod Nakashian
3cff799301 loolwsd: Log error when not sending full frame
... and timeout when receiving frame.

Change-Id: I5bb085f494fc146f7fbd75be3f3bb86597029369
Reviewed-on: https://gerrit.libreoffice.org/30818
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-11-14 05:20:54 +00:00
Ashod Nakashian
b6926c2f4c loolwsd: proper retrying in connectLOKit
Change-Id: Ib99a6012510457876f422767cf42b92f412df1f5
Reviewed-on: https://gerrit.libreoffice.org/30817
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-11-14 05:19:49 +00:00
Ashod Nakashian
0506cbb5c4 loolwsd: move reveiveFrame from IoUtil to LOOLWebSocket
Change-Id: I82b64d16e496f104c34eeddce1ef9a1e57bc03bc
Reviewed-on: https://gerrit.libreoffice.org/30816
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-11-14 05:19:22 +00:00
Ashod Nakashian
5d69d0abd6 loolwsd: log only abbreviated messages
Change-Id: I3328a9171f8b85a802dc888de009bdbb8658cead
Reviewed-on: https://gerrit.libreoffice.org/30815
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-11-14 05:18:43 +00:00
Ashod Nakashian
d2d3bb19e0 loolwsd: new unittest to test forkit crash recovery
Change-Id: I61c79cce83af1fface2f54294d418c67eb6d398e
Reviewed-on: https://gerrit.libreoffice.org/30814
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-11-14 05:18:12 +00:00
Ashod Nakashian
ae3055c19a loolwsd: don't ignore zombies when counting loolkit processes
During tests we need to count the number of
oustanding loolkit processes. Since once a process
dies its parents must first reap it to get removed
from the proc table, we can't assume the process
is fully removed until and unless it's reaped.

In crash tests this becomes critical, since if
we load docs right after intentionally killing
loolkits, we will trick wsd into using a zombie
process. It will then fail at first communication
with the child. While this excercise early failure,
in practice this is unrealistic and will force
handling cases that in practice should not happen
(or when they do, nothing too horrible will happen).

By not counting zombies we can now wait in the crash
tests until forkit reaps the kits, then we test
the scenario where there are no ready children
when documents are loaded.

Change-Id: I0e5ca9a02d215ceca36d80071ba57e9a9c9c3240
Reviewed-on: https://gerrit.libreoffice.org/30813
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-11-14 05:14:36 +00:00
Henry Castro
36474b21a6 loleaflet: add special character 2016-11-11 15:24:48 -04:00
Henry Castro
e6cdb7fa19 loleaflet: simplify remove all child elements 2016-11-11 14:05:15 -04:00
Henry Castro
1fde78d6cd loleaflet: move isVisible to Control class 2016-11-11 13:48:32 -04:00
Pranav Kant
224e6fc8e7 loolwsd: Only warn about mis-spells, don't accept them
Change-Id: Iace494139eee8ff7dececf203c9fd51a98c6bd46
2016-11-11 22:54:46 +05:30
Jan Holesovsky
de9ec63e4f Turns out that setting 'blocking' is the right thing to do.
Unfortunately it turns out that POCO's handling of the non-blocking case is
wrong when EWOULDBLOCK is returned from ::send().  This leads to a situation
when part of the data has been sent, but it is impossible to send only the
rest of it, because of too high-level api for the websockets.

We could essentially re-implement the POCO's websockets and use just the lower
levels of POCO - but then it's a question whether it is actually easier to use
the Linux system calls right away :-)

Change-Id: Ied08f68d5037d0ab9ca8266cd20e1084bcebfd14
2016-11-11 17:39:13 +01:00
Pranav Kant
bde2b14679 loolwsd: Use Levenshtein distance to tolerate mis-spells
... case sensitiveness and wrong types.

Change-Id: I3ce59c551722138f7e5cb0f00ebcdcb8682e7d0b
2016-11-11 20:07:29 +05:30
Pranav Kant
25db37484c tdf#103697: Fix color value for spreadsheets and presentations
Change-Id: I89f871f829abd847321bee927b98e9a96e8babbb
2016-11-11 16:22:44 +05:30
Pranav Kant
dacf16f2d8 tdf#103671: 'true' -> true
Treat booleans as booleans, not string

Change-Id: Id0d3bee44b42461671379754e64e5e2f9b318045
2016-11-10 23:06:15 +05:30
Pranav Kant
d060b242e8 More documentation about post message API
Change-Id: I362e159c32d2ea93139be58ca647a2f4c5678dee
2016-11-10 22:37:38 +05:30
Pranav Kant
08a365302e loleaflet: Fix browser print
Accessing the parent iframe, atleast on my local box, where
parent frame and loleaflet frame have different origin, is not
allowed by browser security policy.

Change-Id: Ia3a356fa1d8a81f38bbc27d256471302be8b6729
2016-11-10 22:03:17 +05:30
Pranav Kant
e850ac836f tdf#103641: Another Post message API - Get_Export_Formats
Change-Id: I8a502d3c88c83cc7fb6c3113522ed637bf349a0e
2016-11-10 22:03:17 +05:30
Pranav Kant
5219baaab0 tdf#103641: WOPI: Implement Action_Save, Action_Print, Action_Export
WOPI hosts can now send above mentioned messages to loleaflet so
that loleaflet does stuff accordingly.

Change-Id: I50e10a62c5b629bd12f7d9ce51bcd13cb13cdd8a
2016-11-10 22:03:17 +05:30
Pranav Kant
9bfd5a512e loleaflet: Factor out save uno command
Change-Id: I155329f9dfa37cb47cbac34aa885b3d7a0cbb573
2016-11-10 22:03:17 +05:30
Pranav Kant
2168617d60 tdf#103641: Implement ability to hide save, print, export options
Add more WOPI extensions for this - HidePrintOption,
HideSaveOption, HideExportOption. Setting HideExportOption to
'true' in WOPI CheckFileInfo response would hide the 'Download
as' option from the File menu.

Change-Id: Ia2259ee9525cc6c4331a52e2221af4df188eab07
2016-11-10 22:03:17 +05:30
Pranav Kant
9c5928a87b tdf#103641: Convert 'wopi:' message to JSON formatted message
... to accomdate other WOPI properties easily in future.

Change-Id: Ic92364f06f4f16ebe8f9f128cd49087f6d72a4d1
2016-11-10 22:03:17 +05:30
Pranav Kant
7cacabad40 loleaflet: Give id to these menu items
So that it is easy to manipulate them in future by their
identifier.

Change-Id: I252aa448c26c23a00f0a3e717e1603b0d0277e67
2016-11-10 22:03:17 +05:30