Merging of pages doesn't work
Nobody has claimed this yet.
- Dominant language
- Clojure
- Stars
- 297
- Forks
- 52
- PR merge metrics
- No merged PRs in 30d
Description
### Search first
- [x] I searched and no similar issues were found
### What Happened?
When a page is merged with another page, the resulting reference count is not updating correctly, unless the reference to the page to be merged is in the child node of the node containing the reference to the page to be merged with.
e.g. Merging #B with #A as follows, doesn't result in increased count of references to page #A
- #A
- #B
, but when #B is in a child node of #A ...
- #A
--- #B
.... .it works as expected.
Detailed description of the anomalies observed is provided in the "Reproduce the Bug" section.
Also, the symptoms I experienced are already described thoroughly in the following links:
1. [merging pages are incorrect #8286](https://github.com/logseq/logseq/issues/8286)
2. [marging pages isn't working](https://discuss.logseq.com/t/merging-pages-isnt-working/22083)
### Reproduce the Bug
1.Create 2 sibling blocks containing 2 different page references, e.g: "A1" and "A2" in them
- Block 1 #A1
- Block 2 #A2 ; ( to be merged with "A1")
2. Verify that both "A1" and "A2" have one linked reference each... and multiple unlinked ones.
3. Merge "A2" to "A1" ( by opening the "A2" page, renaming "A2" to "A1" and clicking "yes" on the resulting dialog box i..e "Page “A1” already exists, merge to it?")
4. Open "A1" page. There is '1 Linked Reference to "A1" listed where 2 are expected. Restarting #Logseq doesn't change that.
>> NOTE: if content of the parent block of blocks "Block 1..." and "Block 2..." is edited in some way, e.g. by adding space before "Create", the reference count in the "A1" page will update correctly.
Editing the content of "Block 2" also results in correct number of references.
Editing the content of "Block 1" doesn't affect the number of listed linked references. (???)
6. ! When "Block 2" is a child of "Block 1", the inconsistencies described above don't occur.
----------------------
The following markdown can be pasted into a Logseq page:
```
-
- 1.Create 2 sibling blocks containing 2 different page references, e.g: "A1" and "A2" in them
logseq.order-list-type:: number
- Block 1 #A1
- Block 2 #A2 ; ( to be merged with "A1")
- Verify that both "A1" and "A2" have one linked reference each... and multiple unlinked ones.
logseq.order-list-type:: number
- Merge "A2" to "A1" ( by opening the "A2" page, renaming "A2" to "A1" and clicking "yes" on the resulting dialog box i..e "Page “A1” already exists, merge to it?")
logseq.order-list-type:: number
- Open "A1" page. There is '1 Linked Reference to "A1" listed where 2 are expected. Restarting #Logseq doesn't change that.
logseq.order-list-type:: number
> NOTE: if content of the parent block of blocks "Block 1..." and "Block 2..." is edited in some way, e.g. by adding space before "Create", the reference count in the "A1" page will update correctly.
Editing the content of "Block 2" also results in correct number of references.
Editing the content of "Block 1" doesn't affect the number of listed linked references. (???)
- ! When "Block 2" is a child of "Block 1", the inconsistencies described above don't occur.
logseq.order-list-type:: number
```
### Expected Behavior
after merging pages, all of them should appear as linked references?
(the above paragraph is an excerpt from [merging pages are incorrect #8286](https://github.com/logseq/logseq/issues/8286)
### Screenshots
_No response_
### Desktop or Mobile Platform Information
App Version: 1.0.0
Git Revision: 680b371
Platform: Mozilla/5.0 (Windows NT 10.0 Win64 x64) AppleWebKit/537.36 (KHTML like Gecko) LogseqOG/1.0.0 Chrome/140.0.7339.240 Electron/38.4.0 Safari/537.36
Language: en-US
Plugins: logseq-regex-linker (v2.0.1), logseq-plugin-hierarchy-tool (v1.2.0), logseq-block-calendar (v0.2.11), logseq-elysium (v0.1.1), logseq-plugin-automatic-url-title (v1.1.0), logseq-plugin-template-block-from-toolbar (v1.1.0), logseq-query-builder-plugin (0.81), logseq-todo-plugin (v1.22.0), logseq-journals-calendar (v0.11.0), logseq-dynamic-lookup (v1.4.0), logseq-lumalee (v0.2), logseq-bullet-threading (v1.1.4), logseq-flow-nord-theme (v0.10.41), logseq-page-tags-and-hierarchy (v2.25.2), logseq-datenlp-plugin (v4.7.3), logseq-get-youtube-captions (v1.3.0), logseq-inbox-telegram-plugin (v0.1.5), logseq-todo-master (v1.10.3), logseq-page-breadcrumb (v1.0.1), logseq-agenda (v3.13.1), logseq-hypothesis (v0.2.4), logseq-add-para-properties (v1.2.1), logseq-kanban-plugin (v3.8.1), logseq-tags (v0.1.2), logseq-graph-analysis (0.12.0), logseq-smartblocks (3.51), logseq-mark-map (v0.4.6)
### Additional Context
_No response_
### Are you willing to submit a PR? If you know how to fix the bug.
- [ ] I'm willing to submit a PR (Thank you!)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the numbered reproduction steps and compare the sibling-block case with the nested-block case; the report provides no source file or test entry point. Review the related issue #8286 for context, then verify that merging A2 into A1 produces two linked references and that both block arrangements update consistently.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- clojure
- Domain
- search
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100