Frequently Asked Questions
This section collects common issues and solutions you may encounter when deploying and using SmartTable. If your issue is not covered here, please contact us via the "Issue Feedback" button in the top-right corner or through GitHub Issues.
Deployment & Installation
Docker deployment is inaccessible after startup
Symptom: After running docker run, the browser shows connection refused or 502 when accessing http://localhost.
Solution:
- Confirm the container is running:
docker psand check that the status isUp. - View container logs:
docker logs <container_id>to check for port conflicts or startup errors. - Confirm the port mapping is correct, e.g.,
-p 80:80maps container port 80 to host port 80. - If port 80 is occupied, use a different port such as
-p 8080:80and accesshttp://localhost:8080. - Check whether the firewall or security group allows the corresponding port.
Windows startup package flashes and exits when running start.bat
Symptom: Double-clicking start.bat causes a black window to flash and the service does not start.
Solution:
- Do not double-click directly. Instead, run
start.batin PowerShell or CMD to see the full error output. - Check whether antivirus software has blocked the program; add the package directory to the whitelist if necessary.
- Make sure the path does not contain Chinese or special characters; it is recommended to place it in a pure English path.
- Check the log files in the
logs/directory for specific errors.
Backend logs show Redis connection failure
Symptom: Startup reports ConnectionError or Redis is not running.
Solution:
- Docker deployment includes Redis by default. For manual deployment, Redis must be installed and started separately.
- Check whether
REDIS_URLin.envor environment variables is configured correctly. - If real-time collaboration is not needed, disable it in system settings or set
COLLABORATION_ENABLED=false. - Use
redis-cli pingto test whether Redis is reachable.
PostgreSQL mode fails to create tables or migrate
Symptom: After switching to PostgreSQL, errors such as relation does not exist or migration failures appear.
Solution:
- Confirm the database has been created in advance and the user has permissions to create tables and extensions.
- Alembic will automatically run migrations on first startup; make sure the working directory is correct (run from
smarttable-backend). - If migration versions are inconsistent, manually run
flask db upgrade. - Check that the
DATABASE_URLformat is correct, e.g.,postgresql://user:pass@host:5432/dbname.
Login & Permissions
"Login expired" appears shortly after logging in
Symptom: After using for a while, refreshing the page redirects to the login page.
Solution:
- v1.6.3 supports Token auto-refresh. Make sure both frontend and backend are upgraded to v1.6.3.
- Check the "Session timeout" in system settings. The default is short; adjust it as needed (not recommended to exceed 7 days).
- If using a reverse proxy, confirm it does not filter or cache JWT-related headers.
- Clear browser cache and log in again.
Registration entry is missing or registration is disabled
Symptom: The login page has no "Register" button, or clicking register prompts "Registration is closed".
Solution:
- Administrators can enable or disable registration in "System Management → System Settings".
- If registration is disabled, users can only be created manually by an administrator.
- Check whether the current user has the administrator role.
Tables & Fields
Formula field shows "#ERROR" or incorrect result
Symptom: After configuring a formula field, the cell shows an error or does not calculate.
Solution:
- Check whether the formula syntax is correct. It is recommended to use the "Formula Helper" in the field configuration panel.
- Confirm the referenced field names or IDs have not changed; if changed, re-edit the formula.
- v1.6.3 unified frontend and backend formula function registration. If errors persist after upgrading, check whether an unsupported function is used.
- Numeric, date, and other field types are automatically converted in formulas; pay attention to type matching.
Link/Lookup field data does not refresh or displays incorrectly
Symptom: After selecting a link field, the lookup field does not update synchronously or shows stale data.
Solution:
- v1.6.3 fixed the issue of link field cache not refreshing; please upgrade to the latest version first.
- Refresh the page or reopen the record drawer.
- Check whether the link field relationship type is configured correctly; if changed, save the field again.
- Confirm the target field referenced by the lookup field has a valid value in the linked record.
Adding a record creates two rows at once
Symptom: Clicking "Add record" produces two blank rows in the table.
Solution:
- This is an editor callback anomaly fixed in v1.6.3; upgrading will resolve it.
- If it still occurs after upgrading, check the browser console for errors and submit via "Issue Feedback".
Number field always defaults to 0
Symptom: Number field automatically shows 0 when not filled in.
Solution:
- v1.6.3 optimized number field default rules to automatically decide whether to write 0 or empty based on the default value setting.
- If customization is needed, set the "Default value" to empty or a specific value in the field configuration.
- Also check whether the "Decimal places" setting for the number field takes effect.
Views & Interaction
Kanban card drag does not change the group
Symptom: Dragging a card to another column in Kanban view returns to the original column after refresh.
Solution:
- v1.6.3 fixed the issue where Kanban drag did not use the target group ID; upgrading will resolve it.
- Confirm the group field value corresponding to the target column matches the card's intended value.
- Check whether the current user has edit permission for the table.
Large tables load slowly
Symptom: When there are tens of thousands of records, the table first screen takes several seconds or longer to load.
Solution:
- SmartTable supports streaming load: first screen loads part of the data, remaining pages load asynchronously in the background.
- Reduce the number of records per page, or configure appropriate filter conditions in the view.
- Create indexes for frequently queried fields (more effective in PostgreSQL mode).
- Disable unnecessary real-time collaboration to reduce WebSocket data transfer.
Attachment upload fails or cannot be previewed
Symptom: Clicking upload does nothing, or thumbnails do not display after upload.
Solution:
- Check the "File count limit" and "File size limit" of the attachment field; the default single file limit is 10MB.
- Confirm the upload directory has write permissions; Docker deployment requires persistent storage volume.
- v1.6.3 supports single-click thumbnail preview of full image; if preview fails, check whether the browser blocked the popup.
- Check backend logs for MIME type or file content security validation failures.
Workflow
Workflow does not trigger after saving
Symptom: After configuring triggers and nodes, the workflow does not execute when records are created/updated.
Solution:
- Confirm the workflow status is "Running"; paused or draft workflows will not trigger.
- Check whether trigger filter conditions are configured correctly, paying attention to AND/OR logic.
- Confirm the fields monitored by the trigger actually changed during the update.
- View "Execution Logs" to check for errors or node execution failures.
Loop node does not execute or data is empty
Symptom: Loop node status shows skipped, or the loop body does not execute.
Solution:
- Confirm the loop data source type is configured correctly:
- When iterating over all results from a find records node, use
find_records_all. - When extracting values of a specific field, use
find_records_column.
- When iterating over all results from a find records node, use
- Check whether the find records node returned valid data.
- Node IDs inside the loop body must be correctly mapped to backend UUIDs when saving.
- View diagnostic information such as
skipped_reasonanddata_arrayin the execution logs.
Webhook node recipient does not receive the request
Symptom: Workflow execution shows success, but the recipient system does not receive the Webhook.
Solution:
- Check whether the Webhook URL is correct and has no extra spaces.
- View "Webhook Delivery Logs" to confirm whether the request was sent and what the response status code was.
- Confirm the recipient server can access the network where SmartTable is deployed (especially important for intranet deployments).
- Check whether Webhook headers and body templates are rendered correctly to avoid request dropping due to variable resolution failure.
Real-time Collaboration
Online users not shown or collaboration status abnormal
Symptom: When multiple users edit simultaneously, other users are not visible or lock status is out of sync.
Solution:
- Confirm real-time collaboration is enabled and Redis is running normally.
- Check the browser console for WebSocket connection failure errors.
- If using a reverse proxy or Nginx, confirm WebSocket forwarding is correctly configured (for
/socket.io/path). - v1.6.3 fixed timezone acquisition logic to support reading the browser's local timezone, avoiding collaboration anomalies caused by timezone inconsistency.
Email & Notifications
Email sending fails
Symptom: After configuring SMTP, test sending or workflow email node sending fails.
Solution:
- Check SMTP server address, port, encryption method (TLS/SSL), and authentication information.
- Confirm SMTP service is enabled for the mailbox; some providers require a separate authorization code.
- Check email sending logs to see if messages were blocked by the provider or sent to spam.
- For enterprise email, confirm there are no sending rate limits or IP whitelist restrictions.
Performance & Browser
Page lags or browser crashes
Symptom: Browser becomes laggy or even crashes when opening large tables or complex dashboards.
Solution:
- Reduce the number of simultaneously expanded views and dashboard components.
- Configure appropriate filter conditions for large tables to avoid loading full data at once.
- Use modern browsers such as Chrome or Edge, and keep them updated.
- Close unused browser extensions to avoid excessive memory usage.
Others
Timezone display is incorrect
Symptom: DateTime fields show times inconsistent with expectations.
Solution:
- Configure the correct system timezone in "System Management → System Settings".
- If timezone mode is "Local timezone", it will prefer the configured
timezone_name; if not configured, it will use the browser's local timezone. - If timezone mode is "UTC", all times will be displayed in UTC.
- Refresh the page after switching timezone for the configuration to take effect.
How to submit bugs or feature suggestions
Solution:
- Click the "Issue Feedback" button in the top-right corner, fill in the description, and attach screenshots and logs.
- Submit via GitHub Issues: https://github.com/ldbinac/smart_table/issues
- Follow the WeChat official account "程序员吕洞宾" for the latest updates.
