The catalog sync added in the supply depot work overwrites container_config
and ui_location for any curated service not flagged is_user_modified. Apps
installed on an alternate host port before that flag existed (e.g. because
the catalog default port was already taken on the host) have their record
reset to the catalog port on the next boot, desyncing it from the running
container and breaking the app's open link.
Compare the published host ports of the existing record against the catalog
and leave the row alone when an installed app diverges. Only host ports are
compared, so catalog corrections to internal container ports (Meshtastic
80->8080) and ui_location scheme changes (Vaultwarden https:8480) still
reach existing installs.