kamau1 commited on
Commit
9cbadb3
·
1 Parent(s): c9509b3

fix: resolve runtime error in add_existing_user_to_project endpoint

Browse files

- Updated the response structure in the add_existing_user_to_project function to include user details and role/region names if applicable.
- Changed the relationship attribute name from 'role' to 'project_role' in the ProjectTeam model for clarity and consistency.
- Fixed an AttributeError related to the team_member object when adding to the database session.

docs/devlogs/browser/browserconsole.txt CHANGED
@@ -1,18 +1,46 @@
1
- chunk-276SZO74.js?v=667b4a6e:21551 Download the React DevTools for a better development experience: https://reactjs.org/link/react-devtools
2
  core.ts:167 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/auth/me
3
- react-router-dom.js?v=667b4a6e:4393 ⚠️ React Router Future Flag Warning: React Router will begin wrapping state updates in `React.startTransition` in v7. You can use the `v7_startTransition` future flag to opt-in early. For more information, see https://reactrouter.com/v6/upgrading/future#v7_starttransition.
4
- warnOnce @ react-router-dom.js?v=667b4a6e:4393
5
- react-router-dom.js?v=667b4a6e:4393 ⚠️ React Router Future Flag Warning: Relative route resolution within Splat routes is changing in v7. You can use the `v7_relativeSplatPath` future flag to opt-in early. For more information, see https://reactrouter.com/v6/upgrading/future#v7_relativesplatpath.
6
- warnOnce @ react-router-dom.js?v=667b4a6e:4393
7
- core.ts:167 GET https://kamau1-swiftops-backend.hf.space/api/v1/auth/me → 200 (2.68s)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  ProjectSetupWizard.tsx:188 🚀 ProjectSetupWizard RENDERING
9
  ProjectSetupContext.tsx:32 🔧 ProjectSetupProvider RENDERING
10
  ProjectSetupContext.tsx:38 🔧 ProjectSetupProvider projectId: 0ade6bd1-e492-4e25-b681-59f42058d29a
11
- ProjectSetupContext.tsx:64 🔧 Project query state: Object
12
- ProjectSetupWizard.tsx:38 🎯 ProjectSetupContent RENDER: Object
13
  ProjectSetupWizard.tsx:41 🎯 Showing loading screen...
14
  ProjectSetupWizard.tsx:25 🎯 ProjectSetupContent MOUNTED
15
- ProjectSetupWizard.tsx:34 🎯 ProjectSetupContent STATE: Object
16
  ProjectSetupContext.tsx:41 🔧 ProjectSetupProvider MOUNTED
17
  ProjectSetupContext.tsx:59 🔧 Fetching project data for: 0ade6bd1-e492-4e25-b681-59f42058d29a
18
  core.ts:167 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a
@@ -20,650 +48,113 @@ core.ts:167 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ad
20
  core.ts:167 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/project-roles
21
  core.ts:167 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/subcontractors
22
  core.ts:167 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/auth/me/preferences
