Commit graph

22450 commits

Author SHA1 Message Date
Neil Guertin
80a2f4cca6 Replace cy.cGet with cy.getFrame in document load
And other changes to reduce logs by about
20 lines per test (15% of total)

Signed-off-by: Neil Guertin <neil.guertin@collabora.com>
Change-Id: Ia6a1c96752816c5cd9fb11368cf921bdce9936ff
2023-12-28 14:58:06 +03:00
Rash419
d4918c7998 improve error message on invalid WOPI host
- before this patch when socket connection failed, we used to show the
  same error for socket connection failure and send the
  'Action_Load_Resp' with same errorMsg
- now we show/send different message for unauthorized and loading
  failure

Signed-off-by: Rash419 <rashesh.padia@collabora.com>
Change-Id: I71b1b7f8e2eca93790d068583370787825911a41
2023-12-28 16:50:04 +05:30
Szymon Kłos
a4add51e93 calc: avoid jumping on large cell selection
If we had very long or tall cell - maybe bigger than a screen
on every selection we tried to show it on the screen what
caused view to jump. If cell is bigger and partially visible
left view at the same position to avoid "jumping".

Steps to reproduce:
1. merge many cells - longer than one screen width
2. scroll in the middle of merged cell
3. select the cell
Result: jump to the begining
Expected: no jump if it is paritally visible

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I04da5cd346f175728222888a039a796b271e00d1
2023-12-27 20:09:27 -05:00
Szymon Kłos
74d78d287a Calc: don't stop dragging the selection on quick move
This fixes view jumps in the Calc when some user tried
to drag a selection but did it very quickly so it was
interrupted by the _mouseOverTimeout callback.

Timer was introduced in commit 72c407e0ed
loleaflet: support mouse cursor calback

But we noticed the issue recently. I remember that dragging
the selection was not working some time ago, it is
possible that it was fixed and because of that we experience
this bug.

What it does is that it stops dragging mode in half-done state
so then other views sometimes use the leftover data.
To be 100% fixed it should be also protected on the core side.

Steps to reproduce:
1. Open calc in 2 sessions
2. A selects some range of cells (for example 3x3)
3. A clicks inside selected range and holding the mouse
   button does rapid move to drag the selection (move
   the content of cells) - it has to be done very quickly
   < 100 ms after initial click
   It is done properly when you see on the screen selected
   range and cell selection, but the two are not overlapping
4. User B goes somewhere far in the sheet and:
   - changes font size
   - or selectes some rows, deletes them, then opens right-click
     "row height" dialog, press ok
Result: User B jumps to the selection of user A
Expected: no jump

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Ia35377771df6b04584eebb76c25290482b7a4b93
2023-12-27 20:08:03 -05:00
Neil Guertin
6dcfc85f4f Refactor debug menu
Signed-off-by: Neil Guertin <neil.guertin@collabora.com>
Change-Id: I6e2520035d54b9de2b4cf8e015741aaae517fee1
2023-12-27 16:45:54 +00:00
Ashod Nakashian
c4470a9687 wsd: do not remove quarantine files explicitly
Let clearOldQuarantineVersions() remove quarantined
files only when necessary and per the config settings.

Change-Id: Ie1fb18c02d61a710546e9b5962ab8b7973c2066e
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2023-12-27 06:10:17 -05:00
Neil Guertin
f4c855792f Use new custom command cy.getFrameWindow()
Signed-off-by: Neil Guertin <neil.guertin@collabora.com>
Change-Id: I4f54b35f01b41bfb47a1d5d359de5cdab4cb9640
2023-12-27 10:06:05 +03:00
Gökay Şatır
924f13f106 Changes for handling readonly mode click events:
* These changes are made primarily for reading the hyperlink data from the document in readonly mode.
* Added readonlyclick event.
* Added readonlyhyperlinkclicked event.
* And the handlers for these.

When user clicks on document in readonly mode, a readonlyclick event is sent to the server.
Childsession checks if there is a hyperlink at the clicked location.
If so, the information of the hyperlink is sent to the client.

Signed-off-by: Gökay Şatır <gokaysatir@gmail.com>
Change-Id: I9c104a1ec770491725337b9bbb1e2d1c2851321b
2023-12-27 09:24:28 +03:00
Pranam Lashkari
fbf22535a0 annotation: remove redundant condition
it did not make sense to check for selection if we are unselecting before selecting

problem:
when already selected comment try to modify,
it will not rearrange replies in the thread this caused
overlapping of the comments and bad user experience

Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: I276c34301b45951a7051018770e21b4970603861
2023-12-26 13:00:24 +03:00
Pranam Lashkari
4ee246a336 typescript: use defined types for CommentSection properties
use strict datatypes for the properties where possible,
also allow to add new properties dynamically

Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: Ia2eb850f61031f91b0e37339475e1ca4e768dad1
2023-12-25 16:45:08 +05:30
Pranam Lashkari
1bd26addd1 annotation: if comment is not initialised its not in editing mode
this caused problem when new doc is loading and we are settings up comments,
but they are not initialised and marked as being in editing.
i.e: this will cause problem with showing reply count(in collapsed view) initially

Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: Ia688ca0bfc37dd925bd74dc5826d43fdb37c81db
2023-12-25 13:35:50 +05:30
Neil Guertin
5979eb9a1f Add cy.getFrame() custom command
The intent is to eventually replace cy.cGet and some other helper
functions with getFrame, which is cleaner and has better logging on both
pass and fail.

Signed-off-by: Neil Guertin <neil.guertin@collabora.com>
Change-Id: I911a5552d69634495a9036d020754351665419cf
2023-12-25 10:51:37 +03:00
Caolán McNamara
24a401c967 the std::ceil inputs are already ints
So std::ceil isn't doing anything useful since:

commit dce6c18fb4
Date:   Thu Aug 30 17:40:42 2018 +0200

    Calculate tiles-on-fly limit a bit more precisely

Leave this case unchanged.

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I6d11c9b912facc26ad775fc916012b529ed5b0fa
2023-12-22 14:29:44 +00:00
Caolán McNamara
b1ff60ace3 missing tiles in multi-pane spreadsheets
here std::ceil is operating on the result of an int divided by an int
so the input is already an effectively floor-ed int result of the
division so the ceil doesn't do anything

so we end up filtering out some of the invalidates for tiles in frozen
panes.

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: Ibfb25fdfdfb84735ca9410f8250d2e5b9fa1070e
2023-12-22 14:29:44 +00:00
Darshan-upadhyay1110
434fffa5bb Fix text in font and style dropdown types dark in Dark mode
- in Compact/Classic mode typing text are dark in darkmode

To reproduce:

- change to dark mode and select Compact mode
- type in input field of Font or in Font size
- without this patch color will be dark in dark mode
Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>
Change-Id: I4510001cfdf26acf8419eb0aa4ee3611b0a51b09
2023-12-22 16:12:28 +03:00
Neil Guertin
f86ab6ae9a Remove inadvertent it.only to re-enable tests
Signed-off-by: Neil Guertin <neil.guertin@collabora.com>
Change-Id: Ia9f2a35f0e334c97565edc4334df943723a958d7
2023-12-22 12:56:02 +03:00
Andras Timar
05fa3f35d0 Update l10n files for Weblate
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I1cfac01456a62a09068397d6ff6ff6506acf31ae
2023-12-21 21:05:09 +01:00
Rob Pearson
050adfdbaf Translated using Weblate (English (South Africa))
Currently translated at 100.0% (539 of 539 strings)

Translated using Weblate (English (New Zealand))

Currently translated at 100.0% (539 of 539 strings)

Translated using Weblate (English (United Kingdom))

Currently translated at 100.0% (539 of 539 strings)

Translated using Weblate (English (Australia))

Currently translated at 100.0% (539 of 539 strings)

Co-authored-by: Rob Pearson <rob.dunedin@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/en_AU/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/en_GB/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/en_NZ/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/en_ZA/
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: Id596babd7d044968f14ea47136600f8c273ccbb5
2023-12-21 20:51:19 +01:00
Pranam Lashkari
31ece2a8fc cypress: enable all slide operation tests
test got disabled in e81b53a

Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: Ie40dc67d7f45dac702d69d7222c2bc32a4c89dd0
2023-12-21 23:35:26 +05:30
Szymon Kłos
78a4ed13ff calc: don't make app inactive on drag and drop
When Pivot table dialog was used and we drag and drop
elements from list to other list in Firefox - then
we sent userinactive message because we lost focus of
a window. Don't do that.

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I03f1b8a72e4f318034569d4fffe496f32c5a8a51
2023-12-21 14:16:13 +01:00
Neil Guertin
fa87fb803e Better logging for cy.cGet()
Signed-off-by: Neil Guertin <neil.guertin@collabora.com>
Change-Id: I587415c7601fd6bb10f3aa6e708109fd7ccd3b81
2023-12-21 08:10:34 -05:00
Andras Timar
7c440409e3 Update Helm Chart with new release 23.05.6.4
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I0d0f553a11e1a78d4160cdd0fd8c5ae1c959399a
2023-12-21 00:44:23 +01:00
Szymon Kłos
2190cbdc20 Remove protocol when adding to lok_allow
We automatically add allowed wopi hosts to lok_allow.
But we expect to have plain host names, we need to remove
protocol if it is present.

