Commit graph

22198 commits

Author SHA1 Message Date
Darshan-upadhyay1110
10d1c946af Fix Content control "down arrow" cannot be recognized in dark mode
- add missing image path for data-them dark
Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>
Change-Id: If6850770548d35eb95125ce0be1c52a557f5b344
2023-11-09 11:19:54 +05:30
Hubert Figuière
00050a59c2 browser: Add ui_default to hide the toolbar
Signed-off-by: Hubert Figuière <hub@collabora.com>
Change-Id: I189224581451c9f5d534593696b060c8efb23414
2023-11-08 23:34:17 +00:00
Pranam Lashkari
7ab2938761 cypres: enable impress comment autosave tests
Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: I2197b1d485c612cbf1dd3ab712181d75c0f6ae98
2023-11-09 04:20:28 +05:30
Pranam Lashkari
d7e07b773f annotation: fixed impress disappearing comments on autosave
Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: I8feba6907b2899a19dcda3ecf56c673801e27487
2023-11-09 04:20:28 +05:30
Gökay Şatır
d2ec258837 Copying the hyperlink issue:
* Add a paragraph.
* Select the whole paragraph and add comment.
* Add hyperlink to a word in the paragraph.
* Try to copy the hyperlink via its menu.
* It sometimes doesn't copy the hyperlink.

We are checking if a comment has focus or not before doing the copy operation. This check is for another issue.
I changed the check with "app.view.commentHasFocus" which seems reliable.
Then tested the previous fix.

Also commented out code is removed.
White space change is automatic.

Signed-off-by: Gökay Şatır <gokaysatir@gmail.com>
Change-Id: Ibc2c5e550eb8a3e24b734e0371c87dac44b2ff6d
2023-11-08 23:06:58 +01:00
Skyler Grey
7175c7841b Add a ui_defaults option for onscreen keyboards
The new ui_defaults option OnscreenKeyboardHint is a tristate denoting
whether the device accessing Collabora Online has an onscreen keyboard

If unset, Collabora Online will do its best to guess. At time of
writing, this is the same as checking if the device is a mobile phone
or a tablet (note: only tablets which have the browser registered as a
"mobile" browser will be detected, e.g. the Microsoft Surface tablets
would not be detected)

If "true", Collabora will assume the device has an onscreen keyboard.
This will change when we trigger the keyboard, for example in calc if we
know of an onscreen keyboard we will not automatically focus a cell for
editing when it is selected, as this would pop up the keyboard.

If "false", Collabora will assume the device does not have an onscreen
keyboard, effectively doing the inverse of the "true" option above.

This is a followup to #7580 (0bf054c9a3)
which had Hint_OnscreenKeyboard and Hint_NoOnscreenKeyboard as
postmessage IDs to do the same thing.

Signed-off-by: Skyler Grey <skyler.grey@collabora.com>
Change-Id: I5deeb87a410c135d4cabda7ed24dc37e791800cd
2023-11-08 16:20:49 +00:00
Caolán McNamara
41d78e5fd2 fix; error TS2304: Cannot find name 'TilesSection'
doesn't happen in ci, but is happening in tinderbox and for some
users.

Seeing as ScrollSection doesn't have the problem, follow the export
and namespace pattern used there.

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I4c4916ba7a3ad19275bd8b0f5bc53111b3b30cd5
2023-11-08 15:32:59 +00:00
Hubert Figuière
1114af585a default-ui: Allow skipping the UI state saved in local storage.
Pass SavedUIState=false to the ui_defaults

Signed-off-by: Hubert Figuière <hub@collabora.com>
Change-Id: I2cceffed338440d1fee5b0818e072ecc02379468
2023-11-08 10:12:42 -05:00
Darshan-upadhyay1110
5c8e3e4d5c Fix select row icon
- SVG for lc_fromrow is not compatable and it was not loading properly in browser
- fixed svg syntex to properly load by browser
- removed unused css class from mobile wizard
- that fixes the icon remain light in mobile view as well
Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>

