Skip to main content

Channels (Spaces)

Haven Spaces (or Speakeasy channels) are chats managed by the channel creator and potentially other users with whom the creator shared his admin keys.

tip

User who creates a space is the first space admin. Subsequent admins may be added, but not removed, by giving them admin keys for the space.

There are private and public spaces.

They can be created, shared, joined, left or deleted.

Join space

To join a space you need an invite URL and - if the space is private - a passphrase.

Click on the plus sign (+, followed by Join existing by url) and paste the invite link.

Join existing space

warning

Invite links and passwords should not be shared via email. Use Signal, Whatsapp or other end-to-end encrypted messaging/utility.

As always, don't click on random invite links just because - any link may be malicious!

danger

A Speakeasy invite link looks like this: https://haven.xx.network/join?0Name=xxGeneralChat.... If you click on that link without going through a proxy, speakeasy.tech may learn your IP address and use that to identify you.

Bad actors may even serve malware or set up a compromised Speakeasy Web application server for you.

haven.xx.network happens to be the official xx Foundation instance, so that example is contrived and doesn't apply to users already using that server.

The hostname part of each Speakeasy channel invite is fungible and if you don't use that server you can simply replace it (haven.xx.network) with their own Speakeasy FQDN such as myspeakeay.dyndns.org, and keep the rest intact. That invite link will still work, won't reveal your IP address and won't land you on a compromised server instance.

tip

If you build Haven from the source, you may modify NEXT_PUBLIC_APP_GENERAL_CHAT_LINK in .env if you want to avoid using that domain. For example you may set it its value to http://localhost:3000 if you'll be running locally:

NEXT_PUBLIC_APP_GENERAL_CHAT_LINK=https://haven.xx.network/join

How to find spaces?

xx Network currently has no search feature so there's no easy way to learn of public Speakeasy channels. xx Directory has links to several spaces you may try.

info

Recent versions of Haven automatically redirect the user to xxGeneralChat (the official space) to lessen the confusion about finding an invite for that particular channel.

How to backup spaces?

List of spaces you joined is stored in your browser cache. If you wipe that cache or use a different browser for the first time, you will not see channels you've joined before.

You may backup list of joined channels to an encrypted drive or a note in your password manager.

warning

You probably want to export admin keys of Spaces in which you are the sole admin.

The reason is even if the space is public, or even if it's secret and you have the password, you may be able to rejoin but you will not be able to manage, and neither will anyone else if you haven't made another user an admin.

Another scenario where you may get stuck is you may rotate codenames (identities), but you won't be able to manage existing channels without the new codename having access to admin keys.

Direct messages in Haven

When joining a space, user may enable DM (Direct Messages from channel members). That makes it possible for channel members to send you direct messages.

In spaces with untrusted participants you may not want to enable DM so that you don't receive scam or malware links.

Clicking on the first icon (green envelope) would create a DM to the author of this channel message. The icon is visible to us because this user enabled Direct Messages in their channel options and preferences.

DM a space participant

Create a channel (space)

Click on the plus sign (+, followed by Create new) and pick Create new.

Create new

To create a space, a name and a description are needed.

When you create a space, you become its first administrator. Additional administrator accounts can be added by exporting and securely sharing admin keys for the channel.

Both users and admins can share space invite links.

While that may seem strange, each regular user joins by using an invite link and corresponding passphrase, and can consequently share the same to another person or their own backup codename.

Haven invite for private space

Public spaces require an invite link.

Invite links are generated as domain-specific so that users know where they can access a Haven server instance, but users can replace server name with another - see Join Space for more.

info

It is not possible to change or invalidate a space invite link (including private channels). If you're concerned about invitation leaks, migrate to a new channel regularly by creating and sharing a new link out of band.

Private spaces are passphrase-protected. The invite URL and passphrase are reveled when an admin clicks on the space share icon.

An example of a Haven space passphrase can be viewed in the invite above: diagnoses clanking elevating mortified little ablaze lecturer diner.

Export space admin keys

The first administrator may invite a friend or another account of theirs to join the space, and make such account administrator.

warning

Subsequent administrators have the same power as the original administrator (i.e. the person who created the channel).

There's no way to "kick" an administrator, recall someone's admin keys, or "change the channel password", so be careful when making these decisions. The second or third channel admin may mute and effectively kick the original administrator.

If you're concerned about losing control over your space, tell users where they can find you in the case you lose admin access or codename (see the section on identities).

To backup admin keys or export them for sharing with another user, click on the ... in channel settings (see the dimmed dots in top right corner), and Export Admin Keys.

Export admin keys

You will be prompted to encrypt the file. Use a strong and unique password.

danger

If you're the sole administrator and select Logout in application settings, that clears browser cache and logs you out.

Without having admin keys, you may not be able to administer your channels again. Without having channel invite links, you may even not know how to view them again, let alone manage those that you owned.

Backup your admin keys and channel invite links by exporting them and storing them in your password manager or other secure place. You may also create multiple accounts and make all of them administrators.

Claim admin keys

When you restore a space or when a space admin wants to add you as new admin, you need to get a copy of admin keys and claim admin keys.

That's done in space settings.

Claim admin keys

If you can't see the channel, add it first, and then claim its admin keys (status).

Moderate users and messages

Administrators can mute users and delete their messages.

To delete a message or mute a user, right-click and choose appropriate action.

In this screenshot clicking on the second icon would result in a "Mute user" confirmation, while the fourth would delete that individual message.

Mute a user or delete their message