Skip to content

P36.5#15

Merged
Sellafield merged 77 commits into
developfrom
p36.5
Jun 7, 2026
Merged

P36.5#15
Sellafield merged 77 commits into
developfrom
p36.5

Conversation

@Sellafield

Copy link
Copy Markdown
Contributor

No description provided.

Sellafield and others added 30 commits May 30, 2026 14:39
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ards

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…derboardRewards; clone fix

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ing, QueueSaveLeaderboardReward command

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Equipment Set Rewards for Seasons implemented on branch p36.5.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…-part handling in RobotExporter

SeasonExporter: export item definitions before packageitems/equipment_set_members merges to
avoid FK/NOT NULL violations on fresh databases; convert package/set ID collections from
List<int> to HashSet<int> to eliminate O(n²) Contains checks.

RobotExporter: track failed part exports in failedExports set (removed from exported to skip
chassisbonus), pass to AddRobotTemplateMergeAsync so PartRef returns "0" for missing
definitions instead of referencing an undeclared @def_* variable.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sellafield and others added 28 commits June 3, 2026 12:50
…ew (IMPROVEMENT-039)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…from Task 4 (IMPROVEMENT-039)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…n bias (IMPROVEMENT-039)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… (IMPROVEMENT-039)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…rts (ISSUE-027)

The !forMyCorporation guard in both CreateSellOrder and CreateBuyOrder
completely blocked auto-fulfillment for corporation-scoped orders, even
when a matching corp-restricted counterpart from the same corporation was
available.  Players in player corporations were the primary affected group.

New condition: match when !forMyCorporation (public order can match anything)
OR the found order's forMembersOf equals the submitting order's forMembersOf
(corp-only sell matches corp-only buy from the same corp).

Also normalises GetHighestBuyOrder SQL column/parameter names to lowercase
to match the DB schema and GetLowestSellOrder convention.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…uy orders on refresh (ISSUE-028)

Step 0 of usp_RefreshAutoMarketOrders classified items as raw materials using
NOT EXISTS against market_orders_configuration. After a trade list deletion,
the removed item passed this check and its buyback order was snapshotted into
automarket_unbought_resources; Step 4 then re-created a buy order for it.

Replaced the check with NOT EXISTS against production_data.product so that any
manufacturable item is always excluded from the unbought-resource carry-over,
regardless of current trade list state.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…e overhaul

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…culateInsurancePrices (IMPROVEMENT-036)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…cePayOutMultiplier (IMPROVEMENT-036)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…chase time (IMPROVEMENT-036)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… price matches purchase price (IMPROVEMENT-036)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…tory (IMPROVEMENT-036)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…PROVEMENT-036)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ENT-036)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…VEMENT-036)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…nsurancePrices (IMPROVEMENT-036)

Without RETURN the MERGE would execute with NULL multipliers on misconfigured rows,
silently zeroing all insurance fees and payouts instead of aborting cleanly.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…anceView (IMPROVEMENT-036)

StaticResource lookup from a UserControl does not reliably reach App.xaml in this
project. SeasonWizardWindow works because it redefines the converter locally —
same fix applied here.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…king (IMPROVEMENT-036)

DbQuery had no CommandTimeout setter — added Timeout() fluent method (default 30s,
matching SQL Server default). InsurancePriceRefreshService now uses 120s for the
recalculate SP call, which runs a recursive CTE over the full production catalog.

Startup call changed from synchronous Refresh() to async RefreshAsync() so a slow
first run no longer blocks server startup. Prices are already correct in DB from
the migration; the cache falls back to per-definition DB reads until the async
refresh completes.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…nesting limit (ISSUE-029)

Both v_all_production_costs and v_required_raw_materials joined against the
production_data VIEW inside their recursive member. SQL Server increments the
view nesting counter per recursion step for external view references; on
production crafting chains this exceeded the 32-level hard limit, crashing
usp_RecalculateInsurancePrices. Inlining production_data as a local CTE
(prod_data) eliminates view references from the recursive loop.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@Sellafield Sellafield merged commit f7f9493 into develop Jun 7, 2026
3 checks passed
@Sellafield Sellafield deleted the p36.5 branch June 7, 2026 08:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant