DriversRecommendedOutdated drivers can make a good PC feel brokenScan driver issues before chasing fixes manually.Scan NowOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan Now×
Skip to content
World desk3 min

Plexus and Yjs: Keeping a TypeScript Class Model Collaborative

Plexus aims to put Yjs replication beneath a familiar TypeScript class model, while handling tricky interactions among defaults, inheritance, collections, typed arrays, and distributed identity.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Plexus is an attempt to add collaborative, replicated state to an existing TypeScript class model without making every application class speak in Yjs-native data structures. In a first-person engineering account, its author describes intercepting familiar properties and collections so they can work with Yjs underneath. The approach addresses real friction—especially initialization, inheritance, and object identity—but the account does not establish performance or independent adoption results.

Why keep the existing class model?

The author describes an application built around TypeScript classes, inheritance, object references, Maps, Sets, arrays, and MobX reactivity. The model was already used across what the author calls “millions of SLOC,” so replacing it with a Yjs-shaped model would have meant changing a large amount of application code. That scale is the author’s estimate, not an independently verified measurement.

As an Amazon Associate I earn from qualifying purchases.

Yjs provides shared types such as Y.Map, Y.Array, and Y.Text, along with transactions, events, and encoded updates. The concern in the account is not that these types are unsuitable; it is that direct modeling with them would make application code depend on Yjs-specific types and semantics. Plexus aims to keep the application-facing model class-oriented while placing replication beneath that surface.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How does Plexus intercept ordinary property access?

The author describes accessor decorators that route property reads and writes through reactive, replicated state. Application code can still use property syntax, while the decorated accessors mediate the operation.

#1 Best Overall

That design makes initialization subtle. The implementation described uses an initializer hook to distinguish class defaults from values supplied by a constructor. Explicit undefined or null values, and defaults chained through inheritance, complicate that distinction: a system must not casually treat every missing-looking value as the same thing.

What goes wrong with subclass fields?

A TypeScript declaration that appears to narrow an inherited property can still produce a JavaScript class field initialized to undefined. That emitted field may shadow an inherited accessor, bypassing the synchronized behavior the base class set up.

Rank #2
NEWORK 55 Inch 4K Smart Board, Google EDLA-Certified Interactive Whiteboard
  • Google Certification: The NewBoard 55E is a Google EDLA-certified smart board that provides full access to Google Play Store, Google Workspace, and the Google Education Suite. Enjoy enterprise-grade privacy protection and regular OTA updates.
  • Android 14 OS: This digital whiteboard runs on the latest Android 14 OS with 8 GB RAM and 64 GB ROM, enabling smooth multitasking without lag —ideal for both teaching and business environments.
  • Immersive 4K Display: The 55-inch UHD display with a 178° wide viewing angle and 81% NTSC color gamut, keeps the screen clean and easy to read —perfect for classrooms and meeting rooms.
  • Natural Writing: With 40-point multi-touch capability, up to 5 users can write simultaneously —perfect for collaborative learning, brainstorming, and interactive presentations.
  • Wireless Screen Sharing: Easily cast content wirelessly from smartphones, tablets, and laptops —with support for up to 16 devices at once—perfect for digital classrooms and hybrid workspaces.

The account describes two Plexus-specific mitigations: decorator metadata follows the class prototype chain to represent schema inheritance, and instance setup walks the prototype chain to restore property descriptors that a subclass field may have displaced. The author also notes that declare can avoid emitting a field in relevant cases when the declaration is only meant to refine the type. These are reported design choices, not a universal recipe for every TypeScript class hierarchy.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How do familiar collections remain reactive?

Plexus’s reported collection surfaces are meant to behave like familiar JavaScript Maps while doing more than store values. They track reads for reactivity, translate writes into Yjs operations, account for ownership and references, and respond to remote changes. This lets application code retain a recognizable collection interface without assuming that a native Map alone can provide replicated state.

