Present:
- Andras, Stephan, Adria, Michael S, Szymon, Caolan, Tomaz, Miklos, Michael M, Thorsten, Noel
Completed action items
-
Look at on-demand HW from Hetzner (Andras)
- It’s not cheap, only if you commit to a lot of usage ahead of time
-
switch code to not doing the PNG conversion for WEBP (Quikee)
-
Jenkins: Extract and log the build times – and present them next & every time (Adria)
- have an initial analysis, more in the CI section
-
File a github issue for the canvas / slideshow cleanup – cool#15913 (Thorsten)
Pending action items
-
wasm: generate a separate WASM package in due course with the necessary blob (Adria)
- progress, but not finished
-
Jenkins: Install PrioritySorter and re-start at the weekend (Adria/Timar)
- need to plan this
Release Engineering update (Andras)
-
**Releases **(Andras)
-
development can continue on main branch
-
CODA release in preparation (week 27) – distro/collabora/co-26.04
-
red CODE 26.04.2.1 from main branch (week 26)
-
Distribution branches (Michael M)
-
I wonder if we need this ‘distro/collabora’ prefix anymore - it seems like typing to find a distro/collabora/co-25.04 branch etc.
-
Easier to not change this: can break things and little benefit (Andras)
Build system consolidation Online (Michael M)
-
nested configure.ac etc.
-
Meven has looked into trying to build the COOL code (Tomaz)
-
Consolidate? Yes (Stephan)
-
how to do it: less clear; adding meson just makes things more complex
-
gbuild does a good job of building engine/
-
automake is less nice
-
-
Could we use gbuild more in the parent online ? (Michael)
-
for the non-engine path we have lots of XCODE/VS/CMAKE/etc. Projects (Miklos)
-
coda-q has more build bits – have 6-7 systems here …
if that can be reduced it would be nice. -
Android uses cmake – perhaps use it elsewhere.
-
-
Every new build system needs to remove at least one other!
-
Would be nice to avoid re-building everything multiple times (Miklos)
- ‘grep JailUtil.o log’ gives 8 hits
-
IDE things are nice for newbies (Michael)
-
Meson pretends to know how to build C++ code and control settings (Stephan)
-
doesn’t work for our complex build setups – sanitizers, latest libstdc++
in non-std. places etc. -
systems that pretend they know better don’t work out.
-
-
Cross-compiling
-
works quite cleanly – old-school configure with the right target
- very fast.
-
-
We await an enthusiast to reduce our count of build systems …
Patch review
-
- Week 26: 192(-7)
-
- Week 26: 10(-13)
-
Top 10 reviewers since last week
- Week 26: 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 ŞATIR (9), Tor Lillqvist (5)
Bug reporting
-
- Week 26: 13(+1)
Jenkins / CI update (Andras)
-
Szymon’s monitoring: “last builds” monitoring
-
-
Week 26: Success rate is 28%, failed builds are 36/50
-
Week 26: Turnaround time:
-
yesterday was 2 hr 6 min (median of last 35 SUCCESS/FAILURE builds)
-
today is 6 hr 29 min (median of last 47 SUCCESS/FAILURE builds)
-
Analysis (Adria)
-
Windows is the the bottleneck, ~7 hours of waiting time can happen easily
-
flatpak / android build queue is 2:30 – but Windows stops the multi-job builds.
-
Need more machine here for Windows, if we can’t reduce the Windows time
-
if things are well on the Redmond machine, 16 mins is fine (Caolan)
-
non-engine is not ccached; 8-9 mins is a fully cached build perhaps
-
-
-
-
What causes this ? (Michael)
-
is it low-level changes that cause wide ccache invalidation ?
- Could we hold off larger changes to the beginning of the merge window ?
-
Pushing patches (resume) to re-build from many days ago …
- causes more work from long ago.
-
Can we configure jenkins to re-base patches on the latest builds ? (Caolan)
- An option in jenkins to do it but needs scripting etc.
-
-
Building Windows without optimization (Caolan)
- about 2.5x faster not building with optimization.
-
How large are the ccache sizes ? (Michael)
- last time – they are at 50Gb mostly.
-
**AI: **Lets use other Windows physical hardware – with a VM on it (Adria)
-
AI: try the “disable optimization” idea (Caolan)
-
AI: look at scrounging some Windows hardware from here / there (Michael)
- AI: dig out a spec. (Andras)
-
Crash testing (Caolan)
-
2026-06-24: 70 (-122, +0)
-
2026-06-17: 192 (-34, +0)
TTT talks
-
Have a plan for the next 2 weeks
Enable-Java bits
-
Stephan has a gerrit change to remove these java-only bits in gerrit
- jdbc/hsqldb is part of that …
-
Lets merge that.
What’s cooking
-
Stephan
-
wasm: nightly blob, and drop that into your COOL install after setting up from packages?
- That could work (Michael M)
-
-
Quikee
-
Vector rendering → first patch in, test with &vector=true
-
can add sub-tree identifiers keyed from object identifiers …
-
Added decoration for paragraphs for alignment / justification pieces etc.
- for text prediction to work.
-
AI: find a nice comprehensive meta-file / embedded vcl rendering test (Thorsten)
-
going deep first.
-
-
Noel
-
removing things
-
also moving namespaces around
-
might make sense to enable java for the time-being (Stephan)
- had to revert some mechanical re-writes in the java code.
-
-
Miklos
-
https://github.com/CollaboraOnline/online/issues/15962 “Impress slide copy: pointless re-parsing of PNG data” (ODP save)
- first profile – with the problem fixed; needs more work
-
Testing clipboard – via http:// might be that
-
-
Caolán
-
rework presentation mode to use dedicated window and leave editor window alone
- making this less fragile
-
related console tweaking
-
-
Adrià
-
**CI Optimisations: **
-
flatpak builds with limited parallelism (were using 100% threads)
-
flatpak builds distributed bw fermat and mersenne
-
added new almalinux9 agent
-
disk space recovery, cleanup remaining github workspaces
-
-
Jenkins queue and build time analysis to spot bootlenecks
-
CODA snapshots temporary 3x day during intense testing period
-
-
Szymon
-
fixing initialization bugs:
-
save-as second time didn’t work (in review)
-
old, placeholder style previews after switch to and from viewing mode (polishing)
-
-
Style Previews
-
the main problem is how to identify styles in the core
-
its possible to have localized names – very hard to get the correct one
-
wanted to have some magic to not render all languages
-
-
Noel has fixed these.
-
Have a different / custom end-point to render text with
some specified properties ?- Doesn’t really depend on the document
-
-
Hope that vector-stream for previews really helps in the end.
-
-
-
Andras
-
l10n: killed locore machinery. Next: generate “UNO command translations” build time (WIP patches on gerrit)
-
new crashreporter script that caps memory usage, and does not let OOM to kill coolwsd, and provides better backtraces at the same time.
-
Wider commit message textbox on gerrit, does not break lines at 72ch
-
Michael M
-
Getting error expansion pieces in document conflict dialog
-
Making that test-able
-
extending the JSON returned to give clues as to what is going on
-
removed gstreamer …
-
-
Michael S
-
removing old RTL cryptographic code
digest has only a buggy SHA1, and buggy MD5, PBKDF2 too
can we use that from openSSL / NSS instead.- input has a fixed length from previous hash function
-
only 1 function now that gives you random bytes
- random pool is gone.
-