GithubHelp home page GithubHelp logo

stripedpajamas / gester Goto Github PK

View Code? Open in Web Editor NEW
26.0 2.0 1.0 2.03 MB

scuttlebutt chat ui

License: MIT License

JavaScript 78.95% HTML 0.88% CSS 20.17%
chat scuttlebutt scuttleverse p2p p2p-chat

gester's Introduction

๐Ÿน gester ๐Ÿน

p2p chat app built on scuttlebutt

screenshot

more on scuttlebutt: https://www.scuttlebutt.nz/

potentially chat with friends on the same network without even being connected to the internet ๐Ÿ™Œ

this is just a more user friendly ui for scat ๐Ÿญ

download binaries

here

tips and tricks

  • you can press meta+k as a shortcut to start a private chat (idea borrowed from Slack)
  • you can join a pub from the Help menu
  • you can tab complete names and emoji
  • click on a name/id (or search for one) to pull up follow/block options
  • from the author view, you can assign a new name to someone by double-clicking their name

install / run from source

$ npm install
$ npm start

what's happening

gester/scat uses a special message type scat_message. this means that if you're using something like Patchwork, your feed won't be all gobbled up by chat messages. And scat won't be all gobbled up by your posts.

but since it's all the same protocol and all the same feeds, all the same people are there. gester/scat uses the ssb-about plugin. if your sbot doesn't have this plugin, you will just see ids... no names.

gester/scat will honor self-identification above a 3rd party's identification of another user, and will honor your identification of another user above their own self-identification. a 3rd party's identification of another user is not honored at all.

license

MIT

gester's People

Contributors

bencevans avatar orlandok7 avatar stripedpajamas avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

bencevans

gester's Issues

Dark mode option is backwards

When I ran on master, Gester opened up straight to dark theme and then when I switched to dark theme in the menu it switched to light theme.

hotkeys and focus

  • escape out of the user search bar
  • escape out of the start private message modal
  • autofocus the start private message input

doesn't work for first timers

if a user has never used another ssb app (e.g. patchwork) to get things all set up in ~/.ssb, gester just dies silently.

Markup for messages starting with mentions is broken for me

For example, this is the raw message Lance sent to me:

{
  "key": "%GB/67vwA+ZOU9E1zBKnd66BIW84t1YSTUIgXnnm9xvM=.sha256",
  "value": {
    "previous": "%9KydQF48RH/m6zR9ChRodSKMAPZdThOYjM1w0WCtz64=.sha256",
    "sequence": 1404,
    "author": "@W87GwaaxNj0PSBbtc5qUm/A/xOO8AWPdNtJn6hzR8s0=.ed25519",
    "timestamp": 1538659984858,
    "hash": "sha256",
    "content": {
      "type": "scat_message",
      "text": "@happy0at this stage yes... I'm away for two weeks, and only get back that week so I might be wrecked. :sleepy:"
    },
    "signature": "Rz+0nnQ0E1ucihu+7bh81mFSQtQK29YArnFrSfishtYbundYfWBe2qKUZUcYrcSO7sLulJl0KQl75zpUMZ/9Bg==.sig.ed25519"
  }
}

This is how it was rendered:

Text: [@happy0]{.mention๐Ÿ˜ช

Screenshot:

2018-10-04-150338_1600x900_scrot

notifications don't work well

sometimes things are unread when they shouldn't be
sometimes you get a notification when you shouldn't
sometimes you don't when you should
it's a mess

notification glitch

it seems like the last private message received from someone (even after it is read) might show as unread when opening the app back up.

Initial message data from new ssb user causes Gester to load very slowly on startup

When someone becomes a new ssb user they download every public ssb chat that has ever been sent. Since Gester loads the last 2 weeks of downloaded data and this new user has downloaded all of the messages within the last 2 weeks, this causes all existing public messages to be rendered on startup. This makes Gester very laggy and takes a few minutes to get to a useable state.

The best fix for this would be to change how Gester decides what messages to load. If we could find a way to pull the messages that have been sent in the last 2 weeks instead of downloaded in the last 2 weeks, that would be a great fix.

Now, as ssb grows, if 2 weeks of public chats sent increases to an amount close to the number of all public chats now, we will start to see this problem again. A long term fix would be rendering a max number of messages on startup and having the option to load more on scroll up.

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.