# atom-archive/xray

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/atom-archive-xray).**

8,420 stars · 231 forks · Rust · MIT · archived

## Links

- GitHub: https://github.com/atom-archive/xray
- awesome-repositories: https://awesome-repositories.com/repository/atom-archive-xray.md

## Description

Xray is a collaborative text editor and distributed workspace manager that utilizes conflict-free replicated data types to synchronize real-time edits and directory structures across peers. It functions as both an Electron-based desktop application and a headless editor server that manages workspaces and file systems remotely for connected clients.

The project distinguishes itself by integrating fine-grained version control tracking, recording keystroke-level changes and uncommitted edits between Git commits. It employs a decentralized synchronization model for working copies and uses operation-based state reconciliation to manage non-linear undo history and resolve directory naming conflicts across distributed replicas.

The system covers high-performance text rendering via WebGL and maintains interface responsiveness through an isolated plugin architecture using worker threads. Its broader capabilities include distributed file system management, peer presence tracking, and a key-value history persistence layer for versioned directory evolution.

## Tags

### Development Tools & Productivity

- [CRDT Collaborative Editors](https://awesome-repositories.com/f/development-tools-productivity/crdt-collaborative-editors.md) — A text editor that uses conflict-free replicated data types to synchronize real-time edits across distributed peers.
- [Keystroke-Level](https://awesome-repositories.com/f/development-tools-productivity/change-tracking/keystroke-level.md) — Records changes at the level of individual keystrokes using an operation-based system to synchronize detailed branches. ([source](https://github.com/atom-archive/xray#readme))
- [Working Copy Synchronization](https://awesome-repositories.com/f/development-tools-productivity/change-tracking/real-time-synchronization/working-copy-synchronization.md) — Relays uncommitted changes across multiple machines during active editing using CRDTs. ([source](https://github.com/atom-archive/xray/blob/master/memo_core))
- [Collaborative File System Synchronization](https://awesome-repositories.com/f/development-tools-productivity/collaborative-file-system-synchronization.md) — Synchronizes directory structures and file movements across multiple replicas while resolving naming conflicts.
- [Workspace Management](https://awesome-repositories.com/f/development-tools-productivity/development-environment-management/development-environments/workspace-management.md) — Synchronizes directory structures and file states across multiple machines via a network.
- [Electron-Based Text Editors](https://awesome-repositories.com/f/development-tools-productivity/electron-based-text-editors.md) — Provides a desktop application for editing text files built with Electron and WebGL.
- [Headless Agent Servers](https://awesome-repositories.com/f/development-tools-productivity/terminal-text-editors/client-server-architectures/headless-agent-servers.md) — Decouples the editor into a background server process that manages workspaces for connected clients.
- [Version Control Integrations](https://awesome-repositories.com/f/development-tools-productivity/version-control-integrations.md) — Coordinates repository actions by creating new epochs to reset base states and synchronize changes across distributed replicas. ([source](https://github.com/atom-archive/xray/blob/master/docs/updates/2018_10_02.md))
- [Working Tree Management](https://awesome-repositories.com/f/development-tools-productivity/version-control-repository-tools/version-control-managers/repository-utilities/working-directory-controllers/working-tree-management.md) — Tracks the evolution of files and directories through timelines that support parallel development and merging. ([source](https://github.com/atom-archive/xray/blob/master/docs/updates/2018_08_21.md))
- [Version Control Sync](https://awesome-repositories.com/f/development-tools-productivity/version-control-sync.md) — Synchronizes uncommitted changes and working copies between collaborators using a shared Git base.
- [Working Copy Management](https://awesome-repositories.com/f/development-tools-productivity/working-copy-management.md) — Shares and synchronizes the state of a single Git working copy among remote collaborators. ([source](https://github.com/atom-archive/xray/tree/master/memo_js))
- [Operation-Based Undo History](https://awesome-repositories.com/f/development-tools-productivity/change-tracking/undo-trees/operation-based-undo-history.md) — Maintains a non-linear record of fine-grained operations to allow reverting changes across shared sessions.
- [Integrated Version Control](https://awesome-repositories.com/f/development-tools-productivity/integrated-version-control.md) — Tracks fine-grained keystroke history and uncommitted changes between Git commits.
- [Process-Isolated Plugins](https://awesome-repositories.com/f/development-tools-productivity/plugin-systems/process-isolated-plugins.md) — Provides a plugin system where extensions execute in isolated threads to prevent blocking the main user interface. ([source](https://github.com/atom-archive/xray/blob/master/README.md))

### Software Engineering & Architecture

- [CRDT State Synchronization Engines](https://awesome-repositories.com/f/software-engineering-architecture/crdt-state-synchronization-engines.md) — Uses conflict-free replicated data types to ensure consistent state for text and directories across distributed peers.
- [Conflict-Free Replicated Data Types](https://awesome-repositories.com/f/software-engineering-architecture/conflict-free-replicated-data-types.md) — Replicates active, uncommitted edits across machines in real time using conflict-free replicated data types. ([source](https://github.com/atom-archive/xray/tree/master/memo_core))
- [CRDT Document Coordination](https://awesome-repositories.com/f/software-engineering-architecture/crdt-document-coordination.md) — Implements CRDT-based text storage using insertion fragments to support concurrent edits and non-linear undo history. ([source](https://github.com/atom-archive/xray/blob/master/README.md))
- [Distributed File and Directory Merging](https://awesome-repositories.com/f/software-engineering-architecture/distributed-database-merging/distributed-file-and-directory-merging.md) — Merges concurrent edits to file contents and directory structure modifications across distributed replicas. ([source](https://github.com/atom-archive/xray/blob/master/memo_core))
- [Headless Architectures](https://awesome-repositories.com/f/software-engineering-architecture/headless-architectures.md) — Decouples editing logic into a background headless process that serves both local and remote clients.
- [CRDT State Propagation](https://awesome-repositories.com/f/software-engineering-architecture/state-synchronization-patterns/context-state-propagators/crdt-state-propagation.md) — Tracks and propagates CRDT operations across replicas to ensure a consistent shared state among all collaborators. ([source](https://github.com/atom-archive/xray/blob/master/docs/updates/2018_10_02.md))
- [Epoch-Based Version Vectors](https://awesome-repositories.com/f/software-engineering-architecture/state-vector-differencing/epoch-based-version-vectors.md) — Tracks uncommitted changes and repository state transitions using timestamps and version vectors.
- [Sync Conflict Resolution](https://awesome-repositories.com/f/software-engineering-architecture/sync-conflict-resolution.md) — Resolves naming conflicts across replicated directory trees by processing operations in batches to prevent state errors. ([source](https://github.com/atom-archive/xray/blob/master/docs/updates/2018_07_31.md))
- [Distributed Directory Synchronization](https://awesome-repositories.com/f/software-engineering-architecture/sync-conflict-resolution/collaborative-data-structure-synchronization/distributed-directory-synchronization.md) — Ensures multiple users can modify files and hard links across replicas, converging on a single consistent directory state. ([source](https://github.com/atom-archive/xray/blob/master/docs/updates/2018_08_28.md))
- [Uncommitted Change Tracking](https://awesome-repositories.com/f/software-engineering-architecture/uncommitted-change-tracking.md) — Manages temporary modifications through epochs and version vectors to track changes not yet committed to the repository. ([source](https://github.com/atom-archive/xray/blob/master/docs/updates/2018_10_02.md))
- [Operational Command Histories](https://awesome-repositories.com/f/software-engineering-architecture/command-execution-engines/command-history-trackers/operational-command-histories.md) — Maintains an operation-based record of all changes to provide a detailed history that augments the Git commit graph. ([source](https://github.com/atom-archive/xray/blob/master/memo_core))
- [Domain Socket IPC](https://awesome-repositories.com/f/software-engineering-architecture/domain-socket-ipc.md) — Isolates the application core from the user interface using local domain socket connections. ([source](https://github.com/atom-archive/xray/tree/master/xray_server))
- [Editor Logic Decoupling](https://awesome-repositories.com/f/software-engineering-architecture/headless-logic-decoupling/logic-rendering-decouplers/platform-agnostic-renderers/editor-logic-decoupling.md) — Executes core editor operations as a platform-agnostic library to decouple text manipulation from system I/O. ([source](https://github.com/atom-archive/xray/tree/master/xray_core))
- [Non-Linear Operation Undo](https://awesome-repositories.com/f/software-engineering-architecture/non-linear-operation-undo.md) — Maintains a local non-linear record of operations to revert changes and broadcast reverts to collaborators. ([source](https://github.com/atom-archive/xray/blob/master/docs/updates/2018_09_14.md))
- [UI-Responsive Background Workers](https://awesome-repositories.com/f/software-engineering-architecture/worker-task-dispatch-models/ui-responsive-background-workers.md) — Utilizes background worker threads to execute complex editor extensions while maintaining interface responsiveness. ([source](https://github.com/atom-archive/xray#readme))

### User Interface & Experience

- [Real-Time Collaborative Editing](https://awesome-repositories.com/f/user-interface-experience/real-time-collaborative-editing.md) — Enables simultaneous text editing across distributed peers using conflict-free replicated data types. ([source](https://github.com/atom-archive/xray#readme))
- [Large-Scale Text Rendering](https://awesome-repositories.com/f/user-interface-experience/large-scale-text-rendering.md) — Utilizes WebGL and isolated worker threads to efficiently render large text documents without interface lag.
- [Collaborative Cursor Tracking](https://awesome-repositories.com/f/user-interface-experience/stable-cursor-tracking/collaborative-cursor-tracking.md) — Transmits and renders the real-time cursor and focus positions of other collaborators. ([source](https://github.com/atom-archive/xray/tree/master/memo_js))

### DevOps & Infrastructure

- [Multi-Host Workspace Managers](https://awesome-repositories.com/f/devops-infrastructure/cloud-infrastructure/remote-development-workspaces/multi-host-workspace-managers.md) — Provides a headless server process to manage editor workspaces and file systems for remote clients. ([source](https://github.com/atom-archive/xray/tree/master/xray_server))
- [Collaborative Base Resets](https://awesome-repositories.com/f/devops-infrastructure/version-control-management/version-control-utilities/commit-history-management/initial-commit-resets/targeted-commit-resets/collaborative-base-resets.md) — Synchronizes all connected peers to a new base commit state when the shared working tree is reset. ([source](https://github.com/atom-archive/xray/tree/master/memo_js))
- [File-System Mirroring](https://awesome-repositories.com/f/devops-infrastructure/cloud-infrastructure/cloud-computing-serverless/cloud-storage/cloud-agnostic-synchronization/file-system-mirroring.md) — Translates internal index operations into disk writes and monitors the file system to keep physical storage synchronized. ([source](https://github.com/atom-archive/xray/blob/master/docs/updates/2018_07_23.md))
- [Headless Execution Modes](https://awesome-repositories.com/f/devops-infrastructure/headless-execution-modes.md) — Provides a command line interface to start the application in a headless server mode for remote access. ([source](https://github.com/atom-archive/xray/tree/master/xray_cli))

### Networking & Communication

- [Operation-Based State Reconciliation](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/peer-to-peer-networking/operation-based-state-reconciliation.md) — Generates and applies operation envelopes to reconcile changes between peers and resolve naming conflicts. ([source](https://github.com/atom-archive/xray/tree/master/memo_js))
- [Cycle-Free Tree Synchronization](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/synchronization-strategies/conflict-free-replicated-data-types/cycle-free-tree-synchronization.md) — Resolves concurrent directory moves and naming conflicts using fixup operations to maintain a cycle-free replicated tree state. ([source](https://github.com/atom-archive/xray/blob/master/docs/updates/2018_07_23.md))
- [Unix Domain Socket Support](https://awesome-repositories.com/f/networking-communication/unix-domain-socket-support.md) — Utilizes Unix domain sockets for high-performance inter-process communication between the core and the UI.

### Operating Systems & Systems Programming

- [Remote File System Access](https://awesome-repositories.com/f/operating-systems-systems-programming/ssh-remote-login-controls/remote-file-browsers/remote-file-system-access.md) — Provides the ability to connect to remote server processes for editing files on distant systems. ([source](https://github.com/atom-archive/xray#readme))

### Web Development

- [Fine-Grained Commit Synchronization](https://awesome-repositories.com/f/web-development/collaborative-editing-conflict-resolution/version-control-conflict-resolutions/fine-grained-commit-synchronization.md) — Tracks fine-grained text changes between version control commits using CRDTs for seamless collaboration. ([source](https://github.com/atom-archive/xray/blob/master/docs/updates/2018_09_14.md))
- [Hosted Web Interfaces](https://awesome-repositories.com/f/web-development/web-application-hosting/hosted-web-interfaces.md) — Serves a web-compatible user interface via a development server and proxies connections to a remote backend. ([source](https://github.com/atom-archive/xray/tree/master/xray_browser))
- [Web Interfaces](https://awesome-repositories.com/f/web-development/web-interfaces.md) — Renders a text editing interface using web technologies for both desktop and browser environments. ([source](https://github.com/atom-archive/xray/tree/master/xray_ui))

### Part of an Awesome List

- [WebGL Rendering Pipelines](https://awesome-repositories.com/f/awesome-lists/devtools/canvas-and-webgl-graphics/webgl-rendering-pipelines.md) — Maps glyph bitmaps to textures using a GPU-accelerated WebGL pipeline for high-performance text rendering. ([source](https://github.com/atom-archive/xray#readme))

### Business & Productivity Software

- [Real-time Collaboration](https://awesome-repositories.com/f/business-productivity-software/team-collaboration-events/collaboration-communication-tools/collaboration-tools/real-time-collaboration.md) — Allows users to share UI elements and edit files simultaneously by transmitting process interactions. ([source](https://github.com/atom-archive/xray/blob/master/README.md))

### Data & Databases

- [Key-Value Persistence Stores](https://awesome-repositories.com/f/data-databases/key-value-persistence-stores.md) — Persists the evolution of the file system state into a key-value store to maintain a versioned history. ([source](https://github.com/atom-archive/xray/blob/master/docs/updates/2018_07_10.md))

### Graphics & Multimedia

- [WebGL Accelerated](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/text-rendering/webgl-accelerated.md) — Uses a WebGL graphics engine to accelerate the display of large text documents.

### Programming Languages & Runtimes

- [Logic Thread Isolation](https://awesome-repositories.com/f/programming-languages-runtimes/logic-thread-isolation.md) — Executes third-party extensions in separate worker threads to prevent blocking the main interface.
