Commit graph

14604 commits

Author SHA1 Message Date
Ashod Nakashian
38f2707881 wsd: test: http: improve HttpRequestTests
Change-Id: Ideaf8f1cad492fda6eab57bcefefac861a05e28a
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-03-22 10:09:22 -04:00
Ashod Nakashian
5749d7457d wsd: http: improve StatusLine
And update unit-tests.

Change-Id: I29bcb8232c77d3c0c1fe316854417726671765f1
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-03-22 10:09:22 -04:00
Ashod Nakashian
1f978d9b50 wsd: cleanup Poco headers
Change-Id: I1eec2301576fc2f1cde40389b1f858f80b1204c0
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-03-22 10:09:22 -04:00
Ashod Nakashian
b13b1e85ce wsd: http: log the hostname in warning
Change-Id: I3aa5e134002aafe2e0090e87f9e275130983450f
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-03-22 10:09:22 -04:00
Ashod Nakashian
58d9bcd685 wsd: http: map Status Codes to Reason Phrases
Change-Id: I96c953950a865fe35a17540889e4cc75c84870b1
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-03-22 10:09:22 -04:00
Ashod Nakashian
42f7796e68 wsd: prevent poco from inserting line breaks in hex bytes
An anti-feature, Poco's HexBinaryEncoder inserts
gratuitous line breaks (0x0A) every 32 bytes,
which is neither expected nor necessary.
No idea what use line breaks could have in a
hex encoder (unless it assumes it's only
possible use is to dump data for investigation).

We hadn't observed this because we generate
random hex strings of 8 to 16 bytes long.
But having used it for random URLs that
are up to 1024 bytes long, I started getting
invalid URLs.

