6679fb7cf4
Phase 08: Inline Keyboard Infrastructure - Implementation decisions documented - Phase boundary established Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
68 lines
2.4 KiB
Markdown
68 lines
2.4 KiB
Markdown
# 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*
|