16 Commits

Author SHA1 Message Date
Holger Weiss
eb52291ca1 Advertise feature in disco info for account JID
As per XEP-0313 >= 0.2, advertise the MAM feature in the service
discovery information for the bare account JID.

Some clients check the server's discovery information instead, so we'll
continue to advertise the feature there as well (at least for the
moment).
2015-04-26 17:16:52 +02:00
Holger Weiss
176d2e68ca Revert "mod_mam: Don't route error bounces to clients"
This reverts commit 8b1eead24ba8decd3c54cca425e223879047dc5f.

As of ejabberd 15.04, the session manager won't deliver error messages
that were sent to bare JIDs anymore, so MAM error messages should no
longer arrive.  Also, the 'c2s_filter_packet_in' hook no longer exists.
2015-04-09 21:58:46 +02:00
Holger Weiss
15ddd00ad4 mod_mam: Specify namespace for MAM messages
The "jabber:client" namespace must be explicitly specified for MAM
messages, as they would otherwise inherit the "urn:xmpp:forward:0"
namespace.
2015-03-03 07:14:25 +01:00
Holger Weiss
8b1eead24b mod_mam: Don't route error bounces to clients 2015-02-27 23:44:55 +01:00
Holger Weiss
48966d43a9 mod_mam: Don't add 'to' attribute to <result/> tag 2015-02-27 21:56:45 +01:00
Holger Weiss
6b4d521bb1 mod_mam: Specify user's bare JID as 'from' address
Specify the user's bare JID instead of the server's JID as the 'from'
address of our IQ responses and MAM messages.
2015-02-27 21:52:45 +01:00
Holger Weiss
24dd1428c5 mod_mam: Apply small indentation fixes 2015-02-17 23:32:46 +01:00
Holger Weiss
6d38be2a75 mod_mam: Apply a few purely cosmetic changes 2015-02-17 23:11:58 +01:00
Holger Weiss
4db159b4fa mod_mam: Make filtered lookups more efficient
Try to limit the number of Mnesia queries in the case where the client
specified the desired timespan but no <before/> or <after/> UID.
2015-02-17 23:06:05 +01:00
Holger Weiss
741a1de374 mod_mam: Fix message lookup
In an mnesia:activity/4, mnesia:read/2 must be used instead of
mnesia:dirty_read/2.
2015-02-17 00:00:58 +01:00
Holger Weiss
8208d5d172 mod_mam: Remove users in sync_transaction context 2015-02-16 00:03:22 +01:00
Holger Weiss
d430788865 mod_mam: Simplify querying the archive
Now that the Mnesia tables are no longer queried in transaction context,
the code can be simplified a bit.  The behavior should remain unchanged.
2015-02-13 00:55:05 +01:00
Holger Weiss
c825f6deea mod_mam: Don't use transactions for read access
It shouldn't be necessary to query the archive in transaction context.
In dirty context, the mam_meta data might be outdated when the mam_msg
table is queried, but the effects will be harmless.
2015-02-13 00:13:02 +01:00
Holger Weiss
671655eaee mod_mam: Generate debug info when removing message 2015-02-11 23:34:02 +01:00
Holger Weiss
de67fa6adc mod_mam: Check fragment sizes when removing user
Check whether the number of Mnesia table fragments can be reduced when a
MAM user was removed.
2015-02-07 22:37:07 +01:00
Holger Weiss
d3b4bc817d Initial import of mod_mam
Import an implementation of XEP-0313: Message Archive Management,
version 0.3.
2015-02-06 14:15:30 +01:00