Commit graph

20186 commits

Author SHA1 Message Date
Paris Oplopoios
ab176b13a8 Move canonicalId creation to the Kit
Signed-off-by: Paris Oplopoios <paris.oplopoios@collabora.com>
Change-Id: I943bfa0436487e517b25d3fce19157ebd576604f
2023-03-17 17:34:05 +00:00
Paris Oplopoios
d26c425dae Move _canonicalViewId out of Session
Signed-off-by: Paris Oplopoios <paris.oplopoios@collabora.com>
Change-Id: I9c06440ed47eb217e973d2f530f2c3646d55d85b
2023-03-17 17:34:05 +00:00
Rash419
5dba72a341 fix: mention cannot be inserted
- forcefully send unocommand when jsdialog popup is still open
- fix navigation using ArrowKeys in treeview
- fix console error ev.data is null

Signed-off-by: Rash419 <rashesh.padia@collabora.com>
Change-Id: I6dd75b8b576754513574749e1bd9675581caeabf
2023-03-17 19:13:02 +05:30
Bayram Çiçek
1a269be3ac use getrandom() instead of /dev/[u]random
- instead of using /dev/[u]random devices, use
getrandom() and/or getentropy() to make direct
system calls if sys/random.h is available.

- if getrandom() fails, we need to fall back
to "/dev/[u]random" approach.

Signed-off-by: Bayram Çiçek <bayram.cicek@libreoffice.org>
Change-Id: Ied37d72feabf005725b615b02854912809236bbc
2023-03-17 08:38:21 -04:00
Patrick Luby
0edea869a7 Fix GitHub issue #5839 and never disable Paste toolbar button
Behave the same as Contol.Menubar and never disable Paste toolbar
button. Native clients that run LibreOffice locally may send a
"statechanged: .uno:Paste=disabled" message when opening a document
if the system clipboard is empty, So, we ignore such messages or else
the current document's Paste toolbar button will never be enabled.

Signed-off-by: Patrick Luby <patrick.luby@collabora.com>
Change-Id: Ied2aaa49f1a9defe30541af49f4becda35df568b
2023-03-16 10:26:19 +01:00
Szymon Kłos
c3fb54505b jsdialog: add class to all menubuttons
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I35008b79b25dbc071f68778611988d77c517bccc
2023-03-16 09:25:06 +01:00
Szymon Kłos
ea191a1120 jsdialog: menubutton imports menu
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Ifd37af977c9831ec81860bb8092c2e29d0e910f5
2023-03-16 09:25:06 +01:00
Szymon Kłos
0e385ef2ec jsdialog: move menubutton to separate file
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Ifd314f884e7a96b76a74dcc19922746938e885b5
2023-03-16 09:25:06 +01:00
Szymon Kłos
d6f513ae1d jsdialog: handle key events in drawing area
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I9ecd4b734dfb3c3bb7698bf019836b142e57f8ae
2023-03-16 09:25:06 +01:00
Szymon Kłos
4139e46756 jsdialog: don't scroll arrows inside scrolledwindow
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I157f92f094e11368922400ac92bfb86e791f2a6a
2023-03-16 09:25:06 +01:00
Szymon Kłos
28ad836c3e jsdialog: keep correct structure in grid
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Ie94831827c3829d202013864980e31e181722a7c
2023-03-16 09:25:06 +01:00
Szymon Kłos
6e2ef04e78 jsdialog: build menubuttons with only image
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I6754545dac87a0860f07b4d47796bdb2eb25994e
2023-03-16 09:25:06 +01:00
Szymon Kłos
207d07cb1a jsdialog: double click for drawing area
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I89d12d9524636e2af3798871f3a140223604f83d
2023-03-16 09:25:06 +01:00
Szymon Kłos
dae1f7438a jsdialog: move Drawing Area to separate file
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Id659d7e2fc9b50d43d66fb48d78c1f1dede4b23f
2023-03-16 09:25:06 +01:00
Gökay Şatır
c718a8f042 remove lonely "close all" calls for vex.
Replace closeAll calls with uimanager.closeAll. It works for also mobile view.

Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: Ieaf11fc8f68390f789c18a29813a171d51c13a88
2023-03-15 18:34:36 +03:00
Szymon Kłos
ad86b08c93 jsdialog: handle scrolled window properties
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Id278ff25bb5a87b26ff4e45fca8d972140d16c38
2023-03-15 10:46:44 +01:00
Patrick Luby
7dd1e505e6 Fix issue #5841 welcome, feedback, and buy product URLs are empty on mobile
Mobile apps don't substitute these values so set them to zero length
strings.

Also, the iOS app sets the base text direction via the "dir" parameter
so add handling of that parameter in cool.html. TODO: check if the
Android and GTK apps need to implement the "dir" parameter to handle
RTL layout.

