How to mark one app as incompatible with another one

I am an app author. I have forked an app and published my own version. Is there any way to mark my app as incompatible as the upstream app? My app offers a superset of the functionality of the upstream app, so there is no reason to install both. Furthermore, it causes problems with PHP namespaces and pages. Even if I fix these problems, I think this could lead to the confusion of my users. They could change the settings in the other app’s page thinking they were interacting with my app.

I looked here, but I did not see anything like a list of conflicts.

ChatGPT told me I could put this in info.xml, but I don’t think it’s right:

<dependencies>
    <conflicts>
        <app>upstream_app_folder_name</app>
    </conflicts>
</dependencies>

Not to my knowledge unfortunately (unless you want to make the larger leap and attempt to implement it in server for all apps to benefit from).

I happened to look superficially into this recently for a slightly different situation: to prevent the the end_to_end_encryption app from being enabled alongside the encryption app in nextcloud/end_to_end_encryption#533.

Handling for this would have to be added in server in the apps management code (along with appropriate app metadata). I haven’t looked into how easily/challenging that would be. But likely it could be modeled after the existing app dependency support (server/lib/private/Installer.php at a58ed05f1d19d591a1ed384e87915db952c5f163 · nextcloud/server · GitHub).