Commit graph

19174 commits

Author SHA1 Message Date
Ashod Nakashian
c652757724 wsd: test: return the correct type from hooks multi
Change-Id: I057c90e9b4d5f749ff0dda74a5aa20f3afc3b24f
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-11-21 08:45:17 -05:00
Michael Meeks
8ebdde2cb8 zstd: tune for speed, and compress deltas.
Small deltas were not compressed at all, now they are.

Change-Id: I0543a488723816b4140b27c5690f657aea26226e
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
2022-11-21 11:53:59 +01:00
Pedro Pinto Silva
3f2e70dd09 Enable read-only status label for tablets
So tablet user is able to check what is the current edit mode
by looking at the status bar

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I4990ca748762eb100b0ca9e791b4ae2a0843f2f6
2022-11-21 10:22:37 +01:00
Ashod Nakashian
145f490e76 wsd: when loading fails exit Kit
In rare cases when we have a corrupted document, or
we run out of memory while loading, we end up with
a Kit that has no document and would not be reused.

If we exit the Kit, we immediately cleanup DocBroker
on the WSD side and allow for retrying.

Change-Id: I3e811a066365e94f0606b9458be1272607cc45cf
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-11-20 07:50:12 -05:00
Ashod Nakashian
432424c2c2 wsd: log save failures more visibly
Change-Id: If32b27ece8bfbdc89f600f85c9ac1af5c449135b
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-11-20 07:50:12 -05:00
Ashod Nakashian
261031c2ef wsd: reuse local variable
Change-Id: I621db21e4065e333e77453cecf174d04963c769e
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-11-20 07:50:12 -05:00
Ashod Nakashian
ac52505640 wsd: getServerURL is debug/test only
Change-Id: Ic4c2fe3b467fee475cdc7c0b91b1df77f441c0aa
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-11-20 07:50:12 -05:00
Ashod Nakashian
5542a6a253 wsd: correctly set the Content-Type
Change-Id: I4f121cb15e97dec0f366a9aaab4e8e5cc80df611
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-11-20 07:50:12 -05:00
Ashod Nakashian
f3b42a9941 wsd: log more info on exception in WebSocketHandler
Change-Id: I73e5a0eb17b9a059aaad2e78c64242e3ed28a8c4
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-11-20 07:50:12 -05:00
Ashod Nakashian
d3ab5adfcd wsd: kill poco
Change-Id: I694ad44539f87b0d7127ee64e71768bf408447ec
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-11-20 07:50:12 -05:00
Ashod Nakashian
c8aaa2e3c8 wsd: notify the client when the doc URI is invalid
Change-Id: I39a4c8d3dd9ca2899a9a8eacdb865a7121b75d3e
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-11-20 07:50:12 -05:00
Ashod Nakashian
3f926b488b wsd: detect json arrays in messages
So far, we assumed only json objects are
used, but that's only because we didn't
have arrays. This adds support for detecting
both json arrays and objects alike.

Change-Id: If91bf092ab95869298e90e4f071505471ab1db19
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-11-20 07:50:12 -05:00
Andras Timar
c037f53b4b Update l10n files for Weblate
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I56a9e4d7b08dbacec05e33f9be89a1943a91391a
2022-11-18 14:53:54 +01:00
Translator-3000
8cd2b7bc82 Translated using Weblate (Italian)
Currently translated at 100.0% (462 of 462 strings)

Co-authored-by: Translator-3000 <weblate.m1d0h@8shield.net>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/it/
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I2cd8abdf79e2e8efdb4e815a30a80f1e479fcbe3
2022-11-18 14:46:37 +01:00
Giacomo Bertolotti
eb2752d713 Translated using Weblate (Italian)
Currently translated at 99.5% (460 of 462 strings)

