Skip to content

Modular - #201

Open
ineiti wants to merge 31 commits into
mainfrom
modular
Open

Modular#201
ineiti wants to merge 31 commits into
mainfrom
modular

Conversation

@ineiti

@ineiti ineiti commented Feb 7, 2026

Copy link
Copy Markdown
Owner

This adds a @danu/danu npm-package and a frontend which uses it.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new Rust→WASM npm package (@danu/danu) and a Vite-based frontend that consumes it, plus DHT storage/router changes to improve initial sync behavior and realm discovery notifications.

Changes:

  • Introduce package/ crate with wasm-bindgen exports (DaNode, realm helpers, event plumbing) and npm packaging/build scripts.
  • Add frontend/ Vite app wired to load the local-built WASM package during development.
  • Update flmodules DHT storage internals to trigger initial realm sync when the first node connects and to emit realm ID updates when new realms are created.

Reviewed changes

Copilot reviewed 24 out of 25 changed files in this pull request and generated 13 comments.

Show a summary per file
File Description
package/src/lib.rs WASM init entry point + module exports.
package/src/events.rs Bridges internal node/DHT/network events to a JS callback.
package/src/darealm.rs wasm-bindgen wrappers for RealmID/FloID and realm page accessors.
package/src/danode.rs JS-facing DaNode API (node bootstrap, realm access, events).
package/package.json Defines scoped npm package metadata and published artifacts.
package/README.md Documents install/usage for the new npm package.
package/Makefile wasm-pack build helpers (dev vs release) + npm pack.
package/Cargo.toml New WASM crate manifest and dependencies.
package/.gitignore Ignores wasm-pack output and node/cargo artifacts.
package/.cargo/config.toml Sets wasm32 build target for the package crate.
frontend/vite.config.ts Vite config + local alias to ../package/pkg and HTTPS dev server.
frontend/tsconfig.json TS compiler settings for the Vite client app.
frontend/src/style.css Basic UI styling for the frontend status/log view.
frontend/src/main.ts Frontend bootstrapping + wiring NodeStatus events to UI/logs.
frontend/package.json Frontend deps/scripts; consumes @danu/danu via local file link.
frontend/package-lock.json Lockfile for frontend dependencies.
frontend/index.html Static UI shell for the Vite app.
frontend/.gitignore Ignores frontend build and dev artifacts.
flnode/src/node.rs Minor import change (log).
flmodules/src/dht_storage/intern.rs DHT storage sync-on-first-node + realm update emissions; internal message handling refactor.
flmodules/src/dht_router/broker.rs Adds documentation on NodeList message meaning.
Makefile Adds frontend_dev convenience target.
Cargo.toml Excludes package and frontend from workspace members.
CHANGELOG.md Notes new package/frontend and DHT storage behavior changes.
.zed/settings.json Adds ./package/Cargo.toml to rust-analyzer linked projects.
Files not reviewed (1)
  • frontend/package-lock.json: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread package/src/danode.rs Outdated
Comment thread package/src/danode.rs Outdated
Comment thread package/src/events.rs Outdated
Comment thread package/src/events.rs Outdated
Comment thread package/README.md
Comment thread package/src/events.rs Outdated
Comment thread package/src/events.rs Outdated
Comment thread frontend/src/main.ts Outdated
Comment thread frontend/src/main.ts
Comment thread frontend/src/main.ts
@ineiti
ineiti force-pushed the modular branch 2 times, most recently from a36fab0 to 566a675 Compare February 11, 2026 17:39
ineiti added 8 commits March 12, 2026 21:52
- the DataStorageIndexedDB::get returned the cached value, making it impossible
to pass values between tabs
- DataStorageIndexedDB::set updated the values in the background, creating a
race-condition while updating between tabs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants