Collabora Online Community – our next major release was made more fun and beautiful by the community

Really soon (update: released!) there will be the final CODE 21.11! And we really love to let you know about all the people that did the hard work alongside us that made this release possible and fun!

 

Collabora has invested significantly in bringing a host of new features and functionality to this latest release, and accounts for the overwhelming volume of contributions. However, we want to acknowledge all of our friends and colleagues who helped to contribute not only to this, but also to the underlying LibreOffice technology, you can check out LibreOffice community credits. We cannot thank everyone involved enough for their passionate work. All of our code is open source, and available to the public on GitHub. Would you like to be part of the Collabora Online success story? Check the new website for Online with information, easy hacks and a forum for Online, report issues, and participate today!

On the community front people have been busy, hacking directly in the code and on the UI, helping with translations and improving the community website. Happily we can report successful Hacktoberfests (both last year and this) were a success with newcomers joining in our weekly Hacktoberfest meetings that were preceding our regular community weekly meetings. Those contributions kept raining down during the next weeks, month and make it into this release.

A huge thanks to Gleb Popov (arrowd) for single-handedly ported Collabora Online to FreeBSD. Oh, arrowd also found time to add and setup FreeBSD’s CI Cirrus. You rock!

Thanks to Andreas Kainz for all the many contributions around UI fixes. For all the improvements on Mobile toolbars and Desktop controls. For working on the Notebookbar spec and also for finding time to start helping newcomers :).

Alexandru Vlăduţu (1&1) has been busy making some user flows more discoverable by adding menubar shortcuts and by improving how the user edits an URL via the hyperlink dialog. Alexandru also made it easier to test and switch between multiple documents by creating a demo exactly for that browser/html/multidocs.html.

Now the avatar list is at the top right of the header thanks to Luka Trovic (Nextcloud) and Julius Härtl (Nextcloud) that also has improved the idle document dialog with new style.

Now branding theme is set as dynamic instead of constant string thanks to Julius Härtl. Who has also hacked and fixed CSP header by removing duplicated img-src rules; added the possibility to pass UI default to documents of type drawing and improved menu hide animation in the Classic UI mode.

Thanks to Stavros Kois for fixing a bug where clicking Page... button in Calc (using the Notebookbar mode) would do nothing, and also for working in the follow ups.

With regards to Docker and for those cases when only something in start-collabora-online.sh has changed the docker build was speeded up by moving the add script after the install script, thanks to Erik Habicht. Still related to docker thanks to Marco Marinello for setting the source of dockerfile to Debian Buster to keep things up-to-date.

Thanks to Gabriel Masei (1&amp1) a different UI mode is allowed for different views, this means that the same document can be viewed at the same time by one user: A using the notebookbar mode and by another user: B using the classic mode. To further his work, Gabriel also added support for that to be changed dynamically via post-message and without re-loading the opened view.

On the admin from Gabriel added clean-up metrics regarding resource consuming documents and also added support for lost kits clean-up.

Thank you to Hugo Peixoto for tackling many of those easy hacks related to optimizing startsWith calls on StringVector elements and for removing unused includes (c++). It’s really cool to see how fast you went with your contributions in such a short period of time!

Switching slide format via the dropdown is now possible thanks to the JavaScript bug fix from Alexandru Vlăduţu.

Martin Hoffman‘s first contribution fixed the build.sh bash script that was wrongly deploying core underneath poco’s directory resulting errors later on when doing configure --with-lo-path

Many upstream icons have been updated thanks to Rizal Muttaqi’s contributions. Thanks to Çağrı Gökçe and umutbayramoglu other new icons have been added to mobile and desktop.

New unit test added for skipping ModifiedStatus from deduplication by Gabriel Masei.

The building process was streamed lined with all the occurrences of WebDAVStorage removed by Yunus Bulut. Still in the process of clean-up, this time in the C++ realm, obsolete locking pieces were detected and removed by Shubham Goyal and duplicated include removed by Andrea Gelmini. Many unused variables and duplicated statements were also removed from Python and JavaScript files, thanks to umutbayramoglu and Bayram Çiçek. PelinkKuran was then hunting and fixing all the problems with indentations as per eslint 4.0.0

Functions in JavaScript are not better declared with less repetition and more consistency thanks to Kandarp Patel.

Lastly, text in many places has been improved, typos have been fixed throughout the code by the hand of Andrea Gelmini; Comments have been added directly into code by the hands of Serkan Danışan. Siddharth and codewithvk.

See all of them bellow:

HashAuthorCommit Subject