Change-Id: Ifa1e2e5397e48d33ede8a6081808cd0051d9059a
2023-11-08 15:58:18 +01:00
Skyler Grey
13e3846ffe Add touch detection for pointer:course media query
matchMedia allows you to check matches for CSS media queries from
JavaScript. By checking if the primary pointer is 'course' we have a
pretty good shot at guessing that it's a touch device (mice, etc. are
'fine' instead). This expands our current touch detection so it detects
more screens, while making sure it doesn't detect devices which have a
touchscreen but also a mouse/touchpad/whatever. This non-detection is
important, because our touch support currently breaks things like the
rightclick menu on calc.

Touchscreen detection is useful for devices that are being used as touch
devices, because it enables some features like pinch-to-zoom and
hold-for-rightclick-menu which improve usability when you are using a
touchscreen. These are particularly important without a mouse.

Some devices are 2-in-1 laptops, which have a touchscreen and a
touchpad, but can be collapsed so only the touchscreen is active. These
devices will be detected as touch only when they are in their 'tablet'
form. *As we setup parts of the page differently, the page will need to
be refreshed if they change from tablet form to laptop form and
vice-versa*. Hopefully in the future we will make a followup so that
both input schemes can be enabled at the same time and extend this media
query detection to (any-pointer: course)

Signed-off-by: Skyler Grey <skyler.grey@collabora.com>
Change-Id: Ied4f61a1ffb06bd63359bc6d81c6a6c23436cc23
2023-11-08 14:39:47 +00:00
Caolán McNamara
83f5f18d6c make this test more robust if partial page 1 is still visible when on page 2
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I6f5cc5a1d22b77fe3f9adebdb5fde086fa8e2a3b
2023-11-08 13:13:56 +01:00
Andras Timar
3e8fe642b2 rpm: BuildRequires - those python packages have different names on differenct OS versions
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: Iebc83dcb8d5efd368850a816dc1dec6d159df6e1
2023-11-06 12:07:33 +01:00
Szymon Kłos
dea8d754e8 formulabar: reduce overhead of scrolling to the cursor
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: If8a90ec9720caecd372186c737fb2b8de50306d6
2023-11-06 09:38:17 +00:00
Szymon Kłos
76938641de perf: do not call addEventListener on every header update
This helps with performance of typing into spreadsheets.

Regression from commit 46c1248c77
Prevent right mouse button up event to click on menu item.

Do not add new event listener on every header update what
happens often but rather apply right click blocker when
context menu is opened. Original commit was trying to prevent
menu items activation on right click.

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: If468703a4728d12238c5748f182453cd2b8812c9
2023-11-06 09:38:17 +00:00
Szymon Kłos
451b255450 formulabar: modify DOM only when content is complete
createDocumentFragment creates out of the DOM nodes
which we can use while building the new content of the formulabar.
This reduces reflow and similar operations on node insertion.

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Ie0791af517a018241222efa2031af673d97c9e6b
2023-11-06 09:38:17 +00:00
Andras Timar
54ac274dd7 rpm: BuildRequires
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: Ib0c71a65216c7dd437800647a0f9c924ddf117ee
2023-11-05 18:34:07 +01:00
Darshan-upadhyay1110
808dc0a118 Add missing icon SPIN_DOWN/UP for dark mode
Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>
Change-Id: Ib96915f7fcd372f50e75c3d25ac7b000c1ef1ca3
2023-11-02 16:43:35 +01:00
Caolán McNamara
72b2ce4bb6 we don't need to round-trip through core to reposition notes
we know where they are by cell addresses, so defer getting
the screen positions until we need them and we don't need
to get core to trigger recalculating them. When we redraw
the comments after the new geometry arrives then we can place
them via the address.

When adding a new note we want to know the range of the
potentially merged cells we are inserting into.

https://github.com/CollaboraOnline/online/issues/7334

https://gerrit.libreoffice.org/c/core/+/158560 needs to be
applied to solve the problem described there that becomes
apparent when this is in place.

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I3228dc8fa8d47ba4e796e50427c125d7f78fe5fc
2023-11-02 12:28:53 +00:00
Gülşah Köse
46c1248c77 Prevent right mouse button up event to click on menu item.
In some case[*] when we right click on row/col header and release mouse button,
first element of the context menu is invoked accidentally. To prevent this,
just prevent the right mouseup event on context menu item.

