Relay

by System 3
5
4
3
2
1
Score: 78/100

Description

The Relay plugin introduces true multiplayer capabilities to Obsidian, allowing users to collaborate in real-time with live cursors, seamless offline editing, and folder sharing. It leverages Conflict-Free Replicated Data Types (CRDTs) to track and sync changes efficiently, ensuring that all collaborators see consistent updates. Users can create and manage relays, invite others using share keys, and organize shared folders. The plugin supports markdown files and folders, offering features like conflict-free block editing and quick updates upon reconnecting. Relay prioritizes a local-first approach, enabling offline functionality and merging edits upon reconnection.

Reviews

No reviews yet.

Stats

531
stars
217,509
downloads
41
forks
798
days
0
days
29
days
88
total PRs
7
open PRs
46
closed PRs
35
merged PRs
53
total issues
18
open issues
35
closed issues
549
commits

Latest Version

a month ago

Changelog

The sync engine has been rewritten to improve the user experience when using external editors in your vault (e.g. agents). Disk edits are now ingested and merged automatically. Canvases sync is now enabled by default, and continuous background sync makes Bases stay in sync across devices.

New features

  • Rewritten sync engine: changes made directly to files on disk are picked up and merged, so external tools and agents can edit your vault safely
  • Continuous background sync
    • folders stay up to date without notes open, and recover on their own from server restarts and network blips
  • Canvases Sync is now enabled by default
  • Bases are now synced by default (requires storage)
  • Your display name and avatar can be customized at console.relay.md
  • Streamer mode hides your personal information (behind a feature flag)
  • Draft mode makes it easy to stage up your changes before sending them (behind a feature flag)
  • A new Plugin API so other developers can create collaborative experiences using Relay as a platform. See Relay Comments as an example.

Fixes

  • Undo history is local to each editor. Ctrl-Z no longer reverts a collaborator's edits.

Performance

  • Large vaults load faster and stay responsive

Special thanks to @petergaultney for providing excellent feedback, bug reports, and several PRs as part of this release.

Full Changelog: https://github.com/No-Instructions/Relay/compare/0.7.12...0.8.12

README file from

Github

Relay 🛰️

True multiplayer mode for Obsidian. 💃🕺

  • Collaborate in real time with live cursors.
  • Edit offline and sync seamlessly when you're back on.
  • Share folders and manage access to updates.

Relay Product Demo

Relay is a collaborative editing plugin for Obsidian by System 3. It uses CRDTs to enable snappy, local-first, real-time and asynchronous collaboration.

Join our Discord for support and a good time.

How does Relay work?

In a nutshell, Relay:

  1. Tracks updates to designated folders. The plugin uses conflict-free replicated data types (CRDTs) to track updates to folders that you designate within your vault.
  2. Relays updates. It sends those updates up to Relay servers 🛰️, which then echo the updates out to all collaborators on the relay.
  3. Integrates updates. Your collaborator receives the updates and integrates them seamlessly as they come in.

What's a CRDT?

Great question. CRDT stands for conflict-free replicated data type and it's a technology that's critical to making local-first real-time collaboration work.

The fundamental idea is this: You have data. This data is stored on multiple replicas. CRDTs describe how to coordinate these replicas to always arrive at a consistent state. [1]

For a great intro and overview, watch the first 10 minutes of this video by Martin Kleppmann. If you want to get into the nitty-gritty, watch the whole thing.

Intro to the Modern State of Synchronization

For more, check out this video: Intro to the Modern State of Synchronization by Kevin Jahns. Jahns is the maintainer of Yjs, which is the open source CRDT that we use in Relay.

What can I do with Relay?

Oh, the things you can do.

Here's a video tour:
Watch the video

Create a new relay

  1. Go to Obsidian settings (gear icon in lower left of Obsidian)
  2. Go to Relay settings (on the left, at the bottom)
  3. Create new relay
  4. Add shared folder(s) to the relay

Demo - Create a new Relay

Add users to the relay by giving them a share key

  1. Go to settings for your relay
  2. Grab the share key
  3. Give it to your people

Demo -Sharing a Relay

Collaborate to your heart's content

  • If you're in a note at the same time, you'll see each others' cursors
  • You can edit the same block at the same time (magic of CRDTs)
  • You can edit offline and it'll all be fine when you come back on (CRDTs ftw)
  • If you hit any bugs or have questions/requests let us know in the Discord

Kick user from a relay

  • Right now anyone with the share key can join the relay
  • So you can kick the user but they could rejoin if they want
  • We'll be adding stricter sharing options in the future

Demo - Kick a user from a Relay

Join someone else's relay

  1. Get their share key
  2. Use it to join their relay
  3. Add the folders you want to your vault

Demo - Join a Relay

Destroy the relay when you're done

If you're the owner of a relay, you can destroy the copy on the server.

If you're a member but not the owner, you can leave the relay (destroy your connection to the server), and you can destroy the local data.

FAQ

