@@ -223,8 +223,8 @@ export class StateService {
223223 includeEvent = false ,
224224 ) : Promise < State > {
225225 this . logger . debug ( { eventId } , 'finding state before event' ) ;
226- const event = await this . eventRepository . findById ( eventId ) ;
227226
227+ const event = await this . eventRepository . findById ( eventId ) ;
228228 if ( ! event ) {
229229 this . logger . error ( { eventId } , 'event not found' ) ;
230230 throw new Error ( `Event ${ eventId } not found` ) ;
@@ -247,7 +247,6 @@ export class StateService {
247247 return new Map ( ) ;
248248 }
249249
250-
251250 console . log ( 'pdu ->>>' , pdu . isState ( ) , pdu . type ) ;
252251 // Retrieves a snapshot of a room's state at a given event, in the form of event IDs. This performs the same function as calling /state/{roomId}, however this returns just the event IDs rather than the full events.
253252 const stateId = ! pdu . isState ( )
@@ -257,6 +256,7 @@ export class StateService {
257256 const { delta : lastStateDelta , prevStateIds = [ ] } =
258257 ( await this . stateRepository . getStateById ( stateId ) ) ?? { } ;
259258
259+ console . log ( 'prevStateIds ->>>' , prevStateIds ) ;
260260 console . log ( 'stateId ->>>' , stateId ) ;
261261
262262 this . logger . debug ( { delta : lastStateDelta , prevStateIds } , 'last state' ) ;
@@ -266,28 +266,29 @@ export class StateService {
266266 throw new Error ( `State at event ${ eventId } not found` ) ;
267267 }
268268
269+ const state = new Map < StateMapKey , PersistentEventBase > ( ) ;
270+
269271 if ( prevStateIds . length === 0 ) {
270- const state = new Map < StateMapKey , PersistentEventBase > ( ) ;
271- const { identifier : stateKey , eventId : _lastStateEventId } =
272- lastStateDelta ;
273- const event = await this . eventRepository . findById ( eventId ) ;
274- if ( ! event ) {
275- throw new Error ( `Event ${ eventId } not found` ) ;
272+ const previous = await this . eventRepository . findById (
273+ lastStateDelta . eventId ,
274+ ) ;
275+ if ( ! previous ) {
276+ throw new Error ( `Event ${ lastStateDelta . eventId } not found` ) ;
276277 }
277278
278279 state . set (
279- stateKey as StateMapKey ,
280- PersistentEventFactory . createFromRawEvent ( event . event , roomVersion ) ,
280+ lastStateDelta . identifier ,
281+ PersistentEventFactory . createFromRawEvent ( previous . event , roomVersion ) ,
281282 ) ;
282283
283284 return state ;
284285 }
285286
286287 const stateMappings = await this . stateRepository
287- . getStateMappingsByStateIdsOrdered ( [ ... prevStateIds , stateId ] )
288+ . getStateMappingsByStateIdsOrdered ( prevStateIds )
288289 . toArray ( ) ;
289290
290- const state = new Map < StateMapKey , PersistentEventBase > ( ) ;
291+ console . log ( 'stateMappings ->' , stateMappings ) ;
291292
292293 for await ( const { delta } of stateMappings ) {
293294 const { identifier : stateKey , eventId } = delta ;
0 commit comments