Agrega pasos de liberación de espacio en disco para los jobs más pesados:
- tests-backend: Libera espacio antes de ejecutar y limpia Docker después
- tests-frontend-e2e: Libera espacio antes de instalar Playwright
- build-docker-image: Libera espacio antes de construir la imagen
La acción free-disk-space elimina:
- Android SDK (~12GB)
- .NET runtime (~2GB)
- Haskell (~5GB)
- Large packages (LLVM, etc.)
- Swap storage
También agrega limpieza de Docker después de los tests de backend
para liberar espacio adicional usado por contenedores e imágenes.
Fixes#17
- Elimina import duplicado de DeletionRequestViewSet en urls.py (F811)
- Aplica formato automático con ruff format a 12 archivos Python
- Agrega comas finales faltantes (COM812) en 74 ubicaciones
- Normaliza formato de dependencias en pyproject.toml
- Corrige ortografía en archivos de documentación (codespell)
Errores corregidos:
- src/paperless/urls.py: Import duplicado de DeletionRequestViewSet
- 74 violaciones de COM812 (comas finales faltantes)
- Formato inconsistente en múltiples archivos Python
Este commit asegura que el código pase el linting check de pre-commit
y resuelve los problemas de formato introducidos en el commit anterior.
Archivos Python reformateados: 12
Archivos de documentación corregidos: 35
Comas finales agregadas: 74
- Corrige paréntesis faltante en DeletionRequestActionSerializer (serialisers.py:2855)
- Elimina espacios en blanco en líneas vacías (W293)
- Elimina espacios finales en líneas (W291)
- Elimina imports no utilizados (F401)
- Normaliza comillas a comillas dobles (Q000)
- Agrega comas finales faltantes (COM812)
- Ordena imports según convenciones (I001)
- Actualiza anotaciones de tipo a PEP 585 (UP006)
Este commit resuelve el error de compilación en el job de CI/CD
que estaba causando que fallara el linting check.
Archivos afectados: 38
Líneas modificadas: ~2200
Soluciona el error en test_opencv_available donde las versiones se
comparaban como strings en vez de valores semánticos, causando que
4.11.0 fuera considerada menor que 4.8.0.
Cambios:
- Importa packaging.version para comparaciones correctas
- Modifica todas las comparaciones de versiones para usar version.parse()
- Añade packaging a las dependencias de testing en pyproject.toml
Esto asegura que versiones como 4.11.0 sean correctamente reconocidas
como superiores a 4.8.0.
Fixes the error: "cd: /home/user/IntelliDocs-ngx: No such file or directory"
Changes:
- Removed hardcoded absolute path `/home/user/IntelliDocs-ngx` from line 48
- After `actions/checkout@v4`, the runner is already in the project directory
- Using the implicit `${{ github.workspace }}` is the standard practice
This fixes the workflow failure in the "Install Python dependencies" step
of the "test-ml-dependencies" job.
Issue: GitHub Actions runners don't have this local development path
Solution: Rely on the default working directory set by actions/checkout
Removed unnecessary blank lines in the docstrings of security.py and reformatted the registration of the deletion-requests route in urls.py for improved readability.
Added AISuggestionFeedback import to serialisers.py and introduced DeletionRequestDetailSerializer for enhanced document detail handling. Removed the obsolete migration 1073_add_ai_permissions.py as it is no longer needed, streamlining the migration history.
Updated the __get_boolean function in settings.py to handle boolean values more consistently. The function now checks if the retrieved value is already a boolean before processing it, enhancing type safety and preventing potential errors in boolean evaluations.
Updated ai-suggestions-panel.component.ts and document-detail.component.ts to convert suggestion values to strings, enhancing type safety and preventing potential runtime errors. This change ensures that all suggestion values are consistently treated as strings across the application.
- Add AI settings keys to ui-settings.ts with proper defaults
- Create AiSettingsComponent with full functionality
- Add AI tab to main settings component
- Implement toggles for AI scanner, ML features, and advanced OCR
- Add sliders for auto-apply and suggest thresholds
- Add ML model selector dropdown
- Add test button for AI sample document
- Add AI performance statistics display
- Integrate AI settings into main settings form and save logic
- Add comprehensive tests for AI settings component
Co-authored-by: dawnsystem <42047891+dawnsystem@users.noreply.github.com>
- Created AIStatus data model with TypeScript interfaces
- Implemented AIStatusService with polling mechanism
- Created AIStatusIndicatorComponent with icon, tooltip, and animations
- Added component to navbar between notifications and user menu
- Includes unit tests for service and component
- Shows AI active/inactive state with visual indicators
- Displays statistics: documents scanned, suggestions applied
- Shows pending deletion requests with badge
- Processing animation when AI is active
- Link to AI configuration settings
- Non-intrusive design following existing patterns
Co-authored-by: dawnsystem <42047891+dawnsystem@users.noreply.github.com>
- Backend API:
- Added DeletionRequestSerializer and DeletionRequestActionSerializer
- Added DeletionRequestViewSet with approve/reject/pending_count actions
- Added /api/deletion_requests/ route
- Frontend:
- Created deletion-request data model
- Created deletion-request.service.ts with full CRUD operations
- Created DeletionRequestsComponent with status filtering (pending/approved/rejected/completed)
- Created DeletionRequestDetailComponent with impact analysis display
- Added /deletion-requests route with permissions guard
- Implemented approve/reject modals with confirmation
- Added status badges and pending request counter
- All code linted and built successfully
Co-authored-by: dawnsystem <42047891+dawnsystem@users.noreply.github.com>
Added comprehensive documentation in administration.md including:
- Command syntax and all available options
- Usage examples for different scenarios
- Explanation of confidence levels
- Performance considerations for large document sets
Co-authored-by: dawnsystem <42047891+dawnsystem@users.noreply.github.com>
- Fixed blank line whitespace issues
- Changed logger.error with exc_info=True to logger.exception
- Prefixed unused unpacked variables with underscore
- Applied ruff formatting to both command and test files
Co-authored-by: dawnsystem <42047891+dawnsystem@users.noreply.github.com>
Resolved merge conflicts in:
- src/documents/ai_deletion_manager.py: Kept webhook integration alongside dev changes
- src/documents/ai_scanner.py: Kept webhook integration and applied_fields tracking
- src/documents/models.py: Integrated AISuggestionFeedback model with webhook imports
All conflicts resolved maintaining both webhook functionality and new AI suggestions features from dev branch.
Co-authored-by: dawnsystem <42047891+dawnsystem@users.noreply.github.com>