Open Source in Action #11: 5,000 Merges Crossed, AI in the SDK, and 44 Translators in One Month Collabora Online's open-source project crossed 5,000 all-time merged commits, with 578 merges in its busiest week yet from 34 contributors, according to a report by Darshan Upadhyay. AI Assistance now has its own SDK documentation section, and 44 translators localized thousands of strings across 40+ languages in one month. Key developments include merged support for dynamic arrays and Lambdas in Calc, approval of an EMU-based Length unit type, and a 5x faster slide copy optimization in Impress. Darshan Upadhyay A landmark week — the all-time merge count crossed 5,000, this was the busiest week yet with 578 merges, AI Assistance got its own SDK section, and our translators localized thousands of strings across 40+ languages. Here’s the roundup. The Numbers This week: 578 commits merged by 34 contributors — a new weekly record. All-time since April 2nd: 5,207 commits merged from 69 contributors , with 326 open changes in review. Top reviewers this week: Caolán McNamara 72 , Michael Stahl 45 , Miklos Vajna 31 , Stephan Bergmann 24 , Noel Grandin 21 , Szymon Kłos 18 , Andras Timar 8 , Mike Kaganski 6 , Gökay Şatır 6 , Thorsten Behrens 6 . Thank you to every reviewer — Caolán’s 72 reviews this week is remarkable dedication. Welcome to this week’s new contributors: Kasper Isager Dalsgarð , Siam11651 , and eternal4411 — thank you for your first contributions Localization: 44 Translators, Thousands of Strings Code isn’t the only way this project grows. The June Weblate stats show an incredible localization effort — 44 translators contributing across more than 40 languages in a single month. A special thank you to the top contributors: தமிழ்நேரம் Tamil, 752 strings , Gabriel Brazilian Portuguese, 387 , and Rhoslyn Prys Welsh, 337 — and to everyone who helped make Collabora Online speak more languages, from Slovenian and Irish to Traditional Chinese, Estonian, Albanian, Armenian, Basque, Kabyle, and many more. Translation is one of the most impactful ways to contribute — it puts the software in the hands of people in their own language. If you’d like to help, Weblate is open to everyone. AI Assistance in the SDK AI Assistance now has its own , making it easier for integrators to configure and deploy AI features. Several improvements landed this week: SDK documentation section Darshan fixed the AI provider setup flow on the desktop app, made the when nothing is selected in Impress, and AI assistant read slide text https://gerrit.collaboraoffice.com/c/online/+/6309 to 300 seconds for more reliable responses. raised the default AI request timeout https://gerrit.collaboraoffice.com/c/online/+/6547 Dynamic Arrays and Lambdas: Merged Support for dynamic arrays and Lambdas in Calc is now merged — a significant spreadsheet capability, with thanks to Ben for the contribution. Tomaž’s vector rendering also advanced this week with delta changes only pushing what changed for the current object and font sending implemented. The Length Unit Type: Approved Following the thoughtful forum discussion from last week, the TC gave the EMU-based Length unit type the green light . The consensus was strong — Michael Stahl noted how valuable strongly-typed lengths were during layout-level redlining work, Caolán is “a huge fan of English Metric Units” as the path to better MS Office interoperability, and the plan includes filing easy hacks so contributors can help with the conversion. A nice bonus: the design won’t allow bare magic numbers anymore — every length must carry its unit explicitly. What Developers Are Building Middle-Click on Hyperlinks: Darshan fixed middle-click opening a hyperlink in a new tab instead of pasting , and made the cool 15975 https://github.com/CollaboraOnline/online/issues/15975 , plus autofilter popup open at a compact width https://gerrit.collaboraoffice.com/c/online/+/6495 not opening after a link preview arrives. fixed the hyperlink popup https://gerrit.collaboraoffice.com/c/online/+/6460 GIF Playback in Presentations: Banobe landed functionality to play GIFs in slideshow, view, and edit modes — with pause and play controls in progress. A long-standing gap now being filled. Impress Slide Copy — 5x Faster: Miklos is nearly done with the slide copy optimization — the third fix is in CI, and the result is roughly 5x faster ODP saves when copying slides. SmartArt CloneSlides: Armin is deep in SmartArt CloneSlides work, refining strategies and working through the content-compare approach — with several patches on Gerrit. Faster Linking: Caolán found that MSVC’s clang lld-link takes his mergedlib link from 37 seconds to 4 seconds — a big win for build times. Accessibility: Caolán added keyboard-activated context menus that show where the keyboard focus is, and made Shift+F10 act as a dedicated menu button for keyboards without one. Security Backports: Attila backported 207 security fix commits to an older branch — an even bigger effort than last week, carefully working through unit test failures. Dropping Dead Code: Stephan is dropping the COKit ABI stability machinery and removing the broken --enable-gpgmepp option — cleaner code, less to maintain. Memory Leak Fixes: Michael Meeks is fixing producer/consumer mismatch bits and related memory leaks. CIB Office Release: Adrià is creating a branded CIB Office release from the co-25.04 branch, and preparing a Windows Jenkins agent to double Windows CI capacity. Dropdown Fixes: Szymon is fixing dropdowns that could leave a hanging popup on zoom change, and debugging a save failure related to JSDialog commands during background save. Design Meeting The UX/UI Design Meeting covered: - Boundaries icon: A new icon is needed, with a suggestion to rename it “Outlines / No Outlines” for clarity - Reviewing mode: Adding a Reviewing option to the mode switcher - Settings dialog: Making the vertical tabs from the iframe-based settings dialog look and behave consistently with the rest of the UI - Color picker: Ivana is reworking the color picker widget and finished the Writer template - Easy hacks flagged for newcomers: community page open graph image and adding tooltips Design Meeting The UX/UI Design Meeting covered several improvements: - Presentation console loading indicator: Szymon noticed the current slide has no frame or loading indicator when it loads slowly — a border and placeholder will be added. - References tab button: Ivana suggested shortening “Table of Contents and Index” to just “Table of Contents” to save space. - Icon approvals for Theme, unprotected lock, and collapse/expand - Discussion on GIF playback via WebGL - Mobile hamburger menu and dark mode cursor fixes The Community in Action Chris Sherlock has been tackling a substantial coordinate mapper refactor for the rendering engine — hitting legacy challenges and being grateful for unit tests along the way. He also fixed a macOS crash in the framework environment unit test. Great to see deep engine work from the community. Ben contributed the dynamic arrays and Lambdas support that landed this week, and is using the Windows non-headless build — prompting a useful discussion about keeping that build path healthy. The forum’s SmartArt collaboration between Regina and Armin continues, and Tomaž’s Length unit discussion reached a solid conclusion. It’s worth noting how much good engineering starts as an open forum conversation here. Community Calls - TC Meeting July 8 — 9 attendees — Length unit approval, Calc formula behavior, CI turnaround, crash testing - Collabora Online Weekly Meeting July 9 — release schedule, GIF playback, security backports, AI SDK, SmartArt CloneSlides - UX/UI Design Meeting July 9 — boundaries icon, reviewing mode, color picker, settings dialog All minutes on the forum under meeting-minutes . Get Involved 69 contributors writing code, 44 translators this month, 5,207 merges. There are so many ways to be part of this — code, translation, testing, design, documentation. - Try the latest builds: collaboraoffice.com/downloads/CODA-Hd7wwbJWxm/ https://www.collaboraoffice.com/downloads/CODA-Hd7wwbJWxm/ - Help translate: hosted.weblate.org/projects/collabora-online/ https://hosted.weblate.org/projects/collabora-online/ - Easy hacks: github.com/CollaboraOnline/online/issues?q=label:easy-hack https://github.com/CollaboraOnline/online/issues?q=label%3A%22easy+hack%22 - Community page: collaboraonline.github.io/post/communicate/ https://collaboraonline.github.io/post/communicate/ - Design system: collaboraoffice.org/design-system https://www.collaboraoffice.org/design-system/ - Forum: forum.collaboraonline.com https://forum.collaboraonline.com/ - Chat on Matrix: cool-dev:matrix.org https://matrix.to/ /%23cool-dev:matrix.org - Browse open changes: gerrit.collaboraoffice.com https://gerrit.collaboraoffice.com/q/status:open+-is:wip See you in the code.