Giter Site home page Giter Site logo

ninjam-js's People

Contributors

bhspitmonkey 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

ninjam-js's Issues

Register URI protocol handler

It would be cool if we could register as a handler for links like ninjam://ninbot.com:2052 and launch/connect automatically.

Electron has some capabilities for doing this (via electron-packager/electron-builder options). Probably not possible in the Chrome app.

UTF-8 character encoding

Hello. I came across Ninjam JS some days ago and I find it a very interesting project.

Currently I'm collaborating with Jamtaba2 ninjam client (https://github.com/elieserdejesus/JamTaba) and we are trying to find a solution to some encoding problems related to the Chat messages when different clients are communicating (see elieserdejesus/JamTaba#441 for more info)

The problem seems to be solved for the clients that uses UTF-8 encoding. I did some tests using NINJAM JS (elieserdejesus/JamTaba#441 (comment)), but the result was not good.

Is it possible that you could adopt the UTF-8 standard so non-english users can chat in their native languages cross-platform?

Cheers.

Jon

Chrome will no longer support

I've been using the app for a while, it's very practical. But chrome says it will no longer support it, will you update it? Chrome gave it time until December.

Thanks...

Audio configuration?

Is it possible to configure the input and output devices for this app? Is audio configuration done through the browser, for instance?

npm install in ninjam-js directory crashes iSH

simple as that

updated to latest npm after clearing cache to alleviate segmentation fault

all other ipad apps closed to free resources and ipad restarted, with time for wifi to come online

cd to ninjam-js directory in non-shared iSH file area placed git clone to avoid file permissions issue

npm install crashes iSH partway through, reliably

had been hoping to simply place build contents onto a personal webserver account in a private area to run what seemed to be all browser related code since getting a .crx file for chrome running on ipad seems to possibly require some shifty maneuvers to utilize safari's only ipad available browser extension mechanism, and seems to necessitate desktop hardware, so far as websearch declares

Support Jammr

REST API notes:

Protocol difference notes:

12:46 < stefanha> Hmm...I didn't document the ACL
12:47 < stefanha> The jam network protocol differences aren't documented.
12:47 < stefanha> They are minor though.
12:48 < stefanha> One difference is that text is UTF-8
12:48 < BHSPiMonkey> I saw the different client version value, but didn't finish figuring out the auth differences
12:48 < BHSPiMonkey> oh, that's nice
12:48 < stefanha> Auth is:
12:49 < stefanha> 1. Client posts secret to /tokens/ REST API (using HTTP Authentication with username/password)
12:49 < stefanha> 2. Client connects to jam server and uses the secret as the "password" instead of the user's account password
12:49 < stefanha> The advantage of this approach is that the jam server doesn't need the plaintext password,
12:50 < stefanha> so account passwords can be stored hashed/salted instead of as plaintext by jammr.
12:51 < BHSPiMonkey> Do I need to request a different token each time the user connects to a server?
12:51 < stefanha> BHSPiMonkey: Tokens expire so it's best to generate a new token and post it each time the user starts the app
12:52 < BHSPiMonkey> OAuth2 or custom?
12:52 < stefanha> It is a custom authentication system.
12:52 < stefanha> But fairly simple
12:52 < stefanha> See JammrLoginDialog::login()
12:53 < stefanha> hexToken = QCryptographicHash::hash(QUuid::createUuid().toRfc4122(), QCryptographicHash::Sha1).toHex();
12:53 < stefanha> The client generates a random secret token.
12:53 < stefanha> It POSTs the secret token to the REST API: /tokens/<username>
12:53 < stefanha> with HTTP Authentication <username>:<password>
12:54 < stefanha> So the REST API server is the one that does the account login.
12:54 < stefanha> Now that the secret token has been set, the client can connect to a jam server.
12:54 < stefanha> The jam server will retrieve the secret token for the user.  The secret token is used as the "password" in NINJAM auth.
12:55 < stefanha> And the client proved that it owns the account by POSTing the token successfully.

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.