Hey @borkdude , I feel the pain all of us have been going through with the outages to Clojurians-log 🙈 😢
> but at least we have some static content to fall back on when this service is .. out of service
Honestly we do have cloudflare caching enabled for this, so most of the times this should work (but it's evident that it doesn't always)
> but at least we have some static content
I really really love static site generation, but I think we could discuss a bit more about this
Some pros:
• Static site won't go down
• Fast page load times
Some cons I can think of:
• regenerating pages on delete events (these can go back upto a few weeks)
• regenerating pages on new reactions added
• generating links (which date preceed and succeed #channel-foo on 2021-05-30 which have existing messages)
• changing rendering code / fixing a frontend bug means we need to re-render everything, "selective rendering" of only last month would lead to divergence in pages and subtle bugs
• we still need to maintain a server to actually fetch the slack events real-time, so it's not "ops-free"
• the amount of archived data will only keep on increasing, which will keep increasing the magnitude of all of the above issues
On top of this, we've got a request by a member if they can opt-out from having their messages archived. This wasn't a strict request from their end, but it would be a nice to have feature to at least anonymize the messages if a user says so (by using a slack command like /clojurians-log anonymize-me
)
I don't want to dismiss the idea of static generation (especially as an add-on), but it might be more work than expected.
I am trying to rewrite clojurians-log from scratch with postgres and keeping in mind of all of the issues we're facing in the way we log currently. Some of the issues I hope to solve with the rewrite
• mobile responsive & usability (this is something I really really want personally)
• dreams of integrating Full Text Search with postgres
• using newer slack api's (the current ones we used are deprecated)
• real-time logging (no more waiting till the end of the day for archive to update)
• improve performance & reduce resource consumption so we can run this on a smaller instance
• slack-bot custom commands
• better statistics reporting
• open analytics
• support for images and attachments
• fix all of the SEO issues (internal links showing up on google, better indexing, etc)
• more documentation to make it even more easier for folks to contribute
I haven't made huge progress on this yet but I should have something by next week to share more here!