Commit graph

19245 commits

Author SHA1 Message Date
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
Gökay Şatır
91984be1a5 Set max width for the "a" element. Hide the overflowing content
Set the height of sibling element to make them align in the row.

Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: I96b7bd761b208a1000b86cb57b68c83e427bc4d4
2022-11-14 10:32:58 +03:00
Pedro Pinto Silva
e0d86b05af Hyperlink popup: Add tooltips to every button
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I98c61b954118f172062ab67a4a4d21faa1d0e5a4
2022-11-14 10:32:58 +03:00
Pedro Pinto Silva
bc13b66b8b Hyperlink popup: bind RemoveHyperlink uno command to button
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I2627d9fdb8fd789ded7f15d70220b5c6bcab1455
2022-11-14 10:32:58 +03:00
user
05ef47842f Hyperlink popup: setup click events
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: If447d3b4d77efb08f6b4547a53f42c7975482c79
2022-11-14 10:32:58 +03:00
Pedro Pinto Silva
13f59efdeb Hyperlink popup: add edit and remove hyperlink buttons
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: Ie5d3027faf7f061aaffe87820dd78b8d0ba20335
2022-11-14 10:32:58 +03:00
Pedro Pinto Silva
324d699849 Hyperlink popup improve look and feel
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I9e50fb8002b3018e5bd93c52dbe8f3ec488b880e
2022-11-14 10:32:58 +03:00
Rash419
3aa3334a7b fix: memory leak with remote config
when eTag header is not passed from remote server it keeps on parsing the new settings without clearing old ones

Signed-off-by: Rash419 <rashesh.padia@collabora.com>
Change-Id: Iaad9fb6c0e7fd45be3e121b0c0bebaba17d90aab
2022-11-13 17:52:31 +01:00
Ashod Nakashian
2ad1b5f83e wsd: unlock the document only after uploading
Since uploading has become asynchronous, it
might not have finished by the time we
unlock the document. This race can result
in the upload to fail, if the document
is no longer locked.

Now, we ensure that the lock is released
only after uploading, when we remove the
session. With test.

Change-Id: Ic9ba3290dfbfde0eb4af7a70bb5b56ff28711f5c
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-11-12 19:42:30 -05:00
Ashod Nakashian
9adacb12e2 wsd: test: move assertLockRequest to WopiTestServer
Also, don't rely on the timing to have only one
(editing) session by the time we disconnect.
Instead, make the second connection read-only
so that disconnecting the first will always
result in unlocking the document.

Change-Id: Ibbe8164b22d44b52e7b89ad2a677cb196904cac3
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-11-12 19:42:30 -05:00
Ashod Nakashian
c4fb6c1964 wsd: test: re-order tests to minimize execution time
Change-Id: I3e7b60962ba7d579328c48f500a062dda32e27be
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-11-12 18:45:35 -05:00
Ashod Nakashian
48c08a40d8 wsd: test: enable tile-tests
Based on the assumption that the new
number of tiles is correct, the assertion
is updated and the tile tests re-enabled.

Change-Id: I9dabe1ea4ec1b091917c4a94c549f967b9539c13
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-11-12 18:45:35 -05:00
Ashod Nakashian
fc3514f74f wsd: test: log multiple exitTest cases with different results
Normally, we should exit a test with a single result:
either a success or a failure. It is, however,
possible to have an early success that forgoes
proper cleanups and cause subsequent failures.

Here, we at least log these cases, because it
could unintentionally hide real failures.

Change-Id: I17e6365bd54b3f7336976fb51437776811733eb8
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-11-12 18:45:35 -05:00
Ashod Nakashian
cd4b8f13aa wsd: log the socket FD used to listen to client connections
Change-Id: I8499c707b0f9eafdd1b4715d38e222d83437aa37
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-11-12 18:45:35 -05:00
Ashod Nakashian
b2aa914b13 wsd: test: reduce the duration of UnitWOPIStuckSave
Change-Id: Idcb4760d879b595eedcf2b92c15113dfe93c3aa4
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-11-12 18:45:35 -05:00
Thomas Lehmann
b2267f6280 wsd: fix malformed img-src field
The generated field is

   img-src 'self' data: https://www.collaboraoffice.com/https://*:* ...;