23
- core.ts:167 GET https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/regions → 200 (1.11s)
24
- ProjectSetupContext.tsx:32 🔧 ProjectSetupProvider RENDERING
25
- ProjectSetupContext.tsx:38 🔧 ProjectSetupProvider projectId: 0ade6bd1-e492-4e25-b681-59f42058d29a
26
- ProjectSetupContext.tsx:64 🔧 Project query state: Object
27
- ProjectSetupWizard.tsx:38 🎯 ProjectSetupContent RENDER: Object
28
- ProjectSetupWizard.tsx:41 🎯 Showing loading screen...
29
- core.ts:167 GET https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a → 200 (1.12s)
30
- ProjectSetupContext.tsx:32 🔧 ProjectSetupProvider RENDERING
31
- ProjectSetupContext.tsx:38 🔧 ProjectSetupProvider projectId: 0ade6bd1-e492-4e25-b681-59f42058d29a
32
- ProjectSetupContext.tsx:64 🔧 Project query state: Object
33
- ProjectSetupWizard.tsx:38 🎯 ProjectSetupContent RENDER: Object
34
- ProjectSetupWizard.tsx:34 🎯 ProjectSetupContent STATE: Object
35
- core.ts:167 GET https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/project-roles → 200 (1.19s)
36
- ProjectSetupContext.tsx:32 🔧 ProjectSetupProvider RENDERING
37
- ProjectSetupContext.tsx:38 🔧 ProjectSetupProvider projectId: 0ade6bd1-e492-4e25-b681-59f42058d29a
38
- ProjectSetupContext.tsx:64 🔧 Project query state: Object
39
- ProjectSetupWizard.tsx:38 🎯 ProjectSetupContent RENDER: Object
40
- core.ts:167 GET https://kamau1-swiftops-backend.hf.space/api/v1/auth/me/preferences → 200 (2.19s)
41
- core.ts:167 GET https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/subcontractors → 200 (2.19s)
42
- ProjectSetupContext.tsx:32 🔧 ProjectSetupProvider RENDERING
43
- ProjectSetupContext.tsx:38 🔧 ProjectSetupProvider projectId: 0ade6bd1-e492-4e25-b681-59f42058d29a
44
- ProjectSetupContext.tsx:64 🔧 Project query state: Object
45
- ProjectSetupWizard.tsx:38 🎯 ProjectSetupContent RENDER: Object
46
- ProjectSetupContext.tsx:32 🔧 ProjectSetupProvider RENDERING
47
- ProjectSetupContext.tsx:38 🔧 ProjectSetupProvider projectId: 0ade6bd1-e492-4e25-b681-59f42058d29a
48
- ProjectSetupContext.tsx:64 🔧 Project query state: Object
49
- ProjectSetupWizard.tsx:38 🎯 ProjectSetupContent RENDER: Object
50
- core.ts:167 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/users?skip=0&limit=100
51
- ProjectSetupWizard.tsx:34 🎯 ProjectSetupContent STATE: Object
52
- chunk-24BRHPTI.js?v=667b4a6e:42 Accordion is changing from uncontrolled to controlled. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.
53
- (anonymous) @ chunk-24BRHPTI.js?v=667b4a6e:42
54
- core.ts:167 GET https://kamau1-swiftops-backend.hf.space/api/v1/users?skip=0&limit=100 → 200 (789ms)
55
- chunk-276SZO74.js?v=667b4a6e:521 Warning: Cannot update a component (`ForwardRef`) while rendering a different component (`ForwardRef`). To locate the bad setState() call inside `ForwardRef`, follow the stack trace as described in https://reactjs.org/link/setstate-in-render
56
- at http://localhost:8080/node_modules/.vite/deps/sonner.js?v=667b4a6e:269:17
57
- at Toaster (http://localhost:8080/src/components/ui/sonner.tsx:24:23)
58
- at Provider (http://localhost:8080/node_modules/.vite/deps/chunk-3RXG37ZK.js?v=667b4a6e:38:15)
59
- at TooltipProvider (http://localhost:8080/node_modules/.vite/deps/@radix-ui_react-tooltip.js?v=667b4a6e:65:5)
60
- at ThemeProvider (http://localhost:8080/src/contexts/ThemeProvider.tsx:29:33)
61
- at UserPreferencesProvider (http://localhost:8080/src/contexts/UserPreferencesContext.tsx:28:43)
62
- at QueryClientProvider (http://localhost:8080/node_modules/.vite/deps/@tanstack_react-query.js?v=667b4a6e:2934:3)
63
- at App (http://localhost:8080/src/App.tsx:147:35)
64
- printWarning @ chunk-276SZO74.js?v=667b4a6e:521
65
- core.ts:124 ℹ️ [11:52:08] [COMPONENT] ProjectSetupWizard: User clicked save
66
- core.ts:117 ℹ️ [11:52:08] [COMPONENT] StepRegions: Saving regions batch Object
67
- core.ts:124 ⚠️ [11:52:08] [COMPONENT] ProjectSetupWizard: Step save failed
68
- log @ core.ts:124
69
- core.ts:124 ℹ️ [11:52:17] [COMPONENT] ProjectSetupWizard: User clicked save
70
- core.ts:117 ℹ️ [11:52:17] [COMPONENT] StepRegions: Saving regions batch Object
71
- core.ts:167 %cPOST%c https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/regions
72
- api.ts:27 📤 Request Body: Objectadditional_metadata: undefinedaddress_line1: "Museum Hill"address_line2: undefinedcity: "Nairobi"country: "Kenya"description: "This city is the city for this project"hub_contact_persons: undefinedis_active: truelatitude: undefinedlongitude: undefinedmanager_id: undefinedmaps_link: "https://maps.app.goo.gl/KSG1zhzfdYfB56st7"notes: "Central Hub"region: "Nairobi City"region_code: "KE-NAI"region_name: "Nairobi East"[[Prototype]]: Objectconstructor: ƒ Object()hasOwnProperty: ƒ hasOwnProperty()isPrototypeOf: ƒ isPrototypeOf()propertyIsEnumerable: ƒ propertyIsEnumerable()toLocaleString: ƒ toLocaleString()toString: ƒ toString()valueOf: ƒ valueOf()__defineGetter__: ƒ __defineGetter__()__defineSetter__: ƒ __defineSetter__()__lookupGetter__: ƒ __lookupGetter__()__lookupSetter__: ƒ __lookupSetter__()__proto__: (...)get __proto__: ƒ __proto__()set __proto__: ƒ __proto__()
73
- kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/regions:1 Failed to load resource: the server responded with a status of 500 ()
74
- core.ts:167 POST https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/regions → 500 (1.28s)
75
- api.ts:59 POST https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/regions → 500 (1.28s)%c
76
- api.ts:70 ❌ Error: Object
77
- logAPIResponse @ api.ts:70
78
- core.ts:117 ❌ [11:52:19] [COMPONENT] StepRegions error: An error occurred while creating the region Object
79
- log @ core.ts:117
80
- core.ts:124 ⚠️ [11:52:19] [COMPONENT] ProjectSetupWizard: Step save failed
81
- log @ core.ts:124
82
- core.ts:167 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/users?skip=0&limit=100
83
- core.ts:167 GET https://kamau1-swiftops-backend.hf.space/api/v1/users?skip=0&limit=100 → 200 (5.92s)
84
- core.ts:124 ℹ️ [12:03:20] [COMPONENT] ProjectSetupWizard: User clicked save
85
- core.ts:117 ℹ️ [12:03:20] [COMPONENT] StepRegions: Saving regions batch {count: 1, deleted: 0}
86
- core.ts:124 ⚠️ [12:03:20] [COMPONENT] ProjectSetupWizard: Step save failed
87
- log @ core.ts:124
88
- warn @ core.ts:150
89
- warn @ component.ts:100
90
- handleSave @ ProjectSetupWizard.tsx:115
91
- await in handleSave
92
- callCallback2 @ chunk-276SZO74.js?v=667b4a6e:3674
93
- invokeGuardedCallbackDev @ chunk-276SZO74.js?v=667b4a6e:3699
94
- invokeGuardedCallback @ chunk-276SZO74.js?v=667b4a6e:3733
95
- invokeGuardedCallbackAndCatchFirstError @ chunk-276SZO74.js?v=667b4a6e:3736
96
- executeDispatch @ chunk-276SZO74.js?v=667b4a6e:7014
97
- processDispatchQueueItemsInOrder @ chunk-276SZO74.js?v=667b4a6e:7034
98
- processDispatchQueue @ chunk-276SZO74.js?v=667b4a6e:7043
99
- dispatchEventsForPlugins @ chunk-276SZO74.js?v=667b4a6e:7051
100
- (anonymous) @ chunk-276SZO74.js?v=667b4a6e:7174
101
- batchedUpdates$1 @ chunk-276SZO74.js?v=667b4a6e:18913
102
- batchedUpdates @ chunk-276SZO74.js?v=667b4a6e:3579
103
- dispatchEventForPluginEventSystem @ chunk-276SZO74.js?v=667b4a6e:7173
104
- dispatchEventWithEnableCapturePhaseSelectiveHydrationWithoutDiscreteEventReplay @ chunk-276SZO74.js?v=667b4a6e:5478
105
- dispatchEvent @ chunk-276SZO74.js?v=667b4a6e:5472
106
- dispatchDiscreteEvent @ chunk-276SZO74.js?v=667b4a6e:5449
107
- core.ts:124 ℹ️ [12:05:20] [COMPONENT] ProjectSetupWizard: User clicked save
108
- core.ts:117 ℹ️ [12:05:20] [COMPONENT] StepRegions: Saving regions batch {count: 1, deleted: 0}
109
- core.ts:167 %cPOST%c https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/regions
110
- core.ts:167 POST https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/regions → 201 (2.80s)
111
- core.ts:167 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/regions
112
- core.ts:167 GET https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/regions → 200 (357ms)
113
- ProjectSetupContext.tsx:32 🔧 ProjectSetupProvider RENDERING
114
- ProjectSetupContext.tsx:38 🔧 ProjectSetupProvider projectId: 0ade6bd1-e492-4e25-b681-59f42058d29a
115
- ProjectSetupContext.tsx:64 🔧 Project query state: {isLoadingProject: false, hasProject: true, error: null}
116
- ProjectSetupWizard.tsx:38 🎯 ProjectSetupContent RENDER: {isLoadingProject: false, hasProject: true}
117
- core.ts:124 ℹ️ [12:06:28] [COMPONENT] ProjectSetupWizard: User clicked save
118
- core.ts:117 ℹ️ [12:06:28] [COMPONENT] StepRegions: Saving regions batch {count: 1, deleted: 0}
119
- core.ts:167 %cPATCH%c https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/regions/4cd27765-5720-4cc0-872e-bf0da3cd1898
120
- project-setup.service.ts:74 PATCH https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/regions/4cd27765-5720-4cc0-872e-bf0da3cd1898 500 (Internal Server Error)
121
- updateRegion @ project-setup.service.ts:74
122
- (anonymous) @ StepRegions.tsx:333
123
- save @ StepRegions.tsx:298
124
- handleSave @ ProjectSetupWizard.tsx:111
125
- callCallback2 @ chunk-276SZO74.js?v=667b4a6e:3674
126
- invokeGuardedCallbackDev @ chunk-276SZO74.js?v=667b4a6e:3699
127
- invokeGuardedCallback @ chunk-276SZO74.js?v=667b4a6e:3733
128
- invokeGuardedCallbackAndCatchFirstError @ chunk-276SZO74.js?v=667b4a6e:3736
129
- executeDispatch @ chunk-276SZO74.js?v=667b4a6e:7014
130
- processDispatchQueueItemsInOrder @ chunk-276SZO74.js?v=667b4a6e:7034
131
- processDispatchQueue @ chunk-276SZO74.js?v=667b4a6e:7043
132
- dispatchEventsForPlugins @ chunk-276SZO74.js?v=667b4a6e:7051
133
- (anonymous) @ chunk-276SZO74.js?v=667b4a6e:7174
134
- batchedUpdates$1 @ chunk-276SZO74.js?v=667b4a6e:18913
135
- batchedUpdates @ chunk-276SZO74.js?v=667b4a6e:3579
136
- dispatchEventForPluginEventSystem @ chunk-276SZO74.js?v=667b4a6e:7173
137
- dispatchEventWithEnableCapturePhaseSelectiveHydrationWithoutDiscreteEventReplay @ chunk-276SZO74.js?v=667b4a6e:5478
138
- dispatchEvent @ chunk-276SZO74.js?v=667b4a6e:5472
139
- dispatchDiscreteEvent @ chunk-276SZO74.js?v=667b4a6e:5449
140
- core.ts:167 PATCH https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/regions/4cd27765-5720-4cc0-872e-bf0da3cd1898 → 500 (1.54s)
141
- core.ts:117 ❌ [12:06:29] [COMPONENT] StepRegions error: An error occurred while updating the region {error: Error: An error occurred while updating the region
142
- at handleResponse (http://localhost:8080/src…, errorInfo: {…}}
143
- log @ core.ts:117
144
- error @ core.ts:157
145
- logComponentError @ component.ts:60
146
- error @ component.ts:96
147
- save @ StepRegions.tsx:342
148
- await in save
149
- handleSave @ ProjectSetupWizard.tsx:111
150
- callCallback2 @ chunk-276SZO74.js?v=667b4a6e:3674
151
- invokeGuardedCallbackDev @ chunk-276SZO74.js?v=667b4a6e:3699
152
- invokeGuardedCallback @ chunk-276SZO74.js?v=667b4a6e:3733
153
- invokeGuardedCallbackAndCatchFirstError @ chunk-276SZO74.js?v=667b4a6e:3736
154
- executeDispatch @ chunk-276SZO74.js?v=667b4a6e:7014
155
- processDispatchQueueItemsInOrder @ chunk-276SZO74.js?v=667b4a6e:7034
156
- processDispatchQueue @ chunk-276SZO74.js?v=667b4a6e:7043
157
- dispatchEventsForPlugins @ chunk-276SZO74.js?v=667b4a6e:7051
158
- (anonymous) @ chunk-276SZO74.js?v=667b4a6e:7174
159
- batchedUpdates$1 @ chunk-276SZO74.js?v=667b4a6e:18913
160
- batchedUpdates @ chunk-276SZO74.js?v=667b4a6e:3579
161
- dispatchEventForPluginEventSystem @ chunk-276SZO74.js?v=667b4a6e:7173
162
- dispatchEventWithEnableCapturePhaseSelectiveHydrationWithoutDiscreteEventReplay @ chunk-276SZO74.js?v=667b4a6e:5478
163
- dispatchEvent @ chunk-276SZO74.js?v=667b4a6e:5472
164
- dispatchDiscreteEvent @ chunk-276SZO74.js?v=667b4a6e:5449
165
- core.ts:124 ⚠️ [12:06:29] [COMPONENT] ProjectSetupWizard: Step save failed
166
- log @ core.ts:124
167
- warn @ core.ts:150
168
- warn @ component.ts:100
169
- handleSave @ ProjectSetupWizard.tsx:115
170
- await in handleSave
171
- callCallback2 @ chunk-276SZO74.js?v=667b4a6e:3674
172
- invokeGuardedCallbackDev @ chunk-276SZO74.js?v=667b4a6e:3699
173
- invokeGuardedCallback @ chunk-276SZO74.js?v=667b4a6e:3733
174
- invokeGuardedCallbackAndCatchFirstError @ chunk-276SZO74.js?v=667b4a6e:3736
175
- executeDispatch @ chunk-276SZO74.js?v=667b4a6e:7014
176
- processDispatchQueueItemsInOrder @ chunk-276SZO74.js?v=667b4a6e:7034
177
- processDispatchQueue @ chunk-276SZO74.js?v=667b4a6e:7043
178
- dispatchEventsForPlugins @ chunk-276SZO74.js?v=667b4a6e:7051
179
- (anonymous) @ chunk-276SZO74.js?v=667b4a6e:7174
180
- batchedUpdates$1 @ chunk-276SZO74.js?v=667b4a6e:18913
181
- batchedUpdates @ chunk-276SZO74.js?v=667b4a6e:3579
182
- dispatchEventForPluginEventSystem @ chunk-276SZO74.js?v=667b4a6e:7173
183
- dispatchEventWithEnableCapturePhaseSelectiveHydrationWithoutDiscreteEventReplay @ chunk-276SZO74.js?v=667b4a6e:5478
184
- dispatchEvent @ chunk-276SZO74.js?v=667b4a6e:5472
185
- dispatchDiscreteEvent @ chunk-276SZO74.js?v=667b4a6e:5449
186
- core.ts:124 ℹ️ [12:17:45] [COMPONENT] ProjectSetupWizard: User clicked save
187
- core.ts:117 ℹ️ [12:17:45] [COMPONENT] StepRegions: Saving regions batch {count: 1, deleted: 0}
188
- core.ts:167 %cPATCH%c https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/regions/4cd27765-5720-4cc0-872e-bf0da3cd1898
189
- core.ts:167 PATCH https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/regions/4cd27765-5720-4cc0-872e-bf0da3cd1898 → 200 (1.05s)
190
- core.ts:167 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/regions
191
- core.ts:167 GET https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/regions → 200 (511ms)
192
  ProjectSetupContext.tsx:32 🔧 ProjectSetupProvider RENDERING
193
  ProjectSetupContext.tsx:38 🔧 ProjectSetupProvider projectId: 0ade6bd1-e492-4e25-b681-59f42058d29a
194
  ProjectSetupContext.tsx:64 🔧 Project query state: {isLoadingProject: false, hasProject: true, error: null}
195
  ProjectSetupWizard.tsx:38 🎯 ProjectSetupContent RENDER: {isLoadingProject: false, hasProject: true}
196
- ProjectSetupWizard.tsx:188 🚀 ProjectSetupWizard RENDERING
197
- ProjectSetupContext.tsx:32 🔧 ProjectSetupProvider RENDERING
198
- ProjectSetupContext.tsx:38 🔧 ProjectSetupProvider projectId: 0ade6bd1-e492-4e25-b681-59f42058d29a
199
- ProjectSetupContext.tsx:64 🔧 Project query state: {isLoadingProject: false, hasProject: true, error: null}
200
- ProjectSetupWizard.tsx:38 🎯 ProjectSetupContent RENDER: {isLoadingProject: false, hasProject: true}
201
- ProjectSetupWizard.tsx:28 🎯 ProjectSetupContent UNMOUNTED
202
- ProjectSetupContext.tsx:44 🔧 ProjectSetupProvider UNMOUNTED
203
- core.ts:167 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/users?skip=0&limit=100
204
- ProjectSetupWizard.tsx:25 🎯 ProjectSetupContent MOUNTED
205
- ProjectSetupWizard.tsx:34 🎯 ProjectSetupContent STATE: {currentStep: 1, projectId: '0ade6bd1-e492-4e25-b681-59f42058d29a', isLoadingProject: false}
206
- ProjectSetupContext.tsx:41 🔧 ProjectSetupProvider MOUNTED
207
- core.ts:167 GET https://kamau1-swiftops-backend.hf.space/api/v1/users?skip=0&limit=100 → 200 (830ms)
208
- core.ts:117 ℹ️ [12:27:49] [COMPONENT] StepRegions: Saving regions batch {count: 1, deleted: 0}
209
- core.ts:167 %cPATCH%c https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/regions/4cd27765-5720-4cc0-872e-bf0da3cd1898
210
- core.ts:167 PATCH https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/regions/4cd27765-5720-4cc0-872e-bf0da3cd1898 → 200 (1.05s)
211
- core.ts:167 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/regions
212
- core.ts:167 GET https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/regions → 200 (512ms)
213
- ProjectSetupContext.tsx:32 🔧 ProjectSetupProvider RENDERING
214
- ProjectSetupContext.tsx:38 🔧 ProjectSetupProvider projectId: 0ade6bd1-e492-4e25-b681-59f42058d29a
215
- ProjectSetupContext.tsx:64 🔧 Project query state: {isLoadingProject: false, hasProject: true, error: null}
216
- ProjectSetupWizard.tsx:38 🎯 ProjectSetupContent RENDER: {isLoadingProject: false, hasProject: true}
217
- ProjectSetupWizard.tsx:34 🎯 ProjectSetupContent STATE: {currentStep: 2, projectId: '0ade6bd1-e492-4e25-b681-59f42058d29a', isLoadingProject: false}
218
- chunk-24BRHPTI.js?v=667b4a6e:42 Accordion is changing from uncontrolled to controlled. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.
219
- (anonymous) @ chunk-24BRHPTI.js?v=667b4a6e:42
220
- commitHookEffectListMount @ chunk-276SZO74.js?v=667b4a6e:16915
221
- commitPassiveMountOnFiber @ chunk-276SZO74.js?v=667b4a6e:18156
222
- commitPassiveMountEffects_complete @ chunk-276SZO74.js?v=667b4a6e:18129
223
- commitPassiveMountEffects_begin @ chunk-276SZO74.js?v=667b4a6e:18119
224
- commitPassiveMountEffects @ chunk-276SZO74.js?v=667b4a6e:18109
225
- flushPassiveEffectsImpl @ chunk-276SZO74.js?v=667b4a6e:19490
226
- flushPassiveEffects @ chunk-276SZO74.js?v=667b4a6e:19447
227
- performSyncWorkOnRoot @ chunk-276SZO74.js?v=667b4a6e:18868
228
- flushSyncCallbacks @ chunk-276SZO74.js?v=667b4a6e:9119
229
- commitRootImpl @ chunk-276SZO74.js?v=667b4a6e:19432
230
- commitRoot @ chunk-276SZO74.js?v=667b4a6e:19277
231
- finishConcurrentRender @ chunk-276SZO74.js?v=667b4a6e:18805
232
- performConcurrentWorkOnRoot @ chunk-276SZO74.js?v=667b4a6e:18718
233
- workLoop @ chunk-276SZO74.js?v=667b4a6e:197
234
- flushWork @ chunk-276SZO74.js?v=667b4a6e:176
235
- performWorkUntilDeadline @ chunk-276SZO74.js?v=667b4a6e:384
236
- core.ts:117 ℹ️ [12:28:43] [COMPONENT] StepRoles: Saving roles batch {count: 1, deleted: 0}
237
- core.ts:167 %cPOST%c https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/project-roles
238
- project-setup.service.ts?t=1763900806199:108 POST https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/project-roles 500 (Internal Server Error)
239
- createRole @ project-setup.service.ts?t=1763900806199:108
240
- (anonymous) @ StepRoles.tsx?t=1763900819315:160
241
- save @ StepRoles.tsx?t=1763900819315:138
242
- handleNext @ ProjectSetupWizard.tsx:82
243
- callCallback2 @ chunk-276SZO74.js?v=667b4a6e:3674
244
- invokeGuardedCallbackDev @ chunk-276SZO74.js?v=667b4a6e:3699
245
- invokeGuardedCallback @ chunk-276SZO74.js?v=667b4a6e:3733
246
- invokeGuardedCallbackAndCatchFirstError @ chunk-276SZO74.js?v=667b4a6e:3736
247
- executeDispatch @ chunk-276SZO74.js?v=667b4a6e:7014
248
- processDispatchQueueItemsInOrder @ chunk-276SZO74.js?v=667b4a6e:7034
249
- processDispatchQueue @ chunk-276SZO74.js?v=667b4a6e:7043
250
- dispatchEventsForPlugins @ chunk-276SZO74.js?v=667b4a6e:7051
251
- (anonymous) @ chunk-276SZO74.js?v=667b4a6e:7174
252
- batchedUpdates$1 @ chunk-276SZO74.js?v=667b4a6e:18913
253
- batchedUpdates @ chunk-276SZO74.js?v=667b4a6e:3579
254
- dispatchEventForPluginEventSystem @ chunk-276SZO74.js?v=667b4a6e:7173
255
- dispatchEventWithEnableCapturePhaseSelectiveHydrationWithoutDiscreteEventReplay @ chunk-276SZO74.js?v=667b4a6e:5478
256
- dispatchEvent @ chunk-276SZO74.js?v=667b4a6e:5472
257
- dispatchDiscreteEvent @ chunk-276SZO74.js?v=667b4a6e:5449
258
- core.ts:167 POST https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/project-roles → 500 (1.37s)
259
- core.ts:117 ❌ [12:28:44] [COMPONENT] StepRoles error: An error occurred while creating the role {error: Error: An error occurred while creating the role
260
- at handleResponse (http://localhost:8080/src/s…, errorInfo: {…}}
261
- log @ core.ts:117
262
- error @ core.ts:157
263
- logComponentError @ component.ts:60
264
- error @ component.ts:96
265
- save @ StepRoles.tsx?t=1763900819315:166
266
- await in save
267
- handleNext @ ProjectSetupWizard.tsx:82
268
- callCallback2 @ chunk-276SZO74.js?v=667b4a6e:3674
269
- invokeGuardedCallbackDev @ chunk-276SZO74.js?v=667b4a6e:3699
270
- invokeGuardedCallback @ chunk-276SZO74.js?v=667b4a6e:3733
271
- invokeGuardedCallbackAndCatchFirstError @ chunk-276SZO74.js?v=667b4a6e:3736
272
- executeDispatch @ chunk-276SZO74.js?v=667b4a6e:7014
273
- processDispatchQueueItemsInOrder @ chunk-276SZO74.js?v=667b4a6e:7034
274
- processDispatchQueue @ chunk-276SZO74.js?v=667b4a6e:7043
275
- dispatchEventsForPlugins @ chunk-276SZO74.js?v=667b4a6e:7051
276
- (anonymous) @ chunk-276SZO74.js?v=667b4a6e:7174
277
- batchedUpdates$1 @ chunk-276SZO74.js?v=667b4a6e:18913
278
- batchedUpdates @ chunk-276SZO74.js?v=667b4a6e:3579
279
- dispatchEventForPluginEventSystem @ chunk-276SZO74.js?v=667b4a6e:7173
280
- dispatchEventWithEnableCapturePhaseSelectiveHydrationWithoutDiscreteEventReplay @ chunk-276SZO74.js?v=667b4a6e:5478
281
- dispatchEvent @ chunk-276SZO74.js?v=667b4a6e:5472
282
- dispatchDiscreteEvent @ chunk-276SZO74.js?v=667b4a6e:5449
283
- core.ts:117 ⚠️ [12:28:44] [COMPONENT] ProjectSetupWizard: Step action failed, not advancing Error: An error occurred while creating the role
284
- at handleResponse (project-setup.service.ts?t=1763900806199:21:15)
285
- at async Promise.all (index 0)
286
- at async Object.save (StepRoles.tsx?t=1763900819315:138:21)
287
- at async handleNext (ProjectSetupWizard.tsx:82:21)
288
- log @ core.ts:117
289
- warn @ core.ts:150
290
- warn @ component.ts:100
291
- handleNext @ ProjectSetupWizard.tsx:97
292
- await in handleNext
293
- callCallback2 @ chunk-276SZO74.js?v=667b4a6e:3674
294
- invokeGuardedCallbackDev @ chunk-276SZO74.js?v=667b4a6e:3699
295
- invokeGuardedCallback @ chunk-276SZO74.js?v=667b4a6e:3733
296
- invokeGuardedCallbackAndCatchFirstError @ chunk-276SZO74.js?v=667b4a6e:3736
297
- executeDispatch @ chunk-276SZO74.js?v=667b4a6e:7014
298
- processDispatchQueueItemsInOrder @ chunk-276SZO74.js?v=667b4a6e:7034
299
- processDispatchQueue @ chunk-276SZO74.js?v=667b4a6e:7043
300
- dispatchEventsForPlugins @ chunk-276SZO74.js?v=667b4a6e:7051
301
- (anonymous) @ chunk-276SZO74.js?v=667b4a6e:7174
302
- batchedUpdates$1 @ chunk-276SZO74.js?v=667b4a6e:18913
303
- batchedUpdates @ chunk-276SZO74.js?v=667b4a6e:3579
304
- dispatchEventForPluginEventSystem @ chunk-276SZO74.js?v=667b4a6e:7173
305
- dispatchEventWithEnableCapturePhaseSelectiveHydrationWithoutDiscreteEventReplay @ chunk-276SZO74.js?v=667b4a6e:5478
306
- dispatchEvent @ chunk-276SZO74.js?v=667b4a6e:5472
307
- dispatchDiscreteEvent @ chunk-276SZO74.js?v=667b4a6e:5449
308
- ProjectSetupWizard.tsx:188 🚀 ProjectSetupWizard RENDERING
309
  ProjectSetupContext.tsx:32 🔧 ProjectSetupProvider RENDERING
310
  ProjectSetupContext.tsx:38 🔧 ProjectSetupProvider projectId: 0ade6bd1-e492-4e25-b681-59f42058d29a
311
  ProjectSetupContext.tsx:64 🔧 Project query state: {isLoadingProject: false, hasProject: true, error: null}
312
  ProjectSetupWizard.tsx:38 🎯 ProjectSetupContent RENDER: {isLoadingProject: false, hasProject: true}
313
- ProjectSetupWizard.tsx:28 🎯 ProjectSetupContent UNMOUNTED
314
- ProjectSetupContext.tsx:44 🔧 ProjectSetupProvider UNMOUNTED
315
- ProjectSetupWizard.tsx:25 🎯 ProjectSetupContent MOUNTED
316
- ProjectSetupWizard.tsx:34 🎯 ProjectSetupContent STATE: {currentStep: 2, projectId: '0ade6bd1-e492-4e25-b681-59f42058d29a', isLoadingProject: false}
317
- ProjectSetupContext.tsx:41 🔧 ProjectSetupProvider MOUNTED
318
- chunk-24BRHPTI.js?v=667b4a6e:42 Accordion is changing from uncontrolled to controlled. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.
319
- (anonymous) @ chunk-24BRHPTI.js?v=667b4a6e:42
320
- commitHookEffectListMount @ chunk-276SZO74.js?v=667b4a6e:16915
321
- commitPassiveMountOnFiber @ chunk-276SZO74.js?v=667b4a6e:18156
322
- commitPassiveMountEffects_complete @ chunk-276SZO74.js?v=667b4a6e:18129
323
- commitPassiveMountEffects_begin @ chunk-276SZO74.js?v=667b4a6e:18119
324
- commitPassiveMountEffects @ chunk-276SZO74.js?v=667b4a6e:18109
325
- flushPassiveEffectsImpl @ chunk-276SZO74.js?v=667b4a6e:19490
326
- flushPassiveEffects @ chunk-276SZO74.js?v=667b4a6e:19447
327
- performSyncWorkOnRoot @ chunk-276SZO74.js?v=667b4a6e:18868
328
- flushSyncCallbacks @ chunk-276SZO74.js?v=667b4a6e:9119
329
- commitRootImpl @ chunk-276SZO74.js?v=667b4a6e:19432
330
- commitRoot @ chunk-276SZO74.js?v=667b4a6e:19277
331
- finishConcurrentRender @ chunk-276SZO74.js?v=667b4a6e:18805
332
- performConcurrentWorkOnRoot @ chunk-276SZO74.js?v=667b4a6e:18718
333
- workLoop @ chunk-276SZO74.js?v=667b4a6e:197
334
- flushWork @ chunk-276SZO74.js?v=667b4a6e:176
335
- performWorkUntilDeadline @ chunk-276SZO74.js?v=667b4a6e:384
336
- client:602 GET http://localhost:8080/src/components/projects/setup/steps/StepRoles.tsx?t=1763901384636 500 (Internal Server Error)
337
- importUpdatedModule @ client:602
338
- fetchUpdate @ client:211
339
- queueUpdate @ client:186
340
- (anonymous) @ client:642
341
- handleMessage @ client:640
342
- (anonymous) @ client:550
343
- client:176 [hmr] Failed to reload /src/components/projects/setup/steps/StepRoles.tsx. This could be due to syntax errors or importing non-existent modules. (see errors above)
344
- warnFailedUpdate @ client:176
345
- fetchUpdate @ client:213
346
- await in fetchUpdate
347
- queueUpdate @ client:186
348
- (anonymous) @ client:642
349
- handleMessage @ client:640
350
- (anonymous) @ client:550
351
- ProjectSetupContext.tsx:32 🔧 ProjectSetupProvider RENDERING
352
- ProjectSetupContext.tsx:38 🔧 ProjectSetupProvider projectId: 0ade6bd1-e492-4e25-b681-59f42058d29a
353
- ProjectSetupContext.tsx:64 🔧 Project query state: {isLoadingProject: false, hasProject: true, error: null}
354
- ProjectSetupContext.tsx:145 Uncaught Error: useProjectSetup must be used within a ProjectSetupProvider
355
- at useProjectSetup (ProjectSetupContext.tsx:145:15)
356
- at ProjectSetupContent (ProjectSetupWizard.tsx:18:72)
357
- at renderWithHooks (chunk-276SZO74.js?v=667b4a6e:11548:26)
358
- at mountIndeterminateComponent (chunk-276SZO74.js?v=667b4a6e:14926:21)
359
- at beginWork (chunk-276SZO74.js?v=667b4a6e:15914:22)
360
- at HTMLUnknownElement.callCallback2 (chunk-276SZO74.js?v=667b4a6e:3674:22)
361
- at Object.invokeGuardedCallbackDev (chunk-276SZO74.js?v=667b4a6e:3699:24)
362
- at invokeGuardedCallback (chunk-276SZO74.js?v=667b4a6e:3733:39)
363
- at beginWork$1 (chunk-276SZO74.js?v=667b4a6e:19765:15)
364
- at performUnitOfWork (chunk-276SZO74.js?v=667b4a6e:19198:20)
365
- useProjectSetup @ ProjectSetupContext.tsx:145
366
- ProjectSetupContent @ ProjectSetupWizard.tsx:18
367
- renderWithHooks @ chunk-276SZO74.js?v=667b4a6e:11548
368
- mountIndeterminateComponent @ chunk-276SZO74.js?v=667b4a6e:14926
369
- beginWork @ chunk-276SZO74.js?v=667b4a6e:15914
370
- callCallback2 @ chunk-276SZO74.js?v=667b4a6e:3674
371
- invokeGuardedCallbackDev @ chunk-276SZO74.js?v=667b4a6e:3699
372
- invokeGuardedCallback @ chunk-276SZO74.js?v=667b4a6e:3733
373
- beginWork$1 @ chunk-276SZO74.js?v=667b4a6e:19765
374
- performUnitOfWork @ chunk-276SZO74.js?v=667b4a6e:19198
375
- workLoopSync @ chunk-276SZO74.js?v=667b4a6e:19137
376
- renderRootSync @ chunk-276SZO74.js?v=667b4a6e:19116
377
- performSyncWorkOnRoot @ chunk-276SZO74.js?v=667b4a6e:18874
378
- flushSyncCallbacks @ chunk-276SZO74.js?v=667b4a6e:9119
379
- flushSync @ chunk-276SZO74.js?v=667b4a6e:18959
380
- scheduleRefresh @ chunk-276SZO74.js?v=667b4a6e:20004
381
- (anonymous) @ @react-refresh:228
382
- performReactRefresh @ @react-refresh:217
383
- (anonymous) @ @react-refresh:608
384
- setTimeout
385
- (anonymous) @ @react-refresh:598
386
- validateRefreshBoundaryAndEnqueueUpdate @ @react-refresh:648
387
- (anonymous) @ StepSubcontractors.tsx:361
388
- (anonymous) @ client:34
389
- (anonymous) @ client:218
390
- (anonymous) @ client:193
391
- queueUpdate @ client:193
392
- await in queueUpdate
393
- (anonymous) @ client:642
394
- handleMessage @ client:640
395
- (anonymous) @ client:550
396
- ProjectSetupContext.tsx:32 🔧 ProjectSetupProvider RENDERING
397
- ProjectSetupContext.tsx:38 🔧 ProjectSetupProvider projectId: 0ade6bd1-e492-4e25-b681-59f42058d29a
398
- ProjectSetupContext.tsx:64 🔧 Project query state: {isLoadingProject: false, hasProject: true, error: null}
399
- ProjectSetupContext.tsx:145 Uncaught Error: useProjectSetup must be used within a ProjectSetupProvider
400
- at useProjectSetup (ProjectSetupContext.tsx:145:15)
401
- at ProjectSetupContent (ProjectSetupWizard.tsx:18:72)
402
- at renderWithHooks (chunk-276SZO74.js?v=667b4a6e:11548:26)
403
- at mountIndeterminateComponent (chunk-276SZO74.js?v=667b4a6e:14926:21)
404
- at beginWork (chunk-276SZO74.js?v=667b4a6e:15914:22)
405
- at HTMLUnknownElement.callCallback2 (chunk-276SZO74.js?v=667b4a6e:3674:22)
406
- at Object.invokeGuardedCallbackDev (chunk-276SZO74.js?v=667b4a6e:3699:24)
407
- at invokeGuardedCallback (chunk-276SZO74.js?v=667b4a6e:3733:39)
408
- at beginWork$1 (chunk-276SZO74.js?v=667b4a6e:19765:15)
409
- at performUnitOfWork (chunk-276SZO74.js?v=667b4a6e:19198:20)
410
- useProjectSetup @ ProjectSetupContext.tsx:145
411
- ProjectSetupContent @ ProjectSetupWizard.tsx:18
412
- renderWithHooks @ chunk-276SZO74.js?v=667b4a6e:11548
413
- mountIndeterminateComponent @ chunk-276SZO74.js?v=667b4a6e:14926
414
- beginWork @ chunk-276SZO74.js?v=667b4a6e:15914
415
- callCallback2 @ chunk-276SZO74.js?v=667b4a6e:3674
416
- invokeGuardedCallbackDev @ chunk-276SZO74.js?v=667b4a6e:3699
417
- invokeGuardedCallback @ chunk-276SZO74.js?v=667b4a6e:3733
418
- beginWork$1 @ chunk-276SZO74.js?v=667b4a6e:19765
419
- performUnitOfWork @ chunk-276SZO74.js?v=667b4a6e:19198
420
- workLoopSync @ chunk-276SZO74.js?v=667b4a6e:19137
421
- renderRootSync @ chunk-276SZO74.js?v=667b4a6e:19116
422
- recoverFromConcurrentError @ chunk-276SZO74.js?v=667b4a6e:18736
423
- performSyncWorkOnRoot @ chunk-276SZO74.js?v=667b4a6e:18879
424
- flushSyncCallbacks @ chunk-276SZO74.js?v=667b4a6e:9119
425
- flushSync @ chunk-276SZO74.js?v=667b4a6e:18959
426
- scheduleRefresh @ chunk-276SZO74.js?v=667b4a6e:20004
427
- (anonymous) @ @react-refresh:228
428
- performReactRefresh @ @react-refresh:217
429
- (anonymous) @ @react-refresh:608
430
- setTimeout
431
- (anonymous) @ @react-refresh:598
432
- validateRefreshBoundaryAndEnqueueUpdate @ @react-refresh:648
433
- (anonymous) @ StepSubcontractors.tsx:361
434
- (anonymous) @ client:34
435
- (anonymous) @ client:218
436
- (anonymous) @ client:193
437
- queueUpdate @ client:193
438
- await in queueUpdate
439
- (anonymous) @ client:642
440
- handleMessage @ client:640
441
- (anonymous) @ client:550
442
- @react-refresh:228 The above error occurred in the <ProjectSetupContent> component:
443
-
444
- at ProjectSetupContent (http://localhost:8080/src/pages/projects/setup/ProjectSetupWizard.tsx?t=1763901304077:37:72)
445
- at ProjectSetupProvider (http://localhost:8080/src/components/projects/setup/ProjectSetupContext.tsx?t=1763901467773:30:40)
446
- at ProjectSetupWizard
447
- at ProtectedRoute (http://localhost:8080/src/components/auth/ProtectedRoute.tsx:31:34)
448
- at AppShell (http://localhost:8080/src/App.tsx:110:21)
449
- at RenderedRoute (http://localhost:8080/node_modules/.vite/deps/react-router-dom.js?v=667b4a6e:4088:5)
450
- at Routes (http://localhost:8080/node_modules/.vite/deps/react-router-dom.js?v=667b4a6e:4558:5)
451
- at TopbarProvider (http://localhost:8080/src/contexts/TopbarContext.tsx:25:34)
452
- at Router (http://localhost:8080/node_modules/.vite/deps/react-router-dom.js?v=667b4a6e:4501:15)
453
- at BrowserRouter (http://localhost:8080/node_modules/.vite/deps/react-router-dom.js?v=667b4a6e:5247:5)
454
- at Provider (http://localhost:8080/node_modules/.vite/deps/chunk-3RXG37ZK.js?v=667b4a6e:38:15)
455
- at TooltipProvider (http://localhost:8080/node_modules/.vite/deps/@radix-ui_react-tooltip.js?v=667b4a6e:65:5)
456
- at ThemeProvider (http://localhost:8080/src/contexts/ThemeProvider.tsx:29:33)
457
- at UserPreferencesProvider (http://localhost:8080/src/contexts/UserPreferencesContext.tsx:28:43)
458
- at QueryClientProvider (http://localhost:8080/node_modules/.vite/deps/@tanstack_react-query.js?v=667b4a6e:2934:3)
459
- at App (http://localhost:8080/src/App.tsx:147:35)
460
-
461
- Consider adding an error boundary to your tree to customize error handling behavior.
462
- Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.
463
- logCapturedError @ chunk-276SZO74.js?v=667b4a6e:14032
464
- update.callback @ chunk-276SZO74.js?v=667b4a6e:14052
465
- callCallback @ chunk-276SZO74.js?v=667b4a6e:11248
466
- commitUpdateQueue @ chunk-276SZO74.js?v=667b4a6e:11265
467
- commitLayoutEffectOnFiber @ chunk-276SZO74.js?v=667b4a6e:17093
468
- commitLayoutMountEffects_complete @ chunk-276SZO74.js?v=667b4a6e:17980
469
- commitLayoutEffects_begin @ chunk-276SZO74.js?v=667b4a6e:17969
470
- commitLayoutEffects @ chunk-276SZO74.js?v=667b4a6e:17920
471
- commitRootImpl @ chunk-276SZO74.js?v=667b4a6e:19353
472
- commitRoot @ chunk-276SZO74.js?v=667b4a6e:19277
473
- performSyncWorkOnRoot @ chunk-276SZO74.js?v=667b4a6e:18895
474
- flushSyncCallbacks @ chunk-276SZO74.js?v=667b4a6e:9119
475
- flushSync @ chunk-276SZO74.js?v=667b4a6e:18959
476
- scheduleRefresh @ chunk-276SZO74.js?v=667b4a6e:20004
477
- (anonymous) @ @react-refresh:228
478
- performReactRefresh @ @react-refresh:217
479
- (anonymous) @ @react-refresh:608
480
- setTimeout
481
- (anonymous) @ @react-refresh:598
482
- validateRefreshBoundaryAndEnqueueUpdate @ @react-refresh:648
483
- (anonymous) @ StepSubcontractors.tsx:361
484
- (anonymous) @ client:34
485
- (anonymous) @ client:218
486
- (anonymous) @ client:193
487
- queueUpdate @ client:193
488
- await in queueUpdate
489
- (anonymous) @ client:642
490
- handleMessage @ client:640
491
- (anonymous) @ client:550
492
- ProjectSetupContext.tsx:44 🔧 ProjectSetupProvider UNMOUNTED
493
- ProjectSetupWizard.tsx:28 🎯 ProjectSetupContent UNMOUNTED
494
- ProjectSetupContext.tsx:145 Uncaught (in promise) Error: useProjectSetup must be used within a ProjectSetupProvider
495
- at useProjectSetup (ProjectSetupContext.tsx:145:15)
496
- at ProjectSetupContent (ProjectSetupWizard.tsx:18:72)
497
- at renderWithHooks (chunk-276SZO74.js?v=667b4a6e:11548:26)
498
- at mountIndeterminateComponent (chunk-276SZO74.js?v=667b4a6e:14926:21)
499
- at beginWork (chunk-276SZO74.js?v=667b4a6e:15914:22)
500
- at beginWork$1 (chunk-276SZO74.js?v=667b4a6e:19753:22)
501
- at performUnitOfWork (chunk-276SZO74.js?v=667b4a6e:19198:20)
502
- at workLoopSync (chunk-276SZO74.js?v=667b4a6e:19137:13)
503
- at renderRootSync (chunk-276SZO74.js?v=667b4a6e:19116:15)
504
- at recoverFromConcurrentError (chunk-276SZO74.js?v=667b4a6e:18736:28)
505
- useProjectSetup @ ProjectSetupContext.tsx:145
506
- ProjectSetupContent @ ProjectSetupWizard.tsx:18
507
- renderWithHooks @ chunk-276SZO74.js?v=667b4a6e:11548
508
- mountIndeterminateComponent @ chunk-276SZO74.js?v=667b4a6e:14926
509
- beginWork @ chunk-276SZO74.js?v=667b4a6e:15914
510
- beginWork$1 @ chunk-276SZO74.js?v=667b4a6e:19753
511
- performUnitOfWork @ chunk-276SZO74.js?v=667b4a6e:19198
512
- workLoopSync @ chunk-276SZO74.js?v=667b4a6e:19137
513
- renderRootSync @ chunk-276SZO74.js?v=667b4a6e:19116
514
- recoverFromConcurrentError @ chunk-276SZO74.js?v=667b4a6e:18736
515
- performSyncWorkOnRoot @ chunk-276SZO74.js?v=667b4a6e:18879
516
- flushSyncCallbacks @ chunk-276SZO74.js?v=667b4a6e:9119
517
- flushSync @ chunk-276SZO74.js?v=667b4a6e:18959
518
- scheduleRefresh @ chunk-276SZO74.js?v=667b4a6e:20004
519
- (anonymous) @ @react-refresh:228
520
- performReactRefresh @ @react-refresh:217
521
- (anonymous) @ @react-refresh:608
522
- setTimeout
523
- (anonymous) @ @react-refresh:598
524
- validateRefreshBoundaryAndEnqueueUpdate @ @react-refresh:648
525
- (anonymous) @ StepSubcontractors.tsx:361
526
- (anonymous) @ client:34
527
- (anonymous) @ client:218
528
- (anonymous) @ client:193
529
- queueUpdate @ client:193
530
- await in queueUpdate
531
- (anonymous) @ client:642
532
- handleMessage @ client:640
533
- (anonymous) @ client:550
534
- ProjectSetupWizard.tsx:188 🚀 ProjectSetupWizard RENDERING
535
  ProjectSetupContext.tsx:32 🔧 ProjectSetupProvider RENDERING
536
  ProjectSetupContext.tsx:38 🔧 ProjectSetupProvider projectId: 0ade6bd1-e492-4e25-b681-59f42058d29a
537
  ProjectSetupContext.tsx:64 🔧 Project query state: {isLoadingProject: false, hasProject: true, error: null}
538
  ProjectSetupWizard.tsx:38 🎯 ProjectSetupContent RENDER: {isLoadingProject: false, hasProject: true}
539
- ProjectSetupWizard.tsx:25 🎯 ProjectSetupContent MOUNTED
540
- ProjectSetupWizard.tsx:34 🎯 ProjectSetupContent STATE: {currentStep: 0, projectId: '0ade6bd1-e492-4e25-b681-59f42058d29a', isLoadingProject: false}
541
- ProjectSetupContext.tsx:41 🔧 ProjectSetupProvider MOUNTED
542
- core.ts:167 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/auth/me/preferences
543
- core.ts:167 GET https://kamau1-swiftops-backend.hf.space/api/v1/auth/me/preferences → 200 (1.57s)
544
  ProjectSetupContext.tsx:32 🔧 ProjectSetupProvider RENDERING
545
  ProjectSetupContext.tsx:38 🔧 ProjectSetupProvider projectId: 0ade6bd1-e492-4e25-b681-59f42058d29a
546
  ProjectSetupContext.tsx:64 🔧 Project query state: {isLoadingProject: false, hasProject: true, error: null}
547
  ProjectSetupWizard.tsx:38 🎯 ProjectSetupContent RENDER: {isLoadingProject: false, hasProject: true}
548
  ProjectSetupWizard.tsx:34 🎯 ProjectSetupContent STATE: {currentStep: 2, projectId: '0ade6bd1-e492-4e25-b681-59f42058d29a', isLoadingProject: false}
549
- chunk-24BRHPTI.js?v=667b4a6e:42 Accordion is changing from uncontrolled to controlled. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.
550
- (anonymous) @ chunk-24BRHPTI.js?v=667b4a6e:42
551
- commitHookEffectListMount @ chunk-276SZO74.js?v=667b4a6e:16915
552
- commitPassiveMountOnFiber @ chunk-276SZO74.js?v=667b4a6e:18156
553
- commitPassiveMountEffects_complete @ chunk-276SZO74.js?v=667b4a6e:18129
554
- commitPassiveMountEffects_begin @ chunk-276SZO74.js?v=667b4a6e:18119
555
- commitPassiveMountEffects @ chunk-276SZO74.js?v=667b4a6e:18109
556
- flushPassiveEffectsImpl @ chunk-276SZO74.js?v=667b4a6e:19490
557
- flushPassiveEffects @ chunk-276SZO74.js?v=667b4a6e:19447
558
- performSyncWorkOnRoot @ chunk-276SZO74.js?v=667b4a6e:18868
559
- flushSyncCallbacks @ chunk-276SZO74.js?v=667b4a6e:9119
560
- commitRootImpl @ chunk-276SZO74.js?v=667b4a6e:19432
561
- commitRoot @ chunk-276SZO74.js?v=667b4a6e:19277
562
- finishConcurrentRender @ chunk-276SZO74.js?v=667b4a6e:18805
563
- performConcurrentWorkOnRoot @ chunk-276SZO74.js?v=667b4a6e:18718
564
- workLoop @ chunk-276SZO74.js?v=667b4a6e:197
565
- flushWork @ chunk-276SZO74.js?v=667b4a6e:176
566
- performWorkUntilDeadline @ chunk-276SZO74.js?v=667b4a6e:384
567
- core.ts:117 ℹ️ [12:38:50] [COMPONENT] StepRoles: Saving roles batch {count: 1, deleted: 0}
568
- core.ts:167 %cPOST%c https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/project-roles
569
- core.ts:167 POST https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/project-roles → 201 (661ms)
570
- core.ts:167 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/project-roles
571
- core.ts:167 GET https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/project-roles → 200 (314ms)
572
- ProjectSetupContext.tsx:32 🔧 ProjectSetupProvider RENDERING
573
- ProjectSetupContext.tsx:38 🔧 ProjectSetupProvider projectId: 0ade6bd1-e492-4e25-b681-59f42058d29a
574
- ProjectSetupContext.tsx:64 🔧 Project query state: {isLoadingProject: false, hasProject: true, error: null}
575
- ProjectSetupWizard.tsx:38 🎯 ProjectSetupContent RENDER: {isLoadingProject: false, hasProject: true}
576
  ProjectSetupContext.tsx:32 🔧 ProjectSetupProvider RENDERING
577
  ProjectSetupContext.tsx:38 🔧 ProjectSetupProvider projectId: 0ade6bd1-e492-4e25-b681-59f42058d29a
578
  ProjectSetupContext.tsx:64 🔧 Project query state: {isLoadingProject: false, hasProject: true, error: null}
579
  ProjectSetupWizard.tsx:38 🎯 ProjectSetupContent RENDER: {isLoadingProject: false, hasProject: true}
580
- core.ts:117 ℹ️ [12:38:52] [DATA] Fetching available partner organizations {search: undefined, industry: undefined, isActive: true}
581
- core.ts:167 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/organizations/partners?is_active=true
582
- ProjectSetupWizard.tsx:34 🎯 ProjectSetupContent STATE: {currentStep: 3, projectId: '0ade6bd1-e492-4e25-b681-59f42058d29a', isLoadingProject: false}
583
- chunk-24BRHPTI.js?v=667b4a6e:42 Accordion is changing from uncontrolled to controlled. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.
584
- (anonymous) @ chunk-24BRHPTI.js?v=667b4a6e:42
585
- commitHookEffectListMount @ chunk-276SZO74.js?v=667b4a6e:16915
586
- commitPassiveMountOnFiber @ chunk-276SZO74.js?v=667b4a6e:18156
587
- commitPassiveMountEffects_complete @ chunk-276SZO74.js?v=667b4a6e:18129
588
- commitPassiveMountEffects_begin @ chunk-276SZO74.js?v=667b4a6e:18119
589
- commitPassiveMountEffects @ chunk-276SZO74.js?v=667b4a6e:18109
590
- flushPassiveEffectsImpl @ chunk-276SZO74.js?v=667b4a6e:19490
591
- flushPassiveEffects @ chunk-276SZO74.js?v=667b4a6e:19447
592
- performSyncWorkOnRoot @ chunk-276SZO74.js?v=667b4a6e:18868
593
- flushSyncCallbacks @ chunk-276SZO74.js?v=667b4a6e:9119
594
- commitRootImpl @ chunk-276SZO74.js?v=667b4a6e:19432
595
- commitRoot @ chunk-276SZO74.js?v=667b4a6e:19277
596
- finishConcurrentRender @ chunk-276SZO74.js?v=667b4a6e:18805
597
- performConcurrentWorkOnRoot @ chunk-276SZO74.js?v=667b4a6e:18718
598
- workLoop @ chunk-276SZO74.js?v=667b4a6e:197
599
- flushWork @ chunk-276SZO74.js?v=667b4a6e:176
600
- performWorkUntilDeadline @ chunk-276SZO74.js?v=667b4a6e:384
601
- organization.service.ts:177 GET https://kamau1-swiftops-backend.hf.space/api/v1/organizations/partners?is_active=true 403 (Forbidden)
602
- fetchAvailablePartners @ organization.service.ts:177
603
- loadContractors @ StepSubcontractors.tsx:69
604
- (anonymous) @ StepSubcontractors.tsx:85
605
- commitHookEffectListMount @ chunk-276SZO74.js?v=667b4a6e:16915
606
- commitPassiveMountOnFiber @ chunk-276SZO74.js?v=667b4a6e:18156
607
- commitPassiveMountEffects_complete @ chunk-276SZO74.js?v=667b4a6e:18129
608
- commitPassiveMountEffects_begin @ chunk-276SZO74.js?v=667b4a6e:18119
609
- commitPassiveMountEffects @ chunk-276SZO74.js?v=667b4a6e:18109
610
- flushPassiveEffectsImpl @ chunk-276SZO74.js?v=667b4a6e:19490
611
- flushPassiveEffects @ chunk-276SZO74.js?v=667b4a6e:19447
612
- performSyncWorkOnRoot @ chunk-276SZO74.js?v=667b4a6e:18868
613
- flushSyncCallbacks @ chunk-276SZO74.js?v=667b4a6e:9119
614
- commitRootImpl @ chunk-276SZO74.js?v=667b4a6e:19432
615
- commitRoot @ chunk-276SZO74.js?v=667b4a6e:19277
616
- finishConcurrentRender @ chunk-276SZO74.js?v=667b4a6e:18805
617
- performConcurrentWorkOnRoot @ chunk-276SZO74.js?v=667b4a6e:18718
618
- workLoop @ chunk-276SZO74.js?v=667b4a6e:197
619
- flushWork @ chunk-276SZO74.js?v=667b4a6e:176
620
- performWorkUntilDeadline @ chunk-276SZO74.js?v=667b4a6e:384
621
- core.ts:167 GET https://kamau1-swiftops-backend.hf.space/api/v1/organizations/partners?is_active=true → 403 (529ms)
622
- core.ts:117 ❌ [12:38:53] [DATA] Failed to fetch available partner organizations {status: 403}
623
- log @ core.ts:117
624
- error @ core.ts:157
625
- fetchAvailablePartners @ organization.service.ts:183
626
- await in fetchAvailablePartners
627
- loadContractors @ StepSubcontractors.tsx:69
628
- (anonymous) @ StepSubcontractors.tsx:85
629
- commitHookEffectListMount @ chunk-276SZO74.js?v=667b4a6e:16915
630
- commitPassiveMountOnFiber @ chunk-276SZO74.js?v=667b4a6e:18156
631
- commitPassiveMountEffects_complete @ chunk-276SZO74.js?v=667b4a6e:18129
632
- commitPassiveMountEffects_begin @ chunk-276SZO74.js?v=667b4a6e:18119
633
- commitPassiveMountEffects @ chunk-276SZO74.js?v=667b4a6e:18109
634
- flushPassiveEffectsImpl @ chunk-276SZO74.js?v=667b4a6e:19490
635
- flushPassiveEffects @ chunk-276SZO74.js?v=667b4a6e:19447
636
- performSyncWorkOnRoot @ chunk-276SZO74.js?v=667b4a6e:18868
637
- flushSyncCallbacks @ chunk-276SZO74.js?v=667b4a6e:9119
638
- commitRootImpl @ chunk-276SZO74.js?v=667b4a6e:19432
639
- commitRoot @ chunk-276SZO74.js?v=667b4a6e:19277
640
- finishConcurrentRender @ chunk-276SZO74.js?v=667b4a6e:18805
641
- performConcurrentWorkOnRoot @ chunk-276SZO74.js?v=667b4a6e:18718
642
- workLoop @ chunk-276SZO74.js?v=667b4a6e:197
643
- flushWork @ chunk-276SZO74.js?v=667b4a6e:176
644
- performWorkUntilDeadline @ chunk-276SZO74.js?v=667b4a6e:384
645
- core.ts:117 ❌ [12:38:53] [COMPONENT] StepSubcontractors error: Failed to load available partner organizations {error: Error: Failed to load available partner organizations
646
- at fetchAvailablePartners (http://localho…, errorInfo: {…}}
647
  log @ core.ts:117
648
  error @ core.ts:157
649
  logComponentError @ component.ts:60
650
  error @ component.ts:96
651
- loadContractors @ StepSubcontractors.tsx:79
652
- await in loadContractors
653
- (anonymous) @ StepSubcontractors.tsx:85
654
- commitHookEffectListMount @ chunk-276SZO74.js?v=667b4a6e:16915
655
- commitPassiveMountOnFiber @ chunk-276SZO74.js?v=667b4a6e:18156
656
- commitPassiveMountEffects_complete @ chunk-276SZO74.js?v=667b4a6e:18129
657
- commitPassiveMountEffects_begin @ chunk-276SZO74.js?v=667b4a6e:18119
658
- commitPassiveMountEffects @ chunk-276SZO74.js?v=667b4a6e:18109
659
- flushPassiveEffectsImpl @ chunk-276SZO74.js?v=667b4a6e:19490
660
- flushPassiveEffects @ chunk-276SZO74.js?v=667b4a6e:19447
661
- performSyncWorkOnRoot @ chunk-276SZO74.js?v=667b4a6e:18868
662
- flushSyncCallbacks @ chunk-276SZO74.js?v=667b4a6e:9119
663
- commitRootImpl @ chunk-276SZO74.js?v=667b4a6e:19432
664
- commitRoot @ chunk-276SZO74.js?v=667b4a6e:19277
665
- finishConcurrentRender @ chunk-276SZO74.js?v=667b4a6e:18805
666
- performConcurrentWorkOnRoot @ chunk-276SZO74.js?v=667b4a6e:18718
667
- workLoop @ chunk-276SZO74.js?v=667b4a6e:197
668
- flushWork @ chunk-276SZO74.js?v=667b4a6e:176
669
- performWorkUntilDeadline @ chunk-276SZO74.js?v=667b4a6e:384
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ chunk-276SZO74.js?v=8b1c4295:21551 Download the React DevTools for a better development experience: https://reactjs.org/link/react-devtools
2
  core.ts:167 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/auth/me
3
+ react-router-dom.js?v=8b1c4295:4393 ⚠️ React Router Future Flag Warning: React Router will begin wrapping state updates in `React.startTransition` in v7. You can use the `v7_startTransition` future flag to opt-in early. For more information, see https://reactrouter.com/v6/upgrading/future#v7_starttransition.
4
+ warnOnce @ react-router-dom.js?v=8b1c4295:4393
5
+ logDeprecation @ react-router-dom.js?v=8b1c4295:4396
6
+ logV6DeprecationWarnings @ react-router-dom.js?v=8b1c4295:4399
7
+ (anonymous) @ react-router-dom.js?v=8b1c4295:5271
8
+ commitHookEffectListMount @ chunk-276SZO74.js?v=8b1c4295:16915
9
+ commitPassiveMountOnFiber @ chunk-276SZO74.js?v=8b1c4295:18156
10
+ commitPassiveMountEffects_complete @ chunk-276SZO74.js?v=8b1c4295:18129
11
+ commitPassiveMountEffects_begin @ chunk-276SZO74.js?v=8b1c4295:18119
12
+ commitPassiveMountEffects @ chunk-276SZO74.js?v=8b1c4295:18109
13
+ flushPassiveEffectsImpl @ chunk-276SZO74.js?v=8b1c4295:19490
14
+ flushPassiveEffects @ chunk-276SZO74.js?v=8b1c4295:19447
15
+ (anonymous) @ chunk-276SZO74.js?v=8b1c4295:19328
16
+ workLoop @ chunk-276SZO74.js?v=8b1c4295:197
17
+ flushWork @ chunk-276SZO74.js?v=8b1c4295:176
18
+ performWorkUntilDeadline @ chunk-276SZO74.js?v=8b1c4295:384
19
+ react-router-dom.js?v=8b1c4295:4393 ⚠️ React Router Future Flag Warning: Relative route resolution within Splat routes is changing in v7. You can use the `v7_relativeSplatPath` future flag to opt-in early. For more information, see https://reactrouter.com/v6/upgrading/future#v7_relativesplatpath.
20
+ warnOnce @ react-router-dom.js?v=8b1c4295:4393
21
+ logDeprecation @ react-router-dom.js?v=8b1c4295:4396
22
+ logV6DeprecationWarnings @ react-router-dom.js?v=8b1c4295:4402
23
+ (anonymous) @ react-router-dom.js?v=8b1c4295:5271
24
+ commitHookEffectListMount @ chunk-276SZO74.js?v=8b1c4295:16915
25
+ commitPassiveMountOnFiber @ chunk-276SZO74.js?v=8b1c4295:18156
26
+ commitPassiveMountEffects_complete @ chunk-276SZO74.js?v=8b1c4295:18129
27
+ commitPassiveMountEffects_begin @ chunk-276SZO74.js?v=8b1c4295:18119
28
+ commitPassiveMountEffects @ chunk-276SZO74.js?v=8b1c4295:18109
29
+ flushPassiveEffectsImpl @ chunk-276SZO74.js?v=8b1c4295:19490
30
+ flushPassiveEffects @ chunk-276SZO74.js?v=8b1c4295:19447
31
+ (anonymous) @ chunk-276SZO74.js?v=8b1c4295:19328
32
+ workLoop @ chunk-276SZO74.js?v=8b1c4295:197
33
+ flushWork @ chunk-276SZO74.js?v=8b1c4295:176
34
+ performWorkUntilDeadline @ chunk-276SZO74.js?v=8b1c4295:384
35
+ core.ts:167 GET https://kamau1-swiftops-backend.hf.space/api/v1/auth/me → 200 (1.64s)
36
  ProjectSetupWizard.tsx:188 🚀 ProjectSetupWizard RENDERING
37
  ProjectSetupContext.tsx:32 🔧 ProjectSetupProvider RENDERING
38
  ProjectSetupContext.tsx:38 🔧 ProjectSetupProvider projectId: 0ade6bd1-e492-4e25-b681-59f42058d29a
39
+ ProjectSetupContext.tsx:64 🔧 Project query state: {isLoadingProject: true, hasProject: false, error: null}
40
+ ProjectSetupWizard.tsx:38 🎯 ProjectSetupContent RENDER: {isLoadingProject: true, hasProject: false}
41
  ProjectSetupWizard.tsx:41 🎯 Showing loading screen...
42
  ProjectSetupWizard.tsx:25 🎯 ProjectSetupContent MOUNTED
43
+ ProjectSetupWizard.tsx:34 🎯 ProjectSetupContent STATE: {currentStep: 0, projectId: undefined, isLoadingProject: true}
44
  ProjectSetupContext.tsx:41 🔧 ProjectSetupProvider MOUNTED
45
  ProjectSetupContext.tsx:59 🔧 Fetching project data for: 0ade6bd1-e492-4e25-b681-59f42058d29a
46
  core.ts:167 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a
 
48
  core.ts:167 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/project-roles
49
  core.ts:167 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/subcontractors
50
  core.ts:167 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/auth/me/preferences
51
+ core.ts:167 GET https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a → 200 (594ms)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
52
  ProjectSetupContext.tsx:32 🔧 ProjectSetupProvider RENDERING
53
  ProjectSetupContext.tsx:38 🔧 ProjectSetupProvider projectId: 0ade6bd1-e492-4e25-b681-59f42058d29a
54
  ProjectSetupContext.tsx:64 🔧 Project query state: {isLoadingProject: false, hasProject: true, error: null}
55
  ProjectSetupWizard.tsx:38 🎯 ProjectSetupContent RENDER: {isLoadingProject: false, hasProject: true}
56
+ ProjectSetupWizard.tsx:34 🎯 ProjectSetupContent STATE: {currentStep: 0, projectId: '0ade6bd1-e492-4e25-b681-59f42058d29a', isLoadingProject: false}
57
+ core.ts:167 GET https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/subcontractors → 200 (998ms)
58
+ core.ts:167 GET https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/regions → 200 (1.01s)
59
+ core.ts:167 GET https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/project-roles 200 (1.00s)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
60
  ProjectSetupContext.tsx:32 🔧 ProjectSetupProvider RENDERING
61
  ProjectSetupContext.tsx:38 🔧 ProjectSetupProvider projectId: 0ade6bd1-e492-4e25-b681-59f42058d29a
62
  ProjectSetupContext.tsx:64 🔧 Project query state: {isLoadingProject: false, hasProject: true, error: null}
63
  ProjectSetupWizard.tsx:38 🎯 ProjectSetupContent RENDER: {isLoadingProject: false, hasProject: true}
64
+ core.ts:167 GET https://kamau1-swiftops-backend.hf.space/api/v1/auth/me/preferences → 200 (1.09s)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
65
  ProjectSetupContext.tsx:32 🔧 ProjectSetupProvider RENDERING
66
  ProjectSetupContext.tsx:38 🔧 ProjectSetupProvider projectId: 0ade6bd1-e492-4e25-b681-59f42058d29a
67
  ProjectSetupContext.tsx:64 🔧 Project query state: {isLoadingProject: false, hasProject: true, error: null}
68
  ProjectSetupWizard.tsx:38 🎯 ProjectSetupContent RENDER: {isLoadingProject: false, hasProject: true}
69
+ ProjectSetupWizard.tsx:34 🎯 ProjectSetupContent STATE: {currentStep: 4, projectId: '0ade6bd1-e492-4e25-b681-59f42058d29a', isLoadingProject: false}
 
 
 
 
70
  ProjectSetupContext.tsx:32 🔧 ProjectSetupProvider RENDERING
71
  ProjectSetupContext.tsx:38 🔧 ProjectSetupProvider projectId: 0ade6bd1-e492-4e25-b681-59f42058d29a
72
  ProjectSetupContext.tsx:64 🔧 Project query state: {isLoadingProject: false, hasProject: true, error: null}
73
  ProjectSetupWizard.tsx:38 🎯 ProjectSetupContent RENDER: {isLoadingProject: false, hasProject: true}
74
  ProjectSetupWizard.tsx:34 🎯 ProjectSetupContent STATE: {currentStep: 2, projectId: '0ade6bd1-e492-4e25-b681-59f42058d29a', isLoadingProject: false}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
75
  ProjectSetupContext.tsx:32 🔧 ProjectSetupProvider RENDERING
76
  ProjectSetupContext.tsx:38 🔧 ProjectSetupProvider projectId: 0ade6bd1-e492-4e25-b681-59f42058d29a
77
  ProjectSetupContext.tsx:64 🔧 Project query state: {isLoadingProject: false, hasProject: true, error: null}
78
  ProjectSetupWizard.tsx:38 🎯 ProjectSetupContent RENDER: {isLoadingProject: false, hasProject: true}
79
+ ProjectSetupWizard.tsx:34 🎯 ProjectSetupContent STATE: {currentStep: 4, projectId: '0ade6bd1-e492-4e25-b681-59f42058d29a', isLoadingProject: false}
80
+ core.ts:167 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/users?skip=0&limit=100
81
+ core.ts:167 GET https://kamau1-swiftops-backend.hf.space/api/v1/users?skip=0&limit=100 200 (1.31s)
82
+ core.ts:124 ℹ️ [13:13:52] [COMPONENT] ProjectSetupWizard: User clicked save
83
+ core.ts:167 %cPOST%c https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/team
84
+ project-setup.service.ts:332 POST https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/team 500 (Internal Server Error)
85
+ addTeamMember @ project-setup.service.ts:332
86
+ handleAddExisting @ StepTeam.tsx:92
87
+ callCallback2 @ chunk-276SZO74.js?v=8b1c4295:3674
88
+ invokeGuardedCallbackDev @ chunk-276SZO74.js?v=8b1c4295:3699
89
+ invokeGuardedCallback @ chunk-276SZO74.js?v=8b1c4295:3733
90
+ invokeGuardedCallbackAndCatchFirstError @ chunk-276SZO74.js?v=8b1c4295:3736
91
+ executeDispatch @ chunk-276SZO74.js?v=8b1c4295:7014
92
+ processDispatchQueueItemsInOrder @ chunk-276SZO74.js?v=8b1c4295:7034
93
+ processDispatchQueue @ chunk-276SZO74.js?v=8b1c4295:7043
94
+ dispatchEventsForPlugins @ chunk-276SZO74.js?v=8b1c4295:7051
95
+ (anonymous) @ chunk-276SZO74.js?v=8b1c4295:7174
96
+ batchedUpdates$1 @ chunk-276SZO74.js?v=8b1c4295:18913
97
+ batchedUpdates @ chunk-276SZO74.js?v=8b1c4295:3579
98
+ dispatchEventForPluginEventSystem @ chunk-276SZO74.js?v=8b1c4295:7173
99
+ dispatchEventWithEnableCapturePhaseSelectiveHydrationWithoutDiscreteEventReplay @ chunk-276SZO74.js?v=8b1c4295:5478
100
+ dispatchEvent @ chunk-276SZO74.js?v=8b1c4295:5472
101
+ dispatchDiscreteEvent @ chunk-276SZO74.js?v=8b1c4295:5449
102
+ core.ts:167 POST https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/team → 500 (16.14s)
103
+ core.ts:117 [13:14:39] [COMPONENT] StepTeam error: Request failed {error: Error: Request failed
104
+ at handleResponse (http://localhost:8080/src/services/project-setup.servi…, errorInfo: {…}}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
105
  log @ core.ts:117
106
  error @ core.ts:157
107
  logComponentError @ component.ts:60
108
  error @ component.ts:96
109
+ handleAddExisting @ StepTeam.tsx:104
110
+ await in handleAddExisting
111
+ callCallback2 @ chunk-276SZO74.js?v=8b1c4295:3674
112
+ invokeGuardedCallbackDev @ chunk-276SZO74.js?v=8b1c4295:3699
113
+ invokeGuardedCallback @ chunk-276SZO74.js?v=8b1c4295:3733
114
+ invokeGuardedCallbackAndCatchFirstError @ chunk-276SZO74.js?v=8b1c4295:3736
115
+ executeDispatch @ chunk-276SZO74.js?v=8b1c4295:7014
116
+ processDispatchQueueItemsInOrder @ chunk-276SZO74.js?v=8b1c4295:7034
117
+ processDispatchQueue @ chunk-276SZO74.js?v=8b1c4295:7043
118
+ dispatchEventsForPlugins @ chunk-276SZO74.js?v=8b1c4295:7051
119
+ (anonymous) @ chunk-276SZO74.js?v=8b1c4295:7174
120
+ batchedUpdates$1 @ chunk-276SZO74.js?v=8b1c4295:18913
121
+ batchedUpdates @ chunk-276SZO74.js?v=8b1c4295:3579
122
+ dispatchEventForPluginEventSystem @ chunk-276SZO74.js?v=8b1c4295:7173
123
+ dispatchEventWithEnableCapturePhaseSelectiveHydrationWithoutDiscreteEventReplay @ chunk-276SZO74.js?v=8b1c4295:5478
124
+ dispatchEvent @ chunk-276SZO74.js?v=8b1c4295:5472
125
+ dispatchDiscreteEvent @ chunk-276SZO74.js?v=8b1c4295:5449
126
+ chunk-276SZO74.js?v=8b1c4295:521 Warning: Cannot update a component (`ForwardRef`) while rendering a different component (`ForwardRef`). To locate the bad setState() call inside `ForwardRef`, follow the stack trace as described in https://reactjs.org/link/setstate-in-render
127
+ at http://localhost:8080/node_modules/.vite/deps/sonner.js?v=8b1c4295:269:17
128
+ at Toaster (http://localhost:8080/src/components/ui/sonner.tsx:24:23)
129
+ at Provider (http://localhost:8080/node_modules/.vite/deps/chunk-3RXG37ZK.js?v=8b1c4295:38:15)
130
+ at TooltipProvider (http://localhost:8080/node_modules/.vite/deps/@radix-ui_react-tooltip.js?v=8b1c4295:65:5)
131
+ at ThemeProvider (http://localhost:8080/src/contexts/ThemeProvider.tsx:29:33)
132
+ at UserPreferencesProvider (http://localhost:8080/src/contexts/UserPreferencesContext.tsx:28:43)
133
+ at QueryClientProvider (http://localhost:8080/node_modules/.vite/deps/@tanstack_react-query.js?v=8b1c4295:2934:3)
134
+ at App (http://localhost:8080/src/App.tsx?t=1763903208554:147:35)
135
+ printWarning @ chunk-276SZO74.js?v=8b1c4295:521
136
+ error @ chunk-276SZO74.js?v=8b1c4295:505
137
+ warnAboutRenderPhaseUpdatesInDEV @ chunk-276SZO74.js?v=8b1c4295:19793
138
+ scheduleUpdateOnFiber @ chunk-276SZO74.js?v=8b1c4295:18546
139
+ dispatchSetState @ chunk-276SZO74.js?v=8b1c4295:12403
140
+ (anonymous) @ sonner.js?v=8b1c4295:277
141
+ (anonymous) @ sonner.js?v=8b1c4295:68
142
+ dismiss @ sonner.js?v=8b1c4295:68
143
+ (anonymous) @ sonner.js?v=8b1c4295:272
144
+ basicStateReducer @ chunk-276SZO74.js?v=8b1c4295:11703
145
+ updateReducer @ chunk-276SZO74.js?v=8b1c4295:11794
146
+ updateState @ chunk-276SZO74.js?v=8b1c4295:12021
147
+ useState @ chunk-276SZO74.js?v=8b1c4295:12753
148
+ useState @ chunk-ZMLY2J2T.js?v=8b1c4295:1066
149
+ (anonymous) @ sonner.js?v=8b1c4295:269
150
+ renderWithHooks @ chunk-276SZO74.js?v=8b1c4295:11548
151
+ updateForwardRef @ chunk-276SZO74.js?v=8b1c4295:14325
152
+ beginWork @ chunk-276SZO74.js?v=8b1c4295:15946
153
+ beginWork$1 @ chunk-276SZO74.js?v=8b1c4295:19753
154
+ performUnitOfWork @ chunk-276SZO74.js?v=8b1c4295:19198
155
+ workLoopSync @ chunk-276SZO74.js?v=8b1c4295:19137
156
+ renderRootSync @ chunk-276SZO74.js?v=8b1c4295:19116
157
+ performConcurrentWorkOnRoot @ chunk-276SZO74.js?v=8b1c4295:18678
158
+ workLoop @ chunk-276SZO74.js?v=8b1c4295:197
159
+ flushWork @ chunk-276SZO74.js?v=8b1c4295:176
160
+ performWorkUntilDeadline @ chunk-276SZO74.js?v=8b1c4295:384
docs/devlogs/server/runtimeerror.txt CHANGED
@@ -1,34 +1,140 @@
1
- ===== Application Startup at 2025-11-23 12:35:37 =====
2
 
3
  INFO: Started server process [7]
4
  INFO: Waiting for application startup.
5
- INFO: 2025-11-23T12:35:48 - app.main: ============================================================
6
- INFO: 2025-11-23T12:35:48 - app.main: 🚀 SwiftOps API v1.0.0 | PRODUCTION
7
- INFO: 2025-11-23T12:35:48 - app.main: ============================================================
8
- INFO: 2025-11-23T12:35:48 - app.main: 📦 Database:
9
- INFO: 2025-11-23T12:35:48 - app.main: ✓ Connected | 44 tables | 5 users
10
- INFO: 2025-11-23T12:35:48 - app.main: 💾 Cache & Sessions:
11
- INFO: 2025-11-23T12:35:49 - app.services.otp_service: ✅ OTP Service initialized with Redis storage
12
- INFO: 2025-11-23T12:35:50 - app.main: ✓ Redis: Connected
13
- INFO: 2025-11-23T12:35:50 - app.main: 🔌 External Services:
14
- INFO: 2025-11-23T12:35:50 - app.main: ✓ Cloudinary: Connected
15
- INFO: 2025-11-23T12:35:50 - app.main: ✓ Resend: Configured
16
- INFO: 2025-11-23T12:35:50 - app.main: ✓ WASender: Connected
17
- INFO: 2025-11-23T12:35:50 - app.main: ✓ Supabase: Connected | 6 buckets
18
- INFO: 2025-11-23T12:35:50 - app.main: ============================================================
19
- INFO: 2025-11-23T12:35:50 - app.main: ✅ Startup complete | Ready to serve requests
20
- INFO: 2025-11-23T12:35:50 - app.main: ============================================================
21
  INFO: Application startup complete.
22
  INFO: Uvicorn running on http://0.0.0.0:7860 (Press CTRL+C to quit)
23
- INFO: 10.16.18.114:42172 - "GET /health HTTP/1.1" 200 OK
24
- INFO: 10.16.18.114:2175 - "GET /health HTTP/1.1" 200 OK
25
- INFO: 10.16.8.187:1866 - "GET /api/v1/auth/me/preferences/available-apps HTTP/1.1" 200 OK
26
- INFO: 10.16.44.15:1460 - "GET /api/v1/auth/me/preferences HTTP/1.1" 200 OK
27
- INFO: 10.16.8.187:25103 - "GET /health HTTP/1.1" 200 OK
28
- INFO: 10.16.18.114:25098 - "GET /health HTTP/1.1" 200 OK
29
- INFO: 2025-11-23T12:38:50 - app.services.project_service: Created role 'Rihanna' for project 0ade6bd1-e492-4e25-b681-59f42058d29a
30
- INFO: 2025-11-23T12:38:50 - app.services.audit_service: Audit log created: create on project_role by nadina73@nembors.com
31
- INFO: 10.16.8.187:25572 - "POST /api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/project-roles HTTP/1.1" 201 Created
32
- INFO: 10.16.18.114:25098 - "GET /api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/project-roles HTTP/1.1" 200 OK
33
- INFO: 10.16.18.114:25098 - "GET /api/v1/organizations/partners?is_active=true HTTP/1.1" 403 Forbidden
34
- INFO: 10.16.44.15:20286 - "GET /health HTTP/1.1" 200 OK
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ===== Application Startup at 2025-11-23 12:44:27 =====
2
 
3
  INFO: Started server process [7]
4
  INFO: Waiting for application startup.
5
+ INFO: 2025-11-23T12:44:42 - app.main: ============================================================
6
+ INFO: 2025-11-23T12:44:42 - app.main: 🚀 SwiftOps API v1.0.0 | PRODUCTION
7
+ INFO: 2025-11-23T12:44:42 - app.main: ============================================================
8
+ INFO: 2025-11-23T12:44:42 - app.main: 📦 Database:
9
+ INFO: 2025-11-23T12:44:42 - app.main: ✓ Connected | 44 tables | 5 users
10
+ INFO: 2025-11-23T12:44:42 - app.main: 💾 Cache & Sessions:
11
+ INFO: 2025-11-23T12:44:43 - app.services.otp_service: ✅ OTP Service initialized with Redis storage
12
+ INFO: 2025-11-23T12:44:44 - app.main: ✓ Redis: Connected
13
+ INFO: 2025-11-23T12:44:44 - app.main: 🔌 External Services:
14
+ INFO: 2025-11-23T12:44:44 - app.main: ✓ Cloudinary: Connected
15
+ INFO: 2025-11-23T12:44:44 - app.main: ✓ Resend: Configured
16
+ INFO: 2025-11-23T12:44:44 - app.main: ✓ WASender: Connected
17
+ INFO: 2025-11-23T12:44:44 - app.main: ✓ Supabase: Connected | 6 buckets
18
+ INFO: 2025-11-23T12:44:44 - app.main: ============================================================
19
+ INFO: 2025-11-23T12:44:44 - app.main: ✅ Startup complete | Ready to serve requests
20
+ INFO: 2025-11-23T12:44:44 - app.main: ============================================================
21
  INFO: Application startup complete.
22
  INFO: Uvicorn running on http://0.0.0.0:7860 (Press CTRL+C to quit)
23
+ INFO: 10.16.44.15:2250 - "GET /api/v1/organizations/partners?is_active=true HTTP/1.1" 200 OK
24
+ INFO: 10.16.18.114:27418 - "GET /health HTTP/1.1" 200 OK
25
+ INFO: 10.16.18.108:7641 - "GET /api/v1/auth/me/preferences HTTP/1.1" 200 OK
26
+ INFO: 10.16.18.108:3178 - "GET /api/v1/auth/me/preferences/available-apps HTTP/1.1" 200 OK
27
+ INFO: 10.16.18.108:7641 - "GET /api/v1/projects?page=1&per_page=100 HTTP/1.1" 200 OK
28
+ INFO: 10.16.18.114:45961 - "GET /api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a HTTP/1.1" 200 OK
29
+ INFO: 10.16.44.15:40510 - "GET /api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/regions HTTP/1.1" 200 OK
30
+ INFO: 10.16.8.187:5137 - "GET /api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/subcontractors HTTP/1.1" 200 OK
31
+ INFO: 10.16.8.187:62764 - "GET /api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/project-roles HTTP/1.1" 200 OK
32
+ INFO: 10.16.8.187:37701 - "GET /health HTTP/1.1" 200 OK
33
+ INFO: 10.16.18.114:8757 - "GET /api/v1/auth/me HTTP/1.1" 200 OK
34
+ INFO: 10.16.18.114:8757 - "GET /api/v1/auth/me/preferences/available-apps HTTP/1.1" 200 OK
35
+ INFO: 10.16.8.187:37701 - "GET /api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/subcontractors HTTP/1.1" 200 OK
36
+ INFO: 10.16.44.15:49422 - "GET /api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a HTTP/1.1" 200 OK
37
+ INFO: 10.16.44.15:5365 - "GET /api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/regions HTTP/1.1" 200 OK
38
+ INFO: 10.16.44.15:8486 - "GET /api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/project-roles HTTP/1.1" 200 OK
39
+ INFO: 10.16.8.187:28074 - "GET /api/v1/auth/me/preferences HTTP/1.1" 200 OK
40
+ INFO: 10.16.18.114:8757 - "GET /api/v1/organizations/partners?is_active=true HTTP/1.1" 200 OK
41
+ INFO: 10.16.18.114:10064 - "GET /health HTTP/1.1" 200 OK
42
+ INFO: 10.16.44.15:17649 - "GET /health HTTP/1.1" 200 OK
43
+ INFO: 10.16.18.114:15029 - "GET /health HTTP/1.1" 200 OK
44
+ INFO: 10.16.18.114:59178 - "GET / HTTP/1.1" 200 OK
45
+ INFO: 10.16.44.15:50207 - "GET /health HTTP/1.1" 200 OK
46
+ INFO: 10.16.18.114:14099 - "GET /health HTTP/1.1" 200 OK
47
+ INFO: 10.16.44.15:54626 - "GET /api/v1/organizations/partners?is_active=true HTTP/1.1" 200 OK
48
+ INFO: 10.16.8.187:11316 - "GET /api/v1/organizations/partners?is_active=true&type=contractor HTTP/1.1" 200 OK
49
+ INFO: 10.16.18.114:36987 - "GET /health HTTP/1.1" 200 OK
50
+ INFO: 10.16.8.187:59341 - "GET /api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/project-roles HTTP/1.1" 200 OK
51
+ INFO: 10.16.18.108:62593 - "GET /health HTTP/1.1" 200 OK
52
+ INFO: 10.16.8.187:56844 - "GET /health HTTP/1.1" 200 OK
53
+ INFO: 10.16.44.15:22289 - "GET /health HTTP/1.1" 200 OK
54
+ INFO: 10.16.18.114:13247 - "GET /health HTTP/1.1" 200 OK
55
+ INFO: 10.16.18.114:1221 - "GET /health HTTP/1.1" 200 OK
56
+ INFO: 10.16.18.108:61533 - "GET /health HTTP/1.1" 200 OK
57
+ INFO: 10.16.44.15:22778 - "GET /health HTTP/1.1" 200 OK
58
+ INFO: 10.16.18.108:36355 - "GET /health HTTP/1.1" 200 OK
59
+ INFO: 10.16.18.114:1925 - "GET /health HTTP/1.1" 200 OK
60
+ INFO: 10.16.18.108:11451 - "GET /health HTTP/1.1" 200 OK
61
+ INFO: 10.16.44.15:21711 - "GET /health HTTP/1.1" 200 OK
62
+ INFO: 10.16.8.187:56078 - "GET /health HTTP/1.1" 200 OK
63
+ INFO: 10.16.44.194:21378 - "GET /health HTTP/1.1" 200 OK
64
+ INFO: 10.16.8.187:63735 - "GET /api/v1/auth/me HTTP/1.1" 200 OK
65
+ INFO: 10.16.18.108:29713 - "GET /api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a HTTP/1.1" 200 OK
66
+ INFO: 10.16.44.194:21378 - "GET /api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/project-roles HTTP/1.1" 200 OK
67
+ INFO: 10.16.44.194:51842 - "GET /api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/regions HTTP/1.1" 200 OK
68
+ INFO: 10.16.44.194:6581 - "GET /api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/subcontractors HTTP/1.1" 200 OK
69
+ INFO: 10.16.18.114:2754 - "GET /api/v1/auth/me/preferences/available-apps HTTP/1.1" 200 OK
70
+ INFO: 10.16.44.15:57641 - "GET /api/v1/auth/me/preferences HTTP/1.1" 200 OK
71
+ INFO: 10.16.44.194:51842 - "GET /health HTTP/1.1" 200 OK
72
+ INFO: 10.16.44.15:5427 - "GET /health HTTP/1.1" 200 OK
73
+ INFO: 10.16.44.15:40254 - "GET /health HTTP/1.1" 200 OK
74
+ INFO: 10.16.18.108:22857 - "GET /health HTTP/1.1" 200 OK
75
+ INFO: 10.16.18.114:42590 - "GET /health HTTP/1.1" 200 OK
76
+ INFO: 10.16.8.187:35802 - "GET /api/v1/users?skip=0&limit=100 HTTP/1.1" 200 OK
77
+ INFO: 10.16.8.187:59957 - "GET /health HTTP/1.1" 200 OK
78
+ INFO: 10.16.18.108:17847 - "GET /health HTTP/1.1" 200 OK
79
+ INFO: 10.16.18.108:53716 - "GET /health HTTP/1.1" 200 OK
80
+ INFO: 10.16.44.15:30376 - "GET /health HTTP/1.1" 200 OK
81
+ INFO: 10.16.18.114:45049 - "POST /api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/team HTTP/1.1" 500 Internal Server Error
82
+ ERROR: Exception in ASGI application
83
+ Traceback (most recent call last):
84
+ File "/usr/local/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 426, in run_asgi
85
+ result = await app( # type: ignore[func-returns-value]
86
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
87
+ File "/usr/local/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 84, in __call__
88
+ return await self.app(scope, receive, send)
89
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
90
+ File "/usr/local/lib/python3.11/site-packages/fastapi/applications.py", line 1106, in __call__
91
+ await super().__call__(scope, receive, send)
92
+ File "/usr/local/lib/python3.11/site-packages/starlette/applications.py", line 122, in __call__
93
+ await self.middleware_stack(scope, receive, send)
94
+ File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 184, in __call__
95
+ raise exc
96
+ File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 162, in __call__
97
+ await self.app(scope, receive, _send)
98
+ File "/usr/local/lib/python3.11/site-packages/starlette/middleware/cors.py", line 91, in __call__
99
+ await self.simple_response(scope, receive, send, request_headers=headers)
100
+ File "/usr/local/lib/python3.11/site-packages/starlette/middleware/cors.py", line 146, in simple_response
101
+ await self.app(scope, receive, send)
102
+ File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 79, in __call__
103
+ raise exc
104
+ File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 68, in __call__
105
+ await self.app(scope, receive, sender)
106
+ File "/usr/local/lib/python3.11/site-packages/fastapi/middleware/asyncexitstack.py", line 20, in __call__
107
+ raise e
108
+ File "/usr/local/lib/python3.11/site-packages/fastapi/middleware/asyncexitstack.py", line 17, in __call__
109
+ await self.app(scope, receive, send)
110
+ File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 718, in __call__
111
+ await route.handle(scope, receive, send)
112
+ File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 276, in handle
113
+ await self.app(scope, receive, send)
114
+ File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 66, in app
115
+ response = await func(request)
116
+ ^^^^^^^^^^^^^^^^^^^
117
+ File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 274, in app
118
+ raw_response = await run_endpoint_function(
119
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
120
+ File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 191, in run_endpoint_function
121
+ return await dependant.call(**values)
122
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
123
+ File "/app/src/app/api/v1/projects.py", line 794, in add_existing_user_to_project
124
+ db.add(team_member)
125
+ File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 3437, in add
126
+ self._save_or_update_state(state)
127
+ File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 3464, in _save_or_update_state
128
+ for o, m, st_, dct_ in mapper.cascade_iterator(
129
+ File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/mapper.py", line 3964, in cascade_iterator
130
+ queue = deque(
131
+ ^^^^^^
132
+ File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/relationships.py", line 1503, in cascade_iterator
133
+ tuples = state.manager[self.key].impl.get_all_pending(state, dict_)
134
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
135
+ File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/attributes.py", line 1410, in get_all_pending
136
+ ret = [(instance_state(current), current)]
137
+ ^^^^^^^^^^^^^^^^^^^^^^^
138
+ AttributeError: 'str' object has no attribute '_sa_instance_state'
139
+ INFO: 10.16.8.187:47227 - "GET /health HTTP/1.1" 200 OK
140
+ INFO: 10.16.18.114:19483 - "GET /health HTTP/1.1" 200 OK
src/app/api/v1/projects.py CHANGED
@@ -807,7 +807,23 @@ async def add_existing_user_to_project(
807
  request=request
808
  )
809
 
810
- return ProjectTeamResponse.model_validate(team_member)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
811
 
812
 
813
  @router.get("/{project_id}/team/invitations")
 
807
  request=request
808
  )
809
 
810
+ # Build response with nested data
811
+ response_data = {
812
+ **team_member.__dict__,
813
+ "user_name": user.name,
814
+ "user_email": user.email,
815
+ "user_role": user.role
816
+ }
817
+
818
+ # Add role name if project_role is assigned
819
+ if team_member.project_role_id and team_member.project_role:
820
+ response_data["role_name"] = team_member.project_role.role_name
821
+
822
+ # Add region name if region is assigned
823
+ if team_member.project_region_id and team_member.region:
824
+ response_data["region_name"] = team_member.region.region_name
825
+
826
+ return ProjectTeamResponse.model_validate(response_data)
827
 
828
 
829
  @router.get("/{project_id}/team/invitations")
src/app/models/project_team.py CHANGED
@@ -61,7 +61,7 @@ class ProjectTeam(BaseModel):
61
  # Relationships
62
  project = relationship("Project", back_populates="team")
63
  user = relationship("User", foreign_keys=[user_id], overlaps="project_memberships")
64
- role = relationship("ProjectRole", foreign_keys=[project_role_id])
65
  region = relationship("ProjectRegion", foreign_keys=[project_region_id])
66
  subcontractor = relationship("ProjectSubcontractor", foreign_keys=[project_subcontractor_id])
67
 
 
61
  # Relationships
62
  project = relationship("Project", back_populates="team")
63
  user = relationship("User", foreign_keys=[user_id], overlaps="project_memberships")
64
+ project_role = relationship("ProjectRole", foreign_keys=[project_role_id])
65
  region = relationship("ProjectRegion", foreign_keys=[project_region_id])
66
  subcontractor = relationship("ProjectSubcontractor", foreign_keys=[project_subcontractor_id])
67