The item shows up in the result list.
The item doesn't show up.
Interesting enough, the item shows up if you run the indexer manually in com_finder. This tells me it is supposed to work and just fails during the save event somewhere.
No Code Attached Yet
com_fields is hooking into the onPrepareFinderContent event here https://github.com/joomla/joomla-cms/blob/staging/plugins/system/fields/fields.php#L539. Must be done something different on the save event?
onFinderAfterSave which is fired from the "Content - Smart Search" plugin when enabled. Check the "Smart Search - Content" (this naming still is goofy as all can be) for other Smart Search specific events that are triggered when the content plugin is enabled.
I think I had it enabled, but can't say for certain.
I did some more tests now (with the plugin enabled
I can confirm it's updating the fields, but not there are some bugs. Maybe that's what I experienced:
It acts real strange imho and I don't know why that is.
I've had a look at this issue and I've fixed a number of problems and I have it mostly working now (PR to follow). However, the most basic problem is that this line: https://github.com/joomla/joomla-cms/blob/staging/plugins/system/fields/fields.php#L521 is returning the old value for the custom field, rather than the new value. That's why the first save doesn't update the index, but the second one does. Any idea how to fix that?
That's right. If someone can fix
$fields = FieldsHelper::getFields($extension . '.' . $section, $tmp, true); so it returns the new field values rather than the old ones, then it could be considered a fix. Until then, I suggest we leave this open.
if Issue isn't fixable Users should get at "Fields" a Message about "Save Article 2 Times to index Field for Search in Frontend" (like in ACL about "Inherited", "Denied", ...).