Merge branch 'master' into refactor/page-parent

This commit is contained in:
Tienson Qin
2025-06-16 16:26:56 +08:00
committed by GitHub
3 changed files with 73 additions and 3 deletions

View File

@@ -2,7 +2,8 @@
(:require [logseq.e2e.keyboard :as k]
[logseq.e2e.util :as util]
[wally.main :as w]
[wally.selectors :as ws])
[wally.selectors :as ws]
[logseq.e2e.block :as b])
(:import (com.microsoft.playwright TimeoutError)))
(defn goto-page
@@ -30,3 +31,10 @@
(w/click "button[title='More']")
(w/click "[role='menuitem'] div:text('Delete page')")
(w/click "div[role='alertdialog'] button:text('ok')"))
(defn rename-page
[old-page-name new-page-name]
(goto-page old-page-name)
(w/click "div[data-testid='page title']")
(b/save-block new-page-name)
(k/esc))

View File

@@ -15,7 +15,8 @@
[logseq.e2e.rtc :as rtc]
[logseq.e2e.settings :as settings]
[logseq.e2e.util :as util]
[wally.main :as w]))
[wally.main :as w]
[wally.repl :as repl]))
(defn- prepare-rtc-graph-fixture
"open 2 app instances, add a rtc graph, check this graph available on other instance"
@@ -286,3 +287,63 @@ page2:
(k/enter)
(b/indent)))
(validate-2-graphs))))
(deftest rtc-page-test
(let [prefix "rtc-page-test-"]
;; (testing "create same name page in different clients.
;; - client1: offline, create page1
;; - client2: offline, create page1
;; - restart rtc"
;; (rtc/with-stop-restart-rtc
;; [@*page1 @*page2]
;; [@*page1 (rtc/with-wait-tx-updated (b/new-block "pw1-done-1"))
;; @*page2 (rtc/with-wait-tx-updated (b/new-block "pw2-done-1"))]
;; (w/with-page @*page1
;; (page/new-page (str prefix 1)))
;; (w/with-page @*page2
;; (page/new-page (str prefix 1))))
;; (validate-2-graphs))
;; (testing "
;; - client1: offline, add blocks on page-2
;; - client2: offline, delete page-2"
;; (let [page-name (str prefix 2)]
;; (let [*latest-remote-tx (atom nil)]
;; (w/with-page @*page1
;; (let [{:keys [_local-tx remote-tx]}
;; (rtc/with-wait-tx-updated
;; (page/new-page page-name))]
;; (reset! *latest-remote-tx remote-tx)))
;; (w/with-page @*page2
;; (rtc/wait-tx-update-to @*latest-remote-tx)))
;; (validate-2-graphs)
;; (rtc/with-stop-restart-rtc
;; [@*page1 @*page2]
;; [@*page1 (rtc/with-wait-tx-updated (b/new-block "pw1-done-2"))
;; @*page2 (rtc/with-wait-tx-updated (b/new-block "pw2-done-2"))]
;; (w/with-page @*page1
;; (b/new-blocks (map #(str "block-" %) (range 5))))
;; (w/with-page @*page2
;; (page/delete-page page-name)))
;; (validate-2-graphs)))
(testing "page rename"
(let [page-name (str prefix 3)]
(let [*latest-remote-tx (atom nil)]
(w/with-page @*page1
(let [{:keys [_local-tx remote-tx]}
(rtc/with-wait-tx-updated
(page/new-page page-name))]
(reset! *latest-remote-tx remote-tx)))
(w/with-page @*page2
(rtc/wait-tx-update-to @*latest-remote-tx)))
(validate-2-graphs)
(rtc/with-stop-restart-rtc
[@*page1 @*page2]
[@*page1 (rtc/with-wait-tx-updated (b/new-block "pw1-done-3"))
@*page2 (rtc/with-wait-tx-updated (b/new-block "pw2-done-3"))]
(w/with-page @*page1
(page/rename-page page-name (str page-name "-rename1")))
(w/with-page @*page2
(page/rename-page page-name (str page-name "-rename2"))))
(validate-2-graphs)))))

View File

@@ -63,7 +63,8 @@
(boolean (text-util/get-matched-video url))
(util/format "{{video %s}}" url)
(or (string/includes? url "twitter.com") (string/includes? url "x.com"))
(or (re-matches #"^https://twitter\.com.*?$" url)
(re-matches #"^https://x\.com.*?$" url))
(util/format "{{twitter %s}}" url)))
(defn- try-parse-as-json