0115cbc5b Luka Trovic fix feedback for the last saved time over 1 day
32265b7c6 Julius Härtl browser: Only apply header avatars for desktop
0ccbb5704 Julius Härtl browser: cleanup header avatar handling
b31bb2c08 Julius Härtl browser: Adjust header avatars to fit default theme
f9e81b187 Luka Trovic add avatar list to the top right of the header
40c8152ee Julius Härtl browser: Move menubar to a flex-based layout
4c1185be7 Marco Marinello Fix debian dockerfile explicitly set buster as source since is now oldstable
111856f28 Julius Härtl Extract file_path from debug.html and pass other query parameters
fdfdd5909 Gleb Popov loolmount: Mimic the Linux behavior of umount2() on FreeBSD.
cc205d294 Luka Trovic remove xss vulernability
ec2e5e1ec Luka Trovic update idle document modal style
cbe99ee87 Erik Habicht Move adding the start script after running the install script.
b88708aac Gleb Popov Don’t enable SECCOMP by default on !Linux systems.
2716cc715 Gleb Popov Set –disable-setcap as default for !Linux platforms
b948e431f Gleb Popov Use more portable shebang for loolwsd-generate-proof-key script
e45358ab8 Gabriel Masei admin: add resource consuming docs cleanup metrics
5162f91ec Julius Härtl Keep branding theme dynamic
3eab4f70a Julius Härtl wsd: Only add one img-src rule to the CSP header
570c31d1a Julius Härtl wsd: Allow to pass ui defaults for drawings
b2abb5e4a Hugo Peixoto Use tokens.equals() instead of tokens[] ==
aba9bf559 Hugo Peixoto Fix typo in comment
2bdb7ed56 Hugo Peixoto Fix bug in StringVector::startsWith and add tests
8fc9dcadb Julius Härtl leaflet: Fix blocking the menu hide animation
f157b1eec Hugo Peixoto Remove unused Poco/Timestamp include
7bf0ead62 Hugo Peixoto Optimize startsWith calls on StringVector elements
46a7f6ba9 Andreas-Kainz Sidebar fix alignment for LB_SHOW_COLOR, LB_GLOW_COLOR and button2
dae6ab85d Andreas-Kainz Calc Sidebar fix for Number Format Section
f4ec05009 Andreas-Kainz Icon fix for closedocmobile it was to height at mobile insert menu
ab6719695 Andreas-Kainz Mobile Writer Graphic Context
8a8af507f Stavros kois Also add missing parameters
e29cbb281 Stavros kois Fix Page… button on Calc for NotebookBar
12e9ed689 Andreas-Kainz Mobile Sidebar Layout fixes
2f55d9e5b Andreas-Kainz Mobile BottomToolbar add context-Table commands
0e238382f Andreas-Kainz Mobile TopToolbar hide commands that are not available
a3f378e72 M.-Kupriyanov Update ingress.yaml
cb22a86a2 Andreas-Kainz Mobile Sidebar fix some alignments
2c34fdbb1 Andreas-Kainz Mobile TopToolbar Calc acceptformula and cancelformula
cf13964ba Andreas-Kainz Mobile BottomToolbar Calc add commands
c2f50008b Andreas-Kainz Mobile Bottom Toolbar Align Menu
f70824722 Andreas-Kainz Add ContectToolbar functionality
dec8bfedc Andreas-Kainz Sidebar justify-content flex-end for last-child
58599f8cb Andreas-Kainz Icon cleanup
f87628cfe Andreas-Kainz icon cleanup for smaler size
74d2563fa Alexandru Vlăduţu loleaflet: add menubar shortcuts where applicable
eb387cc7b Alexandru Vlăduţu loleaflet: add edit option in link dialog
0b361d1cf Alexandru Vlăduţu loleaflet: add demo for opening multiple docs and switching between them
3018878ae Çağrı Gökçe Create lc_checkboxoff.svg
e0cdc186e Siddharth Copy loleaflet-api.html into code: cursorURL
3dbc2657e Alexandru Vlăduţu leaflet: fix slide format JS bug in presentations
48f91a2aa Thomas Koch use Request.has instead of .find and .end
f50a2c201 Andreas-Kainz Sidebar css fixes
25c8d8b52 Andreas-Kainz Sidebar: expander with is 290px (322px – 2x16px)
20c2ab566 Gleb Popov Remove non-abstract unix socket files on shutdown.
950a5c4d1 Gleb Popov Use more sensible value for #ifdef when checking for abstract unix sockets.
0dd30ba28 Gleb Popov Remove unused private class member.
b3d5a2563 Gopi Krishna Menon Add profilezone around kitPoll function and SocketPoll constructor
9d8619397 Gopi Krishna Menon Log Last Uno 4 Commands During a Fatal Crash
5ba9db184 Serkan Danışan Copy loleaflet-api.html into code: defaultZoom
d21fade7c Hannah Meeks Copy documentation into source code as comments #2160
5ee33d15f Andreas-Kainz Mobile fix left padding insert commands
8429a2df1 Andreas-Kainz Mobile: fontnamecombobox use no left padding at mobile sidebar
9e10f0e53 Andreas-Kainz Mobile remove StyleUpdateByExampleimg and StyleNewByExampleimg from sidebar
2ac99e833 Andreas-Kainz Mobile search fold as first item
48ca25a1b Andreas-Kainz Mobile Sidebar Character remove Grow and Shrink #2488
65db91084 Jerzy Drozdz Added missing class A ip addresses regex to config file.
3d5a85a39 Andreas-Kainz Mobile show border-top ad bottomBar
c035146a8 Andreas-Kainz Mobile explorable-entry use the same padding-left than ui-header
6bc2f8f7f Andreas_K Revert “Mobile explorable-entry use the same padding-left than ui-header”
a362985f4 Andreas-Kainz Mobile explorable-entry use the same padding-left than ui-header
b956a0539 Andreas-Kainz Mobile wrap icons alignment float: left
a0257a60a Andreas-Kainz Mobile AlignToolBar use fixed icon size
84f109d88 Andreas-Kainz Mobile FontWorkShapes same alignment and padding than everywhere
746f2b78c Andreas-Kainz Mobile css remove clear after shadow
19afcbcdb Andreas-Kainz Mobile Calc Property sidebar panel fix number format and cell appearance
6142037a6 Andreas-Kainz Mobile unobuttons no additional padding needed
7040cedd0 Andreas-Kainz Notebookbar shortcuts-bar horizontal center align
7f59a4766 Andreas-Kainz Mobile BottomBar Impress/Draw Align
8dfd9dab6 Andreas-Kainz Mobile BottomBar Calc Align Menu
7bc42ca28 Andreas-Kainz Mobile BottomBar Calc Align Menu
c2e8885ce Andreas-Kainz Mobile fix closedocmobile icon
1841ab66e Andreas-Kainz Notebookbar shortcuts-menu vertical alignment center
d3a16af3c Andreas-Kainz Mobile Impress/Draw share TopBar code
840032b96 Andreas-Kainz Mobile Calc Formularbar arrangement fix
fe5cfbaf1 Andreas-Kainz Mobile BottomBar fix height
3d95c1754 Andreas-Kainz Mobile Icon closedocument fix
8303496ca Andreas-Kainz Mobile add BottomBar for drawing
a73919261 Andreas-Kainz Mobile Impress mobile-edit-button same arrangement than writer
c7b76b164 Andreas-Kainz Mobile TopBar update layout
2c6224d2b Andreas-Kainz Mobile Draw add TopBar commands from Impress
7161e13d5 Andreas-Kainz Mobile Topbar Alignment
ca097c723 Andreas-Kainz Mobile Menubar update
1137aee87 Andreas-Kainz Mobile BottomBar consistency
e8255044c Andreas-Kainz Colibre styles icon update:
9b652a5e4 Andreas-Kainz CSS color-palette vars are within a separate css file
f05769b7c Andreas-Kainz Statusbar use hue-rotate styles svg icons
6adc772fe Andreas-Kainz LibreOffice mimetype icon update and fix for #2407
f595fe790 Andreas-Kainz Notebookbar Cut, Copy commands without label
830f38105 Andreas-Kainz Notebookbar Shortcuts-bar simplify icons and alignment
3b62a9adf Andreas-Kainz Notebookbar Shortcut bar add Fullscreen #2417
a18765503 Andreas-Kainz Notebookbar Tab hover use primary color
4fa8fdc20 Andreas-Kainz Notebookbar add outline for hover commands
71831e273 Andreas-Kainz Notebookbar add commands to File and Layout tab
8914dfae3 Andreas-Kainz Notebookbar Draw/Impress add Layout and Review tab
b8c5c12ab Andreas-Kainz Notebookbar Tablet: remove tab height
2ca514f46 Andreas-Kainz Notebookbar Layout Tab add Sidebar show/hide #2295
9d4b047e9 Andreas-Kainz Calc Formular bar alignment #809
d1bbb6ada Andreas-Kainz Notebookbar.css var color update
3ff42011e Andreas-Kainz Notebookbar: add missing context toolbars #2175
de8a07d57 Andreas-Kainz Colibre icon fix d=”” was wrong cause of copy/paste
6d1045b44 Andreas-Kainz Colibre icon update: property wheel use white background
6b92bd140 Andreas-Kainz Notebookbar fontnamecombobox was one px to low
88c52d166 Andreas-Kainz Calc Formular bar alignment #809
572d1aa48 Gleb Popov Add Cirrus CI configuration for FreeBSD testing.
f12eb8373 Andreas-Kainz Notebookbar: Home tab: positioning direct formatting icons #2085
871669f51 Andreas-Kainz Notebookbar.css remove settings for #table-optionstoolboxdown
735c98473 andreas kainz notebookbar.css use –gray-light-txt-color for dimgray
662205355 Gleb Popov scripts/refresh-git-hooks: Create hooks dir before making links.
3ac539b1c andreas kainz Notebookbar: Tab: Fix vertical alignment
031f71bd8 andreas kainz Notebookbar Writer cleanup id values
77a122b88 andreas kainz Notebookbar Draw use branding color yellow0
6eba1e6fc andreas kainz Notebookbar ScrollButtons height shrink to 72px
df2e0a9d5 andreas kainz Thesaurus work only in writer #2129
53e1c0250 Gleb Popov Use Util::getThreadId() instead of Linux system call.
b5e3fc49b andreas kainz Notebookbar height 72px instead of 84px #2088
1000dab3e Michael Weghorn tdf#129833 android: Move reading file to separate thread
93bc5f608 andreas kainz Text dropdown fit into notebookbar row height
6e79c7b64 andreas kainz Notebookbar.css cleanup unrelated values was removed
369c8b6fc andreas kainz Button dropdown is now 24px in height like all other commands #2088
742cda8b4 Gleb Popov Don’t try use abstract unix sockets on !Linux platforms.
f11ca121a Gleb Popov Use SOL_LOCAL value instead of 0 in getsockopt() calls.
32c3488b9 Gleb Popov Fix a crash in the FreeBSD part of loolmount due to uninitialized variables.
b46c57952 andreas kainz Help icon last-updates update #2026
9c8776ab9 andreas kainz Notebookbar Find and Replace everywhere in Home Tab #2136
8211c3219 andreas kainz Notebookbar Clac Sheet tab was renamed to Layout #2130
495d5d811 andreas kainz Notebookbar: wrapper: vertical center all tabs
1700533c8 codewithvk Copy loleaflet-api.html into code: tileHeightTwips
967505b82 andreas kainz Update Help icons #2026
534813e3e andreas kainz Notebookbar Selected icons and icons + labels design update
7b54f0b30 codewithvk leaflet: show checked status for full screen in menu
4023a118c andreas kainz Notebookbar Draw Tab update #2007
23dc1b2aa andreas kainz Fix insert line and shape icon #2152
b1865b2b5 andreas kainz Colibre icon theme update to correct colors and forms
8a7278f94 andreas kainz Colibre Icons update insertgraphic #2151
3463c2eca Jan Holesovsky Revert “fix #1285 remove elipsis … from NB strings”
961b771ec andreas kainz Notebookbar writer calc remove grow-shrink subgroup
e6c233769 andreas kainz Notebookbar impress – draw home tab update
926686b87 andreas kainz Notebookbar Calc sync tab arrangement wit writer/impress
34b8dee38 andreas kainz update colibre filter icons
4d356ad99 andreas kainz Update Colibre icons
902442d4e Andreas_K Notebookbar Writer/Impress Table Contextual Tab update
584e139bb Andreas_K Notebookbar Calc Sheet and Data Tab update #2007
d267e7ccc Andreas_K fix
04ddf179b Andreas_K Notebookbar Format Tab update #2007
17d49e1a3 Andreas_K Notebookbar Writer Reference Tab update #2007
a1bf84f80 Andreas_K Notebookbar Writer Layout Tab update #2007
f12990a7b Andreas_K Notebookbar Insert Tab update #2007
3dc12fe6e Andreas_K Rename BasicShapes string #2111
647e2bbdd Andreas_K NB File Tabs SaveAs Label similar between apps
faf91d27e Andreas_K NB File Tabs SaveAs Label similar between apps
769c0dca4 Andreas_K NB Calc update Home Tab
850a657a3 Andreas_K fix #2095 NB File Tab update at all apps
a41ab8ff3 Andreas_K fix #1285 remove elipsis … from NB strings
72ab267f0 Andreas_K fix #1611 remove gray background of uno:color command in NB
36047958b Andreas_K add dropdown arrow to color picker
ca682ade8 codewithvk Fix : Notebookbar Labels Decrease font size
49bf42403 Ayhan Yalçınsoy added stdexcept include to fix build error
7bef5b5c2 Ayhan Yalçınsoy eslint:v.bump to 7.0.0
21d514ecf Gabriel Masei admin: add support for lost kits cleanup
201510798 Gleb Popov Add explanation for trick used in WhiteBoxTests::testTime()
5bb2f9368 Gleb Popov Fix testTime tests on libc++/FreeBSD.
c3a3a0d7a Gleb Popov Mark the argument as unused to silence compiler warning.
ed85b0a9d Emil Velikov android: Add support for split APKs to gradle
c9681a246 Emil Velikov android: inline constant gradle variables
c17a24769 Emil Velikov android: remove unused custom gradle variables
be4ab2a90 Emil Velikov android: Fold duplicate gradle settings
f3a22e981 Gleb Popov Port loolwsd-systemplate-setup to FreeBSD.
21bfa19e9 Gleb Popov Fix compilation with libc++
422723cbd Bayram Çiçek removed a duplicate of if statement in TileLayer.js
877ce2faf Gabriel Masei loleaflet: add support for changing ui mode dynamically
d08fda974 umutbayramoglu Remove unused variables
8727db174 Gleb Popov Fix build with libc++: std::min() parameters should be of the same type.
c03940312 Rizal Muttaqin Add download as csv icon
fff344afe Martin Hoffmann fix build.sh: wrong directory after poco install
038c85b8f Andreas-Kainz change default sidebar icon size to use 24px icons (like in toolbars)
d3ff48f65 Andreas-Kainz Sidebar should use .png icons instead of .svg fix #786
79374db3a Andreas-Kainz Signed-off-by: Andreas-Kainz <andreas_k@abwesend.de> Change-Id: I3ce2be9cc6362c09725fe1692e6853f195274211
3a3867e1c Shubham Goyal Resolve #805 : Remove Mutex lock
1f5feb153 Andreas-Kainz Notebookbar: disable commands without gray background
e50a2d8ce Andreas-Kainz Writer NB: Layout tab fix icon size of align commands
c4c30ecc0 Andreas-Kainz add clone and clear to ContextMenu
81a5d029e Andreas-Kainz NB shortcuts-bar vertical alignment update
e6cc492e9 Andreas-Kainz NB Impress home tab align bullet commands
7692247d6 Andreas-Kainz NB Calc home tab align character commands
0396307ea Andreas-Kainz NB Writer home tab align bullet commands
87aff3566 Andreas-Kainz NB update Format Tab
cb27d2cda andreas kainz NB: vertical-align content
d9cadd125 andreas kainz NB: Update writer and impress file tab according to calc #1080
6cceee7e4 andreas kainz NB update: calc file tab: bottom align labels
952b5c021 andreas kainz NB writer: add context-graphic tab
51ba40862 andreas kainz Notebookbar Insert Tab: update writer insert tab
a596e3292 andreas kainz Notebookbar Insert Tab: update calc insert tab
db2280bbb andreas kainz Notebookbar Insert Tab: update impress insert tab
fed8ed59a Gleb Popov Use portable `/usr/bin/env bash` shebang, instead of `/bin/bash` one.
d6de33d9e Gleb Popov configure.ac: Require pkg-config on all platforms except Darwin.
3cea82d6f Gleb Popov configure.ac: Extend some Linux conditionals to the FreeBSD case.
292aa7e9b Gleb Popov Stub out hasAnyCapability for !Linux platforms.
458d2b4ee 22shubh22 Remove unwanted Poco::Timestamp functions
f7d993da7 umutbayramoglu Mobile: Modify ‘insert comment’ icon
b7abd7ef0 andreas kainz TopToolbar Calc textalign menu: add vertical align commands
da5c34183 umutbayramoglu Update insert comment icon
2358b8305 umutbayramoglu Create new icon that replaces the ‘insert comment’ icon
99c9ac172 Gabriel Masei wsd: allow different UI mode for different views
613026a54 Ayhan Yalçınsoy Calc:recalculate command is added at Data menu
d2330390a bayramcicek Port to Util::make_unique for kit/ChildSession
df925222a andreas kainz TopToolbar better arrangement of breaks
054ab5f61 Ashod Nakashian wsd: specialize thread ID serialization
854065200 Gleb Popov Do not try to convert std::thread::id to integer value.
12cd5affc Gleb Popov Reuse __linux__ code path in __FreeBSD__ case too.
f7faaad79 Gleb Popov Replace all `__linux` in CPP conditions with `__linux__`.
78904302d Gleb Popov Do not call non-standard std::thread::id constructor.
3ee1ee0b5 Gleb Popov AdminModel.cpp: Fix build with libc++.
92c0d375e Gleb Popov Port mount.cpp to FreeBSD.
7f0b19baa Gleb Popov map.cpp: Add an implementation of glibc-specific error() function.
8c6cbedd5 Gleb Popov Socket.cpp: Use LOCAL_PEERCRED flag on FreeBSD instead of SO_PEERCRED.
57eab254c Gleb Popov On FreeBSD, link to libexecinfo and libz from base. Require 3rd-party libiconv.
55ed321a1 Gleb Popov Implement SslContext::id() for FreeBSD systems by calling pthread_getthreadid_np().
aa97476f0 Gleb Popov Util.cpp: Do not call setpriority for thread handles on non-Linux systems.
3930ea86a Gleb Popov FileUtil.cpp: Fix building on FreeBSD.
414dd5de5 Gleb Popov Seccomp.cpp: Fix building on FreeBSD.
a90bbc922 Gleb Popov Log.cpp: Extend #ifdef conditional to FreeBSD case.
333a70c05 Gleb Popov Kit.cpp: Fix build on FreeBSD and use cap_enter() to constrain the process rights.
7553c1f2f Gleb Popov ForKit.cpp: Implement haveCorrectCapabilities() for FreeBSD by checking that we are running as root.
ec4d35a53 Ayhan Yalçınsoy loleaflet: eslint v.bump to 6.0.0 #396
4de771751 andreas kainz Calc: menubar update in sheet calc menubar fix #549
e6b31fea6 andreas kainz Clac: add commands to calc menubar format section
1cf11ba05 andreas kainz Calc: add commands to calc menubar view and insert
687d02e5b andreas kainz Add space between drop down widget see issue #350
aa9cfa621 andreas kainz menubar writer tools and insert update
f532a3f4d andreas kainz Shape icon update
8e5354173 kuesji koesnu edited behaviour: if you pass csv input file with –csv parameter you get output in single line with comma seperated format
591a5ac9b kuesji koesnu added `–csv file` argument for taking author list from comma seperated format removed mail addresses from author list
c1df79e22 Ayhan Yalçınsoy loleaflet: Towards eslint 6.0.0 #396 – no-prototype-builtins
d1b13ddb4 andreas kainz Menubar Writer Format section update #433
d1e119b8f andreas kainz Menubar view – move sidebar to other show/hide items
a308453fe Marc Rodrigues Update README.md
d7656402d Jan Dageförde Migrate code to use generic sendError
7206231ed Jan Dageförde Rewrite FileServerRequestHandler::sendError to rely on generic sendError
c543e4415 Jan Dageförde Provide methods that output error headers into the socket
76ef26cf1 andreas kainz Merge branch ‘master’ of https://github.com/CollaboraOnline/online
be953a912 andreas kainz Update file menubar arrangement #433
42c56919b Ayhan Yalçınsoy Remove Poco/TimeStamp.h left-over part-2
c1b8a64fc Ayhan Yalçınsoy Remove Poco/TimeStamp.h left-over
1ef9ad4f5 Ayhan Yalçınsoy Remove Poco::LocalDateTime left-overs
7aae0ddc4 Jan Dageförde Simplify another Util::getHttpTimeNow() in headers
8aaebf9e1 Gleb Popov Add FreeBSD case to autogen.sh
d6dfd80ee ihristova11 chore: bump eslint version to 5.0.0
be98e41c2 Nicolas Christener Fix #391, Add “Actual behavior” to GitHub issue…
166f4b717 andreas kainz icon fix
bb5e11292 Pelin Kuran loleaflet: Bump eslint version to 4.0.0
48c2f217b andreas kainz Issue #213: add css theming support to shape icons
eee61971b Ayhan Yalçınsoy Remove unnecessary escapes for eslint 4.0.0 conformance
e6390089a pelinKuran Fix indentations as per eslint 4.0.0
29251ef43 dilaverdemirel Replaces Poco::DateTimeFormatter to Util::getHttpTimeNow #207
e9252a258 bugrakurt loleaflet: eslint 4.0.0 conformance
c6486d472 bugrakurt loleaflet: eslint 4.0.0 conformance
0f96c51f9 bugrakurt loleaflet: eslint 4.0.0 conformance
10c78cf11 pelinKuran Fix indentations as per eslint 4.0.0
3dc3a70a9 pelinKuran Fix indentations as per eslint 4.0.0
6dd2d4fc1 pelinKuran Fix indentations as per eslint 4.0.0
e9ea83efa Mücahid Aydin pep8 coding style conformance for scripts/unocommands.py
d977d1397 Yusuf Keten port to util::make_unique for wsd
0b5734de6 Buğra Kurt loleaflet: eslint 4.0.0 conformance for Control.Menubar.js,
0f229b841 andreas kainz Fix issue #210: StyleAply drop down menu width
161d5cd34 pelinKuran Fix indentations as per eslint 4.0.0
44006a2a1 dilaverdemirel Fixes some eslint 4.0.0 format rule mismatches #229
084a29504 Alan Verdugo Fixing pycodestyle errors
6ce6e0fbb corleone77 locorestrings style fixed
5452c205e Alan Verdugo Fixing pycodestyle checks
4768baf1d Rizal Muttaqin Update Impress sidebar icons
00cfe2246 Rizal Muttaqin Update icons to match newest Colibre color scheme
21373089c Gabriel Masei Unit test for skipping ModifiedStatus from deduplication
e982a8665 Yunus Bulut Remove WebDAVStorage in Storage.hpp #111
35ad7d426 Yunus Bulut Destroy WebDAVStorage and section #169
9d0154068 Andrea Gelmini Fix typos
6e7f2a1f8 Andrea Gelmini Remove executable bits on gif file
42d835ca4 Andrea Gelmini Fix typo in code
b2360fec3 Andrea Gelmini Removed duplicated include
596b26c7d Andrea Gelmini Fix typo in code
94e737b89 Kandarp Patel Ensure consistent function declaration in TextInput.js
170b7dd0b Kandarp Patel Fix Issue #68 Ensure consistent function declaration

