Status report: consultancy team, week 35, 2023

Caolan

  • tdf#144906 unset g_DragSource if drag end callback never called
    → a frequent upstream crasher, not sure if this fixes it, but
    its definitely not right as it is.
  • turn anonymizing formula cell content in logs into a pr
    avoid logging user content from spreadsheet cells by caolanm · Pull Request #7177 · CollaboraOnline/online · GitHub
  • follow up for long string in ui for tdf#156611
    https://gerrit.libreoffice.org/c/core/+/156186
  • pptx import of Wingdings font missing symbol charset
    https://gerrit.libreoffice.org/c/core/+/156230
  • poke at cool#7165 avx2 acceleration for rle
    → nothing I have supports avx512, nor any of the
    staging etc setups, so look at avx2
  • get cool#7165 avx2 acceleration for rle bitmask
    generated through avx2 with same output as existing
    code
  • switch over to looking at T41631: websocket urp to
    get merged etc.
  • websocket urp, fix up some things
  • build Java-Websocket from source instead of jar
    binary blob
  • cool#6616 show (deskop) progress bar for svg export
  • doesn’t solve the problem there, just good to have
    a progress bar for long lived process
  • put websocket thing for upstream review
  • investigate jodconverter demo
  • merge urp over websocket thing to upstream core and 23-05
  • debug jodtconverter demo
    • “local”, “remote”, and “external”, which are
      “pipe”, “collabora online’s convert-to” and “external”.
      “external” is the existing socket case, so the one we want
      to pursue here. jodtconverter build its urp connection string itself
      so need to expose that and/or add something to build a websocket
      urp string. Hacked that in locally for experimental purposes.
  • running into a set of timeout issues
    a) online times out with “is taking too long to load. Will kill
    process” after a while because from online’s current perspective no
    document loads. With that block hacked out for demo purposes then the
    connection still drops.
    b) Java-WebSocket client eventually gets/generates a onClose event
    with message “onClose because of: The connection was closed because the
    other endpoint did not respond with a pong in time”
    With setConnectionLostTimeout(0) hacked into WebsocketConnection
    in ridljar, then that problem can be worked-around
    c) there was a full second delay between reads and writes
    → need a flush there: https://gerrit.libreoffice.org/c/core/+/156488
    d) eventually things appear to hang/get stuck anyway
    → pushtoMainThread puts into a queue which is processed during
    SocketPoll::poll and that doesn’t happen. TODO figure that out.

George

Mike

Paris

Worked on “Lots of logging churning on the console”. While
couldn’t reproduce the logging issue (may have been fixed after
cool#7164 use existing delay queue for 'canonicalidchange' by caolanm · Pull Request #7170 · CollaboraOnline/online · GitHub), think the issue
was probably akin to the tilecombine command sending the id to the core

  • Reverted this and found a different way to solve the issue that this
    change was made for (preview bugs in impress) which is now pending CI.

Tomaz

Finish document themes for Impress

  • backporting to co-23.05
  • changed back to allow a theme change when not on master page in impress
  • changing theme in impress now changes all master pages
    • in MSO a master slide can have multiple layouts, layouts are
      converted to master pages in LO, but there is nothing like a “master slide”
    • theme is defined per master slide - so a change of the theme on a
      master slide changes the theme for all layouts, but in LO we can’t do this
    • in LO we need to change all master pages one by one to get the same
      effect, which is annoying for the user
    • for now it is therefore better (less annoying for the user) to
      change the theme for all master pages instead
  • implemented theme export and import in Calc for ODF
    • missed implementing that, concentrated on OOXML
    • refactored the code to reuse the same import and export for Writer
      and Impress, then added it to Calc
    • written the theme test in Calc
  • gone through gerrit code review comments and fixed various issues found
  • reviewed and backported (co-23.05) Regina’s changes to make theme
    import/export also work in Draw
    • we limited it to Impress only, but there is no more reason to still
      have this limit

Regression fixing tdf#147704 :

  • issue is with TIFF metadata reading
  • we implemented on-demand reading of images, sp we don’t load the
    images on document load
    • but we now rely on the metadata reading (width and height) to not
      force a full read early
    • for TIFF images the metadata wasn’t read correctly - so we got
      width and height in pixels = 0
    • this caused an issue in the regression bug
    • fixed the metadata reading fixed the bug
    • also changed tiff tag reading to be more robust and not be
      arbitrarily limited which would cause to return no metadata

Miklos