05 — Someli-Designer: where to look
A symptom → location routing table.
Dev server / build issues
| Symptom |
First place to look |
yarn dev fails on a Vue 2 / Bootstrap-Vue error |
Confirm node_modules exists at both root and polotno-editor/; re-npm install |
| Polotno editor blank on a template page |
polotno-bundle.js missing or stale — cd polotno-editor && yarn build |
| Navbar styles look off / dropdown doesn't open |
Bootstrap 4 (via Bootstrap-Vue) vs Bootstrap 5 (CDN) conflict — see 02-stack.md |
nuxt.config.js change has no effect |
Restart yarn dev |
Auth / login
| Symptom |
First place to look |
| Login fails |
Network tab — webauthenticate POST. Is designer-api reachable at baseURL? |
Loops back to /login |
Cookies not set — DevTools → Application → Cookies |
| Apptype header missing from requests |
middleware/axios.js may have failed to register; rebuild |
me endpoint returns null |
The propertyName: 'data' shape in nuxt.config.js → auth.strategies.local.endpoints.user expects a specific response shape; verify designer-api returns { data: ... } |
| Reference |
../../audit/Someli-Designer/authentication-client.md |
Role-gated UI issues
| Symptom |
First place to look |
| Wrong nav items shown |
components/Navbar.vue — the role_type checks (introduced in commit 074b9ec) |
| A role can't see a page they should |
Either Navbar gating or the backend's access check denies them — confirm with the BE |
| Role IDs don't match between FE and BE |
Role IDs come from env vars in the admin frontend's src/config/env.ts; replicated to BE. Verify alignment with the team. |
A page is broken
| Symptom |
First place to look |
| 404 |
pages/<name>.vue — does the file exist? Remember, pages are flat, no subdirectories |
| Multiple similar-named files |
dynamicPost.vue vs dynamicPost - Copy.vue, master_library.vue vs master_libraryNew.vue, etc. — confirm which is canonical |
| Page data missing |
this.$axios call in mounted(); check Network tab |
| Page loads but state is stale |
There's no cache layer; check Vuex via DevTools |
Polotno editor issues
| Symptom |
First place to look |
| Editor crashes |
Browser console — is polotno-bundle.js loaded? Is Polotno license configured? |
| Customer template doesn't appear |
The two Polotno editors fetch from different endpoints — designer fetches via designer-api, customer via someli-api |
| New panel not appearing |
Did you register it in polotno-editor/App.js? Did you yarn build? |
| Same bug as customer Polotno editor |
The forks have diverged; fix in BOTH or one only — decide explicitly |
| Reference |
../../audit/Someli-Designer/polotno-integration.md |
State / Vuex issues
| Symptom |
First place to look |
| State change doesn't propagate |
store/index.js — single module, no sub-module path. store.dispatch('actionName'), not store.dispatch('sub/actionName') |
| Mutation never fires |
DevTools Vuex panel — was the action called? Did it commit? |
| Symptom |
First place to look |
| Hotjar tracker errors |
plugins/hotjar.js; env var configuration |
| Bootstrap-Vue components misrender |
Bootstrap 4-vs-5 conflict; check Network for both CSS/JS loads |
Deployment issues
| Symptom |
First place to look |
| Production SPA serves stale assets |
EFS-mounted node_modules may not have refreshed |
| Deploy doesn't reflect your change |
No in-repo CI; ask the team how the deploy is triggered |
| Reference |
../../audit/Someli-Designer/build-and-deploy.md |
| Symptom |
First place to look |
| Bug in this Polotno editor that's already fixed in the customer one (or vice versa) |
The forks have diverged. Decide whether to port. |
File renamed (e.g., brandkitPanel.js here vs brandkitpanel.js in the customer app) |
Match the naming of the fork you're in; never assume |
| Reference |
../../audit/CODE-OVERLAP-MATRIX.md § 6 |
When all else fails