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>
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>
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>
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
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>
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>
Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Change-Id: Ic23d772efa1beac31a920257ef08e597fdc668d4
(cherry picked from commit 9ff97f11b1682ff125870f89b6874fefaf1fc6f2)
... 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)
Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Change-Id: I8b2676b3b576609dce4f6edcb891f5ba85eeac97
(cherry picked from commit e92c7cf925ee4bcbf07dd355899722b51c3f0779)
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)
Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Change-Id: I409c6e63aed864d30a802fb64a352352b172a12a
(cherry picked from commit 17bc92f8210c80660582aba1b014ba3bdb6fc110)
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)
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)
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>
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>
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>
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>
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>
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>
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>
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
other users comment activity would open comment wizard in every mobile view
Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: I33ad7080c3a068ad99fdd485d9abe05ac7a3beb0
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
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
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