[*] 1920x1080 resolution with %75 browser zoom

Signed-off-by: Gülşah Köse <gulsah.kose@collabora.com>
Change-Id: I28299e7a7cf83eaed27ef4ed6c3555fb2cc80682
2023-11-02 12:40:25 +01:00
Ezinne
557f191da7 Updated the icon for Twitter handle
Signed-off-by: Ezinne <nnamani.ezinne@gmail.com>
Change-Id: Iff04c41135f8c5523f8dc12ae46c14209575bb13
2023-11-01 17:50:54 +05:30
Ezinne
fdf1b6e6ac Updated the Help screenshot for English
Signed-off-by: Ezinne <nnamani.ezinne@gmail.com>
Change-Id: I06cfad9a9aea51eb0c069880196490144c5d1211
2023-11-01 09:38:04 +01:00
Michael Meeks
08d9081280 net: don't try to set TCP_NODELAY on local Unix sockets.
Change-Id: Ic0f720554080a01b7a46abbffda023834016c0ea
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
2023-11-01 08:06:53 +00:00
Rash419
112fefa86e browser: wireId out of sync on reconnect
- regression from 762ce28e22

Signed-off-by: Rash419 <rashesh.padia@collabora.com>
Change-Id: I86b913213135982031d33b4b29f54df2e8320ea4
2023-11-01 13:10:01 +05:30
Caolán McNamara
0453140f61 We don't always need to redraw the entire canvas
If we end up dirtying only due to a series of TileRange reasons then we
only need to redraw the bounds of those tiles.

https://github.com/CollaboraOnline/online/issues/7166

checked: split calc sheets and rtl calc sheets

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: If468b735bdff85408155fb23ebf6db891a449d5e
2023-10-31 20:47:55 +00:00
Skyler Grey
0bf054c9a3 Stop onscreen keyboard when panning calc on tablet
Before this change, panning a calc spreadsheet would cause the onscreen
keyboard to pop up when in tablet mode. Dismissing the keyboard would
not stop it from being popped up the next time you panned around. This
made it very difficult to pan around spreadsheets in calc without either
using an external keyboard, the mobile app or another device altogether.

This commit introduces a known regression: when you are on a tablet and
have a physical external keyboard, you could previously select the cell
and start typing. Now you must tap into the cell in the same way you
would if you have an onscreen keyboard. This matches the behavior on
mobile devices. I consider this regression a reasonable tradeoff, so
notwithstanding I believe this should be merged.

Additionally, this commit adds 2 POST messages, "Hint_OnscreenKeyboard"
and "Hint_NoOnscreenKeyboard". These can be used to override our guess
if you know more about whether the device has an onscreen keyboard than
we do.

Signed-off-by: Skyler Grey <skyler.grey@collabora.com>
Change-Id: I8f3683ccb9e57f0c4a5bf8e415f9aabef917dd78
2023-10-31 16:32:33 -04:00
Pranam Lashkari
82e76d8cb0 cypress: introduce impress comment autosave tests
Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: I40b2dac1e87ca465ca92bbf64b2a6ee556c23c7f
2023-10-31 20:43:58 +05:30
Pranam Lashkari
517f3fa760 cypress: introduce calc comment autosave tests
Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: I9e3f406938689321ac2df9f87f308466e9d5b19b
2023-10-31 20:43:58 +05:30
Pranam Lashkari
e71f082412 cypress: introduce writer comment autosave tests
Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: Ic79e9cf935f29ac407a8c5ff3900f2ad1f7449a6
2023-10-31 20:43:58 +05:30
Szymon Kłos
56327b8f56 jsdialog: open submenu on hover in dropdowns
- showsubmenu event on hover
- hidedropdown event on leave
- submenu is inserted into the same overlay as parent dropdown
- don't destory overlay if submenu is closed, do that only for root
- works on tablet / touch device

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Ibb4a747555e172dd4e040950cdfd309560f214a7
2023-10-31 12:22:39 +01:00
Szymon Kłos
d87c718a84 css: pivot table dialog separator fix
vertical separator was overlapping other widgets

