The app.bsky.actor.putPreferences endpoint appears to delete the app.bsky.actor.defs.personalDetailsPref preference when the client is authenticated with an app password.
To Reproduce
Steps to reproduce the behavior:
Using the Bluesky app/website set a birthdate in your moderation settings
Use a client authenticated with an app password to change a preference
Expected behavior
Your birthdate remains.
Actual behavior
Your birthdate is removed and must be re-entered again.
Details
I noticed this whilst adding content safety settings to my own app but I’ve also tried changing moderation settings in the Graysky app and it has the same effect.
Additional context
It looks like #1624 deliberately excluded sending through the birthdate preference in the app.bsky.actor.getPreferences response for privacy reasons but the put endpoint erases preferences that aren’t supplied to it, hence the bug.
Ah lovely. @dholms I figure we either need to make the backend preserve the app.bsky.actor.defs.personalDetailsPref item if it's not included in the put, or we need to drop the app password filter
Describe the bug
The
app.bsky.actor.putPreferences
endpoint appears to delete theapp.bsky.actor.defs.personalDetailsPref
preference when the client is authenticated with an app password.To Reproduce
Steps to reproduce the behavior:
Expected behavior
Your birthdate remains.
Actual behavior
Your birthdate is removed and must be re-entered again.
Details
I noticed this whilst adding content safety settings to my own app but I’ve also tried changing moderation settings in the Graysky app and it has the same effect.
Additional context
It looks like #1624 deliberately excluded sending through the birthdate preference in the
app.bsky.actor.getPreferences
response for privacy reasons but the put endpoint erases preferences that aren’t supplied to it, hence the bug.