Asked more or less frequently.

Which file types are supported?

Relay currently has two types of storage, document storage and attachment storage. Document storage is backed by our real-time CRDT servers, while Attachments are stored as file blobs.

Document storage:

  • Folders
  • Markdown files
  • Canvases

Attachment storage:

  • Bases
  • Images
  • Audio
  • Video
  • PDFs
  • Other files (must be enabled in settings)

You need to have available Attachment storage in order to sync bases/images/audio/video/PDFs/etc.

How much does Relay cost?

Free ($0)
  • Up to 3 users
  • 2 devices per user
  • Unlimited markdown and canvas files
  • No cloud storage (0 MB)
  • Cloud deployment (.md only)
  • Self-hosted Relay Server
  • BYO storage (unmetered, self-host only)
  • Community support
Hobby ($5 per month total)
  • Up to 6 users
  • 3 devices per user
  • Unlimited markdown and canvas files
  • 10 GB cloud storage included
  • Self-hosted Relay Server
  • BYO storage (unmetered, self-host only)
  • Community support
Starter ($6 per user per month)
  • Up to 50 users
  • 6 devices per user
  • Unlimited markdown and canvas files
  • 20 GB + 5 GB/user cloud storage included
  • Self-hosted Relay Server
  • BYO storage (unmetered)
  • Role-based access control
  • Single sign-on
  • Private Discord / Slack channel
  • Email support

We offer discounts for educational use.

Do I need to be online to use Relay?

Relay is local-first -- this means that all of your edits are tracked locally and the server is used to relay the edits to your collaborators. You can work offline and your edits will be merged once you come back online.

How are edits merged?

We use a Conflict-Free Replicable Data Types (CRDTs) provided by the excellent yjs library.

Is Relay Open Source?

The Obsidian plugin code is MIT licensed (this repo).

The Relay Server is a fork of y-sweet and is MIT licensed.

Our login, permissions, and billing server code is proprietary.

Can I self-host?

