Commit Graph

75 Commits

Author SHA1 Message Date
Evan Prodromou
03200235b1 use select() to bring down xmpp latency 2009-07-09 12:09:20 -04:00
CiaranG
fc6b7e28d4 Fixed jabber code broken in 3ef4f251ac 2009-03-23 22:45:03 +00:00
Evan Prodromou
3ef4f251ac One function for producing Atom entry for a Notice
Took the various places that we create an atom entry for a notice, and
jammed them together into one function of the notice class, and then
used that function. Also, added Atom threading extension and
categories for hashtags.
2009-03-22 16:58:38 -04:00
CiaranG
2133d5a4e7 PostgreSQL - some more fixes to make queries compatible with both databases. (submitted by oxygene) 2009-03-08 16:16:10 +00:00
Zach Copley
02184df7c8 Fixed arguments to syslog (LOG_ERR, not LOG_ERROR) and removed unused function 2009-02-13 10:08:11 -08:00
Evan Prodromou
d345c746b9 add related link to Atom for feeds for some downstream users 2009-02-11 08:34:21 -05:00
Evan Prodromou
343cd6f205 Move common_avatar_* functions to Avatar
Moved the common_avatar_* functions to the Avatar class. Typically
either as methods on the object or as static methods. Replaced all the
uses of the functions in other modules.
2009-02-06 03:55:48 -05:00
Ciaran Gultnieks
53274a6d93 PostgreSQL - code changes to avoid problems where user table is referenced in ad-hoc queries 2009-01-30 01:12:58 +00:00
Evan Prodromou
04b3add162 only send group notices through Jabber to users with notices enabled 2009-01-28 23:03:03 -05:00
Evan Prodromou
21d156c05b Keep checking who's received stuff in jabber broadcast 2009-01-23 03:58:18 +01:00
Evan Prodromou
4bd3eae79d Make sure group messages go out over Jabber 2009-01-23 03:29:26 +01:00
Evan Prodromou
8cd89d80f1 reformat lib/jabber.php for phpcs, including doc comments
darcs-hash:20081222173249-84dde-202ba409e32e2b27089a1bc5431507c9d8a2782e.gz
2008-12-22 12:32:49 -05:00
Evan Prodromou
4b93bc9924 on broadcast jabber and sms to people with the flags set
darcs-hash:20081210024706-5ed1f-fd54b76630656f7d4f7617309d2e4f87f25b006b.gz
2008-12-09 21:47:06 -05:00
Evan Prodromou
fcca462c11 use profile URL instead of local URL
darcs-hash:20080930210542-5ed1f-7432cf920da782ea220ef6b9e156cf1ea650a5b8.gz
2008-09-30 17:05:42 -04:00
Evan Prodromou
0c71340c9f free and unset DB_DataObjects after we're done with them
darcs-hash:20080906015501-84dde-e787962b9805759224389dd42a211dfa21da3473.gz
2008-09-05 21:55:01 -04:00
Evan Prodromou
be075ed642 add some processTime() to the send loops to avoid filling the buffer
darcs-hash:20080904213257-84dde-c046a708c6ac9f8f7ed2135f29241d70abe4104f.gz
2008-09-04 17:32:57 -04:00
Evan Prodromou
fa123bef67 restore HTML in output, remove rump pubsub event code
darcs-hash:20080902030403-84dde-5f1576104104ea57d3e23401b59493c03d5a84d4.gz
2008-09-01 23:04:03 -04:00
Evan Prodromou
ab92ba78ba slightly more robust connection code
darcs-hash:20080902030331-84dde-bb2db886d90623785f930bb7c5c3c406d407f808.gz
2008-09-01 23:03:31 -04:00
Evan Prodromou
c6c3cd40f6 separate out presence from connection, send different presence types from queuehandlers
darcs-hash:20080902012604-84dde-073a583da9b09c80e5e9a47a5eddd144fad8e87a.gz
2008-09-01 21:26:04 -04:00
Evan Prodromou
c31afa795f halt sending HTML in Jabber
darcs-hash:20080831114642-84dde-c1e486fe03752882e212bd6e3930477042f993be.gz
2008-08-31 07:46:42 -04:00
Evan Prodromou
c46f152697 forgot to use the array for avoiding dupes
darcs-hash:20080830094252-84dde-bf6c17d7036c84bfeaf41d2fc704cc8656a083c1.gz
2008-08-30 05:42:52 -04:00
Evan Prodromou
72d8bb12e1 use priority in connection
darcs-hash:20080830091522-84dde-75121e8794f2a43b8a4c5bff7ec42cac40d5520c.gz
2008-08-30 05:15:22 -04:00
Evan Prodromou
6c42bdc448 get rid of Laconica_XMPP and ignore priority
darcs-hash:20080830084423-84dde-7749d00c4c2fcada9e0f30af044637c48c0512c3.gz
2008-08-30 04:44:23 -04:00
Evan Prodromou
19147201c8 forgot to get the profile in public queue handler
darcs-hash:20080830071232-84dde-90bad1be7a7e141927175e42d39cb21d7bba337e.gz
2008-08-30 03:12:32 -04:00
Evan Prodromou
b17bb9861c lost $sent_to in jabber_public_notice
darcs-hash:20080829200859-84dde-d1c4c5897096a06dec8be14e81499d70a79c78d2.gz
2008-08-29 16:08:59 -04:00
Evan Prodromou
f5fe013657 many jabber queue management changes
Added a method to QueueManager to let subclasses do stuff when idle.
Needed so that XMPP queue manager can service its message queue.