Thanks to all translators Weblate contributions also kept coming with added missing strings left and right:

김주현; Abdul Mukti Nurrohman; Abduqadir Abliz; abidin toumi; Adam Rak; Adolfo Jayme Barrientos; Akhlak Ahmad; Ákos Nagy; Alexandre Brochand; Allan Nordhøy; Andika Triwidada; Andras Timar; Andreas Pettersson; Andrej Shadura; André Marcelo Alvarenga; Andrew Lee (李健秋); Àngels Giménez; Artem; Asier Sarasua Garmendia; Ayhan Yalçınsoy; bact; Baurzhan Muftakhidinov; belkacem77; Besnik Bleta; bormant; bruh; Budi Aryo; ButterflyOfFire; Carlos Moreira; Cédric Valmary; Cheng-Chia Tseng; Christian Kühl; Christian Lohmaier; Còdaze Veneto; Cor Nouws; DaeHyun Sung(성대현, 成大鉉); David Lamhauge; Dimitris Spingos; doanmanhduy75; Donald Rogers; Elisa de Castro Guerra; Eloy Crespo; Eugenia Russell; Ezinne Nnamani; Felipe Viggiano; Flávio José de Siqueira Cavalc; Florian; FW; Gábor Kelemen; George Kitsoukakis; Giacomo Bertolotti; Gökay Şatır; Gontzal Manuel Pujana Onaindia; Harri Pitkänen; HelaBasa; Henry Castro; Hirae; Ihor Hordiichuk; Imanuel Ronaldo; Jan Holesovsky; Jean-Baptiste Faure; Jeff Huang; Jesper Hertel; J. Lavoie; Joachim Vincent; Joan Montané; Jörn Liebau; Karl Morten Ramberg; kees538; K. Herbert; koffevar; Kolbjørn Stuestøl; Kruno; Lars Kirschmann; Leif-Jöran Olsson; Leif Lodahl; liimee; LL Magical; Lukáš Jelínek; Luna Jernberg; Marco Cecchetti; Marco Marega; Marc Rodrigues; Martin Srebotnjak; Masa Murakami; Matthaiks; Mehmet Sait Gülmez; Mert Tümer; Michael Bauer; Michael Wolf; Michalis; Mihail Balabanov; Mike Kaganski; Milo Ivir; Miloš Šrámek; Ming Hua; Mirsad; Modestas Rimkus; Muhammet Kara; Muḥend Velqasem; naniud; Nathan; Naveen; Necdet Yucel; Nguyen Trung Kien; Nguyen Tuan Anh; Nikita Epifanov; Niklas Johansson; No Ne; Oğuz Ersen; Olav Dahlum; Olexandr Pylypchuk; Olivier Hallot; Osoitz; Oymate; pan93412; Paul Roos; Pedro Pinto Silva; phlostically; Piotr Rudzki; Pranav Kant; Quentin Pagès; raal; Reza Almanda; Rhoslyn Prys; Rizal Muttaqin; Rob Pearson; Roman Vasylyshyn; Ron Stephen Mathew; Rybnicek-PCHELP; Saikeo; Samson B; SC; Sebastiaan Veld; Sérgio Marques; Sérgio Morais; Slimane Selyan Amiri; So; Sophie Gautier; ssantos; Stanislav Horáček; Steen Rønnow; Stratos Kostidis; Stuart Swales; Sveinn í Felli; Szymon Kłos; tamer dab; Thais Vieira; Tor Lillqvist; Tymofii Lytvynenko; Unihuppio; uzadmin; Valter Mura; VenetoABC; vpanter; wck317; William Gathoye; wxf26054; Xosé; Yaron Shahrabani; Zhou Nan; Андрій Бандура; Євген Кондратюк; امير محمد العمري; غادة الذياب; வே. இளஞ்செழியன் (Ve. Elanjelian); 日陰のコスモス; 村上正記; 琨珑 锁

This release also marks the very first community smoke test, annouced in many places:

David Negreira; Rodrigo Borges; Jaime Pereira; Gabriel Masei; Peter Hagen; Rob Pearson; BigTwoProduction; Nicolas Christener; Sebastiaan Veld;

Lastly, we also received many improvements from newcomers to the Community website, CollaboraOnline.github.io

Sachin Hatikankan; Marc Rodrigues; Jaime Pereira; noel; LUCANM; Mariana Beldi; PareshHK; Shubham Ingale; Cor Nouws; Philippe Kalaf

Collabora Online Community Roundup #11

On 1 October 2020, Collabora Online moved to its new home on GitHub, and started settling in the new infrastructure, expanding its fantastic community, and continuing the work to deliver the latest and greatest developments in productivity and collaboration together. Check our community website for all the details!

Collabora developers also keep fixing and improving our lovely mother project LibreOffice. As all the good work requires some appreciation, let’s take a look at what the seasoned developers of the Collabora team and the volunteer contributors from our community have been doing during the last few months. -Have been wondering what happened to the “weekly” roundups? Well, your friendly community mentor was having a time off for health reasons due to the pandemic, but now he is all good and back online. ;)-

Month in Numbers

On the Collabora Online code repository in the last month, 47 authors have pushed 266 commits to master and 907 commits to all branches. On master, 258 files have changed and there have been 8,685 additions and 2,186 deletions.

Screenshot of GitHub Pulse for Collabora Online
Development Activity on Collabora Online GitHub Repository from May 23, 2021 to June 23, 2021

New Contributors

Congratulations to Jerzy Drozdz, Vivekkumar Javiya, Gökhan Karabulut for their first pull requests on our GitHub repository!

  • Thanks to Jerzy Drozdz for adding the missing class A IP addresses regex to the loolwsd config file, thus helping COOL to be compatible with very large networks.
  • Thanks to Vivekkumar Javiya for adjusting the Notebookbar font size, adding support for signaling the fullscreen status in the menu, and adding comments to the Map.js to improve the inline documentation of the code-base.
  • Thanks to Gökhan Karabulut for helping COOL become easier-to-debug and more clutter-free by improving the state dumping and removing some unused fields on the C++ side of the code-base.

Thank you all, and welcome aboard! 🙂

Join the fun!

You can also join the fun, and be part of our next list of new contributors! 🙂

Just go to our GitHub repo, fork it, build it (on Linux or on any platform), grab one of our newcomer-friendly easy hacks, and send your first pull request. And if you get stuck at any point, just drop by one of our communication channels. 😉

Highlights

Collabora Online Weekly Meeting #30