You can self-host your Relay Server on any tier (we don't charge for privacy).

If you self-host your Relay Server on a private network then your users will still perform login and permissions checks through our control plane, but they will connect directly to your server. Your content will be completely private and inaccessible by us.

For instructions on hosting your Relay Server on fly.io, see Relay Server Template.

Join our Discord for help configuring your self-hosted Relay Server.

Who's behind Relay?

Relay is made by System 3. The legal entity behind System 3 is No Instructions, LLC.

Right now the whole operation is two people:

  • Dan, a software engineer who has worked at places like Planet and Benchling
  • Matt, a product manager and psychotherapist (in training) who has worked at places like Meta AI, Lumosity, and Big Health

Do you have a privacy policy?

Yes: https://system3.md/Privacy+policy.

How can I make a responsible security disclosure?

Please email [email protected]

Installing Relay

You can search for Relay in the Obsidian Community plugins list, or click this Obsidian Plugin Link.

Join our Discord!


[1] Intro to CRDTs by Lars Hupel https://lars.hupel.info/topics/crdt/01-intro/

Similar Plugins

info
• Similar plugins are suggested based on the common tags between the plugins.
Timeline
5 years ago by George Butco
Obisdian.md plugin for creating timelines
Show Current File Path
6 years ago by Ravi Mashru
Obsidian plugin to show the file path of the current file in the status bar
Discord Rich Presence
6 years ago by Luke Leppan
Update your Discord Status to show your friends what you are working on in Obsidian. With Discord Rich Presence.
Search on Internet
6 years ago by Emile
Add context menu items in Obsidian to search the internet.
Workbench
6 years ago by ryanjamurphy
A plugin to help you collect working materials.
Mxmind Mindmap
3 years ago by mxmind
mxmind for obsidian plugin
Lineage
2 years ago by ycnmhd
Gingko-like interface in obsidian
Regex Pipeline
5 years ago by No3371
An Obsidian plugin that allows users to setup custom regex rules to automatically format notes.
Prompt ChatGPT
3 years ago by Coduhuey
Hide Sidebars on Window Resize
5 years ago by NomarCub, Michael Hanson
A simple Obsidian plugin to hide the sidebars when the window gets narrow.
Discordian Theme
6 years ago by @radekkozak
Discordian plugin for tweaking Discordian theme
Markdown Furigana
5 years ago by Steven Kraft
Simple Markdown to Furigana Rendering Plugin for Obsidian
Nexus AI Chat Importer
2 years ago by Superkikim
Electron Window Tweaker
5 years ago by mgmeyers
Youglish
6 years ago by Noureddine Haouari
Use YouTube to improve your pronunciation. YouGlish plugin gives you fast, unbiased answers about how words is spoken by real people and in context.
AI Tagger
3 years ago by Luca Grippa
Simplify tagging in Obsidian. Instantly analyze and tag your document with one click for efficient note organization.
PF2e Statblocks
3 years ago by Tyler Pixley
Allows Obsidian to render Pathfinder 2e statblocks cleanly, using only Markdown-based syntax.
Dangerzone Writing
6 years ago by Alexis Rondeau
A plugin that forces you to write for X seconds. If you pause for more than 5 seconds, everything you've written in this note is DELETED.
Add links to current note
6 years ago by MrJackphil
This plugin adds a command which allows to add a link to the current note at the bottom of selected notes
Footlinks
6 years ago by Daha
Obsidian plugin that extracts urls from the main text to footer, offering a better reading/editing experience.
Antidote Grammar Checker Integration
4 years ago by Heziode
An Obsidian integration of Antidote, a powerful grammar checker
Ego Rock
3 years ago by Ashton Eby
An obsidian plugin that implements a basic taskwarrior UI for listing and modifying tasks.
Canvas Mindmap Helper
3 years ago by Tim Smart
Readwise Community
5 years ago by renehernandez
Sync Readwise highlights into your obsidian vault
S3 Image Uploader
4 years ago by jvsteiner
This project implements an image uploader, similar to others offered by the community, with one important difference: you can provide your own s3 based storage, instead of relying on a third party service, such as imgur.
Link indexer
6 years ago by Yuliya Bagriy
Another Sticky Headings
2 years ago by Zhou Hua
Augmented Canvas
3 years ago by Léopold Szabatura
Supercharge your Obsidian canvas experience with AI features.
Yesterday
3 years ago by Dominik Mayer
Obsidian plugin providing Yesterday journaling support
Adjacency Matrix Maker
5 years ago by SkepticMystic
Creative an interactive adjacency matrix of your Obsidian vault
Notes dater
3 years ago by Paul Treanor
Adds created_on and updated_on dates of the active note to status bar
Update Time
2 years ago by Sébastien Dubois
Obsidian plugin that updates front matter to include creation and last update times
Quadro
3 years ago by Chris Grieser (aka pseudometa)
Obsidian Plugin for social-scientific Qualitative Data Analysis (QDA). An open alternative to MAXQDA and atlas.ti, using Markdown to store data and research codes.
BookFusion
3 years ago by BookFusion
BookFusion Obsidian Plugin
Image to text OCR
3 years ago by Dario Baumberger
Convert a image in your note to text.
Open cards in imdone.
6 years ago by saxmanjes
Open cards in imdone from obsidian
JavaScript Init
5 years ago by ryanpcmcquen
Run custom JavaScript in Obsidian.
Text Wrapper
4 years ago by smx0
Plugin for Obsidian
Mochi Cards Exporter
6 years ago by kalbetre
Mochi Cards Exporter Plugin for Obsidian
InlineCodeHighlight
3 years ago by Dimava
simple-sketch
2 years ago by Yoh
an Obsidian plugin to create minimal sketches
Plugin Reloader
3 years ago by Benature
manual reload plugins
Expiration-Date-Tracker
3 years ago by Marius Wörfel
Opsidian plugin to keep track of all expiration dates, for example, for your groceries.
Movie Search
3 years ago by Gubchik123
Obsidian plugin to help you create movie notes.
Alias Management
3 years ago by WithMarcel
Identify duplicate notes based on similar aliases and filenames in Obsidian.
Track-a-Lot
3 years ago by Iulian Onofrei
This is a tracker plugin for Obsidian
Gitlab Wiki Exporter
3 years ago by Josef Rabmer
Auto Definition Link
3 years ago by Nolan Carpenter
This is a plugin for Obsidian to automatically create links to blocks in your vault
Markdown Media Card
3 years ago by Zhou Hua
PARA Workflower
3 years ago by KevTheDevX
Helpful commands for starting and working in your vault with the PARA method.
Hugo codeblock highlight
3 years ago by aarol
Highlights lines in code blocks using Hugo's hl_lines syntax
Hash Pasted Image
2 years ago by Minh Vương
Auto rename pasted images added to the vault via hash algorithm SHA-512
Tencent COS for Imgur
2 years ago by bobostudio
🔥 Obsidian 腾讯云 COS 图床插件
Orion Publish
3 years ago by Sean Collings
Immich
2 years ago by Talal Abou Haiba
Tokenz
2 years ago by Ferenc Moricz
Use any kind of short codes in Obsidian! Comes with a map for smileys (:), ;), ...) and one for emojis (:smile:, :wink:, ...).
ImgBB Uploader
2 years ago by Jordan Handy
An image uploader to imgBB for Obsidian
Suggest Notes
2 years ago by Doggy-Footprint
[depricated] 옵시디언에서 링크 생성할 때 `[[` 입력이 타이핑 경험을 헤쳐서 자동 링크를 지원하는 플러그인
oblogger
3 years ago by loftTech
tag explorer and frontmatter logger plugin for obsidian
Clojure Plugin Host
2 years ago by Vladimir "farcaller" Pouzanov
A Clojure plugin host, allowing the creation of simple Clojure-based plugins right inside Obsidian