Darshan Upadhyay
The biggest week yet — 541 commits merged, the all-time count crossed 4,000, crash testing dropped to just 70, GitHub PR migration is nearly finished with only 9 remaining, and the first vector rendering patch landed for testing. Here’s the roundup.
The Numbers
This week: 541 commits merged by 41 contributors — the highest weekly merge count since we started tracking. All-time since April 2nd: 4,275 commits merged from 68 contributors, with 183 open changes in review.
GitHub PR migration is nearly complete — just 9 open PRs remaining, down from 24 last week. The finish line is right there.
Top reviewers this week: Miklos Vajna (67), Noel Grandin (66), Caolán McNamara (44), Andras Timar (33), Tomaž Vajngerl (28), Michael Stahl (24), Stephan Bergmann (19), Mike Kaganski (11), Gökay Şatır (9), Tor Lillqvist (5).
Thank you to every reviewer — especially Noel with 66 reviews this week, reflecting the massive namespace and cleanup work going through review.
Welcome to this week’s new contributors: Benjamin Urban and Shlok — thank you for your first contributions!
Crash Testing: 70
From a peak of 776 three months ago to 70 this week — with zero new crashes introduced once again. 122 crashes fixed in a single run. Thank you to Caolán and everyone contributing fixes that make this steady decline possible.
Vector Rendering: First Patch In
A significant milestone — Tomaž landed the first vector rendering patch for testing. You can try it now by adding &vector=true to the URL. The renderer now handles paragraph decorations for alignment and justification, which is needed for text prediction to work. Each primitive is backed by tests. Next: going deeper into text rendering.
Presentation Mode: Reworked
Caolán is reworking presentation mode to use a dedicated window, leaving the editor window untouched. This makes the presentation experience less fragile and allows related console tweaking — a meaningful improvement for anyone presenting from Collabora Online.
What Developers Are Building
Style Previews: Szymon is working on style preview rendering — tackling the tricky problem of identifying styles in the core when localized names differ across languages. Noel helped fix the localization issues, and the team is exploring a custom endpoint to render text with specified properties. Vector rendering for style previews should help significantly here.
Impress Slide Copy Optimization: Miklos is fixing pointless re-parsing of PNG data during ODP save when copying slides — a performance improvement found through profiling.
New Crashreporter Script: Andras wrote a new crashreporter script that caps memory usage, prevents OOM from killing coolwsd, and provides better backtraces — better debugging without risking stability.
cgit.collaboraoffice.com: Andras set up cgit.collaboraoffice.com — a fast, lightweight web interface for browsing the repository.
Removed GStreamer: Michael Meeks removed the GStreamer dependency — one less external dependency to maintain.
Crypto Code Modernization: Michael Stahl is removing old RTL cryptographic code (buggy SHA1, MD5, PBKDF2) and replacing it with OpenSSL/NSS — cleaner, more secure, and less code to maintain.
Document Conflict Dialog: Michael Meeks is improving the document conflict dialog with better error expansion and JSON clues about what’s going on — making conflicts easier to understand and resolve.
Canvas/Slideshow Cleanup: Thorsten filed cool#15913 to track the canvas and slideshow module removal — one of the approved TC cleanups now moving forward.
Namespace Cleanup: Noel continues the cpo:: namespace work and other cleanups, including removing unused bits. The mechanical rewrites are being carefully nursed through CI.
l10n Improvements: Andras killed the old locore l10n machinery and is working on generating UNO command translations at build time.
CI Optimizations — Thank You, Adrià: Adrià Figuera Puig delivered a series of CI improvements this week: flatpak builds now run with limited parallelism instead of using 100% threads, builds are distributed between fermat and mersenne, a new AlmaLinux 9 agent was added, disk space was recovered by cleaning up remaining GitHub workspaces, and Collabora Office snapshots are temporarily running 3x daily during intense testing. Thank you for the steady infrastructure work that keeps everyone else productive.
Dynamic Zoom in Multipage View: Sahil fixed zoom calculations to skip unnecessary invalidation in Writer’s multipage view, and fixed the redline tooltip from blocking text interaction. He’s also working on table cell resize UI for the notebookbar.
CollaboraOffice Improvements: Banobe is fixing the focus issue when switching from viewing to editing and the zoom level retention when switching modes.
Security Backports: Attila backported 155 security fix commits to an older branch — a significant effort to keep older deployments secure. He also got the sectionpages field fix CI-green.
Impress Selection Frames for Draw: Bayram is extending the selection frames work to work in both Impress and Draw, not just Impress. His hyperlink dialog fix
Mention Popup Fix: Darshan fixed the mention popup position inside comments, landed a dark mode icon re-theme fix for CollaboraOffice windows, and blocked cell movement in Calc view mode.
Thank You, Heiko
A special thank you to Heiko — who continues to contribute across multiple fronts. He’s also been consistently active in testing sessions, filing bugs and catching issues across Writer, Calc, and Impress — from side-by-side view edge cases to tracked changes behavior. He also shared relevant upstream bugs with Bayram to help drive Impress improvements forward. The kind of contributor who makes everyone else’s work better.
Easy Hack: starts_with()
Tor Lillqvist filed a new easy hack — cool#15964 — to replace std::string::find("bar") == 0 patterns with std::string::starts_with("bar"). It’s a clean, modern C++ improvement that any contributor can pick up.
Design Meeting
The UX/UI Design Meeting covered:
-
Shlok contributed an Impress icon view dark mode fix and is writing a Cypress test for it — welcome!
-
Calc comment replies now work thanks to Mike Kaganski’s implementation
-
Discussion on Collabora Office zoom level persistence when switching modes
-
Sahil’s redline tooltip and dynamic zoom patches need review
The Community in Action
TTT Talk: Michael Meeks gave a talk on COOL Multi-Tenancy and Scalability — how the architecture works under the hood. Recorded and shared on YouTube.
Méven submitted a patch to prevent spurious conflict dialogs — fixing an annoying issue that sometimes appeared during normal editing.
On the forum, a new #FeatureFriday post on Markdown Support highlights one of CODE 26.04’s most useful additions — import and export Markdown directly in Writer.
Community Calls
-
TC Meeting (June 24) — 11 attendees — crash testing, CI analysis, vector rendering, build system discussion, crypto modernization
-
Collabora Online Weekly Meeting (June 25) — 5 attendees — dynamic zoom, security backports, CollaboraOffice fixes
-
UX/UI Design Meeting (June 25) — 7 attendees — dark mode, comment replies, zoom persistence
All minutes on the forum under meeting-minutes.
Get Involved
68 contributors. 4,275 merges. Crashes down to 70. The code is cleaner, faster, and more accessible every week.
-
Try the latest builds: collaboraoffice.com/downloads/CODA-Hd7wwbJWxm/
-
Easy hacks: github.com/CollaboraOnline/online/issues?q=label:easy-hack
-
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.
