All pages
On this page

Session groups Added in 0.9.11

When an agent starts other sessions, the conversation list could fill up with rows that belong together. OAR keeps them together: a session that an agent on this relay starts with the relay_tool tool sits in a group under the session that started it, or in the group that session is already in. Added in 0.9.16 An agent can also name an existing group for the session it starts, and move a session into a group or out of it, on this relay or on a paired one. You can make groups by hand, name them, and move sessions in and out.

A group changes only how the list looks. Every session in it is still a conversation of its own, with its own worker, history and menu.

What a group looks like #

  • The head row is the session that started the others. A group you made by hand, or one whose starter was archived or deleted, has a line with the group's name instead.
  • The members are indented under the head row.
  • The fold button (▾ or ▸) on the head row opens and closes the group.
  • The pill on the head row sums up the members, for example:
3 · 1 waiting for you, 2 running

The first number counts the sessions. The rest names how many wait for an answer from you, how many run, and how many failed, when there are any.

A group that was never renamed shows the starter's title.

Folding #

A group is open while something in it runs or waits for you. Once everything in it has finished, it folds away by itself, unless you opened or closed it yourself: your choice is remembered by the browser and wins.

The group that holds the open conversation stays open, and so does every group while a filter is active, so a match is never hidden.

When a member waits for an answer to a question or an approval, the pill says so, also while the group is folded. A tap on the pill opens that member.

Order #

Groups sit in the list like single rows, by their newest activity. Activity in any member lifts the whole group to the top. Inside a group the members keep the order you set (see Moving rows).

Added in 0.9.17 A session that joins a group you ordered by hand comes first, right under the head row: a session an agent starts in the group, and one moved in by a menu or by an agent. Before, it was added at the end. The order you set for the others stays, and your next drag numbers the members again from the order you see. In a group nobody ordered, the members go by their newest activity, so a new session is on top there anyway.

The head row's menu #

Right-click the head row, or press and hold it on a phone. Besides the row menu's own entries it has:

Entry What it does
Archive group (N) Archives the N sessions of the group after a confirmation. Members that are still working are kept and named in the notice; stop them first. See Archive.
Stop all running (N) Stops every running turn and background task in the group after a confirmation. Each session stops at its next safe point. A task without a Stop button is named; use Kill session there.
Rename group Gives the group a name of its own, up to 60 characters.
Dissolve group Ends the group after a confirmation. Its sessions stay, as single rows.

Every row's menu has the group entries:

Row Entries
A single session Add to group…: pick a group, or type a name under New group to make one.
A session in a group Move to another group…, Remove from group, and for a member also Move up and Move down.

🧩 Session group… in the conversation's ⋯ menu opens the same picker for the open conversation.

Moving rows #

Drag a session into a group, out of it, or to another place inside it. The order you set stays, and a session that joins later comes first (see Order). Drop one single session onto the middle of another single session and the two make a new group.

  • With a mouse, drag the row.
  • On a phone, press and hold the row until it lifts, then move your finger to drag it. A press that does not move opens the row's menu when your finger lifts.
  • With the keyboard, use Move up and Move down in a member's menu.

Rows do not move in the archived view, while a filter is active, or on a group's own name line. There a long press opens the menu while you still hold.

What agents see #

list_sessions names the group each session is in, and read_session adds the other members of the group and what each is doing.

Added in 0.9.16 relay_info lists a relay's groups with their id, name and number of sessions, but no member titles. An agent on this relay sees them, and so does an agent on a relay you paired with this one. With that list an agent can start a session straight into an existing group: create_session takes group, the group's id or its name in any case. The approval card names the group. A group that does not exist, or a name that fits two groups, is refused, and no session is created.

An agent's new session Lands in
On this relay, without group The group of the session that started it, or a new group with that session as head
On a paired relay, without group No group
With group The group named, on either relay

Added in 0.9.16 With update_session an agent moves a session into a group (by id or name), or takes it out with "none". A name the relay does not have makes a new group. Moving a session that the agent's own conversation did not start needs your Allow once per conversation.

  • A group you made is never removed by an agent. When an agent takes out its last session, the group stays in the list as group · empty. Rename or dissolve it from its menu (right-click, or press and hold on a phone); nothing removes it by itself, and agents can still name it.
  • A group an agent made, by a new name or by starting sessions, goes once it is empty.

Renaming, dissolving and rearranging groups stay yours.

By provider #

Nothing differs by provider. Any session can be in a group, and an agent on any provider that has the relay_tool tool puts the sessions it starts into one.