# `MingaEditor.State.Feedback`
[🔗](https://github.com/jsmestad/minga/blob/main/lib/minga_editor/state/feedback.ex#L1)

Cross-shell user feedback owned by the Editor.

Native notifications and long-running operation feedback share lifecycle at
the editor boundary while shell-specific notices and overlays remain in the
active shell state.

# `t`

```elixir
@type t() :: %MingaEditor.State.Feedback{
  notifications: MingaEditor.UI.NotificationCenter.t(),
  operation_feedback: MingaEditor.State.OperationFeedback.t()
}
```

# `accept_operation_feedback`

```elixir
@spec accept_operation_feedback(t(), MingaEditor.State.OperationFeedback.t()) :: t()
```

Commits operation feedback produced by its focused owner.

# `dismiss_notification`

```elixir
@spec dismiss_notification(t(), String.t()) :: t()
```

Dismisses a native notification by id.

# `dismiss_notification`

```elixir
@spec dismiss_notification(t(), String.t(), reference()) :: t()
```

Dismisses a notification only when its timer correlation still matches.

# `upsert_notification`

```elixir
@spec upsert_notification(t(), MingaEditor.UI.Notification.t()) :: t()
```

Adds or replaces a native notification.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
