Commit graph

21848 commits

Author SHA1 Message Date
Pedro Pinto Silva
e2b64a71a7 CSS: Removed unused document-signing-bar
We no longer create that w2ui bar and we also have removed any element
with that id or parent from cool.html.m4 with that name. So, this can
be removed.

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I26c9e66de44fe8a8f8ad785031c640d32960a350
2023-10-05 15:07:24 +02:00
Andras Timar
4aff3d8be2 remove signing-identities.html
it belonged to the removed unused document signing code

Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: Idf57b30a508381e02c8d62196de38c828cd77f2f
2023-10-05 15:07:24 +02:00
Pedro Pinto Silva
99b423eac2 Tabbed: Calc: Scroll indicator is 3 pixels misaligned
The scroll indicator set with an absolute position ends up being
positioned in the 0 y coordinate. Since the wrapper has a top padding
of 3 pixel it means the scroll indicator is not 3 pixel off.

Also, and since these measurements are set in the CSS (the height of
the wrapper and the padding of the other wrapper), better to just move
everything to the CSS and avoid unnecessary inline styles.

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: Icc1e51b2590ee27b318f9e4c3d550183b08cb49d
2023-10-05 11:36:14 +02:00
genofire
1cd9c753f2 fix(ci): do not set helm to current github-release
Signed-off-by: genofire <geno+dev@fireorbit.de>
Change-Id: I2658fdefde7e40ab46cae2b9a3c0bfcac4ce626f
2023-10-05 14:50:36 +05:30
Rash419
72da1dccaf docker: fix all aliasgroup env variable values added to blocked list
Signed-off-by: Rash419 <rashesh.padia@collabora.com>
Change-Id: Id7480ab88564965cc7aba34c5020daaf18259815
2023-10-05 11:17:49 +02:00
Caolán McNamara
0ba51f81e7 promote quarantine log message from debug to warn
and tidy the message wrt crash after/before change

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: Ie4b4b700e7b1e029d077e5726bd35ff4e769fb6d
2023-10-04 17:29:25 +01:00
Caolán McNamara
5b085dec8e quarantine document after an unexpected disconnection from kit
so we capture crashes that happen while a document loaded before
any modifications could take place.

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: Id8b9ae3e6921aa0be770dbe1ad8fcf9b53a85e8d
2023-10-04 17:29:25 +01:00
Caolán McNamara
14d4d18701 don't immediately delete jails where there was a crash
skip deleting those jails for a few minutes to allow
the DocumentBroker to quarantine the document

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I781eeb77d491fe82a0bfe42eb09439c88f2454b7
2023-10-04 17:29:25 +01:00
Caolán McNamara
ec10114f2f quarantine of unmodified original file doesn't succeed
Error while copying from foo.ods to /opt/cool/quarantine/1696408774_5231_blah_foo.ods: Failed to open src foo.ods| common/FileUtil.cpp:162

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I49143f4d7df0c4c1494f28f8f6fe03d8cb045ab0
2023-10-04 17:29:25 +01:00
Caolán McNamara
3e67acd361 cid#318942 Unchecked return value from library
use a more standard way to zero the _sb stat struct

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I98973affe6b96a5779cfc3eef3c349019c34d0a0
2023-10-04 09:57:39 +02:00
Caolán McNamara
cceebfed94 cid#323636 Uninitialized pointer field
and use online standard member prefix

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: Ia7681870128185ecba27da0e344912e393e9114b
2023-10-04 09:57:39 +02:00
Caolán McNamara
d1e00dbe1b return false early on 'null' origin
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I9cdb26c3d2787beac6e2344d5f768e0fa6993bd8
2023-10-03 18:03:43 +01:00
Caolán McNamara
9a28f5ef71 Fix JSON syntax error for some Hebrew strings
same fix as:

