<freeStyleBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.TimerTrigger$TimerTriggerCause'><shortDescription>Started by timer</shortDescription></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesorigindev _class='hudson.plugins.git.util.Build'><buildNumber>774</buildNumber><marked><SHA1>279100731de579a641a727198fe52dc60054b233</SHA1><branch><SHA1>279100731de579a641a727198fe52dc60054b233</SHA1><name>refs/remotes/origin/dev</name></branch></marked><revision><SHA1>279100731de579a641a727198fe52dc60054b233</SHA1><branch><SHA1>279100731de579a641a727198fe52dc60054b233</SHA1><name>refs/remotes/origin/dev</name></branch></revision></refsremotesorigindev></buildsByBranchName><lastBuiltRevision><SHA1>279100731de579a641a727198fe52dc60054b233</SHA1><branch><SHA1>279100731de579a641a727198fe52dc60054b233</SHA1><name>refs/remotes/origin/dev</name></branch></lastBuiltRevision><remoteUrl>https://github.com/younex1/erp-nuxt-frontend.git</remoteUrl><scmName></scmName></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#774</displayName><duration>73944</duration><estimatedDuration>60620</estimatedDuration><fullDisplayName>build-logship-frontend #774</fullDisplayName><id>774</id><inProgress>false</inProgress><keepLog>false</keepLog><number>774</number><queueId>5858</queueId><result>SUCCESS</result><timestamp>1792627200766</timestamp><url>https://jenkins.younex.de/job/build-logship-frontend/774/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app/components/accounting/SettlementToolbar.vue</affectedPath><affectedPath>app/pages/accounting/amazon-settlements.vue</affectedPath><affectedPath>app/composables/useLexofficeSettlementExport.ts</affectedPath><commitId>95a60a86c097975e28c7c8232c25ccbe4f4d7d5e</commitId><timestamp>1792553276000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Amazon settlements: Lexoffice CSV export follows the grid – exports exactly the visible (filtered) rows of the ticked periods instead of re-fetching whole periods; partial periods go out without payout/residue row and are reported; toolbar label shows rows · periods; grid height fills the remaining viewport (ResizeObserver + resize)
</comment><date>2026-10-21 05:27:56 +0200</date><id>95a60a86c097975e28c7c8232c25ccbe4f4d7d5e</id><msg>Amazon settlements: Lexoffice CSV export follows the grid – exports exactly the visible (filtered) rows of the ticked periods instead of re-fetching whole periods; partial periods go out without payout/residue row and are reported; toolbar label shows rows · periods; grid height fills the remaining viewport (ResizeObserver + resize)</msg><path><editType>edit</editType><file>app/components/accounting/SettlementToolbar.vue</file></path><path><editType>edit</editType><file>app/pages/accounting/amazon-settlements.vue</file></path><path><editType>edit</editType><file>app/composables/useLexofficeSettlementExport.ts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.claude/rules/accounting/lexoffice.md</affectedPath><commitId>3099df0306afe1bf42b92714c17485116c69d7f6</commitId><timestamp>1792553287000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Rules: note the visible-rows scope of the Amazon settlement Lexoffice CSV export
</comment><date>2026-10-21 05:28:07 +0200</date><id>3099df0306afe1bf42b92714c17485116c69d7f6</id><msg>Rules: note the visible-rows scope of the Amazon settlement Lexoffice CSV export</msg><path><editType>edit</editType><file>.claude/rules/accounting/lexoffice.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app/pages/accounting/amazon-settlements.vue</affectedPath><affectedPath>.claude/rules/accounting/lexoffice.md</affectedPath><commitId>d9b873bc0d17f9874be8a8a4cf52a64e7a0a6e6d</commitId><timestamp>1792555550000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Amazon settlements: periods with payout status Unknown/Failed are exportable (only Processing is excluded) – negative periods get an 'Amazon Belastung' payout row, failed transfers none; disabled export button explains how many visible rows sit in non-exportable/unticked periods
</comment><date>2026-10-21 06:05:50 +0200</date><id>d9b873bc0d17f9874be8a8a4cf52a64e7a0a6e6d</id><msg>Amazon settlements: periods with payout status Unknown/Failed are exportable (only Processing is excluded) – negative periods get an 'Amazon Belastung' payout row, failed transfers none; disabled export button explains how many visible rows sit in non-exportable/unticked periods</msg><path><editType>edit</editType><file>.claude/rules/accounting/lexoffice.md</file></path><path><editType>edit</editType><file>app/pages/accounting/amazon-settlements.vue</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app/components/mail/LeadFollowupModal.vue</affectedPath><affectedPath>app/components/AgGrid/AgLeadExpireToggle.vue</affectedPath><affectedPath>app/pages/users/leads/index.vue</affectedPath><affectedPath>server/api/mail/lead-followups.get.ts</affectedPath><affectedPath>app/assets/langs/shared.js</affectedPath><commitId>090cc23eef312f4cf2affc3c074d9f88b539fccf</commitId><timestamp>1792555983000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Leads: Unanswered check skips expired leads by default (opt-in checkbox lists them badged, stat shows how many were skipped); one-click expire/reactivate clock column in the list (flags route, row leaves the list while 'Hide expired' is on, previous status restored on reactivate)
</comment><date>2026-10-21 06:13:03 +0200</date><id>090cc23eef312f4cf2affc3c074d9f88b539fccf</id><msg>Leads: Unanswered check skips expired leads by default (opt-in checkbox lists them badged, stat shows how many were skipped); one-click expire/reactivate clock column in the list (flags route, row leaves the list while 'Hide expired' is on, previous status restored on reactivate)</msg><path><editType>edit</editType><file>server/api/mail/lead-followups.get.ts</file></path><path><editType>edit</editType><file>app/assets/langs/shared.js</file></path><path><editType>add</editType><file>app/components/AgGrid/AgLeadExpireToggle.vue</file></path><path><editType>edit</editType><file>app/pages/users/leads/index.vue</file></path><path><editType>edit</editType><file>app/components/mail/LeadFollowupModal.vue</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>server/utils/dhlHelper.ts</affectedPath><affectedPath>.claude/rules/fulfillment/shippers.md</affectedPath><commitId>3acdcc2133e82953e85e2c67bbc46bbe48a664cb</commitId><timestamp>1792580585000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>DHL: token errors tell network/DNS failures ('DHL-API nicht erreichbar', credentials not checked) and DHL 5xx outages apart from real login rejections; recipe documents where the main DHL account lives and the Unbound resolver fix
</comment><date>2026-10-21 13:03:05 +0200</date><id>3acdcc2133e82953e85e2c67bbc46bbe48a664cb</id><msg>DHL: token errors tell network/DNS failures ('DHL-API nicht erreichbar', credentials not checked) and DHL 5xx outages apart from real login rejections; recipe documents where the main DHL account lives and the Unbound resolver fix</msg><path><editType>edit</editType><file>.claude/rules/fulfillment/shippers.md</file></path><path><editType>edit</editType><file>server/utils/dhlHelper.ts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app/components/integrations/CommissionModal.vue</affectedPath><affectedPath>app/pages/integrations/commission.vue</affectedPath><affectedPath>app/composables/usePaketTypes.ts</affectedPath><commitId>f98f9286eab7a7f7d351db6cadfc4b036558eecb</commitId><timestamp>1792581475000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Commission page: sidebar regrouped (carrier header with logo → Shipping Address → Shipping → Tisch &amp; Printing, no dead space); paket type as Nuxt UI SelectBox showing the real product names (Paket S/M/L/XL, Keine Verpackung, Kleinpaket) with CODE badge + hint via shared usePaketTypes catalog (modal select uses it too); shipping service as logo cards; Tisch as SelectBox; next-step banner on light tinted surface with dark text; commission-system pill moved to the bottom activity bar; achievement thresholds doubled (gold 20 / platinum 30 / diamond 40 in 10 min, test codes TEST20/30/40)
</comment><date>2026-10-21 13:17:55 +0200</date><id>f98f9286eab7a7f7d351db6cadfc4b036558eecb</id><msg>Commission page: sidebar regrouped (carrier header with logo → Shipping Address → Shipping → Tisch &amp; Printing, no dead space); paket type as Nuxt UI SelectBox showing the real product names (Paket S/M/L/XL, Keine Verpackung, Kleinpaket) with CODE badge + hint via shared usePaketTypes catalog (modal select uses it too); shipping service as logo cards; Tisch as SelectBox; next-step banner on light tinted surface with dark text; commission-system pill moved to the bottom activity bar; achievement thresholds doubled (gold 20 / platinum 30 / diamond 40 in 10 min, test codes TEST20/30/40)</msg><path><editType>edit</editType><file>app/components/integrations/CommissionModal.vue</file></path><path><editType>edit</editType><file>app/pages/integrations/commission.vue</file></path><path><editType>add</editType><file>app/composables/usePaketTypes.ts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app/pages/integrations/commission.vue</affectedPath><commitId>d81042d263d7e1e0b634367001da80cdbbea2381</commitId><timestamp>1792581622000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Commission page: paket type picked from a chip grid (all types visible as buttons with name + CODE badge, click again clears, focus returns to the scanner input) instead of a dropdown
</comment><date>2026-10-21 13:20:22 +0200</date><id>d81042d263d7e1e0b634367001da80cdbbea2381</id><msg>Commission page: paket type picked from a chip grid (all types visible as buttons with name + CODE badge, click again clears, focus returns to the scanner input) instead of a dropdown</msg><path><editType>edit</editType><file>app/pages/integrations/commission.vue</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app/pages/integrations/commission.vue</affectedPath><commitId>009da7b7ae0c2a9961ae424a21fd790de45ff2d8</commitId><timestamp>1792581951000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Commission page: paket type chips collapsed behind a select-style row (placeholder or the chosen type with CODE badge + hint); click expands the grid, picking a chip or a CODE scan collapses it
</comment><date>2026-10-21 13:25:51 +0200</date><id>009da7b7ae0c2a9961ae424a21fd790de45ff2d8</id><msg>Commission page: paket type chips collapsed behind a select-style row (placeholder or the chosen type with CODE badge + hint); click expands the grid, picking a chip or a CODE scan collapses it</msg><path><editType>edit</editType><file>app/pages/integrations/commission.vue</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app/pages/integrations/commission.vue</affectedPath><commitId>157878ce95241e60671aa2377ddd240dbfa1ee7b</commitId><timestamp>1792582252000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Commission page: shipping service cards collapsed behind the current choice (logo + name + hint), click expands, pick collapses; sidebar carrier header now follows the SELECTED service (logo + name) with the order's shipper as subline; logo images keyed so they re-render on change
</comment><date>2026-10-21 13:30:52 +0200</date><id>157878ce95241e60671aa2377ddd240dbfa1ee7b</id><msg>Commission page: shipping service cards collapsed behind the current choice (logo + name + hint), click expands, pick collapses; sidebar carrier header now follows the SELECTED service (logo + name) with the order's shipper as subline; logo images keyed so they re-render on change</msg><path><editType>edit</editType><file>app/pages/integrations/commission.vue</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app/pages/integrations/commission.vue</affectedPath><commitId>2acbeaf1a8f6816a4e5adb0809f18a9c3f9865ca</commitId><timestamp>1792582455000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Commission page: multi-parcel block fits the sidebar column (no outer margin, stacked header, full-width compact 'Neues Paket' button, wrapping count row)
</comment><date>2026-10-21 13:34:15 +0200</date><id>2acbeaf1a8f6816a4e5adb0809f18a9c3f9865ca</id><msg>Commission page: multi-parcel block fits the sidebar column (no outer margin, stacked header, full-width compact 'Neues Paket' button, wrapping count row)</msg><path><editType>edit</editType><file>app/pages/integrations/commission.vue</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app/components/admin/LeadDetailRecordActivity.vue</affectedPath><affectedPath>server/api/telephony/recordings/index.get.ts</affectedPath><affectedPath>app/assets/langs/shared.js</affectedPath><commitId>eb3b51da3dd92e9d5d7d49e53dd3a14b1ebb6c27</commitId><timestamp>1792582499000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Leads: phone-call activities show the matching FreePBX recording inline (matched by time, ≤15 min), with cached whisper transcript preview (expand/copy), play button and a Transkribieren action; recordings route gains withTranscripts=1 to embed cached transcripts
</comment><date>2026-10-21 13:34:59 +0200</date><id>eb3b51da3dd92e9d5d7d49e53dd3a14b1ebb6c27</id><msg>Leads: phone-call activities show the matching FreePBX recording inline (matched by time, ≤15 min), with cached whisper transcript preview (expand/copy), play button and a Transkribieren action; recordings route gains withTranscripts=1 to embed cached transcripts</msg><path><editType>edit</editType><file>app/components/admin/LeadDetailRecordActivity.vue</file></path><path><editType>edit</editType><file>app/assets/langs/shared.js</file></path><path><editType>edit</editType><file>server/api/telephony/recordings/index.get.ts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.claude/rules/telephony/telephony.md</affectedPath><commitId>15e1bfad620b3d0df5124241e42eea8fe7e37b9a</commitId><timestamp>1792582869000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Rules: telephony — activity-entry transcript matching (by time only) and the local-dev PBX tunnel (CDR/recordings allow-list)
</comment><date>2026-10-21 13:41:09 +0200</date><id>15e1bfad620b3d0df5124241e42eea8fe7e37b9a</id><msg>Rules: telephony — activity-entry transcript matching (by time only) and the local-dev PBX tunnel (CDR/recordings allow-list)</msg><path><editType>edit</editType><file>.claude/rules/telephony/telephony.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.claude/rules/mail/lead-email-history.md</affectedPath><commitId>66d33475431ab2513802915148c451aba804b913</commitId><timestamp>1792583447000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Rules: lead e-mail history — ERP-sent staff mails now relay via Exchange (sender-dependent postfix relay on prod) so mailpiler archives them; IM chip still has no Sent copy
</comment><date>2026-10-21 13:50:47 +0200</date><id>66d33475431ab2513802915148c451aba804b913</id><msg>Rules: lead e-mail history — ERP-sent staff mails now relay via Exchange (sender-dependent postfix relay on prod) so mailpiler archives them; IM chip still has no Sent copy</msg><path><editType>edit</editType><file>.claude/rules/mail/lead-email-history.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>server/utils/leads/monthlyOrders.ts</affectedPath><affectedPath>app/composables/useOfferContract.ts</affectedPath><affectedPath>server/utils/leads/leadAssessment.ts</affectedPath><affectedPath>server/utils/leads/leadQualification.ts</affectedPath><affectedPath>server/api/webhooks/fulfillment-leads.post.ts</affectedPath><affectedPath>app/components/DateTimeInputLocal.vue</affectedPath><affectedPath>app/pages/users/leads/[id]/edit.vue</affectedPath><affectedPath>.claude/rules/leads/crm-qualification.md</affectedPath><affectedPath>app/assets/langs/shared.js</affectedPath><affectedPath>server/api/admin/users/store.post.ts</affectedPath><affectedPath>app/components/AgGrid/AgLeadRating.vue</affectedPath><affectedPath>server/api/offers/contract/send.post.ts</affectedPath><affectedPath>app/components/DateInputDe.vue</affectedPath><affectedPath>app/components/admin/LeadDetailRecordActivity.vue</affectedPath><affectedPath>server/utils/offers/quoteConfirmation.ts</affectedPath><affectedPath>app/composables/useOfferQuote.ts</affectedPath><affectedPath>server/api/webhooks/landing-leads.post.ts</affectedPath><affectedPath>server/api/admin/users/lead-lists.get.ts</affectedPath><affectedPath>server/utils/offers/contractSigning.ts</affectedPath><affectedPath>app/composables/useLeadQualification.ts</affectedPath><affectedPath>app/pages/users/leads/index.vue</affectedPath><affectedPath>app/components/admin/LeadForm.vue</affectedPath><affectedPath>app/pages/users/leads/create.vue</affectedPath><affectedPath>server/api/admin/users/[id]/flags.put.ts</affectedPath><affectedPath>server/api/offers/quote/send.post.ts</affectedPath><affectedPath>app/pages/users/leads/[id]/view.vue</affectedPath><commitId>5756b9cccea6ecc4ffffd23e83c091157067f411</commitId><timestamp>1792587970000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Leads: CRM qualification fields (17 custom AD_User columns) with full CRUD on the lead page and inline editing in the leads list

