# Status report: consultancy team, week 44, 2024

**URL:** <https://forum.collaboraonline.com/t/status-report-consultancy-team-week-44-2024/3115>\
**Category:** Status reports\
**Created:** [November 4, 2024, 11:10am UTC](https://forum.collaboraonline.com/t/status-report-consultancy-team-week-44-2024/3115 "2024-11-04T11:10:24Z")\
**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 4, 2024, 11:10am UTC](https://forum.collaboraonline.com/t/status-report-consultancy-team-week-44-2024/3115/1 "2024-11-04T11:10:24Z")

</div>

# Caolan

- asan warning about missing mutex  
 → [lock getWakeupsArray for reading by caolanm · Pull Request #10365 · CollaboraOnline/online · GitHub](https://github.com/CollaboraOnline/online/pull/10365)
- measure SharedString visitor for ref  
counting reduction improvements, update, etc
- autotext, experiment with trying to get autotext  
files put into the jail seen/working at all
- cool#10177 debug a little to see why worker thread decompression  
seems laggy
- debug with pranam why there is a crash with a redlined field  
 → [https://gerrit.libreoffice.org/c/core/+/175808](https://gerrit.libreoffice.org/c/core/+/175808)
- autotext isn’t read from where one would initially  
expect
  - i.e. a /tmp/user/user/config/autotext dir from  
presets in desktop/source/app/userinstall.cxx  
with userinstall::finalize  
which uses utl::Bootstrap::locateUserInstallation(uri)  
but we actually attempt to read from  
/tmp/lue3h7e1.tmp/user/autotext  
where the default autotext paths to search for come from  
SubstitutePathVariables::SetPredefinedPathVariables  
aState = utl::Bootstrap::locateUserData( sVal );  
because preloadData sets a tmp user installation dir, and  
that one gets stuck as the dir for later loads  
from SynchronizeExtensionRepositories,  
to comphelper::EventLogger::EventLogger  
to SubstitutePathVariables singleton ctor

- howto find where the .ui warning comes from and how to  
fix same
- cool#10332 uncaught exception from NetworkInterface::list  
 → [NetworkInterface::list can throw by caolanm · Pull Request #10385 · CollaboraOnline/online · GitHub](https://github.com/CollaboraOnline/online/pull/10385)
- autotext
  - there are two bootstraps, rtl and unotools, unotools syncs  
at SECOND\_INIT with reloadData
  - we do have a post-preinit effort to set the bootstrap  
variables to the expected dir, but PathSettings and  
SubstitutePathVariables already exist pointing to the  
tmp preload/preinit locations

- Allow “F3” to get sent to core to trigger autotext  
[https://github.com/CollaboraOnline/online/compare/master...private/caolanm/kit\_presets](https://github.com/CollaboraOnline/online/compare/master...private/caolanm/kit_presets)
  - but it get sent twice, which seem like something that happens  
with all Function keys, bodgeable with:  
 → [prevent double-dispatch of uno events bound to function keys by caolanm · Pull Request #10403 · CollaboraOnline/online · GitHub](https://github.com/CollaboraOnline/online/pull/10403)

- autotext
  - Add XInitialization support to PathSettings so it could be  
reinitialized after preinit so it updates its autotext etc paths  
to where they should be
  - get SubstituteVariables to update what path variables it  
substitutes when this resync of bootstrap settings happens
  - tweak debug-mode kit jail creation to also install a  
sample autotext
  - writer continue to fail to do anything sensible
  - writer will refuse to access a user’s personal usertext  
unless there happened to be an internal/shared autotext  
which is an odd situation, apparently ancient null deref  
workaround  
 → [https://gerrit.libreoffice.org/c/core/+/175959](https://gerrit.libreoffice.org/c/core/+/175959)
  - installing sample autotext now works
  - next to explore checkFileInfo and demo up getting user autotext  
etc from server to stick into jail.
  - readonly shared “org” autotext could either be put into the  
kit user autotext dir as a special case, or bind-mounted over  
where lo puts its “internal” one, the latter might be a better  
fit for the overall idea of layered forkits. Worry about that  
after getting user stuff in place.

# Mike

- Calc: Misaligned shape/chart/image positioning with browser zoom
  - Two-side: core + Online
  - Created initial core change, fixing some rounding errors affecting placement
  - Working on Online side
  - Broke grid rendering (found the problem)
  - The selection is misplaced

# Tomaz

Analyze and close gaps to PDF-2.0

- We can output documents identifying as as PDF-2.0
  - but they may not be valid PDF-2.0 documents
  - a lot of features that were deprecated, which shouldn’t be written into PDF-2.0

- /Info dictionary has for the most part been deprecated
  - exceptions: /CreateDate and /ModDate
  - XMP metadata should be used instead
  - no need to keep them in sync anymore (requirement with previous versions)
  - changed the code to not write those elements, but write XMP metadata instead
  - we have written XMP metadata only when we had PDF/A or PDF/UA, but it is supported from PDF 1.4
  - I have enabled XMP metadata for all versions from PDF 1.4 on

- All the old encryption methods have been deprecated - PDF 2.0 has an update one
  - AES-256 V6
  - We use the ultra old RC4, but with 128bit key length
  - Still, not good enough today
  - The AES versions use a completely different algorithm.
  - Implementing that.
  - Factored out CryptTools (wraps NSS or OpenSSL) from oox module (used for encryption there) and put it into comphelper
    - Hash - for SHA hashing was already moved there some years ago

  - WIP
