Mirror of https://github.com/fraction/oasis.git to build Docker images 🙈
Go to file
Christian Bundy cb1be6bc8b Fix open sockets that weren't closing during tests
Problem: The test suite isn't closing the database because `app.close()`
only affects the HTTP server. This means that tests don't exit cleanly
and sockets remain open and all sorts of really fun stuff that we don't
want while writing tests.

Solution: Refactor `src/ssb.js` so that we can exit cleanly and have
less rope to hang ourselves with. Add a small lifecycle test that can
help us ensure that the bare minimum lifecycle events are working
correctly, plus now the previous tests are passing on my machine too.
2020-04-06 12:14:58 -07:00
.github Remove version question from issue template 2020-03-24 11:35:24 -07:00
contrib Fix issue w/ mkdirp race condition 2020-03-15 13:57:35 -07:00
docs Clean up root of project directory 2020-04-01 15:04:57 -07:00
scripts Remove debug output and add comments 2020-02-26 20:40:23 -08:00
src Fix open sockets that weren't closing during tests 2020-04-06 12:14:58 -07:00
test Fix open sockets that weren't closing during tests 2020-04-06 12:14:58 -07:00
.cspell.json Fix theme using capitalization 2020-03-24 14:55:50 -07:00
.dockerignore Add support for running oasis in a docker container 2020-01-01 10:07:41 -05:00
.gitignore Add VSCode files to gitignore 2020-02-17 12:57:38 +01:00
.mailmap Add .mailmap for canonical identities 2020-03-24 16:59:20 -07:00
.prettierignore Add very basic test suite 2020-04-03 09:17:13 -07:00
.stylelintrc Re-add stylelint config 2020-04-01 18:28:59 -07:00
.travis.yml Resolve Travis CI + Windows EOL bug 2020-03-23 19:20:38 -07:00
LICENSE Add LICENSE file (for AGPL-3.0) 2020-01-28 17:45:00 -08:00
package-lock.json Fix open sockets that weren't closing during tests 2020-04-06 12:14:58 -07:00
package.json Fix open sockets that weren't closing during tests 2020-04-06 12:14:58 -07:00
README.md Add Matrix chat room to readme 2020-03-27 09:24:13 -07:00

Oasis

Oasis is a free, open-source, peer-to-peer social application that helps you follow friends and discover new ones on Secure Scuttlebutt (SSB).

🦀 Powered by SSB.
You're the center of your own distributed network. Online or offline, SSB works anywhere that you are. Follow the people you want to see and never worry about spam again. Switch to any SSB app you want at any time.

🌐 Bring your own browser.
Use your favorite web browser to read and write messages to the people you care about. Oasis runs a small HTTP server on your own computer, so you don't need to worry about adding another Electron app to your computer.

🏰 Just HTML and CSS.
No browser JavaScript! Oasis has strict security rules that prevent any JavaScript from running in your browser, which helps us make Oasis accessible and easy to improve.

Example

After installing, launch Oasis from the command line by running:

oasis

It will then pop open a browser window for you.

Screenshot of Oasis

Use oasis --help to get configuration options. You can change the default values with a custom configuration.

Installation

First, you'll need Node.js and npm on your computer. Run node --version to see if you have it. If not, or if it's older than the current or active LTS version, you should download Node.js first.

Then you can install the stable version of Oasis:

npm -g install fraction/oasis#semver:

Or, for faster updates and less stability, install Oasis from GitHub and upgrade often.

npm -g install fraction/oasis

Check out install.md for more information.

FAQ

Can I use the same profile from multiple computers?

No, this is a limitation of SSB. You'll need to make a separate profile on each device. There is a workaround we'd like to implement which ties your multiple profiles together.

Can I run this at the same time as Patchwork and other SSB apps?

Yes! They will both use the same data and profile. You can either run them one at a time or simultaneously. If you run them at the same time, start Patchwork first, then Oasis.

Details: SSB apps have two parts: a "server" that manages the database (on your own computer), and a user interface that gets things from the server to display. Only one server can run at a time, but multiple apps can use it.

App Runs its own SSB server Can use SSB server of another app
Oasis Yes, unless one is already running Yes
Patchwork Yes No, only uses its own server
Patchbay Yes No, only uses its own server
Patchfox No Yes, depends on other apps to provide a server

Resources

See Also

License

AGPL-3.0