Co-authored-by: Giacomo Bertolotti <giacomo.chappo@hotmail.it>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/it/
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: Ic5955ce6453f151bb68b9e30d532ed50751d4377
2022-11-18 14:46:37 +01:00
Alex Gabilondo
79bdcd46be Translated using Weblate (Basque)
Currently translated at 100.0% (462 of 462 strings)

Co-authored-by: Alex Gabilondo <alexgabi@disroot.org>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/eu/
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: If1306b1a2b78edbe1cb126807c651ee3d0a9083a
2022-11-18 14:46:36 +01:00
이정희
d0e9e2a82a Translated using Weblate (Korean)
Currently translated at 100.0% (110 of 110 strings)

Co-authored-by: 이정희 <daemul72@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/android-app/ko/
Translation: Collabora Online/Android app
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I9265c95b72c0d0b435e9189c8ccdc3caba52155e
2022-11-18 14:46:36 +01:00
Luna Jernberg
76e732c044 Translated using Weblate (Swedish)
Currently translated at 100.0% (462 of 462 strings)

Co-authored-by: Luna Jernberg <droidbittin@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/sv/
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I1694f94a401773d395a249477fe3e4331755dc71
2022-11-18 14:46:36 +01:00
Szymon Kłos
e48a2ab2bd Deduplicate code in calc function list for mobile
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I775a01a42dec8780fe149d079667c41c7602bf89
2022-11-17 20:20:42 +01:00
Szymon Kłos
3a0d34d5c5 Fix display of functions help in calc on mobile
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Id42439405752e6f72876469f67fd61450e2cc2d7
2022-11-17 20:20:42 +01:00
Rash419
937d471d1f wsd: fix: wopi.host not working when alias_groups are not defined
regression from commit 3aa3334a7b

Signed-off-by: Rash419 <rashesh.padia@collabora.com>
Change-Id: I601ea3bde0419129e39c1a1454c22c676d4870bd
2022-11-17 13:51:00 +01:00
Szymon Kłos
dffaeb228b masterpage: correclty refresh after switching mode
Mode is sent via status message so handle it there to avoid
race

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Iaa9c23d4c88950d88701d8adf552d606871902d8
2022-11-17 11:42:24 +01:00
Szymon Kłos
cfb6fbd150 sidebar: don't send null command
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Id790bdddfb5263fe23b7ca9e9264a20041228dfa
2022-11-17 11:42:24 +01:00
Szymon Kłos
0c63531319 masterpage: remove old hack for invalidation
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Ic2ad091f522e93e669ec021361ef8779cbab55d5
2022-11-17 11:42:24 +01:00
Szymon Kłos
01530c32d5 masterpage: use mode for tile rendering
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I0180e051237043f391ba01128ccfb00fe54cb539
2022-11-17 11:42:24 +01:00
Miklos Vajna
bbb8d98ae9 admin: drop conditional that is now redundant with clamping
Follow-up to
<https://github.com/CollaboraOnline/online/pull/5421#pullrequestreview-1179138409>.

Signed-off-by: Miklos Vajna <vmiklos@collabora.com>
Change-Id: Ie293218e504808d317436181639d9189eb6fb05c
2022-11-17 08:21:12 +01:00
Pedro Pinto Silva
7f8efc7c51 GitPod: Fix No package 'libzstd' found
Fixes issue #5465

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I5139fb4491cc1c6a29bfdf3ef3e0b2b7cb9c890c
2022-11-17 07:39:39 +01:00
Gökay Şatır
192e12a864 Merge permission sources into one. Use global variable for file permission.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: I19b6c0e95ccc3249219c88224b8c183992cd3b6d
2022-11-16 15:58:14 +03:00
Gökay Şatır
fa14b9aecf Remove unusued function.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: Ie21e4164c268d5dfac78e588630f8d30682e591d
2022-11-16 15:58:14 +03:00
Aron Budea
12f8fb200f Code cleanup around print dialog vs. directly opening PDF
Remove the comment mentioning the pdf.js issue,
which has been fixed since FF 87:
https://github.com/mozilla/pdf.js/issues/5397

