Desktop: "Copy page URL" throws "Missing graph-id" and copies nothing
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 87/100
調査の方向性
src/main/frontend/components/page_menu.cljs と src/main/frontend/handler/page.cljs から始め、次に src/main/frontend/handler/graph.cljs の current-graph-id と src/main/frontend/util/url.cljs の URL 構築を追跡してください。まず no-sync DB グラフの手順を再現してください。完了の条件は、グラフ ID がない場合でも Copy page URL が例外を発生させず、有効な URL をコピーするか、利用可能な URL がないことを報告することです。
索引モデルが issue の本文から書いたものです。
説明
Steps
- In the desktop app, create a DB graph without sync (search "Add a DB graph", leave sync off, Submit).
- Open any page.
- Right-click the page title (or open the page's "..." menu) and click "Copy page URL".
Expected
A page URL is copied, or a message says the page has no URL to copy.
Actual
Nothing is copied and nothing is shown. The click handler throws Error: Missing graph-id, reported to the window as an uncaught exception.
Cause
The menu item (src/main/frontend/components/page_menu.cljs, shown on Electron and on native mobile) calls page-handler/copy-page-url (src/main/frontend/handler/page.cljs), which builds the URL with url-util/get-logseq-web-page-url config/app-website (graph-handler/current-graph-id) page-uuid. current-graph-id (src/main/frontend/handler/graph.cljs) returns a graph id only when the tab remembers one for the current graph, and get-logseq-web-page-url (src/main/frontend/util/url.cljs) throws (js/Error. "Missing graph-id") through required-url-part! when it is nil. copy-page-url checks only that the page uuid exists. The check came with ec0c01fd9 ("use graph identity in URLs", #12693).
Found by a monkey test (gremlins.js with trusted Playwright input) of the desktop app built from master 16c4ed1a0, seed 301, action 759 (a right-click on the page title, then "Copy page URL"). The steps above, run by hand on that build (a new graph, a new page, right-click on its title, "Copy page URL"), reproduced it 1 of 1 times.
- 主要言語
- 言語のデータがありません
- スター
- 28
- フォーク
- 2
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトの環境構築ファイルはまだ確認していません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
logseq/db-test のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
Pressing Delete after double-clicking a journal page's title row throws in keydown-delete-handlerオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
grumpycoders/pcsx-redux#2171 ·
メンテナーはふだん 1 日以内に返信
-
catalog-audit
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 80/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
coder/coder#30047 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信