Compare commits

..

3 Commits

Author SHA1 Message Date
138edffb0a chore(release): publish packages
- moxxmpp@0.1.5
 - moxxmpp_socket_tcp@0.1.2+7
2022-11-22 22:49:41 +01:00
eb8f6ba17a feat: Message events now contain the stanza error, if available 2022-11-22 22:49:10 +01:00
beff05765b chore(release): publish packages
- moxxmpp@0.1.4
 - moxxmpp_socket_tcp@0.1.2+6
2022-11-21 16:06:49 +01:00
8 changed files with 48 additions and 6 deletions

View File

@ -16,10 +16,10 @@ dependencies:
version: 0.1.4+1
moxxmpp:
hosted: https://git.polynom.me/api/packages/Moxxy/pub
version: 0.1.3+1
version: 0.1.5
moxxmpp_socket_tcp:
hosted: https://git.polynom.me/api/packages/Moxxy/pub
version: 0.1.2+5
version: 0.1.2+7
dev_dependencies:
flutter_test:

View File

@ -1,3 +1,12 @@
## 0.1.5
- **FEAT**: Message events now contain the stanza error, if available.
## 0.1.4
- **FIX**: Only stanza-id required 'sid:0' support.
- **FEAT**: Implement parsing and sending of retractions.
## 0.1.3+1
- **FIX**: Expose the error classes.

View File

@ -63,6 +63,7 @@ class MessageEvent extends XmppEvent {
required this.isMarkable,
required this.encrypted,
required this.other,
this.error,
this.type,
this.oob,
this.sfs,
@ -74,6 +75,7 @@ class MessageEvent extends XmppEvent {
this.funCancellation,
this.messageRetraction,
});
final StanzaError? error;
final String body;
final JID fromJid;
final JID toJid;

View File

@ -99,6 +99,7 @@ class MessageManager extends XmppManagerBase {
encrypted: state.encrypted,
messageRetraction: state.messageRetraction,
other: state.other,
error: StanzaError.fromStanza(message),
),);
return state.copyWith(done: true);

View File

@ -1,6 +1,28 @@
import 'package:moxxmpp/src/namespaces.dart';
import 'package:moxxmpp/src/stringxml.dart';
/// A simple description of the <error /> element that may be inside a stanza
class StanzaError {
StanzaError(this.type, this.error);
String type;
String error;
/// Returns a StanzaError if [stanza] contains a <error /> element. If not, returns
/// null.
static StanzaError? fromStanza(Stanza stanza) {
final error = stanza.firstTag('error');
if (error == null) return null;
final stanzaError = error.firstTagByXmlns(fullStanzaXmlns);
if (stanzaError == null) return null;
return StanzaError(
error.attributes['type']! as String,
stanzaError.tag,
);
}
}
class Stanza extends XMLNode {
// ignore: use_super_parameters
Stanza({ this.to, this.from, this.type, this.id, List<XMLNode> children = const [], required String tag, Map<String, String> attributes = const {} }) : super(

View File

@ -1,6 +1,6 @@
name: moxxmpp
description: A pure-Dart XMPP library
version: 0.1.3+1
version: 0.1.5
homepage: https://codeberg.org/moxxy/moxxmpp
publish_to: https://git.polynom.me/api/packages/Moxxy/pub
@ -31,6 +31,6 @@ dev_dependencies:
build_runner: ^2.1.11
moxxmpp_socket_tcp:
hosted: https://git.polynom.me/api/packages/Moxxy/pub
version: ^0.1.2+5
version: ^0.1.2+7
test: ^1.16.0
very_good_analysis: ^3.0.1

View File

@ -1,3 +1,11 @@
## 0.1.2+7
- Update a dependency to the latest release.
## 0.1.2+6
- Update a dependency to the latest release.
## 0.1.2+5
- Update a dependency to the latest release.

View File

@ -1,6 +1,6 @@
name: moxxmpp_socket_tcp
description: A socket for moxxmpp using TCP that implements the RFC6120 connection algorithm and XEP-0368
version: 0.1.2+5
version: 0.1.2+7
homepage: https://codeberg.org/moxxy/moxxmpp
publish_to: https://git.polynom.me/api/packages/Moxxy/pub
@ -12,7 +12,7 @@ dependencies:
meta: ^1.6.0
moxxmpp:
hosted: https://git.polynom.me/api/packages/Moxxy/pub
version: ^0.1.3+1
version: ^0.1.5
dev_dependencies:
lints: ^2.0.0