Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion backend
Submodule backend updated 52 files
+53 −0 .github/workflows/ci.yml
+100 −0 alembic/versions/7e0b2c73bda1_add_capture_mode_and_rejection_audit.py
+48 −0 alembic/versions/e11b1fbb07e1_migrate_captured_status_to_in_review.py
+3 −1 app/api/API_spec.yaml
+84 −5 app/api/auth.py
+40 −5 app/api/cameras.py
+43 −117 app/api/collections.py
+28 −3 app/api/projects.py
+132 −35 app/api/records.py
+29 −32 app/api/system.py
+96 −0 app/core/bag_export.py
+36 −3 app/core/config.py
+52 −0 app/core/db_errors.py
+106 −0 app/core/export_jobs.py
+204 −0 app/core/export_service.py
+55 −2 app/core/integrity.py
+67 −0 app/core/login_throttle.py
+10 −3 app/core/schema.py
+33 −5 app/core/security.py
+100 −0 app/core/storage_ops.py
+12 −1 app/core/storage_override.py
+13 −5 app/main.py
+63 −8 app/models/record.py
+75 −15 app/schemas/record.py
+100 −41 capture/backends/gphoto2_backend.py
+21 −38 capture/camera_registry.py
+48 −7 tests/conftest.py
+33 −0 tests/integration/conftest.py
+142 −0 tests/integration/test_camera_capture_recapture_hardware.py
+34 −31 tests/integration/test_capture_integration.py
+137 −0 tests/integration/test_reject_recapture_full_flow.py
+15 −7 tests/test_cameras.py
+1 −1 tests/unit/test_annotation_delete_creator_check.py
+2 −1 tests/unit/test_api.py
+41 −0 tests/unit/test_bootstrap_token_guard.py
+1 −1 tests/unit/test_collections_hierarchy.py
+35 −11 tests/unit/test_collections_order_count_export_detail.py
+33 −0 tests/unit/test_database_password_guard.py
+62 −0 tests/unit/test_delete_user_guards.py
+161 −0 tests/unit/test_export_integrity.py
+263 −0 tests/unit/test_gphoto2_list_devices_lock.py
+152 −0 tests/unit/test_gphoto2_raw_preview.py
+60 −0 tests/unit/test_integrity_error_sanitization.py
+74 −0 tests/unit/test_integrity_hash_sampling.py
+55 −0 tests/unit/test_login_throttle.py
+28 −0 tests/unit/test_password_hash_upgrade.py
+99 −0 tests/unit/test_project_rename_recovery.py
+112 −0 tests/unit/test_record_reject_endpoint.py
+103 −0 tests/unit/test_record_status_transitions.py
+120 −0 tests/unit/test_registry_hw_id_gphoto2.py
+76 −0 tests/unit/test_rejection_scope_resolution.py
+2 −2 tests/unit/test_schema_constraints.py
2 changes: 1 addition & 1 deletion frontend
Submodule frontend updated 39 files
+441 −0 e2e/book-view-approve-reject.test.ts
+176 −0 e2e/gallery-no-review-actions.test.ts
+13 −2 playwright.config.ts
+12 −238 src/app.css
+89 −50 src/lib/api.ts
+22 −0 src/lib/assets/captua-logo-descrp-light-eng.svg
+34 −6 src/lib/bug-report/BugReportPanel.svelte
+32 −0 src/lib/capture-outcome.test.ts
+18 −0 src/lib/capture-outcome.ts
+1 −2 src/lib/components/RecordStatusBar.svelte
+0 −2 src/lib/components/StatusBadge.svelte
+23 −18 src/lib/i18n/en.ts
+24 −21 src/lib/i18n/es.ts
+51 −0 src/lib/login-error.test.ts
+26 −0 src/lib/login-error.ts
+19 −0 src/lib/rejectionReasons.ts
+53 −0 src/lib/stores/auth.svelte.test.ts
+17 −7 src/lib/stores/auth.ts
+29 −0 src/lib/stores/token.svelte.test.ts
+30 −0 src/lib/stores/token.ts
+21 −3 src/routes/(auth)/login/+page.svelte
+46 −7 src/routes/(auth)/setup/+page.svelte
+7 −2 src/routes/(auth)/welcome/+page.svelte
+74 −5 src/routes/(dashboard)/dashboard/+page.svelte
+18 −0 src/routes/(dashboard)/dashboard/config/+page.svelte
+50 −53 src/routes/(dashboard)/dashboard/projects/[projectId]/collections/[collectionId]/+page.svelte
+0 −112 src/routes/(dashboard)/dashboard/projects/[projectId]/collections/[collectionId]/ActionBar.svelte
+193 −114 src/routes/(dashboard)/dashboard/projects/[projectId]/collections/[collectionId]/GridView.svelte
+275 −0 src/routes/(dashboard)/dashboard/projects/[projectId]/collections/[collectionId]/GridView.svelte.test.ts
+75 −6 src/routes/(dashboard)/dashboard/projects/[projectId]/collections/[collectionId]/ImageViewer.svelte
+0 −10 src/routes/(dashboard)/dashboard/projects/[projectId]/collections/[collectionId]/ImageViewerModal.svelte
+460 −168 src/routes/(dashboard)/dashboard/projects/[projectId]/collections/[collectionId]/LeftSidebar.svelte
+388 −0 src/routes/(dashboard)/dashboard/projects/[projectId]/collections/[collectionId]/LeftSidebar.svelte.test.ts
+62 −32 src/routes/(dashboard)/dashboard/projects/[projectId]/collections/[collectionId]/ListView.svelte
+40 −16 src/routes/live-preview/+page.svelte
+0 −8 src/routes/live-preview/CameraControls.svelte
+3 −3 src/routes/live-preview/ImageViewerModal.svelte
+2 −3 src/routes/live-preview/LiveViewport.svelte
+2 −6 src/routes/live-preview/TopBar.svelte