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": 1114118
}