COOL Weekly Meeting #30 has taken place on Thursday, February 24, 2021 at 10:00:00 am (UTC) with participants both from the community contributors and the Collabora team. We have got a quick update on what’s going on and discussed matters raised by the contributors, as well as having the chance to say hi to fellow members of the community. Topics discussed in the meeting include:

  • During the quick update part by Muhammet Kara, it’s been reported that we have 7 easy hacks at the moment, and planning to increase the number of them. He has also mentioned that COOL is now listed on the First Contributions platform.
  • Michael Meeks brought up the topic of Interactive Performance, and mentioned updates on the ongoing work by various team members, such as image scaling profiling, improving table pieces, fixing Calc’s interactivity & drag and drop selection, and benchmarking and performance profiling during collaborative editing by multiple users.
  • Szymon Kłos shared a status update on his recent work on native sidebars, which would improve the performance and user experience while working with the sidebars.
  • Michael Meeks mentioned that all of the patches for the async saving work are now merged, and the bug fixing step is the next.
  • Muhammet Kara mentioned the nice work by Chetanya Kandhari on the Mattermost integration of Collabora Online.
  • Gabriel Masei shared an update on the stability profiling/improvement efforts going on, followed by a discussion with Andras Timar on the docker image scripts.
  • Quick updates on various ongoing efforts were shared by Michael Meeks.
  • Various topics around design bits were discussed, signalling a lot of visual/aestetic improvements especially on Calc.
  • Pedro Silva pointed out that the Cypress tests need to be made more stable, and acknowledged the recent nice work by Rashesh Padia on that front.
  • Andras Timar shared that CODE 6.4.10 release is planned for the next week.
  • Muhammet Kara reminded everyone that the CfP deadline for LibOCon 2021 is on June 30th, so ~1 week left to submit papers.

Check out the meeting minutes for the details of the meeting, and join us on Thursday, July 01, 2021, at 10:00 am (UTC) to stay in touch with the rest of the community. You may also make your own suggestions for the next meeting by following the link shared in the COOL Telegram group before the next meeting. We’re looking forward to hearing from you live. 😉

Move to Libera.Chat

We set up a #cool-dev channel from the first day of Libera.Chat to help people migrate, and recently made the decision to drop our Freenode channel. Thankfully, the LibreOffice channels are also moving, so we will stay aligned with the wider project. So if you were wondering where everyone went, here is your answer. 😉

Collabora Online (COOL)

  • Thanks to Marco Cecchetti for adding cypress tests for the fullscreen presentation, thus helping us ensure the stability and quality of COOL while doing presentations.
  • Thanks to Gabriel Masei for adding support for lost kits cleanup, thus helping COOL become more friendly in terms of system resource usage as well as making sure the button for the hyperlink dialog is enabled and disabled properly while dynamically changing the UI mode to classic.
  • Thanks to Yunusemre Şentürk for improving the CODE docker image creation for arm64.
  • Thanks to Ayhan Yalçınsoy for helping to ensure COOL code-base’s compliance with the modern JS coding standards by updating the eslint version to 7.0.0 as well as making sure it builds without error on certain platforms.
  • Thanks to Ezinne Nnamani for making sure the paste shortcut CTRL+V works properly on the comment dialog, as well as for ensuring that the Impress slide previews in vertical orientation are fitting the screen nicely on mobile devices.
  • Thanks to Mike Kaganski for adding support for integrations that use certain URL parameters, and improving pixmap handling for watermarks thus possibly helping COOL perform better on related scenarios.
  • Thanks to Muhammet Kara for enabling CodeQL checks for C++ on our code repo, thus helping to maintain the code quality while adding new features and fixing issues, along with various improvements around the contributor friendliness of our project.

    CodeQL
    CodeQL is the analysis engine used by developers to automate security checks, and by security researchers to perform variant analysis.
  • Thanks to Aron Budea for various fixes and improvements such as making sure the Page Up and Page Down keys work properly in the slide sorter on Impress, and updating Cypress from 6.2.1 to 6.8.0 thus helping COOL’s testing facilities stay up to date.
  • Thanks to Gleb Popov for a lot of fixes and improvements around the FreeBSD support of COOL such as fixing tests and adding new CI configurations to ensure continuous stability of COOL on the aforementioned systems.
  • Thanks to Tamás Zolnai for a lot of fixes and improvements around cypress (testing framework), and the testing facilities thus helping COOL maintain quality over time.
  • Thanks to Henry Castro for various fixes and improvements such as adding configuration options for macro enabling macros and also setting security level for macros, thus helping COOL become easier to customize for different work settings.
  • Thanks to Mert Tümer for a series of fixes and improvements especially around improving experience on mobile views.
  • Thanks to Pranam Lashkari for fixing various issues around comment handling such as fixing an error on annotation insertion in Impress, and also for updating the instructions to set up COOL in Kubernetes (K8s), along with many other fixes and improvements.

    Kubernetes logo
    Kubernetes, also known as K8s, is an open-source system for automating deployment, scaling, and management of containerized applications.
  • Thanks to Miklos Vajna for various fixes and improvements especially towards general stability of the code-base, and also for helping us move our IRC notifications to #cool-dev’s new home on Libera.Chat.
  • Thanks to Andras Timar for fixing tooltip text for some notebookbar items, thus improving the user experience of COOL, along with various other improvements and maintenance especially around localization, containerization and packaging.
  • Thanks to Rashesh Padia for many fixes and improvements especially around the Cypress UI tests, thus helping us maintain high quality of COOL’s user experience.
  • Thanks to Michael Meeks for a lot of improvements particularly focused on performance testing and asynchronous behavior, thus possibly making user experience smoother for the users of COOL.
  • Thanks to Gökay Şatır for his work on the new CanvasTileLayer towards offering a much smoother and crisper viewing experience for the users at different zoom levels.
  • Thanks to Dennis Francis for a ton of fixes, which can’t fit into a single sentence of the summary, from getting rid of the flickering during zoom animations to ensuring that the autofill behavior works properly without unwanted view jumps, thus improving the overall user experience of COOL in various ways.
  • Thanks to Pedro Silva for various fixes and improvements especially around the user interface of COOL to make it have a better and more consistent look and feel, as well as improving the Cypress tests to ensure the continuous quality of COOL.
  • Thanks to Tor Lillqvist for a lot of fixes and improvements towards modernizing the code-base.
  • Thanks to Andreas Kainz for his work towards making COOL look better on all platforms with a shiny and consistent look & feel, in cooperation with other contributors and team members such as our UI expert Pedro Silva.
  • Thanks to Szymon Kłos for various improvements and fixes especially around the notebookbar, sidebar, cypress and various dialogs, thus helping COOL become richer in feature and have an even better user experience. Check out his blog post for an update on his recent work on native sidebars!

    Native sidebars on Collabora Online in action
  • Thanks to Ashod Nakashian for various fixes and improvements towards increasing general stability of COOL and maintainability of the code-base along with tests to make our code-base future-proof, working on the async upload feature which will provide a much smoother experience for the users especially in collaborative environments, and also for reviewing pull requests of other contributors, and for mentoring them through tough issues.

Collabora Office on Android & iOS

  • Thanks to Michael Weghorn for moving the file reading logic of the Android app to a separate thread thus possibly helping it to become more responsive while opening office documents.
  • Thanks to Mert Tümer for various fixes and improvements on the Android app such as making it possible to open PDF files.
  • Thanks to Miklos Vajna for making sure the Android app knows the user’s name or nickname properly and improving localization of the app by marking certain UI strings for localization, along with various other fixes and improvements.
  • Thanks to Tor Lillqvist for various fixes and improvements on the iOS app such as allowing it to open PDF files, and ensuring it is built without errors.

Collabora Online Integrations

  • Thanks to Dave Conroy for fixing OOXML template extension, thus making sure OOXML spreadsheets can be successfully created on Collabora Online’s Nextcloud integration.
  • Thanks to Joas Schilling for helping with the housekeeping of Collabora Online’s Nextcloud integration by updating node and npm versions.
  • Thanks to Roeland Jago Douma for reviewing and merging the pull requests from other contributors on Collabora Online’s Nextcloud integration.
  • Thanks to Valdnet for various fixes and improvements around the localization of Collabora Online’s Nextcloud integration.
  • Thanks to John Molakvoæ for various under-the-hood improvements on Collabora Online’s Nextcloud integration.
  • Thanks to Szymon Kłos for various improvements and fixes on Collabora Online’s Nextcloud integration, such as making sure the configuration caching doesn’t cause users to be stuck in an erroneous state on certain cases after a fresh boot of COOL.
  • Thanks to Julius Härtl for countless fixes and improvements on Collabora Online’s Nextcloud integration as well as reviewing and merging pull requests of others.
  • Thanks to Semih Serhat Karakaya for fixing PHPStan issues on Collabora Online’s ownCloud integration, thus helping to improve its CI facilities.
  • Thanks to Phil Davis for helping to keep Collabora Online’s ownCloud integration up-to-date, as well as reviewing and merging pull requests of others.
  • Thanks to Piotr Mrówczyński for various fixes and improvements on Collabora Online’s ownCloud integration such as ensuring that secure view is enabled by default for all documents when it is enabled.
  • Thanks to Jürgen Weigert for helping with the housekeeping of Collabora Online’s ownCloud integration by updating packages and the changelog as well as reviewing and merging the pull requests of other contributors.
  • Thanks to Dipak Acharya for updating CI facilities of Collabora Online’s ownCloud integration, thus helping to maintain its code quality.
  • Thanks to theheyon for various under-the-hood fixes and improvements on Collabora Online’s ownCloud integration.
  • Thanks to Jan Ackermann for a lot of fixes and improvements on Collabora Online’s ownCloud integration, as well as reviewing and merging pull requests of other contributors.
  • Thanks to Jérémie Lesage of Jeci for countless fixes and improvements on Collabora Online’s Alfresco integration, from updating the README file to make it more developer-friendly, to adding CI facilities to ensure its continued quality.
  • Thanks a lot to Chetanya Kandhari of Brightscout for revamping Collabora Online’s Mattermost plugin completely, making it more user-friendly and modern-looking, as well as bringing it in alignment with Mattermost’s plugin guidelines.

    Collabora Online’s Mattermost integration in action

Honorable Mentions

  • Thanks to Cor Nouws for leading the marketing team, and not stopping there but continuing with testing & reporting bugs, attending to community events, and keeping us all informed about what’s going on. He also attends LibreOffice Design meetings from time to time to help COOL’s mother project LibreOffice have a better UI & UX.
  • Thanks to Eloy Crespo for his efforts to help the project well-funded as always.
  • Thanks to Marc Rodrigues for continuing to keep us updated on various news around Collabora Online and related FOSS projects, and creating a lot of yummy content to read!
  • Thanks to Pedro Silva for improving various points around the COOL Community Page and forum, and also for helping other contributors by providing instructions on their pull requests as well as reviewing them.
  • Thanks to Andras Timar for keeping us organized, maintaining our translation project on Weblate, and delivering hot new releases of our software!
  • Thanks to Yunusemre Şentürk for various tasks towards keeping our CI chains healthy.
  • Thanks to Jan Holesovsky for doing a lot of research on different topics, and providing mentoring/patch-reviewing/hand-holding/wisdom within the team, in our communication channels, and also on various channels of our lovely mother project LibreOffice.
  • Your friendly community mentor, Muhammet Kara, is also creating & improving easy hacks, running workshops, helping new contributors solving their setup & build issues and reviewing their pull requests, working on easing the build procedure, improving our GitHub presence bit by bit based on its community guidelines, compiling/composing these community updates…

Translators

Last but not least, we can’t thank enough to our translators who constantly help COOL and its friends talk many languages on this earth. Collabora Online speaks many languages, thanks to all of our translators in our translation project, and all of those who previously contributed and keeps contributing to our mother project, LibreOffice.

We’re continuing to work to find good ways to credit translators’ hard work in the product. Please see a list of those involved, and please get in touch if you’re not listed. Many thanks to all those who have worked on translating Online, you rock!

If you would like to help COOL speak your language, you can just go to our translation project on weblate, and start contributing! 😉

Collabora Online translation project on Weblate
Collabora Online translation project on Weblate

Collabora loves LibreOffice!

