Drafts are not private
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- node.js, typescript
Research direction
Start by mapping how MWS writes draft tiddlers and how recipes and bags determine visibility, comparing this with vanilla TiddlyWiki on Node.js. Evaluate the proposed private user bag and the [is[draft]] filter semantics before choosing an approach. Done means drafts are private to their author for each wiki and are not synced to other users before publication.
Written by the indexing model from the issue text.
Description
Both in MWS and vanilla TiddlyWiki on Node.js, draft tiddlers created by one user are visible to other users. This does not match user expectations for other applications, where drafts are private until published.
There is a significant privacy impact. An illustrative scenario is that I want to copy a redacted version of a private email into a tiddler. I copy the entire text of the email and enter it into a new tiddler. Then I go through it, replacing the private information with [...], and finally click "save" when I am done. The problem is that the entire text of the email will have been synced to the server before I have had a chance to make my redactions.
We did not address this problem in TiddlyWiki on Node.js because there isn't an obvious way to resolve it, and there was little impact given the single user design.
I do think this is a problem we need to resolve for MWS. One possible approach is for users to have their own private bag in which their drafts are stored. This private user bag would be an implicit even-more-topmost bag in every recipe. The semantics of writing a tiddler would become more complex: tiddlers that are caught by a specified filter (such as [is[draft]]) would be stored in the private bag, and all other tiddler writes would be pushed down to the topmost bag. A further subtlety is that users would actually need a private bag for each wiki that they edit.
- Dominant language
- TypeScript
- Stars
- 60
- Forks
- 17
- PR merge metrics
- No merged PRs in 30d
Getting set up
- Ships a Dockerfile or Docker Compose file
- No pull request template
- Read the contributing 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.
More from TiddlyWiki/MultiWikiServer
-
Difficulty 3/5 1-3 hours Newbie friendliness 15/100
TiddlyWiki/MultiWikiServer#141 · 2 comments ·
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
TiddlyWiki/MultiWikiServer#140 · 4 comments ·
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
TiddlyWiki/MultiWikiServer#139 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
TiddlyWiki/MultiWikiServer#138 ·
-
User creation fails with 500 error when email field is left blank - missing frontend validationOpen
Difficulty 4/5 3-5 days Newbie friendliness 48/100
TiddlyWiki/MultiWikiServer#136 · 1 reaction ·
All issues in TiddlyWiki/MultiWikiServer
Similar issues
-
Create/import wallet form shows raw "password must be at least 1 characters" instead of the translated messagePossibly taken @CapThunder19 claimed this today. Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
joinmarket-webui/jam#1538 ·
Maintainers usually reply within 1 day
-
t0ggles
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
nolimits4web/swiper#8240 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
modelcontextprotocol/inspector#2723 ·
Maintainers usually reply within 1 day
-
status:approved type:bug
Difficulty 1/5 Under an hour Newbie friendliness 70/100
egdev6/quorb#109 · 1 comment ·
Maintainers usually reply within 1 day