Writer really has a single part for rendering
purposes, 0. This new unittest validates that
if we edit a page that isn't the first, part
in invalidatetiles will still be 0, and not
the page number of something else.
Change-Id: Idb5d14c2365cc0f73b76ee47223815ddf611f8ce
Reviewed-on: https://gerrit.libreoffice.org/29607
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
Writer has only one part for rendering purposes (0).
With the new API that includes the part number in
the INVALIDATE_TILES event, the part number must
be 0, otherwise, there will not be anything to render.
Unfortunately Core issues part number == page number,
which we overwrite with 0 in Online.
Change-Id: I842fdd2f50021334dcd3fa47c0b1c9df34d8c5e1
Reviewed-on: https://gerrit.libreoffice.org/29605
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
Finally seen linking on a 'perf top' output, and restored this.
UnitPrefork shows that it saves memory, and it should save CPU time
and more memory as the suite is actually used.
Poco's ServerSocket by default uses SO_REUSEPORT when one creates it
using the constructor that takes a port number. If one uses the
default constructor and calls bind() and listen() separately, one can
tell it not to reuse the port.
Which is sometimes stored in a bool, but when auto is used, it's char*,
so it helps to have that written explicitly.
Change-Id: I561692e8d5c575b4ff8612fd50e489ad3c60d655
No need to fire it if nothing happens. Just confuses a reader of the
code.
I don't really understand JavsScript events etc, so if I have
misunderstood something, feel free to revert.
We shouldn't assert such details.
protocol.txt says:
The WebSocket distinction between 'text' and 'binary' frames has
no meaning for us for messages that don't contain additional
binary data; such messages can be either 'binary' or 'text' from
the WebSocket point of view even if we require them (the single
line) to be UTF-8. In other words, an implementation is free to
send such a single-line message as a WebSocket 'binary' frame, and
the receiving implementation must treat that equally as if it was
a 'text' frame.
URI::getPath() returns a _decoded_ path which was then being used
for the requests. This leads to failure for WOPI urls having
space in them.
Change-Id: I47bef643b09a919c56f9f0ec7b4dee8604dde089
Reviewed-on: https://gerrit.libreoffice.org/29536
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
This minimizes unlocking and relocking
on the LOK Document.
Change-Id: Ibe5045c82008df907dc329c1530cb50138b0c211
Reviewed-on: https://gerrit.libreoffice.org/29545
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
Log data to std::cerr - so it goes to the log files.
Dump PSS / Dirty per child process for comparison.
Copy the child socket array before operating on it to fix a crash.
Add debug to ensure we are getting each child's true size.
Count pre-forked processes more correctly.
Use Unit's returnValue implementation to fix failure exit codes.
Accept new loolwsd.log socket as being authentic.
... otherwise in some cases viewid that is set internally in core
is different from the one which is being loaded resulting in an
incorrect status message which then leads to lot of other problems as
well.
Change-Id: I8488d7d54b211a6b6f6028128f8dfc3388b73efd
Also add a script that can detect if discovery.xml is no longer in sync
with the core.git filter configuration.
richdocuments.git d6b65b79835bc499f720d15bb6c00441079b2fd6 (Respect WOPI
action names, 2016-10-04) can launch a read-only loleaflet based on this
info.
Change-Id: I09232bb53844d0737dfdc66cd0e87342b9dd0fb6
After processing a tile request for a slide preview, move the rest of them to
the end of the queue, so that other events are processed before we render the
next preview.
Change-Id: I82aa411406d6731b1c0bf3b849780220b5e68110
Document that the 'id' parameter of a 'tile' message is not (should
not be) used for anything except slide thumbnails.
If we later need some more generic way to distinguish the purpose of
tile requests, need to come up with something else, like a 'purpose'
parameter.