Commit graph

24088 commits

Author SHA1 Message Date
Michael Meeks
0c7cb448ca cypress and C++ tests: enable full trace logging to keep timing the same.
It appears that both cypress and the C++ WOPI tests are extremely
timing sensitive, and fixing this should not hold up merging the
logging improvements. So for now don't disable logging in these modes.

Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I43e8397263e6960b668a29e7ad67f45394c52b52
2024-05-14 18:37:52 +02:00
Michael Meeks
b95e4d8424 Logging: annotate WebSocket, Admin and cleanup Forkit.
Significantly calmer and less frenzied logging output.

Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I0f1782c0b8f10ac3427bac479ded2862f2b40b7a
2024-05-14 18:37:52 +02:00
Michael Meeks
3746a51479 Logging: calm down the most prolific Socket logging sites.
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: Ia2ba1f114397cf8f61a4e42bdf55bdf4c0ac969a
2024-05-14 18:37:52 +02:00
Michael Meeks
9b6ab4c601 Logging: add Area parameter and new LOGA_ macros to annotate areas.
Add logging.disabled_areas setting to coolwsd.xml with some sensible
things to ignore unless they are warnings/errors.

Kit code duplication around logging is grim; but not fixed in this
commit.

Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I36bebb2b3c8d64a814d7b10c167d582de0baf4e5
2024-05-14 18:37:52 +02:00
Henry Castro
3cc17d6583 browser: fix doclayer de-reference
Change-Id: Ibea3a7dc30f8e948044cb513ff4f54166a50d162
Signed-off-by: Henry Castro <hcastro@collabora.com>
2024-05-14 16:44:40 +01:00
Michael Meeks
ff8dbe7fde cool#9045 - close clipboard race by waiting for completion.
To avoid the HTTP[S] request racing the websocket and sometimes
loosing we need to:

* get a notification from the Kit when the copy / cut is complete
* wait on a Promise for this, to allow the HTTP fetch to start
* re-work to do a single, rather than two fetches by sharing
  the download promise.

Change-Id: Ic23f7f817cc855ff08f25a2afefcd73d6fc3472b
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
2024-05-14 13:19:52 +02:00
Miklos Vajna
0ef5e740a4 fuzzer, clientsession: fix build
Probably went wrong in commit de985834e2
(wsd: simplify DocumentBroker construction, 2024-04-03).

Also init logging to avoid:

common/Log.cpp:664:16: runtime error: downcast of address 0x6070000005d0 which does not point to an object of type 'GenericLogger'
0x6070000005d0: note: object is of type 'Poco::Logger'

similar to how COOLWSD::innerInitialize() does it.

Signed-off-by: Miklos Vajna <vmiklos@collabora.com>
Change-Id: Ic16bb2f070e1f0e12204bcc2fc70303d8c1250c8
2024-05-13 08:29:07 +01:00
Caolán McNamara
60598961cd cid#318908 Uninitialized scalar field
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I70e1a5cdec637fc92cab294953599afe667a55cd
2024-05-13 08:44:03 +02:00
Caolán McNamara
95fcde9ddd cid#365245 Uninitialized pointer field
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I1fedbde5715f2adb0218bf61ae7014797fb43990
2024-05-13 08:44:03 +02:00
Caolán McNamara
c46df319ec cid#366099 Uninitialized pointer field
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I30949ae9a944a1c254c24a49519b22cf6202a14f
2024-05-13 08:44:03 +02:00
Neil Guertin
6bc7e3a356 Fix mobile/impress/apply_font_text_spec.js
Stabilize test by removing lots of extra shape selection
Stabilize "Apply highlight on selected text" by waiting before
color picker.

Signed-off-by: Neil Guertin <neil.guertin@collabora.com>
Change-Id: I60e5e571be181bd6f43db1727854973aca446b99
2024-05-12 11:47:22 -04:00
Michael Meeks
1c4d71a974 cool#8747 - disable un-necessary fsync'ing.
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I4d1a041f94ead329d9973aaacd85f40001417cf2
2024-05-11 19:31:33 +01:00
Ashod Nakashian
7d90faf2e4 wsd: serve all files through sts
Change-Id: I16b4d2a93ab5ec6f2a277b1b2e6be61c3515c2c8
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2024-05-11 14:37:00 +02:00
Ashod Nakashian
e546a5c602 wsd: refactor hsts header
Change-Id: I153e148bcbf9c0675d24a0b65314c6ffe4c74313
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2024-05-11 14:37:00 +02:00
Gökay Şatır
e06bc471ef Remove unused code and CSS rules.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: Ie5ba30b4080770e51c37e1266e1613c169e58cfa
2024-05-10 22:11:29 +03:00
Gökay Şatır
717e837211 Use simpleRectangle for docLayer._graphicSelection.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: Ibc84782abf8e7668d31360e106fc73522fcd4494
2024-05-10 22:11:09 +03:00
Michael Meeks
3feb7fe58c bgsave: don't process left-over tile messages from the KitQueue.
If we had a tilecombine processed in the same queue and before
a save - the 'render tiles at the end' state would be inherited by
the background save process and result in excess work, and also
binary messages where only text messages are expected returning.

