Commit graph

23524 commits

Author SHA1 Message Date
Yaron Shahrabani
83975d63aa Translated using Weblate (Hebrew)
Currently translated at 100.0% (584 of 584 strings)

Translated using Weblate (Hebrew)

Currently translated at 51.8% (248 of 478 strings)

Translated using Weblate (Hebrew)

Currently translated at 96.2% (562 of 584 strings)

Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/help/he/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/he/
Translation: Collabora Online/Help
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I20f108e6599109cfc975e046b6cb92390ab5040b
2024-04-12 19:19:48 +02:00
Andras Timar
bb0bdbf3e9 CI test
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I63864518a63c1ef7c6812506daeb2ebd6aa8dc39
2024-04-12 19:19:38 +02:00
Méven Car
5f5ca6c3d2 welcome window: allow to translate tab numbers
Signed-off-by: Méven Car <meven.car@collabora.com>
Change-Id: I01d62428ec98b051a7b131901bab3c346e7697d0
2024-04-12 15:25:22 +02:00
Miklos Vajna
1f0aec8f19 cool#8648 clipboard: fix insert hyperlink dialog
Type a word into Writer, select it, Ctrl-K, the link text should default
to the selection, but it was empty.

This happens because Toolbar.js getTextForLink() doesn't have the
pre-fetched clipboard anymore, so we return an empty string there.

Fix the problem by triggering a text selection fetch (and leaving the
clipboard alone), and then handling the hyperlink dialog on the
CanvasTileLayer.js side.

Once this is done, the usual dummy clipboard registration & copy() calls
need adding and the test passes even with the patch from
<https://github.com/CollaboraOnline/online/issues/8648#issuecomment-2037278091>.

Signed-off-by: Miklos Vajna <vmiklos@collabora.com>
Change-Id: Ibd8313588e705c4b027643b452099bbf02cfe8ec
2024-04-12 14:00:26 +01:00
Antony
68ff59156b Add accesibility support to comboboxes inside font panel in sidebar
- Add aria-label to input if aria properties present in the widget data
- Add appropriate roles to input and div as per standards mentioned in MDN docs for accessbility combobox
- Modified combobox button click event to open popup using Space key as well, as mentioned in the MDN docs for accessbility

Signed-off-by: Antony <dasantony@rocketmail.com>
Change-Id: I66ebc6897e6a9a73a65f53d5cbd2f06a645dcb3f

Signed-off-by: Antony <dasantony@rocketmail.com>
Change-Id: Id39242ea2fa57f8f5a46efca7a73b529ceae088d
2024-04-12 14:27:50 +02:00
Ashod Nakashian
980136ebf7 wsd: always create wopiFileInfo
We need to have a valid wopiFileInfo instance
even on Mobile, since we dereference it
to get the actual unique_ptr.

Eventually, we should change this to be
a shared_ptr everywhere, but until then
we need to make sure the pointer is valid.

Change-Id: I54b6a0f862e319f4e727c28ac396102410bb422d
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2024-04-12 13:16:58 +01:00
Ashod Nakashian
f3b10c3790 wsd: make checkFileInfo call explicit
When we call checkFileInfo from the constructor
of CheckFileInfo, it is possible for the
callback to get fired immediately if we fail
to open a socket.
In that case, the caller would have had
no chance of having stored the reference to
the CheckFileInfo object instance, so
the callback would fire without the owner
having a way to properly do housekeeping.

By moving the call outside of the constructor
and making it explicit, we allow for a
better management of the CheckFileInfo
object instance.

Change-Id: I3094b73fa3ab70e83ec5238959defcb2fd9ecf4e
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2024-04-12 13:16:58 +01:00
Ashod Nakashian
d60d19eb7a wsd: test: better UnitOverload logging
Change-Id: I2b5177b4b3500cfb252e8d9f7a2f6b049b25bc9e
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2024-04-12 13:16:58 +01:00
Miklos Vajna
ad74670af5 cool#8734 browser: allow enabling dark mode from a URL parameter
One way for integrations to ask for dark mode is to set URL parameters.
This works for e.g. the language, but didn't work for dark mode.