can be found in: Calc -> Insert -> Pivot Table -> next

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I818fc4a8bb9b44b48fe43c911182c37e3cbc0d8c
2023-10-31 12:22:29 +01:00
Michael Meeks
47b89b32ef spdx: improve machine and human readability of headers.
Change-Id: I1b6dcd2ec1fbef6556d70b8af3ccfd5d6a95c59a
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
2023-10-31 10:33:07 +00:00
Szymon Kłos
40f0008422 jsdialog: fix id for buttons with menu #7548
- fixes regression from Accessibility commit 1a2500c
- it fixes formulabar control of AutoSum button #7548
- removes useless commit a7ece5d:
  jsdialog: reduce warnings in console for formulabar
- id with ":" contains "id : menuId", so we can identify
  menu which should be used, let's not use whole string as
  HTML element id - we don't want ":" there

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I44adde54b852f1e6593fb660612d8116aadf3b39
2023-10-31 09:55:54 +01:00
Szymon Kłos
ef66c84eec Fix Uncaught TypeError in combobox selection
TypeError: Cannot set properties of undefined (setting 'selected') emitting event jsdialog: { "jsontype": "sidebar", "action": "action", "id": 0, "data": { "control_id": "applystyle", "position": "-1", "action_type": "select"}}

When selecting whole column in Calc

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I3598ef988b16b3efa29920ba7dd40a0f3cbc5df3
2023-10-30 16:11:55 +00:00
Szymon Kłos
e92bd4bbfd Fix Uncaught TypeError in col/rows headers selection
Uncaught TypeError: Cannot read properties of null (reading 'index')
    at RowHeader.onMouseUp (bundle.js:24879:87)
    at CanvasSectionContainer.propagateOnMouseUp (bundle.js:14350:24)
    at CanvasSectionContainer.onMouseUp (bundle.js:14442:6)

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Iba44bfae33679d978641e334e9b46cf05a414d4a
2023-10-30 16:11:55 +00:00
Rash419
acb08e4235 fix helm chart releaser
- from the logs Error: error creating GitHub release
helm-collabora-online-1.1.3: POST https://api.github.com/repos/CollaboraOnline/online/releases:
422 Validation Failed [{Resource:Release Field:tag_name Code:already_exists Message:}]

Signed-off-by: Rash419 <rashesh.padia@collabora.com>
Change-Id: I434963728bf935204a4dc6e533aaa1b5a8408350
2023-10-30 21:37:40 +05:30
Hubert Figuière
8ca2adcb16 postmessage: added message to collapse / extend notebookbar
The new messages are: Collapse_Notebookbar and Extend_Notebookbar
As a side effect they also hide the classic toolbar the same way

Signed-off-by: Hubert Figuière <hub@collabora.com>
Change-Id: Ic9d04876acb06f2885a6be1e171df7f87e513ed8
2023-10-30 11:40:52 -04:00
Caolán McNamara
5b14c128e3 apply delayed messages after docLayer.viewid is set
which is done by docLayer._onStatusMsg(), otherwise its possible to handle a
onViewInfoMsg before viewid is set

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: Id68dba5f5cdc8efd0b5f6ed429ac4f105cef4866
2023-10-30 12:40:44 +05:30
Pranam Lashkari
5c965044ec annotation: fix parent comment being deleted if reply cancelled
part 2

fix from #7552 stopped working, this patch amends it

Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: I8c1227199112599fc2ade4e425452709e9cd05e5
2023-10-30 12:27:17 +05:30
Pranam Lashkari
30f6c14b9f annotation: fix cancelled modification of autosaved comment
problem:
when a user modifies a comment and its autosaved,
if user then cancels the modification they were still added

Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: I26c872f0957f0815882c4b1aedae83fe6736b7a2
2023-10-30 12:10:54 +05:30
Pranam Lashkari
91cbc8c404 annotation: fix parent comment being deleted if reply cancelled
Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: I080f817a3020249de4eefd12b3d23af1141a273d
2023-10-30 04:12:57 +05:30
Pranam Lashkari
4d7df8ae9c annotation: forcefully reselect comment before modifying
select and unselect usually updates the layout but,
in case if it failed we manually do the layout update

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

