louispaulb
607ea54b5c
refactor: reduce token count, DRY code, consolidate docs
...
Backend services:
- targo-hub: extract deepGetValue to helpers.js, DRY disconnect reasons
lookup map, compact CAPABILITIES, consolidate vision.js prompts/schemas,
extract dispatch scoring weights, trim section dividers across 9 files
- modem-bridge: extract getSession() helper (6 occurrences), resetIdleTimer(),
consolidate DM query factory, fix duplicate username fill bug, trim headers
(server.js -36%, tplink-session.js -47%, docker-compose.yml -57%)
Frontend:
- useWifiDiagnostic: extract THRESHOLDS const, split processDiagnostic into
6 focused helpers (processOnlineStatus, processWanIPs, processRadios,
processMeshNodes, processClients, checkRadioIssues)
- EquipmentDetail: merge duplicate ROLE_LABELS, remove verbose comments
Documentation (17 → 13 files, -1,400 lines):
- New consolidated README.md (architecture, services, dependencies, auth)
- Merge ECOSYSTEM-OVERVIEW into ARCHITECTURE.md
- Merge MIGRATION-PLAN + ARCHITECTURE-COMPARE + FIELD-GAP + CHANGELOG → MIGRATION.md
- Merge COMPETITIVE-ANALYSIS into PLATFORM-STRATEGY.md
- Update ROADMAP.md with current phase status
- Delete CONTEXT.md (absorbed into README)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 08:39:58 -04:00
louispaulb
fd326ac52e
perf: parallelize dispatch API fetches + add sales_order/order_source fields
...
Dispatch performance:
- Replace sequential batch fetches (batches of 15, one after another)
with full parallel Promise.all — all doc fetches fire simultaneously
- With 20 jobs: was ~3 sequential round-trips, now ~2 (1 list + 1 parallel)
Order traceability:
- Add sales_order (Link) and order_source (Select) fields to Dispatch Job
- checkout.js sets order_source='Online' + sales_order link on job creation
- acceptance.js sets order_source='Quotation' on quotation-sourced jobs
- Store maps new fields: salesOrder, orderSource
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 18:07:14 -04:00
louispaulb
c6b2dd1491
refactor: extract composables from 5 largest files — net -1950 lines from main components
...
DispatchPage.vue: 1320→1217 lines
- Extract SbModal.vue + SbContextMenu.vue reusable components
- Extract useAbsenceResize composable
- Extract dispatch constants to config/dispatch.js
ProjectWizard.vue: 1185→673 lines (-43%)
- Extract useWizardPublish composable (270-line publish function)
- Extract useWizardCatalog composable
- Extract wizard-constants.js (step labels, options, categories)
SettingsPage.vue: 1172→850 lines (-27%)
- Extract usePermissionMatrix composable
- Extract useUserGroups composable
- Extract useLegacySync composable
ClientDetailPage.vue: 1169→864 lines (-26%)
- Extract useClientData composable (loadCustomer broken into sub-functions)
- Extract useEquipmentActions composable
- Extract client-constants.js + erp-pdf.js utility
checkout.js: 639→408 lines (-36%)
- Extract address-search.js module
- Extract otp.js module
- Extract email-templates.js module
- Extract project-templates.js module
- Add erpQuery() helper to DRY repeated URL construction
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 17:57:24 -04:00
louispaulb
320655b0a0
refactor: major cleanup — remove dead dispatch app, commit all backend code, extract client composables
...
- Remove apps/dispatch/ (100% replaced by ops dispatch module, unmaintained)
- Commit services/targo-hub/lib/ (24 modules, 6290 lines — was never tracked)
- Commit services/docuseal + services/legacy-db docker-compose configs
- Extract client app composables: useOTP, useAddressSearch, catalog data, format utils
- Refactor CartPage.vue 630→175 lines, CatalogPage.vue 375→95 lines
- Clean hardcoded credentials from config.js fallback values
- Add client portal: catalog, cart, checkout, OTP verification, address search
- Add ops: NetworkPage, AgentFlowsPage, ConversationPanel, UnifiedCreateModal
- Add ops composables: useBestTech, useConversations, usePermissions, useScanner
- Add field app: scanner composable, docker/nginx configs
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 17:38:38 -04:00