Mihai Varga
d1ecdbc3df
loolwsd: parse the commandvalues
command and cache the values
...
The values are chaced in the file named
"cmdValues" + unoCmd + ".txt"
2015-09-09 20:23:49 +03:00
Henry Castro
0c6c2c8da2
loolwsd: revert update status when switching parts
2015-08-28 01:28:14 -04:00
Henry Castro
b32b407714
loolwsd: add an optional parameter to load url= ...
...
load part=X url="http" is required to re-establish the connection
2015-08-27 00:18:44 -04:00
Henry Castro
90f790d7ad
loolwsd: update status when switching parts
2015-08-27 00:07:11 -04:00
Mihai Varga
1cfd1352ce
loolwsd: renamed getStatus/saveStatus to getTextFile/saveTextFile
...
And added a getStyles method that uses the above methods to cache
document styles
2015-08-19 11:48:49 +03:00
Jan Holesovsky
44c3e01707
Fix typo in error.
2015-08-11 18:39:18 +02:00
Jan Holesovsky
2e6bb94395
More consistent error report.
2015-08-11 18:31:50 +02:00
Mihai Varga
d4f818522a
'requestloksession' message that starts a LOK process
...
Used to predict the user's interaction with the document and to
provide a better response time
2015-08-06 18:54:45 +03:00
Henry Castro
ee928f9af1
loolwsd: create lokit process id logs
...
Also, when used with --test option, create lokit PID log
so it is attached to the debugger.
gdb loolwsd $(cat /tmp/lokit.pid)
2015-08-05 20:20:05 -04:00
Henry Castro
1c0153d5e0
loolwsd: ensure one child when debugging
...
when used with --test option:
./loolwsd --test --systemplate=${SYSTEMPLATE} --lotemplate=${MASTER}/instdir
--childroot=${ROOTFORJAILS}
ensure that one child is created and attach to it easily to debug lokit
messages
2015-08-05 20:05:30 -04:00
Henry Castro
0ec12fe11e
loolwsd: fix child fork when debugging one child
2015-08-05 18:19:51 -04:00
Jan Holesovsky
527821597f
Make the timestamps work also for non-file:// URLs.
2015-08-04 20:39:33 +02:00
Henry Castro
85b0474deb
loolwsd: remove time stamp query parameter
...
The original URI request with query parameters is processed by loKit.
2015-08-03 21:33:47 -04:00
Mihai Varga
6812c6aa0b
goToPage API
...
in loleaflet, this is achived by invalidating the cursor and centering
the viewing area around it
2015-08-03 19:07:02 +03:00
Mihai Varga
992f19e6e8
loolwsd: handle parts in Writer
...
In Writer a part is a page and we only notify the client about the
current page in which the cursor is. Internally (invalidation and
caching) we work with a single part (0)
2015-08-03 17:29:23 +03:00
Mihai Varga
4ae546d7bd
loolwsd: don't move editing tiles to persistent on saveAs
2015-07-29 16:58:43 +03:00
Mihai Varga
a6091f9f6b
loolwsd: don't decode the url in the saveAs command
2015-07-29 11:39:35 +03:00
Henry Castro
ec094f1601
loolwsd: remove _pendingPreSpawnedChildren.
...
_pendingPreSpawnedChildren is no longer need it, because
fork() is used.
Also adjusted time sleep to 1 second.
2015-07-24 15:17:46 -04:00
Mihai Varga
e29d7c8468
loolwsd: save the whole status not only the fst line
2015-07-22 15:09:14 +03:00
Mihai Varga
b9884a470a
loolwsd: be aware of the client's current part
...
And set lok's part to match the client's when they start editing or
selecting
2015-07-21 16:56:02 +03:00
Mihai Varga
c9fff5d8e3
loolwsd: updated tileCache::invalidateTiles
2015-07-21 14:53:53 +03:00
Mihai Varga
47790d9d5d
loolwsd: use the new invalidate x y widht height command
2015-07-21 11:08:36 +03:00
Mihai Varga
19d6dec3f7
loolwsd: log timestamp in microseconds
...
Also, separate messages by comma so we can parse them easily
2015-07-20 12:54:08 +03:00
Henry Castro
404b5edbc9
loolwsd: FileTransferHandler no longer need it.
2015-07-17 16:55:49 -04:00
Henry Castro
99ca81a944
loolwsd: move server socket to parent process
2015-07-17 14:04:40 -04:00
Mihai Varga
5085fd4e0c
loolwsd: move tiles to persistent folder on save
2015-07-16 12:51:07 +03:00
Mihai Varga
2ebe9f1be1
loolwsd: format and options in 'saveas' are optional
2015-07-16 12:51:07 +03:00
Mihai Varga
675cfb8c4a
loolwsd: send part names with the status message
...
Also disabled the status length assertion because part names
are separated by new-line characters ('\n')
2015-07-15 18:49:32 +03:00
Mihai Varga
97191d985b
loolwsd: allow an extra paramater to the tile command (ID)
2015-07-14 19:46:04 +03:00
Henry Castro
bb3611399b
loolwsd: Use fork but no execve
2015-07-13 10:13:06 -04:00
Mihai Varga
6d2d8361b6
loolwsd: the third argument in postUnoCommand must be null not space
2015-07-08 09:09:58 +03:00
Jan Holesovsky
767d6a0a32
Create /dev/*random in the chroot so that ssl works.
...
Also add the missing library to the systemplate.
2015-07-06 19:35:50 +02:00
Henry Castro
e50e302839
loolwsd: Handle file URI schema
...
In the file:// case, if it is on linux, hard link function is used
and copy only if hard link fails.
2015-07-04 20:46:13 -04:00
Henry Castro
d788fa92e9
loolwsd: let libreoffice handle http protocol
2015-07-03 10:04:24 -04:00
Tor Lillqvist
f4da368a52
Add a FIXME, found by looking, no time to investigate
2015-07-02 16:26:09 +03:00
Jan Holesovsky
4071022305
The payload format has changed, swap the parameters accondingly.
2015-06-25 17:03:18 +02:00
Jan Holesovsky
7c48ea1fe3
Change the tiles cache to 2-level cache.
...
Now we have 2 caching directories: 'persistent', and 'editing'.
The Persistent cache always represents the document as it is saved, the
Editing one caches the current edits. The Editing state is copied to
Persistent on save. The Editing state is destroyed on reload.
2015-06-24 22:07:58 +02:00
Mihai Varga
e8007ea405
Server getTextSelection implementation
2015-06-24 18:08:15 +03:00
Tor Lillqvist
f7a769ef28
Avoid assertion when the --lotemplate parameter ends with a slash
2015-06-17 16:52:54 +03:00
Tor Lillqvist
6804750463
Don't bother with storing a ref to Application::instance() in a variable in some places
2015-06-09 18:30:21 +03:00
Tor Lillqvist
d3f4ddd355
Use a queue also in the child processes
2015-06-09 18:30:12 +03:00
Tor Lillqvist
629ba87139
Add a "canceltiles" message to the protocol and handle it
...
Implementing this Was harder than I first expected. The basic idea is as
follows: The master process puts each message arriving from a client that
isn't "canceltiles" into a (client-specific) queue. A separate thread that
pulls messages from the queue at its own pace and handles them as
before. Incoming "canceltiles" messages are handled specially, though: The
queue is emptied of "tile" messages.
The above sounds simple but there are several details that were a bit tricky
to get right.
2015-06-09 18:29:48 +03:00
Tor Lillqvist
a7f2e5aa29
The buffer parameter to handleInput() can be const
2015-06-08 17:56:10 +03:00
Tor Lillqvist
a608aaee90
Add an invalidate: message that is in LOOL style with named parameters
...
The invalidatetiles: message as generated directly from the
LOK_CALLBACK_INVALIDATE_TILES will be dropped soon.
2015-05-29 09:44:39 +03:00
Tor Lillqvist
1b85e8eaaa
Be more consistent in using 'using'
2015-05-29 08:49:49 +03:00
Tor Lillqvist
bf985624f1
Handle LOK_CALLBACK_INVALIDATE_TILES in the server too
...
Remove any intersecting cached tiles. It is the parent process that handles
the tile cache, so it must look for invalidatetiles: messages, too, before
passing them on to the client. To know for which part we should remove tiles,
add an "ephemeral" curpart: message that the child process sends to the parent
process before the invalidatetils: message.
2015-05-28 18:48:51 +03:00
Tor Lillqvist
f6a00edbee
Use shared_ptr to the WebSockets for increased robustness
...
Why did I wait so long to do this? This is obviously the right thing to do, I
hope, and has a very significant impact on the robustness of the server...
2015-05-28 16:46:37 +03:00
Tor Lillqvist
d0dbc5e1dd
Send a nextmessage: message also preceding a tile: message from the cache
2015-05-28 16:46:37 +03:00
Tor Lillqvist
09b261d57b
Handle LOK_CALLBACK_DOCUMENT_SIZE_CHANGED even better
...
Just call the getStatus() function directly in the child process, which will
always cause a complete status: message to be sent to the client. No
documentsizechanged: messages now sent to the client at all.
2015-05-28 16:46:37 +03:00
Tor Lillqvist
13645eb769
There should be whitespace after the message keyword and colon
2015-05-28 12:59:11 +03:00