Commit graph

18687 commits

Author SHA1 Message Date
Szymon Kłos
3fe3655c6c formulabar: mobile: reuse TextInput for mobile IME
Fixes typing on Android using GBoard in Chrome
before this patch we didn't get any input due to
lack of keyCode, we need to use 'input' events
which are already handled in TextInput.js

This patch does that only for mobile case, later
we can try to unify it with desktop so we remove
our custom formulabar input even there.

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I318840dee78ddf0f803af74236a6c880c3f09329
2022-07-21 10:23:45 +02:00
Szymon Kłos
bda3a2961d mobile: fix TypeError, missing Intl API
this error was shown on socket disconnect on mobile Chrome in older
phone

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I927880ce1848fd1d48776202679ee14a8858e065
2022-07-21 10:23:45 +02:00
Pedro Pinto Silva
9dfedf0003 Tablet: Fix Save icon floating when in presence of changes
The dot above the save icon was not scrolling together
with its parent:
     - Make sure the little dot is always under a parent with
       position set to relative
     - Adjust top position due to that ^ change
     - It also fixes for narrow window on desktop

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I5844400cd1a15fe5693bb2b0be880460d974eec1
2022-07-21 09:18:17 +02:00
Pedro Pinto Silva
160467ac96 Don't use automatic generated ids (incremental digit) for save btn
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: Idaae02ce7c0ea9dab69056654df0bf15c847af3e
2022-07-21 09:18:17 +02:00
Pedro Pinto Silva
ea55505346 Add log directory (typescript) to gitignore
Automatically generated .log folder relate to typescript
was not being ignored

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I0fa8bcbe9e3a9eeae8f1549d6d073865d06eb41d
2022-07-20 17:14:40 +03:00
Rash419
c91b8b01b4 wsd: new config entry to add unlock_link for feature lock dialog per alias_group
- also added unlock_link option in dynamic configuration

Signed-off-by: Rash419 <rashesh.padia@collabora.com>
Change-Id: I075a4aed4f82059714412def965a8ed4d3581b2f
2022-07-20 17:41:19 +05:30
Rash419
9bb0b6fabd introduce new options to customize featurelock dialog
- adds two new options
1. localize the dialog
2. change upsell image shown in dialog using proxy handler
- provides all the settings using dynamic configuration

Signed-off-by: Rash419 <rashesh.padia@collabora.com>
Change-Id: I7e21c1b31c806c88bf54f891de40f02fa342168f
2022-07-20 17:41:19 +05:30
Pedro Pinto Silva
b00961f06a Make view menu entries behave similar across types
- Follow the same order, for generic menu entries:
  - Toggle UI Mode; Show Ruler; Show Status Bar; Sidebar
- Make sure Reset Zoom and all UI toggles are present in all apps
(doc type) when using tablet

Note:
This commit does not change the following because I do agree with
remarks stated in 70f4f8b92e
- Zoom in and Zoom out entries are not needed in tablet
- Zoom also misbehaves, so better to have it out when on a tablet

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I06f1c025dba27ae65229c38406d646da75a59aa6
2022-07-20 13:24:25 +05:30
Pedro Pinto Silva
4901779bf3 Remove unnecessary separator from view menu entries (type: text)
No need to have one item (Resolved Annotations toggle) surrounded by
separators.

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: Ie5e560122054fc5904e3b24f984aa682c758d373
2022-07-20 13:24:25 +05:30
Pedro Pinto Silva
898f5181bd Add UI toggles to view menu (compact view) on tablets (type: text)
Building upon 70f4f8b92e
, it makes sense but let's add back in the Reset zoom
and let's make sure all the other UI toggles are available
when using tablet ( otherwise user is not able to
toggle UI mode, ruler or status bar).

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I972a3f6f17306484a266dc3cfa2103540ca4761d
2022-07-20 13:24:25 +05:30
Andras Timar
c2ec7a3468 docker: add CODE branding (optionally) to image built from source
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: Ibf21760668b77c8734316bf5219509ed899aba62
2022-07-19 21:54:51 +02:00
Michael Meeks
b2788bf702 tracing: re-work code, improve thread safety.
We shouldn't write to the socket outside the main thread ever or
we'll get memory corruption; cf. a number of suspicious traces
around this code.

Change-Id: Ibeb36fffbecce960012a55b3ab4fd40c9996ae68
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
2022-07-19 20:01:08 +01:00
Michael Meeks
80079f708c perf-test: cleanup un-expanded variables.
Change-Id: If2c7c055558a96c401e2be2ce031cd288bbc747e
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
2022-07-19 20:01:08 +01:00
Tor Lillqvist
ba80acc836 On iOS the tile messages arrive with e.data as a string
Now the tiles show up correctly in the iOS app again.

