getkaiwa / kaiwa Goto Github PK
View Code? Open in Web Editor NEWThis project forked from otalk/otalk-im-client
[UNMAINTAINED] A modern XMPP Web client
Home Page: http://getkaiwa.com
License: MIT License
This project forked from otalk/otalk-im-client
[UNMAINTAINED] A modern XMPP Web client
Home Page: http://getkaiwa.com
License: MIT License
Hello, there is my config:
cat dev_config.json
{
"isDev": true,
"http": {
"baseUrl": "https://jabber.mydomain.com:8000",
"port": 8000,
"key": "/etc/CERT/mydomain.com.key",
"cert": "/etc/CERT/mydomain.com.crt"
},
.....
But chrome show ERR_CONNECTION_CLOSED when i trying to open https://jabber.mydomain.com:8000
But http://jabber.mydomain.com:8000 (without S) works fine.
How i can switch on https? How i can debug this issue?
I used the "Deploy on DIgitalOcean" button on your website "getkaiwa.com" and I have tried it 3 times now and despite that I never get past the page that says
"Your Droplet was successfully deployed
The IP address of your Droplet is
It may take up to 15 minutes for the server to be finalized. Refresh your browser until the Kaiwa website loads."
From there, nothing ever changes / happens. I updated my DNS and tried to navigate directly to the IP, connection refused.
Please advised how to resolve this. I would have maybe looked around on your forums or a community help section but one does not exist that I can tell.
Apr 08 22:34:08 c2s1bc09c0 info Client connected
Apr 08 22:34:08 c2s1bc09c0 info Session closed by remote with error: invalid-xml
Apr 08 22:34:08 c2s1bc09c0 info Client disconnected: connection closed
I've ripped out LDAP, managed to npm install and get Kaiwa to run.
I'm using the mod_websockets from the kaiwa-server repo, and lua-bitop is installed.
Anybody know what the issue is before I continue working on this tomorrow?
I am not a good typist.
Would I use able to edit my typos with kaiwa?
When I try to login, Kaiwa join into an infinite loading loop(and the connection timed out). Prosody logs:
Apr 21 00:59:01 socket debug server.lua: accepted new client connection from 198.50.144.252:57947 to 5280
Apr 21 00:59:01 http.server debug Firing event: POST mozillabrasil.org.br/http-bind
Apr 21 00:59:01 mod_bosh debug Handling new request table: 0x13dd190: <body xmlns="http://jabber.org/protocol/httpbind" xmlns:xmpp="urn:xmpp:xbosh" rid="78980$
----------
Apr 21 00:59:01 mod_bosh debug BOSH body open (sid: 1ea5d8a9-1698-43c3-9687-5b8e640bad26)
Apr 21 00:59:01 mod_bosh debug Session 1ea5d8a9-1698-43c3-9687-5b8e640bad26 has 1 out of 1 requests open
Apr 21 00:59:01 mod_bosh debug and there are 0 things in the send_buffer:
Apr 21 00:59:01 mod_bosh debug Have nothing to say, so leaving request unanswered for now
Apr 21 00:59:28 mod_bosh debug table: 0x13dd770 was soon to timeout (at 1429592371, now 1429592371), sending empty response
Apr 21 00:59:28 mod_bosh debug We have an open request, so sending on that
Apr 21 00:59:28 mod_bosh debug Request destroyed: table: 0x13dd770
Apr 21 00:59:28 bosh1ea5d8a9-1698-43c3-9687-5b8e640bad26 debug BOSH session marked as inactive (for 60s)
Apr 21 00:59:28 socket debug server.lua: closed client handler and removed socket from list
Apr 21 00:59:29 socket debug server.lua: accepted new client connection from 198.50.144.252:58176 to 5280
...
Current config:
{
"isDev": true,
"http": {
"baseUrl": "http://kaiwa.dev.mozillabrasil.org.br",
"port": 8086,
"key": "./fakekeys/privatekey.pem",
"cert": "./fakekeys/certificate.pem"
},
"session": {
"secret": "nGCnv0Ow5F1FNSANDptcW3wW4pdlcFY8ANSC3B8T"
},
"server": {
"name": "Mozilla Brasil",
"domain": "mozillabrasil.org.br",
"muc": "conference.mozillabrasil.org.br",
"startup": "groupchat/room%40chat.example.com",
"admin": "admin"
}
}
We're using the last code from this repository with prosody 0.9
and BOSH.
Kaiwa: http://kaiwa.dev.mozillabrasil.org.br
BOSH: http://kaiwa.dev.mozillabrasil.org.br/http-bind
PS.: I removed the LDAP feature(uninstalling the package, removing the require line on server.js
and the LDAP section on dev_config.json
Hey Guys,
The Digital ocean page fails with "Failed to create the droplet". Any ideas?
Has any thought been given to paid hosting for Kaiwa and Prosody? I imagine this would be a pretty big project involving provisioning accounts in a multi tenanted environment. I'd love to see an open source competitor to slack, hipchat, ect.
I Just set up kaiwa with a connect to our own ldap and XMPP Server but i can't log in to kaiwa wehre can i find error logs to fix that problem?
TAB is usually used in similar solutions (and most Jabber clients) to complete username of your peers in the chat, Kaiwa just sends the message, which is highly inconvenient.
I tried kaiwa with ejabberd and Firefox 37 and got the following javascript error:
TypeError: invalid 'instanceof' operand Backbone.$
this.$el = element instanceof Backbone.$ ? element : Backbone.$(element);
That's in:
// Change the view's element (`this.el` property), including event
// re-delegation.
setElement: function(element, delegate) {
if (this.$el) this.undelegateEvents();
this.$el = element instanceof Backbone.$ ? element : Backbone.$(element);
this.el = this.$el[0];
if (delegate !== false) this.delegateEvents();
return this;
},
According to the ejabberd log the websocket connection was successful.
Similar issue as the Server getkaiwa/kaiwa-server/issues/4
I'd like to use ou=People,
as the user basedn, but currently the docker script assumes ou=users,
. Similarly it assumes the groups are ou=groups,
but I'd like to use ou=Group,
Haven't tested other browsers, but adding a z-index: 100 to #menu #organization .settings in styles.nonCached.css seems to fix it. Another number in there would probably make more sense but this worked in my first attempt...
Nice product!
Is markdown rendering supported or planned?
Why are passwords stored in localstorage? Is there any way to disable storing plaintext passwords like this?
I use nginx websockets proxy. Nginx serves SSL, then proxies to ejabberd 15.04.
Nginx config is:
location /xmpp {
proxy_pass http://backend:5280;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
Kaiwa failes to load when there are lot of history messages in chat group.
Nginx logs are:
[error] 20999#0: *1997296 send() failed (32: Broken pipe) while proxying upgraded connection, client: 10.0.25.47, server: example.com, request: "GET /xmpp/ HTTP/1.1", upstream: "http://192.168.122.8:5280/xmpp/", host: "example.com"
Search is one of the most important features for enterprise users.
The ability to search in all my rooms and all of my private conversations is important.
I'm using latest version of mod_mam
on prosody and I'm seeing this error in logs.
stanzarouter debug Unhandled c2s stanza: iq; xmlns=urn:xmpp:mam:tmp
You can see on mod_mam
page that XEP-0313
has changed.
https://code.google.com/p/prosody-modules/wiki/mod_mam
I think this was already fixed for stanza.io: https://github.com/otalk/stanza.io/issues/42
Requires an install of the openldap libs before running npm install or it will fail.
Requesting that you list the full set of libs to install before running this so we don't have to re-run it repeatedly to figure it out during install.
Most XMPP servers can prepopulate a roster from LDAP, so this is not the job of the client to do. Hence all LDAP stuff can be removed from kaiwa.
How to change the port kaiwa is running on?
$ node server
dev environment detected
Client app ready
Cache manifest generated
Kaiwa running at: http://localhost:8000
Kaiwa seems really cool, and I'd like to run it under something like example.com/chat
Right now, it seems like everything's hard-coded to run under / - is there an easy way to support running under some other path?
Thanks!
I've been trying to run kaiwa for a while no, but I'm unsuccessful. Everything seems fine, I have it running, the client loads, I can log in and it even connects and recieves messages but the interface does not respond to any clicks. In the console I get the following error.
"Unhandled rejection [51]</</</<[38]</ensureErrorObject@http://chat.maufl.de/app.nonCached.js:15949:20
[51]</</</<[23]</module.exports/Promise.prototype._rejectCallback@http://chat.maufl.de/app.nonCached.js:13842:17
[51]</</</<[23]</module.exports/Promise.prototype._settlePromiseFromHandler@http://chat.maufl.de/app.nonCached.js:13886:9
[51]</</</<[23]</module.exports/Promise.prototype._settlePromiseAt@http://chat.maufl.de/app.nonCached.js:13956:13
[51]</</</<[23]</module.exports/Promise.prototype._settlePromises@http://chat.maufl.de/app.nonCached.js:14072:9
[51]</</</<[2]</Async.prototype._drainQueue@http://chat.maufl.de/app.nonCached.js:11439:13
[51]</</</<[2]</Async.prototype._drainQueues@http://chat.maufl.de/app.nonCached.js:11449:5
[51]</</</<[2]</Async/this.drainQueues@http://chat.maufl.de/app.nonCached.js:11279:9
"
I tried to debug it, and could trace the problem back to the async.series call in app.js. The last function is never called and the Backbone history is never started. Thus the app does not navigate anywhere, chat windows are not opened and the setting window is not opened.
When I put breakpoints into each function and manually continued the JavaScript, everything suddenly worked, so I guess it's a race condition of some sort.
I tested it in Firefox 38 and Chromium 43.
I only recently discovered Kaiwa and I'd really like to give it a try. However, it seems like Kaiwa only ships as the complete server + ldap + client package.
It seems to be discouraged to use Kaiwa with your existing Jabber server.
So I'd like to request a deployment of Kaiwa as a Chrome App, so that it can be used as a Chrome-based Jabber client for any server. It should even be possible to make Kaiwa work offline.
I think it would be helpful to switch to passport for authentication that way auth does not need to be maintained in this project but can then use any number of authentication mechanisms available to passport
I've uploaded my avatar through configuration page. Another user uses gravatar. But sometimes Kaiwa shows my avatar for another (only one) user instead of his gravatar.
Have no idea how can I debug that.
Sometimes "false" user / nickname appears in groupchat (but it is regular user though). I suppose it relates on IP change. Have no idea how to debug this. "false" user disappears if user logout then login.
I already have a LDAP server (389-ds) and it serves another purpose: all users on my Prosody server are not in LDAP.
Currently you seem to be forced to use LDAP.
Hi all,
I installed Kaiwa and could successfully connect it to our OpenFire server. Anyways, I'm not able to click anything after login. I can see the buddy list and if I click on any of them, nothing happens. Also the settings button is not clickable (I checked this, but it didn't help -> #48), though I'm able to update status of user.
I also checked traffic with tcpdump, when clicking any link in Kaiwa web client, but none of the requests arrived at server.
When I send a message from a client (e.g. Pidgin), the user logged in on Kaiwa receives the message, but cannot open it, as nothing is clickable.
I tried it with latest FF, latest Chrome and IE 11 on different workstations.
Am I doing anything wrong? Could someone may please help me?
Greets
Thomas
How could [email protected] join/send a message to the kaiwa running on mydomain.com? Is that even possible?
I installed Kaiwa via the DO droplet, I access it by IP address directly; every time I enter my u/p it says "connect" and then reverts to homepage. How do I reset the password? Also on what IP do I access the Prosody server directly?
I have tried this twice now.
If I'm missing something, please let me know.
http://getkaiwa.com/ states that Monal is open source:
"Unfortunately, the XMPP landscape on iOS is pretty bad. Monal is the only client still maintained and usable although it's still lacking. No support for chat syncing or message history. However, Monal is Open Source! "
But Monal is not open source. http://en.wikipedia.org/wiki/Monal_%28software%29
Thanks
Probably want to use https://github.com/nfl/jquery-oembed-all , and add that feature so gists, and individual files get embedded.
Build fails for me. New Debian 7.9 install, nodejs 0.12.7 from NodeSource, kaiwa @4a48e16. Following instructions from README.
root@qext3:~# git clone https://github.com/digicoop/kaiwa.git
Cloning into 'kaiwa'...
remote: Counting objects: 4171, done.
remote: Compressing objects: 100% (31/31), done.
remote: Total 4171 (delta 11), reused 0 (delta 0), pack-reused 4140
Receiving objects: 100% (4171/4171), 2.50 MiB | 1.02 MiB/s, done.
Resolving deltas: 100% (2607/2607), done.
root@qext3:~# cd kaiwa/
root@qext3:~/kaiwa# npm install
npm WARN peerDependencies The peer dependency jshint@ included from precommit-hook will no
npm WARN peerDependencies longer be automatically installed to fulfill the peerDependency
npm WARN peerDependencies in npm 3+. Your application will need to depend on it explicitly.
> [email protected] install /root/kaiwa/node_modules/precommit-hook
> hook_install
Creating .git/hooks/pre-commit...
> [email protected] install /root/kaiwa/node_modules/ldapjs/node_modules/dtrace-provider
> node-gyp rebuild
gyp WARN install got an error, rolling back install
gyp ERR! configure error
gyp ERR! stack Error: incorrect header check
gyp ERR! stack at Zlib._handle.onerror (zlib.js:366:17)
gyp ERR! System Linux 3.2.0-4-amd64
gyp ERR! command "node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /root/kaiwa/node_modules/ldapjs/node_modules/dtrace-provider
gyp ERR! node -v v0.12.7
gyp ERR! node-gyp -v v2.0.1
gyp ERR! not ok
npm WARN optional dep failed, continuing [email protected]
> [email protected] install /root/kaiwa/node_modules/stanza.io/node_modules/xmpp-jid/node_modules/node-stringprep
> node-gyp rebuild
gyp WARN install got an error, rolling back install
gyp ERR! configure error
gyp ERR! stack Error: incorrect header check
gyp ERR! stack at Zlib._handle.onerror (zlib.js:366:17)
ERR! System Linux 3.2.0-4-amd64
gyp ERR! command "node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /root/kaiwa/node_modules/stanza.io/node_modules/xmpp-jid/node_modules/node-stringprep
gyp ERR! node -v v0.12.7
gyp ERR! node-gyp -v v2.0.1
gyp ERR! not ok
npm WARN prefer global [email protected] should be installed with -g
-
> [email protected] install /root/kaiwa/node_modules/jxt/node_modules/ltx/node_modules/node-expat/node_modules/iconv
> node-gyp rebuild
gyp WARN install got an error, rolling back install
gyp ERR! configure error
gyp ERR! stack Error: incorrect header check
gyp ERR! stack at Zlib._handle.onerror (zlib.js:366:17)
gyp ERR! System Linux 3.2.0-4-amd64
gyp ERR! command "node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /root/kaiwa/node_modules/jxt/node_modules/ltx/node_modules/node-expat/node_modules/iconv
gyp ERR! node -v v0.12.7
gyp ERR! node-gyp -v v2.0.1
gyp ERR! not ok
npm ERR! Linux 3.2.0-4-amd64
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "install"
npm ERR! node v0.12.7
npm ERR! npm v2.11.3
npm ERR! code ELIFECYCLE
npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the node-stringprep package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp rebuild
npm ERR! You can get their info via:
npm ERR! npm owner ls node-stringprep
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR! /root/kaiwa/npm-debug.log
I'm a competent sysadmin, but I don't know much about nodejs, so I haven't made any attempt to debug anything yet.
I think it would help if there was a switch to https://github.com/mcavage/node-ldapjs instead of node-ldap
node-ldapjs does not require the openldap libraries.
If I get time I will try to do this.
I see the Digital Ocean VPS installer - but what about a general installer that could be used with vagrant or some other VPS (or metal) provider?
Seems the bash commands just need to be ported right?
during creation of droplet, for people just messing around
Running Kaiwa on my own server, with the LDAP module removed, results in the webpage hanging indefinitely.
Running node server
only gives the following output:
dev environment detected
Client app ready
Cache manifest generated
Otalk running at: <URL>:8000
No further debugging output is available.
From the developer's console in Chrome, it seems like the client is hanging on trying to load app.nonCached.js.
Maybe I'm just missing it, but there doesn't seem to be a way to change any configuration without editing dev_config.json
, which then breaks git pull
, and might get accidently committed. Is there a way to specify a different config file? Ideally, the one provided in git called like dev_config.example.json
, then copy it to dev_config.json
to configure the server, and have dev_config.json
listed in .gitignore
Something is really fishy with the file clientapp/views/mucRosteritem.js
: Git shows it as modified and I cannot checkout, reset or commit the change. This is really annoying as dirty workspaces mess with merges, stashes, checkouts etc.
As it is now if a channel is removed from the public list it will be removed from the list in Kaiwa even if you add it back manually.
Passwords are simply ignored by the Kaiwa client, which is not in accordance with the XMPP spec.
Hello
With a fully up to date npm, kaiwa fails with the following error-
gyp ERR! build error
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:269:23)
gyp ERR! stack at ChildProcess.emit (events.js:110:17)
gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:1074:12)
gyp ERR! System Linux 2.6.32-042stab108.2
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/garrett/kaiwa/node_modules/LDAP
gyp ERR! node -v v0.12.7
gyp ERR! node-gyp -v v2.0.1
gyp ERR! not ok
npm ERR! Linux 2.6.32-042stab108.2
npm ERR! argv "node" "/usr/local/bin/npm" "install"
npm ERR! node v0.12.7
npm ERR! npm v3.1.0
npm ERR! code ELIFECYCLE
npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the LDAP package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp rebuild
npm ERR! You can get their info via:
npm ERR! npm owner ls LDAP
npm ERR! There is likely additional logging output above.
I tried installing openldap as suggested on here, but it failed in the same way. Link to the fail log-
http://pastebin.com/raw.php?i=mq2G5nse
I would really like to try out kaiwa as it looks great, so any advice would be appreciated.
Hi all,
I'm seeing the error reported here when running kaiwa on EC2: http://www.carrier-lost.org/syslog-ng-on-vserver-with-debian-lenny/
The web interface comes up, but when entering user/password it just stays there indefinitely and eventually comes back and ask user/password again.
wa on the machine goes to almost 100%.
could you add some notes to the readme about the differences between the original code and the fork? Or just mention the reason for the fork.
thx.
To reach out to slack it would be very important to have private group chats and invite management available from the kaiwa client. I believe xmpp already provides all the necessary ingredients. Thanks
Not sure if I'm doing it wrong™ but I only see the generic avatar of other users in a group chat, and I've been told by others that they do not see my avatar either. Is this expected behavior, or is there a setting I missed, or is this a limitation of ejabberd somehow?
Could you make it either not say that or actually bind to 127.0.0.1
?
Is there a list of the parts of the XMPP spec that this supports? I'm particularly interested in XEP-0142 and XEP-0045.
Is it possible to disable local changes to the roster etc? Kaiwa should always load everything from the server and keep it readonly.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.