• Hi Guest!

    We have posted a new VaM2 dev log on Patreon, starting a monthly cadence of written progress updates between Beta releases. Highlights include the new Gizmos System, Selection Carousel, and Modes System with Context-Specific Editing. Beta1.2 is 15 of 21 items complete.

    Read the full post on Patreon, or follow progress on the public Trello roadmap.
This update aims to be friendlier towards slow hard drives by splitting the scan into 3 distinct phases, improving the initial loading time and allowing the user to interact with the application while the scan is in progress.

I personally have a dying hard drive with thousands of files, it's VERY slow and having to wait for a full scan to complete before being able to do anything is a pain.

Fixed​

  • Library Switching: Clean stop between library selections now works properly even in web clients.
  • Library Switching: Packages from previous libraries will no longer appear after switching libraries from an unfinished scan process.
  • Privacy Settings: Resolved a race condition where privacy mode and blur settings were not applying properly upon application launch.
  • Network Settings: Improved server initialization logic. The "Start Server" button now correctly triggers the server process independently instead of incorrectly manipulating the "Run on Startup" preference toggle.

Added​

  • Scan Optimization (Issue #34): Replaced the monolithic up-front zip scan with a three-phase pipeline:
    • Light Pass: Filesystem walk only — package cards appear as animated skeletons within seconds of opening a library. No .var files are opened in this phase.
    • Hard Pass: Prioritized zip scan — packages on the current page are always processed first. Navigating to a new page or clicking an unscanned card immediately reprioritizes that work in the queue. Thumbnails appear as each package finishes.
    • Link Pass: Dependency resolution, duplicate detection, and orphan analysis run after all packages are scanned. Results (missing deps, obsolete, duplicate flags) are streamed back per-package via a package:analyzed event.
  • Thumbnail Cache: Package cover images are now cached to %AppData%/YAVAM/thumbnails/. On subsequent library opens, thumbnails are served from cache, completely skipping the zip open for that step. Cache keys include file modification time and size, so updated packages invalidate automatically.
  • Stacked Progress Bar: The existing single progress bar is replaced with three stacked strips — one per scan phase (blue = Discovering, amber = Scanning, green = Analysing). Each strip shows its own package count and fills independently.
  • Settings — Thumbnail Cache: New "Thumbnail Cache" section in Application settings shows current cache size and provides a "Clear Cache" button.
  • Extensible DependencyResolver interface (pkg/services/library/dependency_resolver.go): The Link Pass accepts a slice of resolvers tried in order. LocalResolver (current library) is the default. Future MultiLibraryResolver and OnlineResolver implementations can be plugged in without changing the scan orchestrator.

Changed​

  • Search Bar: Search no longer filters in real-time while typing. Results are applied on Enter (desktop) or the search button (mobile). This prevents the package grid from jumping mid-scan as the user types. Escape clears the search.
  • Backend Analysis: Dependency/duplicate/orphan analysis (analyzePackages) moved from the frontend to the Go backend (LinkPass in pkg/services/library/analysis.go). The frontend now listens for package:analyzed events instead of running a full graph traversal in the browser.
  • Scan Events: New package:discovered (Light Pass) and package:analyzed (Link Pass) events join the existing package:scanned. The scan:progress event is replaced by scan:stage which carries the active phase name, current count, total, and done flag.
v1.3.16 — Stability & Web Fixes
  • CRITICAL: Fixed an issue where the "Setup Required" screen would persist in web mode after completing the wizard.
  • CRITICAL: Resolved a server deadlock that could cause the application to hang during startup.
  • Web Client: Fixed the "Waiting for Host Configuration" false positive; the dashboard now populates immediately after setup.
  • Consistency: Cleaned up library caching to ensure the UI always reflects your live configuration.

v1.3.15 — Categories & Onboarding
  • Expanded Categorization: Added support for Sound, Image, SubScene, PluginPreset, Pose, and Blueprint packages.
  • Fixed Setup Wizard: Our 3-step onboarding wizard is now functional again for fresh installs.
  • CRITICAL: Fixed multiple bugs where the Setup Wizard would fail to show or save properly.
  • Standardization: Renamed the "Script" category to Plugin to better align with Hub standards.
  • Categorization Engine: Completely overhauled the pipeline for better accuracy reading meta.json files.
  • Dependency UI: New visualization for direct and nested package dependencies, including file size display.
  • Migration: Added automatic migration for existing users to the new configuration format.

perfectbloo's PackageVault was used as reference for categorization algorithm. https://github.com/FivelSystems/YAVAM/issues/17#issuecomment-4321931459
Since version 1.3.2, we have completely rewritten the core of YAVAM to transform it into a robust, secure, and high-performance utility.

🚀 Major Highlights

1. Deep Dependency Intelligence
We have overhauled how YAVAM handles package relationships.
  • Recursive Auto-Installer: No more hunting for missing textures. The new installer detects nested dependencies and installs the entire chain in one click.
  • "Used By" (Reverse Lookup): Ever wonder "Can I delete this?" Now you can see exactly which Scenes or Presets depend on a package before you remove it.
  • Cascade Delete: When deleting a package, YAVAM analyzes the graph and offers to clean up the "orphans" (dependencies that are no longer needed by anything else).
  • Fuzzy Logic: The system now intelligently matches dependencies even if versions differ slightly (e.g., mapping `v1` to `v1.0`), drastically reducing false "Missing" alerts.

2. Next-Gen Performance
  • Suspend Mode (Tray Optimization): When minimized to the tray, YAVAM now unmounts the UI layer, releasing over 500MB+ of RAM/VRAM while keeping the backend active.
  • Zero-Stutter Scrolling: We rewrote the grid engine. Scrolling through 10,000+ packages is now buttery smooth with 50% less memory usage.
  • Smart Thumbnails 2.0: New logic prioritizes Scenes and Looks over generic assets, ensuring your library looks cleaner.

3. "Fort Knox" Security
  • Native System Calls: We have completely removed dependencies on `cmd.exe` and `PowerShell`. All file operations are now handled by secure, native Go syscalls.
  • Path Locking: Strict path validation ensures the app can never touch files outside your specified library folders.
  • BCrypt Authentication: Login security has been hardened using industry-standard `bcrypt` hashing.

✨ Quality of Life Changes
  • Corrupt Package Detection: Bad downloads are now flagged with a red "Corrupt" badge to prevent confusion.
  • Visual Clarity: **"Unreferenced"** packages (typically Scenes or Looks that aren't dependencies of anything else) are now highlighted in Violet to distinguish them as main content.
  • Smart "Locate": If a file moved, YAVAM now finds it by ID instead of failing.
  • Random Package (R): Don't know what to check out next? Press R to randomly select a package from your current view.
  • Sidebar Search: Quickly filter the "Creators" list without leaving the sidebar.

🐛 Critical Fixes
  • Fixed infinite login loops and race conditions on startup.
  • Fixed the "Run in Background" toggle not persisting.
  • Fixed Web Client issues (401 errors on content tabs, mobile scanning spinners).
  • Fixed "What's New" modal not appearing after updates.
YAVAM v1.3 - The "Privacy & Stability" Update
The biggest overhaul to YAVAM yet. We've rewritten the core, hardened the security, and added tools to make your library management effortless.

✨ User Experience & Interface
  • Unified Settings Dialog: A completely redesigned, tabbed settings menu with smooth "cascading" animations. Everything you need (Application, Privacy, Network, Security) is now in one beautiful place.
  • New Setup Wizard: A Streamlined 3-step onboarding process (Library -> Password -> Network) to get you running in seconds.
  • Global Error Boundary: No more white screens. If YAVAM crashes, it now catches the error gracefully and offers a 'Reload' or 'Factory Reset' option.

⌨️ Centralized Keybinds
KeyAction
Shift + Left/RightSwitch Pages
Left/RightSelect Package
Ctrl + Left/RightMulti-Select Packages
Ctrl + ASelect All
DELETEDelete Selected
ESCAPEClear Selection / Close
VToggle Privacy Mode
TABToggle Sidebar
Ctrl + FSearch
Ctrl + ,Open Settings
Ctrl + SToggle Web Server
F5Refresh Library

🕵️ Privacy Mode 2.0
  • Smart Blurring: The 'V' key now instantly toggles the global Blur effect.
  • Deep Privacy: We added options to Hide Metadata (turns text invisible) and Hide Creator Names when Privacy Mode is active.
  • Blur Intensity: You can now customize exactly how strong the blur effect is via a new slider.

🛡️ Enterprise-Grade Security
  • Challenge-Response Authentication: Your password is never transmitted over the network. We use a secure cryptographic proof (SHA256) to log you in.
  • Session Management: View all connected devices (phones, tablets, PCs) in Real-Time and revoke access to specific devices instantly from the Settings menu.
  • Guest Mode: Web clients (remote devices) are now restricted from accessing sensitive settings (Network/Security) or changing Keybinds.
  • Zip Bomb Protection: The parser now enforces a 20MB extraction limit to prevent malicious packages from crashing the server.
  • Ed25519 Digital Signatures: The Auto-Updater now cryptographically verifies every update before applying it.
  • Strict Path Validation: The file server is now locked down to strictly allow access ONLY to your defined library folders.

⚙️ Core & Maintenance
  • Easy Repair (Factory Reset): Added a "Reset YAVAM" button in settings. If your configuration ever gets messed up, this simply clears YAVAM's internal cache and settings to give you a fresh start. (<Note: This does NOT delete any of your library files!>).
  • Backup & Restore: You can now Export your entire configuration (Libraries, Settings, Sessions) to a zip file and Import it later. (Desktop only).
  • Centralized Logging: All application logs are now cleanly written to
    Code:
    %AppData%/YAVAM/application.log
    for easier debugging.
  • Smarter Parsing: Refined thumbnail extraction to prioritize Scenes over Presets, and expanded valid package detection for clothing/hair libraries.

🐛 Critical Fixes
  • Updater Loop: Fixed a critical bug where the updater would fail to restart the app due to Windows file locking (phantom .old files).
  • Persistence: Fixed Grid Size and Auth Polling Interval resetting on restart.
  • Crash Fixes: Resolved crashes related to Recursive Zip exports and strict mode double-mounting.



Download v1.3 via the in-app updater or grab it from GitHub! 🚀
YAVAM v1.2.16 Update 🌸

Hey everyone! This update focuses on making the library cleanup tools safer and easier to use, plus a bunch of improvements for mobile and web users.

optimizer-modal.PNGinstaller-modal.PNG

✨ What's New
  • Smarter Cleanup (Optimization Modal):
    We've redesigned how you manage duplicate packages. It's now split into three tabs (Merging, Versions, Review) so you always know what's happening.
    • Review Tab: See exactly which files will be deleted and how much space you'll save before committing.
    • Delete Older: Added a simple way to clear out old versions while keeping the newest one.
    • Smart Merging: The system now handles merging more intelligently, keeping your root folder organized.
  • Better Installation Process:
    Installing packages to your library is now much more informative.
    • Progress Bars: You can now see real-time progress for installs, even when using the web client.
    • Disk Space: We'll check if you have enough space before starting a big install.
  • Mobile Layout:
    If you use YAVAM on your phone, you'll notice a completely new header and footer designed specifically for touch screens. It's much cleaner! 📱

⚡ Improvements
  • Notification cleanup: Instead of spamming you with 50 popups when you "Enable All", you'll get a single summary message.
  • Sidebar Progress: Added a progress indicator to the sidebar actions so you know when it's working on a big batch of files.
  • Performance: Generally smoother animations and faster response times on the web client.

🔧 Fixes
  • Fixed issues with duplicate packages appearing during startup.
  • Fixed "Merge" sometimes using the wrong deletion logic.
  • Fixed connection stability issues for web users.

Full Changelog on GitHub
Back
Top Bottom