Signed-off-by: Patrick Luby <patrick.luby@collabora.com>
Change-Id: Ied8268ec256011281961ef610d53baeee0efe9cd
2023-03-15 09:29:56 +01:00
Patrick Luby
17f739ca77 Fix issue #5887 by assuming that documents are writable on iOS
The iOS app saves directly to local disk so, other than for
"view file extension" document types or other cases that
I am missing, we can assume the document is writable until
a write failure occurs.

Signed-off-by: Patrick Luby <patrick.luby@collabora.com>
Change-Id: Iacb1589eded18f0cb21a5dd8e4d91d295ae697fe
2023-03-15 09:29:56 +01:00
Andras Timar
48a1101970 add common/LangUtil.hpp to distribution
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: Ic7ad5f7a75cab91d7f34d1455737a8838564c502
2023-03-14 23:37:19 +01:00
Patrick Luby
54ad0f173b Another fix for issue #5843
Limit escaping of non-ASCII text and splitting on the first newline to
only certain message types on iOS.

Also, fix mangled UTF-8 text on iOS in jsdialogs when using languages
like Greek and Japanese by only setting the image bytes for only the
same set of message types.

Signed-off-by: Patrick Luby <patrick.luby@collabora.com>
Change-Id: I9cd088509ba9724108da3c9457cd3d098b45723f
2023-03-14 21:55:12 +01:00
Andras Timar
98ae6ac269 disable fragile TileCacheTests::testTileProcessed()
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I791b24b59a22f87006a334332e7b8661615ac21d
2023-03-14 21:17:13 +01:00
Ashod Nakashian
f91a7dd772 wsd: reduce minimum time between requests
Previously we waited at least as long as
it took to process the last request before
issuing a new one. This can be unnecessarily
long, especially when unloading. Now we half
that time.

We should consider a more sophisticated logic,
especially during unloading, where it's best
to upload quickly.

Change-Id: Id903b8a064bd8431578221dc9386ab08d46dd2dd
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2023-03-14 20:40:40 +01:00
Ashod Nakashian
a941de6fb7 wsd: mark last upload request time
This corrects the reported upload duration
at the end of uploading.

Change-Id: I9d3af4d3dce5aff0c3526ba009fc0b27150bc070
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2023-03-14 20:40:40 +01:00
Ashod Nakashian
9caa1f9a18 wsd: pass by reference where possible
Change-Id: Ib5501d6b766b982f34b226a20128c89f0ae7d84e
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2023-03-14 20:40:40 +01:00
Ashod Nakashian
e6180f31f3 wsd: remove single-use getWriteableSessionId
Change-Id: I66a77be784aaef61472cd02cb49168813d75548c
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2023-03-14 20:40:40 +01:00
Ashod Nakashian
43515fcbbf wsd: correct config default-value name for rotateOnOpen
'rotationOnOpen' -> 'rotateOnOpen'.

Change-Id: I204e1f1208cbc8089a10472fc52b4c2e83e3eaf5
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2023-03-14 20:40:40 +01:00
Ashod Nakashian
b5de21a0ad wsd: simplify passing mobileAppDocId to getNewChild
It seems more complex to have #ifdef guarded logic
around a function call to pass or not pass an argument
when we that same argument is already defaulted in
that function.

If the difference between the two paths is primarily
the argument, then we can always pass it, making sure
that in the case that defaulting would have been used
that we pass the same default value. This is now done
with assertions.

Change-Id: I333eb3f42cb51dfab8584ae8c5aa52ee45c5a9a1
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2023-03-14 20:40:40 +01:00
Gökay Şatır
3f4ac24bb2 Remove vex from documentconflict message.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: Idd09bb8c376e50c64db4f145f907b7a3e17436d0
2023-03-14 20:51:52 +03:00
Gökay Şatır
08d74ee23e Remove vex from signing.js also remove unusued code.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: Idd297ded47cec0ca32c25d3b75242e21826b32ee
2023-03-14 20:14:10 +03:00
Ashod Nakashian
a532178697 wsd: better logging in autoSaveAndStop
Change-Id: Ied4e5dda4f9dfa7f5175601207dd6a2bbf136ff0
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2023-03-14 15:46:48 +01:00
Ashod Nakashian
197315da3b wsd: correct log of time since last save response
Change-Id: If93768da07904ea683f91a0964780ca6832b52a6
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2023-03-14 15:46:48 +01:00
Ashod Nakashian
af62f75afe wsd: only warn of live sessions on unload
We could still have session instances in the
_sessions container in DocBroker by the time
we destroy it, what counts is that they aren't
live at that point.