There was already a parameter for this, but it was limited to Android.

Fix the problem by exposing the parameter for non-Android as well, and
also extend global.js to default to this, but keep the local storage as
an option to customize the setting if the user wants to.

Tested with 'make run', <input type=hidden> way may need more work on
top of this.

Signed-off-by: Miklos Vajna <vmiklos@collabora.com>
Change-Id: I78c4115a8e337ef2b1ea9e498db2572965762bef
2024-04-11 08:33:21 +01:00
Ashod Nakashian
d5f865d534 wsd: remove unused eof from the TileQueue
Change-Id: Ibb1ad403272554202b69f4c94f3b6f50c8db2379
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2024-04-11 08:31:24 +01:00
Ashod Nakashian
7d266c64cd wsd: test: move single-use local map
Change-Id: I02e654b060415e5dda32ffafcdc19f8edfd86a62
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2024-04-11 08:31:24 +01:00
Ashod Nakashian
fc4de6db18 wsd: redunce string concatenation churn
Change-Id: Ic14a14b6fb69346d9f3e3638620ec35b7c2eb6c1
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2024-04-11 08:31:24 +01:00
NickWingate
ec0d89754d Sanitize presentation window title and url
Note the url sanitised is the url passed to
the iframe, not the url in the popup window

Signed-off-by: NickWingate <nick.wingate@collabora.com>
Change-Id: Idad9bfaa390d83cfb083b99144cb9d0a54705287
2024-04-11 07:15:02 +01:00
NickWingate
4cfd274deb Force slideshow popup to have blank url in firefox
Firefox has automatic url navigation when we use
document.write and changes the url to the parent
window. document.write may also cause additional
problems (see https://developer.mozilla.org/en-US/docs/Web/API/Document/write)
Instead change only the innerHTML of the document.

Signed-off-by: NickWingate <nick.wingate@collabora.com>
Change-Id: I55b88fd557af05b2a0e49adb7f08e9467dd4a4ba
2024-04-11 07:15:02 +01:00
NickWingate
10f8e90d76 Add localization to popup title
Signed-off-by: NickWingate <nick.wingate@collabora.com>
Change-Id: I306120db1bcda043c92adad122e368e05c80f613
2024-04-11 07:15:02 +01:00
NickWingate
50267a3aaa Change convoluted url and name in windowed presentation
Open an empty popup with a blank url, then set the
content of the popup to be our slideURL wrapped inside an
iframe with a user friendly title.
Focus the iframe on load so that arrowkey navigation works
and forward the eventlisterner of the iframe to the parent
window to watch for escape key calls

Signed-off-by: NickWingate <nick.wingate@collabora.com>
Change-Id: Ie1063095db51119fd45453b8b4b180fcacb6d7c1
2024-04-11 07:15:02 +01:00
Ashod Nakashian
6ad2e59245 mount: smarter umount handling
We fall back to MNT_FORCE only when
MNT_DETACH fails. Also improves when
we log the error to stderr.

Change-Id: I8b8b2a863b0339ddd489f1d0150446e6bae82a8a
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2024-04-10 18:49:27 +02:00
Caolán McNamara
74ef545dd5 _setSpliterGradient triggers excess drawing
every _postMouseEvent in a spreadsheet calls _setSpliterGradient which
triggers a redraw

_applyDelta [bundle.js:18978:86]
ensureCanvas [bundle.js:18941:64]
TilesSection.prototype.ensureCanvas [bundle.js:15642:88]
TilesSection.prototype.drawTileToCanvasCrop [bundle.js:15654:54]
TilesSection.prototype.drawTileInPane [bundle.js:15503:66]
TilesSection.prototype.paintWithPanes [bundle.js:15481:48]
TilesSection.prototype.paint [bundle.js:15532:78]
TilesSection.prototype.onDraw/< [bundle.js:15602:52]
TilesSection.prototype.forEachTileInView [bundle.js:15536:71]
TilesSection.prototype.onDraw [bundle.js:15592:56]
CanvasSectionContainer.prototype.drawSections [bundle.js:14091:56]
CanvasSectionContainer.prototype.requestReDraw [bundle.js:13724:76]
CanvasOverlay.prototype.redraw [bundle.js:16337:41]
CanvasOverlay.prototype.updatePath [bundle.js:16320:80]
CPath.prototype.redraw [bundle.js:15929:33]
CPolyline.prototype.setPointSet [bundle.js:16015:63]
CRectangle.prototype.setBounds [bundle.js:16103:55]
CSplitterLine.prototype.onChange [bundle.js:16172:43]
CSplitterLine.prototype.onPositionChange [bundle.js:16171:51]
_setSpliterGradient [bundle.js:18874:67]
_sendClientVisibleArea [bundle.js:18860:73]
_postMouseEvent [bundle.js:17904:75]
L.Map.Mouse<._onMouseEvent</< [bundle.js:22844:16]
_executeMouseEvents [bundle.js:22878:61]
setTimeout handler

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I7eb9668edda38730daebb7a342b7a9c44677fabb
2024-04-10 17:12:19 +01:00
Pranam Lashkari
3f2a1a5caa added check for undefined properties
problem:
zotero was not loading because element.text didn't exist
on adding bibliography there was error to parse JSON,
because there's some more data in string after JSON

Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: If34791ae7ca79ca7fd304b506cd483e929f4d2ac
2024-04-10 16:32:20 +02:00
Hubert Figuière
7a9aa6c6c9 Makefile: added a target to run with heaptrack
It will launch the gui at the end if found
It's much faster than valgrind+massif

Signed-off-by: Hubert Figuière <hub@collabora.com>
Change-Id: Ied5a00ab634f78bbb0dd24a48a83ae4293183cd4
2024-04-10 15:54:56 +02:00
Skyler Grey
eb7d6eaa83 Fix formatting on JQuery join tooltip
A nice followup would be a change to automatically do this on all JQuery
tooltips, maybe I will make a commit to do that later

Signed-off-by: Skyler Grey <skyler.grey@collabora.com>
Change-Id: I545f5e8d45849fb1b000c321b3554efd874eaaf8
2024-04-10 14:06:27 +02:00
Miklos Vajna
91c702e420 cool#8648 clipboard: fix most of desktop/writer/top_toolbar_spec.js
To work even if we don't automatically fetch HTML when a text selection
is created.

'Insert hyperlink.' needs more work, leave that one alone for now.

Signed-off-by: Miklos Vajna <vmiklos@collabora.com>
Change-Id: I6abdc40e46d5347c8c005c1289b59ef8933f08d2
2024-04-10 08:47:07 +01:00
Miklos Vajna
b3f2c690d8 cool#8648 clipboard: fix desktop/writer/track_changes_spec.js
To work even if we don't automatically fetch HTML when a text selection
is created.

Signed-off-by: Miklos Vajna <vmiklos@collabora.com>
Change-Id: I1b674504b682dc7fce2c6a437dc91aadd8065531
2024-04-10 08:47:07 +01:00
Miklos Vajna
635a45aac0 cool#8648 clipboard: fix desktop/writer/undo_redo_spec.js
To work even if we don't automatically fetch HTML when a text selection
is created.

Signed-off-by: Miklos Vajna <vmiklos@collabora.com>
Change-Id: Ic55ddf984d8605c8627e87454a4b4916e15523d1
2024-04-10 08:47:07 +01:00
Miklos Vajna
803df018da cool#8648 clipboard: fix desktop/calc/clipboard_spec.js
Move two functions from desktop/writer/copy_paste_spec.js to
common/helper.js, this way desktop/calc/clipboard_spec.js can do an
explicit Copy and then it passes even with the async copy.

Signed-off-by: Miklos Vajna <vmiklos@collabora.com>
Change-Id: I7874f0ac00a4237a90015b0fbcd67dcfd2e9ad68
2024-04-10 08:47:07 +01:00
Andras Timar
94c9153556 Update Helm Chart with new release 23.05.10.1
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I8b739297ded85f4e24c61a88b4b16c46a3f96626
2024-04-09 17:42:59 +02:00
Andras Timar
5cfcbd2222 remove obsolete/removed files from CI check configs
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: Ia3ee3f6b508c5146df172cb07f4f515627ec75f1
2024-04-09 17:18:51 +02:00
Miklos Vajna
286cd1ccf7 cool#8648 clipboard: fix desktop/writer/copy_paste_spec.js
Once the patch from
<https://github.com/CollaboraOnline/online/issues/8648#issuecomment-2037278091>
is applied to make CanvasTileLayer.js _onTextSelectionMsg() not fetch
the clipboard proactively, this test started to fail.

This happened because the test assumed that once a text selection is
created, we have the HTML for it, which is no longer the case.

Fix the problem by extending the dummy clipboard code to also handle
plain text and by adding a function which triggers the copy(), to
minimize the changes to the actual test code.

This is just a start, lots of other tests still need fixing, and once
the pattern is clear, common code should be extracted to
cypress_test/integration_tests/common/helper.js, probably.

Signed-off-by: Miklos Vajna <vmiklos@collabora.com>
Change-Id: I21ed1143470fa8026e133b0519e114a40fc0ed90
2024-04-09 07:52:33 +01:00
Patrick Luby
3a4c3d7c36 Enable new copy handler on mobile platforms
At least on iOS, the new copy handler works as intended and sends an
uno message to the LibreOffice code.

Signed-off-by: Patrick Luby <guibomacdev@gmail.com>
Change-Id: Ifa7dc0738dccf0642a9fadd48919e00bfb62e402
2024-04-09 08:20:33 +02:00
Gökay Şatır
c6b461cd54 Shorten app.file.calc.cellCursor variables.
Signed-off-by: Gökay Şatır <gokaysatir@gmail.com>
Change-Id: I1abdcac03e77f55d0d0a50a2cb128d4d29991f43
2024-04-08 12:14:46 +03:00
Gökay Şatır
fcb6367cd7 Use SimplePoint for cell address.
Use SimpleRectangle for cell cursor.
Add .clone function to SimplePoint.
Use app.file.calc.cellCursor.visible for checking the cursor visibility instead of null variables.
Replace map._cellCursorPixels with app.file.calc.cellCursor.rectangle
Remove map._cellCursorXY with app.file.calc.cellCursor.address
Replace map._validatedCellXY with SimplePoint.

Signed-off-by: Gökay Şatır <gokaysatir@gmail.com>
Change-Id: I9b1e2c92e5029b2f184055083d35200bb5e6b8c9
2024-04-08 12:14:46 +03:00
Caolán McNamara
e1bf395798 aarch64 doesn't have SYS_futimesat
we picked something obscure, and clearly aarch64 took advantage of
not adding something obscure unnecessary for backwards compatibility
on that arch

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I097ef24c98e23931a3997c743d17d52c0afd52b7
2024-04-07 22:20:10 +02:00
Martin Srebotnjak
affa583eb5 Translated using Weblate (Slovenian)
Currently translated at 100.0% (584 of 584 strings)

Co-authored-by: Martin Srebotnjak <miles@filmsi.net>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/sl/
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I0d6b357e94e0c991a0f3020ec3bb45a5c5b94a6f
2024-04-07 14:13:05 +02:00
Andras Timar
cd9293f95b Translated using Weblate (Hungarian)
Currently translated at 100.0% (584 of 584 strings)

Co-authored-by: Andras Timar <andras.timar@collabora.com>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/hu/
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I16965aacd9f5c285c2cf94505ca76c309c68a020
2024-04-07 14:13:05 +02:00
Andras Timar
9ce1b32d05 Bump version to 24.04.1.2
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I44be7be99a902b2da46aff26a74b3cf8189fdc8d
2024-04-07 14:11:38 +02:00
Caolán McNamara
ee807283d4 drop newly unused HAVE_GETENTROPY and HAVE_SYS_RANDOM_H
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: Iccfa44f56fb0d3b185df3c9c8457cf19d42f85f1
2024-04-07 12:11:48 +02:00
Michael Meeks
144b701453 cool#8703 - Drop random node creation and rely on inherited fd.
Re-using an inherited file descriptor to /dev/urandom frees us
from problems with mount options including 'nodev' and removes a
capability from the set we need.

Change-Id: I70337e923f802d7efbd3159c11a4e39f6529b6e6
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
2024-04-07 12:11:48 +02:00
Michael Meeks
7311352dd6 Random re-work: keep a file-descriptor open to /dev/urandom
This should be inherited by forked children, and kept alive at all
times. If we have it already open everywhere, there seems little
benefit to the getrandom / getentropy system calls.

Change-Id: I5d58f7216c65febd161cbd78c24308d9192830ee
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
2024-04-07 12:11:48 +02:00
Michael Meeks
29ef73868f killpoco: avoid using Poco::Random which likes /dev/random.
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I34659b3fda8a22a1b34416a37e18f483d7961f5e
2024-04-07 12:11:48 +02:00
Andras Timar
5e08727bd5 Fix typo: Bellow -> Below
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I1b9938006734063075ff4e87193289a09f726a35
2024-04-06 17:11:28 +02:00
Oğuz Ersen
4f57fe8645 Translated using Weblate (Turkish)
Currently translated at 100.0% (584 of 584 strings)

Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/tr/
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I41dd523b698ed045350da7bc94e7ba93c028feee
2024-04-06 17:10:22 +02:00
Matthaiks
00e2a29383 Translated using Weblate (Polish)
Currently translated at 100.0% (478 of 478 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (584 of 584 strings)

Co-authored-by: Matthaiks <kitynska@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/help/pl/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/pl/
Translation: Collabora Online/Help
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: Ib6cff3505678989abd2bb5ebb4c5f32a177916e7
2024-04-06 17:10:22 +02:00
gallegonovato
5ef7265f5c Translated using Weblate (Spanish)
Currently translated at 100.0% (584 of 584 strings)

Co-authored-by: gallegonovato <fran-carro@hotmail.es>
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: Id0232aecaa33814f268ba1d828d0dbb02813f79b
2024-04-06 17:10:21 +02:00
Szymon Kłos
ee256370dd Remove unused hideTooltip function
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: If83bee032183fe93489eb8ff98f6f036528bd48b
2024-04-06 01:18:20 +02:00
Szymon Kłos
d79ca54bf7 Move updateVisibilityForToolbar to toolbar base class
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I81c24b50a304ac6771feedfb241a2af54fef8b2c
2024-04-06 01:18:20 +02:00
Szymon Kłos
1ad7500dfb mobile: show/hide align menu correctly
after accessibility rework in notebookbar we use "-"
as separator between id sections for something...

this breaks getting the menubutton items by id,
let's avoid that character then

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I58f6c03bd635e981986b64ae2acfc43561146e8f
2024-04-06 01:18:20 +02:00
Szymon Kłos
92588928ab statusbar: hide icon for language menu
it wasn't there before w2ui removing

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Iaef58f76b8cd8aaa606dc6384d458448c24d5564
2024-04-06 01:18:20 +02:00
Szymon Kłos
6a1b5ec7d8 Firefox compatibility fix: text-wrap
As in https://caniuse.com/?search=text-wrap
text-wrap property is not used in currently most
popular Firefox versions, let's change it to
more popular white-space property.

It fixed wrapping of text in statusbar in Firefox

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I0fc68fbb128db56844ae8e0174fe292ee95c572a
2024-04-06 01:18:20 +02:00
Szymon Kłos
3d5e04c671 Remove unused userlist code from statusbar
- desktop shows userlist on the top, don't show duplicate in the statusbar
- make behavior compatible with previous version (23.05)
- remove unused signal: it is fired but nothing is listening for it
  (updateuserlistcount)

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Iabcb3b4a926c8941acf2e1425a9a28ede6e88311
2024-04-06 01:18:20 +02:00
Szymon Kłos
4885cbbaeb jsdialog: create base class for toolbars
This allows to share code and provide unified interface
for functionality like: show/hide/enable/disable/insert item.
Also restricted mode is supported for all the items.

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I4a4e7ea43a993751b28f685544827d00b2b3668f
2024-04-06 01:18:20 +02:00