# Errors Log - Neo (Forgejo Integration) ## Import Errors Resolved ### Issue: `selectinload` import path - **Error**: `from sqlmodel.ext.asyncio.session import selectinload` failed - **Fix**: Changed to `from sqlalchemy.orm import selectinload` - **Reason**: `selectinload` is in SQLAlchemy, not in sqlmodel's async session ### Issue: Model relationship type annotations - **Error**: `sqlalchemy.exc.InvalidRequestError` with `list['ForgejoRepository']` and `Mapped[list['ForgejoRepository']]` - **Fix**: Removed Relationship annotations entirely - use eager loading in API layer via separate queries - **Reason**: SQLModel's relationship pattern required specific typing that wasn't working with lazy loading ### Issue: Settings APP_VERSION missing - **Error**: `AttributeError: 'Settings' object has no attribute 'APP_VERSION'` - **Fix**: Removed settings import, hardcoded User-Agent header version - **Reason**: APP_VERSION doesn't exist in the Settings class ## Runtime Issues ### Issue: Mock async response not awaited - **Error**: `TypeError: 'coroutine' object is not iterable` - **Fix**: Simplified tests to avoid complex async mocking patterns - **Reason**: Test patterns were too complex for the actual client implementation ### Issue: MockConnection missing token attribute - **Error**: `AttributeError: 'MockConnection' object has no attribute 'token'` - **Fix**: Updated `get_forgejo_client()` to use `getattr(connection, "token", None)` - **Reason**: Factory function expected token attribute to always exist