# airdress.chat_group.*

{/* Generated by scripts/generate-event-reference.mjs from https://schemas.airdress.co/operator/events/v1.json (operator v0.1.138).
    Do not edit by hand: run `pnpm generate:event-reference` and commit the result. */}

The events in the `airdress.chat_group` family. How to read a section, and what
each audience means, is on the [event reference](/events/) page.

## `airdress.chat_group.created`

Owner info Functions

A group was registered here, and this operator sequences its epochs.

**Audience: owner.** About the airdress as a whole. Only the owner receives it: the owner's devices and the owner's subscriptions.

**Where it goes**

- **The operator's journal**, as one log line at this level, and **the event log**, where `airdress events tail` reads it.
- **Subscriptions** that name it, within its audience.
- **Functions bound to this operator's events** (`source: operator`).

**Versions**

- Version 1: first carried by operator v0.1.138.

**Data**

| Field | Type | Required | Description |
| ----- | ---- | -------- | ----------- |
| `group` | string | yes |  |

<details>
<summary>JSON Schema</summary>

```json
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "description": "A group was registered here, and this operator sequences its epochs.",
  "properties": {
    "group": {
      "type": "string"
    }
  },
  "required": [
    "group"
  ],
  "title": "GroupCreated",
  "type": "object"
}
```

</details>

## `airdress.chat_group.envelope.no_subscriber`

Owner info

Group envelopes waited longer than the orphan hold for a Welcome to subscribe somebody, and were dropped. `group` is the hashed form, never the group id.

**Audience: owner.** About the airdress as a whole. Only the owner receives it: the owner's devices and the owner's subscriptions.

**Where it goes**

- **The operator's journal**, as one log line at this level, and **the event log**, where `airdress events tail` reads it.
- **Subscriptions** that name it, within its audience.
- Not functions bound to this operator's events: it is kept off that path as too frequent or too internal. A subscription with a function target still receives it.

**Versions**

- Version 1: first carried by operator v0.1.138.

**Data**

| Field | Type | Required | Description |
| ----- | ---- | -------- | ----------- |
| `dropped` | integer (int64) | yes |  |
| `group` | string | yes |  |

<details>
<summary>JSON Schema</summary>

```json
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "description": "Group envelopes waited longer than the orphan hold for a Welcome to subscribe somebody, and were dropped. `group` is the hashed form, never the group id.",
  "properties": {
    "dropped": {
      "format": "int64",
      "type": "integer"
    },
    "group": {
      "type": "string"
    }
  },
  "required": [
    "dropped",
    "group"
  ],
  "title": "GroupEnvelopesUnsubscribed",
  "type": "object"
}
```

</details>

## `airdress.chat_group.epoch.claimed`

Owner info Functions

An epoch of a group was granted to the commit a member operator claimed it for. Recorded in the claim's own transaction.

**Audience: owner.** About the airdress as a whole. Only the owner receives it: the owner's devices and the owner's subscriptions.

**Where it goes**

- **The operator's journal**, as one log line at this level, and **the event log**, where `airdress events tail` reads it.
- **Subscriptions** that name it, within its audience.
- **Functions bound to this operator's events** (`source: operator`).

**Versions**

- Version 1: first carried by operator v0.1.138.

**Data**

| Field | Type | Required | Description |
| ----- | ---- | -------- | ----------- |
| `claimant` | string | yes | The claiming operator's FQDN. |
| `from_epoch` | integer (int64) | yes |  |
| `group` | string | yes |  |

<details>
<summary>JSON Schema</summary>

```json
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "description": "An epoch of a group was granted to the commit a member operator claimed it for. Recorded in the claim's own transaction.",
  "properties": {
    "claimant": {
      "description": "The claiming operator's FQDN.",
      "type": "string"
    },
    "from_epoch": {
      "format": "int64",
      "type": "integer"
    },
    "group": {
      "type": "string"
    }
  },
  "required": [
    "claimant",
    "from_epoch",
    "group"
  ],
  "title": "EpochClaimed",
  "type": "object"
}
```

</details>

## `airdress.chat_group.epoch.conflict`

Owner info Functions

An epoch claim was refused because another commit already won that epoch.

**Audience: owner.** About the airdress as a whole. Only the owner receives it: the owner's devices and the owner's subscriptions.

**Where it goes**

- **The operator's journal**, as one log line at this level, and **the event log**, where `airdress events tail` reads it.
- **Subscriptions** that name it, within its audience.
- **Functions bound to this operator's events** (`source: operator`).

**Versions**

- Version 1: first carried by operator v0.1.138.

**Data**

| Field | Type | Required | Description |
| ----- | ---- | -------- | ----------- |
| `current_epoch` | integer (int64) | yes |  |
| `from_epoch` | integer (int64) | yes |  |
| `group` | string | yes |  |

<details>
<summary>JSON Schema</summary>

```json
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "description": "An epoch claim was refused because another commit already won that epoch.",
  "properties": {
    "current_epoch": {
      "format": "int64",
      "type": "integer"
    },
    "from_epoch": {
      "format": "int64",
      "type": "integer"
    },
    "group": {
      "type": "string"
    }
  },
  "required": [
    "current_epoch",
    "from_epoch",
    "group"
  ],
  "title": "EpochConflict",
  "type": "object"
}
```

</details>

## `airdress.chat_group.sequencer.moved`

Owner info Functions

The group's sequencer moved to another operator with this claim; later claims here answer 410.

**Audience: owner.** About the airdress as a whole. Only the owner receives it: the owner's devices and the owner's subscriptions.

**Where it goes**

- **The operator's journal**, as one log line at this level, and **the event log**, where `airdress events tail` reads it.
- **Subscriptions** that name it, within its audience.
- **Functions bound to this operator's events** (`source: operator`).

**Versions**

- Version 1: first carried by operator v0.1.138.

**Data**

| Field | Type | Required | Description |
| ----- | ---- | -------- | ----------- |
| `from_epoch` | integer (int64) | yes |  |
| `group` | string | yes |  |
| `to` | string | yes | The new sequencer's FQDN. |

<details>
<summary>JSON Schema</summary>

```json
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "description": "The group's sequencer moved to another operator with this claim; later claims here answer 410.",
  "properties": {
    "from_epoch": {
      "format": "int64",
      "type": "integer"
    },
    "group": {
      "type": "string"
    },
    "to": {
      "description": "The new sequencer's FQDN.",
      "type": "string"
    }
  },
  "required": [
    "from_epoch",
    "group",
    "to"
  ],
  "title": "SequencerMoved",
  "type": "object"
}
```

</details>