v0.7.8 - Event Sequencing & OAuth Refresh Fixes
Release v0.7.8
🎯 Key Improvements
Bug Fixes:
- Event Sequencing Race Condition: Implemented per-mission atomic sequence counters to eliminate race conditions in event ordering. Events are now guaranteed to maintain chronological order even under concurrent logging.
- OAuth Refresh Lock: Added file-based locking to the background OAuth token refresher to prevent concurrent refresh token rotation conflicts, especially critical for Anthropic provider.
Features:
- Backend-aware model override support with new
/api/providers/backend-modelsendpoint - Proactive OAuth token refresh (background task checks every 15 minutes, refreshes tokens expiring within 1 hour)
- Multi-tier OAuth token sync (sandboxed-sh, OpenCode auth, Claude CLI credentials)
UX Improvements:
- Fixed automation "start immediately" toggle for interval triggers
- Thinking panel manual toggle now persists correctly across thoughts (resets per mission)
- iOS layout improvements: full-width assistant messages, mission switcher scrolling
- Enhanced OpenCode CLI completion and timeout handling
Code Quality:
- All compiler warnings resolved
- All clippy warnings resolved
- All 10 Bugbot review findings addressed
- Version bumped from 0.7.7 to 0.7.8
📦 What's Changed
- Event sequence race condition fix by @Th0rgal and @claude-sonnet-4-5 in #106
- OAuth refresh lock for background refresher by @Th0rgal and @claude-sonnet-4-5 in #106
- Multiple Bugbot fixes and code quality improvements by @Th0rgal in #106
🔗 Full Changelog
💾 Installation
Self-hosted:
```bash
Pull latest version
git pull origin master
git checkout v0.7.8
Build and restart
cargo build --release
Restart your sandboxed.sh instance
```
Docker:
```bash
docker pull ghcr.io/th0rgal/sandboxed-sh:v0.7.8
```