Category_ids breaks on options key

Hi all,
I have a particular error on this file: src/core/modules/catalog/helpers/optionLabel.ts::23

Since I use the synchronizer M2 Vsbridge Indexer it would seem that when it gets to that line, the “options” key is not found, breaking everything without reporting any error in console.
If I test with the deprecated synchronizer (mage2vuestorefront) this problem doesn’t happen.

If I modify the code to run some tests like this:

[...]
let attr = state['list_by_' + searchBy][attributeKey]
if (attr) {
  console.log('attr: ', attr) // in this case: category_ids

  let opt = {
    'label': null
  }

  if (attr.options) {
    opt = attr.options.find((op) => toString(op.value) === toString(optionId))
  }

  if (opt && opt.label !== null) {
    if (!state.labels[attributeKey]) {
      state.labels[attributeKey] = {}
    }
[...]

Everything starts working again.
Basically, the “category_ids” attribute object does not contain the “options” key, so “find” function does not work.
Before applying this patch on my theme, however, I would like to ask you if you have an idea what this problem may be. Where exactly are you looking for those “options”? Could it depend on the configurations of the magento2-vsbridge-indexer module?

Thanks in advance to anyone who will answer.
Michael

Hi,
I think as you added category_ids to the defaultFilters - there we have it. VSF1 assumes it is a attribute with options. However, category_ids does not contain options. Condition you added is a proper approach and I want to encourage you to prepare a pull request to the core with this one.