EventStore.UI
EventStore.UI copied to clipboard
UI throws error (and displays blank screen) on duplicate events in stream
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.
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
Just ran into this with a $bc stream with several duplicate events. eventstore 5.0.1.