Also remove the Edge and IE cases:
- Edge identifies itself as Chrome, and supports print dialog,
- IE is not supported anymore.

Follow-up to 403e9739cf.

Signed-off-by: Aron Budea <aron.budea@collabora.com>
Change-Id: I7747ee27fccc52b90212ade2a2665dcbd8aa97d4
2022-11-16 11:35:15 +01:00
Pedro Pinto Silva
e3d3e1ffa0 Hide insert menu item when in readonly mode
except if we are in presence of PDF
- Insert is needed there (insert > comment)

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I604c5fd483862852bc41396e9780d06a6fdb08d8
2022-11-16 10:23:30 +01:00
Szymon Kłos
e679f48acd Fix path in android README
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I9dd68d48fc8679085d6c4b7a7cc9f7e05dc1ccbb
2022-11-15 15:57:48 +01:00
Rash419
95f555b468 mention: send a postMessage to integrator when username is selected in mention popup
Signed-off-by: Rash419 <rashesh.padia@collabora.com>
Change-Id: I2ad604e069b224f2642666b10d916d07f540f43d
2022-11-15 14:04:46 +01:00
Ashod Nakashian
956f37c7a7 wsd: test: merge the results of all tests
Since we can have multiple tests in a single
unit-test .so, we need to merge the results
of each test into a single result that is
used when we exit the process and flag for
failure or success.

Change-Id: Ia49f5542efd6dd998b61c17965fd3fe3245159ba
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-11-15 07:04:58 -05:00
Ashod Nakashian
a4dbd25d4e wsd: test: rename setHandle to initialize
Since we no longer need to set the handle,
this function is an initialization of the
given test, before running it.

Change-Id: Ia6fb16b06dd548977fcfcc35a81ac37d979be29d
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-11-15 07:04:58 -05:00
Ashod Nakashian
370f60a8ed wsd: test: support multitests
This adds support for multiple tests
within a single unit-test .so.

We did have many, many tests within
the converted "old style" tests already.
Except, they couldn't support the proper
event-driven tests, nor were they running
as fast as possible. They also blocked the
main thread in COOLWSD.

With this support, we can now avoid
creating a new .so for each test case.
This will reduce the effort to add new
tests and the build time. In addition,
the execution of each unit-test is
dominated by the initialization, which
takes in the order of 5 seconds. Running
multiple tests after this high load time
reduces the per-test average time.

Later we will support listing tests,
running particular tests (i.e. filtering)
and other debugging and troubleshooting
facilities.

Change-Id: I7be43994265ebabdb5d379f7726bb9bd7f78795a
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-11-15 07:04:58 -05:00
Ashod Nakashian
cc222a708c wsd: test: make dlhandle static and properly cleanup
We now properly cleanup unit-tests .so libs.

This helps having multiple tests by making
the dlhandle an independent variable of
all the tests.

Change-Id: Ifc8db400aebfe8ea41dcc4df2d11856c25b36074
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-11-15 07:04:58 -05:00
Ashod Nakashian
0b2afe2bfd wsd: test: use a global array to support multiple tests
This adds support to having multiple tests in
a single unit-test .so.

Change-Id: I37526484e8a692b25393f659dedd846eedc22733
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-11-15 07:04:58 -05:00
Ashod Nakashian
376a4cff02 wsd: test: improvements to UnitWSDClient
Documentation and several minor
improvements to UnitWSDClient.

