| author | Stephen Paul Weber
<singpolyma@singpolyma.net> 2025-03-04 16:21:40 UTC |
| committer | Stephen Paul Weber
<singpolyma@singpolyma.net> 2025-03-04 16:21:40 UTC |
| parent | a04f08a1bcec59067e6502ced2e5631389d7b6a7 |
| snikket/MessageSync.hx | +3 | -1 |
| snikket/queries/MAMQuery.hx | +2 | -0 |
diff --git a/snikket/MessageSync.hx b/snikket/MessageSync.hx index 2a2c325..e2853d7 100644 --- a/snikket/MessageSync.hx +++ b/snikket/MessageSync.hx @@ -25,7 +25,8 @@ class MessageSync { private var serviceJID:String; private var handler:MessageListHandler; private var errorHandler:(Stanza)->Void; - private var lastPage:ResultSetPageResult; + public var lastPage(default, null):ResultSetPageResult; + public var progress(default, null): Int = 0; private var complete:Bool = false; private var newestPageFirst:Bool = true; public var jmi(default, null): Map<String, Stanza> = []; @@ -60,6 +61,7 @@ class MessageSync { } var query = new MAMQuery(filter, serviceJID); var resultHandler = stream.on("message", function (event) { + progress++; var message:Stanza = event.stanza; var from = message.attr.exists("from") ? message.attr.get("from") : client.accountId(); if (from != serviceJID) { // Only listen for results from the JID we queried diff --git a/snikket/queries/MAMQuery.hx b/snikket/queries/MAMQuery.hx index ffd1ef3..6a37ec4 100644 --- a/snikket/queries/MAMQuery.hx +++ b/snikket/queries/MAMQuery.hx @@ -108,11 +108,13 @@ class MAMQuery extends GenericQuery { return null; } var rsmInfo = fin.getChild("set", "http://jabber.org/protocol/rsm"); + final count = rsmInfo.getChildText("count"); result = { complete: fin.attr.get("complete") == "true" || fin.attr.get("complete") == "1", page: { first: rsmInfo.getChildText("first"), last: rsmInfo.getChildText("last"), + count: count == null ? null : Std.parseInt(count) } }; }