When always_save_on_exit=true we should
still not upload the document when it
isn't modified.
In this case, because we now always
save the document (forced) when
always_save_on_exit=true, and because
saving always generates a new file on
disk, with a new timestamp, we couldn't
detect that there are no modifications.
We now still force save, but ask Core
to skip it if the document is unmodified.
This is safe since we now always issue
the save, but rely on Core to do the
right thing. When the document is saved,
we do the normal upload as in that case
we know we have a new version of the
document, which must be uploaded.
Worth noting that the closedocument
command doesn't trigger the same path.
To reproduce the issue, we need a new
test that disconnects, instead of the
graceful closedocument command.
Change-Id: Iaa4e0363ed2eca124f2d1943393e65c0c187aa18
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
The new WKWebView.inspectable property must be set to YES in order
for Safari to connect to a debug version of the iOS app whether the
app is running on an iOS device or on macOS.
Signed-off-by: Patrick Luby <guibomacdev@gmail.com>
Change-Id: I873a25a149e3ec967ab0775ba8105ecce26f07ac
Similarly to the iOS case seen in #7908 the %SAVED_STATE_UI%
does not get replaced. In mobile apps there is no fileserver
that can replace these variables.
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: Icb7f9d7550b0990cc0ad1d65253773b49ff97795
This is partial revert of "jsdialog: use open/close instead of toggle for dropdowns"
commit 0833ec6489.
Which introduced "state" variable which was desynchronised with core in
some cases. Now directly call desired close command in closePopover.
This fixes bug:
1. Click on the sidebar's Paragraph's "Ordered list" dropdown arrow;
2. Click on any kind of the list (so that the current paragraph gets the chosen list style);
3. Click on the drop-down arrow again, expecting the drop-down to open.
Result: you need to click two times to open menu again
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Ief49d4aff45bc58a6c02fcdcd8cb2b3f1ec6e691
Using the aggregated file saves a hundred+ system-calls per
pid we're getting data for, and presumably also lots of time.
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I41c40982ebbec44aba72a1d15dabf24a8986f59e
It internally handles the mouseup. So we don't send it again.
Without this change, context menus can't behave normal. Because mouse pointer is set to somewhere else with the mouse up event.
Signed-off-by: Gökay Şatır <gokaysatir@gmail.com>
Change-Id: I719565b1ce192045250f9217e971725d8cc1003b
Don't show error to the user as it is not critical
but put in the logs more meaningful message so we can debbug
later.
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I7b27a19ac7af845de74d7a4fb65682dfe03c042d
so it doesn't sound that serious like previous message
and is less generic and more easy to find in the code
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I3eb746af8aef39b566d3213ab2935372219e8d98
Maintaining the state is cheap & easy compared with rendering it,
so toggle rendering - but maintain state in debug mode as now.
Change-Id: I06b29c8a2a8652a63e9ca1e4b7dc31bfe7cafc1e
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
This forces autoSave when always_save_on_exit
is true. This is needed so we can guarantee
that we don't have modification and that
we upload if there has every been one.
The latter case is checked in
DocumentBroker::needToUploadToStorage(),
which is called from
DocumentBroker::checkAndUploadToStorage().
A new test reproduces the issue and defends
the fix.
Change-Id: I0b2105a57cfd7049ba7b1f63e62a700fdc3744c2
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
Share a single emission function. Events are re-parsed and
emitted and adjusted in ClientSession; JSON escape event names.
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: If489d516bf20d5ec34cfe61f7e4fb09cf2e14bf2
Fixes#7885
Be more flexible and allow to run service with configured
hosts which doesn't work with lok_allow (invalid regular
expression for std::regex which is used in core).
This change instead adds error report in the logs, without
it it was crashing when any host was not compatible.
For example when using domain like:
"*.example.com" which should be ".*\.example\.com"
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Id664df95899bda866b9179a3941280626a2c0299
The quarantine path should be an absolute path.
Unfortunately, because we had relative=true in
the path config, we couldn't detect empty configs.
This is because with relative=true the getter
would create a path based on the current directory
and the config value, which would default to
"quarantine" when empty.
This would result in /opt/cool/quarantine or
/usr/bin/quarantine when in fact the path is
really empty.
Now, the config has relative=false and
there is no default. In addition, we
warn if the path is no absolute.
Change-Id: I1b3eb5e76866a12d214b47e6556942715a210e54
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
As this is a member of the Quarantine class,
there is no need to have "Quarantine" in the
name. This was a hang-up from the time when
it was a static.
Now we can log the enabled-state.
Change-Id: Iab1cec4d90671cda175c1d320e4f3318dd7b89a1
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
Below cases are covered in current patch
- `Filter by Color` in autofilter should have radio buttons.
- Changes should be applied whene we select any option from `filter by color` submenu.
Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>
Change-Id: I1a757e09be81df934b46d48f71e8be28fc48c984
When building the iOS app, the %SAVED_UI_STATE% does not get
replaced with a quoted string during the build and the resulting
unquoted string causes document loading to stop.
Also, eliminate warnings when running in Xcode by adding missing
CFBundleTypeRole entries in the iOS app's Info.plist.
Signed-off-by: Patrick Luby <guibomacdev@gmail.com>
Change-Id: Ie398955241a078be45af28e54c49387ff673870b
This applies the cgroup memory limit, if set,
such that if it is lower than the configured
memproportion percentage, we do not exceed it.
Otherwise, we risk running out of our cgroup
limit and by then it is too late to do anything
but die due to OOM.
This also moves the logging of the cgroup memory
stats from COOLWSD into Admin, to avoid duplicate
logging.
Also updated the description of memproportion
config entry to account for the cgroup logic.
Change-Id: I870ae61c1260eb2b3275bd2fa1a4c48ff30957a2
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
Split tools into categories,
Make Tile Overlay toggleable,
Adjust which tools start enabled,
Comment out non-functional tools,
Adjust some names
Signed-off-by: Neil Guertin <neil.guertin@collabora.com>
Change-Id: Ic973671a3c323f10d7f95918459ffc91a2f5c35d
Core side seems to handle the mouseup event automatically for the right mouse button.
When we send another mouseup event, selected text can get unselected and context menu can't find a selected text.
Issue is:
* In Impress, select a text in a textbox and right click.
* Context menu cut operations doesn't work.
Cause:
* We send the right mouseup twice, the second event unselects the text and sets the cursor position to somewhere else.
Signed-off-by: Gökay Şatır <gokaysatir@gmail.com>
Change-Id: Idae749da42443ccdd7ef2fc795b042536fae0db6
And other changes to reduce logs by about
20 lines per test (15% of total)
Signed-off-by: Neil Guertin <neil.guertin@collabora.com>
Change-Id: Ia6a1c96752816c5cd9fb11368cf921bdce9936ff
- before this patch when socket connection failed, we used to show the
same error for socket connection failure and send the
'Action_Load_Resp' with same errorMsg
- now we show/send different message for unauthorized and loading
failure
Signed-off-by: Rash419 <rashesh.padia@collabora.com>
Change-Id: I71b1b7f8e2eca93790d068583370787825911a41
If we had very long or tall cell - maybe bigger than a screen
on every selection we tried to show it on the screen what
caused view to jump. If cell is bigger and partially visible
left view at the same position to avoid "jumping".
Steps to reproduce:
1. merge many cells - longer than one screen width
2. scroll in the middle of merged cell
3. select the cell
Result: jump to the begining
Expected: no jump if it is paritally visible
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I04da5cd346f175728222888a039a796b271e00d1
This fixes view jumps in the Calc when some user tried
to drag a selection but did it very quickly so it was
interrupted by the _mouseOverTimeout callback.
Timer was introduced in commit 72c407e0ed
loleaflet: support mouse cursor calback
But we noticed the issue recently. I remember that dragging
the selection was not working some time ago, it is
possible that it was fixed and because of that we experience
this bug.
What it does is that it stops dragging mode in half-done state
so then other views sometimes use the leftover data.
To be 100% fixed it should be also protected on the core side.
Steps to reproduce:
1. Open calc in 2 sessions
2. A selects some range of cells (for example 3x3)
3. A clicks inside selected range and holding the mouse
button does rapid move to drag the selection (move
the content of cells) - it has to be done very quickly
< 100 ms after initial click
It is done properly when you see on the screen selected
range and cell selection, but the two are not overlapping
4. User B goes somewhere far in the sheet and:
- changes font size
- or selectes some rows, deletes them, then opens right-click
"row height" dialog, press ok
Result: User B jumps to the selection of user A
Expected: no jump
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Ia35377771df6b04584eebb76c25290482b7a4b93
Let clearOldQuarantineVersions() remove quarantined
files only when necessary and per the config settings.
Change-Id: Ie1fb18c02d61a710546e9b5962ab8b7973c2066e
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
* These changes are made primarily for reading the hyperlink data from the document in readonly mode.
* Added readonlyclick event.
* Added readonlyhyperlinkclicked event.
* And the handlers for these.
When user clicks on document in readonly mode, a readonlyclick event is sent to the server.
Childsession checks if there is a hyperlink at the clicked location.
If so, the information of the hyperlink is sent to the client.
Signed-off-by: Gökay Şatır <gokaysatir@gmail.com>
Change-Id: I9c104a1ec770491725337b9bbb1e2d1c2851321b
it did not make sense to check for selection if we are unselecting before selecting
problem:
when already selected comment try to modify,
it will not rearrange replies in the thread this caused
overlapping of the comments and bad user experience
Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: I276c34301b45951a7051018770e21b4970603861
use strict datatypes for the properties where possible,
also allow to add new properties dynamically
Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: Ia2eb850f61031f91b0e37339475e1ca4e768dad1
this caused problem when new doc is loading and we are settings up comments,
but they are not initialised and marked as being in editing.
i.e: this will cause problem with showing reply count(in collapsed view) initially
Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: Ia688ca0bfc37dd925bd74dc5826d43fdb37c81db
The intent is to eventually replace cy.cGet and some other helper
functions with getFrame, which is cleaner and has better logging on both
pass and fail.
Signed-off-by: Neil Guertin <neil.guertin@collabora.com>
Change-Id: I911a5552d69634495a9036d020754351665419cf