fixes: #7527

Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: Id56a5c35795e1ff75e8c3a92032afce6b8585fcb
2023-10-30 04:12:11 +05:30
Pedro Pinto Silva
d6375f838b Menus (dropdowns) with separator: Fix hidden keyboard focus
When opening a menu as in Calc > Home > Conditional menu and then
press tab: we can successfully cycle through the elements but for some
elements user cannot see the focus.
 - The focus was being set but under the separator. So, better to
 assure that the immediate separator neighbor is set to transparent.

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: Icb87b3173144356efad101f5e2b9b77e0e8dcd06
2023-10-29 21:02:28 +01:00
Pedro Pinto Silva
2b5eb98296 Multi-level menus (dropdowns): Fix chevron elements
Chevron (Arrow)

- Use existing icon and re-use it instead of a text character
  - sing text depending on font size and the width we were giving
  - could be dangerous
- Fix alignment: before this commit the chevron was almost glued to
the edge
- Make the hover state less dark so the chevron is visible at all times

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I3b79c6b9df324727fd0c217f869d9bb8a4df2d72
2023-10-29 21:02:28 +01:00
Pedro Pinto Silva
9e286c817d JSdialog: Fix ui-separator visual importance
Before this commit separators were being rendered in quite dark color
and thickens make them standout more than the actual interactive
controls surrounding them

Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: I96c3eaf476cd947f804d855e0fd242a5ab42ee9b
2023-10-29 21:02:28 +01:00
Michael Meeks
4423770c52 cowasm: disable werror for now for dlopen detection:
otherwise generated:

| int
| main ()
| {
| return dlopen ();

wasm-ld: warning: function signature mismatch: dlopen
>>> defined as () -> i32 in /tmp/emscripten_temp_6nz4f0ww/conftest_0.o
>>> defined as (i32, i32) -> i32 in /home/builder/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/libc.a(dynlink.o)
em++: error: running limited binaryen optimizations because DWARF info requested (or indirectly required) [-Wlimited-postlink-optimizations] [-Werror]

and erroneously claims that dlopen is not present, and
configure fails.

Change-Id: Ie54db7c2099787a0b63b76b0b6e3e44750c9046e
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
2023-10-29 11:05:18 -04:00
Marco Cecchetti
09c18a4a44 a11y: keep a11y disabled on executing cypress Calc tests
This patch is a temporary workaround for fixing CI failures.
In fact on CI with a11y enabled cypress fails to load spreadsheets.

Signed-off-by: Marco Cecchetti <marco.cecchetti@collabora.com>
Change-Id: Ic661358cd47600ec9c3a329bef361b8087483017
2023-10-29 09:46:40 +00:00
Michael Meeks
08f60bc72b cowasm: parameterize masses of paths included in command-lines.
Change-Id: I2a73e876290c10ee34385f807364ca4dd5b52063
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
2023-10-27 20:49:26 -04:00
Andras Timar
8a5a1b7e7c docker: remove unnecessary perl-base package from image
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I50321d563eff98bd6102a9ec4fa2ab2fdacf6dea
2023-10-27 14:33:40 +02:00
Pranam Lashkari
123bf5cbb8 UI: avoid changing back to original name after renaming
problem:
filename textbox will revert to original name after user confirms the name
and then again changes to new name after its processed

fixes: #6131

Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: Ibb1645e5e6517b391d475add7b7d421a260e0ba8
2023-10-27 09:49:23 +02:00
Pranam Lashkari
2c720a6a87 annotation: avoid marking comment autosave if its not saved
problem:
After entering the comment modify mode and clicking somewhere else,
to lose comment focus, comment cannot be closed by clicking cancel.

Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: I05ce2b4f6dcba47d40095bb16fdb56ce5b9c20cf
2023-10-27 12:13:36 +05:30