We’re still contributing to LibreOffice and encourage you too to do so because LibreOffice rocks. 😉

  • Thanks to Gabriel Masei for making sure that mpWindowImpl is checked before referencing, thus improving stability of LibreOffice by preventing possible crashes.
  • Thanks to Miklos Vajna for many improvements and fixes along with adding new cool features to LibreOffice. Here are a few of them:
    • After the bibliography improvements in LibreOffice Writer, funded by TUBITAK ULAKBIM, Writer now has three improvements in this area: more information about the bibliography entries in the form of a mouse tooltip and clickable URLs in the table, the ability to refer to a specific page of a (potentially long) source. Check out his blog posts[0][1] for details!
      Tooltip for bibliography entry fields
      Clickable URLs in the bibliography table

      Refer to a specic page of a bibliography source, user interface
    • Improvements to gutter margin in Writer as part of his hack-week activity at Collabora.
    • Improved borders of merged table cells in Writer. Also thanks to Docmosis for making this improvement possible by funding the work on it.
    • Writer line heights: removing a 16bit limit. Also thanks to Vector for making this improvement possible by funding the work on it.
  • Thanks to Tomaž Vajngerl for continuing his work towards developing a built-in Xray-like UNO object inspector. This effort has been funded by The Document Foundation, so also thanks a lot to the TDF Board of Directors, and the TDF donors who made the work on this tool possible! Check out his blog posts for all the details:
  • Thanks to Mike Kaganski for implementing support for multi-column layout in LibreOffice’s text boxes. Also thanks a lot to SUSE, our valued partner, for making this improvement possible by funding the work on it. Check out the blog post for all the details!

    Multiple columns in LibreOffice text boxes
  • Thanks to Gülşah Köse for various fixes and improvements especially towards improving interoperability of LibreOffice with foreign document formats, thus improving interoperability with other office suites.
  • Thanks to Noel Grandin for doing various code-quality improvements and modernization all around the LibreOffice code-base.
  • Thanks to Tor Lillqvist for a lot of fixes and improvements especially towards better support on macOS and iOS.
  • Thanks to Gopi Krishna Menon for ensuring[0][1][2] crash reports are more detailed, thus making it easier to fix critical issues on LibreOffice.
  • Thanks to Sarper Akdemir for various fixes and improvements on OOXML file formats, thus helping LibreOffice to improve in terms of interoperability.

Collabora Online Community Roundup #10

On 1 October 2020, Collabora Online moved to its new home on GitHub, and started settling in the new infrastructure, expanding its fantastic community, and continuing the work to deliver the latest and greatest developments in productivity and collaboration together. Check our new community website for all the details! 😉

Collabora developers also keep fixing and improving our lovely mother project LibreOffice. As all the good work requires some appreciation, let’s take a look at what the seasoned developers of the Collabora team and the volunteer contributors from our community have been doing during the last 2 weeks.

Week in Numbers

On the Collabora Online code repository in the last week, 11 authors have pushed 42 commits to master and 72 commits to all branches. On master, 48 files have changed and there have been 1,567 additions and 835 deletions.

Screenshot of GitHub Pulse for Collabora Online
Development Activity on Collabora Online GitHub Repository from February 15, 2021 to February 22, 2021

New Contributors

Congratulations to Gianni154, Samuel, sowoi, oiselarius and SerjSX for reporting their first issues and improvement requests on our GitHub repository!

  • Thanks to Gianni154 for reporting multiple issues around the iOS app such as the comment function not working properly while the keyboard is active[0], thus giving us the opportunity to improve the experience for our users on iOS even further.
  • Thanks to Samuel for opening an enhancement request to add the Libertinus Font to the CODE docker image, thus letting us know about the preferences of our users on certain configurations.
  • Thanks to sowoi for reporting that empty menus are being shown even when all of their items are disabled on certain integrations, thus giving us the opportunity to improve the user experince of Collabora Online even more.
  • Thanks to oiselarius for letting us know about issues encountered while opening files with the iOS app which reside on some cloud storage services.
  • Thanks to SerjSX for reporting a potential issue on the Android app, and then helping triage the issue which turned out to be a false positive.

Thank you all, and welcome aboard! 🙂

Join the fun!

You can also join the fun, and be part of our next list of new contributors! 🙂

Just go to our GitHub repo, fork it, build it (on Linux or on any platform), grab one of our newcomer-friendly easy hacks, and send your first pull request. And if you get stuck at any point, just drop by one of our communication channels. 😉

Highlights

Collabora Online Weekly Meeting #13

COOL Weekly Meeting #13 has taken place on Thursday, February 18, 2021 at 11:00:00 am (UTC) with participants both from the community contributors and the Collabora team. We have got a quick update on what’s going on and discussed matters raised by the contributors, as well as having the chance to say hi to fellow members of the community. Topics discussed in the meeting include:

  • During the quick update part by Muhammet Kara, it’s been reported that COOL has got more than 75 new contributors (25+ code contributors) since the move to GitHub, and the COOL Roundup #9, covering more than 2 months of time, is finally out.
  • Pedro Silva has reported that multiple new categories have been added to the Collabora Online community forum along with new icons, and a new navigation bar on the top making it easier to find your way around.

    New navigation bar on the forum
  • Nicolas Christener has given an update on the template contest, informing us that there are 33 submissions so far, with 10 of them being quite promising, and that they will finish the evaluations by Feb 25.
  • Gabriel Masei has confirmed that all the work towards allowing users and integrations to change/choose a toolbar type dynamically has been completed and landed on the main (master) branch.
  • Gökay Şatır has shared the latest status of the ongoing CanvasTileLayer work, stating that they are now removing the custom scrollbars using the canvas section container and also updating the canvas section container as well, which would improve the user experience on different platforms with an even smoother and more natural look and behavior of scrolling.
  • On the Icon Theming topic, Pedro Silva has reported that Andreas Kainz is going to do some manual tests before moving on.
  • About the ongoing effort of Async Saving, which would improve the performance and the user experience of Collabora Online by allowing seamless/smooth save operations especially when multiple users are working on the same document collaboratively, Jan Holesovsky shared that Ashod Nakashian has already merged some of the initial/preparatory work, doing some clean-up and under-the-hood improvements, and the first step of the good stuff is already on GitHub as pull requests.
  • Andras Timar, on the new release schedule, has informed us that CODE is expected to have more frequent updates with the bleeding edge features and improvements before they go into the next release of COOL.
  • Pedro Silva has reported that the bug which prevented the notebookbar from being scrolled on small screens is now fixed, and all the work has already been merged.
  • Pranam Lashkari has reported that the Invalidation Debugging work by Rashesh Padia has been completed and merged.
  • Muhammet Kara has brought up that there is a small pull request by Gleb Popov which allegedly fixes a build issue on FreeBSD and looks okay, and he has requested a review from Ashod Nakashian, and he is going to merge it if no response or objection in a few days.

Check out the meeting minutes for the details of the meeting, and join us on Thursday, March 04, 2021, at 11:00 am (UTC) to stay in touch with the rest of the community. You may also make your own suggestions for the next meeting by following the link shared in the COOL Telegram group before the next meeting. We’re looking forward to hearing from you live. 😉

Collabora Online (COOL)

  • Thanks to Gökay Şatır for his work on CanvasTileLayer, which would make COOL have a much crisper and smoother look and feel. See the Weekly Meeting notes above for some more details.
  • Thanks to Pranam Lashkari for fixing a bug which caused the composed shortcuts, such as Ctrl+P to print the document, not to work in read-only mode, and also for making sure the right-click menu properly works also on the first row & column of Calc documents.
  • Thanks to Andras Timar for adding the info on how to build Collabora Online 6.4 docker to the README file, thus improving the documentation for potential new contributors and adopters of COOL, along with various other improvements and maintenance around localization and containerization.
  • Thanks to Dennis Francis for various fixes and improvements around the Canvas layer, which brings a lot of visual and user experience improvements such as smooth zoom animations. You can also now add Mocha tests in Collabora Online to test any existing typescript classes or functions of it, again thanks to him. Check out his blog post for the details.

    Logo of Mocha testing framework
    Mocha is a feature-rich JavaScript test framework running on Node.js and in the browser, making asynchronous testing simple and fun.
  • Thanks to Szymon Kłos for various improvements and fixes especially around the notebookbar and various dialogs, such as adding the Fontwork feature to Calc and making sure dialogs are closed when the user hits the ESC key without the need of explicitly clicking the close button, thus helping COOL become richer in feature and have an even better user experience.
  • Thanks to Tor Lillqvist for adding a new toString() method to use while debugging Collabora Online, thus helping to make the lives of developers a bit easier, and for making sure the view id is included in the tunneled dialogs’ image hash to prevent possible issues while users are collaboratively editing a document.
  • Thanks to Ashod Nakashian for various fixes and improvements towards increasing general stability of COOL and maintainability of the code-base along with tests to make our code-base future-proof, working on the async save feature which will be a major leap towards a much smoother experience for users while collaboratively editing documents, and also for reviewing pull requests of other contributors, and for mentoring them through tough issues.
  • Thanks to Gabriel Masei for adding support for changing the UI mode dynamically between the classical toolbar and the new notebookbar, effectively making Collabora Online easier to customize based on user needs or taste.
    A screenshot of the Collabora Online’s classic toolbar on the Writer module

    A screenshot of the Collabora Online’s new Notebookbar on the Writer module
  • Thanks to Rashesh Padia for improving the debugging facilities of COOL, by adding a separate option in debug mode for sidebar invalidation re-rendering.
  • Thanks to Pedro Silva for various fixes and improvements around the user interface of COOL to make it have a better and more consistent look and feel, especially focusing on the vex widgets lately.
  • Thanks to Henry Castro for making it easier to debug Collabora Online by adding a tag string to extract backtrace logs.
  • Thanks to Umut Bayramoğlu for removing some unused variables, thus helping our code-base to become even lighter and easier to maintain.
  • Thanks to Gleb Popov for fixing the build with libc++ by ensuring that std:min() function has the same type of parameters in the code-base.
  • Thanks to Tamás Zolnai for a lot of fixes and improvements around cypress (testing framework), and the testing facilities, and also documenting the interface testing on the README file, thus helping new potential contributors to ensure stability and future-proofness of COOL.
  • Thanks to Miklos Vajna for adding support for gutter margins on Writer documents, which makes it much easier to adhere to binding standards of governments and other institutions for printed materials. Checkout his blog post for details!

    UI for the new gutter margins on Collabora Online

Collabora Online Integrations

  • Thanks to Julius Härtl for reviewing and merging pull requests from other contributors on Collabora Online’s Nextcloud integration.
  • Thanks to Szymon Kłos for improving the user experience of Collabora Online’s Nextcloud integration by making sure the Save As dialog shows the new name after the file is renamed from within the editor.
  • Thanks to Phil Davis for improving the CI and test facilities of Collabora Online’s ownCloud integration by applying latest drone starlark code.
  • Thanks to Artur Neumann for reviewing and merging pull requests from other contributors on Collabora Online’s ownCloud integration.
  • Thanks to Cindy PIASSALE of Jeci for various improvements and clean-ups on Collabora Online’s Alfresco integration, such as adding Collabora Online as a viewer option for supported formats, documenting the new feature on the README file, and also releasing a new version of the integration app.

