Skip to content

Releases: prit-007/wallbizz

Release v1.9.0

Choose a tag to compare

@github-actions github-actions released this 15 Sep 08:33
45b7023

[1.9.0] - 2026-09-15

Added

  • Local-first wishlist — wishlists stored in Hive on-device, works offline without auth
  • Local-first moodboard — moodboards stored in Hive on-device, no auth required
  • SyncService — auto-sync on authentication, manual sync, bidirectional merge
  • Manual + Auto sync — toggle in settings, auto-sync on login, pull from cloud to local
  • Wallhaven ID storage — wishlists/moodboards use wallhaven_id directly, no FK to wallpapers table

Changed

  • WallpaperActions — heart tap works locally without auth, syncs to cloud when authenticated
  • AddToMoodboardSheet — reads from Hive, syncs to Supabase when authenticated
  • AuthBottomSheet — triggers sync on Google/email sign-in
  • WishlistScreen — reads directly from Hive, no Supabase dependency for display

Fixed

  • Wishlist 400 error — removed FK constraint dependency, wallpapers no longer need to exist in DB
  • Moodboard 400 error — same fix, wallhaven_id stored directly

Schema

  • New tables: wishlists_v2, moodboards_v2, moodboard_items_v2 with wallhaven_id VARCHAR(50)
  • Data migration from old UUID-based tables preserved in sql/007_local_first.sql

Release v1.8.7

Choose a tag to compare

@prit-007 prit-007 released this 14 Sep 19:22
936ef68

[1.8.7] - 2026-09-14

