COOL TC meeting minutes: 2026-09-16

Date: 2026-09-16

Present:

  • Andras, Adria, Caolan, Regina, Stephan, Thorsten, Miklos, Szymon, Michael S, Michael M, Tomaz

Completed action items

Pending action items

  • check that no builds are incremental anymore (Adria)

    • still pending, first needs more capacity

    • also watch out for the hidden incremental Windows app problem, as discussed on Matrix

  • clang loplugin in code outside engine/, look at this (Adria)

    • so build not only engine/ code in this config

Release Engineering update (Andras)

  • Releases

    • CODE 26.04: 26.04.4.1 was tagged earlier this week

      • had build issues (build from tarball), fixed

      • the installation set had files with wrong permissions, fixed

      • testing, then to release, looks promising

      • will add a check to build from tarball to the CI (Adria)

    • CODE 26.04.4.2 “green” next week

      • first will reset online.git co-26.04 to main

Patch review (Miklos)

  • All changes

    • Week 38: 224(-27)
  • GitHub PRs

    • Week 38: 2(-1)
  • New contributors since last week

    • Week 38: Jonathan Carvalho, TDSxJONEY, WatsonTree
  • Top 10 reviewers since last week

    • Week 38: Miklos Vajna (126), Caolán McNamara (124), Noel Grandin (110), Szymon Kłos (97), Tomaž Vajngerl (62), Samuel Mehrbrodt (20), Stephan Bergmann (12), Mike Kaganski (12), Tor Lillqvist (8), Balázs Varga (7)

Bug reporting

Jenkins / CI update (Adria)

  • New Windows build capacity

    • is the current bottleneck

    • Try to have the builder as an incus VM, to make maintenance easier

  • Also worked on mac mini setups to increase macOS and iOS build capacity

  • Mohit’s monorepo test change

  • Szymon’s monitoring: “last builds” monitoring

    • growing clean successful builds again: 12% → 24% (looks good now)
  • Gerrit for online main

    • Week 38: Success rate is 60%, failed builds are 20/50

    • Week 38: Turnaround time is 2 hr 42 min (median of last 43 SUCCESS/FAILURE builds)

Crash testing (Caolan)

  • 2026-09-16: 11 (-11, +0)

    • further improvement, fix for some more available.
  • 2026-09-05: 21 (-69, +4)

    • best numbers yet, new run underway might reduce further
  • Larger corpus: will instead switch to A / B runs of partitioned conversion bits …

    • already on a big machine

    • could we get the Jenkins hardware doing this at the weekend ?

      • Not convinced that Jenkins is entirely idle at the weekend – it just drains the queue.

TTT talks

What’s cooking

  • Regina

    • no updates
  • Szymon

    • fix: PostMessage API Get_Export_Formats

    • fix: missing styles after extension reload

    • working on Impress now

  • Stephan

    • GAS interop fidelity improvements (even better overload support; nullablity modeled with css.beans.Optional under the hood, …)

    • extensions in CODA

  • Caolan

    • combined coda+online build seems to be working, some more shrinking of re-compiles etc

      • works in practice, usable; more work to be done
    • work to drop extra unused bg tab webviews in coda, hard bit merged, followups in progress, and then enable by default

      • an LRU decision currently
  • Andras

    • dictionaries: extensions → normal files (we had nasty problems with extension registration in CODA)

      • engine’s extension framework becomes unused. Remove?

      • We have a replacement overall (Stephan)

        • reportedly there are customers using python extensions on the server side – which might be killed by this

        • Python scripts are inside the python scripted framework (Miklos)

          • don’t think they are supplied as OXT extensions
            just .py files in a folder as a sysadmin.
        • Off the top of the head – beyond dictionaries …

          • sounds good to get rid of it …

          • LibreLogo was ported to the new extension framework Stephan created

      • AI: drop the old extensions framework (Andras)

        • will do that as part of porting lightproof / sentence checker to C++ (Andras)

        • starting with 4 languages

        • Grammalecte would be the next target for French perhaps (Michael)

  • Adrià

    • Windows Incus VM preparation to add Windows capacity for CI
  • Tomaz

    • Build the pivot table from cache

      • can change layout even when source data is not available
    • Vector rendering

      • gradient and hatch rendering

      • optimize dx array (send differences from previous – 20% smaller)

      • master view / page view rendering

  • Miklos

  • Michael M

    • Build performance … 10-15% speedup of calc compilation …

    • Grouping files … is that a good addition to PCH ?

      • Combining many files through includes into data.cxx from eg. sc/source/core/data/*

      • Chromium people tried this called it ‘Jumbo’ (Miklos)

      • the pipmpls / forward declared headers are great (Caolan)

        • a 5% win is a huge plus for incremental builds for a developer.

        • PCH did help on the windows builds

    • CI – would re-build the externals / 3rd party lbraries from scratch (Caolan)

      • lots of individual configure scripts slow on Windows

        • can use dash instead of bash …
      • might help – have a configure-value cache we can share on Windows

        • that is stored.

        • Stored like ccache is – keyed on the environment/configure options

      • Previously we built core only occasionally …

        • Can we do something that cleans only internal modules ?
      • Could we have packaged software pre-installed as pre-conditions (Thorsten)

        • cf. Linux – packages installed etc.
      • Can we do a “make internal-clean” instead ? (Michael)

        • we already have a ‘make internal.clean’ in engine/ (from Noel) (Miklos)

        • a “make stage clean” – so the next make will delete it in parallel – took a few seconds.

      • Decision: look at switching to semi-incremental on Windows – with a “make internal.clean” in engine and ‘make clean’ at top-level to try that (Adria)

        • would need to move every module except the ones in external/ for the background deletion optimization.

        • Report back after timing.

    • Cypress a complete disaster to parallelise (Caolan)

      • everything dwarfed by the time it takes Cypress to run
    • CI throughput is unintuitive (Thorsten)

      • tests, setup, cleaning dwarfs compile times.

      • PCH on the full level for Linux seems good.

    • Inventing clever things that are run in CI but not developer builds (Stephan)

      • in the end this creates grief for everyone – CI builds randomly fail etc.

      • KISS is a good idea – if we can get enough hardware

    • CI Hardware is not yet fully loaded (Thorsten)

      • not getting the full bang for the buck just yet.
  • Michael S

    • SBOM generator for engine