Skip to content

holium/realm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

3e175b8 · Apr 5, 2023
Mar 2, 2023
Mar 28, 2023
Apr 4, 2023
Apr 5, 2023
Mar 31, 2023
Apr 5, 2023
Apr 4, 2023
Apr 4, 2023
Mar 20, 2023
Apr 3, 2023
Nov 16, 2022
Dec 7, 2022
Mar 27, 2023
Dec 7, 2022
Apr 4, 2023
Apr 4, 2023
Apr 4, 2023
Apr 5, 2023

Repository files navigation

Holium Realm

A desktop environment for Urbit.

Directory structure

We use yarn workspace to manage the multiple modules.

- app/ - the Realm desktop client
- onboarding/ – holium.network
- shared/ - shared code in the monorepo
- lib/ - outwards facing packages that are published to npmjs.com
  - conduit/ – SSE event handler
  - design-system/ – component library for Realm apps
  - presence/ – cursor streaming for Realm apps
  - room/ – data streaming for Realm apps

Getting started

We use yarn workspaces to build all packages for Realm.

# Install dependencies and build all packages
yarn
# Note: you may have to rebuild sqlite3
cd app
./node_modules/.bin/electron-rebuild
cd ..
# Start the app
yarn start

Dev setup

  1. In order to run Urbit locally, you will need to create a local fake ship. To setup a fake ship see /.docs/DEV_SETUP.md

  2. Once these ships are created, you can then go to /app/README.md to get started with Realm.

Downloading the binary from Releases

If you download from releases, you will have to include a github token env when you open Realm for now, see docs in /app/release/app.

In the debug build you can bypass the invite code and email with ~admins-admins-admins and admin@admin.com (only if DEBUG_PROD=true).

~hostyv hosts several of the desks needed for Realm, you may have to manually install them for now.

Linux Installation Notes

  • Realm is distributed as an AppImage file. AppImages require FUSE version 2 to run. If you are running Ubuntu (>= 22.04), you will need to install fuse version 2. More information here:

https://github.com/AppImage/AppImageKit/wiki/FUSE

Build prerelease version

npx cross-env DEBUG_PROD=true yarn package:prerelease:mac
npx cross-env DEBUG_PROD=true yarn package:prerelease:linux
npx cross-env DEBUG_PROD=true yarn package:prerelease:win

Building a prerelease will replace the .d.ts files in all the /dist folders, so make sure to run rm -rf ./**/dist followed by yarn in root when you want to run Realm in dev mode again.

Contributing

For frontend development, make sure to:

  1. Install the ESLint extension in your editor of choice (VSCode link). The Prettier extension is not needed since we're using it as an ESLint plugin.
  2. Configure your editor to format on save so you don't have to run yarn lint manually (VSCode instruction).
  3. Follow the Frontend Style Guide.