# COOL TC meeting minutes: 2026-05-06

**URL:** <https://forum.collaboraonline.com/t/cool-tc-meeting-minutes-2026-05-06/4642>\
**Category:** Development\
**Created:** [May 6, 2026, 3:11pm UTC](https://forum.collaboraonline.com/t/cool-tc-meeting-minutes-2026-05-06/4642 "2026-05-06T15:11:22Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![vmiklos](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.collaboraonline.com/vmiklos/32/787_2.png) [@vmiklos](https://forum.collaboraonline.com/u/vmiklos)\
**Post date:** [May 6, 2026, 3:11pm UTC](https://forum.collaboraonline.com/t/cool-tc-meeting-minutes-2026-05-06/4642/1 "2026-05-06T15:11:22Z")

</div>

# Present:

- Michael M, Noel, Andras, Caolan, Michael S, Stephan, Thorsten, Tomaz, Miklos

# Completed action items

# Pending action items

- For next week set stats tool to monitor monorepo (Szymon)

# Monorepo setup (Michael M)

- Long way down this path already …

- No perfect solution of which way to merge here (Miklos)

- git blame follows the renames nicely

- git log –follow # is not working

- Unhappy with core merged into online, not the other way around (Noel)

- What is the primary concern? (Michael M)

- More happy with adding a footer header to the old git commit hash, if we do a rewrite (Stephan)

- Can’t mirror to standard web hostings without this (Thorsten)

- Lot of problems with redoing the work of the past month (Andras)

- Pros

- Cons

- Who would be interested in doing the work here? (Michael M)

- What is the problem with broken objects ?

- Do we run clang-format on the changes ? (Michael)

- git blame 564ec47db30e8^ sc/inc/document.hxx (Noel)

- real problems with configure.ac which is in engine/ and the core

- **Conclusion:**

# Release Engineering update (Andras)

- Monorepo status

- Releases (Andras)

# CI status (Szymon)

- Had a big backlog

- Time to build ~ 70 minutes

- [Mohit’s monorepo test change](https://gerrit.collaboraoffice.com/c/online/+/1246)

- Flatpak builds really necessary for every patch? (Noel)

# Patch review

- \*\*All changes: [https://gerrit.collaboraoffice.com/q/status:open±is:wip\*\*](https://gerrit.collaboraoffice.com/q/status:open+-is:wip)

- \*\*[PRs to migrate from GitHub\*\*](https://github.com/CollaboraOnline/online/pulls)

# Bug reporting

- Regression issues: [https://github.com/CollaboraOnline/online/issues?q=is%3Aissue%20state%3Aopen%20label%3Aregression](https://github.com/CollaboraOnline/online/issues?q=is%3Aissue%20state%3Aopen%20label%3Aregression)

# TTT talks

- [TTT talks.ods](https://staging-perf.eu.collaboraonline.com/nextcloud/index.php/s/geAKbYAg4GJagqe)

- Have a plan for the next 2 weeks

# What’s cooking

- Michael S

- Stephan

- Andras

- Szymon

- Quikee

- Miklos

- Caolán

- Thorsten

- Noel

- Michael M

---

<div class="post-metadata">

**Author:** ![sberg](https://avatars.discourse-cdn.com/v4/letter/s/e274bd/32.png) [@sberg](https://forum.collaboraonline.com/u/sberg)\
**Post date:** [May 6, 2026, 7:32pm UTC](https://forum.collaboraonline.com/t/cool-tc-meeting-minutes-2026-05-06/4642/2 "2026-05-06T19:32:02Z")

</div>

Tried to send the below as an email reply, which this unhelpful thing refused to accept:

```auto

On 5/6/26 17:12, Miklos Vajna wrote:
[...]
> <https://forum.collaboraonline.com#p-10045-monorepo-setup-michael-
> m-4>Monorepo setup (Michael M)
[...]
> *
>
> What is the problem with broken objects ?
>
[...]
> o
>
> ‘git fsck’ can detect these (Stephan)
>
> +
>
> github issue → could we clone existing broken LibreOffice
> github core repo – and re-purpose it as our online repo ?
>
> +
>
> And add our online around it ?
>
> +
>
> Can we take the core repo – move it into the engine/ directory
>
> +
>
> and as a 2nd root take the online repo ? …
Yes, we can. The below is a throwaway script that I used right now to randomly set up <https://github.com/stbergmann/core> as a SHA-identical clone of <https://gerrit.collaboraoffice.com/online>:

> #!/bin/bash
> # Replicate the co/online (gerrit) repository into a GitHub fork of
> # libreoffice/core, with every commit SHA preserved.
> #
> # Why a fork of libreoffice/core: GitHub re-runs git-fsck on objects
> # new to the receiving repo and rejects malformed ones. Some of the
> # old core ancestors reachable from co/online have malformed author
> # identities. Pushing them as new objects would fail. But objects
> # already present in a repo's fork-network object pool are exempt
> # from fsck on receive. By forking libreoffice/core on GitHub, all
> # those old core ancestors land in the destination's pool for free,
> # and only the online + engine-merge commits are fsck'd at push time
> # (those are clean).
> #
> # The destination must already exist as a GitHub fork of
> # libreoffice/core (created via GitHub's "Fork" button, so the
> # object pool is shared).
> #
> # Usage: replicate-online-to-github.sh <work-dir>
>
> set -euo pipefail
>
> DEST_URL="git@github.com:stbergmann/core.git"
> SRC_URL="https://gerrit.collaboraoffice.com/online"
>
> if [$# -ne 1]; then
> printf "usage: %s <work-dir>\n" "$(basename "$0")" >&2
> exit 1
> fi
>
> WORK_DIR="$1"
>
> if [-e "$WORK_DIR"]; then
> printf "error: %s already exists\n" "$WORK_DIR" >&2
> exit 1
> fi
>
> printf '==> Cloning source: %s\n' "$SRC_URL"
> git clone --progress "$SRC_URL" "$WORK_DIR"
> cd "$WORK_DIR"
>
> printf '==> Adding destination as remote "github": %s\n' "$DEST_URL"
> git remote add github "$DEST_URL"
>
> # Fetch the destination's refs so the subsequent push can compute a
> # minimal pack (it will skip every object the fork already has via
> # the libreoffice/core pool).
> printf '==> Fetching destination refs\n'
> git fetch --progress github
>
> # Sanity check. Issues reported here for old core ancestors are
> # expected and harmless: GitHub will not re-fsck them on push because
> # they live in the fork-shared pool. What matters is that no
> # online-side or merge-side commit has its own fsck issue, since those
> # WILL be fsck'd at push time. Inspect the log if push later fails.
> printf '==> Running git fsck (output saved to fsck.log)\n'
> fsck_log="$(pwd)/fsck.log"
> git fsck --strict --no-dangling 2>&1 | tee "$fsck_log" || true
>
> # Build refspecs for every branch and tag in the source. The "+"
> # prefix forces non-fast-forward updates; the destination is a fresh
> # fork whose refs we want to overwrite with co/online's.
> printf '==> Collecting refs to push\n'
> refspecs=()
> while IFS= read -r ref; do
> branch="${ref#refs/remotes/origin/}"
> ["$branch" = "HEAD"] && continue
> refspecs+=("+$ref:refs/heads/$branch")
> done < <(git for-each-ref --format='%(refname)' refs/remotes/origin/)
>
> while IFS= read -r tag; do
> refspecs+=("+$tag:$tag")
> done < <(git for-each-ref --format='%(refname)' refs/tags/)
>
> printf ' %d refs queued\n' "${#refspecs[@]}"
>
> printf '==> Pushing to %s\n' "$DEST_URL"
> git push --progress github "${refspecs[@]}"
>
> printf '==> Done. %s is now a SHA-identical copy of %s.\n' "$DEST_URL" "$SRC_URL"

```