The rest of the queue is cleared post fork.

Add unit test - plus hook to hold queue processing.

Change-Id: Iee937897000bc3ac149599844f1eab005affb131
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
2024-05-10 16:30:37 +01:00
Michael Meeks
fff63bec45 Forkit needs to wakeup to waitpid processes.
This should cleanup jails more quickly.

Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I2f7c7753614f0845a4d81d69334834047d661e41
2024-05-10 16:30:37 +01:00
Michael Meeks
8b7549b8f7 bgsave: lower priority of background thread.
Free CPU cycles for interactive processes.

Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I9d8cfe5f3541c9424d51c69380e1c72920154ff4
2024-05-10 16:30:37 +01:00
Caolán McNamara
34b75306c3 AddressSanitizer: memcmp issue
/usr/bin/coolforkit
	memcmp
		asan/../sanitizer_common/sanitizer_common_interceptors.inc:875 (discriminator 9)
/usr/bin/coolforkit
	(anonymous namespace)::textItem(std::vector<char, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool&)
		online/kit/KitQueue.cpp:52
/usr/bin/coolforkit
	KitQueue::put(std::vector<char, std::allocator<char> > const&)
		online/kit/KitQueue.cpp:94

since:

commit f8a0d6c086
Date:   Thu May 9 15:29:49 2024 +0100

    Callbacks: minor efficiency wins, avoid tokenizing where we can.

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: Ie5d0f86bb33c810b6a5f177421485c977b7fc79a
2024-05-10 16:16:49 +02:00
Henry Castro
15338e91c3 browser: preview: replace meta preview place holder
It is required to initial preview place holder,
otherwise, there are some cases that the server takes
time to serve preview_placeholder.svg and it may cause
an ugly effect.

Change-Id: I70ac46c8c464b64a09f091cdf5f8644d208a79d4
Signed-off-by: Henry Castro <hcastro@collabora.com>
2024-05-10 14:58:19 +01:00
Henry Castro
95e8ea0a95 browser: preview: remove unused code
Change-Id: I1ebf8611b898f52209fd6d4a6f20a749cbb05e07
Signed-off-by: Henry Castro <hcastro@collabora.com>
2024-05-10 14:58:19 +01:00
Henry Castro
511bd3b7c6 browser: preview: simplify _onScroll function
Change-Id: I4bf06c92299af5375f01a5be63bb95268257be1c
Signed-off-by: Henry Castro <hcastro@collabora.com>
2024-05-10 14:58:19 +01:00
Michael Meeks
d4d4731136 Cleanup condition check for a quick poll.
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: Ica75605d3a12e7eae86cc0e4cbebb722aef92919
2024-05-09 17:47:15 +01:00
Michael Meeks
f8a0d6c086 Callbacks: minor efficiency wins, avoid tokenizing where we can.
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I2ef647fd0af7bc83b7b40fd3ce7a49dc799f4339
2024-05-09 17:47:15 +01:00
Michael Meeks
6f49f9398e Split outbound callback processing from incoming message queueing.
Now we always send callbacks as soon as possible back to wsd from the
kit. This has several implications:

1. even when InputProcessing is disabled we will send outbound
   progress updates.
2. we should send callbacks much more quickly without waiting for
   other queue events to be processed eg. tilecombine:

We also drastically simplify storage of callbacks, avoiding lots of
re-parsing of the same strings, and allow much more efficient
comparison and merging at a small space cost in queue size.

Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: Ia1ede5406767f895616a52775316ee6ab1c5db09
2024-05-09 17:47:15 +01:00
Michael Meeks
320606c225 KitQueue - remove more un-necessary code, and helper use.
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: Ic11db8ac1391bd22b4adcae40c99fa4ca99790f1
2024-05-09 17:47:15 +01:00
Gökay Şatır
70ff910f20 Fix variable type error in "setDesktopCalcViewOnZoom" function.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: Idcd7040271e26bad4d04921bcb19dfb0ed45169b
2024-05-09 18:24:47 +03:00
Ashod Nakashian
6f725087a1 mount: remove test-mount directory
Change-Id: Iff128a22ac7d0fa3e6514e62e1f4ea92a60f052b
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2024-05-09 15:32:26 +02:00
Ashod Nakashian
b33f822871 wsd: mount: safeRemoveDir will not error when unmount fails
safeRemoveDir is tries to unmount blindly, so there
is little point in erroring when the directory
in question isn't a mount-point at all.

