docs(08): capture phase context
Phase 08: Inline Keyboard Infrastructure - Implementation decisions documented - Phase boundary established Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
# Phase 8: Inline Keyboard Infrastructure - Context
|
||||
|
||||
**Gathered:** 2026-02-03
|
||||
**Status:** Ready for planning
|
||||
|
||||
<domain>
|
||||
## Phase Boundary
|
||||
|
||||
Users interact with containers via tappable buttons instead of typing commands. This phase adds inline keyboard buttons to the existing Telegram bot, creating a visual interface for container control. The core functionality (start, stop, restart, update, logs) remains the same — this changes HOW users invoke it.
|
||||
|
||||
</domain>
|
||||
|
||||
<decisions>
|
||||
## Implementation Decisions
|
||||
|
||||
### Button layout & grouping
|
||||
- Icons only for button labels (▶️ ⏹️ 🔄 ⬆️) — compact, mobile-friendly
|
||||
- Container list is paginated (not all at once)
|
||||
- Each container shows: name + status (e.g., "plex — Running")
|
||||
- Update available indicator: use Unraid's native update detection if accessible (research needed)
|
||||
|
||||
### Container selection
|
||||
- Two entry points: `/status` command AND a persistent menu button ("Containers")
|
||||
- Tap container name → submenu with status details + action buttons
|
||||
- Direct access supported: `/status plex` jumps straight to that container's submenu
|
||||
- Submenu shows container status info (state, details) plus action buttons
|
||||
|
||||
### Confirmation flow
|
||||
- Confirmation required for: Stop and Update only (not restart)
|
||||
- Edit same message with "Stop plex? Yes / No" — keeps chat clean
|
||||
- Timeout after 30 seconds — reverts to original buttons if no response
|
||||
|
||||
### Progress feedback
|
||||
- Quick actions (start/stop/restart): show final result only
|
||||
- Updates and batch operations: show progress (simple status, not detailed steps)
|
||||
- Format: "Updating plex..." → "plex updated ✅"
|
||||
- After completion: show result + "Back to menu" button
|
||||
|
||||
### Claude's Discretion
|
||||
- Button row arrangement (single row vs grouped)
|
||||
- Number of containers per page in list
|
||||
- "No" confirmation behavior (return to container buttons or list)
|
||||
- Error/failure handling approach
|
||||
|
||||
</decisions>
|
||||
|
||||
<specifics>
|
||||
## Specific Ideas
|
||||
|
||||
- Navigation pattern: List → tap name → submenu (status details + actions) → tap action → execute
|
||||
- Persistent menu button provides always-available access without typing
|
||||
- Direct container access (`/status plex`) preserves power-user shortcuts
|
||||
|
||||
</specifics>
|
||||
|
||||
<deferred>
|
||||
## Deferred Ideas
|
||||
|
||||
- Cached update status checking — only pursue if Unraid native detection isn't accessible
|
||||
- Detailed progress steps during updates — keep simple for now
|
||||
|
||||
</deferred>
|
||||
|
||||
---
|
||||
|
||||
*Phase: 08-inline-keyboard-infrastructure*
|
||||
*Context gathered: 2026-02-03*
|
||||
Reference in New Issue
Block a user