From 3e5ba47a1224859a76da63175344743ea4f8b535 Mon Sep 17 00:00:00 2001 From: Benjamin Nussbaum Date: Wed, 24 Sep 2025 22:33:21 +0200 Subject: [PATCH] fix(#71): device specific sleep and setup images --- .../Commands/GenerateDefaultImagesCommand.php | 197 ++++++++++++++++++ app/Models/DeviceModel.php | 4 + app/Services/ImageGenerationService.php | 148 +++++++++++++ .../views/default-screens/setup.blade.php | 22 ++ .../views/default-screens/sleep.blade.php | 28 +++ routes/api.php | 38 +++- storage/app/.gitignore | 4 - storage/app/public/{ => firmwares}/.gitignore | 1 - .../public/images/default-screens/.gitkeep | 0 .../setup-logo_1024_768_8_90.png | Bin 0 -> 11761 bytes .../setup-logo_1200_820_3_0.png | Bin 0 -> 4434 bytes .../setup-logo_1400_840_8_90.png | Bin 0 -> 20404 bytes .../setup-logo_1440_1080_4_90.png | Bin 0 -> 8799 bytes .../setup-logo_1448_1072_8_90.png | Bin 0 -> 15690 bytes .../setup-logo_1600_1200_1_0.png | Bin 0 -> 2447 bytes .../setup-logo_1680_1264_8_90.png | Bin 0 -> 16952 bytes .../setup-logo_1872_1404_8_90.png | Bin 0 -> 17775 bytes .../setup-logo_800_480_1_0.png | Bin 0 -> 1187 bytes .../setup-logo_800_480_2_0.png | Bin 0 -> 1736 bytes .../setup-logo_800_600_8_90.png | Bin 0 -> 9194 bytes .../default-screens/sleep_1024_768_8_90.png | Bin 0 -> 7487 bytes .../default-screens/sleep_1200_820_3_0.png | Bin 0 -> 1962 bytes .../default-screens/sleep_1400_840_8_90.png | Bin 0 -> 5404 bytes .../default-screens/sleep_1440_1080_4_90.png | Bin 0 -> 5922 bytes .../default-screens/sleep_1448_1072_8_90.png | Bin 0 -> 10079 bytes .../default-screens/sleep_1600_1200_1_0.png | Bin 0 -> 963 bytes .../default-screens/sleep_1680_1264_8_90.png | Bin 0 -> 11298 bytes .../default-screens/sleep_1872_1404_8_90.png | Bin 0 -> 12120 bytes .../default-screens/sleep_800_600_8_90.png | Bin 0 -> 6033 bytes storage/app/public/images/setup-logo.png | Bin 0 -> 1108 bytes storage/app/public/images/sleep.bmp | Bin 0 -> 48062 bytes storage/app/public/images/sleep.png | Bin 0 -> 522 bytes tests/Feature/Api/DeviceEndpointsTest.php | 14 +- tests/Feature/GenerateDefaultImagesTest.php | 89 ++++++++ tests/Feature/TransformDefaultImagesTest.php | 89 ++++++++ 35 files changed, 614 insertions(+), 20 deletions(-) create mode 100644 app/Console/Commands/GenerateDefaultImagesCommand.php create mode 100644 resources/views/default-screens/setup.blade.php create mode 100644 resources/views/default-screens/sleep.blade.php delete mode 100644 storage/app/.gitignore rename storage/app/public/{ => firmwares}/.gitignore (60%) create mode 100644 storage/app/public/images/default-screens/.gitkeep create mode 100644 storage/app/public/images/default-screens/setup-logo_1024_768_8_90.png create mode 100644 storage/app/public/images/default-screens/setup-logo_1200_820_3_0.png create mode 100644 storage/app/public/images/default-screens/setup-logo_1400_840_8_90.png create mode 100644 storage/app/public/images/default-screens/setup-logo_1440_1080_4_90.png create mode 100644 storage/app/public/images/default-screens/setup-logo_1448_1072_8_90.png create mode 100644 storage/app/public/images/default-screens/setup-logo_1600_1200_1_0.png create mode 100644 storage/app/public/images/default-screens/setup-logo_1680_1264_8_90.png create mode 100644 storage/app/public/images/default-screens/setup-logo_1872_1404_8_90.png create mode 100644 storage/app/public/images/default-screens/setup-logo_800_480_1_0.png create mode 100644 storage/app/public/images/default-screens/setup-logo_800_480_2_0.png create mode 100644 storage/app/public/images/default-screens/setup-logo_800_600_8_90.png create mode 100644 storage/app/public/images/default-screens/sleep_1024_768_8_90.png create mode 100644 storage/app/public/images/default-screens/sleep_1200_820_3_0.png create mode 100644 storage/app/public/images/default-screens/sleep_1400_840_8_90.png create mode 100644 storage/app/public/images/default-screens/sleep_1440_1080_4_90.png create mode 100644 storage/app/public/images/default-screens/sleep_1448_1072_8_90.png create mode 100644 storage/app/public/images/default-screens/sleep_1600_1200_1_0.png create mode 100644 storage/app/public/images/default-screens/sleep_1680_1264_8_90.png create mode 100644 storage/app/public/images/default-screens/sleep_1872_1404_8_90.png create mode 100644 storage/app/public/images/default-screens/sleep_800_600_8_90.png create mode 100644 storage/app/public/images/setup-logo.png create mode 100644 storage/app/public/images/sleep.bmp create mode 100644 storage/app/public/images/sleep.png create mode 100644 tests/Feature/GenerateDefaultImagesTest.php create mode 100644 tests/Feature/TransformDefaultImagesTest.php diff --git a/app/Console/Commands/GenerateDefaultImagesCommand.php b/app/Console/Commands/GenerateDefaultImagesCommand.php new file mode 100644 index 0000000..c326dd6 --- /dev/null +++ b/app/Console/Commands/GenerateDefaultImagesCommand.php @@ -0,0 +1,197 @@ +info('Starting generation of default images for all device models...'); + + $deviceModels = DeviceModel::all(); + + if ($deviceModels->isEmpty()) { + $this->warn('No device models found in the database.'); + + return self::SUCCESS; + } + + $this->info("Found {$deviceModels->count()} device models to process."); + + // Create the target directory + $targetDir = 'images/default-screens'; + if (! Storage::disk('public')->exists($targetDir)) { + Storage::disk('public')->makeDirectory($targetDir); + $this->info("Created directory: {$targetDir}"); + } + + $successCount = 0; + $skipCount = 0; + $errorCount = 0; + + foreach ($deviceModels as $deviceModel) { + $this->info("Processing device model: {$deviceModel->label} (ID: {$deviceModel->id})"); + + try { + // Process setup-logo + $setupResult = $this->transformImage('setup-logo', $deviceModel, $targetDir); + if ($setupResult) { + ++$successCount; + } else { + ++$skipCount; + } + + // Process sleep + $sleepResult = $this->transformImage('sleep', $deviceModel, $targetDir); + if ($sleepResult) { + ++$successCount; + } else { + ++$skipCount; + } + + } catch (Exception $e) { + $this->error("Error processing device model {$deviceModel->label}: ".$e->getMessage()); + ++$errorCount; + } + } + + $this->info("\nGeneration completed!"); + $this->info("Successfully processed: {$successCount} images"); + $this->info("Skipped (already exist): {$skipCount} images"); + $this->info("Errors: {$errorCount} images"); + + return self::SUCCESS; + } + + /** + * Transform a single image for a device model using Blade templates + */ + private function transformImage(string $imageType, DeviceModel $deviceModel, string $targetDir): bool + { + // Generate filename: {width}_{height}_{bit_depth}_{rotation}.{extension} + $extension = $deviceModel->mime_type === 'image/bmp' ? 'bmp' : 'png'; + $filename = "{$deviceModel->width}_{$deviceModel->height}_{$deviceModel->bit_depth}_{$deviceModel->rotation}.{$extension}"; + $targetPath = "{$targetDir}/{$imageType}_{$filename}"; + + // Check if target already exists and force is not set + if (Storage::disk('public')->exists($targetPath) && ! $this->option('force')) { + $this->line(" Skipping {$imageType} - already exists: {$filename}"); + + return false; + } + + try { + // Create custom Browsershot instance if using AWS Lambda + $browsershotInstance = null; + if (config('app.puppeteer_mode') === 'sidecar-aws') { + $browsershotInstance = new BrowsershotLambda(); + } + + // Generate HTML from Blade template + $html = $this->generateHtmlFromTemplate($imageType, $deviceModel); + // dump($html); + + $browserStage = new BrowserStage($browsershotInstance); + $browserStage->html($html); + $browserStage + ->width($deviceModel->width) + ->height($deviceModel->height); + + $browserStage->setBrowsershotOption('waitUntil', 'networkidle0'); + + if (config('app.puppeteer_docker')) { + $browserStage->setBrowsershotOption('args', ['--no-sandbox', '--disable-setuid-sandbox', '--disable-gpu']); + } + + $outputPath = Storage::disk('public')->path($targetPath); + + $imageStage = new ImageStage(); + $imageStage->format($extension) + ->width($deviceModel->width) + ->height($deviceModel->height) + ->colors($deviceModel->colors) + ->bitDepth($deviceModel->bit_depth) + ->rotation($deviceModel->rotation) + // ->offsetX($deviceModel->offset_x) + // ->offsetY($deviceModel->offset_y) + ->outputPath($outputPath); + + (new TrmnlPipeline())->pipe($browserStage) + ->pipe($imageStage) + ->process(); + + if (! file_exists($outputPath)) { + throw new RuntimeException('Image file was not created: '.$outputPath); + } + + if (filesize($outputPath) === 0) { + throw new RuntimeException('Image file is empty: '.$outputPath); + } + + $this->line(" ✓ Generated {$imageType}: {$filename}"); + + return true; + + } catch (Exception $e) { + $this->error(" ✗ Failed to generate {$imageType} for {$deviceModel->label}: ".$e->getMessage()); + + return false; + } + } + + /** + * Generate HTML from Blade template for the given image type and device model + */ + private function generateHtmlFromTemplate(string $imageType, DeviceModel $deviceModel): string + { + // Map image type to template name + $templateName = match ($imageType) { + 'setup-logo' => 'default-screens.setup', + 'sleep' => 'default-screens.sleep', + default => throw new InvalidArgumentException("Invalid image type: {$imageType}") + }; + + // Determine device properties from DeviceModel + $deviceVariant = $deviceModel->name ?? 'og'; + $colorDepth = $deviceModel->color_depth ?? '1bit'; // Use the accessor method + $scaleLevel = $deviceModel->scale_level; // Use the accessor method + $darkMode = $imageType === 'sleep'; // Sleep mode uses dark mode, setup uses light mode + + // Render the Blade template + return view($templateName, [ + 'noBleed' => false, + 'darkMode' => $darkMode, + 'deviceVariant' => $deviceVariant, + 'colorDepth' => $colorDepth, + 'scaleLevel' => $scaleLevel, + ])->render(); + } +} diff --git a/app/Models/DeviceModel.php b/app/Models/DeviceModel.php index 0d3757b..4dfaf1e 100644 --- a/app/Models/DeviceModel.php +++ b/app/Models/DeviceModel.php @@ -31,6 +31,10 @@ final class DeviceModel extends Model return null; } + if ($this->bit_depth === 3) { + return '2bit'; + } + // if higher then 4 return 4bit if ($this->bit_depth > 4) { return '4bit'; diff --git a/app/Services/ImageGenerationService.php b/app/Services/ImageGenerationService.php index 36597d7..f513e05 100644 --- a/app/Services/ImageGenerationService.php +++ b/app/Services/ImageGenerationService.php @@ -12,6 +12,7 @@ use Bnussbau\TrmnlPipeline\TrmnlPipeline; use Exception; use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Storage; +use InvalidArgumentException; use Ramsey\Uuid\Uuid; use RuntimeException; use Wnx\SidecarBrowsershot\BrowsershotLambda; @@ -255,4 +256,151 @@ class ImageGenerationService } } } + + /** + * Get device-specific default image path for setup or sleep mode + */ + public static function getDeviceSpecificDefaultImage(Device $device, string $imageType): ?string + { + // Validate image type + if (! in_array($imageType, ['setup-logo', 'sleep'])) { + return null; + } + + // If device has a DeviceModel, try to find device-specific image + if ($device->deviceModel) { + $model = $device->deviceModel; + $extension = $model->mime_type === 'image/bmp' ? 'bmp' : 'png'; + $filename = "{$model->width}_{$model->height}_{$model->bit_depth}_{$model->rotation}.{$extension}"; + $deviceSpecificPath = "images/default-screens/{$imageType}_{$filename}"; + + if (Storage::disk('public')->exists($deviceSpecificPath)) { + return $deviceSpecificPath; + } + } + + // Fallback to original hardcoded images + $fallbackPath = "images/{$imageType}.bmp"; + if (Storage::disk('public')->exists($fallbackPath)) { + return $fallbackPath; + } + + // Try PNG fallback + $fallbackPathPng = "images/{$imageType}.png"; + if (Storage::disk('public')->exists($fallbackPathPng)) { + return $fallbackPathPng; + } + + return null; + } + + /** + * Generate a default screen image from Blade template + */ + public static function generateDefaultScreenImage(Device $device, string $imageType): string + { + // Validate image type + if (! in_array($imageType, ['setup-logo', 'sleep'])) { + throw new InvalidArgumentException("Invalid image type: {$imageType}"); + } + + $uuid = Uuid::uuid4()->toString(); + + try { + // Get image generation settings from DeviceModel if available, otherwise use device settings + $imageSettings = self::getImageSettings($device); + + $fileExtension = $imageSettings['mime_type'] === 'image/bmp' ? 'bmp' : 'png'; + $outputPath = Storage::disk('public')->path('/images/generated/'.$uuid.'.'.$fileExtension); + + // Generate HTML from Blade template + $html = self::generateDefaultScreenHtml($device, $imageType); + + // Create custom Browsershot instance if using AWS Lambda + $browsershotInstance = null; + if (config('app.puppeteer_mode') === 'sidecar-aws') { + $browsershotInstance = new BrowsershotLambda(); + } + + $browserStage = new BrowserStage($browsershotInstance); + $browserStage->html($html); + + if (config('app.puppeteer_window_size_strategy') === 'v2') { + $browserStage + ->width($imageSettings['width']) + ->height($imageSettings['height']); + } else { + $browserStage->useDefaultDimensions(); + } + + if (config('app.puppeteer_wait_for_network_idle')) { + $browserStage->setBrowsershotOption('waitUntil', 'networkidle0'); + } + + if (config('app.puppeteer_docker')) { + $browserStage->setBrowsershotOption('args', ['--no-sandbox', '--disable-setuid-sandbox', '--disable-gpu']); + } + + $imageStage = new ImageStage(); + $imageStage->format($fileExtension) + ->width($imageSettings['width']) + ->height($imageSettings['height']) + ->colors($imageSettings['colors']) + ->bitDepth($imageSettings['bit_depth']) + ->rotation($imageSettings['rotation']) + ->offsetX($imageSettings['offset_x']) + ->offsetY($imageSettings['offset_y']) + ->outputPath($outputPath); + + (new TrmnlPipeline())->pipe($browserStage) + ->pipe($imageStage) + ->process(); + + if (! file_exists($outputPath)) { + throw new RuntimeException('Image file was not created: '.$outputPath); + } + + if (filesize($outputPath) === 0) { + throw new RuntimeException('Image file is empty: '.$outputPath); + } + + Log::info("Device $device->id: generated default screen image: $uuid for type: $imageType"); + + return $uuid; + + } catch (Exception $e) { + Log::error('Failed to generate default screen image: '.$e->getMessage()); + throw new RuntimeException('Failed to generate default screen image: '.$e->getMessage(), 0, $e); + } + } + + /** + * Generate HTML from Blade template for default screens + */ + private static function generateDefaultScreenHtml(Device $device, string $imageType): string + { + // Map image type to template name + $templateName = match ($imageType) { + 'setup-logo' => 'default-screens.setup', + 'sleep' => 'default-screens.sleep', + default => throw new InvalidArgumentException("Invalid image type: {$imageType}") + }; + + // Determine device properties from DeviceModel or device settings + $deviceVariant = $device->deviceVariant(); + $deviceOrientation = $device->rotate > 0 ? 'portrait' : 'landscape'; + $colorDepth = $device->colorDepth() ?? '1bit'; + $scaleLevel = $device->scaleLevel(); + $darkMode = $imageType === 'sleep'; // Sleep mode uses dark mode, setup uses light mode + + // Render the Blade template + return view($templateName, [ + 'noBleed' => false, + 'darkMode' => $darkMode, + 'deviceVariant' => $deviceVariant, + 'deviceOrientation' => $deviceOrientation, + 'colorDepth' => $colorDepth, + 'scaleLevel' => $scaleLevel, + ])->render(); + } } diff --git a/resources/views/default-screens/setup.blade.php b/resources/views/default-screens/setup.blade.php new file mode 100644 index 0000000..3b0ff05 --- /dev/null +++ b/resources/views/default-screens/setup.blade.php @@ -0,0 +1,22 @@ +@props([ + 'noBleed' => false, + 'darkMode' => false, + 'deviceVariant' => 'og', + 'deviceOrientation' => null, + 'colorDepth' => '1bit', + 'scaleLevel' => null, +]) + + + + + + Welcome to BYOS Laravel! + Your device is connected. + + + + + diff --git a/resources/views/default-screens/sleep.blade.php b/resources/views/default-screens/sleep.blade.php new file mode 100644 index 0000000..89d6baa --- /dev/null +++ b/resources/views/default-screens/sleep.blade.php @@ -0,0 +1,28 @@ +@props([ + 'noBleed' => false, + 'darkMode' => true, + 'deviceVariant' => 'og', + 'deviceOrientation' => null, + 'colorDepth' => '1bit', + 'scaleLevel' => null, +]) + + + + + +
+ + + +
+ Sleep Mode +
+
+ +
+
diff --git a/routes/api.php b/routes/api.php index 8adc404..9721a0f 100644 --- a/routes/api.php +++ b/routes/api.php @@ -60,12 +60,22 @@ Route::get('/display', function (Request $request) { } if ($device->isPauseActive()) { - $image_path = 'images/sleep.png'; - $filename = 'sleep.png'; + $image_path = ImageGenerationService::getDeviceSpecificDefaultImage($device, 'sleep'); + if (! $image_path) { + // Generate from template if no device-specific image exists + $image_uuid = ImageGenerationService::generateDefaultScreenImage($device, 'sleep'); + $image_path = 'images/generated/'.$image_uuid.'.png'; + } + $filename = basename($image_path); $refreshTimeOverride = (int) now()->diffInSeconds($device->pause_until); } elseif ($device->isSleepModeActive()) { - $image_path = 'images/sleep.png'; - $filename = 'sleep.png'; + $image_path = ImageGenerationService::getDeviceSpecificDefaultImage($device, 'sleep'); + if (! $image_path) { + // Generate from template if no device-specific image exists + $image_uuid = ImageGenerationService::generateDefaultScreenImage($device, 'sleep'); + $image_path = 'images/generated/'.$image_uuid.'.png'; + } + $filename = basename($image_path); $refreshTimeOverride = $device->getSleepModeEndsInSeconds() ?? $device->default_refresh_interval; } else { // Get current screen image from a mirror device or continue if not available @@ -125,8 +135,13 @@ Route::get('/display', function (Request $request) { $image_uuid = $device->current_screen_image; } if (! $image_uuid) { - $image_path = 'images/setup-logo.bmp'; - $filename = 'setup-logo.bmp'; + $image_path = ImageGenerationService::getDeviceSpecificDefaultImage($device, 'setup-logo'); + if (! $image_path) { + // Generate from template if no device-specific image exists + $image_uuid = ImageGenerationService::generateDefaultScreenImage($device, 'setup-logo'); + $image_path = 'images/generated/'.$image_uuid.'.png'; + } + $filename = basename($image_path); } else { // Determine image format based on device settings $preferred_format = 'png'; // Default to PNG for newer firmware @@ -225,7 +240,7 @@ Route::get('/setup', function (Request $request) { 'status' => 200, 'api_key' => $device->api_key, 'friendly_id' => $device->friendly_id, - 'image_url' => url('storage/images/setup-logo.png'), + 'image_url' => url('storage/'.ImageGenerationService::getDeviceSpecificDefaultImage($device, 'setup-logo')), 'message' => 'Welcome to TRMNL BYOS', ]); }); @@ -444,8 +459,13 @@ Route::get('/current_screen', function (Request $request) { $image_uuid = $device->current_screen_image; if (! $image_uuid) { - $image_path = 'images/setup-logo.bmp'; - $filename = 'setup-logo.bmp'; + $image_path = ImageGenerationService::getDeviceSpecificDefaultImage($device, 'setup-logo'); + if (! $image_path) { + // Generate from template if no device-specific image exists + $image_uuid = ImageGenerationService::generateDefaultScreenImage($device, 'setup-logo'); + $image_path = 'images/generated/'.$image_uuid.'.png'; + } + $filename = basename($image_path); } else { // Determine image format based on device settings $preferred_format = 'png'; // Default to PNG for newer firmware diff --git a/storage/app/.gitignore b/storage/app/.gitignore deleted file mode 100644 index fedb287..0000000 --- a/storage/app/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -* -!private/ -!public/ -!.gitignore diff --git a/storage/app/public/.gitignore b/storage/app/public/firmwares/.gitignore similarity index 60% rename from storage/app/public/.gitignore rename to storage/app/public/firmwares/.gitignore index 19a4b22..d6b7ef3 100644 --- a/storage/app/public/.gitignore +++ b/storage/app/public/firmwares/.gitignore @@ -1,3 +1,2 @@ * -!images/ !.gitignore diff --git a/storage/app/public/images/default-screens/.gitkeep b/storage/app/public/images/default-screens/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/storage/app/public/images/default-screens/setup-logo_1024_768_8_90.png b/storage/app/public/images/default-screens/setup-logo_1024_768_8_90.png new file mode 100644 index 0000000000000000000000000000000000000000..3734da1e27528680da1426e900cb7d3cd0e13683 GIT binary patch literal 11761 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 G4*6eGXQ7Dz literal 0 HcmV?d00001 diff --git a/storage/app/public/images/default-screens/setup-logo_1200_820_3_0.png b/storage/app/public/images/default-screens/setup-logo_1200_820_3_0.png new file mode 100644 index 0000000000000000000000000000000000000000..17dcf60432a82b9f2956f62274b5a703d73b69d1 GIT binary patch literal 4434 zcmeHL`&W`_9%pLOG1sW|OlpbN&W>|t7d0#|2x`0KR^udHrd13@hR9k`v^UKQfu~$; zH-o88YMHWU+%BsigqjynOX?+i1;%luQqhz#MiB@R5#g0(&e>n~519F3k3W8&^ZlOZ z_WfL*=Wj=n5BO}{wh@6q_#8U8{}=-Cp$LIkzvm769U1X{ly$>wk? zl`;x@c?P9i$|4M~%e=0#pGn(ta+g%$4Vys!5cFy%Ophc~)M3GeUMdInk5TMpUUp~o zi~BUl6Odd@1Ip9PaUp!(soOvRP}M~b+nys6y%DcaI5Z=>R>zH@*H(I>c&p!XFR;nm zo0NUx;W(;Q7oFjA*j;5l~WfrR~9ns}z`{K|+gxqUF-`iazANVorhP4{!mewmsuK6~$5MRjWeDSq1f zK`@}irldSlR-R?gz*oba-y;wB4UqgCW_RMth3dcW+Z7gEY^jND@gYLbuSK(`#&2Z8 zd2GieWd}h7r^(KJ`h{h5!!o48MeAzEIvzUd6Te;{EPo%^hOXIeY0t=K{50bv%hT#P zc}XGrYcqVLjWjzlcXcCqOlz1%?V`YFXpa4R%MU`EbK)Nh3R$?ctr17YIaeBXr&y7~ zf}a3$j4CslpmgsI6o?;x^h& z=;d_Rcp$6j1}1Di?#t*pzqZj1ItOQYVMqx|X3h4ScMpynN5S%y9G?V^mp%&zbL=J1 zQYC?qCpC|1!!O$Ae%$%0?`@ec=ZLrG-#;{r=xkhE9 z1ONu{0Pt=qYg6oakVbOuWwr{e-^|BF%2TUn7KN}}(q&seVQQI73ai`qZthC!gIMf> z_Pd*Yrg-Fr3&A@enxU64NR#qctz zZ|ikBWJ$sj+}PDvqUh?e^=9M9D3pBw>dt$q@UW=kA}E@F(Smx(c}u3%a|dM+s#jAY zcz%mz^t#{ud)^Q3Qs2yv8mCybBIC$Hz9f)^$7Tk|J5rSS=LS}nC06JbkdDp6N|GKL zhZv+&h)y5hHR}DvsCUis{XDd?W}^Qu9unXoQ6V)t0}Y9Ddka5%dIu8R^m?Coz*jA} z`WIq#d&b!3kXx7NA^eja{}!Y5MS|O+vZ|5tf|c2~xolj;EF|Wi6kHY_PL-JR^x}1- z+al0NOCTxaati3qkJ7&#Ew?V$==llm}U#`oY>o1Q4Un_KSOi)7uShTH=71vXxt5F=KD$N?NY$bz`I?37!iCOB{ z&OH=E22cL(<%luA%G_;_RXbO+DqYHbWxUz>^7ifFTvfAxT4jy_m#re)$sQHcwWUUx zNmRpv%ig|f$Wr9kq&_VhdIX>?IeO;Ug=H#x9?$x2JQ!xZ6~Eav8Qjhf%I;sc6h@Mj zY@rrn$Tw&EPqEg1g`BdX+^~_C`TsV>XIp4^o?LV+0mWwsK>5oI`AGKH=9w5ws9d zQB2ZE8qIyx^Xbm}j@Q>ZxE^wUNex!VWTO08QX z?j4AO8sek)1YmInU8eU{k0tWu8ZnwcARygcE3O)$-G{N@>fCTqUo==->c~C;iP2Od zxa#|CqykfI%L&dRR#W=L{L&21SFDq=Tq(J?1YS((=1F(sN9}6i7#MIx5<@Y7MMeJF zDeL@%cD2Vg=bWGwyIz>o_a390J2u6;Qh-7(*eBL+hMahv>gql2{reRxILg& zID9z%<2JOuPgM9>K?LQ405%LCM>ugGdcW9=-myMPiPAzGc9$weF|S Ol0%8f`&<5)dFekgrq@3J literal 0 HcmV?d00001 diff --git a/storage/app/public/images/default-screens/setup-logo_1400_840_8_90.png b/storage/app/public/images/default-screens/setup-logo_1400_840_8_90.png new file mode 100644 index 0000000000000000000000000000000000000000..71ecd65e25c67a2a6468d1e8744bf6000b3386df GIT binary patch literal 20404 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

8B2pta;A$p6`J~2; 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 literal 0 HcmV?d00001 diff --git a/storage/app/public/images/default-screens/setup-logo_1600_1200_1_0.png b/storage/app/public/images/default-screens/setup-logo_1600_1200_1_0.png new file mode 100644 index 0000000000000000000000000000000000000000..f080990c3a154ba4b8cc87328b59bdf957331b9f GIT binary patch literal 2447 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 M?)78&4;QZg4>yPU#{d8T literal 0 HcmV?d00001 diff --git a/storage/app/public/images/default-screens/setup-logo_1872_1404_8_90.png b/storage/app/public/images/default-screens/setup-logo_1872_1404_8_90.png new file mode 100644 index 0000000000000000000000000000000000000000..5894ab8f9086b0629708892571305865abb324e6 GIT binary patch literal 17775 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 literal 0 HcmV?d00001 diff --git a/storage/app/public/images/default-screens/setup-logo_800_480_1_0.png b/storage/app/public/images/default-screens/setup-logo_800_480_1_0.png new file mode 100644 index 0000000000000000000000000000000000000000..1b0d150d169a011e2dbdf1ab0e2f2f3df14f64ca GIT binary patch literal 1187 zcmeAS@N?(olHy`uVBq!ia0y~yU{+vYV0^#`6ksT=F^OPcV9D}yaSW-r_4bZ`_G32* zwgO4{l2@yavs`+yCcbsIimkmd_B{nBA;_X>=XkN3x|M$LjwaN zl^8#lOqkSuMBcoss((`q`|~M(zV@!;d$Q%s%!QIKOHV)DC;q~9M)-%9GoxH$Hk$Qo zeHNcSH~5Niwu;>K6F=Ftr8~B+WqG;vN5O?YyY0MPd(1Z83p7eM5>_@>_J1->=!o^h z-|w{KdiO4fSieGj;*mv5KE>(le>-9n*35BkSL&oQ=bIMkoa9)eBI)_$jQ*jQn$Ni= zWTh)i{FHyfNp9UK^`LeM=_45v{oD^SAM@{Y2OG_dw=61QQeXRD_3n23D;2Q9Zt^J=?{f8*@2{Orf4O$|scZNDPOG)} z_Vb1M*O?(}Hfi3DbUp6la(um2VYIv2mGr-dw;#Rnv&f+S?C#HfZ9W>y=69Z-me_ve zmiW6LA{=-(+rO^z-5>%h?*+MYexX z5jJ{Sxi87FnWbd;ub?*%vr<*&D_yvJG+8Y(NPcH^Wzx=YsbiacwuI01te3tX8~x(R z-aeUm*RHK=-Ck6`X|A>I-I;&R=WT3cVEm-1P|svwV`35*J%1yp^zn4{b6Mw<&;$Ty C+6R>Y literal 0 HcmV?d00001 diff --git a/storage/app/public/images/default-screens/setup-logo_800_480_2_0.png b/storage/app/public/images/default-screens/setup-logo_800_480_2_0.png new file mode 100644 index 0000000000000000000000000000000000000000..031e369b5e71b5c6129d21dde7e638bace899d4b GIT binary patch literal 1736 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 N!*A-Sm#J9>{TK1TmoWeU literal 0 HcmV?d00001 diff --git a/storage/app/public/images/default-screens/sleep_1200_820_3_0.png b/storage/app/public/images/default-screens/sleep_1200_820_3_0.png new file mode 100644 index 0000000000000000000000000000000000000000..287ec0a6668de492f5a0b0900e2102ecf0e00c00 GIT binary patch literal 1962 zcmeAS@N?(olHy`uVBq!ia0y~yVA;UHz-+<+6kzB((-O?Uz+UL-;uunK>+PNBqQ_#D7Bk4|Nse!94QuWrEso^IjdUY^yBKi%c}O@BW>d9nI=gK}Dg zj8suAfBwGP(G@rbCORdhZI(atdfh& zU$^ayJOAwKa~E%qe$XK)cD(J?@ePuh_qQbXpD!=sYxqC)s`|brNwE)RB49i`VtknT z;()qFV3LU7%Xyb}^D)}_zIPK9T$wzLwT6A~?huz0*@p7%d#xj$UFX=WFZgom^4(_+ ziGK*XX1qq@vCYm?XAF)DO|;vYcIM1RomSQlMrLcLO%5_DHaQFueHIpBC@OZ~^o?y% zlE%ibvk&FIw!J@D{^hlMy!uLii#8tga*;eQ^WL)SzCg1w?4NxW)UkM_S>fR zeSy`JlX<1>K~LJBZ+w}x;nrrK(~(>G?^yqt<=l|}{$9H3vCO@-`^+T_*BL>Rm%j>QI8~tfVQc)e-YRMa6CvB|qcmJR9{jN;O?cdvytvASo%4fH+=9u=H#s8oB zs&?92yW*=Rty_DJy`5g|f6n^)?bVID{%*?L2r(xjvbONrj?WrlSM{%^WSHLan=ox+ zS<<%elg_SW%zEv%dwt^64voiY^IvhTTe&LBWVUg*^y}EyjXCEw&Dm9cxZ7iY%%-}1 zwV$W*ew}nVYgXvmuw4F=S7%+VO^CdjrDtAkZuvo}?rwc-X;f#&{mau{O19sxKOXt| zt>|e37nAG=K|#x2{r_3k6TT<6CrZA%`$6fFet6Gkqw1OS58m4CedC_unXfNCN?m(+ z_3oi?U-^9jd3@-S6vC7qm{o zxVY+1)~{V{g?Azk?>fJGQ>BQUq^ZI^SU)5Gyr-47i`t7yA?f<{j+^c`BzOL`q#`56q z6ThEIK0U?4{lI(b-8}8UQ;TO_^nEWUHu1eg!}l=0TWf0)CwFzMVgB&0>ide06IKlO x9pCE#6W-&6S`U5~ga^39DW-)ZWw<@NfJNpP)t=>xBF=z>Jzf1=);T3K0RT0EBYFS; literal 0 HcmV?d00001 diff --git a/storage/app/public/images/default-screens/sleep_1400_840_8_90.png b/storage/app/public/images/default-screens/sleep_1400_840_8_90.png new file mode 100644 index 0000000000000000000000000000000000000000..2f2166e146c54e02163246379acf57ce6a562024 GIT binary patch literal 5404 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 literal 0 HcmV?d00001 diff --git a/storage/app/public/images/default-screens/sleep_1448_1072_8_90.png b/storage/app/public/images/default-screens/sleep_1448_1072_8_90.png new file mode 100644 index 0000000000000000000000000000000000000000..a08c008fbf698a109c9da02d3fed943a6d3cecfd GIT binary patch literal 10079 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 C`z1gC literal 0 HcmV?d00001 diff --git a/storage/app/public/images/default-screens/sleep_1600_1200_1_0.png b/storage/app/public/images/default-screens/sleep_1600_1200_1_0.png new file mode 100644 index 0000000000000000000000000000000000000000..060da4e836a2f5758aeb2b2fe006978fc254b940 GIT binary patch literal 963 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 literal 0 HcmV?d00001 diff --git a/storage/app/public/images/setup-logo.png b/storage/app/public/images/setup-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..1fc342cc538f356827debe7f4297d1e5aa1d691b GIT binary patch literal 1108 zcmeAS@N?(olHy`uVBq!ia0y~yU{+vYV0^#`6ksT=F^OPcV3GE8aSW-r_4c-7-x4#C zV};YJE}phxa$mXlAn!9T7fXje1DQq*=|vkAZa8c`xyo*}oyp`sx}}~vUGa&JkAF6n zoyHx-z(@}Gd2?a~tI-y5g@;TjT>SQzq9?xpS;qB#|>GW`$& zJ}V}>&C;IG?>)gJw&p~E?5CHmzj!0J34D94T&{2Q)TgceRL>e%?a_ATOq&xkigw9c#_rX zz56Gl*Ou2dv%mE7;BgZBX|zdKdfwg8GiS_|3ga2x=5A8BE%h%@Zd<EO&Aik^M@8sqB>T!3eTAoy zTWuS!Pkb3CqK(~JF93SZr)Y^br-nzi$2rMr00z5s!#i`MQq^3Q5> zkcarhq}n1@r762#O|)O{Fy-52#l^e$`9IBf`S(G2v$A;Hx%_(`vEiL1^VaNh>GSoS z@L%|og}~ugZ*8xtRvF-|fwUM&6c+Mg?(C7EyMy*Ds6 zYR_GLvg^rO9rH<>PgLl+?3a~1yzOtgYmw%m-X-N;Z#+&Z+^SetwqMj!eBuQ6DeD#s z&Fsy8prX?2Y22;KCTf{)HfuuQtXES{sPt8e3N`;ax1#OL%P*fR;|~<7ZqF^=W~yYU zI5*_>wTXY^0`+rQLljQm_rB^fk$q#@q7xoxT_#SP)v2UxD(tF%Gt5UscI6BWt4r~P zs<;06s4m*$64HC(zh7W;Mzs3Z6LBjE7{>8aU6P@tF?1FWH2Ev=sBqQD<|tL!@a)Wy{EGkNZ!8t`NNgl8+&|Z`*Fv)JaI0u zAHQYx`tv8%{>YyD-ET!vR23c(KmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|00D))%FD#P%@kHtN|HnA_eBD1d`F{2Ex__>ss$yKsEXGO|!#UrN z$(hCYqK)ybZ!r#t@sPm0|LOJQY%*7lM{zqZE@sQ(R+v{ev-k6tSEn~K+5EVZR9~!o zn0<-yQ1bCQ0tg_000IagfB*srAb>zbfwBLuB;}SJXPUUlv=d_FA1*a9-1soWSg88p zx<}#7pFa+@wvU5np~a>a&a`#xrlF-&){k*ItOjJAs>UOkrlY$-Pjz|K#8CCab(I@56(AF_VKgLZzRO7K{d9}1TqMPScUM*}QrsBNP_Jh3I{VEV+o|k#G9{SwX z=GF2@IzP(1TKEqq;&t%%)W^`SgZ7&oVLw<0cb|gJ=T%ntBF(F{8(Puk)ynm(==$OF zYBlOv(XNBb;;R+y_3BUY%Zjictb@Bx!f5NDU3G1qYuCXlhV1*t{^ZrLlqz)JYwda! za!~lWz0M}#eTE44OCsF&iF5x-e;+O+6-NXRKmdUafnL7xL{yCtqh8iUeelg53fm4% zcd}5^9g|C4+jYzND68wDN-s)`f#}_DHd}x2-8|WHeQ##S$92mx+s%z)#K`jPz^$J- zZN0_q2ALt-Cik34^ttO|#JHz>oJIfv1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 p009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q7UFfxiG|z=Qw* literal 0 HcmV?d00001 diff --git a/storage/app/public/images/sleep.png b/storage/app/public/images/sleep.png new file mode 100644 index 0000000000000000000000000000000000000000..49bdabf8c027b0f74389210c389d5c6ff0336bc2 GIT binary patch literal 522 zcmeAS@N?(olHy`uVBq!ia0y~yU{+vYV0^#`6ksT=F^K?jE_%8+hE&{od($vGI8cJ^ zfwWTE#A|^coc?gDde8loKSw)u*WGM!@r$7u3+k5!Y*<{sz*)ihn#Xhw#gE5K*h)Mv zzF!GA)-=lh4TMRL_LRJrgGX=vXDE-m=F#Bivkh ziMag5d9jz|)!$6|w`0}gU?V51@QCXWVWdy?^`Y*%3^E+l7{P6ZWNYvBS&t;uc GLK6V%?(S#+ literal 0 HcmV?d00001 diff --git a/tests/Feature/Api/DeviceEndpointsTest.php b/tests/Feature/Api/DeviceEndpointsTest.php index 005e73e..726f313 100644 --- a/tests/Feature/Api/DeviceEndpointsTest.php +++ b/tests/Feature/Api/DeviceEndpointsTest.php @@ -812,10 +812,10 @@ test('device in sleep mode returns sleep image and correct refresh rate', functi 'fw-version' => '1.0.0', ])->get('/api/display'); - $response->assertOk() - ->assertJson([ - 'filename' => 'sleep.png', - ]); + $response->assertOk(); + + // The filename should be a UUID-based PNG file since we're generating from template + expect($response['filename'])->toMatch('/^[a-f0-9-]+\.png$/'); expect($response['refresh_rate'])->toBeGreaterThan(0); Carbon\Carbon::setTestNow(); // Clear test time @@ -867,8 +867,10 @@ test('device returns sleep.png and correct refresh time when paused', function ( $response->assertOk(); $json = $response->json(); - expect($json['filename'])->toBe('sleep.png'); - expect($json['image_url'])->toContain('sleep.png'); + + // The filename should be a UUID-based PNG file since we're generating from template + expect($json['filename'])->toMatch('/^[a-f0-9-]+\.png$/'); + expect($json['image_url'])->toContain('images/generated/'); expect($json['refresh_rate'])->toBeLessThanOrEqual(3600); // ~60 min }); diff --git a/tests/Feature/GenerateDefaultImagesTest.php b/tests/Feature/GenerateDefaultImagesTest.php new file mode 100644 index 0000000..6c084c9 --- /dev/null +++ b/tests/Feature/GenerateDefaultImagesTest.php @@ -0,0 +1,89 @@ +not->toBeEmpty(); + + // Run the command + $this->artisan('images:generate-defaults') + ->assertExitCode(0); + + // Check that the default-screens directory was created + expect(Storage::disk('public')->exists('images/default-screens'))->toBeTrue(); + + // Check that images were generated for each device model + foreach ($deviceModels as $deviceModel) { + $extension = $deviceModel->mime_type === 'image/bmp' ? 'bmp' : 'png'; + $filename = "{$deviceModel->width}_{$deviceModel->height}_{$deviceModel->bit_depth}_{$deviceModel->rotation}.{$extension}"; + + $setupPath = "images/default-screens/setup-logo_{$filename}"; + $sleepPath = "images/default-screens/sleep_{$filename}"; + + expect(Storage::disk('public')->exists($setupPath))->toBeTrue(); + expect(Storage::disk('public')->exists($sleepPath))->toBeTrue(); + } +}); + +test('getDeviceSpecificDefaultImage returns correct path for device with model', function () { + $deviceModel = DeviceModel::first(); + expect($deviceModel)->not->toBeNull(); + + $device = new Device(); + $device->deviceModel = $deviceModel; + + $setupImage = ImageGenerationService::getDeviceSpecificDefaultImage($device, 'setup-logo'); + $sleepImage = ImageGenerationService::getDeviceSpecificDefaultImage($device, 'sleep'); + + expect($setupImage)->toContain('images/default-screens/setup-logo_'); + expect($sleepImage)->toContain('images/default-screens/sleep_'); +}); + +test('getDeviceSpecificDefaultImage falls back to original images for device without model', function () { + $device = new Device(); + $device->deviceModel = null; + + $setupImage = ImageGenerationService::getDeviceSpecificDefaultImage($device, 'setup-logo'); + $sleepImage = ImageGenerationService::getDeviceSpecificDefaultImage($device, 'sleep'); + + expect($setupImage)->toBe('images/setup-logo.bmp'); + expect($sleepImage)->toBe('images/sleep.bmp'); +}); + +test('generateDefaultScreenImage creates images from Blade templates', function () { + $device = Device::factory()->create(); + + $setupUuid = ImageGenerationService::generateDefaultScreenImage($device, 'setup-logo'); + $sleepUuid = ImageGenerationService::generateDefaultScreenImage($device, 'sleep'); + + expect($setupUuid)->not->toBeEmpty(); + expect($sleepUuid)->not->toBeEmpty(); + expect($setupUuid)->not->toBe($sleepUuid); + + // Check that the generated images exist + $setupPath = "images/generated/{$setupUuid}.png"; + $sleepPath = "images/generated/{$sleepUuid}.png"; + + expect(Storage::disk('public')->exists($setupPath))->toBeTrue(); + expect(Storage::disk('public')->exists($sleepPath))->toBeTrue(); +}); + +test('generateDefaultScreenImage throws exception for invalid image type', function () { + $device = Device::factory()->create(); + + expect(fn () => ImageGenerationService::generateDefaultScreenImage($device, 'invalid-type')) + ->toThrow(InvalidArgumentException::class); +}); + +test('getDeviceSpecificDefaultImage returns null for invalid image type', function () { + $device = new Device(); + $device->deviceModel = DeviceModel::first(); + + $result = ImageGenerationService::getDeviceSpecificDefaultImage($device, 'invalid-type'); + expect($result)->toBeNull(); +}); diff --git a/tests/Feature/TransformDefaultImagesTest.php b/tests/Feature/TransformDefaultImagesTest.php new file mode 100644 index 0000000..041c708 --- /dev/null +++ b/tests/Feature/TransformDefaultImagesTest.php @@ -0,0 +1,89 @@ +not->toBeEmpty(); + + // Run the command + $this->artisan('images:generate-defaults') + ->assertExitCode(0); + + // Check that the default-screens directory was created + expect(Storage::disk('public')->exists('images/default-screens'))->toBeTrue(); + + // Check that images were generated for each device model + foreach ($deviceModels as $deviceModel) { + $extension = $deviceModel->mime_type === 'image/bmp' ? 'bmp' : 'png'; + $filename = "{$deviceModel->width}_{$deviceModel->height}_{$deviceModel->bit_depth}_{$deviceModel->rotation}.{$extension}"; + + $setupPath = "images/default-screens/setup-logo_{$filename}"; + $sleepPath = "images/default-screens/sleep_{$filename}"; + + expect(Storage::disk('public')->exists($setupPath))->toBeTrue(); + expect(Storage::disk('public')->exists($sleepPath))->toBeTrue(); + } +}); + +test('getDeviceSpecificDefaultImage returns correct path for device with model', function () { + $deviceModel = DeviceModel::first(); + expect($deviceModel)->not->toBeNull(); + + $device = new Device(); + $device->deviceModel = $deviceModel; + + $setupImage = ImageGenerationService::getDeviceSpecificDefaultImage($device, 'setup-logo'); + $sleepImage = ImageGenerationService::getDeviceSpecificDefaultImage($device, 'sleep'); + + expect($setupImage)->toContain('images/default-screens/setup-logo_'); + expect($sleepImage)->toContain('images/default-screens/sleep_'); +}); + +test('getDeviceSpecificDefaultImage falls back to original images for device without model', function () { + $device = new Device(); + $device->deviceModel = null; + + $setupImage = ImageGenerationService::getDeviceSpecificDefaultImage($device, 'setup-logo'); + $sleepImage = ImageGenerationService::getDeviceSpecificDefaultImage($device, 'sleep'); + + expect($setupImage)->toBe('images/setup-logo.bmp'); + expect($sleepImage)->toBe('images/sleep.bmp'); +}); + +test('generateDefaultScreenImage creates images from Blade templates', function () { + $device = Device::factory()->create(); + + $setupUuid = ImageGenerationService::generateDefaultScreenImage($device, 'setup-logo'); + $sleepUuid = ImageGenerationService::generateDefaultScreenImage($device, 'sleep'); + + expect($setupUuid)->not->toBeEmpty(); + expect($sleepUuid)->not->toBeEmpty(); + expect($setupUuid)->not->toBe($sleepUuid); + + // Check that the generated images exist + $setupPath = "images/generated/{$setupUuid}.png"; + $sleepPath = "images/generated/{$sleepUuid}.png"; + + expect(Storage::disk('public')->exists($setupPath))->toBeTrue(); + expect(Storage::disk('public')->exists($sleepPath))->toBeTrue(); +})->skipOnCI(); + +test('generateDefaultScreenImage throws exception for invalid image type', function () { + $device = Device::factory()->create(); + + expect(fn () => ImageGenerationService::generateDefaultScreenImage($device, 'invalid-type')) + ->toThrow(InvalidArgumentException::class); +}); + +test('getDeviceSpecificDefaultImage returns null for invalid image type', function () { + $device = new Device(); + $device->deviceModel = DeviceModel::first(); + + $result = ImageGenerationService::getDeviceSpecificDefaultImage($device, 'invalid-type'); + expect($result)->toBeNull(); +});