Comments (3)
Sorry for such a late response. Usually, regular XMPP clients sends initial presence to the server just after establishing the session and waits for the presence reply. This is what escalus_story
tries to simulate in https://github.com/esl/escalus/blob/master/src/escalus_story.erl#L133-L134. You can set your own initial_activity
if you don't want to send the initial presence.
from escalus.
It is ok that client sends initial presence. The wrong thing is that escalus waits ONLY for presence reply. It means that server should not send offline messages to client until it send presence reply first. I 'm using ejabberd server version 18.04 and default mod_offline, sends offline messages before presence reply. What's more this behaviour of escalus is not consistent with XEP-0160 (https://xmpp.org/extensions/xep-0160.html).
from escalus.
I see your point. You can change the way escalus_story
behaves by providing other function to initial_activity
by setting is in escalus_overrides
. Sth like the following should work
[{escalus_overrides,
[{initial_activity, [{your_module, your_function}]}]} | Config]
In your function you can stop sending the initial presence, or send it but consume all the offline messages.
Please consult the escalus_overridables
module for more details.
from escalus.
Related Issues (20)
- Race condition in reset function HOT 1
- Shortcut for calling user by atom HOT 2
- Tag OTP19 support HOT 1
- Elixir support? HOT 6
- Escalus basic example issue HOT 4
- [ Roster] How can I manipulate user roster ?
- 1012 connections in time max HOT 9
- Exception in user creation via xmpp HOT 1
- Escalus - basic example issues (not sure if related to #130) HOT 3
- Cannot resolve meck dependency HOT 1
- Changing domain in config file causes crash HOT 2
- Support for XEP-0105 Extended Capabilities ?
- Documentation
- Make it possible to provide custom TCP options HOT 1
- Setting filter_pred and stream_management=true breaks automatic SM HOT 1
- How to use escalus component from elixir?
- econnrefused errors give no insight to cause
- Certificate Based Logins HOT 1
- RFC 9266: Channel Bindings for TLS 1.3 support HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from escalus.