Status report: consultancy team, week 39, 2023


  • ofz#62439 Integer-overflow on scale
  • ofz#62688 Null-dereference READ in SwRubyPortion::SwRubyPortion
  • cool#7293 simd review, fixup, merge
  • fix clang 15 build breakage from c++20 changes
  • tdf151919 mark blanked fields as requiring a reformat
    • to knock another regression off my list
  • cool#7307 speed up typedetect of non-hybrid pdf
  • notice that coverity has a more recent build available
  • push urp problem around a bit
  • urp stuff
    • now works, though its all messy casts and shoved into the
      wrong place.
  • small optimization possibility seen in a perf report
  • urp needs ant, fix configure for that
  • tidy urp
    • and doesn’t work now, very odd
  • cool community call
    → get some profiling
  • esc meeting
  • urp bizarrness
    → when it sends we prefix urp:\n
    → then use ClientSession::sendBinaryFrame
    → that creates a message from the data
    a) sendBinaryFrame is example the same as sendTextFrame
    so that’s a bit of a misnomer
    b) each creates a Message and that detects if it should be
    binary or not in its ctor based on its message type
    c) but that searches for a _forwardToken using
    COOLProtocol::getFirstToken which defaults to ’ ’ only
    so coasts past the \n into the body content, and its
    then arbitrary if the content has a - in it or not
    d) then we use StringVector::tokenize on the text after
    the - if there was on in the body, and from the start
    if there wasn’t one, in which case tokenize will break
    at the \n.
    so for some messages it was binary and for other not
    → space is fine as a separator for the end client already
    so this is a multi-hour 1 byte change
  • urp things work, tidy, make presentable
    → fight various mobile platform build failures
  • sample some spreadsheet processes with
    multiple users connected
  • these seem to be idle sessions so are generally just
    swapping out graphics and releasing resources
  • get crashtesting and coverity working again with
    latest baseline
    → use older coverity for online for the moment to
    avoid the petty std::move stuff for now
    → knock a few more low hanging issues off the
    online coverity list


  • Libre Office build without ssl implementations
    • Went ahead and fixed


  • Almost finished the “Improved easy to use conditional formatting
    UI” UI part, needs testing and integration with Online now

  • Started looking at blocker “Calc: Crash with conflicting editing”


First-page header and footer from and to DOCX:

  • Added more test cases (only first, only left and right) and asserts so it
    is easier to determine if the code change goes into the right direction
  • The import doesn’t understand that we can handle first / other with just a
    single page style
    • needed to remove the code that creates a separate page style (but need
      to to keep in mind that this may not always be the case)
    • need to set the “FirstIsShared” property when we are doing the first
  • Needs to correctly set the header/footer for the first page / other in the
    same style now
  • Adapted the Left/Right code to work alongside First/Other
  • The import code gets complicated quickly so it handles all use cases
    • need to check title page use cases and similar
    • WIP