Publishing
What publishing creates on your own accounts, what Update does, how to sign in to your back office, quotas, domains, and what deleting leaves behind.
Going live
Publishing creates, on your own accounts, a Supabase database, a private GitHub repository and two Netlify sites.
The button
Top right of the workspace. It reads Publish until the project has been online once, then Update. The switch happens as soon as publishing succeeds, without reloading the page.
Update stays in English in every language. The translations were long enough to overflow the button. On a phone the same action is called Deploy, and that label never changes.
The button opens no window. Everything is said in a notification at the bottom of the screen. If MaShop cannot check your connections at all, it falls back to opening the deployment panel so you can see the checklist yourself.
Two of those notifications exist in no language file and appear in French for everyone: the one saying publishing is under way, and the one saying the site is live.
Before the first publish
- GitHub, Supabase and Netlify must all three be connected. If one is missing, a red notification names it and nothing starts.
- A paid plan is required. A free account is refused outright.
What happens, in order
- your Supabase project is created, by default in the eu central 1 region;
- MaShop waits until it reports healthy, checking every four seconds;
- the schema is applied migration by migration, each one recorded so it is never replayed;
- your GitHub repository is created, named after your project and private;
- the code is pushed in a single commit;
- the first Netlify build is triggered.
Each server call has fifty seconds. The state is saved, and your browser calls again, up to 120 times, three seconds apart. Past that the notification admits it is taking longer than expected while the work continues on the server.
If a repository of that name already exists, MaShop reuses it instead of failing. If a generation already wrote the full code there, publishing adopts that commit instead of overwriting it with the template.
The two sites
One project gives two Netlify sites: your public site, and your back office at the same name followed by admin. Both are built from the same repository, and they count as one deployment.
The first time you open your back office
Your back office carries its own sign in, on your own Supabase project. Nothing in it goes through MaShop.
Email and password is the main route. A magic link appears only when an email provider is configured, because a sign in method that silently sends nothing is worse than none.
The template ships a migration that creates your first owner account. The assistant fills in the address and the password while it generates your project, and it is instructed to hand you three things in its closing message: the back office address, that email, and that password, with a reminder to change the password at first sign in.
So read that closing message before you clear the conversation. If no owner account was seeded, the migration does nothing and the first person who signs in becomes the owner instead.
Updating afterwards
Update relaunches a Netlify build from your repository and opens the build logs. MaShop never claims a success it has not checked. The project is marked live only when Netlify declares the build ready and a request to the address answers.
Three endings are possible. Site updated, with a link. The update failed, with a note that your live site has not changed, and the logs. Or Building your site, when the build outlasts the server window; your browser then keeps polling, forty times, every five seconds.
Quotas and cost
- Publishing and deploying cost zero credits. The build runs on your own Netlify account.
- Free plan: three deployments a day, on a sliding window, and one active project.
- Pro and Max: unlimited deployments and projects.
- The deployment counter is per account, not per project.
- The first build, included in publishing, does not count against it.
What you pay for sits on your own accounts. The free Supabase tier allows two active projects, and MaShop says so when it hits that ceiling. Deploying is open to editors, not only to the owner.
The address of your site
The identifier you type when creating a project is ignored. The server builds its own from the name, truncated to forty characters, plus five random characters. That identifier names your repository and both Netlify sites.
You can change it later in project settings. MaShop then renames the Netlify subdomain when the name is free; if it is taken, the identifier changes and the address does not.
Before your first publish, the link offered by the Share window points nowhere.
A custom domain
Ask the assistant for it. There is no domain screen in the settings any more. MaShop attaches the domain to your Netlify site and returns the DNS records to enter at your registrar. Propagation is announced between five and sixty minutes.
When it fails
MaShop sorts a failure into one of nine causes. Four of them it treats as permanent: the Supabase project ceiling, an unpaid invoice, no organisation, an expired connection. On a permanent cause there is no Try again button, because retrying would change nothing.
Try again resumes at the stage that stopped, without redoing what is already done.
A permanent failure stops being held against you after thirty minutes. Fix the cause earlier and the same refusal may still show until that half hour has passed.
One known discrepancy
The number of migrations differs between screens. One says twelve, another twenty nine, and the template carries thirty. So the progress bar can read thirty out of twelve.
Archiving and deleting
Archiving writes a date. Its only real effect is that the project stops counting toward your plan ceiling. It is not hidden, it stays open, and no screen brings it back. On the free plan, archiving to free a slot cannot be undone from the interface.
Deleting asks you to retype the project name. It then removes your GitHub repository, the Netlify site of your public site, and everything held by MaShop: files, versions, conversations and memory.
Deleting a project leaves your Supabase project and your back office site running. The confirmation text says otherwise. Your database, orders and customers survive, and so does the back office site with its environment variables. Cancel them yourself if you do not want to keep paying for them.
