Made several improvements to the `InsuranceController` to ensure a more reliable and logical handling of insured items and their attachments.
- Updates `parentAttachmentsMap` declaration to `let` for mutability, enabling dynamic updates during processing.
- Updates `parentAttachmentsMap` to initially include all attachments (including attachments that should not be in-raid moddable).
- Updates `processRegularItems` logic to include `parentAttachmentsMap` in its parameters and logic. Now better ensures that attachments are correctly identified and processed alongside their parent items.
- Adds `removeNonModdableAttachments` method to filter out non-moddable attachments from processing.
- Updates deletion logic to better handle cases where items, such as armour vests and their non-removable plates, are processed to prevent orphaned items post-deletion.
Resolves#401
Resolved an issue that caused insurance packages that were created/lost in the same raid with different traders to be removed all at once instead of one-by-one after they were processed. This shouldn't have been causing any notable issues as the packages were already cached/queued up for processing elsewhere in the code, but it was never the original intent to have them removed before they were processed. The fix was simply to also match the trader ID when the package removal takes place.
Possibly related to #401#425
- Implemented deep cloning of input Items to prevent mutation.
- Reordered parameters: Items (required) now precede PMC data (optional).
- Updated method calls to bring them inline with these changes.
Two changes:
Calcualte the quality of an item and its mods, not just root item
Calcualte the average price of an offer using item + mods, not just root item
**Description**
This pull request changes the WebSocket connection `handle lost` log message in the `wsOnConnection` method of the `GameSocket` class. The original log message was:
```typescript
this.logger.debug(this.localisationService.getText("websocket-socket_lost_deleting_handle");
>>> [WS] Socket lost, deleting handle, status: %s
```
Which was inconsistent with most other languages. It can be understood from context that the socket was lost, therefor deleted and closed. Instead now;
```typescript
this.logger.debug(this.localisationService.getText("websocket-socket_lost_deleting_handle");
>>> [WS] Socket lost, deleting handle
```
This is achieved through editing the languages one by one and removing the "`status: %s`" component.
**Related**
- Closes: https://dev.sp-tarkov.com/SPT-AKI/Issues/issues/421
Co-authored-by: Deadly <info.saddiki@gmail.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/214
Co-authored-by: Deadly Alden <deadly@noreply.dev.sp-tarkov.com>
Co-committed-by: Deadly Alden <deadly@noreply.dev.sp-tarkov.com>
- Resolves an issue in bot generation caused by a missing parameter when calling the `shouldModBeSpawned` method.
- Adds a optional chaining operator within a condition to safeguard against undefined errors.
Contributed by: barlog_m
Thank you! :D
Resolves an issue where the error message in `getItemsToListOnFleaFromInventory` did not propagate as expected due to the pass-by-value behaviour in JavaScript. The solution was to refactor the method to return an object that includes both the items and the error message.
Fixed some instances of:
- Unordered imports
- Reassigning function parameters
- Modifying values in assignment/return statements
- Array.forEach being used instead of for...of
- Simplified control logic