while a space was expected before the "https://*:*"

This was introduced with

   7e94149ec476445a445ffcd0922d83b1c60c5c64

   wsd: Only add one img-src rule to the CSP header

Signed-off-by: Thomas Lehmann <t.lehmann@strato-rz.de>
Change-Id: Ia900bb2508e7f04b111160001c6602e87eae2023
2022-11-11 19:59:56 +01:00
Pedro Pinto Silva
b0a8379771 Fix send feedback svg
do not use height and width, use viewbox, fix dimensions
to be a square and scale factor

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: Ic468ab8ff5615e2f27c5fadfd3248f57efc6914e
2022-11-11 14:36:31 +01:00
Miklos Vajna
b7f5f94527 wsd: invoke onDocBrokerRemoveSession() before dispose
Signed-off-by: Miklos Vajna <vmiklos@collabora.com>
Change-Id: Id270c57864878bdcea8ca243b955a1d9069629e0
2022-11-11 11:45:24 +01:00
Pedro Pinto Silva
0478aad90e Remove unnecessary CSS for MacroSelector dialog
Also Remove unicode char in MarcoSelector. Better to  avoid
triangles all together since we have cases were the
selected row is a parent and thus having a triangle pointing to
the right makes no sense

Remove other specific rules that are not needed anymore

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: Ia9ad58917f29fc78ae22075672dc837a6a96318e
2022-11-10 11:48:21 +01:00
Gökay Şatır
7bc537bbfb Send row selection text when Function Wizard is open.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: If5176a34cca65ed8280b3a9ba212f6c2c3a7c310
2022-11-10 12:33:07 +03:00
Gökay Şatır
0e36b31294 Send column selection text when Function Wizard is open.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: I09ca97f2f7ec19cd4836f0dbfb8cbf863f3c5f3e
2022-11-10 12:33:07 +03:00
user
f5513da43e cypress: adjust desktop/calc/scrolling_spec.js
Signed-off-by: user <szymon.klos@collabora.com>
Change-Id: I6592908543595b182ca632c871ca8b2f30687800
2022-11-10 12:12:10 +03:00
Szymon Kłos
101daccc5e Don't mix mouse move and auto-scroll-to-point handling
If user moves mouse - reset current auto scroll settings.
So we don't get scheduled events changing current state
and causing movement in the other direction.

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Ic7e59c87ec7b9a2cba327b5ba8e84ca14b8066e0
2022-11-10 12:12:10 +03:00
Szymon Kłos
932543250b Extend scrollbar range when goes outside data
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I9c80d74cab22076ea3fa4f65fa79ff0822a9bfe5
2022-11-10 12:12:10 +03:00
Szymon Kłos
48ec2f5925 Limit scrollbar range to used area in the spreadsheet
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I44ae52809b2f7ea9ac687f2b4c9f10f0592fbfd2
2022-11-10 12:12:10 +03:00
Szymon Kłos
96aa69a2fd Don't process status message two times
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Id1f0f76e8e0624aa322ffb9d8263295b44d73903
2022-11-10 12:12:10 +03:00
Szymon Kłos
eb4743a648 Introduce getDataArea in Calc
It will share information about real size of a data inside
spreadsheet so we can easily check where data ends.

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I67137a4471f7eb4faaeeb680977872ccda8e9411
2022-11-10 12:12:10 +03:00
Tor Lillqvist
b65c82031a RequestDetails::_isMobile is unused
Signed-off-by: Tor Lillqvist <tml@collabora.com>
Change-Id: Ib2a6bb69b09776dbaf48216330f1c260299d9cac
2022-11-09 09:09:55 +01:00
Pedro Pinto Silva
162c7624bd Show not-allowed cursor when user mouseovers disabled items
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: Ie9f02a9d453ca269305f6c7e382d9dacf532dcc0
2022-11-09 08:56:26 +01:00
Rizal Muttaqin
76c47c0922 Signed-off-by: Rizal Muttaqin <riz_17_oke@yahoo.co.id>
Change-Id: Icf386e7deef067c728d0b0d18438d4823918714b
2022-11-08 14:07:45 +01:00