Steps to reproduce problem:
1. open spreadsheet
2. open function wizard (Fx icon next to the formulabar)
3. move dialog so it is outside view partially
4. select some function and click inside edit field for it's param
5. click on the sheet content
Result: view jumps and moves everything up
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I0555fb72a1dcf6de5e969994229e7a36b7811028
- previously after rmsrv the card is deleted but if the postion of the
card is between the cards and middle card is deteled UI will look odd
- so reload the page after rmsrv event
Signed-off-by: Rash419 <rashesh.padia@collabora.com>
Change-Id: I111d6232a0f2b098a144ea642c19994bac71186a
This is meant to allow getting this in for CODE, but not yet for COOL.
Signed-off-by: Miklos Vajna <vmiklos@collabora.com>
Change-Id: Ie4c0f5d1154a1acc6d46efdf8d137bc4f30160c8
The paste notebookbar button already tried to use
navigator.clipboard.read() in Chrome, but paste special still just told
users to go via Ctrl-V.
Additional complexity is that paste special was differentiated from
paste based on if this nagging dialog is open or not.
Fix the problem by:
- extracing the 3 places where we close the paste special dialog into a
new _checkAndDisablePasteSpecial() method
- extending _checkAndDisablePasteSpecial() to also handle the case when
paste special is enabled, even if no dialog is open
- extracing the navigator.clipboard.read() call into a new
_navigatorClipboardRead() method
- and finally using _navigatorClipboardRead() in filterExecCopyPaste()
The intent is not not change behavior in any way for browsers that don't
support this API, like Firefox.
Signed-off-by: Miklos Vajna <vmiklos@collabora.com>
Change-Id: I6c373a982604c3e934ee4f4f2f76271f0e7cdf3e
Pasting images in Chrome worked with Ctrl-V, but not when pressing the
Paste button on the toolbar.
This happened because the old code (not using navigator.clipboard) had a
special-case for images, but the new code lacked something similar.
Bridge the gap by checking for images in
_navigatorClipboardGetTypeCallback() and extracting a new
_pasteTypedBlob() from the old _onFileLoadFunc() to share code.
With this, all of own/external HTML, plain text and image should work
again when using the Paste button and the old popup is no longer shown.
Signed-off-by: Miklos Vajna <vmiklos@collabora.com>
Change-Id: I1162d21498a27b1b79455dd565175a2178d213d3
Pressing the paste button for the internal HTML case worked in Chrome,
but not for plain text.
If text/html is not on the clipboard, then also try text/plain.
Images still need more work.
Signed-off-by: Miklos Vajna <vmiklos@collabora.com>
Change-Id: Ibd5eb8b3a7319763bf2ea638f338c8f213ed48ac
When pasting with Ctrl-V, paste worked already. When pasting with the
paste button, we just opened a popup, telling the user to do Ctrl-V
instead.
The reason for this is that we used to paste using execCommand('paste'),
which typically fails in modern browsers (reportedly not in IE11).
Use the new navigator.clipboard.read() API (available in Chrome, not in
Firefox) to also actually do a proper HTML paste when using the toolbar
button.
Note that the new API strips away <meta> tags, so this depends on
previous work to switch to a <div id="meta-origin"
data-coolorigin="...">...</div> marker around the entire HTML. This also
just implements HTML paste, plain text and images still need adding;
paste special is unchanged for now.
Signed-off-by: Miklos Vajna <vmiklos@collabora.com>
Change-Id: I2a9340719e99695131f9caa452b5fbfb53573e6c
Currently translated at 24.6% (115 of 467 strings)
Translated using Weblate (Korean)
Currently translated at 73.4% (421 of 573 strings)
Co-authored-by: Seungcheon Seo <seoseungcheon@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/help/ko/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/ui/ko/
Translation: Collabora Online/Help
Translation: Collabora Online/UI
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I8f0976c1b6ea3e77ada2d9ee1137b75eaf0ed58a
Some people say it's annoying that you need to click
to enable the document. This patch makes it automatic
so popup is closed when mouse enters the app area.
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Ic5182c46b0687c4441a58d05fa1b8a644af0ba65
After document idle (document become unloaded on the server)
when we click in the popup and document was reloaded - if
sidebar was present previously it should be reinitialized.
Without that it was visible but not interactive and it was not possible
to hide it.
1. To test that use small timeout in the coolwsd.xml:
per_document.idle_timeout_secs
2. Open sidebar
3. Wait for idle
4. Click in the idle popup
Sidebar should be interactive and it should be possible to hide it.
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I8d4e970b77860115226dffc4c2b0c585fc091487
with:
Not enough compute credits to prioritize tasks!
Failed to start an instance: INVALID_ARGUMENT: Not Found 404 Not Found
disable until it might work again
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: If7c9ac8b8785ff0b13a45f5fb2ae85da9970d8c2
Add a way to search with an offset in findInVector() and then we can
avoid strstr() which assumes a null-terminated input, which may not be
the case.
READ of size 55 at 0x606000068a56 thread T8 (docbroker_001)
#0 0x55d0d6718a5a in StrstrCheck(void*, char*, char const*, char const*) /home/abuild/rpmbuild/BUILD/llvm-15.0.7.src/build/../projects/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:652:5
#1 0x55d0d6718882 in __interceptor_strstr /home/abuild/rpmbuild/BUILD/llvm-15.0.7.src/build/../projects/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:669:5
#2 0x55d0d71872c9 in ClientSession::postProcessCopyPayload(std::shared_ptr<Message> const&)::$_4::operator()(std::vector<char, std::allocator<char>>&) const /home/vmiklos/git/collaboraonline/online-23.05-san/wsd/ClientSession.cpp:1631:31
During unit-uno-command.
Signed-off-by: Miklos Vajna <vmiklos@collabora.com>
Change-Id: Id42669d912bab4746d9f7d99a192c4c3f1d175f7
Prevents to overflow when the range name is long in conditinal format dialog
Reproducer steps to see long dialog:
1. Create a conditional format where the range is very long (inserted manually)
2. Home > Conditional formatting
3. Create
4. Scroll and paste the following in the Cell Range > Range:
`N3:AL4,N25:AA25,AC25:AL25,X11:AL11,N6:P7,Q5:AL10,Q12:AL13,N5:N7,O5:P5,N14:AL19,N11:P13,A8:C11,N8:P10,C20:J20,O20:AL20,A20:A27,D27,D10,T21:AL24,A3:K7,A12:K19,H8:K10,H27:K27,A28:K89,N26:AL89,M5,D11:K11,Q11:V11,L3:L89,N21:S22,N24:S24,M23:S23,B21:K26`
5. The title never gets truncated and the dialog is too wide
Signed-off-by: Gülşah Köse <gulsah.kose@collabora.com>
Change-Id: Ib845bc84a85d90dec87115cdcd10ae8704163081
- Trying to open context menu from a sheet tab also
changes the active tab. This occurs when right click
on a sheet tab (or long tap on mobile or tablet)
- moveLeft and moveRight of inactive tabs are
implemented.
- added _moveSheetLR and _moveOrCopySheet functions.
Signed-off-by: Bayram Çiçek <bayram.cicek@collabora.com>
Change-Id: I5b25a8cb363b8e04fd6dcec1f500e7ff2982b678
/usr/bin/../lib64/gcc/x86_64-suse-linux/12/../../../../include/c++/12/bits/stl_vector.h:1124:9: runtime error: reference binding to null pointer of type 'char'
#0 0x557ce8c06055 in std::vector<char, std::allocator<char>>::operator[](unsigned long) /usr/bin/../lib64/gcc/x86_64-suse-linux/12/../../../../include/c++/12/bits/stl_vector.h:1124:2
#1 0x557ce8f16e3f in FileUtil::readFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, int) /home/vmiklos/git/collaboraonline/online-23.05-san/test/../common/FileUtil.cpp:449:37
While running toplevel 'make'. Both 'st.st_size' and 'off' were 0, so
this is an edge case.
Signed-off-by: Miklos Vajna <vmiklos@collabora.com>
Change-Id: I4899bffa48a761c84b6ee7d42776453b641ff5a7
make it bold with large text :-)
and move the exact figures back down to the bottom left
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I950ce3db288d63aef201f0a6274f778f2f05bc14
in practice presumably img can't be null, seeing as currently hasContent
would then be true, then we always deref on calling this._applyDelta
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I48d2466c0a12e4f7084d57a55a963cea469cf2fa
As pointed out at
<https://github.com/CollaboraOnline/online/pull/8041#discussion_r1457933092>,
it's not valid to have a markup like <div><html>...</html></div>.
The old markup was <html><head><meta ...></head>...</html> and that got
stripped away.
Fix the problem by going with <html><body><div ...>...</div></body></html>
which survives browser sanitize and also is a valid HTML.
Both the browser side and the wsd side is updated to go with this
inside-body markup. This also allows simplifying setTextSelectionHTML(),
because the valid HTML means the browser automatically strips the
<style> element whtn converting to plain text. Also remove a leftover
debug code in ClientSession::preProcessSetClipboardPayload() that I
forgot to remove.
Signed-off-by: Miklos Vajna <vmiklos@collabora.com>
Change-Id: Icb0b26a37320ae98237222b450a861ebcb2f0c43
The "logging.html" end point was intended to capture
unhandled javascript exceptions from client side,
only corner cases, when websocket is disconnected or
very early errors before websocket is created.
So add a token to restrict access.
Change-Id: I64b7d7f3b3ddd83f044fea21dc07285b4465b3be
Signed-off-by: Henry Castro <hcastro@collabora.com>
The variable initialization does not depend on
the conditional M4 macro expansion.
Change-Id: I39f0079ea668768724e0ca3175070e66dc858b0b
Signed-off-by: Henry Castro <hcastro@collabora.com>
The iOS app add event listeners is not a
conditional M4 macro expansion, so
move into the global.js file.
Change-Id: I3adb767cc191a73f0d9197af692e22dd72c6ab46
Signed-off-by: Henry Castro <hcastro@collabora.com>