glencoesoftware / omero-ms-core

OMERO Vert.x microservice core
GNU General Public License v2.0
2 stars 6 forks source link

Fix LONG_BINPUT and duplicate dictionary key decoding errors #25

Closed chris-allan closed 1 year ago

chris-allan commented 1 year ago

Fixes a couple issues found in the wild with an included full session test case.

Reference for the validity of LONG_BINPUT offsets:

/cc @stick

chris-allan commented 1 year ago

Looks good, but I was wondering - do we know why there are 2 user_id fields in some of the sessions?

Yes, the two fields should be present in most sessions actually. The only place I could find where it was being set was:

The underlying issue isn't really that there are two fields but that they have different purposes and may have different values. The user_id field which is at the root of the session reflects the current calling context of the top level OMERO.web page. In this particular scenario the top level page is showing data for all groups and consequently user_id=-1 whereas connector.user_id=3.