diff --git a/backend/cmd/sink/main.go b/backend/cmd/sink/main.go index fca491069..b6999dca9 100644 --- a/backend/cmd/sink/main.go +++ b/backend/cmd/sink/main.go @@ -78,7 +78,7 @@ func main() { // If message timestamp is empty, use at least ts of session start ts := message.Meta().Timestamp if ts == 0 { - //log.Printf("zero ts; sessID: %d, msg: %+v", sessionID, message) + log.Printf("zero ts; sessID: %d, msg: %+v", sessionID, message) } else { // Log ts of last processed message counter.Update(sessionID, time.UnixMilli(ts)) diff --git a/backend/internal/sink/assetscache/assets.go b/backend/internal/sink/assetscache/assets.go index 1996819de..7fc9f8257 100644 --- a/backend/internal/sink/assetscache/assets.go +++ b/backend/internal/sink/assetscache/assets.go @@ -26,30 +26,37 @@ func (e *AssetsCache) ParseAssets(sessID uint64, msg messages.Message) messages. switch m := msg.(type) { case *messages.SetNodeAttributeURLBased: if m.Name == "src" || m.Name == "href" { - log.Printf("accet for session: %d", sessID) - return &messages.SetNodeAttribute{ + newMsg := &messages.SetNodeAttribute{ ID: m.ID, Name: m.Name, Value: e.handleURL(sessID, m.BaseURL, m.Value), } + newMsg.SetMeta(msg.Meta()) + return newMsg } else if m.Name == "style" { - return &messages.SetNodeAttribute{ + newMsg := &messages.SetNodeAttribute{ ID: m.ID, Name: m.Name, Value: e.handleCSS(sessID, m.BaseURL, m.Value), } + newMsg.SetMeta(msg.Meta()) + return newMsg } case *messages.SetCSSDataURLBased: - return &messages.SetCSSData{ + newMsg := &messages.SetCSSData{ ID: m.ID, Data: e.handleCSS(sessID, m.BaseURL, m.Data), } + newMsg.SetMeta(msg.Meta()) + return newMsg case *messages.CSSInsertRuleURLBased: - return &messages.CSSInsertRule{ + newMsg := &messages.CSSInsertRule{ ID: m.ID, Index: m.Index, Rule: e.handleCSS(sessID, m.BaseURL, m.Rule), } + newMsg.SetMeta(msg.Meta()) + return newMsg } return msg } diff --git a/backend/pkg/messages/message.go b/backend/pkg/messages/message.go index d701d474f..c4066c225 100644 --- a/backend/pkg/messages/message.go +++ b/backend/pkg/messages/message.go @@ -9,6 +9,11 @@ func (m *message) Meta() *message { return m } +func (m *message) SetMeta(origin *message) { + m.Timestamp = origin.Timestamp + m.Index = origin.Index +} + type Message interface { Encode() []byte TypeID() int diff --git a/backend/pkg/url/assets/url.go b/backend/pkg/url/assets/url.go index b55921149..adb26e0aa 100644 --- a/backend/pkg/url/assets/url.go +++ b/backend/pkg/url/assets/url.go @@ -93,6 +93,5 @@ func (r *Rewriter) RewriteURL(sessionID uint64, baseURL string, relativeURL stri Host: r.assetsURL.Host, Scheme: r.assetsURL.Scheme, } - return u.String() }