diff --git a/SECURITY.md b/SECURITY.md index 50518bb5a..e0790684c 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -50,7 +50,7 @@ The project uses [Trivy](https://github.com/aquasecurity/trivy) for automated co To run Trivy locally before pushing: ```bash # Scan the production Docker image -docker build -t eventrelay:test -f Dockerfile.production . +docker build -t eventrelay:test -f infrastructure/docker/Dockerfile.production . docker run --rm -v /var/run/docker.sock:/var/run/docker.sock aquasecurity/trivy:latest image eventrelay:test ``` diff --git a/apps/web/next.config.js b/apps/web/next.config.js index bd9197027..bf93069f7 100644 --- a/apps/web/next.config.js +++ b/apps/web/next.config.js @@ -52,6 +52,7 @@ const nextConfig = { root: path.resolve(__dirname, '../..'), }, images: { + formats: ['image/avif', 'image/webp'], remotePatterns: [ { protocol: 'https', hostname: 'uvai.io' }, { protocol: 'https', hostname: 'api.uvai.io' }, diff --git a/apps/web/src/app/dashboard/page.tsx b/apps/web/src/app/dashboard/page.tsx index 6963c847c..7e8a66bdf 100644 --- a/apps/web/src/app/dashboard/page.tsx +++ b/apps/web/src/app/dashboard/page.tsx @@ -28,9 +28,11 @@ const DashboardSplitView = dynamic( // ============================================ function VideoCard({ video, + priority = false, onClick }: { video: Video; + priority?: boolean; onClick: () => void; }) { return ( @@ -49,6 +51,7 @@ function VideoCard({ src={video.thumbnail} alt={video.title} fill + priority={priority} className="object-cover transition-transform duration-500 group-hover:scale-105" sizes="(max-width: 768px) 100vw, 33vw" /> @@ -296,8 +299,8 @@ function DashboardContent() { ) : (