diff --git a/knotserver/events.go b/knotserver/events.go --- a/knotserver/events.go +++ b/knotserver/events.go @@ -43,10 +43,14 @@ } }() + defaultCursor := time.Now().UnixNano() cursorStr := r.URL.Query().Get("cursor") cursor, err := strconv.ParseInt(cursorStr, 10, 64) if err != nil { - l.Error("empty or invalid cursor, defaulting to zero", "invalidCursor", cursorStr) + l.Error("empty or invalid cursor", "invalidCursor", cursorStr, "default", defaultCursor) + } + if cursor == 0 { + cursor = defaultCursor } // complete backfill first before going to live data diff --git a/knotserver/db/events.go b/knotserver/db/events.go --- a/knotserver/db/events.go +++ b/knotserver/db/events.go @@ -2,6 +2,7 @@ import ( "fmt" + "time" "tangled.sh/tangled.sh/core/notifier" ) @@ -16,10 +17,11 @@ func (d *DB) InsertEvent(event Event, notifier *notifier.Notifier) error { _, err := d.db.Exec( - `insert into events (rkey, nsid, event) values (?, ?, ?)`, + `insert into events (rkey, nsid, event, created) values (?, ?, ?, ?)`, event.Rkey, event.Nsid, event.EventJson, + time.Now().UnixNano(), ) notifier.NotifyAll()