Collabora Online Weekly Meeting #26

Collabora Online Weekly Meeting #26

Date: May 27, 2021

Next meeting: June 03, 2021

All minutes published on:


  • Gabriel Masei, Thorsten, Michael, Cor, Nicolas Christener, Pedro, Szymon, Muhammet, Aron, Andreas Kainz, Kendy, Gopi Krishna Menon, Pranam

Community update (Muhammet)

JSON Toolbar / Notebookbar changes (Pedro)

  • All of the json files were updated → done.

Canvas / Interactive Performance (Michael)

  • Lots more improvements here; far faster table controls ~everywhere

  • get a 6.4.9 out with just some bug-fixes & perf. wins.

  • Still need to announce / blog about this

  • not seeing wins from slurping (Gabriel)

    • back-ported to an 6.4.0 online version:

      • perhaps differences to branch are too big, so the optimizations have no effect.

      • Seen some differences in performance, but not improvements while testing scrolling scenario.

    • Take latest version of COOL:

      • tested with them reverted – didn’t see an effect

      • what is the difference ? … using Chrome on Ubuntu 20 – tested in debug mode.

    • Force-reload the Javascript ? (Kendy)

      • worth checking – if you do a re-build

      • it’s probable cached JS stays in the browser; shift-re-load etc. …

        • in an iframe more complex.

        • Re-configure – to get a new git hash – since it’s loaded in a new URL

      • resolution is 1920x1080

  • Difference seen (Gabriel)

    • vs. master as of some days ago.

    • Response should be faster with the optimizations

    • say 1k rows with data … start from 1st row, and press ‘page-down’ button

      • measure the time when it reaches row 1k

      • older version – faster by 50-100% than the latest.

      • How to measure the time? (Michael)

        • when page displays row 1000?
    • Best to profile the local javascript (Michael)

      • see what’s going on there …

      • would like to have a screenshare.

color-scheme (Andreas K)

  • Started with the notebookbar – color in color-scheme.css

  • can be used in a dark-mode now – branding should be easier too.

  • Would be nice to have for the icon theme too.

    • for now colors done with filters.
  • Idea is to use variables instead of fixed colors

    • status bar / etc. should be using colors from new
      variables in color-scheme.css
  • should be aware of not having filters in critical stuff (Pedro)

    • not fully compatible across browsers.

Icon theming (css class names) (Pedro)

  • No updates

  • After native sidebars are done

  • Andreas_k: would be cool to think on it, now I work with filter which work well.

Native sidebars (Szymon)

  • fixed a few problems with non-working panels

    • mostly working
  • some widgets need some additional fixes:

    • those using drawing-areas have some sizing issues

    • trying to fix all the cypress tests with the JS sidebar.

  • Fixed the mobile wizard – now using welded sidebar widgets,

    • so this was also switched to use welding instead of uitest

    • really pleasing (Michael)

  • eager to remove the old code

  • do we have a score of tests ? (Michael)

    • was failing 7 – now around 3-4 need for multiple-users.
  • Mobile drop-down for font-height (Andreas K)

    • two icons for shrink & grow …

      • don’t need them – due to the drop-down widget
    • want to loose stuff on mobile – to not have additional commands

    • how can we remove commands on mobile?

    • There is a list of commands we don’t need (Szymon)

      • in the mobile-wizard builder

      • will send a code-pointer on IRC.

  • Can we change the arrangement? (Andreas K)

    • this thing before other stuff ?

    • No – in the same order as the side-bar in (Szymon)

      • there are some hacks there – don’t want to extend them (Michael)

Notebookbar (Andras K)

  • for old menu-bar:

    • can define that a command is only available in impress, not shown elsewhere?
  • Is it possible for notebookbar too ?

  • No – separate files for different tasks (Szymon)

    • we share some tabs for draw & impress …

    • change the structure only for draw; need to create a separate list of commands

  • eg. the ‘Home’ tab is the same in impress & draw

    • want to have a ‘presentation’ command not available in draw.

    • want to tweak the home tab in Draw so it’s only in impress.

      • Will open an issue to talk in.

Async Saving (Michael)

  • Ash continuing to make progress

  • with proper state transition handling – finding interesting cases

    • eg. what happens when rename’s save fails the 1st time …
  • Ongoing – and week+ out before we can get it in.

Pull requests

  • a few that are being watched – but all being taken care of.

Commit Access

Ongoing work (Kendy)

  • talked about the sidebar

  • Mert – implemented writer anchors

    • so it will be possible to move the anchors of images & shapes
  • Mert also done lots of fixes on Android

    • hope to release a new build next week.

    • This week’s snapshot had an issue with formulainputbar

  • CI – a bit unstable for cp-6.4 – so couldn’t merge yet.

PDF Rendering (Gökay)

  • nice progress here; currently we have a re-implementation of comments as a canvas section

    • not using lat/long anymore.
  • Some re-painting problems; when the comment anchor-point is moved – can blink.

    • working on this.
  • Need to update the mobile view comments

    • done already for writer but calc & impress are pending.

Release schedule bits (Michael)

  • CODE 6.4.9

    • shipping some fixes & lots of performance work

    • so we have a new version people can see in help→about …

  • CODE 6.4.10

    • still blocking on async save & various other bits being merged.

Chasing Window crashes (Gabriel)

  • Got some call-stacks, dis-assemble libraries in core

  • Seems that most of them related to

    • implementation object of window class …

      • many checks that are missing.
  • Code should return no-op results for disposed windows (Michael)

  • checked repository history: Ash/Szymon have commits that check the member

    • correct thing is to check if the value of mpWindowImpl is null and cope with it.
  • How did you stress the application ? (Michael)

    • 6-7 team-mates doing things, trying to do things concurrently,
      opening dialogs, inserting images, creating tables (Gabriel)

      • using 6.4.0 …

      • lots of fixes since then (Michael)

Next Meeting

Next meeting will take place on Thursday, June 03, 2021 at 10:00 am (UTC)