Honorable Mentions

  • Thanks to Cor Nouws for leading the marketing team, and not stopping there but continuing with testing & reporting bugs, attending to community events, and keeping us all informed about what’s going on. He also attends LibreOffice Design meetings from time to time to help COOL’s mother project LibreOffice have a better UI & UX.
  • Thanks to Eloy Crespo for his efforts to help the project well-funded as always.
  • Thanks to Marc Rodrigues for continuing to keep us updated on various news around Collabora Online and related FOSS projects, and creating a lot of yummy content to read!
  • Thanks to Pedro Silva for improving various points around the COOL Community Page and forum, and also for helping other contributors by providing instructions on their pull requests as well as reviewing them.
  • Thanks to Andras Timar for keeping us organized, maintaining our translation project on Weblate, and delivering hot new releases of our software!
  • Thanks to Yunusemre Şentürk for various tasks towards keeping our CI chains healthy.
  • Thanks to Jan Holesovsky for doing a lot of research on different topics, and providing mentoring/patch-reviewing/hand-holding/wisdom within the team, in our communication channels, and also on various channels of our lovely mother project LibreOffice.
  • Thanks to Mike Kaganski for his recent work on upgrading our partner & customer ticketing system to make things even sweeter for all of our users. Feel free to check his blog post on Reading from MySQL data with BLOBs dumped to CSV.
  • Your friendly community mentor, Muhammet Kara, is also creating & improving easy hacks, running workshops, helping new contributors solving their setup & build issues and reviewing their pull requests, working on easing the build procedure, improving our GitHub presence bit by bit based on its community guidelines, compiling/composing these community updates…

Translators

Last but not least, we can’t thank enough to our translators who constantly help COOL and its friends talk many languages on this earth. Collabora Online speaks many languages, thanks to all of our translators in our translation project, and all of those who previously contributed and keeps contributing to our mother project, LibreOffice.

We’re continuing to work to find good ways to credit translators’ hard work in the product. Please see a list of those involved, and please get in touch if you’re not listed. Many thanks to all those who have worked on translating Online, you rock!

If you would like to help COOL speak your language, you can just go to our translation project on weblate, and start contributing! 😉

Collabora Online translation project on Weblate
Collabora Online translation project on Weblate

Collabora loves LibreOffice!

We’re still contributing to LibreOffice and encourage you too to do so because LibreOffice rocks. 😉

  • Thanks to Miklos Vajna for many improvements and fixes especially around ensuring better support for OOXML formats thus better interoperability with other office suites, such as making sure the creation time of an imported DOCX file ispreserved, and adding support[0][1][2] for gutter margins of DOCX, DOC, ODF and RTF documents. Check out his blog post for details! He also had a FOSDEM talk on Handling PDF digital signatures with PDFium.
    Old render result, missing gutter, in Writer

    New render result, with gutter, in Writer
  • Thanks to Tomaž Vajngerl for continuing his work towards developing a built-in Xray-like UNO object inspector. This effort has been funded by The Document Foundation, so also thanks a lot to the TDF Board of Directors, and the TDF donors who made the work on this tool possible!
  • Thanks to Gülşah Köse for various fixes and improvements around importing custom shapes such as making sure crop positions are imported properly and greysale effect is handled properly, and also for adding corresponding tests to ensure those features keep working in the future, thus improving interoperability with other office suites.
  • Thanks to Noel Grandin for doing various code-quality improvements and modernization all around the LibreOffice code-base.
  • Thanks to Tor Lillqvist for a lot of fixes and improvements especially towards better support on macOS and iOS.

Collabora Online Community Roundup #9 (New Year Edition!)

On 1 October 2020, Collabora Online moved to its new home on GitHub, and started settling in the new infrastructure, expanding its fantastic community, and continuing the work to deliver the latest and greatest developments in productivity and collaboration together. Check our new community website for all the details! 😉

Collabora developers also keep fixing and improving our lovely mother project LibreOffice. As all the good work requires some appreciation, let’s take a look at what the seasoned developers of the Collabora team and the volunteer contributors from our community have been doing during the last two months.

Month in Numbers

On the Collabora Online code repository in the last month, 27 authors have pushed 269 commits to master and 538 commits to all branches. On master, 340 files have changed and there have been 13,568 additions and 6,539 deletions.

Screenshot of GitHub Pulse for Collabora Online
Development Activity on Collabora Online GitHub Repository from December 23, 2020 to January 23, 2021

New Contributors

Congratulations to Bayram Çiçek, Umut Bayramoğlu, Gabriel Masei, Shubham Goyal, and Martin Hoffmann for their first pull requests, and congratulations to Fly, kt-solutions, kevdogg, sseide, kratzersmz, Willem-Jan de Hoog, erikfdev, baffclan, duggalsu, Pascal R. sebastiaanveld, Roland Meier, Timmy183-ui, TijZwa, Christian Raue, pieter-groeneweg, RegisPerdreau, Tobias Kaminsky nabilys, shock, Furkan Ünlütürk, Parrenin Frédéric, mrslavutich, Bond Keevil, yaohao0814, Dan Smolik, Sven, dossantg, William Reed for reporting their first issues and improvement requests on our GitHub repository!

  • Thanks to Bayram Çiçek for contributing to one of our easy hacks, by porting some usages of unique pointers to leverage the Util::make_unique() function, and thus helping us make COOL future-proof by preventing certain potential memory leaks.
  • Thanks to Umut Bayramoğlu for helping us make COOL look even cooler by contributing a new top bar comment icon.
  • Thanks to Gabriel Masei for making it possible for users to have their own settings for UI mode (tabbed or classical toolbar) separate from the default configuration of the installation on the server, thus helping COOL to be even more customizable.
  • Thanks to Shubham Goyal for removing now unneeded Poco::Timestamp functions, thus making the Collabora Online code-base a bit cleaner and more lightweight.
  • Thanks to Martin Hoffmann for fixing our Docker build script for the from-the-source option, thus ensuring it doesn’t cause issues with certain configuration options like –with-lo-path later.
  • Thanks to Fly for letting us know about an issue which caused some certain docker containers being restarted repeatedly. And the issue has already been fixed by Andras Timar.
  • Thanks to kt-solutions for reporting a DOM exception specific to the Chrome browser.
  • Thanks to kevdogg for reporting a permisson issue which was causing COOL 6.4.2.2 docker container failing to start. And the issue is again already fixed by Andras Timar. 🙂
  • Thanks to sseide for reporting multiple docker image issues related to time zones, and access permissions.
  • Thanks to kratzersmz for reporting outdated libpoco causing issues with elliptic curve configuration, which has been now fixed by Andras Timar.
  • Thanks to Willem-Jan de Hoog for letting us know about the COOL start script overriding the classic/tabbed menu preference set in loolwsd.xml, thus giving us the opportunity to improve the installation and configuration experience.
  • Thanks to erikfdev for providing valuable feedback on their specific installation, having an unexpectedly large systemplate, caused by the need for fonts in systemplate. Ashod Nakashian is already working on fixing that, which will potentially make specific large COOL installations much thinner.
  • Thanks to baffclan for taking the time to report a potential problem on mobile, and then also clarifying that it was in fact a bug on another product but not COOL.
  • Thanks to duggalsu for reporting a potential CSV open issue (yet to be confirmed) encountered on Collabora Office mobile version installed from F-Droid.

    The search results for Collabora Office on F-Droid when our third party repo has been defined.
    The search results for Collabora Office on F-Droid when our third party repo has been defined.
  • Thanks to Pascal R. for filing a feature request to add the Line command, to be able to add arrows on presentations on mobile/web, thus giving us the opportunity to improve the user experience of Collabora Online. Pedro Silva has already started working on resolving the request.
  • Thanks to sebastiaanveld for letting us know about the room for improvement on our iOS app’s user experience by allowing the user to choose a proper name for a newly created document.
  • Thanks to Roland Meier for reporting an issue he encountered with the docker image after upgrading COOL, thus leading to the discovery of a discrepancy in the documentation.
  • Thanks to Timmy183-ui for letting us know about our users on F-Droid not being notified about the latest snapshots of the Collabora Office Android App. F-Droid releases are in sync with Play Store and users are notified properly now, thanks to Yunusemre Şentürk.
  • Thanks to TijZwa for filing an enhancement request to improve the way how documents with unsaved changes are handled.
  • Thanks to Christian Raue for reporting an issue that was making it very hard to pass multiple dictionaries to the Docker container. It has now been fixed by Andras Timar.
  • Thanks to pieter-groeneweg for reporting an issue which happened after upgrading their installed version of COOL, which was then followed-up by the Collabora team, and seems to be fixed by a configuration change on their setup.
  • Thanks to RegisPerdreau for letting us know about an issue on Writer, which was causing the resolved state of a single-point comment not being saved. It has been fixed now by Miklos Vajna for COOL, Collabora Office and LibreOffice! 🙂
  • Thanks to Tobias Kaminsky for reporting an issue which caused the COOL Docker image to fail with double escaped domains, which has now been fixed by Andras Timar.
  • Thanks to nabilys for letting us know about the on-screen keyboard sometimes getting in the way of the user while interacting with menus on iOS. It will help us improve UX of COOL for all of our mobile users.
  • Thanks to shock for taking the time to report a missing feature on the Android app, which already exists on COOL.
  • Thanks to Furkan Ünlütürk for creating an issue about a specific type of image file causing an error while being inserted into a document on our mobile app.
  • Thanks to Parrenin Frédéric for testing our demo instance of Collabora Online, and providing technical feedback along with suggestions to improve the user experience even further.
  • Thanks to mrslavutich for reporting an issue they encountered while integrating COOL into their own application.
  • Thanks to Bond Keevil for filing an enhancement request for the hyperlink dialog, to recognize/support mailto links.
  • Thanks to yaohao0814 for letting us know about a potential issue while reading documents with our Android app.
  • Thanks to Dan Smolik for reporting a crash that happens on their installation of Collabora Online along with Nextcloud on Debian Buster. It will help us ensure a smoother experience on various platforms.
  • Thanks to Sven for creating an issue for the problem he encountered while trying to sign a document on his installation. It will potentially help us either to ensure it works properly on even more configuration scenarios or help us expand our help documents.
  • Thanks to dossantg for filing an enhancement request regarding font sizes on the Notebookbar (new toolbar UI), thus helping us improve the user experience even further.
  • Thanks to William Reed for sharing his experience while trying to build our docker image from source for ARM64, which might potentially help us improve build support on different platforms.

Thank you all, and welcome aboard! 🙂

Join the fun!

You can also join the fun, and be part of our next list of new contributors! 🙂

Just go to our GitHub repo, fork it, build it (on Linux or on any platform), grab one of our newcomer-friendly easy hacks, and send your first pull request. And if you get stuck at any point, just drop by one of our communication channels. 😉

Highlights

Collabora Online Weekly Meeting #11

COOL Weekly Meeting #11 has taken place on Thursday, February 04, 2021 at 11:00:00 am (UTC) with participants both from the community contributors and the Collabora team. We have got a quick update on what’s going on and discussed matters raised by the contributors, as well as having the chance to say hi to fellow members of the community. Topics discussed in the meeting include:

  • During the quick update part by Muhammet Kara, it’s been reported that COOL has got more than 60 new contributors (24+ code contributors) since the move to GitHub. It has also been mentioned that there are multiple talks by Collabora Online developers in the LibreOffice devroom of the upcoming FOSDEM in the weekend.
  • Pedro Silva has reported that the pull request for the CSV handling work has been tested and is ready to be merged, which will allow users to download Calc documents directly as CSV files, which also has a new icon contributed by Rizal Muttaqin. He has also shared an update on setup and workflow issues some design contributors have been experiencing, which turned out to be solvable by using our Gitpod (cloud IDE) integration and the daily built LibreOffice core archives which came as a nice side effect of it, to lift the burden of building LibreOffice core from scratch on the contributors.

    Collabora Online repo on Gitpod
    It is possible to start hacking COOL in 10 minutes, independent of your operating system!
  • Nicolas Christener has shared an update on the status of the LibreOffice Template Contest, run by Adfinis, stating that they have got some good-looking submissions and they are considering extending the submission deadline.
  • Regarding the “JSON Toolbar / Notebookbar changes” topic, Jan Holesovsky has reported that they are currently working on improving style previews by converting the styles list into a scrollable, responsive list. He has also shared the latest status of the Async Saving effort, which would result in a much smoother experience when saves happen during a collaborative editing session, such as a lot of code refactoring on master and splitting of states into different classes.
  • Gökay Şatır has shared the latest developments on the CanvasTileLayer bits, which would let us have a much crisper look, especially on different zoom levels for all document types. It looks like the latest changes have been related to the columns and headers on Calc documents, along with some bits being moved to typescript, and a custom scrollbar is the next in line.
  • Michael Meeks has been working on load testing with an emphasis on Calc performance and bogus full-page invalidations which cause unnecessary performance penalties.
  • It has also been discussed that new CODE releases are being planned for the upcoming week, consisting of new improvements such as FontWork, incremental dialog / JSON update work, and async save.
  • Availability of COOL on Plasma phone has been brought up by Andreas Kainz, with a conclusion that some funding would be needed to port Collabora Online to Pine64. He has also reported that latest CSS changes for better alignment caused some scrolling issues, along with an issue on the Notebookbar container, which will be looked into by Pedro Silva and Szymon Kłos.
  • Padia Rashesh asked for some elaboration on an easy-hack related to invalidation debugging, and Michael Meeks explained the topic with a live demonstration. Padia has contributed through multiple easy-hacks so far, and it seems like he is just getting started. Pedro Silva is also providing some guidance via comments on pull requests.
  • Muhammet Kara has brought up that master and the 6.4 branch having different ESLint versions has been reported to be causing issues while backporting patches to 6.4. It has been concluded that many safe patches can be backported next week and tested on new CODE releases.

