inform user before updating comment list if user is editing comment
We also take care of importing latest update of comment in onACKComment,
because when we show dialog comments are always autosaved. So any subsequesnt
operations (i.e: save or cancle etc) will always trigger onACKComment.
problem:
if user was editing any comment and entire comment list was reimported
(ie: if another user enables show tracked changes) then comments will
not load correctly and will be invisible until doc is reloaded.
Signed-off-by: Pranam Lashkari <lpranam@collabora.com>
Change-Id: I55274633fac0da49989141873f87f29936d1515f
I see this on a local nextcloud where the audit dialog only has one entry
which is "ok".
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I55f12125cbc0ca4c88c9220ed114d455e84639e0
I figured out a way to stop compatibility breakages being so annoying
with the prefs refactor without needing to keep a prefs dictionary
around forever. If, on starting the application, we set new preference
names to old preference values we can choose when to break
compatibility.
This will allow us to do so later on, i.e. a significant time after the
rename, when many users will have had their preferences migrated and the
version with the old preference names is no longer supported.
Signed-off-by: Skyler Grey <skyler.grey@collabora.com>
Change-Id: I5f4101fb95b5f3b2caaf9ebaf353eb591024dd97
Previously we converted some ui_defaults values to booleans.
Unfortunately, when we save similar preferences to LocalStorage, we can
only save them as strings. To make sure code doesn't get booleans when
it's expecting everything to be a string, let's only send strings back
in our ui_defaults json
A nice followup to this might be to continue standardizing ui_defaults
transformation code on the server side so that its use is minimal (e.g.
uiMode, uiTheme variables), however an overhaul of server-side
ui_defaults was deemed to risky for now
Signed-off-by: Skyler Grey <skyler.grey@collabora.com>
Change-Id: I35ce175bf38da40361efd6f246264d0733e975e9
savedUIState isn't a normal UI_default, so it doesn't show up in the
ui_defaults list, and we can't fetch it with our prefs helper. Instead,
we should use the property on window
As a followup, it may be nice to make savedUIState be treated like a
normal ui_default, but I think that an overhaul of server-side
ui_default stuff is too risky for now
Signed-off-by: Skyler Grey <skyler.grey@collabora.com>
Change-Id: Ia66570c4694608a5caf7feba60208f34ca3c8ad3
In If4261a3e32375f6127241b846b97a3b4ac29eb0b, I introduced isRTL, which
can be set at construction of a ScrollSection. Unfortunately, some
places in ScrollSection still used isCalcRTL which could theorectically
be out-of-sync with isRTL, causing inconsistency in different parts of
ScrollSection code. This commit standardizes on only using isRTL.
Signed-off-by: Skyler Grey <skyler.grey@collabora.com>
Change-Id: Ieaaa373c4db6d48e57e9cfe730d1b4bdffa20a8a
Refs: If4261a3e32375f6127241b846b97a3b4ac29eb0b
This is a fix for a regression which I introduced in
If4261a3e32375f6127241b846b97a3b4ac29eb0b.
Before this fix we were flipping the direction of scrolling on RTL mode
twice, once in onMouseMove and once in scrollHorizontalWithOffset. This
had the effect of cancelling to not flip the scroll at all. Oops.
The scrollHorizontalWithOffset isRTL distinction is still important to
keep for panning, so I'll remove the other one.
Refs: If4261a3e32375f6127241b846b97a3b4ac29eb0b
Signed-off-by: Skyler Grey <skyler.grey@collabora.com>
Change-Id: Ie8aa49196ebf2bb04ccbba46e7c0668a9860191b
Mobile (not tablet) mode has a different sort of scrollbar to desktop
mode. Like the desktop scrollbar, it should render on the other side if
we are in RTL mode.
Signed-off-by: Skyler Grey <skyler.grey@collabora.com>
Change-Id: I2bcedbe79e572cc59a60648262ff77a48673e555
Fix for using uninitialized app.map, when calling cool.html
without parameters:
Uncaught TypeError: Cannot read properties of null (reading 'fire')
at JSDialogMessageRouter.processMessage (Util.MessageRouter.ts:95:12)
at NewClass._onJSDialog (Socket.js:1540:26)
at NewClass._onMessage (Socket.js:1292:9)
at NewClass.showModal (Control.UIManager.js:1139:14)
at NewClass.showInfoModal (Control.UIManager.js:1250:8)
at main.js:79:16
at main.js:137:2
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I9307e1117e63f9386374d403d3a24e459e0a0b9a
Have two COOL servers, copy on one instance, paste an on other instance,
nothing happens on Ctrl-V.
It appears the JS code in Clipboard.js
_dataTransferDownloadAndPasteAsync() gets the correct HTML, but when it
tries to contact the "copy" server for the underlying full clipboard,
some security policy prevents the JS code from doing that. Which means
1) perhaps we should do that HTTP fetch on the server, not in JS and 2)
the fallback code should at least work via normal HTML.
Fix 2) by extending ChildSession::setClipboard() to recognize if the
data has the typical HTML header, and only start the usual parsing in
case the data we got is not bare HTML.
The 1) still needs fixing.
Signed-off-by: Miklos Vajna <vmiklos@collabora.com>
Change-Id: I55a102c2a39d21ac898f82041760a220e46784cb
This is a fix for a regression from
I4cc9cc885aa8cd0b40646629cd73bef236963a94
Compact/tabbed mode was saved on a per-app basis, but read on a global
basis. This meant that the read preference was never changed, causing it
to be impossible to switch out of compact mode once you had entered it.
The fix is to change back to the previous behavior of saving and reading
on a global basis
Refs: CollaboraOnline/Online#9181
Signed-off-by: Skyler Grey <skyler.grey@collabora.com>
Change-Id: Ie9d72d6b7e10e209f10acf662535c866e06a98de
- Added option to print slides with inserted notes in it.
- It is consistent in both view -> Tabbed and Compact view
Signed-off-by: Darshan-upadhyay1110 <darshan.upadhyay@collabora.com>
Change-Id: If47a2384cda633eab4a754c07e690f0a9b0eb4a0
This will allow to avoid parallel access from many
sources. If one instance is used by different integrations
- we will warn only affected users.
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Ic397566c8e8e699dbfe5fd60b305040f735b44bc
Always show entries for things we check with status: red/green circle.
Initialize values on server start. If any user will not have is_audit
then we will mark that and later admin will see warning.
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I0eb434b4d1ed9e4ec4eb9c463d0aa4516e0926d5
and get real state of missing is_admin property
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I988ac357d2eca27e0bdf55d144f33caf780be5f4
we use { code: string, status: string } entries to describe a
problem
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I21dacc0fa7b2c48f08ea2923e73da58fe33f976e
This is dialog shown only for the admin users, or if is_admin
property is missing in the userPrivateInfo then - all users.
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Ife8355816b1afe6765ef5edc6fe2d3db5e043532
1) press F2 to edit a formula cell with defined range
2) The reference it is marked and painted
3) The formula bar lost focus and force to clear the mark
The references will be cleared due to response from server message.
Change-Id: I32fbacc8d846cf8ba8b3371f3386d07e9cebe470
Signed-off-by: Henry Castro <hcastro@collabora.com>
This should save server memory, and also complexity de-compressing
and also browser CPU re-rendering deltas from raw fzstd compressed
pixels.
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Change-Id: I12281fb85416a059d31b5df52b9ec8d79e4af316
We never re-use a Kit process. Therefore,
when we unload a document, we must also
exit the Kit process.
Alternatively, when there is at least
1 session, we keep the document loaded
and the Kit process so that a new
view can be created.
Change-Id: I33ee87149f326634c6ae67be78584d5c20ec0357
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
Previously the Collabora Office folder was hidden in iCloud. This was
normally fine as you could only create documents outside it, however
creating documents from the "Recents" tab still created them inside the
folder, making it impossible to later find the documents.
Showing the folder fixes this issue.
Signed-off-by: Skyler <skyler.grey@collabora.com>
Change-Id: I3ad9f2708934006fe25e8aa64af3c8f0378ab267
Some APIs require declaration of reason, and after May 1st this would
prevent us from uploading new builds. This commit adds the required
compliance information to explain why we use the APIs we do.
Please see https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api
for more details on APIs which require reasoning to use
Signed-off-by: Skyler <skyler.grey@collabora.com>
Change-Id: Ie6b05b754b2f3fd8e3e9b49d8e3b0581f63a8a1d
The ranks in iOS are "Owner", "Default", "Alternate" and "None". We used
"Owner" for all of the OASIS formats, which are not defined by us, but
for .fodt which is specified as "com.collabora.xyz" we had "Default".
Similarly, we only open PDFs in "Read Only" mode so should be classified
as a viewer rather than an editor.
Signed-off-by: Skyler <skyler.grey@collabora.com>
Change-Id: I411d9b26e7f4a70ed7cc36974459fdf5c89a6c22
It looks like in the case where _ensureContext needs to create a new
context in response to a keyframe delta, we were decompressing,
unpremultiplying and drawing the old data first.
This patch clears the old data immediately when receiving a keyframe.
Signed-off-by: Chris Lord <chrislord.net@gmail.com>
Change-Id: Iebc4de1a4f08cb4353c3daa50cdfe27309f01b9f
Ic661358cd47600ec9c3a329bef361b8087483017 prevented us from executing
cypress tests with accessibility enabled when in calc. Unfortunately, it
omitted to make the same change in the logic which sets
accessibilityState in Socket.js
Signed-off-by: Skyler Grey <skyler.grey@collabora.com>
Change-Id: Ic0e201c6402c1c22717e789a8bcf24579c07d414
Dark mode being saved in localstorage per-application doesn't make much
sense and is different to the ui_defaults options. It's far better to
save dark mode gobally.
In a previous commit, we did that. After doing so, this code is obsolete
Signed-off-by: Skyler Grey <skyler.grey@collabora.com>
Change-Id: Ic00bf2d7a7ad58bfdcf3f7375bebfafe62a75686
Add helper functions for fetching preferences from localstorage and
ui_defaults. By having these in unified helpers, we can be certain that
we're not making differences in the priority or use of different stores
which can cause UI inconsistency.
BREAKING-CHANGE: This changes the naming of many of the preferences in localStorage, effectively resetting lots of UI preferences
Signed-off-by: Skyler Grey <skyler.grey@collabora.com>
Change-Id: I4cc9cc885aa8cd0b40646629cd73bef236963a94
Fixes: CollaboraOnline/online#9166
doesn't exist since:
commit fdf5687d7c
Date: Mon Apr 20 16:30:05 2020 +0300
Bin some dead code, this gets rid of a use of Util::alertAllUsers(), yay
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I90976ab75649ab58197d593520d90d6579a07cfe
- converted to TS
- will be later extended with additional functionality
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I883da61018808d79d616d7346e86dadf9fa7079e
That condition shouldn't be checked before scrolling to selection position.
This fixes "doesn't scroll to searched text" issue.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: I9f901ba2fa15ade5416ad68f62e356e34163c641
- Toolbox: Remove height min-content as it's prone to problems and different
outcomes depending on the context. Plus we don't need it if we enforce
it via grid
- Center all elements
- Including unotoolbutton
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com>
Change-Id: Iadc55f0d253dd4a06c11ad8cd062c02863b1d12f