Commit graph

22418 commits

Author SHA1 Message Date
Skyler Grey
1adece89d6 Make eslint in make check fail on eslint warnings
As discussed [on Matrix](https://col.la/suppresseslintindevelopment) the
set of things we want to pick up in CI and development are different.
Specifically, there are some things that only get in the way during
development but should not be allowed in merged code. Examples are
'debugger' statemens, dead code (e.g.  resulting from 'if (false)') and
unused variables.

After #7822 there are no more eslint warnings, so we can use it as a
separate state for these issues that should only block in CI.

This commit make make check run eslint and fail if it receives any
warnings, and changes those 3 errors so that they only emit warnings.

It's expected that there are more annoying warnings which I've missed,
if you have any please make a followup change!

This commit explicitly does not deal with formatting-related
issues (e.g. requiring single quotes for strings in eslint) as though
they can be annoying there's no reason why they should change between
development and master... another followup to improve linting experience
could be to use an autoformatter so the computer fixes the formatting
for you, however that's out-of-scope for this commit

Change-Id: I036afac5ef5056a9cc2effc21e31165aa1436ad2
Signed-off-by: Skyler Grey <skyler.grey@collabora.com>
2023-12-19 20:25:43 +00:00
Bayram Çiçek
07da51cc55 Calc tabs: remove drop zone indicator after drop
- we need to remove 'tab-drop-area-active' class
after a sheet tab is dropped, otherwise drop
zone indicator will still be shown after dropping

- this fixes the bug from f8433d323d2f49852501961c7949300b4a59a512
Calc: improve drag&drop functionality of sheet tabs #7846

Signed-off-by: Bayram Çiçek <bayram.cicek@collabora.com>
Change-Id: Iff7ea455452c431907cc7534cbd111e7b4f037d8
2023-12-19 18:51:54 +01:00
Miklos Vajna
458c23e5aa autogen: conditionally invoke configure at the end
This is backwards-compatible and core.git autogen.sh executes
configure, so it eliminates a pointless difference.

Signed-off-by: Miklos Vajna <vmiklos@collabora.com>
Change-Id: I897bd2f6464201a19e26e55006cd52727abdfc41
2023-12-19 15:00:34 +01:00
Skyler Grey
a31e6597cc Stop onscreen keyboards closing when used to move
This relies on core change I5e6c93c64af0d201a8ec045fea5546e189baca74
(https://gerrit.libreoffice.org/c/core/+/160313) as the logic to keep
the cell focused is from there.

Here we set the new option when there is an onscreen keyboard hint given
by ui_defaults or a postmessage. As ui_defaults are set at page load, we
need to wait to send our message until we're initializing everything
else to set our options. Additionally, we need to use the socket
directly rather than sending this through the map so that this bypasses
things like readonly mode

Signed-off-by: Skyler Grey <skyler.grey@collabora.com>
Change-Id: Ie6d80c0e1ebca607b9d705b673ab8008fae39260
Signed-off-by: Skyler Grey <skyler.grey@collabora.com>
2023-12-19 10:50:52 +00:00
Pranam Lashkari
039283733e formulabar: trigger mouseleave event only after mousedown event
problem:
mouseleave was triggered by hovering and leaving formulabar,
this caused formulabar gabbing focus unwanted

Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: I0c0e75b2025e69d425351d9ff75ceccf385d6326
2023-12-19 10:32:57 +01:00
Bayram Çiçek
a72a8536c6 Calc: improve drag&drop functionality of sheet tabs
- drop zone indicator added to the left of all tabs
- additional drop zone indicator added to the right
of the last tab
- added drop zone container at the end of tabs
for the last drop zone indicator

- div#drop-zone-end-container element also adds
a space to the end of the tabs so that the last
tab can be seen easily after scrolling to the end

Signed-off-by: Bayram Çiçek <bayram.cicek@collabora.com>
Change-Id: I25a87bc1798b94c5f294532d308cd46292ef1795
2023-12-18 21:11:06 +01:00
Julius Härtl
9db5f421cf fix: Use proper command + c keyboard shortcut for copy actions on snackbar
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Change-Id: I24d9e01bc23a1dc32a1362f48775c6890f5a77c8
2023-12-18 17:01:27 +01:00
Skyler Grey
61aa037ad9 Fix several regressions from touch unification
Touch unification (b3bff28bede07a48cdecefcda14a6fc9da86e4bb, change ID
I9016fc15ad3ccb3664af348fdcdca006495b0778) was a rework of the input
system to better support touch devices, but unfortunately it caused some
fairly serious regressions. This commit fixes the following:
- Triple/Quadruple clicking was no longer recognized on non-touch
  devices.
- There were some issues recognizing wrapped events
- Pens were considered to be touch devices, but this broke some
  remote/virtual machine setups. It's possible that this change will
  cause a regression for apple pencil users. I plan to get an Apple
  pencil to test whether preventing pens from being touch devices breaks
  the Apple pencil workflow instead
- manualDrag was taken to mean "is on a touch device". This is only
  almost true, causing some input to be incorrectly ingnored when it was
  not
- manualDrag and _manualDrag were confused. They affect different
  things, and we now recognize this

Signed-off-by: Skyler Grey <skyler.grey@collabora.com>
Change-Id: Iab0d3bcca588eaed14469597868a9c4e2dcf8488
Signed-off-by: Skyler Grey <skyler.grey@collabora.com>
2023-12-18 15:28:13 +01:00
Jaume Pujantell
1ce9f834a0 added coolwsd-inproc executable
Added build rules for coolwsd-inproc and some run command to use it.

Signed-off-by: Jaume Pujantell <jaume.pujantell@collabora.com>
Change-Id: I4138ff7337bc354b0221070105dd34ea9ef19691
2023-12-18 10:34:10 +00:00
Jaume Pujantell
35d6e2925f use isKitInProcess() instead of KIT_IN_PROCESS
Removed all uses of KIT_IN_PROCESS, used Utils::isKitInProcess()
when necessary. Also removed the now unused parameter 'limit' from
forkLibreOfficeKit.

Signed-off-by: Jaume Pujantell <jaume.pujantell@collabora.com>
Change-Id: I068d3f55ab49076590f111847c87b3188f4d25d0
2023-12-18 10:34:10 +00:00
Jaume Pujantell
eca990920a add logic to sapwn threads intead of processes
Added code that spawns forkit and lokit in threads instead of new processes.

Signed-off-by: Jaume Pujantell <jaume.pujantell@collabora.com>
Change-Id: I6b6ad6dccfedaf28ebd0d68851205c540b9a0317
2023-12-18 10:34:10 +00:00
Jaume Pujantell
8f178ef6cd extract some functions to extra files for in process mode
Extract some functions from ForKit.cpp and COOLWSD.cpp to new files
so we can do a kit in process mode without using ifdef directives.

Signed-off-by: Jaume Pujantell <jaume.pujantell@collabora.com>
Change-Id: I7529f8f46a8026318244666b27d1ce72ed5ad4ca
2023-12-18 10:34:10 +00:00
Andras Timar
a1e08c1aab Update Helm Chart with new release 23.05.6.3
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: Ie44e132dd230dcb8028aafd9ab249f60c9502a91
2023-12-18 11:49:34 +05:30
Michael Meeks
c2e3a83001 spdx: improve machine and human readability of headers.
Change-Id: I84c93d81f0aea1f79e2ede9186b2864bf11f723a
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
2023-12-16 19:49:05 +01:00
Hubert Figuière
85e36b3bb7 postmessage: Added Action_Fullscreen and Action_FullscreenPresentation
They allow respectively to switch to fullscreen, or to start the
presentation in impress in fullscreen
Action_FullscreenPresentation can get the following arguments:
- StartSlideNumber: the slide to start at
- CurrentSlide: start at the current slide
The options are exclusive to each other. StartSlideNumber takes precedence

Signed-off-by: Hubert Figuière <hub@collabora.com>
Change-Id: I4d97eadf8c119e70e5738df4063d209feb5db793
2023-12-15 09:47:54 -05:00
Pranam Lashkari
a85dd12e94 annotation: avoid exiting edit comment on autosave
show() can hide modify textbox, this broke comment autosave in impress,
but as precaution show doesn't need to be called on newly added autosaved comments

Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: I13fdeb265f46cb9b8786f62a2d6e7e5c4e492f00
2023-12-15 20:12:23 +05:30
Szymon Kłos
37079fb53c annotations: move auto saving properties into CommandSection
To not depend on external objects to store information.
Also use more typing.

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I410b6679ef5e2a7c4f5e73217d5062864a73bc4c
2023-12-15 20:12:23 +05:30
Szymon Kłos
bc281382e7 annotations: revert animation change
This reverts part of commit 93bdcc349b
Annotation: revamp comment autosaving

Let's keep it less changed from the previous stable version.
This doesn't seem to have any impact.

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I5261b4c8e78a9310884017bf314d720265892fbd
2023-12-15 20:12:23 +05:30
Szymon Kłos
66b814e60b annotations: isAutoSaved helper
- we need to check if received comment is "our" autosaved one
- without that we were showing comments from others on the
  screen when we were in "autosaved mode"
- remove "interval" to make it more deterministic

This fixes regression from commit 93bdcc349b
Annotation: revamp comment autosaving

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I0319de0eea16e715e799a6ac1163d78cc1a07654
2023-12-15 20:12:23 +05:30
Andras Timar
049daef3dd Bump version to 23.05.6.3
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I421dbd689fa0d901b359d457d8dc09ca15b26e7b
2023-12-15 10:05:31 +01:00
codewithvk
367f618689 Fix: Many Icons Not Inverting Color In Dark mode cool-help
Signed-off-by: codewithvk <vivek.javiya@collabora.com>
Change-Id: I3015e6a40030d40fe11d2db85703b8be1eefbed1
2023-12-14 15:16:34 +01:00
Szymon Kłos
842fb9b612 Update viewId also if equal 0
if (command.viewid) will not allow set to 0.

This is fillowup for commit f3baeb25b19d8a6200858ecaafe56314836ff73a
Update viewId in Writer after recover from idle

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I4b8d40c2b7aa122e0f4710261d10314a25d521fe
2023-12-14 13:56:33 +01:00
Caolán McNamara
fe32aeffe4 Sometimes we only request two rows of tiles in writer on an initial load
Sometimes we only request and only get two rows of tiles in writer on an
initial load. Most frequently I see this with a non-debug online server
via nextcloud of the default "Welcome to Nextcloud" docx in firefox in
the 2nd or 3rd tab of opening the same document. While the page doesn't
visually resize there is a resize delivered after the initial request
of tiles.

clientvisiblearea x=-8160 y=0 width=28785 height=1575 splitx=0 splity=0 Socket.js:272:10
clientzoom tilepixelwidth=256 tilepixelheight=256 tiletwipwidth=1920 tiletwipheight=1920 Socket.js:272:10
tilecombine nviewid=0 part=0 width=256 height=256 tileposx=0,1920,3840,5760,7680,9600,11520 tileposy=0,0,0,0,0,0,0 oldwid=0,0,0,0,0,0,0 tilewidth=1920 tileheight=1920 Socket.js:272:10
...
tile: nviewid=1001 part=0 width=256 height=256 tileposx=0 tileposy=0 tilewidth=1920 tileheight=1920 oldwid=1 wid=72 ver=92 Socket.js:272:10
tile: nviewid=1001 part=0 width=256 height=256 tileposx=1920 tileposy=0 tilewidth=1920 tileheight=1920 oldwid=1 wid=73 ver=93 Socket.js:272:10
tile: nviewid=1001 part=0 width=256 height=256 tileposx=3840 tileposy=0 tilewidth=1920 tileheight=1920 oldwid=1 wid=74 ver=94 Socket.js:272:10
tile: nviewid=1001 part=0 width=256 height=256 tileposx=5760 tileposy=0 tilewidth=1920 tileheight=1920 oldwid=1 wid=75 ver=95 Socket.js:272:10
tile: nviewid=1001 part=0 width=256 height=256 tileposx=7680 tileposy=0 tilewidth=1920 tileheight=1920 oldwid=1 wid=76 ver=96 Socket.js:272:10
tile: nviewid=1001 part=0 width=256 height=256 tileposx=9600 tileposy=0 tilewidth=1920 tileheight=1920 oldwid=1 wid=77 ver=97 Socket.js:272:10
tile: nviewid=1001 part=0 width=256 height=256 tileposx=11520 tileposy=0 tilewidth=1920 tileheight=1920 oldwid=1 wid=78 ver=98 Socket.js:272:10
...
tileprocessed tile=0:0:0:0:1920:1920:1001,0:0:1920:0:1920:1920:1001,0:0:3840:0:1920:1920:1001,0:0:5760:0:1920:1920:1001,0:0:7680:0:1920:1920:1001,0:0:9600:0:1920:1920:1001,0:0:11520:0:1920:1920:1001 Socket.js:272:10
...
DEBUG: sizeincreased CanvasTileLayer.js:5702:11
...
tilecombine nviewid=0 part=0 width=256 height=256 tileposx=0,1920,3840,5760,7680,9600,11520 tileposy=1920,1920,1920,1920,1920,1920,1920 oldwid=0,0,0,0,0,0,0 tilewidth=1920 tileheight=1920 Socket.js:272:10
tile: nviewid=1001 part=0 width=256 height=256 tileposx=0 tileposy=1920 tilewidth=1920 tileheight=1920 oldwid=1 wid=71 ver=99 Socket.js:272:10
tile: nviewid=1001 part=0 width=256 height=256 tileposx=1920 tileposy=1920 tilewidth=1920 tileheight=1920 oldwid=1 wid=79 ver=100 Socket.js:272:10
tile: nviewid=1001 part=0 width=256 height=256 tileposx=3840 tileposy=1920 tilewidth=1920 tileheight=1920 oldwid=1 wid=80 ver=101 Socket.js:272:10
tile: nviewid=1001 part=0 width=256 height=256 tileposx=5760 tileposy=1920 tilewidth=1920 tileheight=1920 oldwid=1 wid=81 ver=102 Socket.js:272:10
tile: nviewid=1001 part=0 width=256 height=256 tileposx=7680 tileposy=1920 tilewidth=1920 tileheight=1920 oldwid=1 wid=82 ver=103 Socket.js:272:10
tile: nviewid=1001 part=0 width=256 height=256 tileposx=9600 tileposy=1920 tilewidth=1920 tileheight=1920 oldwid=1 wid=83 ver=104 Socket.js:272:10
tile: nviewid=1001 part=0 width=256 height=256 tileposx=11520 tileposy=1920 tilewidth=1920 tileheight=1920 oldwid=1 wid=84 ver=105 Socket.js:272:10
tileprocessed tile=0:0:0:1920:1920:1920:1001,0:0:1920:1920:1920:1920:1001,0:0:3840:1920:1920:1920:1001,0:0:5760:1920:1920:1920:1001,0:0:7680:1920:1920:1920:1001,0:0:9600:1920:1920:1920:1001,0:0:11520:1920:1920:1920:1001 Socket.js:272:10
...
clientvisiblearea x=-8160 y=0 width=28785 height=12075 splitx=0 splity=0 Socket.js:272:10
...
...no tile requests...

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: Id263adbbd98ad0a7c6143d241d0d91e1c28eaac5
2023-12-14 10:28:45 +00:00
Pranam Lashkari
c0527a2cea annotation: only don't hide comments which are editing
now as we only allow one comment to edit at a time,
we don't need to check if any comment is being edited,
we can hide all comment except the one being edited

Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: Ibee2b61fc6ba873231a05e5e1d2dab210491c68f
2023-12-14 08:55:55 +01:00
Pedro Pinto Silva
094b2ce884 Dark mode: Fix icon's opacity and color on shortcuts component
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I992936919e26c135a05c29d44c62dc07e1c49d04
2023-12-14 08:47:52 +01:00
Rash419
4ea31bfebe jfix: tiles not updated after reconnection
from idle

The following scenario was affected:
- user A and B both goes idle
- user B starts typing
- user A reconnects, all tiles updated by user B were not getting
  reflected for user A

Mismatch of canonical ids was causing the issue. On reconnection,
tilecombine messages were sent before uno:ChangeTheme can update the
canonical id on server side, therefore the received tile cache from server were
from old canonical id 4a8974d107/wsd/ClientSession.cpp (L1379)
4a8974d107/wsd/TileCache.cpp (L482)

By reseting the previousTheme on connection we make sure there after
canonicalidchange we invalidate all the tiles

Signed-off-by: Rash419 <rashesh.padia@collabora.com>
Change-Id: I874bfe0bd71d176bacf0c7aa768e49613535ebd5
Signed-off-by: Rash419 <rashesh.padia@collabora.com>
2023-12-13 21:20:33 +00:00
Pranam Lashkari
ee93a34f0c eslint: resolve all eslint warning
Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: I3b0764021f579d79443622d13b39ff4f705d0688
2023-12-13 20:04:16 +05:30
Gökay Şatır
ba536c3051 Make sure to set the correct normalized view id for the tiles.
When user switches to dark theme, previously requested tiles' normalizedViewIds may need to be updated.

Issue:
Users sometimes were getting tiles from the wrong theme.

Signed-off-by: Gökay Şatır <gokaysatir@gmail.com>
Change-Id: Ie3324eb3f4879da5bfd0738513409e190422a9c0
2023-12-13 14:05:22 +00:00
Pranam Lashkari
e42d9d8fe2 annotation: restrict reply and modify while other comment is editing
Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: I3422b7d8d1a29b42d51eae69cee576a5ca2653a7
2023-12-13 14:18:17 +01:00
Pranam Lashkari
489b58b15b annotation: don't change slide/sheet while editing comment
comments can not be committed when user is on different slide/sheet
then comments origin.

Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: I5c2a92da1a8e9788fcc3abc72f697873c7100993
2023-12-13 14:18:17 +01:00
Darshan-upadhyay1110
8822bbfaa2 Refactor changes for update clac Header on mode change
- Update only row or cloumn section based on isColumn value
- it will not update both section if there is only need to refresh only row or only column
Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>
Change-Id: I7d614528195f0d7b0dfd0a1afa865cc890a35c2c
2023-12-13 16:04:49 +03:00
Andras Timar
b9153c63ef js/global.js contains localizable strings
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I3c4317a7766ad179cf38e4d0d972e6a5c4adab11
2023-12-13 13:03:29 +01:00
Ihor Hordiichuk
c362e229cf Translated using Weblate (Ukrainian)
Currently translated at 100.0% (539 of 539 strings)

Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/uk/
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: If15fba6ddf804c8b5e4e1673bc2f2a497a931f06
2023-12-13 12:40:44 +01:00
Zeki Tuman
af7298e0ae Translated using Weblate (Turkish)
Currently translated at 100.0% (539 of 539 strings)

Added translation using Weblate (Adyghe)

Co-authored-by: Zeki Tuman <ztuman@gmail.com>
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: I43ac5e7787921284f5e25963f4edb45a7a06d9a3
2023-12-13 12:40:44 +01:00
Leif-Jöran Olsson
b1e5576f8a Translated using Weblate (Swedish)
Currently translated at 100.0% (539 of 539 strings)

Co-authored-by: Leif-Jöran Olsson <info@friprogramvarusyndikatet.se>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/sv/
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: Ib469e8b3149996fc1f76d0b12ce7e64267a172e9
2023-12-13 12:40:44 +01:00
Gökay Şatır
1353bd3882 Fix bug in undoing deletion of a parent comment.
Bug:
  When a parent and a child comments are removed then user reverts the action respectively:
    * Child comment is revived first and it cannot find its parent.

* Add a possibleParentCommentId to use in case also the parent comment is revived.
* Consider the child comment as a parent until parent appears.

Other changes:
* Remove duplicate call to updateIdIndexMap.
* Remove duplicate call to unselect.
* Remove duplicate call to adjustParentAdd.
* Reorder the 'remove' operation's rows: To avoid unselecting the comment after it is removed.

Signed-off-by: Gökay Şatır <gokaysatir@gmail.com>
Change-Id: I2247b23c710236c578b5b5c78d2b7bb45f7a51b4
2023-12-13 13:22:25 +03:00
Pranam Lashkari
099da020cf calc header: avoid selecting row/col while resizing them
problem:
while resizing row/column it would select all the rows and column user hovers over

regression from: 87a55af

Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: If786c57222b9bb89ac3faa1e645acc223a8dcd7e
2023-12-13 10:25:38 +01:00
Caolán McNamara
c231b3b2ec wasm: limit threads using for scaling
disable this with VCL_NO_THREAD_SCALE for wasm

"Yacht.odt" document with lots or large images fails to
render:

Tried to spawn a new thread, but the thread pool is exhausted. This
might result in a deadlock unless some threads eventually exit or the
code explicitly breaks out to the event loop. If you want to increase
the pool size, use setting `-sPTHREAD_POOL_SIZE=...`. If you want to
throw an explicit error instead of the risk of deadlocking in those
cases, use setting `-sPTHREAD_POOL_SIZE_STRICT=2`.

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I8b2f994d2d3d23f8a0043f0c7fefa4d5e250b8bc
2023-12-12 20:24:26 +00:00
Caolán McNamara
de9dd4f0a6 wasm often doesn't get tiles after invalidates
ClientSession::handleTileInvalidation returns early with _tileWidthPixel
(etc) of 0 because _tileWidthPixel (etc) never get set

These are supposed to get set from 'clientzoom' which the javascript
side sends. clientzoom arrives, but the attempt is made to dispatch via
a thread and during startup there are enough messages dispatched via
threads to overwhelm wasm

bundle.js:56376 ================ handle_cool_message(): 'clientvisiblearea x=-3915 y=0 width=20640 height=7980 splitx=0 splity=0'
bundle.js:56377 Tried to spawn a new thread, but the thread pool is exhausted.
This might result in a deadlock unless some threads eventually exit or the code explicitly breaks out to the event loop.
If you want to increase the pool size, use setting `-sPTHREAD_POOL_SIZE=...`.
If you want to throw an explicit error instead of the risk of deadlocking in those cases, use setting `-sPTHREAD_POOL_SIZE_STRICT=2`.
bundle.js:56376 ================ handle_cool_message(): 'clientzoom tilepixelwidth=256 tilepixelheight=256 tiletwipwidth=1536 tiletwipheight=1536'
bundle.js:56377 Tried to spawn a new thread, but the thread pool is exhausted.
This might result in a deadlock unless some threads eventually exit or the code explicitly breaks out to the event loop.
If you want to increase the pool size, use setting `-sPTHREAD_POOL_SIZE=...`.
If you want to throw an explicit error instead of the risk of deadlocking in those cases, use setting `-sPTHREAD_POOL_SIZE_STRICT=2`.
bundle.js:56376 ================ handle_cool_message(): 'tilecombine...'

The 'clientzoom' never get processed and so
ClientSession::handleTileInvalidation returns early with _tileWidthPixel
(etc) of 0 because _tileWidthPixel (etc) never get set.

this std::thread dispatching of messages is similar to seen in
gtk/mobile.cpp in similar code, and also existed in
android/lib/src/main/cpp/androidapp.cpp before getting replaced
in:

commit 155718796e
Date:   Fri Jul 19 16:43:44 2019 +0200

    android: Fix a threading / ordering issue.

follow the same simpler android model here.

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I3b5e57b3d91bb80fbae90b269300581825518d7f
2023-12-12 16:23:00 +00:00
Darshan-upadhyay1110
34993ad462 Fix filter by color in Calc (auto-filter)
- We should fire `active` state call back for selected color value in filter by color
 - it will directly apply filter to columns
 - this change is consistent with LO
Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>
Change-Id: I90977cff67cda1bca78c7d60c132bd0685cadbaa
2023-12-12 14:20:33 +01:00
Szymon Kłos
43823a60ff Refresh cell cursor after recover from idle in Calc
We were using old cursor data after recovering the
view from idle state. For the user there was impression
that view jumped at some point - caused by other user
action. But it was just an update to real cursor position
which scrolled view to it, because previously we were showing
some other place in the spreadsheet.

Steps to reproduce bug:

1. Open spreadsheet with 2 views
2. B should have cursor in the bottom part of sheet, let's say row 600
3. Wait for idle in both sessions
4. Open the same spreadsheet with some other user C
5. C does some action on row 300 and goes away (closes tab)
6. User B activates view and selects row 600
7. User A activates view (he should be at the top still)
8. User B changes font size using dropdown in notebookbar, or double
   clicks on any row header

Result: view A jumps to other place

When we initially connect to the spreadsheet then
requestCellCursor is called in onAdd. Also
_gotFirstCellCursor is not set.

Let's do the same on reconnect so we will have similar
effect to clean startup.

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I84c6ab705bc83d5c0d5c80325ec67c3f55aa19d8
2023-12-12 13:04:37 +01:00
Mike Kaganski
5e13f40780 Do not scroll the view outside of page bounds
Since core commit 690d4eb71509649ad147cfe60f5b97e2cfaaa519 (tdf#43100
tdf#104683 tdf#120715 sw: cursor on spaces over margin, 2022-07-04)
the cursor travels outside of text body area in Writer. Desktop view
doesn't follow the cursor in that case; the problem in Online was
that its view did follow the cursor. This resulted in the following
scenario:

1. Have a document with a thousand of trailing spaces in some line,
   before a word that would appear on a next line;
2. Put cursor to the beginning of that following line;
3. Press backspace (or left arrow key)

This resulted in the view jumping far to the right, with the page
being completely out of the view; the user only saw an empty screen
without any text, which was highly confusing.

Fix this by limiting the coordinates in _onUpdateCursor; use known
document size for that. This could still be problematic in case the
document has different-sized pages: the current page bound could be
narrower than document width. Yet, this seems to not be a big deal:
the view will likely still include part of a document, giving the
user a clue. An alternative would be to pass current page size with
invalidatecursor message from core.

Signed-off-by: Mike Kaganski <mike.kaganski@collabora.com>
Change-Id: I4d6cba7105d5aa2d1847bcb3994f93248b3f5ec6
2023-12-12 14:45:06 +03:00
Rash419
63a7871957 fix: can't insert mention on pressing 'Enter' key
Signed-off-by: Rash419 <rashesh.padia@collabora.com>
Change-Id: I2002721dbd92fc44e9b924e67107b627e7176b87
2023-12-12 15:04:28 +05:30
Henry Castro
409478383a browser: fix sidebar height when the resize is triggered
Adjust height values of the slide sorter content element

Change-Id: I04fdb5f89f70b703385e61253bf8ea8a387a65ea
Signed-off-by: Henry Castro <hcastro@collabora.com>
2023-12-12 08:21:19 +00:00
Andras Timar
9c88df9162 Bump version to 23.05.6.2
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: If6665aba498e4e130891b7c325c36b225cb83c45
2023-12-11 21:59:12 +01:00
Caolán McNamara
3d6838e300 serve wasm metadata
[ websrv_poll ] ERR  FileServerRequestHandler: File not found: Invalid URI request: [/browser/515f66e2bc/soffice.data.js.metadata].| wsd/FileServer.cpp:738

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I6e4bb8a5a617f4ff8921430eae1f23147fd1a8cd
2023-12-11 19:28:18 +00:00
Szymon Kłos
515f66e2bc Update viewId in Writer after recover from idle
There was a bug in Writer not allowing to successfully reconnect
after idle state if we were not a first view in the initial document.
Let's update view id even if document size wasn't changed.
Added also additional error logging to be sure we never use -1 viewId which is
a default "bad value" when we enter some unwanted state in the core.

Steps to reproduce:
1. set per_document.idle_timeout_secs to something small, eg. 30, so sessions time out quickly,
2. Open a document with 2 sessions (remember which one was loaded first - A, important!)
3. wait for it to idle out in both sessions
4. activate SECOND session (B) by click on the document area

Result:
in the browser console you can see an exception:
Exception TypeError: this.map._viewInfo[this.map._docLayer._viewId] is undefined emitting event viewinfo: [{"id":0,"userid":"2","username":"LocalUser#2","readonly":"0","color":411298}] cool.html:359:37

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I23775230e169f61cb816b819f2dea56e293b20e1
2023-12-11 13:04:59 +00:00
Caolán McNamara
e903234ec4 cid#336278 COPY_INSTEAD_OF_MOVE
and

cid#318879 COPY_INSTEAD_OF_MOVE
cid#318863 COPY_INSTEAD_OF_MOVE

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I4a2313bd23a0a9b7134d004ebc29db5caebbb17d
2023-12-11 09:25:59 +01:00
Caolán McNamara
5a01a21e27 cid#336285 Dereference null return value
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: Ia0506d22a928fc810110895f3b00db33e3c28c5c
2023-12-11 09:25:59 +01:00
Michael Meeks
eeea000242 Re-use the current time for a small efficiency win.
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I1183a02c5b41554a059cc222f9de82b592ac6322
2023-12-09 21:56:01 +00:00