Customizing Isso for my needs

January 19, 2021

Some functionality that is not (yet) available with upstream Isso.

All features mentioned in this post are available on this frozen branch.

I run a local development server using the following command:

ISSO_SETTINGS=share/isso-dev.conf \
    venv-isso/bin/gunicorn \
    -b 0.0.0.0:8080 \
    -w 1 \
    --preload isso.run \
    --worker-tmp-dir /dev/shm

Thanks button - A small button with a counter to simply say “Thanks” instead of posting a comment. Has been suggested upstream but so far no one attempted the work.

Telegram integration - Notify me via Telegram when a new comment is posted. Gotta find a way to lose the requests dependency and POST directly. Also integrated with the custom Thanks button functionality via signals.

Use with these settings in your isso.cfg

[telegram]
token = <your-token>
chat_id = <chat-id> # Can be obtained from @getidsbot

Absolute URIs for threads helps with hosting multiple sites on the same commenting instance.

Use pre for comments in admin area (PR opened) means that comments will be rendered as source in admin and be properly contenteditable. Used with this fix for PR #470.

Restore comment after cancelling edit in admin, from PR #470.

js: Remove unused languages results in a reduction of embed.min.js from ~65kB to ~43kB.

Improve cookie SameSite/Secure handling means no more warnings in Firefox' console and future-proofing.

Tooltip saying email will not be public - small tooltip in frontend, makes users less squeamish about entering E-mail

Require an edit cookie to be able to view a comment before editing - not really necessary since I do not have private posts, but nice to have nonetheless, helps a bit against db scraping directly. From this PR, with more background here.

Larger type on mobile, “Markdown supported” - Just a small adjustment to the comment area

Makefile: Use sassc - Does what it says. nodejs is a madhouse, no need to pull in all those dependencies when sassc can do the job just as well.