app.bluvy.tube.preferences

tube.bluvy.app

Documentation

Bluvy Tube-specific per-app appearance preferences for one account, written to that account's own repo at rkey `self`. Not required or validated by the PDS or any other AT Protocol app — Bluvy Tube reads this back itself at login to server-render the correct theme and remove the theme flash-of-unstyled-content. Each Bluvy app keeps its own independent record in its own namespace; this one is Bluvy Tube's. See App\Service\AppearanceService in the Bluvy Tube source for the writer.

main record

Bluvy Tube-specific per-app appearance preferences for one account, written to that account's own repo at rkey `self`. Not required or validated by the PDS or any other AT Protocol app — Bluvy Tube reads this back itself at login to server-render the correct theme and remove the theme flash-of-unstyled-content. Each Bluvy app keeps its own independent record in its own namespace; this one is Bluvy Tube's. See App\Service\AppearanceService in the Bluvy Tube source for the writer.

Record Key literal:self Fixed literal value

Properties

accent string Optional

Logo-derived accent override for primary CTAs. Absent means the Bluvy Blue signature (#185DFF).

Allowed: bluvy-blue, bluvy-cyan, bluvy-deep
breakReminderMinutes integer Optional

Wellbeing reminder: minutes of actual playback in vertical swipe feeds before Bluvy Tube interrupts with a take-a-break prompt. Absent means 30. There is intentionally no value that disables the reminder; unknown values are read back as 30.

darkStyle string Optional

Dark-mode depth. Absent means 'dim' (the default #070D1C ramp); 'black' is the opt-in near-black OLED ramp (#05070D, never pure #000000).

Allowed: dim, black
feedMode string Optional

Primary feed navigation and video layout mode. 'youtube' is the standard grid of thumbnails; 'immersive' is the continuous full-screen vertical swipe feed. Absent means 'youtube'.

Allowed: youtube, immersive
fontFamily string Optional

UI font family. Absent means the native system stack.

Allowed: system, inter
fontSize string Optional

Root text size. Absent means 'default' (100%).

Allowed: small, default, large
linkAppView string Optional

Which AT Protocol AppView web frontend external post/profile links (e.g. 'view original post') open through. Absent means 'mu' (Mu.social, Bluvy Tube's default).

Allowed: bluesky, mu, blacksky
mode string Required

Colour-mode axis. 'system' follows the OS prefers-color-scheme.

Allowed: light, dark, system
palette string Optional

Ecosystem palette. Absent means the Bluvy Tube default palette (logo-derived). The others are opt-in alternates.

Allowed: bluvy, bluesky, blacksky, mu
updatedAt string datetime Required

Client-declared timestamp of the last change.

View raw schema
{
  "description": "Bluvy Tube-specific per-app appearance preferences for one account, written to that account's own repo at rkey `self`. Not required or validated by the PDS or any other AT Protocol app — Bluvy Tube reads this back itself at login to server-render the correct theme and remove the theme flash-of-unstyled-content. Each Bluvy app keeps its own independent record in its own namespace; this one is Bluvy Tube's. See App\\Service\\AppearanceService in the Bluvy Tube source for the writer.",
  "key": "literal:self",
  "record": {
    "properties": {
      "accent": {
        "description": "Logo-derived accent override for primary CTAs. Absent means the Bluvy Blue signature (#185DFF).",
        "enum": [
          "bluvy-blue",
          "bluvy-cyan",
          "bluvy-deep"
        ],
        "type": "string"
      },
      "breakReminderMinutes": {
        "description": "Wellbeing reminder: minutes of actual playback in vertical swipe feeds before Bluvy Tube interrupts with a take-a-break prompt. Absent means 30. There is intentionally no value that disables the reminder; unknown values are read back as 30.",
        "enum": [
          15,
          30,
          45,
          60,
          90,
          120
        ],
        "type": "integer"
      },
      "darkStyle": {
        "description": "Dark-mode depth. Absent means 'dim' (the default #070D1C ramp); 'black' is the opt-in near-black OLED ramp (#05070D, never pure #000000).",
        "enum": [
          "dim",
          "black"
        ],
        "type": "string"
      },
      "feedMode": {
        "description": "Primary feed navigation and video layout mode. 'youtube' is the standard grid of thumbnails; 'immersive' is the continuous full-screen vertical swipe feed. Absent means 'youtube'.",
        "enum": [
          "youtube",
          "immersive"
        ],
        "type": "string"
      },
      "fontFamily": {
        "description": "UI font family. Absent means the native system stack.",
        "enum": [
          "system",
          "inter"
        ],
        "type": "string"
      },
      "fontSize": {
        "description": "Root text size. Absent means 'default' (100%).",
        "enum": [
          "small",
          "default",
          "large"
        ],
        "type": "string"
      },
      "linkAppView": {
        "description": "Which AT Protocol AppView web frontend external post/profile links (e.g. 'view original post') open through. Absent means 'mu' (Mu.social, Bluvy Tube's default).",
        "enum": [
          "bluesky",
          "mu",
          "blacksky"
        ],
        "type": "string"
      },
      "mode": {
        "description": "Colour-mode axis. 'system' follows the OS prefers-color-scheme.",
        "enum": [
          "light",
          "dark",
          "system"
        ],
        "type": "string"
      },
      "palette": {
        "description": "Ecosystem palette. Absent means the Bluvy Tube default palette (logo-derived). The others are opt-in alternates.",
        "enum": [
          "bluvy",
          "bluesky",
          "blacksky",
          "mu"
        ],
        "type": "string"
      },
      "updatedAt": {
        "description": "Client-declared timestamp of the last change.",
        "format": "datetime",
        "type": "string"
      }
    },
    "required": [
      "mode",
      "updatedAt"
    ],
    "type": "object"
  },
  "type": "record"
}

Lexicon Garden

@