Compare commits

...

4 Commits

Author SHA1 Message Date
Lea Anthony
d9f3f19f26 Lintastic update 2020-08-21 19:47:46 +10:00
Lea Anthony
941bd439c6 Lint fix 2020-08-21 15:15:46 +10:00
Lea Anthony
d0c2d28311 Add artem to Contributors 2020-08-21 14:30:12 +10:00
Lea Anthony
7385bf48da Use double encoding for notify data 2020-08-21 14:28:29 +10:00
3 changed files with 18 additions and 3 deletions

View File

@@ -30,3 +30,4 @@ Wails is what it is because of the time and effort given by these great people.
* [Florian Didron](https://github.com/fdidron)
* [Christopher Murphy](https://github.com/Splode)
* [Zámbó, Levente](https://github.com/Lyimmi)
* [artem](https://github.com/Unix4ever)

View File

@@ -152,12 +152,19 @@ func (h *Bridge) NotifyEvent(event *messages.EventData) error {
// Marshall the data
data, err = json.Marshal(event.Data)
if err != nil {
h.log.Errorf("Cannot unmarshall JSON data in event: %s ", err.Error())
h.log.Errorf("Cannot marshal JSON data in event: %s ", err.Error())
return err
}
}
message := "window.wails._.Notify('" + event.Name + "','" + string(data) + "')"
// Double encode data to ensure everything is escaped correctly.
data, err = json.Marshal(string(data))
if err != nil {
h.log.Errorf("Cannot marshal JSON data in event: %s ", err.Error())
return err
}
message := "window.wails._.Notify('" + event.Name + "'," + string(data) + ")"
dead := []*session{}
for _, session := range h.sessions {
err := session.evalJS(message, notifyMessage)

View File

@@ -329,7 +329,14 @@ func (w *WebView) NotifyEvent(event *messages.EventData) error {
}
}
message := fmt.Sprintf("wails._.Notify('%s','%s')", event.Name, data)
// Double encode data to ensure everything is escaped correctly.
data, err = json.Marshal(string(data))
if err != nil {
w.log.Errorf("Cannot marshal JSON data in event: %s ", err.Error())
return err
}
message := "window.wails._.Notify('" + event.Name + "'," + string(data) + ")"
return w.evalJS(message)
}