{
  "_class" : "hudson.model.FreeStyleBuild",
  "actions" : [
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "hudson.triggers.TimerTrigger$TimerTriggerCause",
          "shortDescription" : "Started by timer"
        }
      ]
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "refs/remotes/origin/dev" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 773,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "1ac29d4dd7daa22766541e87ae46642d57562f6a",
            "branch" : [
              {
                "SHA1" : "1ac29d4dd7daa22766541e87ae46642d57562f6a",
                "name" : "refs/remotes/origin/dev"
              }
            ]
          },
          "revision" : {
            "SHA1" : "1ac29d4dd7daa22766541e87ae46642d57562f6a",
            "branch" : [
              {
                "SHA1" : "1ac29d4dd7daa22766541e87ae46642d57562f6a",
                "name" : "refs/remotes/origin/dev"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "1ac29d4dd7daa22766541e87ae46642d57562f6a",
        "branch" : [
          {
            "SHA1" : "1ac29d4dd7daa22766541e87ae46642d57562f6a",
            "name" : "refs/remotes/origin/dev"
          }
        ]
      },
      "remoteUrls" : [
        "https://github.com/younex1/erp-nuxt-frontend.git"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    
  ],
  "building" : False,
  "description" : None,
  "displayName" : "#773",
  "duration" : 69746,
  "estimatedDuration" : 60620,
  "executor" : None,
  "fullDisplayName" : "build-logship-frontend #773",
  "id" : "773",
  "inProgress" : False,
  "keepLog" : False,
  "number" : 773,
  "queueId" : 5850,
  "result" : "SUCCESS",
  "timestamp" : 1792540800765,
  "url" : "https://jenkins.younex.de/job/build-logship-frontend/773/",
  "builtOn" : "",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "server/api/leads/[id]/mail/send.post.ts",
          "server/api/leads/[id]/mail/context.get.ts",
          ".claude/rules/leads/ai-assessment.md",
          "server/utils/leads/leadMailTemplates.ts",
          "app/pages/index.vue",
          "app/components/leads/MailComposeModal.vue",
          "server/api/leads/[id]/assessment/draft.post.ts",
          "app/pages/users/leads/index.vue",
          "app/components/admin/LeadForm.vue",
          "server/api/admin/users/[id]/flags.put.ts",
          "app/pages/users/leads/[id]/edit.vue",
          "server/utils/mail/staffMail.ts",
          "app/assets/langs/shared.js"
        ],
        "commitId" : "5d0e5f88da8bd6a8243d81200f3baae74267bac5",
        "timestamp" : 1792491792000,
        "author" : {
          "absoluteUrl" : "https://jenkins.younex.de/user/info",
          "fullName" : "info"
        },
        "authorEmail" : "info@younex.de",
        "comment" : "Leads: autosaving toggles, expired-lead filter, e-mail composer with templates, in-app dashboard tabs\u000a\u000a- Lead page: switches, status pipeline and source picker save immediately via\u000a  PUT /api/admin/users/:id/flags (whitelisted keys, rollback on error)\u000a- Leads list: new Status column, expired leads greyed out and hidden by default\u000a  via \"Abgelaufene ausblenden\" filter (checked by default, count badge)\u000a- Lead page: \"E-Mail senden\" composer with DE/EN templates for before/after\u000a  quote, contract and general stages (recommended by offer_conditions stage),\u000a  placeholder guard, CC, activity log entry\u000a- Shared staff→customer mail transport + branded signature in\u000a  server/utils/mail/staffMail.ts (AI-draft send now uses it too)\u000a- Dashboard \"Letzte Leads\" card opens leads as in-app tabs instead of new windows\u000a",
        "date" : "2026-10-20 12:23:12 +0200",
        "id" : "5d0e5f88da8bd6a8243d81200f3baae74267bac5",
        "msg" : "Leads: autosaving toggles, expired-lead filter, e-mail composer with templates, in-app dashboard tabs",
        "paths" : [
          {
            "editType" : "add",
            "file" : "server/api/leads/[id]/mail/send.post.ts"
          },
          {
            "editType" : "edit",
            "file" : "app/components/admin/LeadForm.vue"
          },
          {
            "editType" : "add",
            "file" : "server/api/leads/[id]/mail/context.get.ts"
          },
          {
            "editType" : "edit",
            "file" : "app/assets/langs/shared.js"
          },
          {
            "editType" : "edit",
            "file" : "app/pages/users/leads/index.vue"
          },
          {
            "editType" : "add",
            "file" : "server/api/admin/users/[id]/flags.put.ts"
          },
          {
            "editType" : "edit",
            "file" : ".claude/rules/leads/ai-assessment.md"
          },
          {
            "editType" : "edit",
            "file" : "app/pages/users/leads/[id]/edit.vue"
          },
          {
            "editType" : "add",
            "file" : "app/components/leads/MailComposeModal.vue"
          },
          {
            "editType" : "add",
            "file" : "server/utils/leads/leadMailTemplates.ts"
          },
          {
            "editType" : "edit",
            "file" : "server/api/leads/[id]/assessment/draft.post.ts"
          },
          {
            "editType" : "add",
            "file" : "server/utils/mail/staffMail.ts"
          },
          {
            "editType" : "edit",
            "file" : "app/pages/index.vue"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "android/update-files/version.json",
          "android/app/build.gradle"
        ],
        "commitId" : "3a65c683d5a46fda65e90f92b1a88853a0e677d9",
        "timestamp" : 1792491792000,
        "author" : {
          "absoluteUrl" : "https://jenkins.younex.de/user/info",
          "fullName" : "info"
        },
        "authorEmail" : "info@younex.de",
        "comment" : "Android app: version 1.0.63 (64) – Dynamic Locators\u000a",
        "date" : "2026-10-20 12:23:12 +0200",
        "id" : "3a65c683d5a46fda65e90f92b1a88853a0e677d9",
        "msg" : "Android app: version 1.0.63 (64) – Dynamic Locators",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "android/update-files/version.json"
          },
          {
            "editType" : "edit",
            "file" : "android/app/build.gradle"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app/components/leads/MailComposeModal.vue"
        ],
        "commitId" : "3854484b70750e865952f8367c2f85b38116dd0c",
        "timestamp" : 1792493121000,
        "author" : {
          "absoluteUrl" : "https://jenkins.younex.de/user/info",
          "fullName" : "info"
        },
        "authorEmail" : "info@younex.de",
        "comment" : "Lead mail composer: keep the footer with the send button inside the modal (grid row was sized to the template list, overflowing 92vh); sticky footer when the form scrolls\u000a",
        "date" : "2026-10-20 12:45:21 +0200",
        "id" : "3854484b70750e865952f8367c2f85b38116dd0c",
        "msg" : "Lead mail composer: keep the footer with the send button inside the modal (grid row was sized to the template list, overflowing 92vh); sticky footer when the form scrolls",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app/components/leads/MailComposeModal.vue"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app/components/MainNavigationMenu.vue",
          "app/composables/menu/admin/sales.ts",
          "app/assets/langs/shared.js"
        ],
        "commitId" : "af4c95164ba24c3bf20bc8d4b0a72acf712768ed",
        "timestamp" : 1792493863000,
        "author" : {
          "absoluteUrl" : "https://jenkins.younex.de/user/info",
          "fullName" : "info"
        },
        "authorEmail" : "info@younex.de",
        "comment" : "Navigation: Leads entry in the Sales (Vertrieb) header mega menu and the Sales sidebar group\u000a",
        "date" : "2026-10-20 12:57:43 +0200",
        "id" : "af4c95164ba24c3bf20bc8d4b0a72acf712768ed",
        "msg" : "Navigation: Leads entry in the Sales (Vertrieb) header mega menu and the Sales sidebar group",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app/components/MainNavigationMenu.vue"
          },
          {
            "editType" : "edit",
            "file" : "app/composables/menu/admin/sales.ts"
          },
          {
            "editType" : "edit",
            "file" : "app/assets/langs/shared.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app/pages/users/leads/index.vue"
        ],
        "commitId" : "5bdfec24f2d8ea56fb281e43cfe4b1a4d6a2f2f0",
        "timestamp" : 1792497743000,
        "author" : {
          "absoluteUrl" : "https://jenkins.younex.de/user/info",
          "fullName" : "info"
        },
        "authorEmail" : "info@younex.de",
        "comment" : "Leads list: grid height follows the viewport (max(600px, 100vh - 370px)) instead of the fixed 600px\u000a",
        "date" : "2026-10-20 14:02:23 +0200",
        "id" : "5bdfec24f2d8ea56fb281e43cfe4b1a4d6a2f2f0",
        "msg" : "Leads list: grid height follows the viewport (max(600px, 100vh - 370px)) instead of the fixed 600px",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app/pages/users/leads/index.vue"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app/pages/sales/invoices/index.vue",
          "app/components/sales/InvoiceListFilters.vue",
          "app/assets/langs/shared.js"
        ],
        "commitId" : "a2f5679d1b92675a282baf03fe1e9565f0aaa09a",
        "timestamp" : 1792497870000,
        "author" : {
          "absoluteUrl" : "https://jenkins.younex.de/user/info",
          "fullName" : "info"
        },
        "authorEmail" : "info@younex.de",
        "comment" : "Invoices list: period filter (year and month, each optional and independent) in the filter bar, applied to the invoice date with per-year counts\u000a",
        "date" : "2026-10-20 14:04:30 +0200",
        "id" : "a2f5679d1b92675a282baf03fe1e9565f0aaa09a",
        "msg" : "Invoices list: period filter (year and month, each optional and independent) in the filter bar, applied to the invoice date with per-year counts",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app/pages/sales/invoices/index.vue"
          },
          {
            "editType" : "edit",
            "file" : "app/assets/langs/shared.js"
          },
          {
            "editType" : "edit",
            "file" : "app/components/sales/InvoiceListFilters.vue"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app/components/AgGrid/Invoices/AgDateInvoiced.vue"
        ],
        "commitId" : "23c58f76fe6d7a31bae2bdfb6627d2bff01786d2",
        "timestamp" : 1792497938000,
        "author" : {
          "absoluteUrl" : "https://jenkins.younex.de/user/info",
          "fullName" : "info"
        },
        "authorEmail" : "info@younex.de",
        "comment" : "Invoices: Invoiced column shows the date zero-padded as dd.mm.yyyy (01.07.2026 instead of 1.7.2026)\u000a",
        "date" : "2026-10-20 14:05:38 +0200",
        "id" : "23c58f76fe6d7a31bae2bdfb6627d2bff01786d2",
        "msg" : "Invoices: Invoiced column shows the date zero-padded as dd.mm.yyyy (01.07.2026 instead of 1.7.2026)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app/components/AgGrid/Invoices/AgDateInvoiced.vue"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app/components/AgGrid/Invoices/AgInvoiceKind.vue",
          "app/pages/sales/invoices/index.vue",
          "app/assets/langs/shared.js"
        ],
        "commitId" : "f7a9d3c3f44eec2c5c2b2d3de57543233f79dcc7",
        "timestamp" : 1792498144000,
        "author" : {
          "absoluteUrl" : "https://jenkins.younex.de/user/info",
          "fullName" : "info"
        },
        "authorEmail" : "info@younex.de",
        "comment" : "Invoices list: drop the Status column in favour of draft (grey) / voided (amber, struck-through number) row tints; Type tags use the accounting short codes of the UI language (de: AR/ER/GS, es: FE/FR/NC); shorter Order / Invoice created headers\u000a",
        "date" : "2026-10-20 14:09:04 +0200",
        "id" : "f7a9d3c3f44eec2c5c2b2d3de57543233f79dcc7",
        "msg" : "Invoices list: drop the Status column in favour of draft (grey) / voided (amber, struck-through number) row tints; Type tags use the accounting short codes of the UI language (de: AR/ER/GS, es: FE/FR/NC); shorter Order / Invoice created headers",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app/pages/sales/invoices/index.vue"
          },
          {
            "editType" : "edit",
            "file" : "app/assets/langs/shared.js"
          },
          {
            "editType" : "edit",
            "file" : "app/components/AgGrid/Invoices/AgInvoiceKind.vue"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app/pages/sales/invoices/index.vue"
        ],
        "commitId" : "8144d9a436d8c46387592ac7793d2d27bb4c9d45",
        "timestamp" : 1792498225000,
        "author" : {
          "absoluteUrl" : "https://jenkins.younex.de/user/info",
          "fullName" : "info"
        },
        "authorEmail" : "info@younex.de",
        "comment" : "Invoices list: partner column truncates names at 50 characters with an ellipsis (full name in tooltip and filters) and is capped at 340px\u000a",
        "date" : "2026-10-20 14:10:25 +0200",
        "id" : "8144d9a436d8c46387592ac7793d2d27bb4c9d45",
        "msg" : "Invoices list: partner column truncates names at 50 characters with an ellipsis (full name in tooltip and filters) and is capped at 340px",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app/pages/sales/invoices/index.vue"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app/components/sales/InvoiceListFilters.vue",
          "app/assets/langs/shared.js"
        ],
        "commitId" : "fae8abdeb539a54a503314e95b15d5d3bf3ea212",
        "timestamp" : 1792498335000,
        "author" : {
          "absoluteUrl" : "https://jenkins.younex.de/user/info",
          "fullName" : "info"
        },
        "authorEmail" : "info@younex.de",
        "comment" : "Invoices filter bar: Type buttons carry the language-specific short-code chip (AR/AP, AR/ER, FE/FR) with the full term as tooltip; German/Spanish labels aligned with the grid tags (Ausgangs-/Eingangsrechnungen, Facturas emitidas/recibidas)\u000a",
        "date" : "2026-10-20 14:12:15 +0200",
        "id" : "fae8abdeb539a54a503314e95b15d5d3bf3ea212",
        "msg" : "Invoices filter bar: Type buttons carry the language-specific short-code chip (AR/AP, AR/ER, FE/FR) with the full term as tooltip; German/Spanish labels aligned with the grid tags (Ausgangs-/Eingangsrechnungen, Facturas emitidas/recibidas)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app/assets/langs/shared.js"
          },
          {
            "editType" : "edit",
            "file" : "app/components/sales/InvoiceListFilters.vue"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app/pages/sales/invoices/index.vue",
          "app/assets/langs/shared.js"
        ],
        "commitId" : "0299522b12e9dd79d8bfa5aa71caffce01b85253",
        "timestamp" : 1792498438000,
        "author" : {
          "absoluteUrl" : "https://jenkins.younex.de/user/info",
          "fullName" : "info"
        },
        "authorEmail" : "info@younex.de",
        "comment" : "Invoices list: translated column headers (grid + detail row) in en/de/es via invc_* keys instead of hardcoded English\u000a",
        "date" : "2026-10-20 14:13:58 +0200",
        "id" : "0299522b12e9dd79d8bfa5aa71caffce01b85253",
        "msg" : "Invoices list: translated column headers (grid + detail row) in en/de/es via invc_* keys instead of hardcoded English",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app/assets/langs/shared.js"
          },
          {
            "editType" : "edit",
            "file" : "app/pages/sales/invoices/index.vue"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app/components/sales/InvoiceAction.vue",
          "app/pages/sales/invoices/index.vue",
          "app/assets/langs/shared.js"
        ],
        "commitId" : "e75f5d4eb095a6ed5badfec4dabb2362ad47a8fa",
        "timestamp" : 1792498707000,
        "author" : {
          "absoluteUrl" : "https://jenkins.younex.de/user/info",
          "fullName" : "info"
        },
        "authorEmail" : "info@younex.de",
        "comment" : "Invoices list: action cell without clone, with send-by-e-mail and (overdue only) payment-reminder icons moved in from their own columns, and a banknote+plus icon for adding a payment; Reminder/Email columns removed; translated icon tooltips\u000a",
        "date" : "2026-10-20 14:18:27 +0200",
        "id" : "e75f5d4eb095a6ed5badfec4dabb2362ad47a8fa",
        "msg" : "Invoices list: action cell without clone, with send-by-e-mail and (overdue only) payment-reminder icons moved in from their own columns, and a banknote+plus icon for adding a payment; Reminder/Email columns removed; translated icon tooltips",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app/components/sales/InvoiceAction.vue"
          },
          {
            "editType" : "edit",
            "file" : "app/assets/langs/shared.js"
          },
          {
            "editType" : "edit",
            "file" : "app/pages/sales/invoices/index.vue"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app/components/sales/InvoiceAction.vue",
          "app/components/sales/InvoiceListFilters.vue"
        ],
        "commitId" : "e353e92a82600b0632cee9b71fcbe6efd7e5b3dd",
        "timestamp" : 1792498932000,
        "author" : {
          "absoluteUrl" : "https://jenkins.younex.de/user/info",
          "fullName" : "info"
        },
        "authorEmail" : "info@younex.de",
        "comment" : "Invoices list: payment icon's plus badge kept inside the cell box (was clipped by the row); filter bar – Payment as a Nuxt UI SelectBox dropdown with status dots instead of five buttons, Type buttons show only the AR/AP short code (full term on hover)\u000a",
        "date" : "2026-10-20 14:22:12 +0200",
        "id" : "e353e92a82600b0632cee9b71fcbe6efd7e5b3dd",
        "msg" : "Invoices list: payment icon's plus badge kept inside the cell box (was clipped by the row); filter bar – Payment as a Nuxt UI SelectBox dropdown with status dots instead of five buttons, Type buttons show only the AR/AP short code (full term on hover)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app/components/sales/InvoiceListFilters.vue"
          },
          {
            "editType" : "edit",
            "file" : "app/components/sales/InvoiceAction.vue"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app/components/sales/InvoiceListFilters.vue"
        ],
        "commitId" : "79046381ce44bcd9200fd111f858936bf1e7e050",
        "timestamp" : 1792499156000,
        "author" : {
          "absoluteUrl" : "https://jenkins.younex.de/user/info",
          "fullName" : "info"
        },
        "authorEmail" : "info@younex.de",
        "comment" : "Invoices filter bar: Order type, Year and Month as Nuxt UI SelectBox dropdowns (icons kept in the order-type items; 'all' sentinel for the empty year/month value)\u000a",
        "date" : "2026-10-20 14:25:56 +0200",
        "id" : "79046381ce44bcd9200fd111f858936bf1e7e050",
        "msg" : "Invoices filter bar: Order type, Year and Month as Nuxt UI SelectBox dropdowns (icons kept in the order-type items; 'all' sentinel for the empty year/month value)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app/components/sales/InvoiceListFilters.vue"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app/components/sales/InvoiceAction.vue",
          "app/components/sales/InvoiceListFilters.vue",
          "app/assets/langs/shared.js"
        ],
        "commitId" : "039a3ea8f2ba665a3891b22b257a5460a03c7f09",
        "timestamp" : 1792499329000,
        "author" : {
          "absoluteUrl" : "https://jenkins.younex.de/user/info",
          "fullName" : "info"
        },
        "authorEmail" : "info@younex.de",
        "comment" : "Invoices list: month filter as a popover tag grid (Jan…Dez + all), restored dropdown trigger widths; action cell – Lexoffice upload icon (faded + check when already uploaded), e-mail icon hidden on paid invoices\u000a",
        "date" : "2026-10-20 14:28:49 +0200",
        "id" : "039a3ea8f2ba665a3891b22b257a5460a03c7f09",
        "msg" : "Invoices list: month filter as a popover tag grid (Jan…Dez + all), restored dropdown trigger widths; action cell – Lexoffice upload icon (faded + check when already uploaded), e-mail icon hidden on paid invoices",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app/assets/langs/shared.js"
          },
          {
            "editType" : "edit",
            "file" : "app/components/sales/InvoiceAction.vue"
          },
          {
            "editType" : "edit",
            "file" : "app/components/sales/InvoiceListFilters.vue"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app/components/sales/InvoiceAction.vue"
        ],
        "commitId" : "7ed94819769925de8d681e630d037613ce057854",
        "timestamp" : 1792499528000,
        "author" : {
          "absoluteUrl" : "https://jenkins.younex.de/user/info",
          "fullName" : "info"
        },
        "authorEmail" : "info@younex.de",
        "comment" : "Invoices list: action icons in fixed 20px slots so each icon keeps its column when neighbours are not applicable (hidden via visibility, not Bulma's is-hidden)\u000a",
        "date" : "2026-10-20 14:32:08 +0200",
        "id" : "7ed94819769925de8d681e630d037613ce057854",
        "msg" : "Invoices list: action icons in fixed 20px slots so each icon keeps its column when neighbours are not applicable (hidden via visibility, not Bulma's is-hidden)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app/components/sales/InvoiceAction.vue"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app/pages/sales/invoices/index.vue"
        ],
        "commitId" : "d1aca5fecfefed0a4a1404574e1d3285fcd81e03",
        "timestamp" : 1792499627000,
        "author" : {
          "absoluteUrl" : "https://jenkins.younex.de/user/info",
          "fullName" : "info"
        },
        "authorEmail" : "info@younex.de",
        "comment" : "Invoices list: Action column fixed at 214px (content + padding) with auto-size suppressed, removing the empty space on the right\u000a",
        "date" : "2026-10-20 14:33:47 +0200",
        "id" : "d1aca5fecfefed0a4a1404574e1d3285fcd81e03",
        "msg" : "Invoices list: Action column fixed at 214px (content + padding) with auto-size suppressed, removing the empty space on the right",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app/pages/sales/invoices/index.vue"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app/pages/sales/invoices/index.vue"
        ],
        "commitId" : "962029eeab30c7f159cc8ac1b8da874706c708eb",
        "timestamp" : 1792499674000,
        "author" : {
          "absoluteUrl" : "https://jenkins.younex.de/user/info",
          "fullName" : "info"
        },
        "authorEmail" : "info@younex.de",
        "comment" : "Invoices list: Action column tightened to the icons (196px, 4px cell padding)\u000a",
        "date" : "2026-10-20 14:34:34 +0200",
        "id" : "962029eeab30c7f159cc8ac1b8da874706c708eb",
        "msg" : "Invoices list: Action column tightened to the icons (196px, 4px cell padding)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app/pages/sales/invoices/index.vue"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app/components/sales/InvoiceAction.vue",
          "app/pages/sales/invoices/index.vue",
          "app/assets/langs/shared.js"
        ],
        "commitId" : "d37d3e013a0eb89e77cbc61a680e6de720d2204a",
        "timestamp" : 1792499795000,
        "author" : {
          "absoluteUrl" : "https://jenkins.younex.de/user/info",
          "fullName" : "info"
        },
        "authorEmail" : "info@younex.de",
        "comment" : "Invoices list: action cell with seven fixed slots – Amazon upload icon (Amazon order sources only), draft rows show edit/delete in place of send/upload/pay; column 172px\u000a",
        "date" : "2026-10-20 14:36:35 +0200",
        "id" : "d37d3e013a0eb89e77cbc61a680e6de720d2204a",
        "msg" : "Invoices list: action cell with seven fixed slots – Amazon upload icon (Amazon order sources only), draft rows show edit/delete in place of send/upload/pay; column 172px",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app/assets/langs/shared.js"
          },
          {
            "editType" : "edit",
            "file" : "app/pages/sales/invoices/index.vue"
          },
          {
            "editType" : "edit",
            "file" : "app/components/sales/InvoiceAction.vue"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "server/api/leads/[id]/chat/index.delete.ts",
          ".gitignore",
          ".claude/rules/leads/ai-assessment.md",
          "server/api/leads/[id]/chat/index.get.ts",
          "server/api/leads/[id]/chat/message.post.ts",
          "server/utils/leads/leadChat.ts",
          "app/components/leads/ChatConsoleModal.vue",
          "server/utils/leads/leadAssessment.ts",
          "app/pages/users/leads/[id]/edit.vue",
          "server/api/leads/[id]/chat/context.post.ts",
          "app/assets/langs/shared.js"
        ],
        "commitId" : "1ac29d4dd7daa22766541e87ae46642d57562f6a",
        "timestamp" : 1792500315000,
        "author" : {
          "absoluteUrl" : "https://jenkins.younex.de/user/info",
          "fullName" : "info"
        },
        "authorEmail" : "info@younex.de",
        "comment" : "Leads: KI-Konsole – chat with Claude about one lead over the KI-Analyse dossier (mails, calls, offers, activities, last analysis); SSE-streamed answers, persisted history in data/lead-chats, context rebuild on demand; assessment helpers exported for reuse\u000a",
        "date" : "2026-10-20 14:45:15 +0200",
        "id" : "1ac29d4dd7daa22766541e87ae46642d57562f6a",
        "msg" : "Leads: KI-Konsole – chat with Claude about one lead over the KI-Analyse dossier (mails, calls, offers, activities, last analysis); SSE-streamed answers, persisted history in data/lead-chats, context rebuild on demand; assessment helpers exported for reuse",
        "paths" : [
          {
            "editType" : "add",
            "file" : "app/components/leads/ChatConsoleModal.vue"
          },
          {
            "editType" : "add",
            "file" : "server/api/leads/[id]/chat/index.get.ts"
          },
          {
            "editType" : "edit",
            "file" : "server/utils/leads/leadAssessment.ts"
          },
          {
            "editType" : "add",
            "file" : "server/utils/leads/leadChat.ts"
          },
          {
            "editType" : "edit",
            "file" : ".claude/rules/leads/ai-assessment.md"
          },
          {
            "editType" : "add",
            "file" : "server/api/leads/[id]/chat/context.post.ts"
          },
          {
            "editType" : "edit",
            "file" : "app/pages/users/leads/[id]/edit.vue"
          },
          {
            "editType" : "edit",
            "file" : ".gitignore"
          },
          {
            "editType" : "edit",
            "file" : "app/assets/langs/shared.js"
          },
          {
            "editType" : "add",
            "file" : "server/api/leads/[id]/chat/index.delete.ts"
          },
          {
            "editType" : "add",
            "file" : "server/api/leads/[id]/chat/message.post.ts"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://jenkins.younex.de/user/info",
      "fullName" : "info"
    }
  ]
}