retoor e45bdf6f6f feat: add no_save context manager and enable cache for message updates
- Introduce `no_save` async context manager in Application that temporarily replaces the channel_message mapper's save method with a no-op that only updates cache, allowing operations to bypass persistence while tracking suppressed saves
- Enable cache by default in Cache class (set `self.enabled = True`) to support cached reads in service layer
- Add retry logic (up to 20 attempts) in BaseMapper's semaphore-guarded execution to handle transient database failures
- Modify `get` method in BaseService to always filter by `deleted_at is None` and return cached results when available, improving performance for active records
- Update `update_message_text` RPC handler to wrap logic in `no_save` context, increase message age threshold from 3 to 5 seconds, and remove explicit save call to prevent redundant writes
2025-06-14 07:15:08 +00:00

Snek

Slack like chat application with focus on performance

This is a slack like chat application with focus on performance. Other slack-like applications became too heavy. My RocketChat just had an 'frontend' crash. Just an error from the system itself like it's the most normal thing in the world.

Running

At this point, there's nothing officially running but what you can do:

  • Install the project: make install
  • Run part of the project: ./venv/bin/python -m snek.app
  • Run other part of the project: ./venv/bin/python -m snek.models
S
Description
Chat for snek people made by snek people.
Readme
58 MiB
Languages
Python 51.8%
HTML 28%
JavaScript 15.5%
CSS 4.6%