Overview
Enable a beta testing program for MeticAI that allows users to opt-in to test pre-release features before they reach the stable channel. This includes infrastructure for beta image distribution, settings UI for opt-in/opt-out, and feedback collection.
Goals
- Allow early testing of features before stable release
- Collect structured feedback from beta testers
- Enable easy rollback to stable if issues arise
- Keep beta separate from stable for Watchtower users
Implementation Plan
1. Docker Image Tagging Strategy
Current State
ghcr.io/hessius/meticai:latest - auto-pulled by Watchtower
Proposed Tags
ghcr.io/hessius/meticai:latest - Stable releases only
ghcr.io/hessius/meticai:beta - Beta/pre-release versions
ghcr.io/hessius/meticai:vX.Y.Z-beta.N - Specific beta versions
ghcr.io/hessius/meticai:vX.Y.Z - Specific stable versions
CI Changes
2. Settings UI for Beta Opt-in
New Settings Section
Backend Changes
3. Update Mechanism
When user enables beta:
When user disables beta:
4. Watchtower Compatibility
For users with Watchtower enabled:
- Beta users: Watchtower monitors
beta tag
- Stable users: Watchtower monitors
latest tag
- Tag switching triggers Watchtower to pull correct version
5. Feedback Collection
Option A: GitHub Discussions/Issues Integration
Option B: Direct GitHub Issue Creation via API
Option C: Simple Form
Recommended: Option B (API-based GitHub issues) for seamless integration
6. Beta Notification Banner
UI Mockup
┌─────────────────────────────────────────┐
│ ⚙️ Settings │
├─────────────────────────────────────────┤
│ │
│ 🧪 Beta Testing │
│ ───────────────────────────── │
│ │
│ Enable beta updates [ ○━━━━] │
│ Get early access to new features │
│ before they're released. │
│ │
│ ⚠️ Beta versions may contain bugs. │
│ You can switch back to stable anytime. │
│ │
│ Current: v2.1.0-beta.3 (beta) │
│ │
│ [📝 Send Beta Feedback] [📋 View Changelog] │
│ │
└─────────────────────────────────────────┘
Acceptance Criteria
Notes
- Consider whether beta should be a different branch or just a different tag
- May want to implement feature flags for granular beta testing
- Consider beta user telemetry (opt-in) for crash reporting
Overview
Enable a beta testing program for MeticAI that allows users to opt-in to test pre-release features before they reach the stable channel. This includes infrastructure for beta image distribution, settings UI for opt-in/opt-out, and feedback collection.
Goals
Implementation Plan
1. Docker Image Tagging Strategy
Current State
ghcr.io/hessius/meticai:latest- auto-pulled by WatchtowerProposed Tags
ghcr.io/hessius/meticai:latest- Stable releases onlyghcr.io/hessius/meticai:beta- Beta/pre-release versionsghcr.io/hessius/meticai:vX.Y.Z-beta.N- Specific beta versionsghcr.io/hessius/meticai:vX.Y.Z- Specific stable versionsCI Changes
build-publish.ymlto tag beta releasesbetatag + version-specificvX.Y.Z-beta.Nlatestfor stable releases (non-beta versions)2. Settings UI for Beta Opt-in
New Settings Section
Backend Changes
beta_channelsetting to settings service3. Update Mechanism
When user enables beta:
docker-compose.ymlimage tag fromlatesttobetaWhen user disables beta:
latest4. Watchtower Compatibility
For users with Watchtower enabled:
betataglatesttag5. Feedback Collection
Option A: GitHub Discussions/Issues Integration
Option B: Direct GitHub Issue Creation via API
beta-feedbackOption C: Simple Form
Recommended: Option B (API-based GitHub issues) for seamless integration
6. Beta Notification Banner
UI Mockup
Acceptance Criteria
betatagged images alongside version-specific beta tagsNotes