Skip to content

Changes

Started by timer
Started 4 days 5 hr ago
Took 1 min 43 sec on built-in

Summary

  1. Dependencies: upgrade pass (npm audit 105 → 17, 0 critical) + prod Node 22.22.3 (details)
  2. Settlements: per-period lexoffice export log (data/settlement-exports.db) — fee/Ads/adjustment/unmatched/payout rows get a CSV status, period list shows offen/teilweise/exportiert, default ticks = not-yet-exported periods, duplicate-export confirm, period-level reset; CSV filter no longer drops rows without an order marker (details)
  3. Deploy script: keep data/settlement-exports.db (settlement export log) across deploys (details)
  4. Lead KI-Konsole: answer limit 8000 → 32000 output tokens (ANTHROPIC_CHAT_MAX_TOKENS, 1000–128000) + auto-continuation (up to 2 rounds) when an answer still hits max_tokens; 10 min client timeout (details)
  5. Leads on phones: card list (name, company, status, stars, follow-up, offer/contract, phone + dial, e-mail, URL) replaces the grid ≤ 768 px with search/sort/filter toggle; lead page gets collapsible form + side cards, 2-column CTA grid, fixed back · call · save bar; fix global aside rule hiding the side column on mobile (details)
Commit c45b03221311f76ad94f5002ccebe107050ee636 by info
Dependencies: upgrade pass (npm audit 105 → 17, 0 critical) + prod Node 22.22.3

- Nuxt 4.4.7 → 4.6.2 (Vite 8.3.5, Vue 3.5.44, @nuxt/ui 4.12.0, @sentry/nuxt 10.76.2), amCharts 5.21.3,
  Capacitor 8.5.3 (android CVE fix, needs an APK release), vue-pdf 2.2.1 (pdfjs RCE fix), quagga2,
  firebase-admin, form-data, imapflow, fast-xml-parser, mysql2, pg, sass, dompurify, bwip-js, three 0.186
- Low-risk majors: nodemailer 10 (all transports are localhost:25 with TLS checks off), sharp 0.35
  (libvips CVEs), better-sqlite3 13 (N-API prebuilds), sqlite3 6, @simplewebauthn 14, @elastic/elasticsearch 9
- xlsx: npm 0.18.5 (unfixable advisories) → SheetJS CDN tarball 0.20.3 (same API, write path only)
- Removed unused @nuxt/image (pulled vulnerable ipx) and ndarray-pixels; alga-css pinned exactly to
  1.0.0-beta-51 (npm audit fix would move it to the foreign 1.0.0-wood-* line)
- nuxt.config: vite.build.cssMinify = 'esbuild' — Vite 8's lightningcss rejects an invalid selector in
  bulma-extensions.min.css and fails the build
- Lockfile regenerated from scratch (prod installs with npm ci)
- Prod Node v22.14.0 → v22.22.3 (Nuxt 4.6 engine floor): deploy-production.sh, ecosystem.config.cjs,
  pm2 systemd drop-in; node pre-installed on the host via nvm, deploy script flips the default alias
- Recipe .claude/rules/nuxt/dependency-upgrades.md
- Held back: @sentry/nuxt 11, pdfmake 0.3, @anthropic-ai/sdk 1.x (separate tasks)
The file was added.claude/rules/nuxt/dependency-upgrades.md
The file was modifiedpackage.json (diff)
The file was modifiedreference/ci/deploy-production.sh (diff)
The file was modifiedpackage-lock.json (diff)
The file was modifieddeploy/pm2-root.service.d/override.conf (diff)
The file was modifiedecosystem.config.cjs (diff)
The file was modifiednuxt.config.ts (diff)
Commit 0253f6b9d29b056fc6eabf2fdcc0db355ace13dc by info
Settlements: per-period lexoffice export log (data/settlement-exports.db) — fee/Ads/adjustment/unmatched/payout rows get a CSV status, period list shows offen/teilweise/exportiert, default ticks = not-yet-exported periods, duplicate-export confirm, period-level reset; CSV filter no longer drops rows without an order marker
The file was modifiedapp/pages/accounting/amazon-settlements.vue (diff)
The file was modifiedapp/pages/accounting/ebay-settlements.vue (diff)
The file was modified.claude/rules/accounting/lexoffice.md (diff)
The file was addedapp/composables/useSettlementExportLog.ts
The file was addedserver/api/accounting/settlement-exports/index.post.ts
The file was addedserver/utils/settlementExportLog.ts
The file was modifiedapp/components/accounting/SettlementLexofficeActions.vue (diff)
The file was modifiedapp/components/accounting/SettlementGridFilters.vue (diff)
The file was modifiedapp/components/accounting/LexofficeHintsPanel.vue (diff)
The file was modifiedapp/components/AgGrid/Accounting/AgLexofficeSyncStatus.vue (diff)
The file was modifiedapp/composables/useLexofficeSettlementExport.ts (diff)
The file was addedserver/api/accounting/settlement-exports/index.get.ts
The file was modifiedapp/utils/settlementGridFilter.ts (diff)
The file was addedserver/api/accounting/settlement-exports/reset.post.ts
The file was modifiedapp/components/accounting/SettlementPeriodList.vue (diff)
Commit 91eaac695777f3eb9234ef9b642a052d98ad935c by info
Deploy script: keep data/settlement-exports.db (settlement export log) across deploys
The file was modifiedreference/ci/deploy-production.sh (diff)
Commit 2898324c5ffdee9b00cd4ff5085aa3c52ea705da by info
Lead KI-Konsole: answer limit 8000 → 32000 output tokens (ANTHROPIC_CHAT_MAX_TOKENS, 1000–128000) + auto-continuation (up to 2 rounds) when an answer still hits max_tokens; 10 min client timeout
The file was modified.claude/rules/leads/ai-assessment.md (diff)
The file was modifiedserver/utils/leads/leadAssessment.ts (diff)
The file was modifiedserver/utils/leads/leadChat.ts (diff)
The file was modifiednuxt.config.ts (diff)
The file was modified.env (diff)
The file was modified.env-prod (diff)
Commit 2146eb6cda626967bfe67e1c156bc25e80917dc9 by info
Leads on phones: card list (name, company, status, stars, follow-up, offer/contract, phone + dial, e-mail, URL) replaces the grid ≤ 768 px with search/sort/filter toggle; lead page gets collapsible form + side cards, 2-column CTA grid, fixed back · call · save bar; fix global aside rule hiding the side column on mobile
The file was addedapp/components/leads/CardList.vue
The file was modifiedapp/pages/users/leads/[id]/edit.vue (diff)
The file was modifiedapp/pages/users/leads/index.vue (diff)
The file was modified.claude/rules/leads/crm-qualification.md (diff)
The file was modifiedapp/assets/langs/shared.js (diff)
The file was addedapp/composables/useIsMobile.ts
The file was modifiedapp/components/admin/LeadForm.vue (diff)