fix: consolidate auth error handling and fix start.bat credential check

This commit addresses issues found during review of PRs #12 and #28:

## PR #12 (Auth Error Handling) Fixes

- Create shared auth.py module with centralized AUTH_ERROR_PATTERNS,
  is_auth_error(), and print_auth_error_help() functions
- Fix start.bat to use directory check instead of outdated
  .credentials.json file check (matching start.sh behavior)
- Update process_manager.py to import from shared auth module
- Update start.py to import from shared auth module
- Update documentation comments in autonomous_agent_demo.py and
  client.py to remove references to deprecated .credentials.json

## PR #28 (Feature Management) Improvements

- Add _priority_lock threading lock to feature_mcp.py to prevent
  race conditions when multiple features are created simultaneously
- Apply lock to feature_create, feature_create_bulk, and feature_skip
- Add checkAndSendTimeoutRef cleanup in useAssistantChat.ts to
  prevent memory leaks on component unmount
- Clear currentAssistantMessageRef on response_done

## Code Quality

- All Python files pass ruff linting
- All security tests pass (91/91)
- UI passes ESLint and TypeScript compilation

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Auto
2026-01-10 12:19:32 +02:00
parent cd82a4cf46
commit a0f7e72361
10 changed files with 430 additions and 170 deletions

View File

@@ -23,45 +23,19 @@ if %errorlevel% neq 0 (
echo [OK] Claude CLI found
REM Check if user has credentials (check for ~/.claude/.credentials.json)
set "CLAUDE_CREDS=%USERPROFILE%\.claude\.credentials.json"
if exist "%CLAUDE_CREDS%" (
echo [OK] Claude credentials found
goto :setup_venv
)
REM No credentials - prompt user to login
echo [!] Not authenticated with Claude
echo.
echo You need to run 'claude login' to authenticate.
echo This will open a browser window to sign in.
echo.
set /p "LOGIN_CHOICE=Would you like to run 'claude login' now? (y/n): "
if /i "%LOGIN_CHOICE%"=="y" (
echo.
echo Running 'claude login'...
echo Complete the login in your browser, then return here.
echo.
call claude login
REM Check if login succeeded
if exist "%CLAUDE_CREDS%" (
echo.
echo [OK] Login successful!
goto :setup_venv
) else (
echo.
echo [ERROR] Login failed or was cancelled.
echo Please try again.
pause
exit /b 1
)
REM Note: Claude CLI no longer stores credentials in ~/.claude/.credentials.json
REM We can't reliably check auth status without making an API call, so we just
REM verify the CLI is installed and remind the user to login if needed
set "CLAUDE_DIR=%USERPROFILE%\.claude"
if exist "%CLAUDE_DIR%\" (
echo [OK] Claude CLI directory found
echo ^(If you're not logged in, run: claude login^)
) else (
echo [!] Claude CLI not configured
echo.
echo Please run 'claude login' to authenticate before continuing.
echo.
echo Please run 'claude login' manually, then try again.
pause
exit /b 1
)
:setup_venv