Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ability to share muboards #4

Closed
wants to merge 3 commits into from
Closed

Conversation

1ntEgr8
Copy link

@1ntEgr8 1ntEgr8 commented Jan 31, 2022

See issue #3

This PR adds a command ,share which lets you share your muboard. The sharing is facilitated by encoding the source as a URL param using base64.

@susam
Copy link
Owner

susam commented Jan 31, 2022

Hello @1ntEgr8,

Thank you for the comment and the pull request. The ability to share URLs with the content encoded in the URL query parameter or fragment identifier has crossed my mind earlier. It is a very useful feature indeed. However, I decided against implementing such a feature because such features are often abused to display spam content or illegitimate content.

Now one might wonder why I, as someone who is merely hosting the Muboard tool on a website, should care about what kind of content one chooses to display on Muboard. After all, the content is rendered on the client side, so I am not responsible for the content. Unfortunately, the regulatory authorities do not see it that way.

From my experience of running MathB.in (another project that offers a pastebin for mathematics) for the last 10 years, I have learnt that as long as such bad content is displayed on a domain name I am the registrant of, the regulatory authorities are going to contact me and ask me to ensure that such content is not displayed on my website. They do not care whether that content is rendered on the server side or client side. Further, they usually provide only a week's notice. If no measures are taken to prevent such content from being rendered on the website, the regulatory authorities go ahead and force the cloud provider, hosting provider, etc. to take down the website completely.

With something like MathB.in which stores the content on the server side, I can at least remove the content from its data store. However, if the content is rendered entirely on the client side on the basis of the encoded content in the URL query parameter or fragment identifier, it becomes more difficult to know what content is being displayed on the website and block bad content from being rendered, say, with some JavaScript code that looks for patterns in the content and refuse to render the content if it appears to contain bad content. This is not a problem I want to solve in Muboard because my prior experience with MathB.in shows that it takes considerable time and effort to keep track of all possible bad content and to fine tune the patterns to match, on a regular basis.

Your pull request has a very useful feature and it's a shame I cannot add it to the copy of Muboard.net I am running. I do not have the time to get involved in maintaining pattern-based content blacklisting. If you are really interested in this feature and have the risk appetite to allow arbitrary content from users to be rendered on your website, I would recommend hosting a clone of Muboard.net with this feature on a separate URL that you own. I would be happy to link to your clone from the README of this project.

@susam
Copy link
Owner

susam commented Jan 31, 2022

By the way, if you do wish to go ahead with deploying this feature on your clone of the tool, it is worth noting that the btoa() function used in the pull request does not work for multi-byte Unicode characters. For example, btoa("ȍ") fails with DOMException. Some alternatives to work around this issue are discussed at MDN Web Docs: btoa(): Unicode strings.

@1ntEgr8
Copy link
Author

1ntEgr8 commented Jan 31, 2022

Hey @susam, thank you for the detailed response. I wasn't aware of this. MathB.in seems to solve my problem though; was merely looking for a way to share some math online.

I had a clone website up just to test the feature with a friend, but given what you've said I think it will be wise to take it down.
edit: I took it down

@1ntEgr8 1ntEgr8 closed this Jan 31, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants