Unable to close Logseq, stuck at Syncing internal status
Nobody has claimed this yet.
- Dominant language
- Clojure
- Stars
- 45k
- Forks
- 2.8k
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 105
Description
### Search first
- [X] I searched and no similar issues were found
### What Happened?
Once in a while, Logseq does not close when I click on the X and it says "Syncing internal status".
The dev console shows this:
```
Error: Cannot write $cljs_bean$core$Bean$$
at $com$cognitect$transit$impl$writer$marshal$$ (writer.js:417:9)
at $com$cognitect$transit$impl$writer$emitObjects$$ (writer.js:171:9)
at $com$cognitect$transit$impl$writer$marshal$$ (writer.js:444:35)
at $com$cognitect$transit$impl$writer$marshal$$ (writer.js:381:75)
at $com$cognitect$transit$impl$writer$emitObjects$$ (writer.js:171:9)
at $com$cognitect$transit$impl$writer$marshal$$ (writer.js:444:35)
at $com$cognitect$transit$impl$writer$marshal$$ (writer.js:381:75)
at $com$cognitect$transit$impl$writer$emitMap$$ (writer.js:317:25)
at $com$cognitect$transit$impl$writer$marshal$$ (writer.js:381:75)
at $com$cognitect$transit$impl$writer$marshal$$ (writer.js:381:75)
at $com$cognitect$transit$impl$writer$Writer$$.write (writer.js:508:9)
at $frontend$db$utils$db__GT_string$$ (utils.cljs:24:19)
at $frontend$db$persist_BANG_$$ (db.cljs:93:47)
at repo.cljs:418:5
at Function.$G__21801__1$$ [as $cljs$core$IFn$_invoke$arity$1$] (core.cljs:4330:10)
```
Git autosync is disabled on my machine. Waiting does not help either.
### Reproduce the Bug
Frankly, I don't know what causes it. Usually when I edit multiple files. But not always.
### Expected Behavior
_No response_
### Screenshots
_No response_
### Desktop or Mobile Platform Information
MacOs 13.1 (2021 MacBook Pro with M1 Max chip, 32 GB).
### Additional Context
Similar problem but on Win 11: https://github.com/logseq/logseq/issues/7752
And: https://github.com/logseq/logseq/issues/5808
But no proposed solution works for me.
### 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 persistence call in repo.cljs:418 and follow frontend/db.cljs:93 and frontend/db/utils.cljs:24, where the stack trace reaches Transit serialization in writer.js. Reproduce the close action while observing the dev console and determine which internal-status value causes the serialization failure. Done means Logseq closes successfully instead of remaining at “Syncing internal status”.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- clojure
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100