diff --git a/frontend/src/app/main/data/workspace/pages.cljs b/frontend/src/app/main/data/workspace/pages.cljs index c4a4452d2b..37d12730b8 100644 --- a/frontend/src/app/main/data/workspace/pages.cljs +++ b/frontend/src/app/main/data/workspace/pages.cljs @@ -88,7 +88,7 @@ (let [page (dsh/lookup-page state file-id page-id) uris (into #{} xf:collect-file-media (:objects page))] (rx/merge - (rx/of (ptk/data-event :page-initialized page-id)) + (rx/of (ptk/data-event ::initialized page-id)) (->> (rx/from uris) (rx/map #(http/fetch-data-uri % false)) (rx/ignore)) diff --git a/frontend/src/app/plugins/api.cljs b/frontend/src/app/plugins/api.cljs index 374ee5df44..6fe55c6415 100644 --- a/frontend/src/app/plugins/api.cljs +++ b/frontend/src/app/plugins/api.cljs @@ -27,6 +27,7 @@ [app.main.data.workspace.colors :as dwc] [app.main.data.workspace.groups :as dwg] [app.main.data.workspace.media :as dwm] + [app.main.data.workspace.pages :as dwpg] [app.main.data.workspace.selection :as dws] [app.main.data.workspace.variants :as dwv] [app.main.data.workspace.wasm-text :as dwwt] @@ -581,7 +582,7 @@ (js/Promise. (fn [resolve _] (->> st/stream - (rx/filter (ptk/type? :page-initialized)) + (rx/filter (ptk/type? ::dwpg/initialized)) (rx/filter #(= (deref %) id)) (rx/take 1) (rx/subs! #(resolve nil))) diff --git a/frontend/src/app/plugins/page.cljs b/frontend/src/app/plugins/page.cljs index 7e15c00404..57e37e4a5c 100644 --- a/frontend/src/app/plugins/page.cljs +++ b/frontend/src/app/plugins/page.cljs @@ -19,6 +19,7 @@ [app.main.data.workspace :as dw] [app.main.data.workspace.guides :as dwgu] [app.main.data.workspace.interactions :as dwi] + [app.main.data.workspace.pages :as dwpg] [app.main.repo :as rp] [app.main.router :as-alias rt] [app.main.store :as st] @@ -278,7 +279,7 @@ (js/Promise. (fn [resolve _] (->> st/stream - (rx/filter (ptk/type? :page-initialized)) + (rx/filter (ptk/type? ::dwpg/initialized)) (rx/filter #(= (deref %) id)) (rx/take 1) (rx/subs! #(resolve nil))) diff --git a/frontend/src/app/util/browser_history.js b/frontend/src/app/util/browser_history.js index 52831614b3..3bfdcb49ec 100644 --- a/frontend/src/app/util/browser_history.js +++ b/frontend/src/app/util/browser_history.js @@ -40,7 +40,7 @@ goog.scope(function() { }; self.set_token_BANG_ = function(instance, token) { - instance.setToken(token); + instance?.setToken(token); } self.replace_token_BANG_ = function(instance, token) { diff --git a/frontend/src/app/util/dom.cljs b/frontend/src/app/util/dom.cljs index 2b94869245..b80a385ad5 100644 --- a/frontend/src/app/util/dom.cljs +++ b/frontend/src/app/util/dom.cljs @@ -842,10 +842,11 @@ ([uri name] (open-new-window uri name "noopener,noreferrer")) ([uri name features] - (when-let [new-window (.open js/window (str uri) name features)] - (when (not= name "_blank") - (when-let [location (.-location new-window)] - (.reload location)))))) + (when (exists? js/window) + (when-let [new-window (.open js/window (str uri) name features)] + (when (not= name "_blank") + (when-let [location (.-location new-window)] + (.reload location))))))) (defn browser-back [] diff --git a/frontend/test/frontend_tests/plugins/page_test.cljs b/frontend/test/frontend_tests/plugins/page_test.cljs index 365157401c..496465ff10 100644 --- a/frontend/test/frontend_tests/plugins/page_test.cljs +++ b/frontend/test/frontend_tests/plugins/page_test.cljs @@ -7,6 +7,7 @@ (ns frontend-tests.plugins.page-test (:require [app.common.test-helpers.files :as cthf] + [app.main.data.workspace.pages :as dwpg] [app.main.store :as st] [app.plugins.api :as api] [app.util.object :as obj] @@ -28,10 +29,10 @@ (defn- mock-page-initialized "Simulates the two effects of initialize-page* without routing: - updates current-page-id in state, then emits the public :page-initialized event." + updates current-page-id in state, then emits the public ::dwpg/initialized event." [store page-id] (ptk/emit! store #(assoc % :current-page-id page-id)) - (ptk/emit! store (ptk/data-event :page-initialized page-id))) + (ptk/emit! store (ptk/data-event ::dwpg/initialized page-id))) (t/deftest test-open-page-returns-promise (let [{:keys [context]} (setup)