Another reason to hasten the removal of Poco,
especially when we have our hex converter
anyway (not that it would matter if we didn't).

Change-Id: Ib674e8ed607db1effef476f1f3478da76c4f6464
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-03-22 10:09:22 -04:00
Ashod Nakashian
97aa9a06e5 wsd: Util::toLower helper
Change-Id: Ibdf9c8e1becdaeac358fa53906593652e05ede72
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-03-22 10:09:22 -04:00
Ashod Nakashian
d15528ea91 wsd: http: improved whitebox http tests
Change-Id: I42cd2f6f8ea08923c9f0facab7a51f84bff7f524
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-03-22 10:09:22 -04:00
Ashod Nakashian
da07625352 wsd: http: parse the http header only
Previously, we were parsing the Status Line
and the header, both together. This of course
doesn't work when we had removed the Status
Line already. This wasn't an issue in parsing
responses from servers, but doesn't work when
parsing requests from clients (i.e. in a server).

Also, it's simpler.

Tests extended accordingly.

Change-Id: Id1c9a6385080c86b6072130fa8a169a699c42462
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-03-22 10:09:22 -04:00
Ashod Nakashian
f7d5428f3c wsd: test: better http tests
Change-Id: I9cb6b91790951dcb20ccd6f3f4746d66aed5b72b
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-03-22 10:09:22 -04:00
Ashod Nakashian
b6314a6165 wsd: http: tolerate the absence of a reason phrase
Here we are more tolerant with regards to the
minimum Status Line length, since a Reason
Phrase is informative and might be omitted.

While technically it should be provided, per
the RFC, we shouldn't break when it's missing.

Change-Id: Ic702db61e5bf4272e18f09d127405033277e5943
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-03-22 10:09:22 -04:00
Jan Holesovsky
b6fb89c181 Revert "Action_Paste postMessage to work around the pasting mechanism."
This was not necessary in the end; and a bad idea in general probably,
so given that has never appeared in a release yet, let's revert it.

This reverts commit 5999a5b7cc.

Signed-off-by: Jan Holesovsky <kendy@collabora.com>
Change-Id: I5ee98ea85324f584db7de702a8d98ff9a6780027
2021-03-22 13:30:51 +01:00
Rash419
92f6f1ef85 loleaflet:prevent changing focus in sheet rename dialog when double click
Signed-off-by: Rash419 <rasheshpadia419@gmail.com>
Change-Id: I83b24045aa88eb0cc61ece1ca76fc0d677eb6a38
2021-03-22 17:28:10 +05:30
Tor Lillqvist
7f8eabdaaa Avoid duplicate events when ending tab stop drag in the iOS app
We don't need to have both a panend event (as generated by Hammer.js)
and a mouseup event cause the _endTabstopDrag function to be called
when ending a touch drag of a tabstop, especially as for the mouseup
event the result was that the tabstop jumped oddly from where you have
dragged it.

Also other simplifications of events used in the iOS app case. Likely
even further simplifications would be possible.

This does not perhaps fix what
https://github.com/CollaboraOnline/online/issues/732 specifically
mentions, but at least for me it makes moving tabstops in the iOS app
work much more reliably.

Change-Id: I14ff5baeb775f0017368c0c53300df39ab0ab6e6
Signed-off-by: Tor Lillqvist <tml@collabora.com>
2021-03-22 10:28:51 +02:00
Szymon Kłos
75237836a0 ie11: fix pasting in vex and other ui inputs
it was not possible to paste or copy to/from
the insert hyperlink dialog or search field.
Fixes this problem also in other browsers

Change-Id: Id4cef6681a53e451eeb1f7d9e6d3b9c26b49d66f
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
2021-03-22 09:27:06 +01:00
Dennis Francis
4f4de1258c we already update cursor on doclayer's zoomend callback
Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Change-Id: Ic23d772efa1beac31a920257ef08e597fdc668d4
(cherry picked from commit 9ff97f11b1682ff125870f89b6874fefaf1fc6f2)
2021-03-22 11:30:38 +05:30
Dennis Francis
8344165604 fix misleading name : isVisible() -> isDomAttached()
... and avoid functionality breakage.
This is important as we now need a real 'isVisible' state encoded as
private member 'visible' and this cannot no more be reused as "is cursor
DOM attached?"

So maintain another state variable 'domAttached' and introduce and use
its getter for all previous isVisible() calls.

Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Change-Id: Ic952611c9bdc138414bd3361e3e166122b2842b8
(cherry picked from commit fd92f4f802744ccb22e3cb98f2e7409bf4970561)
2021-03-22 11:30:38 +05:30
Dennis Francis
5fd706cb80 fix: part of cursor shows up outside view area
Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Change-Id: I8b2676b3b576609dce4f6edcb891f5ba85eeac97
(cherry picked from commit e92c7cf925ee4bcbf07dd355899722b51c3f0779)
2021-03-22 11:30:38 +05:30
Dennis Francis
bc4949dde8 fix: Other user's caret indicator shown even if it should be off-screen
Fix description:

Update the 'visible' flag if cursor has gone out of view. Also Sync the
visibility of the cursor with its header.

Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Change-Id: If71736d1b042be12474dc4162a8a2db0d30613b7
(cherry picked from commit ce9f750a05bf3fdcf7771e72400dd57168eb5fb9)
2021-03-22 11:30:38 +05:30
Dennis Francis
0247bd4948 fix: don't crash if view message don't exist
Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Change-Id: I409c6e63aed864d30a802fb64a352352b172a12a
(cherry picked from commit 17bc92f8210c80660582aba1b014ba3bdb6fc110)
2021-03-22 11:30:38 +05:30
Dennis Francis
beca044440 fix crash when user with selection leaves
Fix description:

Only try to update the view selection drawing if map still has a record
for that view.

Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Change-Id: I59c389f9034c4481ea1cc4d07bf46b36e52db40d
(cherry picked from commit 1f482119062a9bfc9fb865c6faa59033126d5cea)
2021-03-22 11:30:38 +05:30
Dennis Francis
8939abf3a3 fix: cell selector of another user not always shown
Problem description:

* Open a spreadsheet, then switch to another sheet,
* Open the same spreadsheet with another view (view B),
* Wtih view B, switch to the other sheet where view A is, and click on a
  different cell.
* View A's cell selector should be shown on the cell view B clicked away
  from in the last step, but it isn't.

Fix description:

The "view" messages (view-cursor and view-selections at least) need to
be replayed after a sheet switch to update(add or remove in this case)
the overlays.  Also make sure when view cell cursors are removed from
overlay renderer, they are removed from the doc-layer cache too.

This also restores d11bea88f862eddb1e9ecf65dbaf0fd23fa89881 to let
joining user's cursor be visible on already existing views.

Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Change-Id: Ib97cf1ef7014d0cecb444823c9ff0abc6b2c8f3a
(cherry picked from commit 1dad869e7748addb82736d553434508a3fcb7f6c)
2021-03-22 11:30:38 +05:30
Szymon Kłos
0ebca74c45 Fix document container sizing problems
this will position correctly canvas espacially with groups
in Calc both on desktop and tablets. Simplify the code.
Also fix incorrect size of the canvas on tablets:
if we update 'left' property of the container, recalculate size

Change-Id: I9000839370ff8bc136094517b80bdf350a0db467
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
2021-03-19 16:48:33 +01:00
Szymon Kłos
db6d3b68ae Send init uno command always on load
Before it was sent for mobile and tablet only after
entering the edit mode what caused to not showing
the rows/cols in calc on tablet in readonly mode

Change-Id: Iefbdbe66c543faa56228a6ec8eed4b84fe417c4a
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
2021-03-19 16:48:33 +01:00
Szymon Kłos
01c72e6e45 Avoid null usage
- when in readonly mode on tablet

Change-Id: I38e6d08e5463c18719bed0df15b414490b295ae5
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
2021-03-19 16:48:33 +01:00
Szymon Kłos
fd3180e013 ie11: position correctly tunelled child windows
position: fixed in IE11 doesn't work as in other browsers
so calculate absolute position instead of relative

Change-Id: I1ed07a26ba924273e527694e7d982f3814752400
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
2021-03-19 16:42:36 +01:00
Szymon Kłos
9f04584ee3 ie11: can't use css vars
IE11 doesn't support custom css vars so we values
were not read. use standard properties instead.

Change-Id: I3d1ccd74cc54a048e30431d162b5b80a49b5e06f
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
2021-03-19 16:42:36 +01:00
Szymon Kłos
c77e59d992 ie11: Number contants polyfill
Change-Id: I4802eb1c4875a9aa169017f0f3154dc3603fbf15
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
2021-03-19 16:42:36 +01:00
Szymon Kłos
e1bdd0aa0a ie11: jsdialog: icon view without flex support
Change-Id: I6c646749e71ac9b6c8e771de200a5e9cd8fca3ff
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
2021-03-19 16:42:36 +01:00
Szymon Kłos
c06ddc33dc ie11: do not use Array.includes
IE11 doesn't support Array.includes but we can't add
polyfill to the prototype because then we will break
all code which iterates over arrays (it will iterate
also over added method...) so add member function here

Change-Id: I122204b3621a76f5678088e3fda6f44de611f5a4
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
2021-03-19 16:42:36 +01:00
Szymon Kłos
cd3e52d81c ie11: check reference before usage
Change-Id: I50e50bf9cf8d0296956af6d237b502cc7869c251
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
2021-03-19 16:42:36 +01:00
Szymon Kłos
d925d9aed7 ie11: Element.remove polyfill
Change-Id: I8bf6ad2a1560e7b476ca8860c1d3dd9338944e27
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
2021-03-19 16:42:36 +01:00
Szymon Kłos
3438f016a9 mobile-wizard: add id for dialogs
Change-Id: I78d45d120e80d469ba388ab19fe6c70339b1d051
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
2021-03-19 16:42:36 +01:00
Rash419
f166270801 loleaflet:changed cursor in row/column header and four-arrow icon in table impress
Signed-off-by: Rash419 <rasheshpadia419@gmail.com>
Change-Id: Iab2e4d6fc7012fb7e68782ac49f2b81dc2476970
2021-03-19 21:01:09 +05:30
Szymon Kłos
3d44cd236e Update chart overlay coordinates on activation
The new message contains coordinates so apply them
before creating the grey overlay.

Change-Id: I3593ce6a9ae9a1bb95962ecf9127f5055f3e8beb
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
2021-03-19 15:20:44 +01:00
Gökay Şatır
124b182d11 Touch: Increase swipe speed.
Signed-off-by: Gökay Şatır <gokay.satir@collabora.com>
Change-Id: I810af6c8950f9974dd4799fd4517917e12d8642c
2021-03-19 17:01:29 +03:00
Tor Lillqvist
3e5f1d9537 Don't let the TemplateCollectionViewController be dismissed
A quick workaround for https://github.com/CollaboraOnline/online/issues/1433 .

Change-Id: I8d77df9858170cfa0cc9a4921e84cdb365aed1cf
Signed-off-by: Tor Lillqvist <tml@collabora.com>
2021-03-19 11:52:11 +02:00
Gökay Şatır
818309886e LokDialog: JS error fixed.
Signed-off-by: Gökay Şatır <gokay.satir@collabora.com>
Change-Id: Ic4933a4afe7d991054811f16ce0df25f90b9d3c7
2021-03-18 21:20:41 +03:00
Tor Lillqvist
97c77a25c2 Make the help file work properly in the mobile apps
We cannot use jQuery.get (a.k.a. $.get) in the mobile apps as that
uses some XMLHttpRequest thing that obviously won't work when there is
no web server involved, but loleaflet.html has been loaded from a
file: URL. Simply store the help file into a global variable and use
that instead.

A small refactoring of the showHelp function was needed to factor out
the call of vex.open into a separate function. That is called directly
from showHelp in the mobile app case. Otherwise, it is called from a
short function passed to $.get, as before.

Note that in the mobile apps we cannot use window.open (which in the
mobile apps has been redefined to send a "HYPERLINK <url>" message to
the native app code) to open the help file, because the HYPERLINK
message is for opening a web page in a browser, completely separately
from the app. It is used to display the commit log for the Help>About
functionality.

And anyway, the old idea (that didn't work) to take a shortcut in the
mobile app case and just display the help file in showHelp will not
work anyway as we need the code that edits the contents before it is
displayed, and handles the close button in the help file.

This fixes https://github.com/CollaboraOnline/online/issues/400
This fixes https://github.com/CollaboraOnline/online/issues/401

Change-Id: I16dc960f26af7e6e89663c3ac0523ce5c3d41c34
Signed-off-by: Tor Lillqvist <tml@collabora.com>
2021-03-18 19:37:34 +02:00
Gökay Şatır
3f04cd8183 CanvasTileLayer: Update cursor position.
When on mobile, if user clicks somewhere near to bottom of the screen,
virtual keyboard opens.

When virtual keyboard opens, "_onUpdateCursor" function is called.
Then onResize function is called.
Since onResize is called last, document thinks that user can still see the
cursor. In this case, we call _onUpdateCursor function one more time,
for scrolling the document if needed.

Signed-off-by: Gökay Şatır <gokay.satir@collabora.com>
Change-Id: I47690defa21c7469c7dabe11a5021b26d696a426
2021-03-18 19:54:45 +03:00
Gökay Şatır
883e6d80da CanvasSectionContainer: A little fix for onTouchMove event.
Signed-off-by: Gökay Şatır <gokay.satir@collabora.com>
Change-Id: I42cf2f0ea7f3388d3df751e73abecb2ef35dae99
2021-03-18 19:54:45 +03:00
Pranam Lashkari
a276791ddd comment wizard: fixed unintentional comment wizard opening
other users comment activity would open comment wizard in every mobile view

Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: I33ad7080c3a068ad99fdd485d9abe05ac7a3beb0
2021-03-18 19:47:49 +05:30
Andras Timar
308d49f2ba Revert "config: add "Macro Security" default value"
This reverts commit 3ce3108a5fbddb4e3e5cdcbd519e8044882d52fc.
Reason: We added macro config settings to loolwsd.xml

Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I8e63b6841b922e899df53d7756d70611d030fa37
2021-03-18 15:06:47 +01:00
Andras Timar
34ce7a1045 compat level 10 by default restarts service after upgrade -- this is what we want for minimal downtime
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I4302e3619a254b9437eee613c45fa860581407bf
2021-03-18 15:06:34 +01:00
Dennis Francis
09c30c0cac fix: undo + sheet switch breaks cursors
Fix description:
Doing an undo causes core to do switch sheets if last change was in some
other sheet. But core sends status message with changed sheet number, so
ask for sheetGeometryData for this selected sheet if the sheetGeometry
we have is not for that sheet.

Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Change-Id: I6870bed86e0ffa234d659b8853a9ef9a33e02bc5
2021-03-18 18:00:45 +05:30
Pranam Lashkari
75e9889789 comment wizard: fixed permissions for comment insertion
comment wizard allowed comment insertion and modification,
in readonly mode too

Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: I72e6c7d5077433c2eec283e9bc05493fdb8abefe
2021-03-18 11:33:50 +01:00
Pedro Silva
ded06148a1 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (371 of 371 strings)

Translated using Weblate (Portuguese)

Currently translated at 95.1% (353 of 371 strings)

Co-authored-by: Pedro Silva <pedro.silva@collabora.com>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/pt/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/pt_BR/
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: Ic49a467d648ff65ffdd37b52b78df7f856983685
2021-03-18 10:51:46 +01:00
Cor Nouws
e2c1273b53 Translated using Weblate (Dutch)
Currently translated at 100.0% (371 of 371 strings)

Co-authored-by: Cor Nouws <cno@nouenoff.nl>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/nl/
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I73e0fae95b74054f91b60a859a5a575fe46b3dc7
2021-03-18 10:51:46 +01:00
William Gathoye
829b6c46d4 Translated using Weblate (French)
Currently translated at 100.0% (420 of 420 strings)

Translated using Weblate (French)

Currently translated at 100.0% (371 of 371 strings)

Co-authored-by: William Gathoye <william+weblate@gathoye.be>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/help/fr/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/fr/
Translation: Collabora Online/Help
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I4c5672d868dc43791b946a9172603bacc9c09153
2021-03-18 10:51:46 +01:00
Eloy Crespo
bbc374a753 Translated using Weblate (Spanish)
Currently translated at 100.0% (107 of 107 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (420 of 420 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (371 of 371 strings)

Co-authored-by: Eloy Crespo <eloy.crespo@collabora.com>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/android-app/es/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/help/es/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/es/
Translation: Collabora Online/Android app
Translation: Collabora Online/Help
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: If0187f6a92faee517bd3966faf1ab8930bde50fa
2021-03-18 10:51:46 +01:00