full diff

town.chalky.config

chalky.town +4 −0
From
bafyreicptqyc35gl6dayxsaknf37wysp5tkeq5oliq5622qoalactuwdxy indexed 2026-09-21 04:07 UTC View this version
To
bafyreid6we7uqkyfeagx7rintlqcn5674hamzu4il7boasdl5f5erbe45q indexed 2026-10-10 22:06 UTC View this version

Compatibility

backward compatible Backward compatible. 2 non-breaking changes.

Non-breaking changes (2)
  • AddedVertex AddedVertex { vertex_id: "town.chalky.config:body.hideStats" }
  • AddedEdge AddedEdge { src: "town.chalky.config:body", tgt: "town.chalky.config:body.hideStats", kind: "prop", name: Some("hideStats") }

Migration guidance

Added

  • AddedVertex { vertex_id: "town.chalky.config:body.hideStats" }

Notes

  • Non-breaking: AddedEdge { src: "town.chalky.config:body", tgt: "town.chalky.config:body.hideStats", kind: "prop", name: Some("hideStats") }

Changes

11{
22 "$type": "com.atproto.lexicon.schema",
33 "defs": {
44 "main": {
55 "description": "A user's chalky.town configuration, stored once at rkey `self` in whichever store its own `dataMode` names — the author's PDS repo in public mode, chalky.town's private per-DID store in private mode. So the record declaring a private preference is itself private, and nothing about the author's settings is world-readable when they asked for privacy. Read right after sign-in (both stores are checked, since the mode isn't known until the record is found) to route task data and to restore theme/preferences across devices. Two copies can only coexist if a mode switch was interrupted; `updatedAt` resolves that, and the loser is deleted.",
66 "key": "literal:self",
77 "record": {
88 "properties": {
99 "autoDone": {
1010 "description": "Mark a task done automatically once all its subtasks complete.",
1111 "type": "boolean"
1212 },
1313 "carryOver": {
1414 "description": "Auto-roll incomplete past tasks onto today on load.",
1515 "type": "boolean"
1616 },
1717 "colors": {
1818 "description": "The user's editable task-color palette, in display/hotkey order. Absent means the five built-in defaults. Hidden (removed) entries stay in this list so tasks that still reference them keep rendering their tint.",
1919 "items": {
2020 "ref": "#paletteColor",
2121 "type": "ref"
2222 },
2323 "maxLength": 32,
2424 "type": "array"
2525 },
2626 "createdAt": {
2727 "format": "datetime",
2828 "type": "string"
2929 },
3030 "dataMode": {
3131 "description": "Where the author's task records live. `public` = the author's own PDS repo (world-readable). `private` = chalky.town's per-DID private store, exportable on demand.",
3232 "enum": [
3333 "public",
3434 "private"
3535 ],
3636 "type": "string"
3737 },
38 "hideStats": {
39 "description": "Hide the Stats page (usage numbers) from the account menu.",
40 "type": "boolean"
41 },
3842 "somedayLabel": {
3943 "description": "Custom label for the unscheduled-tasks drawer; empty or absent means the default.",
4044 "maxGraphemes": 64,
4145 "maxLength": 256,
4246 "type": "string"
4347 },
4448 "somedayOpen": {
4549 "description": "Whether the Someday drawer is expanded.",
4650 "type": "boolean"
4751 },
4852 "sortStrategy": {
4953 "description": "How each day's tasks are auto-ordered. `none` keeps the manual drag order; `color` groups by the palette order (uncolored last); `completion` floats incomplete tasks up and sinks done ones by finish time; `color-completion` groups by color, then by completion within each group; `completion-color` leads with completion so every done task sinks below the unfinished ones, then orders each half by color.",
5054 "enum": [
5155 "none",
5256 "color",
5357 "completion",
5458 "color-completion",
5559 "completion-color"
5660 ],
5761 "type": "string"
5862 },
5963 "theme": {
6064 "description": "Preferred color mode.",
6165 "enum": [
6266 "light",
6367 "dark",
6468 "system"
6569 ],
6670 "type": "string"
6771 },
6872 "updatedAt": {
6973 "description": "Last edit; the last-write-wins clock for the config record.",
7074 "format": "datetime",
7175 "type": "string"
7276 }
7377 },
7478 "required": [
7579 "dataMode",
7680 "createdAt",
7781 "updatedAt"
7882 ],
7983 "type": "object"
8084 },
8185 "type": "record"
8286 },
8387 "paletteColor": {
8488 "properties": {
8589 "hex": {
8690 "description": "The color, as `#rrggbb`.",
8791 "maxLength": 7,
8892 "type": "string"
8993 },
9094 "hidden": {
9195 "description": "Removed from the active palette (toolbar/hotkeys/brush) but kept in the record so tasks still referencing it keep their tint.",
9296 "type": "boolean"
9397 },
9498 "id": {
9599 "description": "Stable slug for this color, also the `--hl-<id>` CSS-var suffix. Referenced by `town.chalky.task#color`.",
96100 "maxLength": 32,
97101 "type": "string"
98102 },
99103 "name": {
100104 "description": "Display name shown in tooltips and the color picker. Omitted means the swatch shows only its hotkey number.",
101105 "maxLength": 64,
102106 "type": "string"
103107 }
104108 },
105109 "required": [
106110 "id",
107111 "hex"
108112 ],
109113 "type": "object"
110114 }
111115 },
112116 "id": "town.chalky.config",
113117 "lexicon": 1
114118}

Compare other versions