Cleaned up jabber_broadcast_message quite a bit. Use custom joins
instead of loop-and-query, should fix some problems with users who are
getting messages even after turning off notification. Only build $msg
and $entry once, and use the XMPPHP function for messages with a
payload, rather than rolling our own.

darcs-hash:20080829200352-84dde-427e4ca8c81d4222a36f78e7c580b611ff0bf765.gz
2008-08-29 16:03:52 -04:00
Evan Prodromou
c4d6789275 split public stream to its own queue handler
Add another queue handler for the public stream. Should further
parallelize the work of sending out messages.

darcs-hash:20080829181702-84dde-594505aa73d2380b13bd98917b70b02bac597d12.gz
2008-08-29 14:17:02 -04:00
Evan Prodromou
2be3be1c29 correct presence in jabber function
darcs-hash:20080828001936-84dde-e4ec2fef30c49d1254d5358624a4391930811832.gz
2008-08-27 20:19:36 -04:00
Evan Prodromou
b9f0ea6f0e break up monolithic xmppdaemon into multiple queue handlers
Eventually, the poor xmppdaemon has become overloaded with extra
tasks. So, I've broken it up. Now, we have 5 background scripts, and
more coming:

* xmppdaemon.php - handles incoming XMPP messages only.
* xmppqueuehandler.php - sends notices from the queue out through XMPP.
* smsqueuehandler.php - sends notices from the queue out over SMS
* ombqueuehandler.php - sends notices from the queue out over OMB
* xmppconfirmhandler.php - sends confirmation requests out over XMPP.

This is in addition to maildaemon.php, which takes incoming messages.

None of these are "true" daemons -- they don't daemonize themselves
automatically. Use nohup or another tool to background them. monit can
also be useful to keep them running.

At some point, these might become fork()'ing daemons, able to handle
more than one notice at a time. For now, I'm just running multiple
instances, hoping they don't interfere.

darcs-hash:20080827205407-84dde-97884a12f5f4e54c93bc785bd280683d1ee7e749.gz
2008-08-27 16:54:07 -04:00
Evan Prodromou
0bc0568e66 only send local messages to public XMPP stream
darcs-hash:20080826205341-84dde-04c1641f4b9c5aa5318b76512664ee9df170d779.gz
2008-08-26 16:53:41 -04:00
Evan Prodromou
782fe0130f optionally turn encryption on or off in the XMPP connection
For identi.ca, we had some problems with the XMPP daemon getting
"stuck" in I/O through the encrypted (by default) XMPP socket. Turning
off encryption helped. So, now it's an option.

