EventStore.UI icon indicating copy to clipboard operation
EventStore.UI copied to clipboard

UI throws error (and displays blank screen) on duplicate events in stream

Open JulianMay opened this issue 9 years ago • 2 comments

I'm still uncertain wether this is supposed to be happening at all (I've tried and failed to describe the problem concise enough to get any clear response here: https://groups.google.com/d/topic/event-store/VQr_KEUP8wQ/discussion ), but at least the UI error is nice and concise: "Duplicates in a repeater are not allowed"

Screenshots and console output attached. Screenshot of postman to prove that there are events in the stream.

esui postman error

JulianMay avatar Nov 02 '15 07:11 JulianMay

Error: [ngRepeat:dupes] Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: event in streams track by event.title, Duplicate key: 3@RoomAllocationSchedule-305, Duplicate value: {"eventId":"27036f97-7043-4002-b830-f14b2a5c757e","eventType":"RoomFutureAvailabilityChanged","eventNumber":3,"data":"{\r\n  \"$type\": \"Xpectra.Events.Reservations.RoomFutureAvailabilityChanged, Xpectra.Core\",\r\n  \"RoomNumber\": \"305\",\r\n  \"RoomTypeCode\": \"DB\",\r\n  \"AvailablePeriodsFromToday\": {\r\n    \"$type\": \"Xpectra.Events.Reservations.RoomstayPeriod[], Xpectra.Core\",\r\n    \"$values\": [\r\n      {\r\n        \"$type\": \"Xpectra.Events.Reservations.RoomstayPeriod, Xpectra.Core\",\r\n        \"ArrivalYear\": 2015,\r\n        \"ArrivalMonth\": 11,\r\n        \"ArrivalDay\": 2,\r\n        \"DepartureYear\": 2015,\r\n        \"DepartureMonth\": 11,\r\n        \"DepartureDay\": 5\r\n      },\r\n      {\r\n        \"$type\": \"Xpectra.Events.Reservations.RoomstayPeriod, Xpectra.Core\",\r\n        \"ArrivalYear\": 2015,\r\n        \"ArrivalMonth\": 11,\r\n        \"ArrivalDay\": 8,\r\n        \"DepartureYear\": 9999,\r\n        \"DepartureMonth\": 12,\r\n        \"DepartureDay\": 31\r\n      }\r\n    ]\r\n  }\r\n}","metaData":"{\r\n  \"$type\": \"System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib\",\r\n  \"CommitId\": \"23caaf08-6706-4a14-a47c-35588781ff80\",\r\n  \"CorrelationId\": \"5a934d24-66b6-47b1-b757-4b24103d5d1d\",\r\n  \"AggregateClrTypeName\": \"Xpectra.Domain.Reservations.Aggregates.RoomAllocationScheduleAR, Xpectra.Core, Version=1.0.0.14437, Culture=neutral, PublicKeyToken=null\",\r\n  \"EventClrTypeName\": \"Xpectra.Events.Reservations.RoomFutureAvailabilityChanged, Xpectra.Core, Version=1.0.0.14437, Culture=neutral, PublicKeyToken=null\",\r\n  \"BoundedContext\": \"Reservations\"\r\n}","linkMetaData":"{\r\n  \"$v\": \"10:-1:0:3\",\r\n  \"$c\": 3586133,\r\n  \"$p\": 3586133,\r\n  \"$s\": {\r\n    \"RoomFutureAvailabilityChanged\": -1\r\n  },\r\n  \"$causedBy\": \"27036f97-7043-4002-b830-f14b2a5c757e\"\r\n}","streamId":"RoomAllocationSchedule-305","isJson":true,"isMetaData":true,"isLinkMetaData":true,"positionEventNumber":34,"positionStreamId":"Read_RoomAssignment_Candidates","title":"3@RoomAllocationSchedule-305","id":"http://localhost:2113/streams/RoomAllocationSchedule-305/3","updated":"2015-11-02T07:01:40.2412261Z","author":{"name":"EventStore"},"summary":"$>","links":[{"uri":"http://localhost:2113/streams/RoomAllocationSchedule-305/3","relation":"edit"},{"uri":"http://localhost:2113/streams/RoomAllocationSchedule-305/3","relation":"alternate"}]}
http://errors.angularjs.org/1.3.15/ngRepeat/dupes?p0=event%20in%20streams%2…mAllocationSchedule-305%2F3%22%2C%22relation%22%3A%22alternate%22%7D%5D%7D
    at js/app.min.js:1
    at js/app.min.js:4
    at Object.i [as fn] (js/app.min.js:2)
    at f.$digest (js/app.min.js:3)
    at f.$apply (js/app.min.js:3)
    at s (js/app.min.js:2)
    at v (js/app.min.js:2)
    at XMLHttpRequest.C.onload (js/app.min.js:2)(anonymous function) @ js/app.min.js:2
