ChartMonIX

Guitar chart generation for Rocksmith & Guitar Pro

What's new

Release notes for this environment (v0.1.13-alpha).

Detailed changelog with how-to links

0.1.13-alpha Sep 22, 2026 6:00 PM

Spotify search field typing on new project

The Spotify search box on new project no longer loses focus or keystrokes when Livewire updates.

  • wire:ignore on the Spotify picker; less aggressive MIDI/artist Livewire bindings.
  • JS — Skip picker re-init while the search input is focused.
Technical details

wire:ignore on spotify-picker; wire:model midi without live; morph.updated guard; spotify-artist-picker.js.

0.1.12-alpha Sep 22, 2026 4:00 PM

Spotify artist picker on new project form

Fixed Spotify link and artist name disappearing on the new project screen.

  • Livewire sync — Selecting a Spotify artist updates server state so MIDI upload re-renders do not clear the link.
  • Artist name — Field syncs while typing; linked artist restores after Livewire updates.
Technical details

spotify-artist-picker.js syncLivewireArtistFields; linkedSpotifyId props; wire:model.live on project create artist.

0.1.11-alpha Sep 22, 2026 12:00 PM

Project edit and delete (builder + admin)

Full project CRUD in the workspace UI.

  • Builders — Edit song name and artist; delete own projects (files removed from storage).
  • Admin / superadmin — See all projects with owner column; edit, reassign owner, or delete any project.
Technical details

ProjectController edit/update/destroy; UpdateProjectRequest; Project deleting hook; ProjectCrudTest.

0.1.10-alpha Sep 21, 2026 8:00 PM

Forge: auto-install python venv OS package

Deploy script can install python3.x-venv when missing (typical Forge sudo).

  • ensure-python-venv.sh — Probes venv creation, runs apt install for pythonX.Y-venv, then builds .venv.
  • Opt out — CHARTBUILDER_SKIP_APT_VENV=1 in Forge environment.
Technical details

probe_venv_ok; try_apt_install_venv; deploying-forge.md updated.

0.1.9-alpha Sep 21, 2026 6:00 PM

Forge Python venv script hardening

Safer chart engine setup on Laravel Forge after failed deploys.

  • ensure-python-venv.sh — Detects missing ensurepip, removes incomplete .venv (no pip), recreates cleanly.
  • Forge docs — python3.12-venv apt step, remove broken venv under current/. Deploying on Laravel Forge.
Technical details

venv_is_healthy check for python+pip; deploying-forge troubleshooting table.

0.1.8-alpha Sep 21, 2026 3:00 PM

Laravel Forge Python deploy (venv + checks)

Chart processing on Forge requires a server-side Python venv (not in git).

  • scripts/ensure-python-venv.sh — Add to Forge deploy script after composer install.
  • chartbuilder:python-check — STDERR smoke test for venv + CLI.
  • Path resolution — Fixes broken PWD placeholders in .env; clearer errors when Python is missing.
  • Docs — Deploying on Laravel Forge.
Technical details

ChartbuilderPython helper; ChartbuilderPythonCheckCommand; ensure-python-venv.sh; deploying-forge.md.

0.1.7-alpha Sep 21, 2026 12:00 PM

Chart processing without a queue worker

Projects no longer stay stuck on Processing when no queue worker is running.

  • Synchronous processing (default) — CHARTBUILDER_PROCESS_SYNCHRONOUSLY=true runs Python in the web request; set false only when queue:work is running. Process charts.
  • Song name from MIDI — Smarter filename suggestion (drops guitar/repaired/etc.); you can edit the title; manual edits are not overwritten. Create a chart project.
  • chartbuilder:deploy-check — STDERR output (works with -q), Python path checks, non-zero exit on failures.
Technical details

ProcessProjectChart onConnection sync; ChartProcessingService set_time_limit; SongNameFromMidiFilename trailing junk; DeployConsoleOutput on deploy-check; ProcessProjectChartJobTest.

0.1.6-alpha Sep 20, 2026 5:00 PM

grant-superadmin visible output on deploy

SSH deploy scripts that run Artisan with -q no longer hide grant-superadmin results.

  • chartbuilder:grant-superadmin — Progress and success/error lines print to STDERR (visible with -q).
  • Deploy docs — Note to run optimize:clear if the command is missing after deploy.
