Commit graph

20354 commits

Author SHA1 Message Date
Andras Timar
e7cb09c03b Update l10n files for Weblate
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I851b7528962ccaf08d1584d2529e59a72d3a7ab0
2023-04-17 19:38:20 +02:00
Ram
809dbc5eb3 Translated using Weblate (Malayalam)
Currently translated at 41.8% (46 of 110 strings)

Translated using Weblate (Malayalam)

Currently translated at 40.0% (2 of 5 strings)

Translated using Weblate (Malayalam)

Currently translated at 50.0% (11 of 22 strings)

Co-authored-by: Ram <airavatam@tutanota.com>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/android-app/ml/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/android-lib/ml/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ios-app/ml/
Translation: Collabora Online/Android app
Translation: Collabora Online/Android lib
Translation: Collabora Online/iOS app
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I1eeefe755010bbccb6f70f766883d6206cb09e99
2023-04-17 19:34:40 +02:00
Hamid Mir-Mostafa
e031b1da43 Translated using Weblate (Persian)
Currently translated at 13.6% (3 of 22 strings)

Translated using Weblate (Persian)

Currently translated at 100.0% (5 of 5 strings)

Translated using Weblate (Persian)

Currently translated at 10.9% (12 of 110 strings)

Co-authored-by: Hamid Mir-Mostafa <hamidmirmostafa.personal@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/android-app/fa/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/android-lib/fa/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ios-app/fa/
Translation: Collabora Online/Android app
Translation: Collabora Online/Android lib
Translation: Collabora Online/iOS app
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I4e53a2a35d2c34d03aa1672817cdca21e2a83d4e
2023-04-17 19:34:40 +02:00
Alex Gabilondo
c1e2cfc9d0 Translated using Weblate (Basque)
Currently translated at 100.0% (525 of 525 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: I28cc5da00529743da119c70d8ad8a7779782722a
2023-04-17 19:34:40 +02:00
Jérôme Herbinet
24ded7041d Translated using Weblate (French)
Currently translated at 100.0% (525 of 525 strings)

Co-authored-by: Jérôme Herbinet <j.herbinet@protonmail.ch>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/fr/
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I5cfe36fa7bab22acc74a7915019e70004702c321
2023-04-17 19:34:40 +02:00
Cosmin
908f24755a Translated using Weblate (Romanian)
Currently translated at 39.1% (179 of 457 strings)

Translated using Weblate (Romanian)

Currently translated at 30.0% (158 of 525 strings)

Co-authored-by: Cosmin <cosmin@fsfe.org>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/help/ro/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/ro/
Translation: Collabora Online/Help
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: Ieb37d002f5cdeb329edb15b8f4ef27b83f249cde
2023-04-17 19:34:40 +02:00
Adolfo Jayme Barrientos
46eebc4a96 Translated using Weblate (Spanish)
Currently translated at 100.0% (525 of 525 strings)

Translated using Weblate (Asturian)

Currently translated at 51.4% (270 of 525 strings)

Translated using Weblate (Aragonese)

Currently translated at 27.2% (30 of 110 strings)

Co-authored-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/android-app/an/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/ast/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/es/
Translation: Collabora Online/Android app
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I0827f24a575c3a771097e54d7c2eb42b386a2502
2023-04-17 19:34:40 +02:00
Milo Ivir
d63e16a1ab Translated using Weblate (Croatian)
Currently translated at 100.0% (525 of 525 strings)

Co-authored-by: Milo Ivir <mail@milotype.de>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/hr/
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I96d65c494d36dbf8af1cb8a84a7f099d651a2d23
2023-04-17 19:34:40 +02:00
Szymon Kłos
356c6520cc jsdialog: a11y: keyboard navigation for tab control
Tab:
    When focus moves into the tab list, places focus on the active tab element.
    When the tab list contains the focus, moves focus to the next element in the page tab sequence outside the tablist.

When focus is on a tab element:

    Left Arrow: moves focus to the previous tab. If focus is on the first tab, moves focus to the last tab.
    Right Arrow: Moves focus to the next tab. If focus is on the last tab element, moves focus to the first tab.

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I24bd15f1efd265cc99cced5b058dc547d0a07e8f
2023-04-17 16:33:59 +02:00
Szymon Kłos
15523d4d7c notebookbar: a11y: keep focus on tab when space is used
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Ifc76976c5e31b103993f28cf44abfc4b1d60b598
2023-04-17 16:33:59 +02:00
Szymon Kłos
8dfcd5fd42 jsdialog: a11y: set correct aria role for tab control
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Id542a5c2a567c04115b1e2bef11a7a6d026beb9c
2023-04-17 16:33:59 +02:00
Szymon Kłos
19ab977ab3 jsdialog: a11y: fix close button without label
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I09e50ebe71ce06f4d446df99cd9447ec820fe0e5
2023-04-17 16:33:59 +02:00
Szymon Kłos
deedfd1977 jsdialog: a11y: assign labels to radiobuttons and checkboxes
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Ifbfdabc7c00f3c306934d1a2ac9c4733f25e5d05
2023-04-17 16:33:59 +02:00
Pedro Pinto Silva
14a0ded130 Tabbed view: Tabs: Improve html structure
Best to avoid span elements around button text
The innerHTML here is harmless since we are using a string created
by us within the same function.

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I72af17cd2788e7ba4b3ec1c255058e18884e0be1
2023-04-17 16:24:27 +02:00
Gökay Şatır
7e7dcd318f Update jquery-ui.css to make the container's height reflect its content.
Create a new CSS rule to make tabs' content lower enough from the tabs' buttons.

Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: I3354b93711f1e93aa9c97c31b3717cad7b917351
2023-04-17 14:02:39 +02:00
Szymon Kłos
ac1b704264 jsdialog: don't setup additional margin for unmanaged scrollwindow
Can be tested with Calc's Data -> Sort dialog
When we have multiple entries we still should scroll only to
the end of last entry. Previously we added lot of extra space.
Also this change prevents from adding unnecessary margin to drawing
areas.

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Icdfcba0a02d0b814460f58219db48dd856c059a1
2023-04-17 09:45:27 +02:00
Ashod Nakashian
b556381406 wsd: return SSL_do_handshake error-codes unmodified
For some reason we only checked for the closed
socket case as failure and returned 0 in that case,
for error cases, we returned 1. Likely the API
had been modified in the early days, but this
return code was left lopsided.

This meant that even when the handshake failed, we
still called readIncomingData or writeOutgoindData,
depending on whether we wanted to read or write,
causing a rare race-condition.

When a client (HTTP request) connects to a server,
it needs to send the request, right after the
SSL handshake. SSL_do_handshake could need data
from the socket to complete the handshake. In such
a case it returns WANT_READ. Unfortunately,
because we always called SSL_read, the missing data
could have arrived between the SSL_do_handshake call
and the SSL_read call (a rather short duration, to
be sure, but an open window all the same).
SSL_read would of course read said data from the
socket and, since it still needs to finish the
handshake, will buffer it. It then returns the very
same error that the SSL_do_handshake returned:
WANT_READ. Of course we will oblige by polling with
POLLIN, which will time out (there is no more data
to come, and the server is waiting for *our* request
and has nothing to send us).

The only way this deadlock could break if
SSL_do_handshake was called (which will consume
the buffered data, return 1 to indicate handshake
has completed). Since we wouldn't call it unless
and until we get POLLIN, per WANT_READ, which won't
happen in this case. And since SSL_read doesn't call
SSL_do_handshake either, the request times out and
that's the end of it.

The fix is to not call SSL_read when the handshake
isn't complete and needs more data, which we do now.

Fortunately, we have very few SSL clients, outside
of unit-tests. Most notably the WOPI client. But
even then it's not a heavily used connection and
might not even be SSL-enabled (for LAN servers).

Change-Id: I04fd3dae151904194f3d7579dbf8c671b2580ffb
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2023-04-15 23:07:38 +01:00
Ashod Nakashian
49843a6af9 wsd: handle read failure on closed socket better
A rare edge-case happens when we have a socket
that is closed (and we get POLLHUP or POLLERR)
but upon reading the socket we get EAGAIN.

This was observed when simulating EAGAIN,
and it is possible that this is quite impossible
in practice (since we read only when we get
POLLIN), but at least for the unit-tests
we need to handle this case, so we don't
get random failures.

Change-Id: I77af1726066507af5d5ada68fe11b479a4e579e5
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2023-04-15 23:07:38 +01:00
Ashod Nakashian
2ea14b5221 wsd: reduce SocketPoll lock contention
We don't have to read the wakeup pipe
under a lock. So we no longer do.

Change-Id: I6bd724b9748add3022b4f9aa2268094b9818f3e5
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2023-04-15 23:07:38 +01:00
Ashod Nakashian
bbabcf52dc wsd: more tracing of socket and poll activity
Change-Id: Ia5cb6cfaf8108a9266b0a1daa55b0fbe1349177c
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2023-04-15 23:07:38 +01:00
Ashod Nakashian
896673c857 wsd: correct log argument order
Change-Id: I00cb3ccd740e8540341e45965cbe8460490acb8c
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2023-04-15 23:07:38 +01:00
Michael Meeks
93b41527e3 Cypress: accelerate tests by not re-downloading & JITting JS.
add forcecaching parameter to coolwsd for debug mode.

Change-Id: I6f38e9a4fd6dbb76e92105c76e8abe3e75f19ef5
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
2023-04-15 11:45:22 -04:00
Ashod Nakashian
587ba85aea wsd: always handle socket polls without skipping
We now always handle socket polls without skipping
when the number of sockets change. We verify the
socket FD of each socket before handlingPoll to
catch any violations of the preconditions.

This should avoid missing any events and also
handles timeouts better (which are checked
in handlePoll). It also protects against
unexpected modifications of the sockets, with
proper logging and assertion.

Change-Id: I5659eb57231a490e6c813e7a0222443b534713c6
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2023-04-14 18:02:14 +01:00
Ashod Nakashian
8facb429c2 wsd: make removeSockets private
Change-Id: I7171c67bbbe4682cf10e015e600fb25f03d4e5bb
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2023-04-14 18:02:14 +01:00
Ashod Nakashian
4968982a3d wsd: better merge new sockets into poll sockets
Change-Id: I4249ba4d35d8dfb2ff17c63af201276c77e2549b
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2023-04-14 18:02:14 +01:00
Ashod Nakashian
b82519400f wsd: update the poll round-robin index right before usage
Change-Id: I27f19c914449b689a530495681423a2906281698
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2023-04-14 18:02:14 +01:00
Ashod Nakashian
ec85f78458 wsd: drain the wakeup pipe on each read
Reading larger blocks should avoid having
the pipe back up when we accidentally
attempt more wakes than actual ones.

Change-Id: I7766230f60dbf069668ee7919f766e9093df7017
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2023-04-14 18:02:14 +01:00
Pedro Pinto Silva
0906804b6c Tabbed view: fix button label alignment within tabs
with a11y we now have those labels set via <label> elements and thus
they are getting browser specific default style for line-height
- Set to the same line-height that they used to have before, when they were
<span> and were inheriting the line-height from <body>

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: If9afa2217e5d357ea27b8e7fbb0d63f3acdee80c
2023-04-14 16:09:28 +02:00
Pedro Pinto Silva
d1991e177c Tabbed view: Fix tab content being filled with extra white space
This was introduced with the a11y changes (button is getting
browser default padding style)

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: Ic648cedc1d3c72e0ae53e8bd244f1a04da868d8b
2023-04-14 16:09:28 +02:00
Ashod Nakashian
fecad56715 wsd: shutdown the Kit socket before terminating to flush
In some rare cases we can't write to the socket
before we terminate, and the last message is
lost. This is observed in tests and especially
when we simulate socket write failure.

Change-Id: I9fb298edfe53de3c7ea0c2f31c02ba370167f96e
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2023-04-14 11:30:14 +01:00
Ashod Nakashian
1df26c35db wsd: do not use expired token to lock storage
Change-Id: I733bcb53c50faa2f410af2f10f4c225797f49ecb
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2023-04-14 11:30:14 +01:00
Ashod Nakashian
8c6d92bc46 wsd: test: ignore requests after testing has finished
Change-Id: Ifcb28bffb2aecd5c0d9c83fa7cdbd3a203b38f37
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2023-04-14 11:30:14 +01:00
Ashod Nakashian
7547e15d79 wsd: move pollingThread to private
There is no use-case for calling the
thread function of the SocketPoll
from outside.

Change-Id: Id8e87369494817aaab749d03d1cd4cd3724c2da1
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2023-04-14 11:30:14 +01:00
Ashod Nakashian
75dbe7af53 wsd: better scope locality
Change-Id: I49156505dfb855ce00815c6afabc762951fcc4c8
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2023-04-14 11:30:14 +01:00
Ashod Nakashian
4089302362 wsd: better socket logging
Change-Id: I31b64ce1f174896a3bcfa5cd620e0babd7f425d1
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2023-04-14 11:30:14 +01:00
Ashod Nakashian
55c9280e02 wsd: multiple writes to stderr may interleave
Particularly annoying with trace level logs
when they trample over one another.

Change-Id: Ib1a8f8b8117364886af5043120e65ec7cb12e12a
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2023-04-14 11:30:14 +01:00
Ashod Nakashian
9dd0636bcd wsd: announce the debug URLs to the user after server runs
The port used for client connections does change when
we cannot connect on the default/first one. There is
no point in announcing the default when we don't
yet know the actual port, and similarly it's not
helpful to do so before the server is even started.

We also move the remote-font-config thread to an
earlier point and merge it with another #if !MOBILEAPP.

Change-Id: Icc28817c7a03d49a7e130b076e545fe3ce2fb81a
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2023-04-14 11:30:14 +01:00
Rash419
3ba85eb8f7 js: fix mention popup positioning on large resolution
Signed-off-by: Rash419 <rashesh.padia@collabora.com>
Change-Id: I1cc628b682215414611a256986731a9046bb6b35
2023-04-13 15:20:32 +05:30
Pedro Pinto Silva
f78de939d5 Rename Link Picker to Smart Picker
So it's consistent with the latest NC strings

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: Ic1d49c6d871aee86f80aeb5c4e6936b33f3fc93c
2023-04-13 10:25:34 +02:00
Pedro Pinto Silva
c5b95042b6 GitHub project know has its own workflows bultin
Remove custom actions

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: Ia7f2d776d370310834fd29d38ef25a2566d7d054
2023-04-13 09:54:01 +02:00
Pedro Pinto Silva
58bb4b9380 Sidebar: Remove browser's style padding that comes with <button>
Before this commit buttons were being generated with padding
this is not needed ( we already have safe margins applied to
the parent -> 'unotoolbutton' )

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I4f1b4328131550d906cde3328c7de02daffd76a1
2023-04-13 09:18:52 +02:00
Pedro Pinto Silva
00375b61e6 Fix button ration
Before this commit we were setting buttons in places such as
the sidebar with weird ratio (not 1:1) this might lead to problems
when aligning, adjusting gaps. Better to adjust gap or margin if we
need bigger spaces in between

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: Id60cd6353de2ace2a066c0d1624000a09f0ca98e
2023-04-13 09:18:52 +02:00
Michael Meeks
5a2127003f disable fragile TileCacheTests::testTileBeingRenderedHandling.
Fails intermittently under load, responsible for most unit-tile
failures.

Change-Id: I88de8524b51ee7d97a28e31c001534a506d52f0e
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
2023-04-12 18:01:40 +01:00
Jaume Pujantell
518acd1127 Disable Change Password button for users who don't own the document
Signed-off-by: Jaume Pujantell <jaume.pujantell@collabora.com>
Change-Id: I2e1fc1e5b6e50cd7ec5ad9d78db36e76ce6426c9
2023-04-12 14:33:07 +02:00
Gökay Şatır
2c0df92a2b Update shortcuts for accessibility.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: I26cfae75d65fc2588225b22b752a34571d5abc34
2023-04-11 16:43:35 +02:00
Pedro Pinto Silva
557c336d0d Set missing dimensions to sidebar button images
- re-use btn-size variable
- make it clear that this set of rules is intended to sidebar elements
  - Improve selector (more clear and so it doesn't target other
    elements outside of the sidebar)
  - Move it to jssidebar.css file

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: Ib03c412a1e05fd6ed315f58a70486f14eaf5b9ea
2023-04-11 16:13:01 +02:00
Gökay Şatır
f2637b02a9 Open dropdown menu of a content control when space or enter is pressed.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: If1670f9f2153a4578057cb4b5c7073879f08ea8b
2023-04-11 16:21:14 +03:00
Gökay Şatır
3659b47afa Loop focus on the dialogue regardless of the dialogue type.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: I9d74adbd8df235d762d5cdd0133c26bbbae7b549
2023-04-11 16:21:14 +03:00
Gökay Şatır
b3cb61bbd4 Avoid duplicate ids.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: Ia90a0178796ec18e6a167c378a6de294dfb96b32
2023-04-11 14:05:52 +02:00
Ashod Nakashian
3dbfce54d3 wsd: helper to dump the state of an object as a string
Change-Id: Ib49a47be2dc37663ef06ac80be981c9f3c029814
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2023-04-11 08:03:01 -04:00