Example:
wopi - group - host: https://.*\.mydomain.com
we need to add: .*\.mydomain.com to lok_allow list.

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I80bf3b7c25c0df15e422cd8369eceaddbb588e26
2023-12-20 19:58:43 +00:00
Szymon Kłos
6961f16539 Add warning for blocked external image insertion
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I8d7456b0cef68a086aae854c9828d83a29f1b3b6
2023-12-20 15:55:12 +01:00
Szymon Kłos
c354fa3101 Allow localhost name in lok_allow
This can be useful for debug purpose

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Ifa0abea77040046e1656e7469b402935ab762dd2
2023-12-20 14:25:35 +01:00
Szymon Kłos
394ab1f6f3 Add explanation for invalidatecursor with different viewId
I noticed that it directly modifies this._visibleCursor
which should be our own cursor. So it was not clear if
modifierViewId === this._viewId check if something left
from the past or that message can be received with
different viewId...

It seems that received viewId only tells us who "triggered"
the cursor movement, but position in the message is still "our".
It is used with different viewId in Writer but not in Calc.

protocol.txt comment about the message:
The payload contains a rectangle describing the cursor position
and the id of the view which triggered the invalidation. JSON payload.

and seems to be introduced in:
commit ffd7151443
Date:   Sun Apr 8 00:00:53 2018 +0200
Writer: View jumps to cursor position even if it is moved by an other view.

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Idf2598221845e15effe576a94bb1d39759ae7d58
2023-12-20 13:10:33 +00:00
Darshan-upadhyay1110
330033076b Filter by color options should have radio buttons insted of Checkboxes
- Fixed filter by color options which had Checkboxes
 - it should have radio buttons same as we have in LO core
 - it also makes sense because we only need to apply on filter by setting at a time

Steps to check patch

    - Open .ods file
    - add some dummy data in diffent rows but column should be the same
    - click on the top cell of dummy data
    - got to `DATA` tab and apply `AutoFilter`
    - open auto filter popup and select filer by color
    - compare previous version with the current patch
    - check same thing in LO core
Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>

Change-Id: I00b4d84e5117b3c1f05fbc37c61331d2c3bc2a31
Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>
2023-12-20 12:32:48 +01:00
Rash419
1c3fc8dadf helm: push chart to github container registry with
supports OCI specification

Signed-off-by: Rash419 <rashesh.padia@collabora.com>
Change-Id: I5bc031552fe2eb6940f068dcef82fe71f640585c
2023-12-20 17:00:38 +05:30
Darshan-upadhyay1110
5403d885a3 Fix view pushed up in Calc for autfilter popup
- fix view jump by display hidden for auto-filter popup
Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>
Change-Id: I4e48fd2d7363db53d4bf3a1d85f9897de3b1e91a
2023-12-20 10:16:28 +01:00
Andras Timar
dca44d2952 Bump version to 23.05.6.4
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I4729e17e8408ef7724df393e2cf1aa00b4b036b6
2023-12-20 09:19:07 +01:00
Pranam Lashkari
e81b53ab29 cypress: check if comments are duplicated with slides duplicate
Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: Ie776fadfaf52b6424a83bd8aa0bdeea78e004309
2023-12-20 06:35:57 +05:30
Pranam Lashkari
eb1925f140 annotation: refresh annotation on part updates
problem:
1. Duplicating slide with comment will not have any comment
2. Rearranging slides, causes comments to stay with its previous slide location,
i.e: if earlier comments were on the first slide and they are rearranged to be nth slide,
comments will be displayed on the first slide
3. Deleting slide, displays comment on the next slide

all these problems are just display problems in online, if you reload the document,
comments are displayed correctly.

Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: Ie494761802f133f5f433053456edfd7d55d1312a
2023-12-20 06:35:57 +05:30
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