memos icon indicating copy to clipboard operation
memos copied to clipboard

Unlisted Notes

Open henry-bao opened this issue 3 years ago • 4 comments

Is your feature request related to a problem?

The current memo app only allows users to share their notes publicly or with members who have signed up for the app. However, there are times when users want to share their notes privately without requiring others to sign up for the app.

Describe the solution you'd like

The proposed solution is to implement a feature that allows users to create private notes that can only be accessed by the creator and people who know the URL of that specific note. This feature will provide users with the flexibility to share their notes privately without having to share them publicly or with members who have signed up for the app.

Additional context

The proposed feature is similar to the functionality of an unlisted YouTube video. When a user creates a private note, they will have the option to generate a shareable URL. This URL can then be shared with anyone the user wishes to give access to the note. Only those with the URL will be able to view the note, and it will not be visible to anyone else on the app.

This feature will be useful for users who want to share their notes with a select group of people, such as colleagues or family members, without having to share them publicly or with everyone who has signed up for the app. It will also provide users with greater control over their notes' privacy and who can access them.

henry-bao avatar Nov 25 '22 05:11 henry-bao

How can we call a private memo PRIVATE if it can be seen by others?

In my opinion, you should set the visibility field to a "public" value for online sharing.

boojack avatar Nov 27 '22 09:11 boojack

Well, it won't be a private memo; going back to my original idea, memos will be created under a new visibility "unlisted".

henry-bao avatar Nov 30 '22 21:11 henry-bao

While I agree with this idea, I believe one added complexity will be to make the "unlisted" note have a special UUID. Right now, notes have a generic share URL. For example - http://localhost:5230/m/40

On a public server, anyone can keep trying all note IDs till they find an unlisted note.

A solution would be to generate a 32 char v4 UUID so the URL becomes - http://localhost:5230/m/a573dbc2-61d9-43d9-aa3a-c60fb5a21c88 which would be rather difficult for someone to guess or get at by hit and trial.

@boojack you already use uuid to generate the user's OpenID. This can be extended to either all notes, or only unlisted ones at the moment when they are marked as unlisted. When an unlisted note is marked as private, it's UUID should be removed. This way if a person un-shares and re-shares a note, they can control if it's seen again.

It does not make sense to change the simple and nice URL schema of all public notes - http://localhost:5230/m/40

nitinthewiz avatar Feb 13 '23 21:02 nitinthewiz

So today I ran into the issue where I wanted to share a memo with a family member that doesn't have an account on my memos instance and I couldn't. In the end I shared the generated share image but that of course doesn't help with markdown links. This issue would help with my problem today. Some use-cases might be to share a shopping list with a partner or wish list to family and friends.

Implementation wise, I think a UUID might be a bit too much. When we take YouTube for example. Their id's are just 11 characters, even for hidden video's. It would be nice to do something comparable so the share link stays short, like with the existing (public) share link.

nielsvanvelzen avatar Mar 14 '23 16:03 nielsvanvelzen