# app.voresky.edithistory

> Published by [voresky.app](https://lexicon.garden/identity/did:plc:4mvnkzobjzwuaxlnvcky3oh6)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:4mvnkzobjzwuaxlnvcky3oh6/app.voresky.edithistory)
- [Documentation](https://lexicon.garden/lexicon/did:plc:4mvnkzobjzwuaxlnvcky3oh6/app.voresky.edithistory/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:4mvnkzobjzwuaxlnvcky3oh6/app.voresky.edithistory/examples)

## Definitions

### `app.voresky.edithistory`

**Type**: `record`

One revision of a post's text. Bluesky's AppView ignores updates to `app.bsky.feed.post` records, so an edit is expressed as a new record here rather than as a mutation of the post. Clients that understand this collection display the highest-numbered revision in place of the post's original text; clients that do not see the original, unchanged. The record key is `<postRkey>.<editNumber>` (for example `3abc123.1`); split on the LAST `.`, since TID-style record keys may themselves contain dots.

**Key**: `any`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `text` | `string` | Yes | The revised post text. Same limits as `app.bsky.feed.post#text`. |
| `facets` | `array` | No | Rich-text annotations over `text`. Byte offsets index into `text`, not into the original post's text. |
| `postUri` | `string` (at-uri) | Yes | The post this revision replaces the text of. |
| `editedAt` | `string` (datetime) | Yes |  |
| `editNumber` | `integer` | Yes | 1-based revision number. The highest value for a given post is the current text. |

## Raw Schema

```json
{
  "id": "app.voresky.edithistory",
  "defs": {
    "main": {
      "key": "any",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "postUri",
          "editNumber",
          "text",
          "editedAt"
        ],
        "properties": {
          "text": {
            "type": "string",
            "maxLength": 3000,
            "description": "The revised post text. Same limits as `app.bsky.feed.post#text`.",
            "maxGraphemes": 300
          },
          "facets": {
            "type": "array",
            "items": {
              "ref": "app.bsky.richtext.facet",
              "type": "ref"
            },
            "description": "Rich-text annotations over `text`. Byte offsets index into `text`, not into the original post's text."
          },
          "postUri": {
            "type": "string",
            "format": "at-uri",
            "description": "The post this revision replaces the text of."
          },
          "editedAt": {
            "type": "string",
            "format": "datetime"
          },
          "editNumber": {
            "type": "integer",
            "minimum": 1,
            "description": "1-based revision number. The highest value for a given post is the current text."
          }
        }
      },
      "description": "One revision of a post's text. Bluesky's AppView ignores updates to `app.bsky.feed.post` records, so an edit is expressed as a new record here rather than as a mutation of the post. Clients that understand this collection display the highest-numbered revision in place of the post's original text; clients that do not see the original, unchanged. The record key is `<postRkey>.<editNumber>` (for example `3abc123.1`); split on the LAST `.`, since TID-style record keys may themselves contain dots."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