Rank #3
FDP 24" x 48" Rectangle Dry-Erase Table w/Swivel Glide Legs - Black
  • WHITEBOARD SURFACE: 24" x 48" rectangle classroom table with laminate table top has write-on/wipe-off functionality for taking notes, brainstorming and collaborating
  • QUICK AND COMPACT: table top and legs ship together in a single box for your convenience and to reduce carbon footprint
  • THERMOFUSED EDGE: high-quality edge banding is heat-sealed for a seamless finish that provides a polished, professional look
  • ADJUSTABLE HEIGHT: standard table legs adjust in 1" increments for table top heights from 19" to 30" to accommodate children, teens, and adults
  • STABLE LEG DESIGN: slightly angled legs for reinforced stability feature self-leveling nylon swivel glides that adjust to uneven surfaces

The distinction matters: familiar syntax is only the front end. A collaborative collection also needs rules for how local mutations become shared operations and how incoming changes affect what the application observes.

Why does Plexus treat Uint8Array differently?

The author describes proxying an ordinary object and reporting Uint8Array.prototype, rather than proxying a real typed array. The stated goal is to mediate reads and mutations without exposing a mutable backing buffer that could be changed outside the synchronization path.

Rank #4
FDP 24" x 36" Rectangle Dry-Erase Table w/Swivel Glide Legs - Black
  • WHITEBOARD SURFACE: 24" x 36" rectangle classroom table with laminate table top has write-on/wipe-off functionality for taking notes, brainstorming and collaborating
  • QUICK AND COMPACT: table top and legs ship together in a single box for your convenience and to reduce carbon footprint
  • THERMOFUSED EDGE: high-quality edge banding is heat-sealed for a seamless finish that provides a polished, professional look
  • ADJUSTABLE HEIGHT: standard table legs adjust in 1" increments for table top heights from 19" to 30" to accommodate children, teens, and adults
  • STABLE LEG DESIGN: slightly angled legs for reinforced stability feature self-leveling nylon swivel glides that adjust to uneven surfaces

Typed arrays have a broad method surface, so the account says Plexus classifies methods as read-only, mutating, or banned. TypeScript exhaustiveness checks are used to flag methods that have not been classified as the language surface changes; the author says this caught newer base64 and hexadecimal methods. This is a qualitative account of a maintenance technique, not a performance result.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Why are object references a distributed identity problem?

Keeping an assignment such as text.container = frame meaningful on independent peers is not just a matter of syncing a field. The peers must agree on which distributed object the reference identifies and how that identity relates to object creation and lifecycle.

Best Value
FDP 30" x 60" Rectangle Dry-Erase Table w/Swivel Glide Legs - Black
  • WHITEBOARD SURFACE: 30" x 60" rectangle classroom table with laminate table top has write-on/wipe-off functionality for taking notes, brainstorming and collaborating
  • QUICK AND COMPACT: table top and legs ship together in a single box for your convenience and to reduce carbon footprint
  • THERMOFUSED EDGE: high-quality edge banding is heat-sealed for a seamless finish that provides a polished, professional look
  • ADJUSTABLE HEIGHT: standard table legs adjust in 1" increments for table top heights from 19" to 30" to accommodate children, teens, and adults
  • STABLE LEG DESIGN: slightly angled legs for reinforced stability feature self-leveling nylon swivel glides that adjust to uneven surfaces

The author contrasts direct object assignment with storing an ID and maintaining lookup and lifecycle rules. The account says this identity problem led to a paper being prepared for arXiv; it does not establish that the paper was submitted or published.

What does the account establish—and what does it leave open?

  • Design aim: preserve a class-oriented TypeScript application model while adding collaborative behavior through Yjs.
  • Implementation themes: decorated accessors, initialization handling, inheritance metadata and descriptor repair, collection facades, and a specialized typed-array proxy.
  • Not established: independent performance measurements, a measured comparison with direct Yjs modeling, or externally verified adoption outcomes.

The author says the core package was written manually, while tests and some later additions were AI-assisted; examples and auxiliary packages were mostly AI-written and reviewed, and AI helped structure and proofread documentation. That is the author’s disclosure, not an independently audited account.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Crashes, No Sound, or Screen Glitches?Free driver scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.