Check out the meeting minutes for the details of the meeting, and join us on Thursday, February 11, 2021, at 11:00 am (UTC) to stay in touch with the rest of the community. You may also make your own suggestions for the next meeting by following the link shared in the COOL Telegram group before the next meeting. We’re looking forward to hearing from you live. 😉

Collabora Online (COOL)

  • Thanks to Andras Timar for various fixes and improvements around our docker images and documentation as well as for cleaning up the code-base by removing some unnecessary bits and updating localizations.
  • Thanks to Ashod Nakashian for various fixes and improvements towards increasing general stability of COOL and maintainability of the code-base along with tests to make our code-base future-proof, working on the async save feature which will be a major leap towards a much smoother experience for users while collaboratively editing documents, and also for reviewing pull requests of other contributors, and for mentoring them through tough issues.
  • Thanks to Michael Meeks for his recent efforts on stress testing tooling, which will help us ensure COOL continues performing well under pressure on large scales, and also for various other improvements and fixes towards improving the debugging facilities[0][1] and the general code quality.
  • Thanks to Pranam Lashkari for various user interface and user experience fixes and improvements such as making sure hyperlink popup is properly positioned around the edge, and adding support for reordering sheet tabs via drag & drop, thus helping COOL be even more feature-rich and user-friendly.
  • Thanks to Miklos Vajna for improving the performance and stability of COOL by fixing an issue that was causing a crash in a specific scenario, as well as various other fixes and improvements such as adding an explanation to the g review command on how to update an existing pull request in the case of local and remote branches having different names.
  • Thanks to Jan Holesovsky for various code-quality improvements and fixes such as making sure proper C++ practices are in place, and helping COOL become lighter by removing unused functions.
  • Thanks to Henry Castro for various fixes and improvements especially around the Macro Selector dialog to get VBA macros working on COOL, and also adding the related menu item Run Macro to the Tools menu for Calc documents.

    Collabora Online Macro Selector Dialog
    Collabora Online Macro Selector Dialog
  • Thanks to Szymon Kłos for various improvements and fixes on the notebookbar and various dialogs such as the statistics dialog and the Fontwork dialog, turning them into native widgets for COOL, thus allowing a more natural look & feel along with less clutter and possibly better user experience.
  • Thanks to Nnamani Ezinne Martina for adding more cypress tests to ensure the quality of Collabora Online on various features of Calc such as Merge Cells, Text Wrap, and Save and Print commands, as well as fixing the Clear Direct Formatting command of Impress, and updating the screenshots of Online Help.
  • Thanks to Pedro Silva for various fixes and improvements around the user interface of COOL to make it have a better and consistent look and feel across different platforms, as well as adding new features such as CSV as a download option besides many other improvements on different dialogs and user interface items.
  • Thanks to Gökay Şatır for his work on CanvasTileLayer, which would make COOL have a much crisper and smoother look and feel.[0][1][2][3][4][5] See the Weekly Meeting notes above for some more details.
  • Thanks to Andreas Kainz for a lot of design and user interface improvements and fixes especially around the Notebookbars towards bringing the new toolbar design in alignment with the mother project and the expectations of common users. He has also made sure that the sidebar icon sizes match the toolbar icon sizes for visual consistency.
  • Thanks to Thaís Vieira for adding cypress tests to ensure the quality of Collabora Online on various toolbar items of Impress, such as Font Size.
  • Thanks to Ayhan Yalçınsoy for adding the Recalculate command to the Data menu, thus helping COOL be even richer in features.
  • Thanks to Rashesh Padia for various fixes and improvements on comments[0][1][2], and also for making sure that the correct number of characters is displayed in the status bar.
  • Thanks to Tor Lillqvist for improving the logging and debugging facilities of COOL by making sure the debug messages from the client are properly logged, are correctly described, and also by adding an ERROR message to be logged, thus improving the developer experience for all of us, as well as various other improvements and fixes.
  • Thanks to Gleb Popov for continuing his work on bringing Collabora Online to FreeBSD, with many commits.
  • Thanks to Dennis Francis for various fixes and improvements around the Canvas layer, which brings a lot of visual and user experience improvements such as smooth zoom animations.
  • Thanks to Mert Tümer for adding the Insert Connectors pop-up dialog, along with various other fixes and improvements such as adding support for pre-fetching next or previous slide tiles based on the direction of the navigation, thus preventing the tear effect while browsing on an Impress document.
  • Thanks to Tamás Zolnai for a lot of fixes and improvements around cypress (testing framework), and the testing facilities for certain integrations, thus helping COOL have an even better automated quality assurance process, and also for mentoring other contributors while writing new cypress tests. Check out his blog post where he summarizes the different loggings available for cypress tests!

    Cypress Logo
    Cypress is a JavaScript end to end testing framework for any project running in a browser.
  • Thanks to Tomaž Vajngerl for working towards bringing support for Draw documents to Collabora Online.[0]
  • Thanks to Marco Cecchetti for improving the documentation thus making it easier to work on and with COOL for both internal and external developers.
  • Thanks to Yunusemre Şentürk for working on bringing Kubernetes cluster support by adding a proof-of-concept setup with just COOL.
  • Thanks to Rizal Muttaqin for contributing an icon for the new Download as CSV option.
  • Thanks to Aron Budea for improving the logging of SSL status by making it properly report the enabled/disabled state.

Collabora Office on Android & iOS

  • Thanks to Tor Lillqvist for various fixes and improvements on the iOS app such as fixing a crash that could happen in certain scenarios, and removing unused functions and constants.
  • Thanks to Mert Tümer for fixing a focus issue on text input of Calc documents on the Android app.

Collabora Online Integrations

  • Thanks to Julius Härtl for various improvements and fixes on Collabora Online’s Nextcloud integration such as making sure a proper error message is given when a user tries to open a document on unsupported external storage, and also for reviewing and merging many pull requests from other contributors.
  • Thanks to Szymon Kłos for improving the user experience of built-in CODE support of Collabora Online’s Nextcloud integration by making sure no unintended timeout happens when AppImage of COOL is still starting, and also by making sure an open file is properly renamed after a Save As operation.
  • Thanks to Joas Schilling for improving the stability of Collabora Online’s Nextclsoud integration by making sure guest names are properly shortened when they are too long to fit in the database.
  • Thanks to Roeland Jago Douma for various under-the-hood improvements and fixes on Collabora Online’s Nextclsoud integration such as making sure certain exceptions are properly logged for inspection and debugging later.
  • Thanks to Dipak Acharya for his contribution towards faster CI and testing cycles for Collabora Online’s ownCloud integration.
  • Thanks to Piotr Mrówczyński for various under-the-hood improvements on Collabora Online’s ownCloud integration.
  • Thanks to Semih Serhat Karakaya[0], Michael Barz[1], Thomas Müller[2], Artur Neumann[3], Benedikt Kulmann[4] for reviewing and merging pull requests of other contributors on Collabora Online’s ownCloud integration.
  • Thanks to Phil Davis for various improvements on the CI and test facilities of Collabora Online’s ownCloud integration.
  • Thanks to Juan Pablo Villafañez for various contributions around versioning and licensing of Collabora Online’s ownCloud integration.
  • Thanks to Swoichha Adhikari for adding SonarCloud badges to Collabora Online’s ownCloud integration.
  • Thanks to Jérémie Lesage for updating documentation and license information of Collabora Online’s Alfresco integration.
  • Thanks to Andras Timar for adding localization support to Collabora Online’s Alfresco integration along with other small fixes.[0]
  • Thanks to Cindy PIASSALE for various improvements and clean-ups on Collabora Online’s Alfresco integration.[0][1][2][3]

Honorable Mentions

  • Thanks to Cor Nouws for leading the marketing team, and not stopping there but continuing with testing & reporting bugs, attending to community events, and keeping us all informed about what’s going on. He also attends LibreOffice Design meetings from time to time to help COOL’s mother project LibreOffice have a better UI & UX.
  • Thanks to Eloy Crespo for his efforts to help the project well-funded as always.
  • Thanks to Marc Rodrigues for continuing to keep us updated on various news around Collabora Online and related FOSS projects, and creating a lot of yummy content to read!
  • Thanks to Pedro Silva for improving various points around the COOL Community Page, and also for helping other contributors by providing instructions on their pull requests as well as reviewing them.
  • Thanks to Andras Timar for keeping us organized, maintaining our translation project on Weblate, and delivering hot new releases of our software!
  • Thanks to Yunusemre Şentürk for various tasks towards keeping our CI chains healthy.
  • Thanks to Jan Holesovsky for doing a lot of research on different topics, and providing mentoring/patch-reviewing/hand-holding/wisdom within the team, in our communication channels, and also on various channels of our lovely mother project LibreOffice.
  • Your friendly community mentor, Muhammet Kara, is also creating & improving easy hacks, running workshops, helping new contributors solving their setup & build issues and reviewing their pull requests, working on easing the build procedure, improving our GitHub presence bit by bit based on its community guidelines, compiling/composing these community updates…

Translators

Last but not least, we can’t thank enough to our translators who constantly help COOL and its friends talk many languages on this earth. Collabora Online speaks many languages, thanks to all of our translators in our translation project, and all of those who previously contributed and keeps contributing to our mother project, LibreOffice.

We’re continuing to work to find good ways to credit translators’ hard work in the product. Please see a list of those involved, and please get in touch if you’re not listed. Many thanks to all those who have worked on translating Online, you rock!

If you would like to help COOL speak your language, you can just go to our translation project on weblate, and start contributing! 😉

Collabora Online translation project on Weblate
Collabora Online translation project on Weblate

Collabora loves LibreOffice!

We’re still contributing to LibreOffice and encourage you too to do so because LibreOffice rocks. 😉

  • Thanks to Miklos Vajna for his work towards better PDF signature verification in Draw, thus potentially improving the user experience of LibreOffice for related scenarios. Check out his blog post for the whole story!
  • Thanks to Miklos Vajna for improving support for shadows of table shapes for PPTX files, thus ensuring better interoperability with other office suites and non-native file formats. Check out his blog post for details!
    Before: Old render result in Impress

    After: New render result in Impress
  • Thanks to Tomaž Vajngerl for his work towards developing a built-in Xray-like UNO object inspector. Check out his blog post to see what has been done so far and what is planned next. This effort has been funded by The Document Foundation, so also thanks a lot to the TDF Board of Directors, and the TDF donors who made the work on this tool possible!
    Development Tool in the menu

    Development tool dockable window
  • Thanks to Gülşah Köse for fixing a bug that was causing certain images on a PPTX file to be shown as mirrored when opened with LibreOffice, and also for fixing a bug that was causing certain images on PPTX files being rendered with unusual aspect ratios, thus improving interoperability with other office suites.
  • Thanks to Noel Grandin for doing various code-quality improvements and modernization all around the LibreOffice code-base.
  • Thanks to Tor Lillqvist for a lot of fixes and improvements especially towards better support on macOS.

