# Status report: consultancy team, week 47, 2024

**URL:** <https://forum.collaboraonline.com/t/status-report-consultancy-team-week-47-2024/3180>\
**Category:** Status reports\
**Created:** [November 25, 2024, 12:17pm UTC](https://forum.collaboraonline.com/t/status-report-consultancy-team-week-47-2024/3180 "2024-11-25T12:17:16Z")\
**Posts on this page:** 1\
**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:** [November 25, 2024, 12:17pm UTC](https://forum.collaboraonline.com/t/status-report-consultancy-team-week-47-2024/3180/1 "2024-11-25T12:17:16Z")

</div>

# Caolan

- add ident to “subforkit” spare kits to see their announcements  
as indicating specific server/shared config is applied and available
- go, no-go meeting
- fix apparent regression from intel perf work  
 → [https://gerrit.libreoffice.org/c/core/+/176727](https://gerrit.libreoffice.org/c/core/+/176727)
- suggest to check for “disabled” state, not just true/false
- fix most frequent crasher on reimport of rtf in new crashtesting  
 → [https://gerrit.libreoffice.org/c/core/+/176707](https://gerrit.libreoffice.org/c/core/+/176707)
- ods failure to save  
 → [https://gerrit.libreoffice.org/c/core/+/176765](https://gerrit.libreoffice.org/c/core/+/176765)
- prototype launching subforkit around WOPIFileInfo creation time
- assuming that shared/server config is only known on  
checkFileInfo results, and that we want a spare kit using such  
a config to exist before opening a document in it. Prototype  
fetching that shared config as soon as we know it, spawn a subforkit  
tagged as that config once it’s downloaded somewhere and have  
docbroker open documents in a matching tagged sparekit  
when available. Continue to assume for now that the user presets  
can be installed whenever they arrive.
- setupTransfer  
startThread  
pollThread ← probably need shared config id by here  
getNewChild\_Blocks ← looks for suitable sparekit
- There’s an inner null check on \_wopiInfo inside an outer one  
 → [\_wopiInfo checked twice by caolanm · Pull Request #10550 · CollaboraOnline/online · GitHub](https://github.com/CollaboraOnline/online/pull/10550)
- Notice that findOrCreateDocBroker doesn’t use last arg. Not sure  
if that’s a left over thing we can remove, or a work in progress  
 → [last arg to findOrCreateDocBroker is always null by caolanm · Pull Request #10552 · CollaboraOnline/online · GitHub](https://github.com/CollaboraOnline/online/pull/10552)
- help out with some ChildWindow problems with calc  
“reference” dialogs getting recreated in new views  
if open in an existing view.
- cypress tests fail with the default “trace” logging for me,  
this worked in the past, but not now, trying a commit from August  
also fails
  - turns out this is a known problem with Poco 1.13 which got  
upgraded to such on Fedora 40 update. Though I find downgrading  
“trace” to “warning” for cypress is enough to make my make check  
work  
 → [cypress tests with --enable-debug and trace logging fail by caolanm · Pull Request #10570 · CollaboraOnline/online · GitHub](https://github.com/CollaboraOnline/online/pull/10570)

- fix regression from F3 keyboard handling  
 → [Revert "prevent double-dispatch of uno events bound to function keys" by caolanm · Pull Request #10576 · CollaboraOnline/online · GitHub](https://github.com/CollaboraOnline/online/pull/10576)
- push autotext/shared-config code around a bit more
- debug cypress failure in chris’s pr, but it is specific to that  
pr after all
- improve F3 shortcut handling for autotext launch
- tdf#163772 and tdf#164026 fix some regressions of mine  
 → [https://gerrit.libreoffice.org/c/core/+/177213](https://gerrit.libreoffice.org/c/core/+/177213)  
 → [https://gerrit.libreoffice.org/c/core/+/177215](https://gerrit.libreoffice.org/c/core/+/177215)
- ofz#380107559 fods2xlsfuzzer Null-dereference READ
- reorg shared/server config to run a callback on completion  
of async downloads + installs. Right now just firing async  
download of everything of a shared config simultaneously.
- launch subforkit on receipt of that callback
- get docbroker to open docs in associated sparekits of  
subforkit
- TODO, de-stupid and de-hardcode some of this, demo up  
multiple shared configs. See what the situation is for  
configuration overrides instead of just autotext  
examples (Current demo is just COLD+F3 for user autotext  
and FLU+F3 for shared autotext). Open questions on life  
times of subforkits and num\_prespawn\_children wrt their  
children. Need some caching, need to go back and flesh  
out the currently trivial settings json’s along the lines  
of existing font stuff.

# Mike

- Adapt insertion dialog to support multimedia files
  - Finished it - both in Inline, and in richdocuments
  - Merged in both, too (in Online, it got merged mid-week, well inside the red stage; richdocuments was only merged on Sat)

- ReqIF xhtml schema validation error
  - Indeed, an easy one - fixed.

- Deadlock in LibreOffice
  - Working on it.

# Tomaz

Analyze and close gaps to PDF-2.0

- PDF 2.0 encryption (Version 5, Revision 6)
  - changed the password verification process to also include creation of R6
    - calculate the needed hashes derived from the password for both (all) encryption algorithms

  - combined all the R6 things together, so the encryption now works
  - added a bunch of (unit and other) tests for encryption algorithms
    - also use PDFium to open an encrypted PDF of specific version - should not fail

  - add encryption of metadata and make properly handle the flags
    - metadata encryption is an option and this needs to be set in the /Perm and /MetadataEncryption key in the /Encrypt dictionary
    - default is encrypted - so best to make this default for PDF writer too

  - started to part things to master - fixing CI for both

- Adding PDF 2.0 to the UI
  - PDF 1.7 should still be default, but PDF 2.0 as an option the user can set
  - we have many PDF-A versions as an option, which all depend on a certain PDF version and automatically enables/disables PDF features
  - can use that to add PDF 2.0 in a logical way
  - WIP
