skaband: remove all manual input switching functionality from sessions page
fix for #430
Completely remove auto-switch and manual switch functionality to simplify
the repository selection interface and eliminate user confusion.
Problems Solved:
Complex Dual-Mode Interface:
- Auto-switch feature automatically changed UI state without user consent
- Manual switch buttons created confusing dual-mode interface
- Users unclear when to use dropdown vs manual input vs auto-switching
- Multiple code paths for repository input handling created maintenance overhead
Inconsistent User Experience:
- Repository loading failures triggered unexpected auto-switch behavior
- Manual buttons overlaid on repository selection interface
- Console error logging without clear user benefit
- No clear guidance on which input method to use
JavaScript Complexity:
- switchToManualInput() and enhancedSwitchToManualInput() functions
- Complex validation setup and event handlers for switching
- setTimeout scripts for auto-switch timeouts and console logging
- Event listeners and DOM manipulation for button interactions
Solution Implementation:
Complete Feature Removal:
- Removed all auto-switch timeout scripts and console error logging
- Eliminated switchToManualInput() and enhancedSwitchToManualInput() functions
- Removed all manual switch buttons from repository selection interface
- Simplified JavaScript by removing switching-related event handlers
Simplified Repository Selection:
- Repository selection now uses standard HTML select dropdown only
- Hidden text input remains for loading state (standard form behavior)
- No manual override buttons or automatic switching functionality
- Clean, predictable interface focused on dropdown selection
Template Structure Cleanup:
- Removed button elements with switch-to-manual IDs from HTML
- Eliminated complex validation setup code tied to manual switching
- Simplified repository selection container structure
- Preserved core form functionality and submission workflow
Implementation Details:
Removed JavaScript Functions:
- switchToManualInput(): DOM manipulation for switching input modes
- enhancedSwitchToManualInput(): Validation setup and enhanced switching
- Auto-switch timeout script: 10-second timeout with console logging
- Manual button event handlers: onclick setup and event listeners
Removed HTML Elements:
- Manual switch button in dropdown mode
- Manual switch button in loading state
- All switch-to-manual ID references
- Button overlay positioning and styling
Preserved Core Functionality:
- Repository select dropdown when GitHubRepos available
- Hidden text input for loading states
- Form submission and validation workflow
- Repository selection and session creation process
Testing Updates:
- Updated TestRepositoryUIFeatures to reflect simplified interface
- Removed tests checking for presence of removed switching functionality
- Tests now focus on core dropdown and loading state functionality
- Verified repository selection continues to work with standard form behavior
User Experience Impact:
- Single, predictable way to select repositories via dropdown
- No unexpected UI changes or automatic state transitions
- Standard HTML form behavior users expect
- Reduced cognitive load with simpler interface
Files Modified:
- skaband/sessions.gohtml: Removed switching functions, buttons, and timeout scripts
- skaband/skaband_test.go: Updated tests for simplified interface
The simplified interface eliminates confusion by providing a single,
standard way to select repositories through HTML dropdown selection.
Co-Authored-By: sketch <hello@sketch.dev>
Change-ID: sdc7975f0ace4b511k
diff --git a/webui/src/web-components/DEAR_LLM.md b/webui/src/web-components/DEAR_LLM.md
index ebf0877..823adec 100644
--- a/webui/src/web-components/DEAR_LLM.md
+++ b/webui/src/web-components/DEAR_LLM.md
@@ -74,6 +74,7 @@
5. **Host Element Styling**:
- The `:host` selector is used in sketch-tool-card for styling the component itself:
+
```css
:host {
display: block;