Fixed

  • Wishlist 400 error — wallpapers from Wallhaven search had wh- prefixed IDs instead of DB UUIDs, causing foreign key violations when adding to wishlist (#80)
  • Moodboard 400 error — same UUID mismatch when adding wallpapers to moodboards (#80)
  • Black screen on web — Supabase.initialize() now wrapped in try-catch with diagnostic logging so empty URL/key no longer crashes the app (#80)

Changed

  • UUID resolver — addToWishlist, removeFromWishlist, isInWishlist, addToMoodboard, removeFromMoodboard, and fetchMoodboardItemIds now automatically resolve wh- prefixed wallhaven IDs to actual DB UUIDs before querying

Release v1.8.6

Choose a tag to compare

@prit-007 prit-007 released this 14 Sep 18:29
656bc27

[1.8.6] - 2026-09-14

Fixed

  • App icon — custom W logo on dark background for consistent branding across web, Android, and splash screen (#78)
  • Splash screen — displays W logo above brand text for a polished first impression (#78)
  • About screen — replaced generic image icon with branded W logo (#78)
  • Build artifacts — auto-generated plugin registrants now properly gitignored (#77)

Release v1.8.5

Choose a tag to compare

@prit-007 prit-007 released this 14 Sep 13:56
bc18d41

[1.8.5] - 2026-09-14

Fixed

  • Swiper zoomed swipe — zoomed images can now be panned instead of accidentally swiping to next image (#75)
  • PageView steals gestures when zoomed — horizontal swipes now pan the image, not switch pages (#75)

Changed

  • Swiggy-style page transitions — custom SlideFadeRoute with 350ms slide+fade push/pop (#75)
  • WallpaperCard 120fps — removed BackdropFilter from heart button and resolution badge (#75)
  • Nav bar perf — reduced BackdropFilter blur from 30→16 sigma, added RepaintBoundary isolation (#75)
  • Shimmer skeleton perf — replaced per-item .animate().repeat() with TweenAnimationBuilder (#75)
  • Grid card perf — removed redundant .animate().fade().slideY() per card (#75)

Added

  • Comprehensive test coverage — 380 Flutter tests, backend proxy and auth tests (#48, #72)
  • CRON_SECRET configured — secure 48-byte secret for sync endpoint (#73)
  • Landscape compact layout — smaller brand header and nav bar in landscape (#74)
  • StaggeredGrid sliverMode — supports embedding in CustomScrollView (#74)
  • REQUEST_INSTALL_PACKAGES — Android permission for APK installs (#74)

Release v1.8.0

Choose a tag to compare

@github-actions github-actions released this 14 Sep 13:17
32b0434
Release v1.8.0 - Landscape UX, sliver mode, test coverage sprint

Release v1.7.0

Choose a tag to compare

@prit-007 prit-007 released this 13 Sep 15:01
16e7b4b

[1.7.0] - 2026-09-13

Fixed

  • Splash screen too slow — reduced delay from 3.5s to 2s, transition from 1000ms to 500ms (#19)
  • Snackbar shows stale count — now reads directly from Hive box length (#16)
  • Auth listener leaks — Settings and VerifyEmail screens properly dispose listener (#18)
  • aspectRatio division by zero — Wallpaper and DownloadedWallpaper models guard against zero height (#20)
  • HTTP client never closed — DownloadServiceNative now closes in finally block (#21)
  • CronSecret empty bypass removed — unauthenticated requests properly rejected (#23)
  • hasClients crash — SearchScreen and StaggeredGrid guard scroll controllers (#28)
  • Search race condition — request ID prevents stale responses overwriting fresh results (#43)
  • Category tabs don't auto-scroll — selected tab now scrolls into view (#46)
  • Null-safe primaryDelta — WallpaperEditorScreen handles null gesture data (#47)
  • RefreshIndicator broken — DownloadsScreen uses SingleChildScrollView wrapper (#51)
  • Moodboard null created_at — Moodboard model falls back to DateTime.now() (#53)
  • Sync mutex race — FetchAndSyncWallpapers uses bool guard to prevent concurrent runs (#34)
  • Logger init race — Logger now uses sync.Once for safe initialization (#59)
  • Content-Length not forwarded — ProxyImage forwards upstream Content-Length header (#60)
  • Cleanup returns 200 on error — now returns HTTP 500 with error details (#35)
  • FlexInt 32-bit overflow — widened from int to int64 for safe parsing (#62)
  • Windows sharing broken — cross-platform path construction, file flush, mimeType set, fallback via cmd /c start (#67)
  • CORS wildcard panic — replaced invalid http://localhost:* with AllowOriginsFunc (#67)
  • Dockerfile skips tests — now runs go test ./... before building (#63)
  • Retry on failed wallpaper loads — StaggeredGrid shows error state with retry button (#37)

Added

  • Concurrent category sync — goroutines + sync.WaitGroup syncs all 7 categories in parallel (#55)
  • Health check verifies DB — pings Supabase to confirm database connectivity, returns degraded (503) if unreachable (#56)
  • Graceful shutdown waits for sync — in-flight sync completes before server exits (#57)
  • Configurable sync pages — SYNC_MAX_PAGES env var (default 3) (#61)
  • Configurable retention — WALLPAPER_RETENTION_DAYS env var (default 3) (#61)
  • Search proxy input validation — whitelist of allowed query params, rejects unknown with 400 (#24)
  • System theme detection — first launch reads dark/light preference from OS (#41)
  • Category switch animation — AnimatedSwitcher wraps grid for smooth fade+slide transitions (#45)
  • Landscape orientation support — compact header, smaller nav bar, all 4 orientations enabled (#49)
  • Image precaching on detail screen — full-resolution image preloads for faster perceived load (#39)
  • Accessibility semantics — CategoryTabs and WallpaperCard labeled for screen readers (#29)
  • flutter_localizations — Material + Cupertino delegates for proper locale support (#52)
  • Haptic feedback consistency — selectionClick on category tab changes (#44)

Changed

  • CORS tightened — restricted to known frontend origins via AllowOriginsFunc (#24)
  • Retry with exponential backoff — Wallhaven API requests retry up to 3 times (1s/2s/4s delays) (#54)
  • Error response format standardized — consistent JSON error payloads across all endpoints (#58)
  • FlexInt widened to int64 — prevents overflow on 32-bit platforms (#62)
  • Shutdown timeout increased — from 10s to 15s to accommodate sync wait (#57)

Release v1.6.0

Choose a tag to compare

@github-actions github-actions released this 13 Sep 09:37
6b29047

[1.6.0] - 2026-09-13

Added

  • About Us / Manifesto screen — full editorial about page with developer provenance
  • HugeIcons across entire app — replaced all Material/Cupertino icons with HugeIcons
  • Linux release builds — CI now produces tarball artifacts for Linux
  • macOS release builds — CI now produces zip artifacts for macOS
  • Android release signing via GitHub Secrets — standard signing in CI/CD
  • ProGuard rules for Android release minification
  • key.properties.example template for local Android signing setup
  • Enhanced Windows installer — multi-language support, license page, file associations, Start Menu group, quick-launch shortcut
  • flutter-prep composite action for shared CI setup
  • Gesture hint overlay — added swipe left/right hints, responsive layout for desktop/tablet

Changed

  • Publisher changed to "Developer's Paradise" in Windows installer
  • All IconData parameters changed to dynamic for HugeIcons compatibility
  • CI workflow rewritten — single unified workflow inspired by nook, resilient release with per-platform success checks
  • Removed redundant build-windows.yml (merged into ci.yml)

Fixed

  • HugeIcon named parameter icon: missing in 14 files — all corrected
  • IconData → dynamic type mismatch across all widget parameters

v1.5.1

Choose a tag to compare

@github-actions github-actions released this 13 Sep 06:44
4993900

What's Changed

  • fix: formatting, IST timestamps, sync cron IST, remove manual trigger by @prit-007 in #14

Full Changelog: v1.5.0...v1.5.1

v1.5.0

Choose a tag to compare

@github-actions github-actions released this 13 Sep 05:58
8e475ae

What's Changed

  • feat: Windows desktop overhaul + branding fix + backend URL config by @prit-007 in #13

Full Changelog: v1.4.6...v1.5.0

v1.4.6

Choose a tag to compare

@github-actions github-actions released this 13 Sep 05:12
b9c55d0

What's Changed

  • fix: update GitHub Actions to v7/v5 (Node.js 24) by @prit-007 in #8
  • fix: rename vivek_app → wallbizz + 7 bug fixes by @prit-007 in #9
  • chore: bump version to v1.4.6 by @prit-007 in #10

Full Changelog: v1.4.5...v1.4.6