diff --git a/syncapi/consumers/multiroomdata.go b/syncapi/consumers/multiroomdata.go index d58f2b185..a04f8affb 100644 --- a/syncapi/consumers/multiroomdata.go +++ b/syncapi/consumers/multiroomdata.go @@ -95,7 +95,7 @@ func (s *OutputMultiRoomDataConsumer) onMessage(ctx context.Context, msgs []*nat rooms, err := s.db.SelectMultiRoomVisibilityRooms(ctx, mrd.SelectMultiRoomVisibilityRoomsParams{ UserID: userID, - ExpireTs: time.Now().Unix(), + ExpireTs: time.Now().UnixMilli(), }) if err != nil { sentry.CaptureException(err) diff --git a/syncapi/storage/mrd/types.go b/syncapi/storage/mrd/types.go index a1bf76f81..927d52c0d 100644 --- a/syncapi/storage/mrd/types.go +++ b/syncapi/storage/mrd/types.go @@ -1,6 +1,6 @@ package mrd type StateEvent struct { - Hidden bool `json:"hidden"` - ExpireTs int `json:"expire_ts"` + Hidden bool `json:"hidden"` + ExpireTs int64 `json:"expire_ts"` } diff --git a/syncapi/storage/shared/storage_consumer.go b/syncapi/storage/shared/storage_consumer.go index d5a1c564f..4e47937c1 100644 --- a/syncapi/storage/shared/storage_consumer.go +++ b/syncapi/storage/shared/storage_consumer.go @@ -655,7 +655,7 @@ func (d *Database) UpdateMultiRoomVisibility(ctx context.Context, event *gomatri UserID: event.Sender(), Type: event.Type(), RoomID: event.RoomID(), - ExpireTs: int64(mrdEv.ExpireTs), + ExpireTs: mrdEv.ExpireTs, }) if err != nil { return fmt.Errorf("insert multiroom visibility failed: %w", err) diff --git a/syncapi/syncapi.go b/syncapi/syncapi.go index c6b1f4190..6e3d306f1 100644 --- a/syncapi/syncapi.go +++ b/syncapi/syncapi.go @@ -56,7 +56,7 @@ func AddPublicRoutes( go func() { var affected int64 for { - affected, err = mrq.DeleteMultiRoomVisibilityByExpireTS(context.Background(), time.Now().Unix()) + affected, err = mrq.DeleteMultiRoomVisibilityByExpireTS(context.Background(), time.Now().UnixMilli()) if err != nil { logrus.WithError(err).Error("failed to expire multiroom visibility") } diff --git a/syncapi/types/multiroom_test.go b/syncapi/types/multiroom_test.go index d2a49d480..265da23a9 100644 --- a/syncapi/types/multiroom_test.go +++ b/syncapi/types/multiroom_test.go @@ -14,8 +14,8 @@ func TestMarshallMultiRoom(t *testing.T) { "@3:example.com": map[string]MultiRoomData{ "location": { Content: MultiRoomContent(`{"foo":"bar"}`), - OriginServerTs: 123, + OriginServerTs: 1234567890000, }}}) is.NoErr(err) - is.Equal(m, []byte(`{"@3:example.com":{"location":{"content":{"foo":"bar"},"origin_server_ts":123}}}`)) + is.Equal(m, []byte(`{"@3:example.com":{"location":{"content":{"foo":"bar"},"origin_server_ts":1234567890000}}}`)) }