im.flushing.preferences

flushes.app

{
  "id": "im.flushing.preferences",
  "defs": {
    "main": {
      "key": "literal:self",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "updatedAt"
        ],
        "properties": {
          "sound": {
            "type": "boolean",
            "description": "Whether the app is allowed to make noise."
          },
          "theme": {
            "type": "string",
            "maxLength": 16,
            "description": "Which palette the site is drawn in.",
            "knownValues": [
              "light",
              "dark"
            ]
          },
          "updatedAt": {
            "type": "string",
            "format": "datetime",
            "description": "When these preferences were last changed. Two devices resolve a disagreement by taking the later one."
          },
          "swipeLeftEmoji": {
            "type": "string",
            "maxLength": 32,
            "description": "The reaction a leftward swipe on a feed row leaves.",
            "maxGraphemes": 1
          },
          "swipeRightEmoji": {
            "type": "string",
            "maxLength": 32,
            "description": "The reaction a rightward swipe on a feed row leaves.",
            "maxGraphemes": 1
          },
          "hiddenFlushEmojis": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 32,
              "maxGraphemes": 1
            },
            "maxLength": 256,
            "description": "Emoji to leave out of the flush composer's picker. Absent means none are hidden. Stored as what to hide rather than what to show, so emoji added to the palette later appear without every existing record having to be rewritten."
          },
          "randomizeFlushEmoji": {
            "type": "boolean",
            "description": "Start the flush composer's picker on a different emoji each time it opens, rather than always the same one."
          },
          "hiddenReactionEmojis": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 32,
              "maxGraphemes": 1
            },
            "maxLength": 256,
            "description": "Emoji to leave out of the reaction picker. Absent means none are hidden."
          },
          "randomizeReactionEmoji": {
            "type": "boolean",
            "description": "Start the reaction dial on a different emoji each time it opens."
          }
        }
      },
      "description": "A user's Flushes preferences, so that a choice made on one device is the same choice on the next. One record per repo."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}

Validate Record

Validate a record against im.flushing.preferences

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:omyqslmybfah7a5shue7hnqz
CID
bafyreihwnjan6yhq35ejlrrq7delbh4g3ojwx35i7c3rynhkmj5m5cjqte
Indexed At
2026-08-05 17:59 UTC
AT-URI
at://did:plc:omyqslmybfah7a5shue7hnqz/com.atproto.lexicon.schema/im.flushing.preferences

Lexicon Garden

@