# `Issho.Presence`
[🔗](https://github.com/hattoriai/issho/blob/v0.1.0/lib/issho/presence.ex#L1)

Who is in a room: `Phoenix.Presence`, as it is, on your app's PubSub.

Issho starts it for you (the instance's `:presence` option, `true`
unless given) and tracks each session under its actor's key, so an actor
in two tabs is one entry with two metas. Each meta is the actor's public
identity (`Issho.Identity.public/1`) and when it joined.

Presence is for who is here, which changes when people come and go.
Where they are changes many times a second and goes through awareness
(`Issho.Awareness`), which is not replicated by Presence's CRDT.

An app with several Issho instances on one node gives each a
`presence: false` but the first, and they share this one.

# `child_spec`

# `fetch`

# `fetchers_pids`

# `get_by_key`

# `list`

# `people`

```elixir
@spec people(String.t()) :: %{required(String.t()) =&gt; map()}
```

The actors in a room: their keys and public identities.

# `track`

# `track`

# `untrack`

# `untrack`

# `update`

# `update`

---

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