commit 4ab2810fa5
Author: Tor Lillqvist <tml@collabora.com>
Date:   Tue Apr 5 16:20:35 2022 +0300

    Fix JSON syntax error for some Hebrew strings

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: Ic25bffa209cb7875756f3474547585ae7e69e4ba
2023-10-03 16:10:28 +02:00
Caolán McNamara
672f3cee2c rework URP to use a dedicated channel
Instead of fighting the SolarMutex to get the messages
processed by the main loop. Simple and no additional
threading, mutexes etc.

messages from the external uno client are just
written to URPtoLoFD and the core reads from that

messages to the external uno client are written
to URPfromLoFD by core, that fd is in poll, and
activity there triggers a read by the DocBroker
to send it to the external uno client.

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: Ib1f0a0d5fb5ab22eee476d5d740b290c51de59dc
2023-10-03 10:15:55 +01:00
Skyler Grey
e6d9c1f87c Add support for URP messages in COOLWSD
- Allow COOLWSD client sessions to forward messages with the prefix
  'urp' to the child, and return messages with 'urp:' to the client,
  communicating with binary
- Make COOLWSD child sessions use the FunctionBasedURPConnection from
  https://gerrit.libreoffice.org/c/core/+/155100
  (core change ID I2bda3d0b988bef7883f9b6829eeb5b7ae8075f27) to start a
  new URP session
- Make COOLWSD child sessions submit messages to this URP session,
  stripping and adding the 'urp' and 'urp:' prefixes so the Java client
  from https://gerrit.libreoffice.org/c/core/+/154680
  (core change ID I91ee52922a24688a6b94512cb7e7bc760bf25ec9) can
  use the connection (and to avoid interference with any other websocket
  messages)
- Add a COOLWSD option for enabling/disabling URP given the security
  implications around allowing anyone to write URP (e.g. URP lets you
  run shell commands so a mallicious actor can take over the child
  session)

Signed-off-by: Skyler Grey <skyler.grey@collabora.com>
Change-Id: Idadfe288a78cfd72b01253dfdade150d506e3f05
2023-10-03 10:15:55 +01:00
Andras Timar
e591b1e08b Update translations from LO core
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: Ie7f99deb55a7c1fcfffcb6fd05423b66a7eeb7a5
2023-10-03 11:07:44 +02:00
Cosmin Humeniuc
1d25188821 Adapt locorestrings.py for Python 3
Signed-off-by: Cosmin Humeniuc <cosmin.humeniuc@1and1.ro>
Change-Id: I0328dc4cb97aa143fc2911255817b7cc636b5bec
2023-10-03 10:58:39 +02:00
Gabriel Masei
bd9266f6fa Calc: fix Format->Sparkline menu items in notebookbar
Signed-off-by: Gabriel Masei <gabriel.masei@1and1.ro>
Change-Id: Ic51d3d020568e4c9488cc8be71ea446e66227a25
2023-10-03 04:26:13 -04:00
Balázs Varga (allotropia)
99c14f99e1 WASM: fix wasm build errors
Signed-off-by: Balázs Varga (allotropia) <balazs.varga.extern@allotropia.de>
Change-Id: I104e98ae1ddc64af55e4df0ccb301d5e88e0288d
2023-10-03 10:18:46 +02:00
Skyler Grey
a8e97f6220 Fix tablet-mode tabs due to read-only mode change
After 5520965b15, tablets no longer had
the context menu registered as they always start in read only mode. This
commit moves the check for tablets so it is when the long-press is being
triggered.

Signed-off-by: Skyler Grey <skyler.grey@collabora.com>
Change-Id: I60da2482b711c90676ae49c8b3134d02a6cd1b02
2023-10-03 09:40:03 +02:00
Skyler Grey
0dcb6e04c7 calc: Show tabs context menu on a tablet's press
Previously, tablets were treated as desktop devices for the purposes of
the calc sheet context menu. Unfortunately, this requires a right-click
to open the menu: a long press won't do.

To reproduce before this commit:
- Open calc on a tablet
- Open a spreadsheet
- Long press on one of the tabs at the bottom
- Notice how there's no menu, so no way to rename/move sheets/delete
  sheets etc.

On a proper mobile device (i.e. a phone) a mobile wizard opens allowing
you to perform these operations.

