Преглед изворни кода

Update dependencies (#439)

* Update dependencies

* Wait for the internal note's own save in the locked invoice spec

* presenter
Bernt Christian Egeland пре 16 часа
родитељ
комит
ece9b87253
4 измењених фајлова са 180 додато и 145 уклоњено
  1. 6 1
      e2e/specs/work-orders/modern-page.spec.ts
  2. 161 137
      package-lock.json
  3. 6 6
      package.json
  4. 7 1
      src/app/(presenter)/layout.tsx

+ 6 - 1
e2e/specs/work-orders/modern-page.spec.ts

@@ -471,11 +471,16 @@ test.describe('the overhauled work order page', () => {
       }).toPass({ timeout: 30_000 })
       await page.getByRole('menuitem', { name: 'Waiting Parts' }).click()
       await expectStatus(page, /Waiting Parts/)
+      // The status says "Saved" for two seconds. Let that one go, or it answers
+      // for the notes below before they have been written.
+      const saved = page.getByText('Saved', { exact: true })
+      await expect(saved).toBeVisible()
+      await expect(saved).toBeHidden()
 
       // Still written: the internal notes, saved on their own.
       const note = `Customer will collect on Friday ${stamp}`
       await typeInNotes(page, page.getByTestId('notes-internal'), note)
-      await expect(page.getByText('Saved', { exact: true })).toBeVisible()
+      await expect(saved).toBeVisible()
 
       // Still paid: the bar's button opens a form that works, and Enter in
       // the amount records the payment rather than saving the job.

Разлика између датотеке није приказан због своје велике величине
+ 161 - 137
package-lock.json


+ 6 - 6
package.json

@@ -39,7 +39,7 @@
     "@types/qrcode": "^1.5.6",
     "@types/react-grid-layout": "^1.3.6",
     "@zumer/snapdom": "^2.23.1",
-    "axios": "^1.18.1",
+    "axios": "^1.20.0",
     "better-auth": "1.6.29",
     "bson": "^7.2.0",
     "class-variance-authority": "^0.7.1",
@@ -55,11 +55,11 @@
     "jszip": "^3.10.1",
     "lucide-react": "^0.563.0",
     "mailgun.js": "^12.7.1",
-    "next": "^16.3.4",
+    "next": "16.3.6",
     "next-intl": "^4.14.2",
     "next-themes": "^0.4.6",
-    "next-ws": "^2.2.14",
-    "nodemailer": "^9.1.1",
+    "next-ws": "^2.2.16",
+    "nodemailer": "^10.0.13",
     "openai": "^6.27.0",
     "papaparse": "^5.7.0",
     "pdf-lib": "^1.17.1",
@@ -108,9 +108,9 @@
     "@types/ws": "^8.18.1",
     "@vitest/coverage-v8": "^4.1.11",
     "jsdom": "^30.0.1",
-    "mailparser": "^3.9.23",
+    "mailparser": "^3.9.33",
     "shadcn": "^4.16.2",
-    "smtp-server": "^3.19.9",
+    "smtp-server": "^3.19.16",
     "tailwindcss": "^4",
     "tsx": "^4.23.13",
     "tw-animate-css": "^1.4.0",

+ 7 - 1
src/app/(presenter)/layout.tsx

@@ -2,6 +2,7 @@ import { redirect } from 'next/navigation'
 import { getLayoutData } from '@/lib/get-layout-data'
 import { DateSettingsProvider } from '@/components/date-settings-context'
 import { ConfirmProvider } from '@/components/confirm-dialog'
+import { RealtimeProvider } from '@/features/realtime/RealtimeProvider'
 
 export default async function PresenterLayout({ children }: { children: React.ReactNode }) {
   const data = await getLayoutData()
@@ -15,7 +16,12 @@ export default async function PresenterLayout({ children }: { children: React.Re
       timeFormat={data.timeFormat}
       timezone={data.timezone}
     >
-      <ConfirmProvider>{children}</ConfirmProvider>
+      <ConfirmProvider>
+        {/* The presenter sits outside the app shell, so it brings its own
+            socket: without one the board never hears a change and its live
+            light stays red. */}
+        <RealtimeProvider>{children}</RealtimeProvider>
+      </ConfirmProvider>
     </DateSettingsProvider>
   )
 }

Неке датотеке нису приказане због велике количине промена