See #2910353: Prevent saving config entities when configuration overrides are applied.

That will break this custom implementation of that interface, so we need to add that method.

Issue fork search_api-2983999

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

Berdir created an issue. See original summary.

berdir’s picture

Status: Active » Needs review
StatusFileSize
new482 bytes

you obviously want to wait until the patch is actually committed but then it should be perfectly safe to commit it, as adding a new method won't break anything in older versions.

Not quite sure what the purpose of this class is, but you might want to follow #2924796: Create a generic way to decorate Entity classes, that was proposed as a starting point for those kind of decorators.

drunken monkey’s picture

Status: Needs review » Active

Thanks a lot again for pinging me about this! I'm now following all three issues and will commit once the original Core issue was committed as well.

mpp’s picture

zero2one’s picture

I did an upgrade of Search API from 1.16 to 1.17 and the UI is now broken.

Fatal error: Class Drupal\search_api\UnsavedIndexConfiguration contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Drupal\Core\Config\Entity\ConfigEntityInterface::hasOverrides) in search_api/src/UnsavedIndexConfiguration.php on line 25

Applying this patch fixes the issue.

zero2one’s picture

Category: Task » Bug report
Priority: Normal » Critical

Increased the priority since the UI to configure the Indexes is now broken.

berdir’s picture

Category: Bug report » Task
Priority: Critical » Normal

No, this is not critical. You're only missing this method because you are using a core patch that makes this required.

zero2one’s picture

You are right.

This patch is only required if the core patch is applied: #2910353.

mpp’s picture

Hi @berdir, the parent issue in core is marked as critical as stated:

I'm pretty sure this is a critical as it results in data loss/overwriting.

Doesn't that in turn make this issue critical?

berdir’s picture

No, nothing is broken in search_api unless you use the core patch. Once it is committed as it is now it would be. But we might also handle it differently and not yet add the method to the interface.

It could be critical and postponed, but no matter the status, this won't be committed before the core issue is resolved.

berdir’s picture

The method signature was not changed in the core issue, so updated this and converted to a MR.

dmytro.chornyi’s picture

StatusFileSize
new459 bytes

There is a small change for PHP 8.3
FYI the code from MR

prudloff’s picture

Status: Active » Postponed