@@ -151,18 +151,17 @@ var UniversalBot = (function (_super) {
151
151
text : '' ,
152
152
user : user
153
153
} ;
154
- if ( msg . address . conversation ) {
155
- delete msg . address . conversation ;
156
- }
157
154
_this . ensureConversation ( msg . address , function ( adr ) {
158
155
msg . address = adr ;
156
+ var conversationId = msg . address . conversation ? msg . address . conversation . id : null ;
159
157
var storageCtx = {
160
158
userId : msg . user . id ,
159
+ conversationId : conversationId ,
161
160
address : msg . address ,
162
161
persistUserData : _this . settings . persistUserData ,
163
162
persistConversationData : _this . settings . persistConversationData
164
163
} ;
165
- _this . route ( storageCtx , msg , dialogId , dialogArgs , _this . errorLogger ( done ) ) ;
164
+ _this . route ( storageCtx , msg , dialogId , dialogArgs , _this . errorLogger ( done ) , true ) ;
166
165
} , _this . errorLogger ( done ) ) ;
167
166
} , this . errorLogger ( done ) ) ;
168
167
} ;
@@ -226,8 +225,9 @@ var UniversalBot = (function (_super) {
226
225
} , _this . errorLogger ( cb ) ) ;
227
226
} , this . errorLogger ( cb ) ) ;
228
227
} ;
229
- UniversalBot . prototype . route = function ( storageCtx , message , dialogId , dialogArgs , done ) {
228
+ UniversalBot . prototype . route = function ( storageCtx , message , dialogId , dialogArgs , done , newStack ) {
230
229
var _this = this ;
230
+ if ( newStack === void 0 ) { newStack = false ; }
231
231
var loadedData ;
232
232
this . getStorageData ( storageCtx , function ( data ) {
233
233
var session = new ses . Session ( {
@@ -257,7 +257,7 @@ var UniversalBot = (function (_super) {
257
257
session . conversationData = data . conversationData || { } ;
258
258
session . privateConversationData = data . privateConversationData || { } ;
259
259
if ( session . privateConversationData . hasOwnProperty ( consts . Data . SessionState ) ) {
260
- sessionState = session . privateConversationData [ consts . Data . SessionState ] ;
260
+ sessionState = newStack ? null : session . privateConversationData [ consts . Data . SessionState ] ;
261
261
delete session . privateConversationData [ consts . Data . SessionState ] ;
262
262
}
263
263
loadedData = data ;
0 commit comments