mirror of
https://github.com/fluxerapp/fluxer
synced 2026-10-17 13:05:32 +09:00
feat(api): track privacy setup and open community DMs by default (#3322)
This commit is contained in:
1 parent
ae820ba4ea
commit
e9a4f33a7e
13 files changed
+122
-6
No files matched your search
@@ -294,6 +294,8 @@ The [user settings update object](/http-api/users/settings/#user-settings-update
|
||||
| synced_preferences<sup>6</sup> | string | The base64-encoded [synced preferences](/http-api/users/settings-protobuf/) message |
|
||||
| profile_privacy | integer | [Profile privacy level](#profile-privacy-levels) |
|
||||
| default_share_voice_activity<sup>7</sup> | boolean | Whether a newly accepted friend relationship starts with voice activity sharing on |
|
||||
| privacy_setup_version<sup>8</sup> | integer | The latest privacy setup version the account has reviewed, 0 if it never has |
|
||||
| privacy_setup_completed_at | ?ISO8601 timestamp | When the account last completed the privacy setup, or null if it never has |
|
||||
|
||||
<sup>1</sup> Duplicate identifiers are removed when the array is written
|
||||
|
||||
@@ -309,6 +311,8 @@ The [user settings update object](/http-api/users/settings/#user-settings-update
|
||||
|
||||
<sup>7</sup> The field is read-only here and is changed by [Modify voice activity sharing](/http-api/users/settings/#modify-voice-activity-sharing)
|
||||
|
||||
<sup>8</sup> Fluxer only stores this number. The first-party client compares it with the privacy setup version it ships and asks the user to review their direct message settings while the stored number is lower
|
||||
|
||||
## Custom status object
|
||||
|
||||
A custom status is the text and emoji stored on the account's [user settings](#user-settings-object).
|
||||
|
||||
@@ -228,6 +228,7 @@ Further members are accepted and ignored. `guild_positions` is an array of at mo
|
||||
| suppress_unprivileged_self_mentions_bypass_user_ids?<sup>12</sup> | ?array[snowflake] | The users exempt from mention suppression |
|
||||
| staff_dm_access_user_ids?<sup>12</sup> | ?array[snowflake] | The users granted staff direct message access |
|
||||
| profile_privacy? | integer | [Profile privacy level](/http-api/users/#profile-privacy-levels) |
|
||||
| privacy_setup_version?<sup>14</sup> | integer | The privacy setup version the user just reviewed (1-1000) |
|
||||
| synced_preferences?<sup>13</sup> | ?string | The base64-encoded `fluxer.user.preferences.v1.SyncedPreferences` snapshot, or null to clear it |
|
||||
|
||||
<sup>1</sup> A string matches ISO 8601 and an integer is Unix milliseconds between 0 and 8640000000000000. Anything else is rejected with `INVALID_ISO_TIMESTAMP`
|
||||
@@ -256,6 +257,8 @@ Further members are accepted and ignored. `guild_positions` is an array of at mo
|
||||
|
||||
<sup>13</sup> The value runs to at most 699052 characters of base64 and decodes to at most 524288 bytes, the 512 KiB ceiling. A longer string returns 400 `INVALID_FORM_BODY`, an oversized decode fails with `TOO_LARGE`, and an undecodable value fails with `INVALID_FORMAT`
|
||||
|
||||
<sup>14</sup> Fluxer stores the value as given and sets `privacy_setup_completed_at` to the time of the update
|
||||
|
||||
Fluxer decodes an accepted `synced_preferences` value, re-encodes it canonically, and stores the result, so a snapshot with only zero values is stored as cleared and read back as the empty string.
|
||||
|
||||
:::caution[A rebuilt folder layout drops unresolved references]
|
||||
|
||||
Reference in new issue
Block a user