laravel-switchbot-frame

Versie
1.4.0
Downloads
180 downloads
Licentie
Apache-2.0
GitHub

Changelog

1.4.0 - 2026-10-10

What's Changed

Added

  • laravel/ai 1.x support: the AI Studio now works with both laravel/ai ^0.11 and ^1.0. Token usage is read from either shape: promptTokens/completionTokens in 0.x and inputTokens/outputTokens in 1.x, including the new ImageUsage.
  • Suggests spaanproductions/laravel-ai-usage for tracking the tokens and cost of every laravel/ai call in a dashboard with budgets.
  • CI now runs the test matrix against both laravel/ai majors.

Changed

  • Bookkeeping can no longer fail the feature. Token usage, model name and cost estimation are now rescued without being reported. If recording them fails, a generated image is still marked ready and an improved prompt is still applied.

Full Changelog: https://github.com/spaanproductions/laravel-switchbot-frame/compare/1.3.0...1.4.0

1.3.0 - 2026-08-30

What's Changed

Added

  • Per-conversation cost in the history sidebar — each conversation now shows its estimated spend next to the timestamp (loaded with a single aggregated withSum query, no N+1).
  • Total spend card — a card in the AI Studio header sums the estimated cost across all of your conversations.
  • Rename conversations — hover a history row and click the pencil to rename it inline (Enter saves, Escape cancels; max 120 characters).

All cost UI only appears when cost estimation is enabled (switchbot.ai.cost_estimation.enabled).

Fixed

  • CSS build drift check: pinned Tailwind to an exact version and rebuilt the standalone stylesheet so a fresh npm install reproduces dist/switchbot-frame.css deterministically.

Full Changelog: https://github.com/spaanproductions/laravel-switchbot-frame/compare/1.2.1...1.3.0

1.2.1 - 2026-08-30

What's Changed

Fixed

  • HEIC files are selectable again on macOS. 1.2.0's accept="image/jpeg,image/png,image/webp" greyed out .heic in the desktop file picker (no desktop browser auto-converts HEIC); both upload inputs are back to accept="image/*".

Added

  • In-browser HEIC → JPEG conversion. iPhone .heic photos are now transcoded to JPEG in the browser — a small interceptor lazy-loads the heic2any (libheif-WASM) decoder on the first HEIC pick and hands Livewire a JPEG — so they work in both the Gallery and AI Studio with no server-side image dependency (the optimizer stays pure GD). A "Converting HEIC…" indicator shows during conversion.
  • The compiled JS now ships alongside the CSS: served by ScriptController at route('switchbot.assets.js', ['asset' => 'app']) and publishable to public/vendor/switchbot/ under the switchbot-frame-assets tag.

Notes

  • If JavaScript is disabled or a strict host Content-Security-Policy blocks the WebAssembly, a HEIC is rejected with a clear validation message instead of a 500. Strict CSPs should allow script-src 'wasm-unsafe-eval'.

Full Changelog: https://github.com/spaanproductions/laravel-switchbot-frame/compare/1.2.0...1.2.1

1.2.0 - 2026-08-30

What's Changed

Fixed

  • HEIC uploads no longer 500 in the AI Studio composer. The upload thumbnail called Livewire's temporaryUrl() unconditionally, which throws FileNotPreviewableException for extensions outside preview_mimes (e.g. .heic) — crashing the render before the mimes rule could reject the file. The preview is now guarded with isPreviewable(), matching the Gallery component.

Changed

  • Upload pickers now accept only supported formats. Both the AI Studio and Gallery file inputs use accept="image/jpeg,image/png,image/webp" instead of image/*. On iOS/Safari this nudges the OS to auto-convert HEIC → JPEG on selection, so most iPhone photos "just work"; anything still HEIC gets a clear validation error rather than a crash.
  • Bumped the optional laravel/ai dev dependency from ^0.9 to ^0.11.0.

Internal

  • Added a GitHub Actions CI pipeline (PHPUnit tests, PHPStan/larastan, php-cs-fixer, and a standalone CSS build check) plus Dependabot. (#1)
  • Added a regression test covering non-previewable start-image uploads.

Full Changelog: https://github.com/spaanproductions/laravel-switchbot-frame/compare/1.1.0...1.2.0

1.1.0 - 2026-07-18

AI Image Studio

Generate and edit frame art with AI, right from the admin page — powered by the optional laravel/ai (https://github.com/laravel/ai) package.

  • 🎨 Create with AI — describe a frame, or start from an uploaded/library photo, then refine it conversationally
  • ✏️ Edit with AI on any library image, and Improve prompt to expand a short idea into a rich one
  • 🖼️ Save to library with optimize presets (Vivid, Balanced, Soft, Grayscale — configurable)
  • 💬 Browsable, shareable conversation history with retry on failures
  • 💸 Optional, experimental token & cost tracking (LiteLLM price sheet)

Fully opt-in (install laravel/ai + enable in config) — the frame gallery works exactly as before without it. Supports Laravel 12 & 13.

Full Changelog: https://github.com/spaanproductions/laravel-switchbot-frame/compare/1.0.0...1.1.0

1.0.0 - 2026-07-18

Full Changelog: https://github.com/spaanproductions/laravel-switchbot-frame/commits/1.0.0

Een fout gevonden of een vraag? Maak een issue aan op GitHub.