- LeadRating (yellow 1–5 stars), FollowUpDate (+ note, quick +1/+3/+7/+14, past days greyed out, overdue/today badges), MonthlyOrders, SkuCount, ShopSystem, BusinessModel + LostReason (reference lists read from the API), ExpectedMonthlyValue, WinProbability (auto per stage: working 25 · quote 50 · accepted 70 · contract 85 · signed 95 · converted 100 · lost 0, never lowered automatically), ExpectedStartDate, AiScore (written by KI-Analyse), AvgParcelWeight, address LeadStreet/LeadZip/LeadCity/LeadCountry (prefills quote &amp; contract, written back on send)
- every control autosaves via PUT /api/admin/users/:id/flags (whitelisted + validated in server/utils/leads/leadQualification.ts); Expired/Recycled asks for the lost reason
- quote/contract send sync sizing assumptions, forecast total and address onto the lead; confirmation / signature bump the probability
- website webhooks parse volume (range → midpoint), integrations and weight into the new columns, retrying without them on error
- leads list: rating/follow-up/orders/€/probability/weighted/AI columns editable inline (explicit cellDataType), follow-up filter, weighted pipeline total; more columns via the column menu
- lead page: Nuxt UI SelectBox for all selects (no tedir left), DateTimeInputLocal for activity start/end, notes = Comments only in the right column, organisation + search key in the header, two aligned cards "Bedarf &amp; Profil" / "Pipeline &amp; Bewertung"
- recipe .claude/rules/leads/crm-qualification.md
</comment><date>2026-10-21 15:06:10 +0200</date><id>5756b9cccea6ecc4ffffd23e83c091157067f411</id><msg>Leads: CRM qualification fields (17 custom AD_User columns) with full CRUD on the lead page and inline editing in the leads list</msg><path><editType>add</editType><file>server/utils/leads/leadQualification.ts</file></path><path><editType>edit</editType><file>app/components/admin/LeadDetailRecordActivity.vue</file></path><path><editType>edit</editType><file>app/components/admin/LeadForm.vue</file></path><path><editType>edit</editType><file>server/api/admin/users/store.post.ts</file></path><path><editType>add</editType><file>app/components/DateTimeInputLocal.vue</file></path><path><editType>edit</editType><file>app/assets/langs/shared.js</file></path><path><editType>edit</editType><file>server/utils/leads/leadAssessment.ts</file></path><path><editType>add</editType><file>app/components/AgGrid/AgLeadRating.vue</file></path><path><editType>edit</editType><file>server/api/offers/quote/send.post.ts</file></path><path><editType>add</editType><file>app/composables/useLeadQualification.ts</file></path><path><editType>edit</editType><file>app/pages/users/leads/create.vue</file></path><path><editType>edit</editType><file>app/components/DateInputDe.vue</file></path><path><editType>edit</editType><file>app/pages/users/leads/[id]/edit.vue</file></path><path><editType>edit</editType><file>server/api/offers/contract/send.post.ts</file></path><path><editType>edit</editType><file>server/api/webhooks/landing-leads.post.ts</file></path><path><editType>edit</editType><file>server/api/webhooks/fulfillment-leads.post.ts</file></path><path><editType>edit</editType><file>app/composables/useOfferContract.ts</file></path><path><editType>edit</editType><file>server/api/admin/users/[id]/flags.put.ts</file></path><path><editType>edit</editType><file>server/utils/offers/quoteConfirmation.ts</file></path><path><editType>edit</editType><file>server/utils/offers/contractSigning.ts</file></path><path><editType>edit</editType><file>app/pages/users/leads/[id]/view.vue</file></path><path><editType>edit</editType><file>app/composables/useOfferQuote.ts</file></path><path><editType>add</editType><file>server/utils/leads/monthlyOrders.ts</file></path><path><editType>add</editType><file>server/api/admin/users/lead-lists.get.ts</file></path><path><editType>edit</editType><file>app/pages/users/leads/index.vue</file></path><path><editType>add</editType><file>.claude/rules/leads/crm-qualification.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app/pages/index.vue</affectedPath><affectedPath>.claude/rules/leads/crm-qualification.md</affectedPath><affectedPath>server/api/admin/users/leads/followups.get.ts</affectedPath><affectedPath>app/pages/users/leads/index.vue</affectedPath><affectedPath>app/assets/langs/shared.js</affectedPath><commitId>11cf2fc9ca2eae1b0bda49e4f30f914ad821d781</commitId><timestamp>1792588545000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Leads: list columns reordered and compacted (stars after company, WV with note tooltip, Best./M., €/M., %, Gew. €, KI, shop system; status/description/last-activity/note columns removed); dashboard banner with follow-ups due today or overdue linking to the lead
</comment><date>2026-10-21 15:15:45 +0200</date><id>11cf2fc9ca2eae1b0bda49e4f30f914ad821d781</id><msg>Leads: list columns reordered and compacted (stars after company, WV with note tooltip, Best./M., €/M., %, Gew. €, KI, shop system; status/description/last-activity/note columns removed); dashboard banner with follow-ups due today or overdue linking to the lead</msg><path><editType>edit</editType><file>app/pages/index.vue</file></path><path><editType>edit</editType><file>app/assets/langs/shared.js</file></path><path><editType>edit</editType><file>.claude/rules/leads/crm-qualification.md</file></path><path><editType>add</editType><file>server/api/admin/users/leads/followups.get.ts</file></path><path><editType>edit</editType><file>app/pages/users/leads/index.vue</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.claude/rules/leads/crm-qualification.md</affectedPath><affectedPath>app/pages/users/leads/index.vue</affectedPath><commitId>d7d4f930268de2ddddabf60ac8f8c31270294339</commitId><timestamp>1792589992000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Leads list: €/month, win % and weighted € columns hidden by default (column menu)
</comment><date>2026-10-21 15:39:52 +0200</date><id>d7d4f930268de2ddddabf60ac8f8c31270294339</id><msg>Leads list: €/month, win % and weighted € columns hidden by default (column menu)</msg><path><editType>edit</editType><file>.claude/rules/leads/crm-qualification.md</file></path><path><editType>edit</editType><file>app/pages/users/leads/index.vue</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app/pages/users/leads/index.vue</affectedPath><affectedPath>app/components/AgGrid/AgLeadRating.vue</affectedPath><commitId>15a64548a3b578de5337702c21b7a16d506a5901</commitId><timestamp>1792590199000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Leads list: rating cell no longer truncated with an ellipsis (no overflow clipping, tighter stars)
</comment><date>2026-10-21 15:43:19 +0200</date><id>15a64548a3b578de5337702c21b7a16d506a5901</id><msg>Leads list: rating cell no longer truncated with an ellipsis (no overflow clipping, tighter stars)</msg><path><editType>edit</editType><file>app/components/AgGrid/AgLeadRating.vue</file></path><path><editType>edit</editType><file>app/pages/users/leads/index.vue</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app/pages/users/leads/index.vue</affectedPath><commitId>c51153ce35bd4ad89511b95a6fc7f9dcd09afbba</commitId><timestamp>1792590209000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Leads list: follow-up cell not truncated with an ellipsis
</comment><date>2026-10-21 15:43:29 +0200</date><id>c51153ce35bd4ad89511b95a6fc7f9dcd09afbba</id><msg>Leads list: follow-up cell not truncated with an ellipsis</msg><path><editType>edit</editType><file>app/pages/users/leads/index.vue</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.claude/rules/leads/crm-qualification.md</affectedPath><affectedPath>app/pages/users/leads/index.vue</affectedPath><commitId>5e73df84fd165b53aebf6a873f72795ccc8679cc</commitId><timestamp>1792590269000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Leads list: follow-up (WV) column moved to second position after Created
</comment><date>2026-10-21 15:44:29 +0200</date><id>5e73df84fd165b53aebf6a873f72795ccc8679cc</id><msg>Leads list: follow-up (WV) column moved to second position after Created</msg><path><editType>edit</editType><file>.claude/rules/leads/crm-qualification.md</file></path><path><editType>edit</editType><file>app/pages/users/leads/index.vue</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>server/api/leads/[id]/mail/context.get.ts</affectedPath><affectedPath>app/composables/useOfferQuote.ts</affectedPath><affectedPath>server/utils/mail/staffMail.ts</affectedPath><commitId>609bdc55e01130493f296686f80b3540787b9210</commitId><timestamp>1792596416000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Offer volume matrix: row label shortened to 'Basispreis pro Auftrag' (legacy label mapped on load); lead mail signature prints Phone and Phone2 of the sender
</comment><date>2026-10-21 17:26:56 +0200</date><id>609bdc55e01130493f296686f80b3540787b9210</id><msg>Offer volume matrix: row label shortened to 'Basispreis pro Auftrag' (legacy label mapped on load); lead mail signature prints Phone and Phone2 of the sender</msg><path><editType>edit</editType><file>app/composables/useOfferQuote.ts</file></path><path><editType>edit</editType><file>server/api/leads/[id]/mail/context.get.ts</file></path><path><editType>edit</editType><file>server/utils/mail/staffMail.ts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app/composables/useOfferContract.ts</affectedPath><affectedPath>server/utils/offers/contractPdf.ts</affectedPath><affectedPath>server/utils/offers/contractTexts.ts</affectedPath><affectedPath>app/composables/useOfferQuote.ts</affectedPath><affectedPath>app/assets/langs/shared.js</affectedPath><affectedPath>app/components/offers/ContractModal.vue</affectedPath><commitId>279100731de579a641a727198fe52dc60054b233</commitId><timestamp>1792597464000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Offers: cut-off time on by default in the quote; contract gets an 'Im Vertrag nennen' switch (seeded from the quote) that removes the cut-off SLA item and uses a time-free express clause when off
</comment><date>2026-10-21 17:44:24 +0200</date><id>279100731de579a641a727198fe52dc60054b233</id><msg>Offers: cut-off time on by default in the quote; contract gets an 'Im Vertrag nennen' switch (seeded from the quote) that removes the cut-off SLA item and uses a time-free express clause when off</msg><path><editType>edit</editType><file>app/composables/useOfferQuote.ts</file></path><path><editType>edit</editType><file>app/composables/useOfferContract.ts</file></path><path><editType>edit</editType><file>server/utils/offers/contractPdf.ts</file></path><path><editType>edit</editType><file>server/utils/offers/contractTexts.ts</file></path><path><editType>edit</editType><file>app/assets/langs/shared.js</file></path><path><editType>edit</editType><file>app/components/offers/ContractModal.vue</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></culprit></freeStyleBuild>