Darshan Upadhyay
The monorepo CI setup is officially complete, multiple contextual tabs landed in the UI, the ruler gets even smarter with reworked indent markers and tab stop hints, and CI is now described as “pretty stable.” Here’s the roundup.
Monorepo CI: Done
A milestone worth celebrating — the monorepo CI setup is now complete. All platforms are building, release branches have moved from GitHub to Gerrit, and the fuzzer is the last piece being polished. This has been months of infrastructure work by Andras and Adrià Figuera Puig, and it’s now in a solid state.
The Numbers
This week: 434 commits merged by 39 contributors, with 202 open changes in review. All-time since April 2nd: 3,757 commits merged from 66 contributors.
GitHub PR migration is nearly done — just 23 open PRs remaining. Regression issues continue to drop, now at 12.
Top reviewers this week: Miklos Vajna (71), Caolán McNamara (46), Noel Grandin (32), Tomaž Vajngerl (26), Stephan Bergmann (21), Szymon Kłos (16), Michael Stahl (9), Andras Timar (7), Mike Kaganski (6), Michael Meeks (5).
Thank you to every reviewer — your work keeps the project moving forward.
Welcome to this week’s new contributors: Moritz Duge, Ibnu Batuthah, Isaki23, and Артур — thank you for your first contributions!
CI: Pretty Stable
In Andras’s words from the TC meeting: CI is now “pretty stable.” That’s a long way from where things were a few weeks ago. The team is now focused on fine-tuning: a Jenkins PrioritySorter plugin is being installed so build-fixing patches can jump the queue, and Adrià is tracking build turnaround times to measure improvements week over week.
Compact WebSocket URLs are now the default thanks to Caolán, with a fallback mechanism for older reverse proxy configurations. Shared ccache with relative debug paths is also merged, making debugging more consistent across build environments.
Multiple Contextual Tabs: Landed
A significant UI improvement shipped this week — multiple contextual tabs can now be visible in the notebookbar at the same time. Samuel Mehrbrodt built the general plumbing and landed the first example: selecting an image inside a table in Writer now shows both contextual tabs. Mohit contributed an improvement to the highlight behavior. Thank you both — this makes the notebookbar smarter about showing relevant tools in context.
Ruler Work Continues
Building on Michael Meeks’ tooltip work from last week, Darshan took the ruler further with a set of follow-up improvements:
Reworked indent markers (cool#15887): The indent marker shapes and dragging behavior have been reworked to be clearer and more intuitive, with proper value tooltips during drag.
On drag, as shown in the image, the value changes accordingly.
Tab stop hints (cool#15889): A new tooltip on empty ruler space tells users “Double-click to insert a tab stop” — solving a long-standing discoverability problem.
What Developers Are Building
Compact WebSocket URL: Caolán landed compact WebSocket URL support as the default, with a fallback for older Apache reverse proxy configurations. If the compact URL fails, it automatically falls back to the legacy format and shows a note in the admin console.
Performance: Caolán fixed an issue where the status indicator was repeating the same percentage while stuck in “adapt row height” — a practical fix that improves perceived responsiveness.
Interdependent Redlines: Miklos is fixing a case where highlighting on insert was broken when tracked changes depend on each other — important for complex document review workflows.
WASM Progress: Stephan unblocked the WASM packaging work, and Adrià can now start generating a separate WASM package. The runtime configuration logic for whether to serve WASM is also in progress.
WEBP Support: The team confirmed that LibreOffice handles WEBP files natively, so the next step is to stop doing unnecessary PNG conversions — reducing file sizes and processing time.
cpo:: Namespace: Noel is moving forward with the incremental approach — starting with a namespace alias and changing the meaning later, avoiding a single massive diff that would disrupt everyone.
Vector Rendering: Tomaž continues adding primitives to the JS renderer.
CODA Collaboration: Stephan is working on CODA collaborative editing and the extensions/scripting deploy story.
Impress Selection Frames: Bayram’s patch to show selection frames for multiple selected drawing objects in Impress has been merged — thank you for improving the editing experience.
Hyperlink Dialog Fix: Bayram is also fixing the odd input field widths in the Impress hyperlink dialog, with the patch being updated based on review feedback.
Help Tab Improvements: Banobe landed patches to add IDs to images in the help system for easier customization, and repositioned separators to avoid duplicate dividers. These are the kind of cleanup contributions that make the product more polished.
Icons Redesign: Ivana is redesigning the paste special icons and working on icon guidelines and a Writer intro template.
Design Meeting: Color Pickers, Comments, and Contextual Tabs
The UX/UI Design Meeting had a productive agenda:
Pedro proposed an idea to let every color picker offer access to theme palettes — making it easier to work with theme colors throughout the UI without going to a separate dialog.
The team discussed how to better distinguish Notes from Comments in Calc — different markers, different card text (“Save comment” vs “Save note”), and care to avoid overlapping with the AI suggestion marker.
Raul is continuing the sidebar-to-notebookbar porting work, with care being taken around mobile wizard implications — removing sidebar components too early could break the mobile experience.
The Community in Action
Matrix highlights this week:
Pedro gave a shoutout to Shardul for tunneling the spelling dialog properly — a change that automatically fixes multiple related bugs in one go. That’s the kind of contribution that has outsized impact.
Community member kolAflash noticed that documentation still links to the old GitHub online repository and flagged it on Matrix — prompting the team to update docs to point to online.mirror and Gerrit. Community members catching these things and speaking up makes a real difference.
The Forum
Stephan-P published a detailed step-by-step guide for installing Collabora Online alongside Sync-in on OpenMediaVault using Docker Compose and Nginx Proxy Manager. It covers everything from container networking to SSL termination to coolwsd.xml configuration — the kind of thorough, practical guide that saves other community members hours of trial and error. The thread is already generating discussion about sharing a single Collabora instance across multiple platforms like Sync-in.
A Swedish translation issue in Impress was also reported and discussed — a reminder that localization contributions matter just as much as code.
Community Calls
-
TC Meeting (June 17) — monorepo CI complete, CI stability, PrioritySorter, crash testing, WASM progress
-
Collabora Online Weekly Meeting (June 18) — ruler work, help tab improvements, icon redesign
-
UX/UI Design Meeting (June 18) — contextual tabs, ruler, color pickers, comment/note distinction
All minutes on the forum under meeting-minutes.
Get Involved
66 contributors. 3,757 merges. The monorepo CI is complete, the infrastructure is solid, and there’s plenty of work to pick up.
-
Try the latest builds: collaboraoffice.com/downloads/CODA-Hd7wwbJWxm/
-
Community page: collaboraonline.github.io/post/communicate/
-
Design system: collaboraoffice.org/design-system
-
Forum: forum.collaboraonline.com
-
Chat on Matrix: #cool-dev:matrix.org
-
Browse open changes: gerrit.collaboraoffice.com
See you in the code.