Coder Social home page Coder Social logo

reconbot / patchbay Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ssbc/patchbay

0.0 2.0 0.0 2.89 MB

An alternative Secure Scuttlebutt client interface that is fully compatible with Patchwork

Home Page: http://www.scuttlebutt.nz

JavaScript 98.99% HTML 1.01%

patchbay's Introduction

Patchbay

patchbay is a secure-scuttlebutt client interface that is fully compatible with patchwork.

Patchbay is built using patchcore + depject. The goal is to make it easier to develop new features, and enable or disable features. This has so far been quite successful!

This makes in very easy to create say, a renderer for a new message type, or switch to a different method for choosing user names.

Setup

Libsodium has some build dependencies. On ubuntu systems the following might help:

sudo apt-get install m4 libtool eclipse-cdt-autotools

On MacOS you may need the following packages installed (in this example, via Homebrew):

brew install libtool automake autoconf

Easy Install

This runs an embedded sbot with all the right plugins already installed.

git clone https://github.com/ssbc/patchbay.git
cd patchbay
npm install
npm run rebuild

Patchbay doesn't give you a way to join pubs yet, so this is good if you've already done that with another client (like Patchwork).

Harder Install (full dev setup)

Install a standalone scuttlebot (your gossip server)

npm install scuttlebot@latest -g

Until ssbc/ssb-server#417 is resolved, you may need to do this instead:

git clone https://github.com/ssbc/scuttlebot.git
cd scuttlebot
git checkout ssb-private
npm install
npm link  // this should make sbot accessible globally
# make sure you have [email protected]
npm ls secure-scuttlebutt -g

sbot server

# then in another tab (these must be separate commands)
sbot plugins.install ssb-about
sbot plugins.install ssb-backlinks
sbot plugins.install ssb-fulltext # for faster searches
sbot plugins.install ssb-chess-db # for chess

After that you need to make sure that .ssb/config reads: "ssb-chess-db": "ssbChessIndex" for chess to work.

# restart sbot server (go back to previous tab and kill it)

Restart your sbot, then (optionally) use an invite code. This will give you your first friend, from which point you can find others:

sbot invite.accept LONG_INVITE_CODE_MAYBE_IN_QUOTES

Install Patchbay

git clone https://github.com/ssbc/patchbay.git
cd patchbay
npm install
npm run rebuild

Running the desktop app

Easy mode (embedded sbot):

# from the patchbay repo folder
npm start

Harder mode:

sbot server

# from the patchbay repo folder
npm run dev

How to add a feature

To add a new message type, add add a js to ./modules/ that exports a function named message_content (it should return an HTML element). To add a new tab, export a function named screen_view (returns an html element).

To add a new detail, that appears above a message, export a function named message_meta.

See the code for more examples.

Keyboard shortcuts

Tabs

h : tabs left j : tabs right x : close tab

Message feeds

j : next message (down) k : previous message o : open message thread (and scroll to position of this message in that thread) : toggle raw message view for currently selected message ( = backtick, lives on the same key as ~)

composing : cttrl + enter = post

Nav bar thing

@ : start a person query # : start a channel query ? : start a search query / : start a navigation (e.g. /public) - need to re-instate suggestions for this

you can also paste a message id (starts with %) in here to navigate to it. Same with blobs (&)

Module graph

TODO - reinstate this

License

MIT

patchbay's People

Contributors

mixmix avatar dominictarr avatar clehner avatar evbogue avatar arj03 avatar happy0 avatar ahdinosaur avatar cryptix avatar pietgeursen avatar brhue avatar mmckegg avatar dangerousbeans avatar don-smith avatar gwenbell avatar alanz avatar magician11 avatar adinardi avatar kyrias avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.