Collabora Online Community Roundup #8

On October 1st, Collabora Online moved to its new home on GitHub, and started settling in the new infrastructure, expanding its fantastic community, and continuing the work to deliver the latest and greatest developments in productivity and collaboration together. Check our new community website for all the details! 😉

Collabora developers also keep fixing and improving our lovely mother project LibreOffice. As all the good work requires some appreciation, let’s take a look at what the seasoned developers of the Collabora team and the volunteer contributors from our community have been doing during the last week.

Week in Numbers

On the Collabora Online code repository in the last week, 19 authors have pushed 77 commits to master and 156 commits to all branches. On master, 164 files have changed and there have been 15,979 additions and 12,825 deletions.

Screenshot of GitHub Pulse for Collabora Online
Development Activity on Collabora Online GitHub Repository from November 27, 2020 to December 04, 2020

New Contributors

Congratulations to Lawrence D’Anna, Triopsi, baffclan, Jairo Llopis for reporting their first issues and improvement requests on our GitHub repository!

  • Thanks to Lawrence D’Anna for letting us know about an issue with zoom levels on macOS Big Sur.
  • Thanks to Triopsi for reporting an issue about permissions in the COOL docker image.
  • Thanks to baffclan for opening an enhancement request for the iOS app to enhance the UX by adding an about dialog to the main menu.
  • Thanks to Jairo Llopis for letting us know about the lack of mouse support on tablets with DeX mode.

Thank you all, and welcome aboard! 🙂

Join the fun!

You can also join the fun, and be part of our next list of new contributors! 🙂

Just go to our GitHub repo, fork it, build it (on Linux or on any platform), grab one of our newcomer-friendly easy hacks, and send your first pull request. And if you get stuck at any point, just drop by one of our communication channels. 😉

Highlights

Collabora Online Weekly Meeting #4

COOL Weekly Meeting #4 has taken place on Thursday, December 03, 2020 at 11:00:00 am (UTC) with participants both from the community contributors and the Collabora team. We have got a quick update on what’s going on and discussed matters raised by the contributors, as well as having the chance to say hi to fellow members of the community. Topics discussed in the meeting include:

  • During the quick update part by Muhammet Kara, it’s been reported that COOL has got 41 new contributors (20+ code contributors) since the move to GitHub.
  • Toolbar changes (by Andreas Kainz) now has a new issue opened for UI changes which is waiting for review from Pedro Silva. Then new pieces of change will be pushed to master based on feedback.

    Ellipsis button proposed to provide a way of opening related dialogs directly from toolbars
  • Contextual toolbars (by Andreas Kainz) also got a new issue for communication and tracking the progress. It has been reported that JavaScript file looks more complicated than the file for the menu bar, and it is proposed to be chopped into smaller pieces to reduce complexity.
  • On the topic of Dynamic Changes of Toolbar Type (by Gabriel Masei), the results of the initial experimentation has been shared, and further options such as making use of a per-user option on the core side for toolbar preference have been discussed. Gabriel Masei will continue working on the topic with the help of Szymon Szymon Kłos, and discussing certain options with Jan Holesovsky. Miklos Vajna has also shared a nice blog post on effective code review and backporting for Collabora Online.
  • Gökay Şatır shared an update on his work of CanvasTileLayer which means a better look with crisp pixels at every zoom level. It’s been reported that Writer and Impress are the latest winners who got some improvements on this. It will also be backported to the 6.4.x series.
  • Pedro Silva and Andreas Kainz shared updates and discussed the next steps regarding the CSS class names step of the icon theming topic. It’s been decided that details will be discussed on a separate call involving the related parties.
  • It’s been reported that Impress got some recent speedup improvements by Mert Tümer (Impress tile rendering and watermarks) and Tomaž Vajngerl (PDF rendering).
  • Szymon Kłos has shared updates on his work around auto-filters and pivot table dialogs, which are still work in progress.
  • Andreas Kainz proposed a coherent approach to maintain user interfaces of COOL, and it has been discussed from different angles. Details of the discussion can be found in the minutes of the meeting.
  • Nicolas Christener shared an update on his work to prepare a blog post about the iOS app upgrade and provided a link to preview the draft.
  • It’s been mentioned that now everything -PC, Online, mobile, etc.- are all on the same 6.4.x base, which makes it easier to coherently maintain all for the developers, and easier to follow for the deployers and the users alike.

Check out the meeting minutes for the details of the meeting, make your own suggestions for the next meeting, and join us on Thursday, December 10, 2020, at 11:00 am (UTC) to stay in touch with the rest of the community. We’re looking forward to hearing from you live. 😉

Collabora Online (COOL)

  • Thanks to Henry Castro for fixing[0][1] an issue which caused a Writer document to partially fall outside the visible area after certain operations like zoom in and zoom out, and also for doing some under-the-hood improvements on our build system.
  • Thanks to Szymon Kłos for various improvements and fixes on the notebookbar and various dialogs such as the pivot table dialog, turning them into native widgets for COOL, thus allowing a more natural look & feel along with less clutter and possibly better user experience.
  • Thanks to Jan Holesovsky for improving the performance of change tracking by removing some unnecessary checks and iterations, and also for making sure the correct document is used while copying and moving around Calc’s sheet tabs.
  • Thanks to Ashod Nakashian for various fixes and improvements towards increasing general stability of COOL and maintainability of the code-base along with tests to make our code-base future-proof, and also for reviewing pull requests of other contributors, and for mentoring them through tough issues.
  • Thanks to Tamás Zolnai for a lot of fixes and improvements around cypress (testing framework), and the testing facilities for certain integrations, thus helping COOL have an even better automated quality assurance process, and also for mentoring other contributors while writing new cypress tests.
  • Thanks to Thaís Vieira for adding cypress tests to ensure the quality of Collabora Online on various toolbar items of Impress, such as font color and highlight color.
  • Thanks to Pedro Silva for various fixes and improvements around the user interface of COOL to make it have a better and consistent look and feel across different platforms.
  • Thanks to Andras Timar for various fixes and improvements around our docker images and documentation as well as for cleaning up the code-base by removing some unnecessary bits and updating localizations.

    With the Collabora Online Development Edition (CODE) Docker Image you can host your own online Office Suite at home!
  • Thanks to Pranam Lashkari for various user interface and user experience fixes and improvements such as making sure menu entries are not overlapped by the menu bar, and adding new easy ways to arrange Calc sheets through commands move sheet left and move sheet right as well as the move/copy dialog on the desktop browsers.
  • Thanks to Michael Meeks for helping COOL have a less-cluttered code-base and potentially perform better by removing obsolete locking and conditions around MessageQueue.
  • Thanks to Mert Tümer for various performance fixes and improvements especially around watermarks and PDF handling.
  • Thanks to Miklos Vajna for improving the performance and stability of COOL by fixing an issue that caused certain text documents with tables to trigger a continuous loop of tile requests, as well as various other fixes and improvements such as adding a subcommand to our g script to easily backport all commits of a pull request, thus making lives of contributors a bit easier.
  • Thanks to Rashesh Padia for adding a message box to the admin console to indicate when the server is shut down, thus improving UX for the administrators.

Collabora Office on Android & iOS

  • Thanks to Tor Lillqvist for various fixes and improvements on the iOS app such as making sure emojis work properly.

    Using the Emoji keyboard on the Collabora Office iOS app
  • Thanks to Yunusemre Şentürk for updating the target SDK version for Android app from 28 to 29, thus helping it keep up with the current technology.

Collabora Online Integrations

  • Thanks to Julius Härtl for improving domain configuration and handling of Collabora Online’s Nextcloud integration, along with various other improvements under-the-hood.
  • Thanks to Szymon Kłos for improving the user experience of built-in CODE support of Collabora Online’s Nextcloud integration by making sure the timeout is long enough for the server to start and proper checks are in place for it.
  • Thanks to Jan Ackermann for helping Collabora Online’s ownCloud integration provide a better user experience and be future-proof by updating the context menu entry “Edit” as “Open with Collabora”, and replacing a deprecated function call with its modern alternative.
  • Thanks to Thomas Müller for updating translations of Collabora Online’s ownCloud integration thus helping it to have better support for different languages.
  • Thanks to Andreas Grabs for improving the user interface and experience of Collabora Online’s Moodle integration by fixing iframe height to make sure COOL status bar is shown properly.

Honorable Mentions

  • Thanks to Cor Nouws for leading the marketing team, and not stopping there but continuing with testing & reporting bugs, attending to community events, and keeping us all informed about what’s going on. He also attends LibreOffice Design meetings from time to time to help COOL’s mother project LibreOffice have a better UI & UX.
  • Thanks to Eloy Crespo for his efforts to help the project well-funded as always.
  • Thanks to Marc Rodrigues for continuing to keep us updated on various news around Collabora Online and related FOSS projects, and creating a lot of yummy content to read!
  • Thanks to Pedro Silva for improving various points around the COOL Community Page, and also for helping other contributors by providing instructions on their pull requests as well as reviewing them.
  • Thanks to Andras Timar for keeping us organized, maintaining our translation project on Weblate, and delivering hot new releases of our software!
  • Thanks to Yunusemre Şentürk for various tasks towards keeping our CI chains healthy.
  • Thanks to Jan Holesovsky for doing a lot of research on different topics, and providing mentoring/patch-reviewing/hand-holding/wisdom within the team, in our communication channels, and also on various channels of our lovely mother project LibreOffice.
  • Your friendly community mentor, Muhammet Kara, is also creating & improving easy hacks, running workshops, helping new contributors solving their setup & build issues and reviewing their pull requests, working on easing the build procedure, improving our GitHub presence bit by bit based on its community guidelines, compiling/composing these community updates…

Translators

Last but not least, we can’t thank enough to our translators who constantly help COOL and its friends talk many languages on this earth. Collabora Online speaks many languages, thanks to all of our translators in our translation project, and all of those who previously contributed and keeps contributing to our mother project, LibreOffice.

We’re continuing to work to find good ways to credit translators’ hard work in the product. Please see a list of those involved, and please get in touch if you’re not listed. Many thanks to all those who have worked on translating Online, you rock!

If you would like to help COOL speak your language, you can just go to our translation project on weblate, and start contributing! 😉

Collabora Online translation project on Weblate
Collabora Online translation project on Weblate

Collabora loves LibreOffice!

We’re still contributing to LibreOffice and encourage you too to do so because LibreOffice rocks. 😉

  • Thanks to Gülşah Köse for making sure dotted lines in PPTX files don’t disappear during presentations, thus improving interoperability with other office suites.
  • Thanks to Tor Lillqvist for fixing the Firebird build on macOS on arm64, thus ensuring macOS users on certain platforms will be able to get better support for using databases with LibreOffice.
  • Thanks to Tomaž Vajngerl for fixing an issue that caused certain PDF files with a lot of graphics to use an excessive amount of disk space for caching, thus improving overall stability and performance of LibreOffice while working with PDF files.
  • Thanks to Noel Grandin for doing various code-quality improvements and modernization all around the LibreOffice code-base.
  • Thanks to Miklos Vajna for his work towards better handling of cached field results in Writer, thus potentially improving the performance and user experience of LibreOffice. Check out his blog post for the whole story!
    Old, broken render result in Writer

    New render result in Writer