Skip to content

v2.0.5

Choose a tag to compare

@karilaa-dev karilaa-dev released this 23 Oct 06:02
66e8cbf

Reduce CPU work and temporary memory during Telegram downloads and delivery.

  • Skip unused SHA-256 work for Telegram while preserving checksums and ETags on raw downloads.
  • Copy ready bytes directly from fixed RAM spools, with bounded writes and memory reservations retained until borrowed bytes are released.
  • Reuse decoded image pixels, scale into one padded canvas, and release converted sources and completed album batches earlier.
  • Give optional covers up to 50 ms of selection grace once media is upload-ready, within the existing total cover timeout. Slower covers may be omitted; cancellation still joins the cover worker before identity release.
  • Preserve media validation, identity recovery, cancellation, the final 64 KiB upload gate, and existing resource limits.
  • Update Go and the Docker build image to 1.27.3 to resolve GO-2026-6809.

Upgrade: no new configuration or database migration is required. Network-limited transfers may see little latency change. Tiny converted albums retain a tradeoff of lower memory use with higher CPU usage.

Validation: PR CI passed race-enabled tests, vet, build, staticcheck, govulncheck, Docker, and Railpack checks. The optimized version also passed a test-bot delivery smoke check. No production bot was used for testing.

Pull request #22 · Full changes since v2.0.4