• v1.3.0 e23611a0c1

    v1.3.0 Stable

    rdeavila released this 2026-04-15 20:17:14 -03:00 | 6 commits to main since this release

    TekstoBot v1.3.0

    Full Changelog: v1.2.1...v1.3.0
    (on GitHub: https://github.com/<owner>/<repo>/compare/v1.2.1...v1.3.0)

    Highlights

    • New transcription backend using Cloudflare Workers AI (@cf/openai/whisper-large-v3-turbo), selectable instead of a local Whisper server.
    • RPM package: the tekstobot unit no longer hard-depends on whisper.service. On each start / restart, ExecStartPre reads TRANSCRIBER_BACKEND from /etc/tekstobot.env and either starts the local Whisper Quadlet (local) or stops it (cloudflare), with no separate sync script for operators.

    Added

    • TRANSCRIBER_BACKEND (local | cloudflare; default local).
    • Cloudflare settings: CLOUDFLARE_ACCOUNT_ID, CLOUDFLARE_API_TOKEN, CLOUDFLARE_WHISPER_LANGUAGE (optional).
    • Cloudflare transcriber implementation and tests (internal/ai/cloudflare.go and related tests).
    • RPM-packaged helper: /usr/libexec/tekstobot/tekstobot-whisper-prestart.sh.
    • README and .env.example updates (Cloudflare mode and RPM deployment notes).

    Changed

    • Startup validates Cloudflare credentials when TRANSCRIBER_BACKEND=cloudflare.
    • Media worker wired through the shared transcriber abstraction (local vs Cloudflare).
    • tekstobot systemd unit: removed static Requires= / After= on whisper.service; added ExecStartPre to align Whisper with the configured backend.

    Dependencies

    • filippo.io/edwards25519 v1.1.0 → v1.1.1 (Dependabot).

    Upgrade notes (RPM)

    1. Upgrade the package and configure /etc/tekstobot.env from the shipped example if you have not already.
    2. For Cloudflare-only: set TRANSCRIBER_BACKEND=cloudflare and API credentials; sudo systemctl restart tekstobot applies the change (local Whisper is not kept running through this path).
    3. For local Whisper: use TRANSCRIBER_BACKEND=local (or rely on the default)—the prestart script runs systemctl start whisper.service before the main process.
    Downloads
  • v1.2.1 761af3877b

    v1.2.1 Stable

    rdeavila released this 2026-04-06 09:26:28 -03:00 | 9 commits to main since this release

    Release v1.2.1

    Changes since v1.2.0

    Features

    • Integrate htmx idiomorph extension for improved DOM swapping and element stability (4cab0cd)

    Refactor

    • Update media list polling to target specific container with hidden visibility (63396ab)

    Chores

    Full Changelog: v1.2.0...v1.2.1

    Downloads
  • v1.2.0 7f42dff96c

    v1.2.0 Stable

    rdeavila released this 2026-04-05 22:32:23 -03:00 | 12 commits to main since this release

    Release v1.2.0

    Features

    Automated WhatsApp Notifications

    • Access Attempt Alerts: Automatic notifications to administrators for unauthorized message access attempts.
    • Authorization Confirmations: Senders receive a notification once their access has been authorized, with instructions to resend their message.
    • System Administration: Unified handling for admin notification settings and contact management.

    Real-Time Media Processing Workflow

    • Pending Authorization Status: Support for a new PENDING state for media files that requires manual administrator approval.
    • Live UI Polling: The web interface now includes dynamic polling to update the status of message processing without requiring manual refreshes.
    • Enhanced Worker Processing: Updated background services to correctly handle the authorization bridge between incoming messages and media processing.

    Technical Improvements

    • Database Enhancements: Updated schema and repository methods for tracking authorization requirements and states.
    • Interface Updates: Improved base.html template with modern JavaScript for status polling.
    • Service Refactoring: Robust error handling and message state management in the worker and WhatsApp client services.

    Full Changelog v1.1.0...v1.2.0

    Downloads
  • v1.1.0 fac2d7bc05

    v1.1.0 Stable

    rdeavila released this 2026-04-01 19:40:10 -03:00 | 15 commits to main since this release

    Release v1.1.0

    This release introduces support for multiple Whisper servers with load balancing and background health checks.

    🚀 New Features

    • Multiple Whisper Server Support: You can now configure a comma-separated list of URLs in the WHISPER_URL environment variable.
    • Background Health Checks: Tekstobot continuously monitors the availability of each configured server.
    • Automatic Failover: The system automatically uses the first available server in the order they were registered, ensuring higher resilience in audio processing.
    • Configurable Interval: Added the WHISPER_HEALTH_INTERVAL variable to adjust checking frequency (defaults to 30 seconds).

    🔧 Internal Improvements

    • Refactored Whisper client to support dynamic server state changes.
    • Added helpers for reading environment variables with specific types.

    For more details on configuration, see the .env.example file.

    Downloads