175app.min.js:2 Error: [ngRepeat:dupes] Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: event in streams track by event.title, Duplicate key: 3@RoomAllocationSchedule-305, Duplicate value: {"eventId":"27036f97-7043-4002-b830-f14b2a5c757e","eventType":"RoomFutureAvailabilityChanged","eventNumber":3,"data":"{\r\n  \"$type\": \"Xpectra.Events.Reservations.RoomFutureAvailabilityChanged, Xpectra.Core\",\r\n  \"RoomNumber\": \"305\",\r\n  \"RoomTypeCode\": \"DB\",\r\n  \"AvailablePeriodsFromToday\": {\r\n    \"$type\": \"Xpectra.Events.Reservations.RoomstayPeriod[], Xpectra.Core\",\r\n    \"$values\": [\r\n      {\r\n        \"$type\": \"Xpectra.Events.Reservations.RoomstayPeriod, Xpectra.Core\",\r\n        \"ArrivalYear\": 2015,\r\n        \"ArrivalMonth\": 11,\r\n        \"ArrivalDay\": 2,\r\n        \"DepartureYear\": 2015,\r\n        \"DepartureMonth\": 11,\r\n        \"DepartureDay\": 5\r\n      },\r\n      {\r\n        \"$type\": \"Xpectra.Events.Reservations.RoomstayPeriod, Xpectra.Core\",\r\n        \"ArrivalYear\": 2015,\r\n        \"ArrivalMonth\": 11,\r\n        \"ArrivalDay\": 8,\r\n        \"DepartureYear\": 9999,\r\n        \"DepartureMonth\": 12,\r\n        \"DepartureDay\": 31\r\n      }\r\n    ]\r\n  }\r\n}","metaData":"{\r\n  \"$type\": \"System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib\",\r\n  \"CommitId\": \"23caaf08-6706-4a14-a47c-35588781ff80\",\r\n  \"CorrelationId\": \"5a934d24-66b6-47b1-b757-4b24103d5d1d\",\r\n  \"AggregateClrTypeName\": \"Xpectra.Domain.Reservations.Aggregates.RoomAllocationScheduleAR, Xpectra.Core, Version=1.0.0.14437, Culture=neutral, PublicKeyToken=null\",\r\n  \"EventClrTypeName\": \"Xpectra.Events.Reservations.RoomFutureAvailabilityChanged, Xpectra.Core, Version=1.0.0.14437, Culture=neutral, PublicKeyToken=null\",\r\n  \"BoundedContext\": \"Reservations\"\r\n}","linkMetaData":"{\r\n  \"$v\": \"10:-1:0:3\",\r\n  \"$c\": 3586133,\r\n  \"$p\": 3586133,\r\n  \"$s\": {\r\n    \"RoomFutureAvailabilityChanged\": -1\r\n  },\r\n  \"$causedBy\": \"27036f97-7043-4002-b830-f14b2a5c757e\"\r\n}","streamId":"RoomAllocationSchedule-305","isJson":true,"isMetaData":true,"isLinkMetaData":true,"positionEventNumber":34,"positionStreamId":"Read_RoomAssignment_Candidates","title":"3@RoomAllocationSchedule-305","id":"http://localhost:2113/streams/RoomAllocationSchedule-305/3","updated":"2015-11-02T07:01:40.2412261Z","author":{"name":"EventStore"},"summary":"$>","links":[{"uri":"http://localhost:2113/streams/RoomAllocationSchedule-305/3","relation":"edit"},{"uri":"http://localhost:2113/streams/RoomAllocationSchedule-305/3","relation":"alternate"}]}
http://errors.angularjs.org/1.3.15/ngRepeat/dupes?p0=event%20in%20streams%2…mAllocationSchedule-305%2F3%22%2C%22relation%22%3A%22alternate%22%7D%5D%7D
    at app.min.js:1
    at app.min.js:4
    at Object.i [as fn] (app.min.js:2)
    at f.$digest (app.min.js:3)
    at f.$apply (app.min.js:3)
    at s (app.min.js:2)
    at v (app.min.js:2)
    at XMLHttpRequest.C.onload (app.min.js:2)(anonymous function) @ app.min.js:2(anonymous function) @ app.min.js:2f.$digest @ app.min.js:3f.$apply @ app.min.js:3s @ app.min.js:2v @ app.min.js:2C.onload @ app.min.js:2

JulianMay avatar Nov 02 '15 07:11 JulianMay

Just ran into this with a $bc stream with several duplicate events. eventstore 5.0.1.

FeepingCreature avatar Nov 06 '20 12:11 FeepingCreature