Chatwoot Phase 0 Deployment Record
Date: 2026-04-07
Status: Deployed and live-verified
Scope: Chatwoot Phase 0 context injection for aovis.app
1. Purpose
This record captures the exact deployment identity, runtime checks, and live verification results for the Chatwoot Phase 0 release.
It is written for future AI tools and operators who may need to continue tuning the widget/context/email behavior without re-deriving the deployment history.
2. Release Identity
- Repository:
aovis-direct-store - Branch:
main - Release commit:
e528d8a810f3b90c594462ebf8de30a6d32ebf1a - Short commit:
e528d8a - Remote status: pushed to
origin/main
Release note:
feat: Chatwoot Phase 0 - logged-in user context injection
3. What Shipped
Phase 0 added the logged-in user support-context path for aovis.app:
app/layout.tsxwraps the app withSessionProvidercomponents/chatwoot-widget.tsxsyncs user session state into Chatwootapp/api/support/context/route.tsexposes the authenticated support-context endpointscripts/chatwoot-provision-attributes.tsprovisions the required Chatwoot custom attributesdocs/chatwoot-context-integration.mddocuments the implementation.env.exampleand.env.production.examplewere updated for Chatwoot environment variables
This release did not expand into adjacent scope areas such as Amazon, AI, device telemetry, or payment changes.
4. Deployment Target
AOVIS Store VM
- VM:
aovis-store-staging-vm - Zone:
us-west1-c - Project:
aovis-site-1 - Path:
/opt/aovis/aovis-store-staging - PM2 process:
aovis-store-staging
Identity Used for Deployment
- Active
gcloudaccount used for this deploy:guoruimyself@gmail.com
Chatwoot Support VM
The separate Chatwoot support stack remains on:
- VM:
chatwoot-vm - Zone:
us-central1-a - Project:
aovis-direct-store-492514 - Active
gcloudaccount for that stack:guorui@aovis.us
5. Deployment Command
The VM was updated through Git pull, not tar/scp sync:
cd /opt/aovis/aovis-store-staging
git fetch origin
git pull origin main
npm install
npx prisma generate
npm run build
pm2 restart aovis-store-staging --update-env
This exact flow is the release baseline.
6. Build and Runtime Results
Build
npm installcompleted successfullynpx prisma generatecompleted successfullynpm run buildcompleted successfully
PM2
pm2 restart aovis-store-staging --update-envcompleted successfully
Notes
- The build output showed normal npm peer-dependency warnings, but no blocking error
- The deployment completed on the pushed Git commit, not from local workspace state
7. Live Verification
All of the following checks passed:
https://aovis.appreturned200https://aovis.app/robots.txtreturned200https://aovis.app/sitemap.xmlreturned200https://aovis.app/api/support/contextreturned401when unauthenticatednpm run deploy:verifypassed with7/7https://aovis.app/api/auth/providersstill returned"apple"
Widget Runtime Check
Browser-side verification confirmed:
https://support.aovis.app/packs/js/sdk.jswas loadedwindow.chatwootSDKexistedwindow.chatwootSettingsexisted
This means the widget is present at runtime even though the raw HTML grep did not show the SDK literal in the initial curl output.
8. Important Operational Boundaries
- Do not overwrite
/opt/aovis/aovis-store-staging/.env.production - Do not deploy from tar/scp payloads
- Do not treat uncommitted local changes as deployable release source
- If Apple sign-in disappears later, check VM env and
/api/auth/providersbefore assuming a code bug
9. Follow-up Tuning Areas
Future tuning should stay within the Chatwoot Phase 0 lane:
- widget identity/context sync
- notification delivery behavior
- email notification rules
- operator and support workflow alignment
Do not expand this record into unrelated product scope.