Signed-off-by: Tor Lillqvist <tml@collabora.com>
Change-Id: I2b1741ed9f5fc4e4df30cb67addfa45eb0d20b92
2022-07-19 19:25:42 +01:00
Ashod Nakashian
ed3b1902b7 wsd: invoke handlePoll on all sockets
Before ed5569da30
we invoked handlePoll on all sockets in
each poll. But that's not true anymore.

Since i = _pollStartIndex; (line 432),
when we assigned previ = i; (line 451)
we made previ == _pollStartIndex, which
immediately broke the loop
while (previ != _pollStartIndex)
at line 438, causing handlePoll to be
called on one socket at a time (and
likely *not* the socket that had an event).

It's inefficient to poll and ignore the
result.

Now we do handle revents on multiple
sockets correctly and efficiently for
each ppoll() by going through all sockets
and handling based on whatever revents
gave us. We need to invoke the handler
of each socket to handle timeouts (i.e.
if we don't call the handler until
the socket gets an revent, we wouldn't
be able to support timeouts properly).

Notice that we still start at
a different socket each time (although
it's not entirely clear what advantage
that has, it's maintained all the same)
as the aforementioned patch does.

Change-Id: I9c0a482792aee7df5d44f4b63f173e574db36f97
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-07-19 18:31:50 +03:00
Andras Timar
70b99be0e8 docker: strip core binaries, otherwise the docker image would be huge
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: Id1b8eab2b722b22a63593a2b8b85b21ebe670271
2022-07-19 14:21:14 +02:00
Tor Lillqvist
2b84a35fe8 Also binary data is now pased through send2JS
We store each byte as one character, i.e. UTF-16 unit, in the string.
Yes, this is inefficient.

Signed-off-by: Tor Lillqvist <tml@collabora.com>
Change-Id: I75cc211d7a8da98a4e0e5b5b3d000e7ed66c271e
2022-07-18 16:57:10 +01:00
Pranam Lashkari
e65d923e9f add server id to capability list
Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: I1f101d8091a5fae64f19b8d4ace7b2db7d5cf5b1
2022-07-18 13:01:36 +01:00
Gökay Şatır
66c5386400 Beautify the version string.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: I66e2fd6d4331361e36bc31135a45e62149f2c0f9
2022-07-15 16:50:22 +03:00
Ashod Nakashian
45b7eb778d wsd: reuse parsed message
Change-Id: I9d67f92ba99037954400e07a7d1101e5de3716fd
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-07-15 11:14:14 +01:00
Henry Castro
c9178b0223 Add home mode option - enabling more configurability for CODE.
Requested by several users and partners - defaults to off/un-changed.
When set it allows optional disabling of welcome/feedback when used
in a homely environment.

Also bump default max doc/conneciton limits in configure to 10k.

Change-Id: I3c917901e02445d45f6f86b554d47a60aa4e575d
Signed-off-by: Henry Castro <hcastro@collabora.com>
2022-07-14 18:24:43 +01:00
Tor Lillqvist
3ad41e69f7 ENABLE_WELCOME_MESSAGE should now be 0 for iOS, not "false"
Signed-off-by: Tor Lillqvist <tml@collabora.com>
Change-Id: I3d8e38aac0ed7bd783cc0d8c79b2d4d08fa478a1
2022-07-14 12:58:35 +03:00
Tobia Conforto
aba9091209 Added support for setting the timezone in Docker
Added the 'tzdata' package to Ubuntu-based Docker builds and the
'timezone' package to openSUSE builds, to allow Docker users to run
the containers with a custom timezone by passing a TZ env variable.

Signed-off-by: Tobia Conforto <tobia.conforto@gmail.com>
Change-Id: Idafd84dde3383b4801ff4b3ebb8ac1826fe49fcc
2022-07-14 11:24:03 +02:00
Pedro Pinto Silva
ed5ab42d38 Calc: Add missing class to toolbar-wrapper when on tabbed view
This is needed so 584aa5b8f6
is also applied on tabbed view.
Until now we were just adding that class when on compact view
(Control.TopToolbar.js)

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I8c0ac3d909f64025f301651564b3c2b1ae130e1c
2022-07-14 09:16:30 +02:00
Pranam Lashkari
3b064b0738 kubernetes: introduce config map
Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: Ie7a3db6fafd164541075baf6577dd6dc7d72a5c1
2022-07-14 12:04:02 +05:30
Pranam Lashkari
22f38ef455 HAProxy: better load balancing
Instead of using URL parameter hash to direct all the users on same document to same server,
use stick-tables for it

original problem:
Problem was load balancer provided us with required persistence and balance both.
we directed traffic based on the url_param which means,
all the traffic with same url_param will go to same pod/server.
All the new values of url_param will be directed to different servers in round-robin way
this can be less efficient in a high traffic environment

solution:
this new method allows us to balance and manage persistence separately
so we can specify our desired algorithm for load balancing
and persistence is managed using stick-table

Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: I80d63a2fc33f796c4534d94fb8de1e44c62ee9e2
2022-07-13 14:45:26 +01:00
Ashod Nakashian
e3deda303b wsd: fix warnings on GCC 12
Change-Id: Ia61f45d83223a65d1f7c444250230006a4ac098f
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-07-13 09:37:07 +01:00
Ashod Nakashian
b0d6e1b859 wsd: sig: forward USR2 to child processes
We now have USR2 signal that dumps the
stack-trace of each process. This is useful for
capturing the state of misbehaving instances.
COOLWSD forwards USR2 to forkit and the kits
so they dump their stacktraces too.

This patch does not change the behavior of USR1.
Specifically, unlike USR2, USR1 is not forwarded
from wsd to frk and the kits. Also unlike USR2,
USR1 dumps into stderr.

Change-Id: I1d82f678f30f430f627692cc42961b1928f69e11
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-07-12 13:43:43 +01:00
Ashod Nakashian
3109b99d49 wsd: sig: dump backtrace with USR2
SIGUSR2 can now be used to dump the
stacktrace of coolwsd, forkit, and the
kit processes.

Also, support writing signalLog to files.
Although we write to stderr, we normalize
the interface used for signal logging and
allow for writing to any file descriptor.

Change-Id: If6366bb6ddbd9f8863baca52e4f65ebb468dc1f1
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-07-12 13:43:43 +01:00
Ashod Nakashian
f6351d472d wsd: sig: write signalLog to SignalLogFD
This replaces the hardcoded STDERR_FILENO
to allow for writing to any file, including
stdout or a redirection to disk, if needed.

Change-Id: I76f6461f46fd4bc035fcf643d01e60c2e3236894
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-07-12 13:43:43 +01:00
Ashod Nakashian
7a615f1a79 wsd: sig: move signalLog helpers to SigUtil
In preparation to log to a file in the jail.
This will allow for including the log in the
log file, thus capturing all output from our
thread-group into the same log file.

Change-Id: Ia5c4ed35786d28f5d45f3065919d53f2c8492cb0
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-07-12 13:43:43 +01:00
Ashod Nakashian
fc3b4ab717 wsd: sig: merge setTerminationSignals with setFatalSignals
This simplifies the signal handling setup.

Change-Id: Id121a9df45fc11bfdea627f9828e0b624b1b2284
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-07-12 13:43:43 +01:00
Ashod Nakashian
bd92d00aed wsd: sig: prime libgcc and backtrace
This is to ensure that libgcc is loaded and
backtrace is available during signal handling.

Change-Id: I5bb36b69401dbedf4c991ba7d60d2e806441a625
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-07-12 13:43:43 +01:00
Ashod Nakashian
b3d298bd84 wsd: minor cleanup of addNewChild
This moves the shared_ptr copy to outside the
lock, as well as reducing logging inside it.

Change-Id: Iedde95b3fe60fc40bbd035a9d43a9b95af7efdcc
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-07-12 13:43:43 +01:00
Ashod Nakashian
0d4c58fe36 wsd: jail: add Poco namespace where missing in LinkOrCopy
Change-Id: I9490ff29b48763130e5477525a96b987a4b79cf7
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-07-12 13:43:43 +01:00
Ashod Nakashian
8004653c63 wsd: jail: no need to pass loSubPath between processes
Since the value of the loSubPath (i.e. the directory
name of lo within the jail) is a compile-time constant,
there is no reason to pass it around at runtime.

Change-Id: If7457ea7f3e3fe5c42215eed3ce1ce4c8f328f16
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-07-12 13:43:43 +01:00
Ashod Nakashian
e6ca54c971 wsd: jail: move LO_JAIL_SUBPATH to JailUtil
This prepares the way to remove loSubPath
being passed around at runtime, which is
completely unnecessary.

Change-Id: I728629e3cb5eb079add4232543319b89a7dc4a2a
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-07-12 13:43:43 +01:00
Ashod Nakashian
b74666201c wsd: jail: rename jails to childroot to distinguish them
This is an internal rename of identifiers.

Child-Root is the top-level, configurable, directory
that stores the jails and related directories/files.

A Jail, by contrast, is the directory that contains
the filesyste tree of a Kit process. That is, it's
the directory that is chroot-ed.

To distinguish the two, we shall use "jail" for
the chroot-ed directory, and "child-root" for the
top-level directory.

Change-Id: Ie38b1c350234b75ddd15beb1c6bcdd2e53a82af0
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-07-12 13:43:43 +01:00
Andras Timar
5f985bef68 Bump version to match configure.ac
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I80f38a205f3a3b66ecb698f7f7fb7af5824919db
2022-07-11 20:22:43 +02:00
Andras Timar
d069b8c3a2 updated debian/changelog
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: Ic83ecfe7360bd2912525661b81a3ee2ae6092190
2022-07-11 20:20:15 +02:00
Andras Timar
6fda36aaea Bump version to 22.05.4.1
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I3a9606cd2dc4be91b67348d11cb225549205bb2c
2022-07-11 19:12:47 +02:00
Егор Ермаков
ffc5e4f45b Translated using Weblate (Russian)
Currently translated at 62.5% (286 of 457 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (462 of 462 strings)

Translated using Weblate (Russian)

Currently translated at 99.7% (461 of 462 strings)

Co-authored-by: Егор Ермаков <eg.ermakov2016@yandex.ru>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/help/ru/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/ru/
Translation: Collabora Online/Help
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I821ed266d54f8802e747aa5c558799851d93121e
2022-07-11 19:12:16 +02:00
Rob Pearson
537af141e2 Translated using Weblate (English (South Africa))
Currently translated at 100.0% (462 of 462 strings)

Translated using Weblate (English (New Zealand))

Currently translated at 100.0% (462 of 462 strings)

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (462 of 462 strings)

Translated using Weblate (English (Australia))

Currently translated at 100.0% (462 of 462 strings)

Co-authored-by: Rob Pearson <rob.dunedin@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/en_AU/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/en_GB/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/en_NZ/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/en_ZA/
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: If529c436a314705de45fc5801e7bbcf11ab44ba8
2022-07-11 19:12:16 +02:00
Adolfo Jayme Barrientos
95210c9f16 Translated using Weblate (Spanish)
Currently translated at 100.0% (462 of 462 strings)

Translated using Weblate (Catalan)

Currently translated at 99.3% (459 of 462 strings)

Translated using Weblate (Asturian)

Currently translated at 50.0% (231 of 462 strings)

Co-authored-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/ast/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/ca/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/es/
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: If20eeac4c226f519c29c9c910e92e466f6994821
2022-07-11 19:12:16 +02:00
Yaron Shahrabani
7366f21bd3 Translated using Weblate (Hebrew)
Currently translated at 100.0% (462 of 462 strings)

Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/he/
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I5b7c69f8c73a7723bc941ceaba20bb53d1f26411
2022-07-11 19:12:16 +02:00
Henry Castro
63998720f4 browser: ensure if welcome was disabled
Change-Id: I22a90c0dd8e80870699aef12b800c85508b17920
Signed-off-by: Henry Castro <hcastro@collabora.com>
2022-07-11 14:19:00 +03:00
Henry Castro
ee408c1f19 wsd: remove unused welcome code
clean up unused code

Change-Id: I2080942bed0403d3767f282c36c554e7b8bf03ca
Signed-off-by: Henry Castro <hcastro@collabora.com>
2022-07-11 14:19:00 +03:00
Andras Timar
fb25b7d806 If integration theme does not exits, fall back to default theme
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I9939ee243aa81b50969168df2e8bb5c8cbf2a34c
2022-07-11 12:59:05 +02:00
Szymon Kłos
3982724e53 cypress: allow correct plain text clipboard formatting 3
Our plain text clipboard output generated additional newlines
at the beginning of every paragraph. To fix that we need
fix in core side which now fails due to expected bad format in cypress.
This is interim state where we accept both old and new format.

see for reference: https://gerrit.libreoffice.org/c/core/+/136893
lok: don't pretty print html for online
I2b17d62398d947fcf1d3fb1ed6005c3063d114f2

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Ia2d75c75f40dffbe08d1c77e09c2331db18734f4
2022-07-11 11:14:27 +05:30
Pedro Pinto Silva
10c70a46a6 Mobile: Do not allow rules from busypopup to affect snackbar
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: Ibb3d964f66ef7f18272207b2738708b451c2e1b0
2022-07-11 07:29:26 +02:00