Help
Error Reference
Every error and warning the Row-Template 1.4.0 installer and row-template command can print — on 3X-UI, PasarGuard and Rebecca — what it means, why it happens, and how to fix it.
This page lists every message the installer and the row-template command print as an error or a warning — including the panel adapters and the activation transaction engine — taken from the 1.4.0 source. Paste part of a message into the filter to find it; names, paths and numbers that change from run to run are shown in italics.
Messages look like this in your terminal:
| Prefix | Printed by | Meaning |
|---|---|---|
install: |
the bootstrap, install.sh, before the library is loaded |
The download or its verification stopped. Nothing was installed. |
FAIL |
the management library | An operation stopped, or verify found a hard problem. |
warn |
the management library | Worth your attention; the operation continued. |
row-template: |
the command launcher | The command could not load its library. |
Messages from a panel adapter carry the panel after the FAIL or warn tag — panel pasarguard:, panel rebecca: — and messages from the activation engine start with transaction:. Messages that name a panel, a path or a version show it in italics: on your server they print the real value, such as PasarGuard or the install directory (/etc/3x-ui/sub_templates/row-template on 3X-UI, /etc/row-template on PasarGuard and Rebecca).
Refusals are safety checks
Many of these messages are Row-Template refusing something unsafe on purpose. Fix the cause the message names — never work around it. When an operation stops, the page your subscribers see stays as it was unless the message says otherwise.
Server and panel
the installer must run as root (e.g. sudo bash install.sh).this operation must run as root (e.g. sudo row-template ...)
What it means
Installing, and every command that changes the system (config, update, rollback, uninstall and the manager), needs root. Nothing was changed.
How to fix it
- Open a root shell with
sudo -iand run the command again. - For the one-command install, do not use
sudo bash <(curl …):sudocloses the file descriptor<(…)creates. Become root first.
What it means
The installer needs tar and sha256sum (or shasum) to verify and unpack the release, and one of them is missing. Nothing was downloaded or changed.
How to fix it
- Install the missing tool — on Debian and Ubuntu:
apt-get install -y tar coreutils; on RHEL-family systems:dnf install -y tar coreutils. - Run the installer again.
What it means
Row-Template checks every file it installs with SHA-256 and found no tool to compute it. The operation stopped before changing anything.
How to fix it
Install coreutils (which provides sha256sum) and run the command again.
What it means
Row-Template was to serve 3X-UI — because RT_PANEL=3xui was set, or because the installation on this server serves 3X-UI — but found neither the 3X-UI binary (/usr/local/x-ui/x-ui, /usr/local/bin/x-ui, or x-ui on the PATH) nor a systemd unit named x-ui.service. Nothing was changed.
How to fix it
- Run the installer on the server that runs your 3X-UI panel.
- Check the panel is installed:
ls -l /usr/local/x-ui/x-uiandsystemctl status x-ui. - A panel running in a container, or installed under another name, is not supported.
- If this server runs PasarGuard or Rebecca, do not set
RT_PANEL=3xui.
What it means
3X-UI was found, but its version could not be read from x-ui -v. Row-Template will not install on a panel whose version it cannot confirm. Nothing was changed.
How to fix it
- Run
/usr/local/x-ui/x-ui -vand check it prints a version such as3.7.0. - If it fails, repair or reinstall 3X-UI first, then run the installer again.
3x-ui ‹version› is below the required minimum 3.6.0; not installing3x-ui ‹version› is below the minimum 3.6.0.
What it means
On 3X-UI, Row-Template needs version 3.6.0 or newer, and the panel is older. The installer stops without changing anything; verify reports it as a hard failure.
How to fix it
Update 3X-UI to 3.6.0 or newer, then run the installer (or row-template verify) again.
What it means
XUI_DB_FOLDER names a folder whose x-ui.db is not a valid SQLite database. Row-Template refuses it and deliberately does not try another location, which could belong to a different installation. The panel setting can then only be set by hand.
How to fix it
- Check the folder is the one your panel uses, and that
x-ui.dbin it is the live database. - Correct or unset
XUI_DB_FOLDERand run the command again. - Or set Sub Theme Directory in the panel yourself — see Activation.
panel database is not an SQLite database: ‹path› (not falling back to another database; set XUI_DB_FOLDER to the panel's database folder)
What it means
The first panel database found in the default locations (/etc/x-ui/x-ui.db, /usr/local/x-ui/x-ui.db, /etc/3x-ui/x-ui.db, in that order) is not a valid SQLite file. It is refused, and the next location is deliberately not tried. Automatic activation and the subThemeDir checks are unavailable until this is resolved.
How to fix it
- Find the database your panel really uses and run the command with
XUI_DB_FOLDER=/path/to/its/folder. - If the named file is a stale leftover, move it away — only when you are sure the panel does not use it.
- Or set Sub Theme Directory in the panel by hand.
Choosing the panel
no supported panel was detected on this host: no 3x-ui installation, and no PasarGuard or Rebecca installation.
What it means
The installer looked for all three supported panels and found none. A panel counts as installed only when two independent signs of it agree — for example its configuration and its service, or its compose file and its data folder. Nothing was changed.
How to fix it
- Run the installer on the server that runs your panel, as root.
- Install the panel with its official installer first. Rebecca must be the 1.x binary install.
- If a line above says a panel *looks partly installed*, finish or repair that panel's installation, then run the installer again.
What it means
Only one sign of this panel was found — for example its configuration file without its service, or its data folder without its compose file. Row-Template never guesses at a half-installed panel, so it treats it as absent. On its own this is a warning; the next line says whether another panel was found instead.
How to fix it
- If the panel is meant to be installed, finish or repair its installation with its official installer, then run the installer again.
- If it is a leftover of a removed panel, you can ignore this warning.
more than one panel is installed here (‹panels›); choose one with RT_PANEL=3xui|pasarguard|rebecca.
What it means
More than one supported panel is installed on this server, and the installer is running without a terminal, so it cannot ask which one to serve. A scripted fresh install on such a server must name the panel. Nothing was changed.
How to fix it
- Run the installer again with
RT_PANELset to the panel Row-Template should serve, for exampleRT_PANEL=pasarguard. - Or run it in a terminal and choose the panel from the list. See Environment variables.
RT_PANEL='‹value›' is not a panel Row-Template supports (3xui, pasarguard, rebecca).RT_PANEL=‹value›, but ‹panel› was not detected on this host.
What it means
RT_PANEL names the panel to install for. It must be exactly 3xui, pasarguard or rebecca, and that panel must be installed on this server. Nothing was changed.
How to fix it
- Correct the value — lowercase, no spaces — or unset it on a server with only one panel.
- If the panel is installed but not detected, check that it was installed with its official installer (Rebecca: the 1.x binary install).
What it means
The panel chooser was left without a choice (for example with 0 or at the end of input). Nothing was changed.
How to fix it
Run the installer again and choose the panel Row-Template should serve.
Row-Template is installed for ‹panel› at ‹install dir›; uninstall it before installing for ‹panel›.
What it means
One installation serves one panel. Row-Template is already installed on this server for the first panel named, and RT_PANEL asks for another. A re-run or an update always keeps the panel the installation was made for. Nothing was changed.
How to fix it
- To keep serving the current panel, run the installer (or
row-template update) withoutRT_PANEL. - To serve the other panel instead, run
row-template uninstallfirst — it returns the current panel to its own page — then install again withRT_PANEL.
Row-Template is installed twice (‹path› and ‹path›); remove one with 'row-template uninstall' before continuing.
What it means
Both install directories exist — /etc/3x-ui/sub_templates/row-template (3X-UI) and /etc/row-template (PasarGuard and Rebecca) — each with a VERSION file. Which one to manage would be a guess, so nothing is done until one is removed.
How to fix it
- Decide which installation you keep. Run
row-template versionto see which panel the command manages now. - Remove the other one: run
row-template uninstallfor the installation the command manages, or, if the other is a stale leftover, move its folder away by hand after checking its panel no longer uses it.
What it means
Each installation records the panel it serves in a file named PANEL. This one holds something this release does not recognise — it was edited by hand or damaged — so the installation is handled as a 3X-UI one.
How to fix it
If this installation serves PasarGuard or Rebecca, do not run commands against it until the record is right: uninstall and install again, or restore the file to pasarguard or rebecca.
What it means
The installer stopped at the panel check: the line just above says why — no panel found, more than one panel, an invalid RT_PANEL, an installation made for another panel, or a Rebecca edition this release cannot serve.
How to fix it
Fix the problem named on the line above, then run the installer again.
What it means
The file that records which panel this installation serves (PANEL, in the install directory) could not be written — usually a full disk or a read-only filesystem. The install stopped before activating anything.
How to fix it
Check df -h /etc and that /etc is writable, then run the installer again.
Downloading and checking a release
What it means
The release is downloaded with curl, which is not installed. Nothing was changed.
How to fix it
- Install it —
apt-get install -y curlordnf install -y curl— and run the installer again. - Or install from a local folder with
RT_RELEASE_DIR, which needs nocurl: see Manual installation.
RT_RELEASE_URL must use https:// (set RT_ALLOW_INSECURE_URL=1 to override for local testing).the release URL must use https:// (set RT_ALLOW_INSECURE_URL=1 to override for local testing).
What it means
RT_RELEASE_URL points at an http:// address. Releases are fetched over HTTPS only, so nobody on the network path can swap the files. Nothing was downloaded.
How to fix it
- Serve your mirror over HTTPS and use its
https://address. RT_ALLOW_INSECURE_URL=1exists for local testing only — do not use it on a production server.
What it means
The value of RT_RELEASE_URL is not a web address. Nothing was downloaded.
How to fix it
- Give the base URL of the folder holding the release files, for example
https://mirror.example.com/row-template/1.3.0. - For a folder on the server itself, use
RT_RELEASE_DIRinstead.
What it means
A plain-HTTP release source is being used because you allowed it. The checksum is still verified, but it cannot protect against someone who replaces both the files and their checksum on the way.
How to fix it
Use this only for local testing. On real servers, unset RT_ALLOW_INSECURE_URL and serve releases over HTTPS.
What it means
A temporary folder for the download could not be created — usually because /tmp is full or not writable. Nothing was changed.
How to fix it
- Check free space with
df -h /tmpand free some up. - Check
/tmpis writable, then run the command again.
What it means
The first file of the release could not be downloaded — the release source is unreachable. With RT_RELEASE_DIR, the folder has no manifest.txt. Nothing was changed.
How to fix it
- Check the server can reach GitHub:
curl -I https://github.com. - If GitHub is blocked, install or update from a local folder — see Manual installation.
- With
RT_RELEASE_DIR, check the folder holdsmanifest.txt,SHA256SUMSand the tarball.
What it means
The release's checksum file could not be downloaded, and nothing is ever installed without it. Nothing was changed.
How to fix it
- Retry — the connection may have dropped.
- With
RT_RELEASE_DIR, copy the release'sSHA256SUMSinto the folder.
What it means
manifest.txt does not say which archive to open, so it is not a Row-Template release manifest. Nothing was changed.
How to fix it
- Download
manifest.txtagain from the official release page. - On a mirror, check you uploaded the release's own file, unchanged.
What it means
The archive name in manifest.txt contains / or .., which could point outside the download folder. It is refused. Nothing was changed.
How to fix it
Use the official, unmodified manifest.txt. A manifest like this was not produced by a Row-Template release.
What it means
The release archive named in the manifest could not be downloaded, or is not in the RT_RELEASE_DIR folder. Nothing was changed.
How to fix it
- Retry — large downloads can time out on slow links.
- With
RT_RELEASE_DIR, check the tarball named inmanifest.txtis in the folder, with that exact name.
no checksum for ‹file› in SHA256SUMS; refusing to proceed.no checksum for ‹file› in SHA256SUMS; aborting (no override exists)
What it means
SHA256SUMS has no line for the archive, so it cannot be verified — and an unverified archive is never installed. There is no way to override this. Nothing was changed.
How to fix it
- Make sure
SHA256SUMSand the tarball come from the same release. - Download both again from the release page.
What it means
The checksum recorded for the archive is not a valid SHA-256 value, so SHA256SUMS is damaged or is not a release file. Nothing was changed.
How to fix it
Download SHA256SUMS again from the release page.
release checksum verification failed; aborting (no --skip exists).release checksum verification failed; aborting
What it means
The downloaded archive does not match its published checksum: the download is incomplete, corrupted, or not the published file. It was not extracted, and nothing was changed.
How to fix it
- Run the command again — most mismatches are interrupted downloads.
- If it keeps failing, download the four release files by hand and check them with
sha256sum -c SHA256SUMS(Manual installation). - Never try to bypass this check: it is what stops a tampered release from being installed as root.
What it means
The archive contains an absolute path or a .. path that could write outside the extraction folder. It is refused before extraction. Official releases never contain such paths.
How to fix it
Use the official release files. Download them again from the release page.
unsafe member type in archive: '‹type›'unsafe member type in archive: '‹type›' (symlink/hardlink/special refused)
What it means
The archive contains a symbolic link, hard link or special file. A link could redirect a later write outside the extraction folder, so the archive is refused before extraction.
How to fix it
Use the official release files. Official releases contain only regular files and folders.
What it means
tar could not unpack the verified archive — usually a full disk. Nothing was installed.
How to fix it
Check free space with df -h /tmp /etc, free some up, and run the installer again.
What it means
The archive verified and unpacked, but it has no management library, so it is not a Row-Template release. Nothing was installed.
How to fix it
Check manifest.txt names the Row-Template tarball, and use the official release files.
What it means
A command inside the bootstrap failed in a way it has no specific message for. The bootstrap only downloads and checks, so nothing was installed.
How to fix it
- Run the installer again; a network drop can cause this.
- If it repeats, open an issue with the full output and the line number.
What it means
The library was started without the folder of the extracted release. This only happens if rt_cmd_install is run by hand without its argument. Nothing was changed.
How to fix it
Install through install.sh rather than calling the library directly.
What it means
The extracted release has no template.html, so it cannot be a complete Row-Template release. Nothing was changed.
How to fix it
Download the release again; check manifest.txt and the tarball belong together.
What it means
The page inside the release does not match the checksum listed in the release's own SHA256SUMS. The archive was modified after it was built. Nothing was changed.
How to fix it
Use the official, unmodified release files.
install artifact failed structural validation.the release artifact failed structural validation.
What it means
The page in the release is not a complete Row-Template page (see Generating the page). Nothing was changed.
How to fix it
Download the release again from the official release page.
the release payload declares an invalid companion: ‹path›the release payload is incomplete: ‹path› is missing.payload checksum mismatch: ‹path›the release payload is incomplete; nothing was changed.
What it means
The release's management library comes with companion files (lib/transaction.sh and panels/) that must be installed with it. One is missing, fails its checksum, or is declared with an invalid path, so the release is refused as a whole — installing a new library without its companions would leave row-template broken. Nothing was changed.
How to fix it
- Download the release again; the four files must come from the same release.
- If you built the release yourself, build it with
tools/make-release.sh, which packages the companions.
payload template directory is not a plain id: ‹id› (skipped)payload template ‹id› has no ‹file› (skipped)
What it means
A folder under templates/ in the release is not a design Row-Template recognises, or has no page for this server's panel, so it is ignored. The other designs install normally.
How to fix it
Nothing to do for an official release. If you added folders to a release yourself, remove them.
payload template ‹id› has no checksum sidecarpayload template ‹id› failed its checksumpayload template ‹id› failed structural validation
What it means
One of the release's designs has no checksum, does not match it, or is not a valid page. Every design is verified before any is installed, so the release is refused.
How to fix it
Download the release again from the official release page.
the release template store failed verification; nothing was activated.the release template store failed verification.
What it means
Follows one of the design messages above: a design in the release could not be verified. Nothing was activated and the page your subscribers see is unchanged.
How to fix it
Fix the message printed just before this one — usually by downloading the release again.
What it means
row-template update could not download, verify or unpack the release. The reason is on the line just above. Nothing was changed.
How to fix it
- Fix the error printed just before this one.
- Without GitHub access, update from a local folder:
RT_RELEASE_DIR=/path row-template update.
What it means
Every design in a release comes in a version for each panel. The version for this server's panel failed the check that it really is a page for that panel — it is damaged, or belongs to another panel — so the release is refused. Nothing was changed.
How to fix it
Download the release again from the official release page; the four files must come from the same release.
this release carries no ‹panel› pages; nothing was activated.this release carries no ‹panel› pages; nothing was changed.
What it means
The release has no pages built for this server's panel. Every release from 1.3.0 on carries pages for 3X-UI, PasarGuard and Rebecca; releases before 1.3.0 carry none for PasarGuard or Rebecca. So the release is incomplete or too old for this panel. Nothing was activated, and the page your subscribers see is unchanged.
How to fix it
- Use Row-Template 1.3.0 or newer — download it again from the official release page.
- With
RT_RELEASE_DIRorRT_RELEASE_URL, check they point at a 1.3.0 or newer release.
Installing
What it means
The install directory — /etc/3x-ui/sub_templates/row-template on 3X-UI, /etc/row-template on PasarGuard and Rebecca — is a symbolic link. Row-Template never writes through a symlink, because it could redirect root-owned writes anywhere. Nothing was changed.
How to fix it
- Replace the link with a real directory — for example on 3X-UI:
rm /etc/3x-ui/sub_templates/row-template && mkdir -p /etc/3x-ui/sub_templates/row-template(on PasarGuard and Rebecca the path is/etc/row-template). - If you need the files on another disk, bind-mount that disk onto the path instead of linking it.
an existing install was found at ‹install dir›; re-run interactively or set RT_ASSUME_YES=1 to repair.
What it means
Row-Template is already installed, and the installer is running without a terminal, so it will not repair the installation without your explicit consent. Nothing was changed.
How to fix it
- To move to the latest release, run
row-template update. - To repair in place (your branding and design are kept, and a backup is taken first), run the installer again with
RT_ASSUME_YES=1, or run it in a terminal and choose 4 — Repair / Verify.
What it means
The folders of the install directory (/etc/3x-ui/sub_templates/row-template on 3X-UI, /etc/row-template on PasarGuard and Rebecca) could not be created — usually a full disk, a read-only /etc, or a file where a folder should be.
How to fix it
- Check free space with
df -h /etc. - Check that the parent folder (
/etc/3x-ui/sub_templateson 3X-UI,/etcotherwise) is a writable directory, not a file, then run the installer again.
What it means
While repairing an existing installation, the backup of its current state could not be taken. The repair continues without it, so you cannot roll back to the state before this repair.
How to fix it
Check free disk space under /etc. Run row-template verify when the installer finishes.
What it means
A core file could not be written into the install directory — usually a full disk or a read-only filesystem. The live page has not been replaced.
How to fix it
Check df -h /etc and that /etc is writable, then run the installer again.
could not install the management library; the CLI may be unavailable.could not install the row-template CLI to /usr/local/bin/row-template.
What it means
The page is installed, but the management library or the row-template command could not be written, so managing the installation afterwards may not work.
How to fix it
- Check free space and that
/usr/local/binexists and is writable. - Run the installer again; it repairs the installation in place.
What it means
The installer files that come with the management library (lib/transaction.sh, panels/) could not be written. The page works; verify will report the installation as incomplete.
How to fix it
Check free space, then run row-template update — it installs them.
What it means
The branding step failed — the line above says which value was refused (service name, support URL or logo). The panel and the live page were not changed.
How to fix it
- Fix the value named just above and run the installer again.
- In an unattended install, check
RT_SERVICE_NAME,RT_SUPPORT_URLandRT_LOGO_PATH.
RT_TEMPLATE='‹value›' is not a template this release offers (available: row editorial canvas prism terminal pulse brutal arcade sketch signature saffron pulsenova prismnova terminalnova arcadenova meter notebook).
What it means
The design ID in RT_TEMPLATE is not one of this release's designs. The install stops rather than silently using Row.
How to fix it
Use one of the IDs in the message — lowercase, with no spaces, for example RT_TEMPLATE=pulsenova. The comparison table lists them.
What it means
During a repair, the design saved in your configuration is not part of this release, so Row is installed instead.
How to fix it
Choose another design afterwards from the manager: 2 — Reconfigure branding → 4 — Template.
What it means
The chosen design could not be taken from the template store installed a moment earlier — the store is incomplete or the disk is full. The live page was not replaced.
How to fix it
Check free disk space and run the installer again.
What it means
Your design choice could not be saved to config.env. Install stops before activation; update stops after staging the new version but before activating it, so the live page is unchanged.
How to fix it
Check free space and that config.env is writable, then run the same command again.
What it means
The page could not be generated from the design and your branding, or failed validation; the line above says why. The live page was not replaced and the panel setting was not touched.
How to fix it
Fix the problem named just above — often branding with a control character or an unreadable logo — and run the installer again.
What it means
The design chooser received something other than a number from its list.
How to fix it
Type the number shown next to the design, or press Enter to keep Row.
Activation and live checks
What it means
The installer tried to point the panel at Row-Template through its database and could not confirm it worked. It made sure the panel service is running again. Row-Template itself is installed.
How to fix it
Set Panel Settings → Subscription → Sub Theme Directory to /etc/3x-ui/sub_templates/row-template, save, and restart the panel. See Activation.
What it means
The manager's Activate / Re-apply theme could not set subThemeDir. The panel service was left running (or started again).
How to fix it
Set Sub Theme Directory in the panel by hand, as the manager shows.
What it means
The panel setting could not be read, so the manager cannot set it for you. The message names the usual reason — sqlite3 is not installed — but it also appears when the panel database was not found.
How to fix it
- Set Sub Theme Directory in the panel by hand, as shown.
- Or install
sqlite3(and, for an unusual database location, setXUI_DB_FOLDER), then choose 5 — Activate / Re-apply theme again.
Live check: the panel served its built-in page. If you just set the theme dir, restart the panel; otherwise run 'row-template verify'.
What it means
A test request as a browser returned the panel's own page, not Row-Template. Either the panel has not picked up the new theme directory yet, or it is not set.
How to fix it
- If you just set it: restart the panel (
systemctl restart x-ui). - Otherwise run
row-template verifyand check thesubThemeDirline.
What it means
The test request to the subscription address on this server got no answer. This is a warning only; the installation itself succeeded.
How to fix it
- Check the panel is running:
systemctl status x-ui. - Check the panel's subscription service is enabled and listening, then run
row-template verify.
What it means
A test request made like a VPN app received the web page instead of its configuration. VPN apps would fail to update.
How to fix it
- Check whether a proxy or CDN in front of the panel rewrites the
User-AgentorAcceptheaders, and let them through unchanged. - Run
row-template verifyto repeat the check.
What it means
Generating or activating the page on PasarGuard or Rebecca needs the installer's companion files (lib/transaction.sh and panels/), and they are missing — for example right after 1.1.0's own updater installed a newer release. Nothing was changed.
How to fix it
Run row-template update, which installs them, then try again.
could not update the page in ‹panel›'s template directory.could not put the previous page back at ‹path›.
What it means
On PasarGuard and Rebecca the page is generated in the install directory and then copied into the panel's own templates directory. That copy failed, so the previously generated page was put back and the panel keeps serving the page it had. The second message means putting the previous page back failed as well.
How to fix it
- Read the line above for the cause — often a full disk, or a templates directory that is a symlink.
- Fix it and run the same command again; then run
row-template verify.
activation on ‹panel› did not complete; the panel was restored to how it was.Activation did not complete; ‹panel› was restored to how it was.‹panel› was restored exactly to its state before the attempt.Activation did not complete and was rolled back; run 'row-template' and choose Activate to retry.
What it means
Activation on PasarGuard and Rebecca is a transaction: the panel's settings are snapshotted, changed and verified, and if any step fails they are restored from the snapshot. That happened here. restored exactly to its state before the attempt means the restore was confirmed by reading the panel's state back and comparing it with the snapshot; if the restore itself had failed, the lines above say rollback also failed instead (see that message). Row-Template itself stays installed.
How to fix it
- Read the lines just above for the step that failed — for example the panel could not be restarted, or the running panel did not pick up the page.
- Fix the cause, then run
row-templateand choose 5 — Activate / Re-apply theme.
What it means
Automatic activation is not possible here (Rebecca on MySQL/MariaDB, or without sqlite3), so Row-Template only places the page in the panel's templates directory for you to select — and placing it failed. Nothing in the panel was changed.
How to fix it
Read the line above for the cause, fix it, then choose 5 — Activate / Re-apply theme in the manager again.
What it means
Rebecca's subscription settings cannot be written here — the panel uses MySQL/MariaDB, or sqlite3 is not installed — so the manager places the page and prints the two values to enter in the Rebecca dashboard.
How to fix it
In the Rebecca dashboard open Settings → Subscription → Templates and enter the values shown. See Activation.
What it means
Before activating, the manager regenerates the page from your design and branding, and that failed — the line above says why. The panel was not touched.
How to fix it
Fix the problem named just above — often branding or disk space — and choose 5 — Activate / Re-apply theme again.
Live check: the running ‹panel› does not use the Row-Template page yet; run 'row-template verify'.
What it means
After a change, the running panel was asked which subscription page it serves, and it is not Row-Template's yet. On PasarGuard this usually means the panel has not been restarted since .env changed.
How to fix it
- Run
row-template verify— it names what does not match. - On PasarGuard, restart the panel with
pasarguard restart, then verify again.
transaction: template placement failed for panel '‹panel›' (status ‹status›)transaction: static verification did not pass for panel '‹panel›' (status ‹status›)transaction: live verification failed for panel '‹panel›' (status ‹status›)
What it means
The step of the activation transaction that failed: placing the page in the panel's templates directory and selecting it, checking the files and the panel's settings afterwards, or asking the running panel which page it serves. Any of them makes the transaction restore the panel from its snapshot; the next message says whether that worked.
How to fix it
- Read the adapter's own message just above (it starts with
panel pasarguard:orpanel rebecca:) — it names the exact problem. - Fix it, then choose 5 — Activate / Re-apply theme in the manager.
transaction: live verification was unavailable for panel '‹panel›'; this is not a rollback triggertransaction: live verification does not apply to panel '‹panel›'
What it means
The last step of activation asks the running panel which page it serves. It could not be asked here, which is not a failure: the activation stands, and the files and settings were already verified.
How to fix it
Nothing to fix. To check the page subscribers receive, open a subscription link in a browser, or run row-template verify with RT_SMOKE_URL set to a subscription link.
transaction: the safety snapshot could not be created; nothing was changedtransaction: the safety snapshot did not validate; nothing was changed
What it means
Before activation changes anything on PasarGuard or Rebecca, it takes a snapshot of the panel's settings (under backups.v2/ in the install directory). The snapshot could not be written, or did not pass its own check, so activation stopped. Nothing was changed.
How to fix it
- Check free space with
df -h /etcand that nothing under the install directory is a symlink. - Read any line above that starts with
panelor names the snapshot, then activate again.
transaction: another transaction holds the lock (‹path›)transaction: flock is not available; refusing to run without single-flight protection
What it means
Only one activation can run at a time, so each one takes a lock on the installation. Another row-template command is changing the panel right now — or flock (from util-linux) is not installed, and activation will not run without that protection. Nothing was changed.
How to fix it
- Wait for the other command to finish, then try again.
- If
flockis missing, install util-linux:apt-get install -y util-linuxordnf install -y util-linux.
transaction: the original failure was status ‹status›transaction: rollback also failed (‹reason›); the panel was left as the failed attempt left ittransaction: no further recovery is attempted automatically
What it means
Activation failed, and restoring the panel from its snapshot also failed. The panel's settings may be half-changed. This needs two independent failures, and the lines above name both.
How to fix it
- Run
row-template verifyto see what the panel selects now. - Put the panel back by hand: on PasarGuard remove the
# >>> row-templateblock from/opt/pasarguard/.envand runpasarguard restart; on Rebecca set Subscription page template back to your previous page in Settings → Subscription → Templates. - Then report it with the full output.
transaction: live verification after rollback was not available (status ‹status›)transaction: live verification after rollback did not pass (status ‹status›)
What it means
After restoring the panel from its snapshot, the transaction asks the running panel which page it serves. That check could not run, or did not match — typically because PasarGuard has not finished restarting. The restore itself is judged by reading the saved settings back, which the next message reports.
How to fix it
Run row-template verify in a minute, when the panel is up again.
PasarGuard
panel pasarguard: the Row-Template block in ‹path› is damaged; fix or remove it by handpanel pasarguard: the Row-Template block in .env is damagedpanel pasarguard: the Row-Template block in .env is damaged; fix or remove it by hand
What it means
Row-Template selects its page with one marked block at the end of /opt/pasarguard/.env, from # >>> row-template to # <<< row-template <<<. That block is incomplete or was edited — for example one of its marker lines is missing — so Row-Template will not rewrite .env rather than risk touching your own lines. Nothing was changed.
How to fix it
- Open
/opt/pasarguard/.envand look for therow-templatelines. - Delete the whole block — both marker lines and the two lines between them — or restore it exactly, then run the command again.
What it means
PasarGuard's .env (in /opt/pasarguard) is missing, or is a symbolic link. Row-Template writes only to a real .env, so nothing was changed.
How to fix it
Check your PasarGuard installation: ls -l /opt/pasarguard/.env. Replace a symlink with the real file, then run the command again.
panel pasarguard: CUSTOM_TEMPLATES_DIRECTORY is not a plain absolute path: ‹path›panel pasarguard: ‹path› is outside /var/lib/pasarguard, the directory the container shares with the host
What it means
Your own CUSTOM_TEMPLATES_DIRECTORY in .env is where Row-Template places its page. It must be a plain absolute path, and on a Docker install it must be inside /var/lib/pasarguard — the only folder the container shares with the host, so a page anywhere else would never be seen by the panel. Nothing was changed.
How to fix it
- Set
CUSTOM_TEMPLATES_DIRECTORYto an absolute path under/var/lib/pasarguard— or remove your line so the default/var/lib/pasarguard/templatesis used. - Restart PasarGuard if you changed it, then run the command again.
panel pasarguard: the templates directory is a symlink: ‹path›panel pasarguard: ‹path› is a symlinkpanel pasarguard: ‹path› exists and is not Row-Template's; it was left untouched
What it means
The page is placed at row-template/index.html inside PasarGuard's templates directory. Either that directory (or the row-template folder in it) is a symbolic link, or a file Row-Template did not create is already at that path. Row-Template never writes through a link and never overwrites a file that is not its own. Nothing was changed.
How to fix it
- Replace the link with a real directory.
- If the existing
row-template/index.htmlis yours, move it elsewhere; then run the command again.
What it means
PasarGuard reads .env only when it starts, so after changing it Row-Template restarts a running panel once — with docker compose up -d for the Docker install, or systemctl restart pasarguard for a source install. That failed. During activation the change is then rolled back; during uninstall the block has already been removed, and the panel picks that up the next time it starts.
How to fix it
- Check the panel:
pasarguard statuson the official (Docker) install, orsystemctl status pasarguardon a source install. - Restart it yourself (
pasarguard restart), then runrow-template verify.
panel pasarguard: the running panel does not use the Row-Template page yet (restart it)panel pasarguard: the running panel cannot see ‹path›/row-template/index.html
What it means
The live check asks the running PasarGuard container which page it uses and whether it can see the page file. Either the container still has the old setting — it has not been recreated since .env changed — or the page is not visible inside the container, which means the templates directory is not in the folder the container shares with the host.
How to fix it
- Restart PasarGuard (
pasarguard restart) and runrow-template verifyagain. - If the page is still not visible, check that your
CUSTOM_TEMPLATES_DIRECTORYis under/var/lib/pasarguard.
panel pasarguard: the page is not in place: ‹path›panel pasarguard: the placed page differs from the generated onepanel pasarguard: .env does not select the Row-Template page
What it means
PasarGuard is set up for Row-Template, but the pieces no longer agree: the page is missing from the templates directory, the copy there is not the page Row-Template generated last, or .env no longer selects it (the block was removed, or a later line of your own sets SUBSCRIPTION_PAGE_TEMPLATE again).
How to fix it
- Re-apply from the manager:
row-template, then 5 — Activate / Re-apply theme. - If you set
SUBSCRIPTION_PAGE_TEMPLATEyourself below the Row-Template block, remove your line — the last assignment in.envwins.
panel pasarguard: the artifact is missing: ‹path›panel pasarguard: the artifact is not a valid PasarGuard pagepanel pasarguard: the artifact does not match its recorded checksumpanel pasarguard: the generated page is missing or invalid: ‹path›panel pasarguard: SOURCE is not a PasarGuard page this release can serve
What it means
Row-Template's own files for PasarGuard are not right: the installed design (dist/template.html) is missing, damaged, not built for PasarGuard, or does not match its checksum, or the generated page (sub.html) is missing or incomplete. Nothing in the panel was changed by this check.
How to fix it
Run row-template update to reinstall the designs and regenerate the page, then row-template verify.
panel pasarguard: ‹n› admin(s) set their own subscription page (sub_template); their users keep that page.
What it means
In PasarGuard an admin can have their own subscription template, which wins over the panel-wide setting Row-Template uses. The users of those admins keep seeing that page. This is your panel's configuration, so Row-Template reports it and changes nothing.
How to fix it
If those users should see Row-Template too, clear the admin's subscription template in PasarGuard's admin settings.
panel pasarguard: the panel's 'disable subscription template' setting is on, so browsers get the raw subscription instead of any page.
What it means
PasarGuard's disable subscription template setting is on, so the panel sends browsers the subscription itself rather than any page — Row-Template's included. Row-Template reports it and changes nothing.
How to fix it
Turn the setting off in PasarGuard's subscription settings if subscribers should see the page.
What it means
While removing its page, Row-Template found a file at its page's path that it did not create, and left it where it is.
How to fix it
Nothing to fix. Delete the file yourself if you do not need it.
panel pasarguard: after restoring, the Row-Template block is '‹state›', expected '‹state›'panel pasarguard: after restoring, the block's directory is not the recorded valuepanel pasarguard: after restoring, SUBSCRIPTION_PAGE_TEMPLATE is set, but the record says it was unsetpanel pasarguard: after restoring, SUBSCRIPTION_PAGE_TEMPLATE is not the recorded value
What it means
After putting .env back from a snapshot, Row-Template reads it again and compares it with what was recorded — and it does not match. The restore is therefore reported as failed rather than assumed to have worked.
How to fix it
- Open
/opt/pasarguard/.envand compare therow-templateblock and yourSUBSCRIPTION_PAGE_TEMPLATEline with what you expect. - Remove the block by hand if activation did not succeed, restart PasarGuard, and run
row-template verify.
Rebecca
panel rebecca: this is Rebecca 0.0.x, the Python edition (Docker image ‹image›). Row-Template's Rebecca page is built for Rebecca 1.x, the Go edition, which Rebecca publishes for its binary install: install it with Rebecca's rebecca-binary.sh, then run this installer again.
What it means
Row-Template supports Rebecca 1.x, the Go edition. Docker Hub's rebeccapanel/rebecca image is still the 0.0.x Python edition, which renders pages from a different context: it would accept the setting and silently keep serving its own page. So the installer refuses it before changing anything — the panel is not modified.
How to fix it
- Install Rebecca 1.x with Rebecca's binary installer (
rebecca-binary.sh) — the install Row-Template is tested against. - Then run the Row-Template installer again.
panel rebecca: cannot tell which Rebecca edition this is (the Docker image could not be inspected); refusing rather than placing a page Rebecca may not be able to render.
What it means
For a Docker install, Row-Template reads the image to tell the 1.x Go edition from the 0.0.x Python edition. The image could not be inspected — Docker is not running, or the image named in the compose file is not present — so rather than guess, it stops. Nothing was changed.
How to fix it
- Check Docker and the panel:
docker ps,rebecca status. - Pull or start the panel's image, then run the command again. Rebecca's binary install (1.x) needs no image check.
panel rebecca: custom_templates_directory is not a usable absolute pathpanel rebecca: ‹path› is outside /var/lib/rebecca, the directory the container shares with the host
What it means
When Rebecca already has a Custom templates directory, Row-Template places its page there. The value set in Rebecca is not a plain absolute path, or — for a Docker install — is outside /var/lib/rebecca, the folder the container shares with the host. Nothing was changed.
How to fix it
In the Rebecca dashboard, set Settings → Subscription → Templates → Custom templates directory to an absolute path under /var/lib/rebecca (or clear it), then run the command again.
panel rebecca: cannot read subscription_settingspanel rebecca: cannot read custom_templates_directorypanel rebecca: cannot read the panel selection (sqlite3 and a SQLite database are needed)
What it means
Rebecca's subscription settings could not be read from its database. Automatic activation and these checks need Rebecca's default SQLite database and the sqlite3 command. Nothing was changed.
How to fix it
- Install
sqlite3(apt-get install -y sqlite3) and run the command again. - With MySQL/MariaDB, activation is manual: see Activation.
panel rebecca: the templates directory is a symlink: ‹path›panel rebecca: ‹path› is a symlinkpanel rebecca: ‹path› exists and is not Row-Template's; it was left untouched
What it means
The page is placed at row-template/index.html inside Rebecca's templates directory. Either that directory (or the row-template folder in it) is a symbolic link, or a file Row-Template did not create is already at that path. Row-Template never writes through a link and never overwrites a file that is not its own. Nothing was changed.
How to fix it
- Replace the link with a real directory.
- If the existing
row-template/index.htmlis yours, move it elsewhere; then run the command again.
panel rebecca: the page is not in place: ‹path›panel rebecca: the placed page differs from the generated onepanel rebecca: the panel does not select the Row-Template page
What it means
Rebecca is set up for Row-Template, but the pieces no longer agree: the page is missing from the templates directory, the copy there is not the page Row-Template generated last, or Rebecca's Subscription page template no longer names it (someone chose another page in the dashboard).
How to fix it
Re-apply from the manager: row-template, then 5 — Activate / Re-apply theme. If you chose another page on purpose, leave it.
panel rebecca: the artifact is missing: ‹path›panel rebecca: the artifact is not a valid Rebecca pagepanel rebecca: the artifact does not match its recorded checksumpanel rebecca: the generated page is missing or invalid: ‹path›panel rebecca: SOURCE is not a Rebecca page this release can serve
What it means
Row-Template's own files for Rebecca are not right: the installed design (dist/template.html) is missing, damaged, not built for Rebecca, or does not match its checksum, or the generated page (sub.html) is missing or incomplete. Nothing in the panel was changed by this check.
How to fix it
Run row-template update to reinstall the designs and regenerate the page, then row-template verify.
panel rebecca: ‹n› admin(s) override the subscription page for their own users; those users keep the admin's page.
What it means
In Rebecca an admin can have their own subscription template settings, which win over the panel-wide ones Row-Template sets. The users of those admins keep seeing that page. Row-Template reports it and changes nothing.
How to fix it
If those users should see Row-Template too, clear that admin's subscription template settings in Rebecca.
What it means
While removing its page, Row-Template found a file at its page's path that it did not create, and left it where it is.
How to fix it
Nothing to fix. Delete the file yourself if you do not need it.
panel rebecca: cannot read subscription_page_template back after restoringpanel rebecca: after restoring, subscription_page_template is '‹value›', expected '‹value›'panel rebecca: cannot read custom_templates_directory back after restoringpanel rebecca: after restoring, custom_templates_directory is not the recorded value
What it means
After writing Rebecca's two subscription settings back from a snapshot, Row-Template reads them again and compares them with what was recorded — and they do not match, or cannot be read. The restore is therefore reported as failed rather than assumed to have worked.
How to fix it
- In the Rebecca dashboard open Settings → Subscription → Templates and check Subscription page template and Custom templates directory.
- Set them to the values you want (Rebecca's own page is
subscription/index.html), then runrow-template verify.
Designs and switching
config.env stores an unknown template id (‹id›); resetting the selection to Row.config.env stores an unknown template id (‹id›); using Row.
What it means
The design saved in config.env is not one this release knows — the file was edited by hand, or came from elsewhere. Row is used instead, so the page keeps working, and the saved choice is corrected the next time it is written.
How to fix it
Choose the design you want from the manager (2 — Reconfigure branding → 4 — Template). Do not edit config.env by hand.
unknown template id: ‹id›unknown template id: ‹id›unknown template id: ‹id› (available: row editorial canvas prism terminal pulse brutal arcade sketch signature saffron pulsenova prismnova terminalnova arcadenova meter notebook)
What it means
A design ID that this release does not ship was asked for. Nothing was written: an unknown ID is never saved.
How to fix it
Use one of the IDs listed in the comparison table.
the effective template '‹id›' is missing from the template storethe effective template '‹id›' failed its store checksum
What it means
While applying a branding change, the selected design's file in the template store was missing or did not match its checksum. The change was undone; the previous page is still live.
How to fix it
- Run
row-template verifyto see the state of the template store. - Run
row-template updateto reinstall every design, then apply the change again.
template '‹id›' is not installed; re-run the installer to refresh the template storeNo templates are installed, and they could not be restored automatically (see above).
What it means
The design you picked — or every design — is missing from the installation's template store. The manager restores missing designs itself when it opens, by downloading them from the release you have installed; this appears when that was not possible, and the line above says why.
How to fix it
Make sure the server can reach the release source and open the manager again — or run row-template update (or re-run the installer), which installs every design of the release.
What it means
The installed copy of that design has been altered or damaged, so it will not be activated. Nothing was changed.
How to fix it
Run row-template update to reinstall every design, then switch again.
What it means
A trial page built from the new design and your current branding failed. This check runs before anything changes, so nothing did.
How to fix it
- Read the line printed just above — it names the exact problem.
- If it concerns branding, correct it (for example with Reset branding) and switch again.
What it means
A backup must be taken before a template switch, and it could not be. The switch was cancelled; nothing changed.
How to fix it
Check free disk space under /etc and try again.
could not stage the selected template; the previous state was restoredcould not persist the template selection; the previous state was restoredactivation of the new template failed; the previous state was restoredthe switched template failed post-activation validation; the previous state was restored
What it means
A step of the template switch failed after the backup was taken, so the backup was restored: the previous design is live again, exactly as before.
How to fix it
- Run
row-template verifyto confirm the installation is healthy. - Check free disk space, then try the switch again. If it fails the same way, report it.
What it means
A template switch failed, and restoring the backup taken just before it also failed. The installation may be half-switched.
How to fix it
- Run
row-template rollback— it restores that backup. - Then run
row-template verify.
the template store path is a symlink; refusing to repair it: ‹path›the template store path is not a directory: ‹path›
What it means
The template store — dist/templates/ in the install directory — is a symbolic link or a file instead of a directory, so Row-Template will not write the designs into it. Nothing was changed.
How to fix it
Remove the link or file named in the message (it is inside the install directory) and run the same command again; the store is recreated with every design.
not reading templates from ‹path›: it is not a plain directory.the copy of design '‹id›' in ‹path› fails its checksum or structural check; it was not moved.left ‹path› in place: it holds files Row-Template does not recognise.
What it means
Designs left outside the template store — where an update from an earlier release could put them — are moved back into dist/templates/. These warnings mean part of that could not be done safely: the folder is a link or special file, one copy is damaged and was left where it was, or the folder also holds files Row-Template does not recognise, so it was not removed. The designs in the store are unaffected.
How to fix it
- Run
row-template verifyas root to see the state of the store;row-template updatereinstalls any design that is missing. - Once the store is complete, you can delete the leftover folder named in the message by hand.
Branding and configuration
What it means
Nothing exists at the logo path you gave. The logo was not changed.
How to fix it
Give the full path of the image, for example /root/logo.png, and check it with ls -l.
logo path is a symlink; refusing to read itlogo path became a symlink after validation; aborting.Path became a symlink; aborting.
What it means
The logo path is a symbolic link — or was replaced by one between the check and the read. Logos are read only from regular files. Nothing was changed.
How to fix it
Give the path of the real file. readlink -f /path/to/logo.png shows where a link points.
What it means
The logo path is a directory or a special file, not an image file.
How to fix it
Give the path of the image file itself, not of its folder.
What it means
The logo file could not be read, or it is empty.
How to fix it
Check the file with ls -l — it must be readable and larger than zero bytes — or export the image again.
What it means
Logos are limited to 256 KiB (262144 bytes), because the image is embedded in every page served.
How to fix it
- Resize the image: a logo is shown small, so 256×256 pixels is plenty.
- Save it as WebP or an optimised PNG, for example
cwebp -q 85 logo.png -o logo.webp.
What it means
The file's content is not PNG, JPEG or WebP. The type is read from the file's first bytes, not its name, so renaming a file does not change it. SVG and GIF are not accepted.
How to fix it
- Convert the image, for example
convert logo.svg -resize 256x256 logo.png(ImageMagick). - Check what a file really is with
file logo.png.
What it means
The service name is longer than 120 characters or contains a control character such as a line break or a tab. It was not saved.
How to fix it
Use a shorter, single-line name. In a script, check RT_SERVICE_NAME has no trailing newline.
Use https://, http://, tg:// or mailto: — or clear it with -Use https://, http://, tg:// or mailto:.
What it means
The support link must be a link a browser can safely open. Anything else — including javascript: and data: links — is refused, and you are asked again.
How to fix it
Enter a link such as https://t.me/your_support, tg://resolve?domain=your_support or mailto:support@example.com, or - to have none.
What it means
The support link given in RT_SUPPORT_URL does not start with https://, http://, tg:// or mailto:, or contains a control character. It was not saved.
How to fix it
Correct RT_SUPPORT_URL, or set it empty to have no support link.
What it means
The stored service name or support link contains a control character — which only happens if config.env was edited by hand or restored from elsewhere. Rather than build a broken page, generation stops and the live page stays as it is.
How to fix it
- Set the branding again through the tools, which validate it:
row-template config, or Reset branding in the manager. - Do not edit
config.envby hand.
What it means
row-template config sets your current configuration aside before changing it, and could not create the temporary file for that — usually a full /tmp. Nothing was changed.
How to fix it
Free space in /tmp (df -h /tmp) and run the command again.
What it means
A value given to row-template config was refused — the line above says which. The previous configuration was restored, so nothing changed.
How to fix it
Correct the value named just above and run row-template config again.
the template selection could not be reconciled; the previous state is still in place.could not reconcile the template selection; the previous state was restored.
What it means
After saving the new branding, the installed design could not be matched to your saved choice — the template store is missing or damaged. Everything was put back as it was.
How to fix it
Run row-template verify, then row-template update to reinstall the designs, and apply the change again.
the new branding failed validation; restoring the previous configuration.reconfiguration aborted; the previous template is still in place.
What it means
The page built with the new branding did not pass validation, so it was not activated. The previous configuration and page were restored.
How to fix it
Read the lines printed just before — they name the problem — correct it, and try again.
What it means
The manager could not write config.env — usually a full disk. The previous configuration and page were restored.
How to fix it
Check free space under /etc and try again.
What it means
Not an error: the start of the confirmation for Reset branding, which continues “returns Row-Template to its default look. It does NOT remove Row-Template.”
How to fix it
Answer y to clear the service name, support link and logo, or press Enter to cancel.
Generating the page
What it means
The installed design file, dist/template.html, is missing, so the page cannot be regenerated. The live page was not touched.
How to fix it
Run row-template update, or re-run the installer to repair the installation.
What it means
Your branding is placed between two markers in the design file, each of which must appear exactly once. They do not, so the file is not an unmodified Row-Template design. Nothing was changed.
How to fix it
Run row-template update to reinstall the designs. Do not edit design files by hand.
generated template missingcannot size generated templategenerated template implausibly small (‹size› bytes)generated template does not begin with <!doctype html>generated template does not end with </html>branding markers not intact in generated templategenerated template missing the #sub-data islandgenerated template missing the BRANDING blockgenerated template still contains unsubstituted build placeholders
What it means
Every page is checked before it can go live: it must be a complete HTML document of plausible size, with its branding block, its data island and no leftover build placeholders. This one failed a check, so it was not activated — the page your subscribers see is unchanged. During verify or a switch, the same checks can report a damaged file.
How to fix it
- Check free disk space — a full disk truncates files.
- Run
row-template updateto reinstall the designs and regenerate the page. - If it happens with a fresh official release, report it with the exact message.
What it means
A design file failed the page checks above just before it would have been installed, so it was not. Nothing was changed.
How to fix it
Fix the check reported on the line above, then try again.
What it means
A design file about to be installed is not built for this server's panel — each panel has its own template engine, so a page made for one cannot be served by another. It was not installed, and nothing was changed.
How to fix it
Run row-template update to reinstall this release's designs.
Updating
What it means
The design you use is not included in the release you are updating to, so the update installs Row instead. Your branding is kept.
How to fix it
After the update, choose another design from the manager (2 — Reconfigure branding → 4 — Template).
What it means
The new release's copy of your design did not pass the page checks. The update stopped before anything was replaced.
How to fix it
Run the update again; if it repeats with the official release, report it.
What it means
An update always takes a backup first, and it could not. The update stopped; nothing was replaced.
How to fix it
Check free disk space under /etc and run row-template update again.
What it means
The new version's page could not be put in place — usually a full disk. The page your subscribers see is unchanged.
How to fix it
Free some disk space and run row-template update again.
could not update the VERSION file.could not update the management library.could not update the row-template CLI.
What it means
The new page was installed, but a supporting file could not be replaced. The update continues; the version shown, or the command itself, may still be the old one.
How to fix it
Check free disk space and run row-template update again to finish replacing it.
What it means
The installer files that come with the management library (lib/transaction.sh, panels/) could not be replaced. The page works; verify will report the installation as incomplete.
How to fix it
Check free space and run row-template update again.
activation of the new version failed; rolling back.rolled back to ‹version›; no changes are live.
What it means
The new version was installed but its page could not be activated, so the backup taken at the start was restored automatically. Your subscribers kept seeing the previous page throughout. The command exits with status 1.
How to fix it
- Run
row-template verifyto confirm the previous version is healthy. - Read the lines before these for the cause, fix it (often disk space or branding), and update again.
What it means
The new version could not be activated, and restoring the previous one also failed. The live page is whatever was there before the update, but the installed files may be mixed.
How to fix it
- Run
row-template rollbackto restore the backup taken before the update. - Then run
row-template verify.
This installation is incomplete: some installer components are missing, as after an update from 1.1.0.
What it means
The manager found that the installer's companion files are missing — the state right after 1.1.0's own updater installed a newer release, when completing the installation automatically did not work.
How to fix it
Accept Re-install … now to complete it? — or run row-template update — to install them and every design. Upgrading from 1.1.0 or 1.2.0 →
What it means
The manager could not read the latest release's manifest.txt. Your installation is not affected, and nothing was changed.
How to fix it
- Check the server can reach GitHub, and try again later.
- Without GitHub access, update from a local folder:
RT_RELEASE_DIR=/path row-template update.
could not download Row-Template ‹version› to complete the installation. It will be retried the next time the manager opens; 'row-template update' also completes it.the release source offers ‹version›, not the installed ‹version›; nothing was changed. Run 'row-template update' to update.the installation is still incomplete; run 'row-template verify' for details.this installation is incomplete and its version is unknown; run 'row-template update' to repair it.
What it means
1.1.0's own updater copies only part of a newer release. So the first time you open row-template, or run row-template config or row-template verify as root, after such an update, Row-Template downloads the rest of the same version you have installed — every design and the remaining installer files — before doing anything else. That did not work: the release source could not be reached, it offered a different version (it never installs another version this way), the version installed could not be read, or something is still missing afterwards. Your page, branding, design and backups are unchanged.
How to fix it
- Make sure the server can reach the release source, then open the manager again.
- Or run
row-template update, which installs the latest release in full.
Backups and rollback
What it means
A backup was needed, but the installed design file is missing, so there is nothing to back up. The operation that needed it stopped.
How to fix it
Re-run the installer to repair the installation.
What it means
An old backup beyond the two kept could not be deleted. Nothing else is affected.
How to fix it
Check the folder's permissions. You can delete an old backup folder under backups/ by hand.
What it means
The backup's page no longer matches the checksum stored with it, or its files are missing. A damaged backup is never restored. Nothing was changed.
How to fix it
List the backups — ls /etc/3x-ui/sub_templates/row-template/backups/ on 3X-UI, ls /etc/row-template/backups/ on PasarGuard and Rebecca — and choose another with row-template rollback --to <name>.
What it means
The backup's page was restored, but its VERSION file could not be, so row-template version may show the wrong version.
How to fix it
Check free disk space. Running the rollback again rewrites it.
What it means
The restored design could not be recorded in config.env. The operation stops without activating the restored page.
How to fix it
Check free space and that config.env is writable, then run row-template rollback again.
What it means
rollback was given an option it does not know, or --to without a backup.
How to fix it
- Use
row-template rollback(newest backup),row-template rollback --auto(the same), orrow-template rollback --to <name>. - Backup names are the folders under
backups/in the install directory:/etc/3x-ui/sub_templates/row-template/backups/on 3X-UI,/etc/row-template/backups/on PasarGuard and Rebecca.
What it means
There is no backup whose page still matches its checksum. Backups are taken by updates, template switches and repairs; a fresh installation has none yet.
How to fix it
Nothing to roll back to. To reinstall the current release, run row-template update.
What it means
--to pointed at a folder outside backups/. Only Row-Template's own backups can be restored. Nothing was changed.
How to fix it
Give a folder name from backups/ in the install directory (/etc/3x-ui/sub_templates/row-template/backups/ on 3X-UI, /etc/row-template/backups/ on PasarGuard and Rebecca), or use row-template rollback --auto.
What it means
The safety backup of the current version could not be taken. The rollback continues, but if it fails the current version cannot be brought back automatically.
How to fix it
Check free disk space under /etc, and run row-template verify when the rollback finishes.
What it means
The backup could not be put in place — the line above says why. The page your subscribers see is unchanged.
How to fix it
Fix the problem named just above. If it says the backup was made for another panel, see that message.
rollback activation failed; attempting to restore the current version.restored the previously-running version; nothing changed.
What it means
The older version was staged but its page could not be activated, so the safety backup of the current version was restored. Nothing changed. The command exits with status 1.
How to fix it
Read the lines above for the cause (often branding or disk space), fix it, and try again.
What it means
Both the rollback and the automatic return to the current version failed. The live page is what it was before, but the installed files may be mixed.
How to fix it
- Run
row-template verifyto see the state. - Try
row-template rollback --to <name>with the safety backup just created (the newest folder inbackups/), or re-run the installer to repair.
What it means
Backups are named by the time they are taken, to the second. No free name could be claimed in backups/ — the disk is full, the folder is not writable, or names kept colliding. The operation that needed the backup says on the next line what it did next.
How to fix it
- Check free space with
df -h /etc, and thatbackups/in the install directory is a writable directory. - Run the command again.
What it means
Every backup records the panel it was made on, and is only ever restored onto that panel: a page built for one panel's template engine cannot be served by another. Backups made before 1.3.0 count as 3X-UI backups. Nothing was changed.
How to fix it
Choose a backup made on this panel: list the backups/ folder in the install directory and use row-template rollback --to <name>.
backup artifact has no store match and no recorded template; defaulting to Row.backup artifact recorded template '‹id›' is not installed; defaulting to Row.
What it means
The backup's page is not byte-identical to any design of the current release — an older release made it — so rollback uses the design the backup records instead. This backup records none (older releases did not), or one this release does not ship, so Row is restored. The page is taken from the designs installed now; the backup's version number is restored, and your current branding is kept.
How to fix it
Nothing to fix. To use another design afterwards, choose it from the manager (2 — Reconfigure branding → 4 — Template).
Verify results
What it means
The install directory does not exist, or is a symbolic link. Row-Template is not installed properly.
How to fix it
Re-run the installer. If the directory is a symlink, replace it with a real directory first.
canonical artifact missing checksum or does not match it.canonical artifact missing or unreadable: ‹path›
What it means
The installed design file (dist/template.html) is missing, or no longer matches the checksum recorded when it was installed — it was changed or damaged.
How to fix it
Run row-template update to reinstall it. The live page keeps working in the meantime.
What it means
One or more designs in the template store — named at the end of the message — were changed or damaged after installation.
How to fix it
Run row-template update to reinstall every design.
What it means
config.env names one design but a different one is installed. Row-Template never produces this itself; it points to a hand edit or an interrupted operation.
How to fix it
Run row-template config and press Enter at every question — it realigns the installed design with the saved choice — or run row-template update.
What it means
The design you selected is not in the installation's template store.
How to fix it
Run row-template update to reinstall the template store.
What it means
The installation has no template store — the state right after 1.1.0's own updater installed a newer release, which it does not know how to complete. Run as root, verify completes the installation itself first (every design of the version you have), so this line means verify was not run as root, or that was not possible.
How to fix it
Run row-template verify as root, or run row-template update. Upgrading from 1.1.0 or 1.2.0 →
What it means
The page the panel serves, sub.html, is missing or incomplete. Subscribers opening their link in a browser may see an error.
How to fix it
Regenerate it: run row-template update, or re-run the installer to repair.
What it means
The installation's VERSION file is missing, so its version is unknown.
How to fix it
Re-run the installer, or run row-template update.
What it means
config.env exists but the current user cannot read it. It is readable only by root and its group on purpose.
How to fix it
Run row-template verify as root.
What it means
Any user on the server can modify your branding file. Row-Template itself always writes it with mode 640.
How to fix it
chmod 640 /etc/3x-ui/sub_templates/row-template/config.env on 3X-UI, or chmod 640 /etc/row-template/config.env on PasarGuard and Rebecca.
management library not found under the install root.CLI not found or not executable at /usr/local/bin/row-template.
What it means
The management library in the install directory, or the row-template command, is missing. The page keeps working, but managing it may not.
How to fix it
Re-run the installer; it repairs the installation in place and keeps your configuration.
installer components are missing (lib/transaction.sh, panels/), as after an update from 1.1.0; run 'row-template update' to complete the installation.
What it means
The installer's companion files are missing — the state right after 1.1.0's own updater installed a newer release, since it copies only the library and the command. Run as root, verify completes the installation first, so this line means it was not run as root, or that was not possible. The page keeps working.
How to fix it
Run row-template verify as root, or row-template update. Upgrading from 1.1.0 or 1.2.0 →
What it means
verify could not find the panel, or could not read its version. The page files are checked anyway.
How to fix it
- Run
verifyon the server that runs 3X-UI, as root. - Check
/usr/local/x-ui/x-ui -vprints a version.
What it means
Row-Template is installed but not activated: the panel still serves its built-in page.
How to fix it
Activate it — with the manager's 5 — Activate / Re-apply theme, or in the panel. See Activation.
What it means
The panel is set to serve a different theme directory. Row-Template is installed but not the page subscribers see.
How to fix it
If that is not intended, activate Row-Template — see Activation.
What it means
Temporary files starting with .stage. or .live. were left behind by an interrupted command. They are never used.
How to fix it
- When no
row-templatecommand is running, delete them — on 3X-UI:find /etc/3x-ui/sub_templates/row-template -maxdepth 2 \( -name '.stage.*' -o -name '.live.*' \) -delete(on PasarGuard and Rebecca, use/etc/row-template). - Then run
row-template verifyagain.
What it means
A local test request, made as a browser, got the panel's own page rather than Row-Template.
How to fix it
Check activation, then restart the panel (systemctl restart x-ui) and run verify again.
What it means
The subscription address on this server did not answer a local request.
How to fix it
Check the panel is running and its subscription service is enabled, on the port configured in the panel.
What it means
A local request made as a VPN app received the web page instead of its configuration, so VPN apps would fail to update.
How to fix it
Make sure nothing in front of the panel changes the User-Agent or Accept headers of requests.
What it means
The summary of verify: at least one hard check failed. The command exits with status 1.
How to fix it
Fix the FAIL lines above it — each is explained on this page.
What it means
The summary of verify: no hard failures, so the installation is working, but some checks warned.
How to fix it
Review the warn lines above it; each is explained on this page.
templates were found outside the store at ‹install dir›/‹path›; run 'row-template verify' as root to move them.
What it means
Designs were found in the install directory but outside the template store, where an update from an earlier release could leave them. They are harmless but not used. verify only moves them when it runs as root.
How to fix it
Run row-template verify as root: it moves them into dist/templates/ and changes nothing else.
template store is incomplete (‹n› of ‹n› designs); missing:‹ids›. Run 'row-template update' to restore them.
What it means
Some of the designs this release ships are missing from the installation's template store. The live page keeps working; the missing designs cannot be chosen until they are restored. Run as root, verify downloads them from the installed release first, so this line means that was not possible.
How to fix it
Run row-template update — it reinstalls every design.
What it means
On PasarGuard and Rebecca, verify checks the panel through the installer's companion files (lib/transaction.sh, panels/), and they are missing, so the panel could not be checked. This is a hard failure.
How to fix it
Run row-template update, which installs them, then row-template verify again.
What it means
The panel this installation serves could not be found on the server, or its configuration (PasarGuard's .env, or Rebecca's subscription settings) could not be read. The page files are checked anyway.
How to fix it
- Run
verifyas root, on the server that runs the panel. - Check the panel itself:
rebecca status, or for PasarGuardpasarguard status(official Docker install) orsystemctl status pasarguard(source install). If it was removed, remove Row-Template too withrow-template uninstall.
What it means
Row-Template is installed, but the panel does not select its page — it was never activated, or another page was chosen in the panel since. Subscribers see the panel's own page.
How to fix it
Run row-template and choose 5 — Activate / Re-apply theme. See Activation.
‹panel›'s Row-Template page is out of step (see above); re-apply it from the manager (Activate).
What it means
The panel selects Row-Template, but one of the checks just above failed — the page is missing from the panel's templates directory, differs from the generated one, or Row-Template's own files are damaged. This is a hard failure.
How to fix it
Read the panel … line just above, then run row-template and choose 5 — Activate / Re-apply theme. If Row-Template's files are damaged, run row-template update first.
What it means
The files and settings are correct, but the running panel still uses its previous page. On PasarGuard this means the container was not recreated after .env changed.
How to fix it
Restart the panel (pasarguard restart), then run row-template verify again.
Uninstalling
refusing to delete ‹install dir›: it does not look like a Row-Template install root.refusing to delete a system path: ‹install dir›
What it means
Before deleting anything, uninstall confirms the directory is a Row-Template installation (it must hold VERSION plus the design or the library) and is not a system path. That check failed, so nothing was deleted.
How to fix it
- Check what is in the install directory (
/etc/3x-ui/sub_templates/row-templateon 3X-UI,/etc/row-templateon PasarGuard and Rebecca). - If it is a damaged Row-Template installation, re-run the installer to repair it, then uninstall — or remove it by hand.
What it means
Uninstall asks for confirmation, and there is no terminal to ask on. Nothing was removed.
How to fix it
Run RT_ASSUME_YES=1 row-template uninstall to confirm from a script.
could not clear subThemeDir automatically. In the panel, clear Settings -> Subscription -> Sub Theme Directory.
What it means
Uninstall could not reset the panel's theme directory. Row-Template's files are still removed next, so the panel would point at a directory that no longer exists.
How to fix it
In the panel, empty Panel Settings → Subscription → Sub Theme Directory, save, and restart the panel.
could not read subThemeDir (sqlite3/DB unavailable). If it points at ‹install dir›, clear it in the panel.
What it means
Without sqlite3 (or the panel database), uninstall cannot tell where the panel's theme directory points, so it leaves it alone.
How to fix it
Open Panel Settings → Subscription. If Sub Theme Directory is /etc/3x-ui/sub_templates/row-template, empty it, save and restart the panel.
What it means
The file removal refused to continue for the reason printed just above. Nothing was force-deleted.
How to fix it
Fix the problem named above, then run row-template uninstall again.
the panel components are missing, so ‹panel› cannot be reverted automatically; run 'row-template update' first.could not revert ‹panel›.uninstall stopped before removing anything; the panel and Row-Template are unchanged.
What it means
On PasarGuard and Rebecca, uninstall first puts the panel back on the page it had before Row-Template, and only then removes Row-Template's files. The panel could not be reverted — the lines above say why — so uninstall stopped before removing anything. Both the panel and Row-Template are exactly as they were.
How to fix it
- If the installer's components are missing, run
row-template update, then uninstall again. - Otherwise fix the problem named above (for example a damaged
.envblock, or a panel that could not be restarted) and runrow-template uninstallagain.
What it means
Uninstall cannot change the panel's page selection here — on Rebecca because its settings cannot be written (MySQL/MariaDB, or no sqlite3), on PasarGuard because .env could not be read — so it removes Row-Template's files and asks you to switch the page back yourself. Until you do, the panel points at a page that no longer exists.
How to fix it
- Rebecca: in the dashboard open Settings → Subscription → Templates and set Subscription page template back to
subscription/index.html(Rebecca's own page) or your own page. - PasarGuard: remove the
# >>> row-templateblock from/opt/pasarguard/.env, then runpasarguard restart.
The command and the manager
Row-Template is not installed (run the installer first).Row-Template is not installed; run the installer first.Row-Template is not installed.Row-Template is not installed at ‹install dir›; run the installer first.Row-Template does not appear to be installed at ‹install dir›.
What it means
The command needs an existing installation, and the install directory has no installed design (or no VERSION file).
How to fix it
- Install Row-Template first — see Quick start.
- If it was installed, re-run the installer to repair it; your configuration is kept.
What it means
row-template does not have that command. The help is printed after this line, and the command exits with status 2.
How to fix it
Use one of config, update, rollback, verify, version, uninstall, menu or help — see the command reference.
management library not found at ‹path›the install may be damaged; re-run the installer.
What it means
The row-template command is only a launcher, and the management library it loads is missing from the install directory.
How to fix it
Re-run the installer. It repairs the installation in place and keeps your branding and design.
What it means
A command failed at a point that has no specific message. Row-Template's changes are staged and swapped atomically, so no half-written file was put in place.
How to fix it
- Run
row-template verifyto check the state. - Run the command again. If it repeats, open an issue with the full output and the line number.
What it means
A menu received something other than one of its numbers. It asks again.
How to fix it
Type one of the numbers shown in the menu and press Enter.
could not load panel interfacecould not load panel registrycould not load the transaction engine
What it means
The installer files that come with the management library (panels/, lib/transaction.sh) exist but could not be loaded — they are damaged or were edited. Every row-template command stops here. (If they are missing altogether — as right after 1.1.0's own updater installed a newer release — the command still runs, completes the installation when it can, and verify reports what is missing.)
How to fix it
Re-run the installer to repair the installation; it replaces these files.
panel registry: the 3xui adapter exists but could not be loadedpanel registry: the pasarguard adapter exists but could not be loadedpanel registry: the rebecca adapter exists but could not be loaded
What it means
One of the panel adapters under panels/ in the install directory exists but could not be loaded — it is damaged or was edited. The command stops here.
How to fix it
Re-run the installer to repair the installation; it replaces these files and keeps your configuration.
Internal safety checks
What it means
A file Row-Template was about to write or delete is a symbolic link. It never writes through a link, which could redirect a root-owned write to any file on the system. Nothing was written.
How to fix it
Replace the link named in the message with a real file or directory, or remove it, then run the command again. Nothing under the install directory should be a symlink.
What it means
A guard that allows recursive deletion only strictly inside the backups folder stopped a delete. This should never happen in normal use; nothing was deleted.
How to fix it
Report it with the full output and what you ran.
What it means
A checksum file (*.sha256) is damaged or empty, or the file it describes is missing. The file is treated as unverified and is not used.
How to fix it
Run row-template verify to find which, then row-template update to reinstall the files.
What it means
A file does not match its recorded SHA-256 — the first 12 characters of each are shown. The file was changed, damaged or truncated, and is not used. A second line names what was being checked.
How to fix it
- For a download: run the command again, or download the release again.
- For an installed file:
row-template updatereinstalls it.
refusing to write through a symlink: ‹path›could not create a temporary snapshotsnapshot already exists: ‹path›the new snapshot failed validation and was discardedrefusing to stage a symlink: ‹panel›/‹path›refusing to manifest a snapshot containing a symlinkpath cannot be represented in a manifest: ‹path›snapshot records two different formats (format file '‹format›', meta '‹format›')unknown panel id: ‹panel›no staged state for panel: ‹panel›panel ‹panel›: staged state has no files listpanel write: no staging directory givenpanel write: unknown panel id: ‹panel›panel write: state must be absent|empty|present, got '‹state›'panel write: mechanism must be db|env|api, got '‹mechanism›'panel write: was_running must be 0 or 1, got '‹value›'panel write: state=present requires a valuepanel write: empty placed-file pathpanel write: placed file is not a legal relative path: ‹path›aux: unknown panel id: ‹panel›aux: not a legal key: ‹key›aux: panel ‹panel› is not staged
What it means
Before activation changes anything on PasarGuard or Rebecca, it writes a snapshot of the panel's settings to backups.v2/ in the install directory, with a manifest of every file in it. These are the snapshot writer's own checks. A few have a cause on the server — backups.v2/ is a symbolic link, the disk is full, or a snapshot with the same name already exists; the rest guard the snapshot's format and should never appear. In every case activation stops before changing the panel.
How to fix it
- Check free space with
df -h /etc, and thatbackups.v2/in the install directory is a real directory, not a link. Then activate again from the manager. - If a message names a field (
state,mechanism,aux, …), report it with the full output.
transaction: RT_ROOT is unset; refusing to locktransaction: refusing a symlinked install root: ‹install dir›transaction: could not create the lock directory: ‹path›transaction: refusing a symlinked lock directory: ‹path›transaction: refusing a symlinked lock file: ‹path›transaction: fd 9 is already open; refusing to reuse the lock descriptortransaction: could not open the lock file: ‹path›transaction: RT_PANEL_STAGE is unset; refusing to clear ittransaction: refusing to clear /transaction: refusing to clear a symlinked stage: ‹path›transaction: unexpected stage path (expected a .panel-stage directory): ‹path›transaction: refusing to clear a stage outside the install root: ‹path›transaction: could not clear the stage: ‹path›
What it means
The activation transaction locks the installation and uses a scratch folder, .panel-stage, inside it. These checks refuse to lock or clear anything through a symbolic link, outside the install directory, or with a missing path. A link or a full disk can cause them; otherwise they should never appear. Activation stops before changing the panel.
How to fix it
- Make sure nothing under the install directory is a symbolic link and that the disk has free space, then activate again.
- If it repeats, report it with the full output.
transaction: unknown state '‹state›'transaction: invalid transition ‹state› -> ‹state›transaction: unknown panel id '‹panel›' (known: 3xui pasarguard rebecca)transaction: SOURCE is requiredtransaction: panel '‹panel›' is not present on this host (status ‹status›)transaction: panel '‹panel›' cannot be identified in this build (status ‹status›)transaction: detection failed for panel '‹panel›' (status ‹status›)transaction: capabilities are unavailable for panel '‹panel›' (status ‹status›)transaction: panel '‹panel›' reported an unknown capability '‹capability›'transaction: panel '‹panel›' does not declare the required capability '‹capability›'transaction: panel '‹panel›' declares no apply capability (needs one of: file_placement selection_write)transaction: could not capture the state of panel '‹panel›' (status ‹status›)
What it means
The activation transaction's checks before it changes anything: the panel must be present and identified, its adapter must declare the capabilities activation needs, and its current settings must be read for the snapshot. could not capture the state has a cause on the server — the adapter's own message just above names it (for example Rebecca's database cannot be read). The others guard the engine itself. Activation stops, and nothing is changed.
How to fix it
- Read the
panel …line just above, if there is one, and fix what it names. - Otherwise report it with the full output.
panel pasarguard: malformed selection.statepanel pasarguard: malformed panel metapanel pasarguard: mechanism is '‹mechanism›', expected 'env'panel pasarguard: malformed files recordpanel pasarguard: refusing to restore: the record lists a file this adapter never places: ‹path›panel pasarguard: malformed block recordpanel pasarguard: malformed root recordpanel pasarguard: malformed dir recordpanel rebecca: subscription_page_template cannot have been absent (state '‹state›')panel rebecca: malformed dir_state recordpanel rebecca: malformed selection.statepanel rebecca: malformed panel metapanel rebecca: mechanism is '‹mechanism›', expected 'db'panel rebecca: malformed files recordpanel rebecca: refusing to restore: the record lists a file this adapter never places: ‹path›panel rebecca: malformed root record
What it means
A snapshot of the panel's settings is read back before it is restored, and every record in it must be exactly what the adapter wrote. This one is not — it was edited or damaged, or comes from something other than Row-Template — so it is not restored at all rather than half-restored. The panel is left as it is.
How to fix it
- Do not edit files under
backups.v2/. - Check the panel's selection yourself (PasarGuard: the
row-templateblock in/opt/pasarguard/.env; Rebecca: Settings → Subscription → Templates), then runrow-template verify.
panel pasarguard: SOURCE is requiredpanel pasarguard: refusing a symlinked SOURCEpanel pasarguard: SOURCE is not a regular file: ‹path›panel pasarguard: SOURCE is outside ‹install dir›panel pasarguard: unknown verification mode '‹mode›'panel rebecca: SOURCE is requiredpanel rebecca: refusing a symlinked SOURCEpanel rebecca: SOURCE is not a regular file: ‹path›panel rebecca: SOURCE is outside ‹install dir›panel rebecca: unknown verification mode '‹mode›'panel dispatch: no dispatch arm for implementation '‹adapter›' verb '‹operation›'panel ‹operation›: unknown panel id '‹panel›' (known: 3xui pasarguard rebecca)panel install_template: SOURCE is requiredpanel verify: takes exactly PANEL MODE, got $# argumentspanel verify: MODE must be static|live, got '‹value›'panel restore_state: SNAPSHOT is required
What it means
Argument checks of the panel interface: the page given to an adapter must be a regular file inside the install directory, never a link, and every call must name a known panel and operation. Row-Template's own commands always pass valid arguments, so these should never appear; the operation stops without changing anything.
How to fix it
Report it with the full output and the command you ran.
panel 3xui: the stored selection contains a newline and cannot be recorded exactlypanel 3xui: SOURCE is requiredpanel 3xui: refusing a symlinked SOURCE: ‹path›panel 3xui: SOURCE is not a regular file: ‹path›panel 3xui: SOURCE is outside the Row-Template root (‹install dir›): ‹path›panel 3xui: unknown verification mode '‹mode›'panel 3xui: the artifact is missing: ‹path›panel 3xui: the artifact failed structural validationpanel 3xui: the recorded checksum is unreadablepanel 3xui: the artifact does not match its recorded checksumpanel 3xui: cannot read the panel selectionpanel 3xui: subThemeDir is '‹value›', expected '‹install dir›'panel 3xui: the snapshot's selection.state is malformedpanel 3xui: selection.state must be absent|empty|present, got '‹state›'panel 3xui: the snapshot's panel meta is malformedpanel 3xui: mechanism is '‹mechanism›', expected 'db'panel 3xui: was_running must be 0|1, got '‹value›'panel 3xui: the snapshot's files record is malformedpanel 3xui: refusing to restore: this panel places no file, but the snapshot lists onepanel 3xui: state=present but the selection value is unreadablepanel 3xui: cannot read the selection back after restoringpanel 3xui: after restoring, the selection state is '‹state›', expected '‹state›'panel 3xui: cannot read the selection value back after restoringpanel 3xui: after restoring, subThemeDir is not the recorded value
What it means
Checks inside the 3X-UI adapter of the panel interface. In 1.3.0 the row-template commands set up 3X-UI directly — they write subThemeDir themselves, exactly as before — and do not go through this adapter, so these messages are not printed by any command. They are listed here because they are in the installer's source.
How to fix it
If you ever see one, report it with the full output and the command you ran.
No message matches this filter.