This commit makes calc trigger the context menu if you're on a tablet
and long press on one of the sheet buttons. Notice how it wouldn't be
right to simply apply the mobile behavior to tablets as everywhere else
they use regular dialogs and context menus rather than mobile wizards.

Signed-off-by: Skyler Grey <skyler.grey@collabora.com>
Change-Id: Ibf25b0d76d8487e582ed6a6cf1f82467869453f6
2023-10-03 09:40:03 +02:00
Miklos Vajna
a0944a0b5e Fix the --enable-fuzzers build
Failed with:

	fuzzer/HttpEcho.cpp:111:17: error: 'removeSockets' is a private member of 'SocketPoll'

And:

	kit/Delta.hpp:208:(.text._ZN14DeltaGenerator14DeltaBitmapRow7initRowEPKjj[_ZN14DeltaGenerator14DeltaBitmapRow7initRowEPKjj]+0x127): undefined reference to `simd_initPixRowSimd'

Signed-off-by: Miklos Vajna <vmiklos@collabora.com>
Change-Id: I6d980698b43ca3545d9eae5f40eabaf4e442ca17
2023-10-02 20:15:42 +01:00
Ashod Nakashian
7d0276c394 killpoco: replace LocalDateTime
This replaces Poco's LocalDateTime, which
took a lock, called tzset each time, and
did unnecessary Julian-to-Gregorian conversion.

The result is a standards-compliant implementation
that is about an order of magnitude faster (0.3 us
vs 3 us on average).

Change-Id: Iced73056a9f9e6497106224c351110113e21d8d6
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2023-10-02 20:14:53 +01:00
Ashod Nakashian
c5d47b4b20 wsd: log: verify that all threads are stopped
This verifies that in debug-builds the log
thread-local buffers are destroyed, and
therefore the threads are gracefully stopped.

This is necessary to make sure no log entries
are lost by the time we exit the process.

Change-Id: I0db20835109e92d8758a5c4eec6845cd240da025
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2023-10-02 20:14:53 +01:00
Ashod Nakashian
483a602f93 wsd: log: BufferedConsoleChannel with thread-local buffer
This gives each logging thread its own buffer.
We then guarantee that all threads exit clearly
and flush their buffers.

For now, we don't flush buffers when fatally signaled,
primarily because of technical complexities.
Specifically, we don't know if we have a Poco logger
or our Buffered Logger, and there are a host of
threading and signal-safety concerns. To be revisited.

Change-Id: I39674a25feeee3aabd87c8b707ea1adf3c039817
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2023-10-02 20:14:53 +01:00
Ashod Nakashian
150663cc28 wsd: stop the rendering thread pool before exiting
Change-Id: I8a084ee1fd583f6c37ba4ca8c1ebf8abe74288a2
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2023-10-02 20:14:53 +01:00
Ashod Nakashian
370b649b3e killpoco: own implementation of ColorConsoleChannel
This replaces Poco's ColorConsoleChannel with our
own, which is simpler and more efficient. It also
doesn't break log entries arbitrarily (only when
the entry is exceedingly long).

Change-Id: I46ba58d35bc913ca83fe97aaaa958c03b81ae44e
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2023-10-02 20:14:53 +01:00
Ashod Nakashian
066af307ba killpoco: own implementation of BufferedConsoleChannel
This is a buffered version of our ConsoleChannel.

Change-Id: Ie1728e136376fdf82ec28010b67d8344fd812768
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2023-10-02 20:14:53 +01:00
Ashod Nakashian
57a9cf053a wsd: support EnableExperimental in Log
Now that we depend on EnableExperimental in Log.cpp,
we must define it in the standalone binaries that
otherwise don't define it.

Change-Id: Ic56032eaf6df7d0d5d707a60eeddf2d75c9041ac
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2023-10-02 20:14:53 +01:00
Ashod Nakashian
a00fbae7c5 wsd: log: retry on write failure and flush
Change-Id: I7417a74959a52e2a079bfe4502ed238d1517ea60
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2023-10-02 20:14:53 +01:00
Ashod Nakashian
56fd825187 killpoco: our implementation of ConsoleChannel
This replaces Poco's implementation of ConsoleChannel
which has a horrible issue with writing the new line
in a separate syscall. This often results in multiple
log entries on the same line and other horrors.

This implementation does no buffering.

Change-Id: I8d18de1313d8f160270ec04552ba7e7b69d2363e
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2023-10-02 20:14:53 +01:00
Ashod Nakashian
c936f0e713 wsd: set up signal handlers early
There are very rare cases (with unit-tests)
where due to early race-conditions a signal
is raised. This helps us catch those early
cases, before the Poco config and init are
executed.

Such a case exists with tzset() and setenv().
While getenv() is thread-safe, setenv() is
not. When tzset() calls getenv(), it can
race with setenv() from a different thread.

Since we only call setenv() during
initialization, this risk is only at startup.

Change-Id: I5e3e593a5d93dd9335d8dfde932f764a45c975c1
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2023-10-02 20:14:53 +01:00
Caolán McNamara
131d503b93 reduce cost of TileCombined::parse
perf reported 1% of time in collaborative multi user test
on 2023-09-14 was spent in TileCombined::parse.

generic-ize and reuse the TileDesc::parse approach for
TileCombined::parse to avoid need for std::unordered_map

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: Iadfc2001e298d8f4d46200c8488f0eb4cd8734c2
2023-10-02 20:05:07 +01:00
Szymon Kłos
c713e0b728 mobile: allow scroll outside data area
mobile screen is very small and there was not
enought space to scroll to the place where we "extend"
scrollable area, this caused that in spreadsheets we
were not able to scroll outside last used cells

- this patch make us able to scroll few lengths of screen
  outside data for non-desktop devices to fix that issue

- add threshold for automatic pan after bounds has been changed
  to avoid jumping of the screen back

- use twips everywhere

regression commit 48ec2f5925
Limit scrollbar range to used area in the spreadsheet

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Idf5890764462947d895df7f65b30a1d82dd64067
2023-10-02 19:44:09 +02:00
Caolán McNamara
3b3b62c95c remove unused used method
which is a little dubious anyway

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: If12bd7807ca5f2cff0ca05cad4948962b0cf6688
2023-10-02 17:33:14 +01:00
Timur
eee4203bac Translated using Weblate (Bosnian)
Currently translated at 13.8% (72 of 519 strings)

Co-authored-by: Timur <timur@libreoffice.org>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/bs/
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I9d4bed1e7e144bca1f5b1a7c6439240c7b3725bb
2023-10-02 16:56:49 +02:00
Gökay Şatır
6bf3c11c0c Impress shortcuts:
* Add CTRL + HOME and CTRL + END for selecting the first or last slide when slide sorter is focused.

German shortcut updates:
* F12 for save-as.
* SHIFT + F9 for showing / hiding the grid.
* SHIFT + F3 for changing the character cases.
* SHIFT + F5 for starting the slide show with the current slide.

Signed-off-by: Gökay Şatır <gokaysatir@gmail.com>
Change-Id: If9eb59377af29bebfe89fa42ea9d5afdd1bf2335
2023-10-02 17:56:27 +03:00
Szymon Kłos
18c02410e6 mobile: fix snackbar button position
This fixes regression from:
commit 07c3538589
mobile-wizard: create separate window container

The snackbar with action button like "leave feedback | ok"
or "we can reconnect | reload" had buttons below text
what looked bad and it was not possible to click

We introduced separate windows inside main
mobile-wizard-content container which have class
.mobile-wizard-content - let's use the same rules
as before for popups

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I506aaf34741fb1ff879c0c5c44a5958d6be9912c
2023-10-02 14:55:23 +02:00
Szymon Kłos
1f11d328a1 mobile: fix snackbar text
This fixes regression introduced in:
commit b6c26bee91
Mobile sidebar header layout #6861

- remove additional top border
- make line height regular so text will fit into snackbar
  without scrollbar

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I72a1e7121d58a7583bd4efce9728c25231c7d8de
2023-10-02 14:55:23 +02:00
Szymon Kłos
39399a93c5 Fix typeerror on key event in interaction handler dialog
This fixes error:
Map.Keyboard.js:364 Uncaught TypeError: Cannot read properties of undefined (reading '_docType')
    at NewClass._globalKeyEvent (Map.Keyboard.js:364:3

When we open document which requires some interaction from user before
load and we press any key - that error appears. It can be seen with
macro warning or broken file warning.

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Ib7b3681d047dd61ffde0364ad40a4d542a5fd548
2023-10-02 13:23:25 +02:00
Gökay Şatır
67bde47cee Signed-off-by: Gökay Şatır <gokaysatir@gmail.com>
Change-Id: I4dd197666db5f85e6ba750857eba4ef6eb51d646

German shortcut changes for Calc:
* F12 for save as.
* SHIFT + F3 for function dialog.
* SHIFT + F2 for new comment.
* F9 for re-calculate.
* F5 for focusing on address input.
* ALT + 0 for format cells dialog.
* CTRL + SHIFT + L for auto filter.
* CTRL + F1 for expanding / collapsing notebookbar.

Change-Id: If9bcf4f696f4575061443423645726860d14eafe
2023-10-02 11:45:45 +03:00
Rash419
9d6b1d148b don't request new tiles unnecessarily on canonicalidchange
- it applies for 2 cases:
1. when document is loaded for the first time document already has
tiles of respective theme
2. when Kit loads the document it sends canonicalidchange  unconditionally
(5520965b15/kit/Kit.cpp (L1708))
we don't need to request new tiles for that also

Signed-off-by: Rash419 <rashesh.padia@collabora.com>
Change-Id: I42cdc5a03e70c3d3d653f3124d3d5ed9382e22c0
2023-10-02 13:29:25 +05:30
Patrick Luby
4b71e988b4 Fix compiler warnings when building on macOS Sonoma
Signed-off-by: Patrick Luby <plubius@neooffice.org>
Change-Id: I7e88e0ba272fc00892059c96a2cd0237657e23b9
2023-10-02 08:50:52 +01:00
Caolán McNamara
b25d7617d6 cid#318824 avoid Calling risky function warning
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I871035b7879157467b97e5610a38d0b53f934766
2023-10-02 08:30:42 +02:00
Caolán McNamara
ed59e9e3b0 cid#318948 Unchecked return value from library
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I543f7150c23fe6a6cffc3333754e413ee4c190a4
2023-10-02 08:30:42 +02:00
Caolán McNamara
dd2f0e26f6 cid#318881 Unchecked return value from library
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I6c02e392a96717c4ebc6f50e56bcec553aa328bb
2023-10-02 08:30:42 +02:00
Caolán McNamara
14dce568f0 cid#318836 Resource leak
in error branches dlclose unusable dso, leave it open on success

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I3a2eafceb573cc59ada922d98ae6a9b421d6accc
2023-10-02 08:30:42 +02:00
Andras Timar
16306b4966 Translated using Weblate (Portuguese (Brazil))
Currently translated at 91.5% (475 of 519 strings)

Co-authored-by: Andras Timar <andras.timar@collabora.com>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/pt_BR/
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I7b5d91997166b81d7a5bc608df80f8ee5b1a7474
2023-10-01 13:42:25 +02:00
Aron Budea
c068bce4cc Translated using Weblate (German)
Currently translated at 99.4% (516 of 519 strings)

Co-authored-by: Aron Budea <aron.budea@collabora.com>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/de/
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I363c27e2dcea196f43fab2dfa5dae611359716dc
2023-10-01 13:42:25 +02:00
ButterflyOfFire
05eecc19c0 Translated using Weblate (Arabic)
Currently translated at 58.1% (64 of 110 strings)

Co-authored-by: ButterflyOfFire <boffire@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/android-app/ar/
Translation: Collabora Online/Android app
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: Ia53b05b21e1841b31724e1063d41fcf0c5f26c6b
2023-10-01 13:42:25 +02:00