From cfc354b8ad544ad35937641558ed013b970bb92c Mon Sep 17 00:00:00 2001 From: frikky Date: Fri, 15 Oct 2021 02:20:08 +0200 Subject: [PATCH] #532: Fixed unicode translation issue in apps --- backend/go-app/main.go | 6 +++--- backend/go-app/{run.sh => run} | 0 frontend/src/views/AppCreator.jsx | 8 +++++++- 3 files changed, 10 insertions(+), 4 deletions(-) rename backend/go-app/{run.sh => run} (100%) diff --git a/backend/go-app/main.go b/backend/go-app/main.go index 2b644674..cdece1bb 100644 --- a/backend/go-app/main.go +++ b/backend/go-app/main.go @@ -3075,7 +3075,7 @@ func buildSwaggerApp(resp http.ResponseWriter, body []byte, user shuffle.User) { basePath, err := shuffle.BuildStructure(swagger, newmd5) if err != nil { - log.Printf("Failed to build base structure: %s", err) + log.Printf("[WARNING] Failed to build base structure: %s", err) resp.WriteHeader(500) resp.Write([]byte(`{"success": false, "reason": "Failed building baseline structure"}`)) return @@ -3094,7 +3094,7 @@ func buildSwaggerApp(resp http.ResponseWriter, body []byte, user shuffle.User) { // Can't overwrite existing normal app workflowApps, err := shuffle.GetPrioritizedApps(ctx, user) if err != nil { - log.Printf("Failed getting all workflow apps from database to verify: %s", err) + log.Printf("[WARNING] Failed getting all workflow apps from database to verify: %s", err) resp.WriteHeader(401) resp.Write([]byte(`{"success": false, "reason": "Failed to verify existence"}`)) return @@ -3114,7 +3114,7 @@ func buildSwaggerApp(resp http.ResponseWriter, body []byte, user shuffle.User) { err = shuffle.DumpApi(basePath, api) if err != nil { - log.Printf("Failed dumping yaml: %s", err) + log.Printf("[WARNING] Failed dumping yaml: %s", err) resp.WriteHeader(500) resp.Write([]byte(`{"success": false, "reason": "Failed dumping yaml"}`)) return diff --git a/backend/go-app/run.sh b/backend/go-app/run similarity index 100% rename from backend/go-app/run.sh rename to backend/go-app/run diff --git a/frontend/src/views/AppCreator.jsx b/frontend/src/views/AppCreator.jsx index 204bfb8a..5554e204 100644 --- a/frontend/src/views/AppCreator.jsx +++ b/frontend/src/views/AppCreator.jsx @@ -426,10 +426,16 @@ const AppCreator = (props) => { return newitem } + const base64_decode = (str) => { + return decodeURIComponent(atob(str).split('').map(function(c) { + return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2); + }).join('')) + } + // Sets the data up as it should be at later points // This is the data FROM the database, not what's being saved const parseIncomingOpenapiData = (data) => { - const parsedapp = data.openapi === undefined ? data : JSON.parse(atob(data.openapi)) + const parsedapp = data.openapi === undefined ? data : JSON.parse(base64_decode(data.openapi)) data = parsedapp.body === undefined ? parsedapp : parsedapp.body var jsonvalid = false