darcs-hash:20080826131814-84dde-2c4a809c6fb666dfb4b96d0d61205fe418f4e4b4.gz
2008-08-26 09:18:14 -04:00
CiaranG
192a673472 Prevent jabber.php error by checking key exists
darcs-hash:20080823053548-f6e2c-dfc8a0acd9fb8589ed37e54c7d0d3d38afff34f5.gz
2008-08-23 01:35:48 -04:00
CiaranG
6593092bfd Escape profile url in xmpp in case fancy urls off (Ticket #521)
darcs-hash:20080823052534-f6e2c-aa452a8c2c6ee33399f4079d0bf2224847e1450a.gz
2008-08-23 01:25:34 -04:00
CiaranG
1e68183377 Fixed attempt to read nonexistent match in JID regex
darcs-hash:20080822191751-f6e2c-578869b8524e3238c461872981a5dd8c285937e3.gz
2008-08-22 15:17:51 -04:00
Mike Cochrane
bdfe3ca524 Only try sending xmpp notices if xmpp is enabled
darcs-hash:20080722082653-533db-14e277869986f0c4f0df0f84eec9c5d39626956d.gz
2008-07-22 04:26:53 -04:00
Evan Prodromou
03a84f45fd forgot the user's name in HTML output
darcs-hash:20080718070252-84dde-27b01cd01b309ba079c38e9bd09a97b1626d479b.gz
2008-07-18 03:02:52 -04:00
Evan Prodromou
5f55c96157 add an HTML payload to outgoing notices
darcs-hash:20080718063130-84dde-01cc0d9d9cf92e5ad9f5c079c771e2ea64c8d5f2.gz
2008-07-18 02:31:30 -04:00
Evan Prodromou
753a03d895 public indexers in config file
darcs-hash:20080717134331-84dde-b63c9b7e318d74e2cfea14cc962ec2d519f20d43.gz
2008-07-17 09:43:31 -04:00
Evan Prodromou
3d96d6f5f7 slightly better error handling
darcs-hash:20080716064736-5a68a-b57c978702037f380e31d2d8825109821a01cef5.gz
2008-07-16 02:47:36 -04:00
Evan Prodromou
dd96edde77 add some warnings and stuff
darcs-hash:20080716061933-84dde-7bb5f28c9263782bc0535cd8303a9fcad3820134.gz
2008-07-16 02:19:33 -04:00
Evan Prodromou
9e5a8b7e1f lost else
darcs-hash:20080716053532-84dde-0a53cc573ee9a0c20ff88e011d83f15e60f7c825.gz
2008-07-16 01:35:32 -04:00
Evan Prodromou
499afd8c22 replies from people you're not subscribed to over Jabber
darcs-hash:20080715195513-84dde-454419c971015be385d9c4c35f7acbee419031f9.gz
2008-07-15 15:55:13 -04:00
Evan Prodromou
3f59000e73 work around probs with XMPPHP library
darcs-hash:20080715190519-84dde-766a45bc05fff8682843323145c1bd2460f8c308.gz
2008-07-15 15:05:19 -04:00
Evan Prodromou
7ad21d3cc1 build stanza ourselves, without library
darcs-hash:20080715033711-84dde-f4a4583d8182dc18fec6f7ea7e2e27ff4958cb90.gz
2008-07-14 23:37:11 -04:00
Evan Prodromou
37baa03880 encode special chars in atom payload
darcs-hash:20080714143042-84dde-8da6275ea2bf0e0ce4691d8f56e1b932727efcd8.gz
2008-07-14 10:30:42 -04:00
Evan Prodromou
e81361812f debugging changes on development server
darcs-hash:20080714140209-d018c-02b3372603f4a012c230f0fffb6e7f29e43e013a.gz
2008-07-14 10:02:09 -04:00
Evan Prodromou
71afb53de6 get the msg to format
darcs-hash:20080714044153-84dde-8043ee7e32936f468b2cfa096a1a1846eddfba88.gz
2008-07-14 00:41:53 -04:00
Evan Prodromou
df126bf538 forgot to send a null for subject in XMPP message
darcs-hash:20080714043459-84dde-cd80f2558432b901944d32e71234eb95f6dc47fb.gz
2008-07-14 00:34:59 -04:00
Evan Prodromou
d0e5fe535e make broadcast send notice with extra Twitter cruft
darcs-hash:20080714034647-84dde-8cee5c041927eb7d3f47cf14410c6ce09752dd2f.gz
2008-07-13 23:46:47 -04:00
Evan Prodromou
fb00708284 add extra Twitter cruft to jabber messages
darcs-hash:20080714034503-84dde-c06198f9d7b8b1c11f6c57e518dcf49b863ee6f3.gz
2008-07-13 23:45:03 -04:00