From 941f65d388c59eed34216d6fc06dfbf68f479fe5 Mon Sep 17 00:00:00 2001 From: Daniel Aloni Date: Tue, 11 Apr 2023 13:36:35 +0300 Subject: [PATCH 1/2] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20Milliseconds=20instead?= =?UTF-8?q?=20of=20seconds=20for=20MR.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- syncapi/consumers/multiroomdata.go | 2 +- syncapi/storage/mrd/types.go | 4 ++-- syncapi/storage/shared/storage_consumer.go | 2 +- syncapi/syncapi.go | 2 +- syncapi/types/multiroom_test.go | 4 ++-- 5 files changed, 7 insertions(+), 7 deletions(-) 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}}}`)) } From cf12410d393020454c7e583685218d3a8bec26cc Mon Sep 17 00:00:00 2001 From: Daniel Aloni Date: Tue, 11 Apr 2023 14:50:00 +0300 Subject: [PATCH 2/2] =?UTF-8?q?=E2=9C=9A=20Use=20go=20install=20for=20comp?= =?UTF-8?q?lement=20dependencies=20+=20another=20ms=20update.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/dendrite.yml | 2 +- syncapi/storage/postgres/multiroomcast_table.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/dendrite.yml b/.github/workflows/dendrite.yml index fa8fcfdaa..da24d7bc6 100644 --- a/.github/workflows/dendrite.yml +++ b/.github/workflows/dendrite.yml @@ -377,7 +377,7 @@ jobs: # See https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu2004-Readme.md specifically GOROOT_1_17_X64 run: | sudo apt-get update && sudo apt-get install -y libolm3 libolm-dev - go get -v github.com/gotesttools/gotestfmt/v2/cmd/gotestfmt@latest + go install github.com/gotesttools/gotestfmt/v2/cmd/gotestfmt@latest - name: Run actions/checkout@v3 for dendrite uses: actions/checkout@v3 with: diff --git a/syncapi/storage/postgres/multiroomcast_table.go b/syncapi/storage/postgres/multiroomcast_table.go index 7c819433d..cc07cdda6 100644 --- a/syncapi/storage/postgres/multiroomcast_table.go +++ b/syncapi/storage/postgres/multiroomcast_table.go @@ -51,7 +51,7 @@ func (s *multiRoomStatements) SelectMultiRoomData(ctx context.Context, r *types. for rows.Next() { r := types.MultiRoomDataRow{} err = rows.Scan(&r.UserId, &r.Type, &r.Data, &t) - r.Timestamp = t.Unix() + r.Timestamp = t.UnixMilli() if err != nil { return nil, fmt.Errorf("rows scan: %w", err) }