What would it take to come to agreement on a way to accomplish this? I’m happy to implement anything on side: a new parameter, a special value, a second API call. But the situation right now is, from my perspective, not an edge case. Like @mentalstring above, I am syncing with an external source of truth where setting a profile picture and display name are optional. The user is allowed to not have them. Discourse allows them to be not set. If you don’t use SSO, you can freely set and remove them. DiscourseConnect breaks this: once they’re set, they can never be removed, which is IMO a (very small) bug.
I understand the concern about changing the protocol where empty currently means no change. Personally I disagree, I think it’s a straightforward and reasonable way to interpret the protocol and the risk is tiny: it would be very strange for systems to be implemented such that they always send name and avatar_url values, but sometimes set them to blank, and expect that to mean keep the old value. And if there are any that do that, the consequence is only that name and avatar get unset, and it should be an easy fix.
But anyway, I don’t want to argue that point, but I do want to make the case that this is a necessary feature. I’m willing to do the PR, I just want to know what solution would be accepted.
Much thanks in advance.