Change-Id: Ia7dae5a3bbd7c1392cb044bd33d59dc108ce37c4
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-11-15 07:04:58 -05:00
Andras Timar
8410e29eb9 Hide MediaPlaybackPanel on sidebar
It does not work in Online.
Video playback controls are implemented by the browser.

Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: Ib1aa2bb3d8820afb375a6a2c1a71d022a4dc119e
2022-11-15 11:18:19 +01:00
Pranam Lashkari
c3ac1ef0b7 annotation: fine tune the comment permission in mobile
Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: I6ec564d2524a9cc8735179fc282eaf8deb81a74b
2022-11-15 09:33:51 +03:00
Pranam Lashkari
8a04942023 segregate edit/read only permissions better
Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: I85861352929d150aaf93da5570bda960b1ad46f0
2022-11-15 09:17:19 +03:00
Ashod Nakashian
83a7797967 wsd: log edit and comment ext in discovery.xml
It's useful to know which extensions are editable
and which are commentable when loading discovery.xml.

Change-Id: Icb06a62eba14240e1d86c4b3cd641531c4fa8e37
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-11-14 18:16:02 -05:00
Ashod Nakashian
c4346a62eb wsd: log the session in question
It's not very helpful to log that some
session is set to this or that without
knowing *which* session the log refers
to. There are many sessions and in a
busy log, it's not always possible to
confidently figure out the answer.

Also log the document loading time and
saving timeout at debug level.

Change-Id: I81fe5e4460f0610a5b941209bc51e4657025c4c2
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-11-14 18:16:02 -05:00
Ashod Nakashian
a56721f9cf wsd: remove default parameters in Session
And make arguments explicit for a setReadOnly
and setAllowChangeComment.

Default parameters are useful for backward
compatibility, when changing an API. But
they provide no benefit when the function
in question is new and is called a couple
times anyway. Code is harder to read with
default parameters because one has to
either guess (bad) or check (wasteful).

Change-Id: I105df928f4fb73e7c341218af11903bf1ee33943
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-11-14 18:16:02 -05:00
Ashod Nakashian
5892bcba1e wsd: test: refactor client connection management
The client connection management had nothing to
do with the WopiTestServer and it was there
for convenience. The issue was that it was
not available to tests that do not need
the custom WopiTestServer and depending
on it would make them unnecessarily
complicated.

This adds a new intermediary class to manage
client connections in tests. The reason
this logic didn't move to UnitWSD or even
UnitBase is simply because the client
connection logic depends on the helpers
namespace and other test-specific code
that isn't available in COOLWSD. In short,
UnitBase and UnitWSD are primarily an
interface that COOLWSD and co depend on
and cannot contain test-specific logic
that isn't linked to coolwsd.

We also move the UnitWebSocket helper class.

Change-Id: I79567774164e137349dc162482529578f150353c
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-11-14 18:15:39 -05:00
Ashod Nakashian
c25e795bad wsd: test: simplify UnitTimeout
Since we can flag a test as passed
at any point, we don't need to
use a flag and override existing
functionality.

Change-Id: I459ef0345b32233414a8fd2573ef26ecc65b92db
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-11-14 18:15:39 -05:00
Ashod Nakashian
6b3566c4ff wsd: test: header and forward declaration cleanup
Change-Id: I3161c61695a2c1daa505e8276899e0a2d6d26d18
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-11-14 18:15:39 -05:00
Ashod Nakashian
59216fa21c wsd: test: fix UnitWOPILock once and for all
This fixes a race in UnitWOPILock and the
fact that the second view wasn't really
read-only due to empty extensions being
commentable, by default.

Also, improve UnitWOPIUnlock.

Change-Id: I628852d3474042c9e7f54c3d6780e06f694ce141
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-11-14 08:39:10 -05:00
Miklos Vajna
3bf487c540 android: don't link against PocoRedis
This was added in commit 4f03f09c53
(android: Gradle project and other stuff to build., 2019-02-12), but
Online doesn't need it, probably was a copy&paste mistake that went
unnoticed till today Michael S mentioned it on IRC.

Signed-off-by: Miklos Vajna <vmiklos@collabora.com>
Change-Id: Icb60cacfb9469a674db3f0f7a359ccdf01132558
2022-11-14 09:21:53 +01:00