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:clearif the command is missing after deploy.
Technical details
DeployConsoleOutput; explicit withCommands registration in bootstrap/app.php; RolesSeeder invoked in-process.
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 Googleprovider_emailas well asusers.email; promotes placeholder@users.chartbuilder.localrows to the platform email when safe.- Platform superadmin on sign-in — Same matching rules for
mtech801@gmail.comafter Google OAuth.
Technical details
User::findByEmailAddress; PlatformSuperAdmin::userIsPlatformSuperAdmin; stale seed user cleanup; GrantSuperAdminCommandTest.
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.comremains 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.
Production deploy path, platform superadmin, and Google OAuth docs
Operations and access fixes for chartmonix.com.
- Platform superadmin —
mtech801@gmail.comis 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.
Project create: MIDI-first flow and song name from filename
Smoother new-project flow for builders.
- MIDI first — Pick your
.mid/.midifile 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.
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.
Phase 1 workspace: MIDI → chart.json → GP5
Shipped the first builder workspace: upload MIDI, queue processing, and download chart.json and GP5 exports.
- Chart projects — Create a chart project, download exports.
- Artists — Saved artists, admin visibility, Spotify linking (search + paste artist URL).
- In-app documentation — Docs, roadmap, and detailed What's new notes.
- Google sign-in on https://chartbuilder.com — Sign in with Google.
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.