Technical details

DeployConsoleOutput; explicit withCommands registration in bootstrap/app.php; RolesSeeder invoked in-process.

0.1.5-alpha Sep 20, 2026 4:00 PM

Fix grant-superadmin for Google-linked accounts

Production superadmin grant now targets the account you actually sign in with.

  • chartbuilder:grant-superadmin — Finds users by Google provider_email as well as users.email; promotes placeholder @users.chartbuilder.local rows to the platform email when safe.
  • Platform superadmin on sign-in — Same matching rules for mtech801@gmail.com after Google OAuth.
Technical details

User::findByEmailAddress; PlatformSuperAdmin::userIsPlatformSuperAdmin; stale seed user cleanup; GrantSuperAdminCommandTest.

0.1.4-alpha Sep 20, 2026 2:30 PM

Email verification required for workspace access

Accounts must confirm their email before using the dashboard, projects, or admin tools.

  • Verify your email — Link sent on register and Google sign-in; resend from the notice page. Verify your email.
  • Google sign-in — No longer auto-verifies; click the link in your inbox like password sign-ups.
  • Platform superadmin — mtech801@gmail.com remains auto-verified for operations.
Technical details

MustVerifyEmail + verified middleware on internal routes; LoginResponse/RegisterResponse redirect to verification.notice; SocialAuthController sends verification instead of marking verified_at; EmailVerificationTest.

0.1.3-alpha Sep 19, 2026 9:00 PM

Production deploy path, platform superadmin, and Google OAuth docs

Operations and access fixes for chartmonix.com.

  • Platform superadmin — mtech801@gmail.com is always granted superadmin on sign-in (admin shell + New project).
  • Deploy checklist — Deploying, chartbuilder:deploy-check, chartbuilder:grant-superadmin.
  • Google OAuth — Sign in with Google updated for production domains (redirect URI typos).
  • makeitsoprod — Promote development to production after each release.
Technical details

PlatformSuperAdmin helper; GrantSuperAdminCommand; ChartbuilderDeployCheckCommand; scripts/make-it-so-prod.sh; visitor dashboard notice when not builder.

0.1.2-alpha Sep 19, 2026 2:00 PM

Project create: MIDI-first flow and song name from filename

Smoother new-project flow for builders.

  • MIDI first — Pick your .mid / .midi file before naming the chart.
  • Song name from filename — Title prefills from the MIDI filename (edit anytime). Create a chart project.
  • Bitbucket Git from .env — Local HTTPS push helper (scripts/configure-bitbucket-git.sh).
  • E2E test superadmin — Local-only seeded account for QA. E2E test user.
Technical details

Livewire 4 x-on:change + updatedMidi() with SongNameFromMidiFilename helper; scripts/bitbucket-git-credential.sh; E2eSuperAdminSeeder; Indifference MIDI fixture for tests.

0.1.1-alpha Sep 18, 2026 6:00 PM

Workspace UX, public product pages, and admin shell

Polish release for builders and admins.

  • Projects menu — Quick list of your projects with complete/incomplete status.
  • Light / dark mode — Toggle in the header; Profile appearance (OS → browser → account). UI theming.
  • Public What's new & roadmap — /whats-new and /docs/roadmap without login.
  • Admin shell — Brand sidebar + header for admins (Users).
  • Spotify on project create — Paste artist URLs (e.g. open.spotify.com/artist/…) reliably links artists.
  • Release workflow — Make it so with VERSION and changelog:sync.
Technical details

NavProjectsComposer, theme.js + theme_preference column, layouts.admin/app delegation for admins, spotify-artist-picker Livewire init fix, sticky footer flex layout, Vite indigo safelist for admin CSS.

0.1.0-alpha Sep 18, 2026 12:00 PM

Phase 1 workspace: MIDI → chart.json → GP5

Shipped the first builder workspace: upload MIDI, queue processing, and download chart.json and GP5 exports.

Technical details

Laravel workspace (projects, project_files, ProcessProjectChart job, chart:process). Python chartbuilder engine (chart_v1 JSON, GP5 export). MySQL + Herd local domain. Release versioning: VERSION file, config/changelog-releases.php, changelog:sync.