From d67dbcf2aa536a04e3215bc9df5c75d5690ad50a Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Tue, 12 May 2020 13:03:49 +0200 Subject: [PATCH] :bug: Fix worker configuration initialization. --- frontend/gulpfile.js | 5 +++++ frontend/src/uxbox/config.cljs | 7 ++++-- .../src/uxbox/main/ui/workspace/drawarea.cljs | 1 - frontend/src/uxbox/main/worker.cljs | 9 ++++++-- frontend/src/uxbox/worker.cljs | 14 +++++++++++- frontend/src/uxbox/worker/impl.cljs | 8 ++++++- frontend/src/uxbox/worker/thumbnails.cljs | 22 ++++++++++--------- manage.sh | 1 + 8 files changed, 50 insertions(+), 17 deletions(-) diff --git a/frontend/gulpfile.js b/frontend/gulpfile.js index e721dc59b..615855fa7 100644 --- a/frontend/gulpfile.js +++ b/frontend/gulpfile.js @@ -95,6 +95,7 @@ function readLocales() { function readConfig(data) { const publicURL = process.env.UXBOX_PUBLIC_URL; + const backendURL = process.env.UXBOX_BACKEND_URL; const demoWarn = process.env.UXBOX_DEMO_WARNING; const deployDate = process.env.UXBOX_DEPLOY_DATE; const deployCommit = process.env.UXBOX_DEPLOY_COMMIT; @@ -107,6 +108,10 @@ function readConfig(data) { cfg.publicURL = publicURL; } + if (backendURL !== undefined) { + cfg.backendURL = backendURL; + } + if (deployDate !== undefined) { cfg.deployDate = deployDate; } diff --git a/frontend/src/uxbox/config.cljs b/frontend/src/uxbox/config.cljs index c351f0575..6b2bd60cf 100644 --- a/frontend/src/uxbox/config.cljs +++ b/frontend/src/uxbox/config.cljs @@ -12,9 +12,12 @@ (this-as global (let [config (obj/get global "uxboxConfig") - url (obj/get config "publicURL" "http://localhost:6060") + purl (obj/get config "publicURL" "http://localhost:3449") + burl (obj/get config "backendURL" "http://localhost:6060") warn (obj/get config "demoWarning" true)] (def default-language "en") (def demo-warning warn) - (def url url) + (def url burl) + (def backend-url burl) + (def public-url purl) (def default-theme "default"))) diff --git a/frontend/src/uxbox/main/ui/workspace/drawarea.cljs b/frontend/src/uxbox/main/ui/workspace/drawarea.cljs index ad0dcf91f..a55f17bd5 100644 --- a/frontend/src/uxbox/main/ui/workspace/drawarea.cljs +++ b/frontend/src/uxbox/main/ui/workspace/drawarea.cljs @@ -276,7 +276,6 @@ (ptk/reify ::handle-drawing-curve ptk/WatchEvent (watch [_ state stream] - (prn "handle-drawing-curve") (let [{:keys [flags]} (:workspace-local state) stoper (rx/filter stoper-event? stream) mouse (rx/sample 10 ms/mouse-position)] diff --git a/frontend/src/uxbox/main/worker.cljs b/frontend/src/uxbox/main/worker.cljs index af4a92c5e..384be20d9 100644 --- a/frontend/src/uxbox/main/worker.cljs +++ b/frontend/src/uxbox/main/worker.cljs @@ -12,7 +12,9 @@ [cljs.spec.alpha :as s] [uxbox.config :as cfg] [uxbox.common.spec :as us] - [uxbox.util.worker :as uw])) + [uxbox.util.worker :as uw]) + (:import + goog.Uri)) (defn on-error [instance error] @@ -20,7 +22,10 @@ (defonce instance (when (not= *target* "nodejs") - (uw/init "js/worker.js" on-error))) + (let [uri (Uri. cfg/public-url)] + (.setPath uri "js/worker.js") + (.setParameterValue uri "backendURL" cfg/backend-url) + (uw/init (.toString uri) on-error)))) (defn ask! [message] diff --git a/frontend/src/uxbox/worker.cljs b/frontend/src/uxbox/worker.cljs index 3cd00e7bd..1e940c7f0 100644 --- a/frontend/src/uxbox/worker.cljs +++ b/frontend/src/uxbox/worker.cljs @@ -20,8 +20,20 @@ [uxbox.worker.selection] [uxbox.worker.thumbnails] [uxbox.worker.snaps] + [uxbox.util.object :as obj] [uxbox.util.transit :as t] - [uxbox.util.worker :as w])) + [uxbox.util.worker :as w]) + (:import goog.Uri)) + +;; --- Initialization + +(this-as global + (let [location (obj/get global "location") + uri (Uri. (obj/get location "href")) + buri (.getParameterValue uri "backendURL")] + (swap! impl/config assoc :backend-url buri))) + +;; --- Messages Handling (s/def ::cmd keyword?) (s/def ::payload diff --git a/frontend/src/uxbox/worker/impl.cljs b/frontend/src/uxbox/worker/impl.cljs index 3289cf55d..8004bb4fc 100644 --- a/frontend/src/uxbox/worker/impl.cljs +++ b/frontend/src/uxbox/worker/impl.cljs @@ -5,10 +5,16 @@ ;; Copyright (c) 2016 Andrey Antukh (ns uxbox.worker.impl - (:require [uxbox.util.transit :as t])) + (:require + [okulary.core :as l] + [uxbox.util.transit :as t])) (enable-console-print!) +;; --- Config + +(defonce config (l/atom {})) + ;; --- Handler (defmulti handler :cmd) diff --git a/frontend/src/uxbox/worker/thumbnails.cljs b/frontend/src/uxbox/worker/thumbnails.cljs index 55e3ea421..cff6157e5 100644 --- a/frontend/src/uxbox/worker/thumbnails.cljs +++ b/frontend/src/uxbox/worker/thumbnails.cljs @@ -33,16 +33,18 @@ (defn- request-page [id] - (p/create - (fn [resolve reject] - (->> (http/send! {:url "http://localhost:6060/api/w/query/page" - :query {:id id} - :method :get}) - (rx/mapcat handle-response) - (rx/subs (fn [body] - (resolve (:data body))) - (fn [error] - (reject error))))))) + (let [url (get @impl/config :backend-url "http://localhost:6060") + url (str url "/api/w/query/page")] + (p/create + (fn [resolve reject] + (->> (http/send! {:url url + :query {:id id} + :method :get}) + (rx/mapcat handle-response) + (rx/subs (fn [body] + (resolve (:data body))) + (fn [error] + (reject error)))))))) (defmethod impl/handler :thumbnails/generate [{:keys [id] :as message}] diff --git a/manage.sh b/manage.sh index d959f526a..6745dd4ce 100755 --- a/manage.sh +++ b/manage.sh @@ -56,6 +56,7 @@ function build-frontend { --mount source=${HOME}/.m2,type=bind,target=/home/uxbox/.m2 \ -w /home/uxbox/uxbox/frontend \ -e UXBOX_PUBLIC_URL=${UXBOX_PUBLIC_URL} \ + -e UXBOX_BACKEND_URL=${UXBOX_BACKEND_URL} \ -e UXBOX_DEMO_WARNING=${UXBOX_DEMO_WARNING} \ -e UXBOX_DEPLOY_DATE=${UXBOX_DEPLOY_DATE} \ -e UXBOX_DEPLOY_COMMIT=${UXBOX_DEPLOY_COMMIT} \