Change-Id: I6db0fd9406493060ce52a69f7d935b0958e2d2be
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2024-05-09 15:32:26 +02:00
Ashod Nakashian
dac5c0341f mount: avoid hard-coding
Change-Id: I6857510a9d0442cc357886b453d369f1e4b8f53f
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2024-05-09 15:32:26 +02:00
Ashod Nakashian
4d8d1119a2 mount: reduce failure noise
Change-Id: I2709a4a220f6d1db42e5259e0a883d4c74066bef
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2024-05-09 15:32:26 +02:00
Neil Guertin
5a9c6a0e37 Cypress: Add cypress-terminal-report printLogsToConsole option
This is already the default behavior. Writing it here just
makes it easier to change.

Signed-off-by: Neil Guertin <neil.guertin@collabora.com>
Change-Id: Iebde47f5b64ae1509e7f37b884ad71fdc067b164
2024-05-09 08:27:42 -04:00
Neil Guertin
982f865cc7 Skip failing test desktop/writer/invalidations_spec.js
Test is failing because of an extra empty invalidation
when clicking between the body and the header

Signed-off-by: Neil Guertin <neil.guertin@collabora.com>
Change-Id: I887c9bc028f2b831d205bba2944c734cafb1743d
2024-05-09 08:27:37 -04:00
Gökay Şatır
62239215da Update the test for now - it omits visibility check.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: I9c55379afa9175360e16e036e7620b83168ce9f8
2024-05-09 13:28:54 +03:00
Gökay Şatır
e0e5a6a418 Cypress updates.
Change the cell selection circle color in dark mode.

Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: I23826bdf0a09fa7e8b1c25132842f98e37997034
2024-05-09 13:28:54 +03:00
Gökay Şatır
9b3038c70f Initialize CanvasSectionContainer as soon as the canvas HTML element is initialized.
Move section definitions under canvas initialization.
Use app.sectionContainer instead of painter_sectionContainer.

Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: Ie10bfa36fca30bd1dda42adab2bbf2a16c418717
2024-05-09 13:28:54 +03:00
Gökay Şatır
f64521caa1 Fix indentation.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: I9b5334ee7b8178503eef7c4790acb8a5ac1f8340
2024-05-09 13:28:54 +03:00
Gökay Şatır
5a28490394 Remove unused CSS class targets.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: Ibf93bf3f28b6ae06374bc992cc733f9ad9b0a419
2024-05-09 13:28:54 +03:00
Gökay Şatır
975385f0d2 Move canvas sections and section container into canvas folder.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: I952e1770b5708381cef5cfbf1f02e6ec4b0502ad
2024-05-09 13:28:54 +03:00
Gökay Şatır
a15e4e25e0 Use CellSelectionHandle sections on mobile view.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: I4409981e8de2fca6211236590f3096b765456ed6
2024-05-09 13:28:54 +03:00
Gökay Şatır
ecdcc369d6 Replace _textSelectionStart and _textSelectionEnd with SimpleRectangle(s).
Also move them into their sections.

Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: I677a100c859ac8986f5609d9caa5187ef81818dd
2024-05-09 13:28:54 +03:00
Gökay Şatır
b9e7d071a2 Add functions for sections' shown status.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: Ia480364c76b149177643971a0a29a2410c32475e
2024-05-09 13:28:54 +03:00
Gökay Şatır
932b99cf12 Finalize text selection handles.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: I3d7a9a01903455c2b4c9303a27dd37702650cbb3
2024-05-09 13:28:54 +03:00
Gökay Şatır
8a0843764b Move DropDownSection into its own file.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: I4cab2546f6828ab3c76ba8a4e06601904a06502e
2024-05-09 13:28:54 +03:00
Gökay Şatır
551b9cb104 Replace textselection markers with textselection handlers.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: I2de0c4720250022d5547f3f657e277949721ba92
2024-05-09 13:28:54 +03:00
Méven Car
6fc6f07572 UI: improve combobox appearence
Since f7491e1f62de5401529db40b8b899e5c0563badc all combobox started
having a with and min-width of 100px, this wasn't meant to be.
Restrict this width setting to .jsDialog.

Add 5 px left padding to combobox, this looks better.

Set the font combobox width to 5em instead of 50px.

Signed-off-by: Méven Car <meven.car@collabora.com>
Change-Id: I0f0247471376e4633f3bbffab89285e16f78cde9
2024-05-09 11:24:44 +01:00
Bayram Çiçek
6300853c4d fix prettier error
Signed-off-by: Bayram Çiçek <bayram.cicek@collabora.com>
Change-Id: I666337388d570898720b1055145d7dfe3b4b80cf
2024-05-09 12:19:01 +02:00
Szymon Kłos
fcbd08f98c Mention: share more code
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Ic9fd29a05cbc2e62abb9f3651cdb771ab1d9adf0
2024-05-09 12:19:01 +02:00
Bayram Çiçek
e92d048926 add AutoCompletePopup.ts base class
Signed-off-by: Bayram Çiçek <bayram.cicek@collabora.com>
Change-Id: I60e69fcc7eda3c76cf6e3309cdbc6ab777a90292
2024-05-09 12:19:01 +02:00