We could still have sessions because we may
be waiting for the kit to confirm disconnection.
But if that was the last session, the kit will
instead exit and that would trigger the
destruction as the PrisonerRequestDispatcher
will have to clean up the DocBroker instance,
hence destroying us.

Change-Id: I8ce103d38edc355d09da046e1b875f0e62768adc
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2023-03-14 15:46:48 +01:00
Ashod Nakashian
58566083d5 wsd: do not warn of unassociated Kit after unloading
After unloading a document, the ChildProcess instance
may be destroyed by the time that we process the
internal prisoner connection. In that case, we
can't find the ChildProcess so we assume it was
a premature death and issue a warning.

By tracking whether or not a PrisonerRequestDispatcher
had an associated DocBroker, we can supress warnings.

Change-Id: I8bab882283f27f7d5f724e878aae19837445a2fe
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2023-03-14 15:46:48 +01:00
Ashod Nakashian
cc8769855b wsd: better logging of WOPI::PutFile
Change-Id: I9a422e87cc34ad162b710931d7c329ed85d9edd2
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2023-03-14 15:46:48 +01:00
Ashod Nakashian
b3d5f9f9a3 wsd: logging improvements
Change-Id: Ia9959206f2748adf48dc199d2508b1c6ad38fbe9
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2023-03-14 15:46:48 +01:00
Ashod Nakashian
9596d5a0ab wsd: http: set http::Request log context
Change-Id: Ic8b9c1e7526ebf2f7c69f47f1bd98fdb9fc471ce
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2023-03-14 15:46:48 +01:00
Gökay Şatır
ccdb1cdd8d Remove vex from main.js.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: Ia15f57817a892753b3579eee8f38366f36f44672
2023-03-14 17:40:12 +03:00
Rash419
e93a193ae0 Revert "Remove unnecessary .waits from image tests"
- image test consistently fails without waits in CI

This reverts commit b529c96a48.

Signed-off-by: Rash419 <rashesh.padia@collabora.com>
Change-Id: I66bd85c8fe1ce28ccab8d644a98265145d3de64b
2023-03-14 17:31:57 +05:30
Andras Timar
ec7e460739 GitPod: use core assets of version 23.05
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: Ie9c945211404d11e9fa9c368e113d4e30f53cc4b
2023-03-14 12:04:51 +01:00
Andras Timar
86797465e3 CodeQL C++: use core assets of version 23.05
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I309a36812f931cd51a0b755cee21b8b9d9d87765
2023-03-14 12:04:32 +01:00
Andras Timar
1baf6565d7 Cirrus CI: use core assets of version 23.05
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I0b1fa6bab026c6329d263f28b50259313f86db37
2023-03-14 12:01:38 +01:00
FedericoHeichou
985f284c89 Fix isLocal failing check with IPv4
Signed-off-by: FedericoHeichou <34757141+FedericoHeichou@users.noreply.github.com>
Change-Id: If6fa382102252908dac1fb80199bb332ce400aeb
2023-03-14 10:48:20 +01:00
Gökay Şatır
33fc77c412 Remove vex from password dialog.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: Ibd7364e44d14eaca025037c37d85cb621a2ebec5
2023-03-14 10:35:10 +01:00
Gökay Şatır
c17671b541 Remove vex dialog from saved-as warning.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: Id41c98806bc4763797c9986a60ef39301581da06
2023-03-14 10:32:45 +01:00
Szymon Kłos
824afb669c jsdialog: mobile tab handler in separate file
and don't hide tabs

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Ic78c8c17e1543ff4dc1a0874d13e05f5a7a7426b
2023-03-14 10:31:26 +01:00
Szymon Kłos
243bb8f3f0 cypress: adjust file description to new typing
we send value on every key press now, but core still
sends updates back, after we update core to not notify
us with the same value it can be reverted

this prevents us from having incorrect text when typing long
sentences and receiving updates with delay

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: If87c3f1c83018920dfaa8f3c31f567b25df27c61
2023-03-14 10:31:26 +01:00
Szymon Kłos
3bb07cdd52 jsdialog: set text for textview after every key press
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I0a00b453d903a1b13ae69c7efc37e0e7d2e81913
2023-03-14 10:31:26 +01:00
Szymon Kłos
58e686deb9 jsdialog: send selection for text view
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I3d87a676a1c47ea8fc99ba523ccf960a6cbde90f
2023-03-14 10:31:26 +01:00
Szymon Kłos
1665d6e7bc Move formulabar edit field to separate file
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Ia4d5f1c8547cf329c5f624ad09ac9049bdda62f7
2023-03-14 10:31:26 +01:00
Szymon Kłos
d06f539943 jsdialog: don't warn when unselect all is called
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I1671203ba490fb83aa65baeba86f109325750cdf
2023-03-14 10:31:26 +01:00