• Joined on 2021-10-13
conco pushed to master at SVSim/SVSimLoader 2026-06-12 00:23:47 +00:00
8d86b45135 Merge branch 'feat/single-machine-two-client-pvp'
b3df361f6d feat(loader): add EnableSpinProbe diagnostic for the spin investigation
620ae31582 style(loader): file-scoped namespace + silence Harmony003 false positive
800e40344b feat(loader): mutex-skip + per-instance identity + synthetic Steam identity patches
5bc7d6f184 feat(loader): read SVSIM_INSTANCE_ID and derive per-instance identity
Compare 6 commits »
conco pushed to master at SVSim/SVSimLoader 2026-06-12 00:23:20 +00:00
b544f0f9eb feat(loader): Connection.ResourceUrl patch for GetResourceServerURL
44c370d7a8 docs(svsimloader): update data_dumps path references for reorg
d4c4a1386f Merge branch 'progression-import-export'
6426c0af77 feat(loader): GachaExchangeSweep over full master pack list
3832a20aed feat(loader): skip empty deck slots in user-data export
Compare 8 commits »
conco pushed to master at SVSim/SVSimServer 2026-06-11 11:48:10 +00:00
1960e28298 refactor(auth): decouple Steam handler from request DTO shape
b18b24b085 test(ranking): literal-prod-JSON wire-shape parity
f743b27696 feat(ranking): stub /ranking/* (6 endpoints)
80f249f8a2 feat(ranking): add RankingPeriodSchedule helper
b4aa07577f fix(friend): add BaseRequest body param to 6 body-less actions
Compare 105 commits »
conco pushed to master at SVSim/SVSimServer 2026-06-08 14:31:24 +00:00
20ddba4c5f Merge battle-engine-extraction: engine port + multi-instancing
5a23f93152 docs(engine-ambient): explain why _components GetOrAdd factory is contention-safe
fbac66fd0b chore(engine-ambient): harden shim + LocalLog statics for fixture parallelism
45344e6d83 chore(engine-ambient): audit script for static-write regressions
ab4545b274 test(engine-ambient): tighten MultiInstanceEngineTests post-setup assertions
Compare 131 commits »
conco pushed to master at SVSim/SVSimServer 2026-06-05 12:27:21 +00:00
2d32051cc0 refactor(battlenode): key dispatch on OpponentIsAckOnly, drop per-frame BattleType switch
9ff8948903 docs(battlenode): document four latent low-tier hygiene hazards
1007cf24d2 refactor(battlenode): type MatchContext.ClassId as CardClass enum (§C)
9b8a7f1e37 refactor(battlenode): name sender-only vs both-sides handshake checks (§D)
578d0a75ef refactor(battlenode): rename mode-id field off BattleType, add BattleModes (§D)
Compare 26 commits »
conco pushed to master at SVSim/SVSimServer 2026-06-04 15:30:18 +00:00
7bd2c0f2d7 test(battle-node): lock relayed uList shape vs prod recv capture (line 75)
a0aa58cfbe feat(battle-node): relay uList on PvP PlayActions
c0309061fa feat(battle-node): UnapprovedCardEntry + RelayUList pure transform
61080adace test(battle-node): lock copy-op parse vs prod capture line 196
b6edfbcf15 feat(battle-node): reveal copy tokens on play via baseIdx resolution
Compare 8 commits »
conco pushed to master at SVSim/SVSimServer 2026-06-04 10:57:05 +00:00
155ccf0a48 test(battle-node): lock token-reveal knownList shape vs prod capture line 96
d8b5ef950d feat(battle-node): reveal generated tokens on play via remembered identity
b6af8bfb7d feat(battle-node): mine generated-token cardIds from orderList add ops
Compare 3 commits »
conco pushed to master at SVSim/SVSimServer 2026-06-04 02:28:10 +00:00
4b38a9d3e0 test(battle-node): rename ScriptedBotCtx test helper to FakeOpponentCtx
ac78e809cd refactor(battle-node): clear residual scripted-bot prose from comments/docs
ba18790156 refactor(battle-node): rename ScriptedLifecycle->ServerBattleFrames, ScriptedProfiles->BattleFrameDefaults
e9493e24c4 refactor(battle-node): drop BattleType.Scripted and the scripted-only builders
b0e3783757 refactor(battle-node): drop dead MatchingResolver options param; fix stray BOM
Compare 55 commits »
conco pushed to master at SVSim/SVSimServer 2026-06-03 02:10:25 +00:00
fb1e91cdf1 Diagnostic logging
c551d7b05e refactor(battle-node): drop dead BattleResult.{Lose,Win,Consistency} members
d76b96b339 test(battle-node): lock server-authored frame shapes against prod captures
a198174ede fix(battle-node): involuntary-drop survivor gets DisconnectWin, not Win=NoContest
0a8a84b2cc refactor(battle-node): unify TurnEndFinal / Retire-Kill / gameplay-forwarder dispatch across types
Compare 13 commits »
conco pushed to master at SVSim/SVSimServer 2026-06-02 17:11:29 +00:00
5c4e427fab feat(battle-node): clear RealParticipant outbound archive on session terminate
10d9f74d05 feat(battle-node): add OutboundSequencer.Clear() for terminate cascade
3991bcc653 feat(battle-node): bound InboundTracker with watermark-guarded sliding window
898b872edd fix(rank-battle): route ai-start through the queue-time MatchContext
24f9b2240e feat(matching): move BotRoster from hardcoded fixture to DB-backed seed
Compare 167 commits »
conco pushed to master at SVSim/SVSimServer 2026-05-31 18:51:00 +00:00
fc504af496 feat(tk2): weighted-group reward picking
conco pushed to master at SVSim/SVSimServer 2026-05-31 17:33:08 +00:00
8e017c9d10 feat(check): stub /check/check_time_slip_card_master_hash
ac2f31103d fix(arena): match prod get_challenge_info wire shape; stub ranking_history
1af56b4ec4 fix(tk2): per-viewer is_join in arena_info + stub /arena/get_challenge_info
1e2e18e828 fix(tk2): rewards array uses ReceivedReward shape (reward_detail_id/item_type/is_usable)
6381e4da51 fix(tk2): match original SV (5-battle cap, no loss limit)
Compare 100 commits »
conco pushed to master at SVSim/SVSimServer 2026-05-29 01:34:14 +00:00
22c01ed11a fix(viewer): fresh signups start with empty DisplayName
b18bb9502a fix(pack): /pack/info reads ItemId via shadow FK, not nav property
177b4925a1 fix(session): bound the SID→UDID dict with FIFO eviction
91412ff821 fix(account): /account/update_name validates name input
d13082a8ca fix(gift): receive response is idempotent and echoes persisted state
Compare 30 commits »
conco pushed to master at SVSim/SVSimLoader 2026-05-28 15:21:41 +00:00
8f2ddeab96 Additional functionality
b1206c874d loader: patch GetDeckBuilderServerURL to point at the app server
76b7e59489 loader: emit traffic body as nested JSON, not escaped string
Compare 3 commits »
conco pushed to master at SVSim/SVSimServer 2026-05-28 12:33:47 +00:00
71b0c66631 test(card): snapshot-mismatch + protect-load round-trip
433408dddb test(card): /card/protect controller integration
1ee31c1689 controller(card): POST /card/protect
ecf819ca61 repo(card): SetProtected with zero-count-row preservation
b64123a9aa repo(card): ICardInventoryRepository.SetProtected surface
Compare 14 commits »
conco pushed to master at SVSim/SVSimServer 2026-05-28 04:54:51 +00:00
39b38e3c80 Battlepass fix
0f44a3482c fix(shops): smoke-test fallout from today's shop-cluster ship
7ef5f03eb3 feat(spot-card-exchange): /spot_card_exchange/{top,exchange} + SpotPoints currency
a5999a3e9c feat(leader-skin): shop catalog + 5 endpoints (/products, /buy, /buy_set, /buy_set_item, /ids)
559a170957 feat(item-purchase): /item_purchase/{info,purchase} + catalog
Compare 36 commits »
conco pushed to master at SVSim/SVSimServer 2026-05-27 12:31:08 +00:00
c303d3040d fix(bp): convert seed JST dates to UTC for Postgres timestamp-with-tz
c7dfd43daa review(bp): doc fixes + sales_period_info non-nullable + drop checked cast + TODO
9147ab0ec7 feat(bp): AddPointsAsync plumbing + level-cross auto-grant + weekly cap
4438e81e37 review(bp): post-state reward_list from RewardGrantService, not deltas
2cb8c271a8 feat(bp): /battle_pass/buy — crystal-cost + retroactive premium grants
Compare 37 commits »
conco pushed to master at SVSim/SVSimServer 2026-05-26 14:01:47 +00:00
9090086a47 Class leader fixes
conco pushed to master at SVSim/SVSimServer 2026-05-26 13:16:25 +00:00
b6966ece6e Prebuilt deck purchasing and fixes
conco pushed to master at SVSim/SVSimLoader 2026-05-26 01:52:25 +00:00
34a17a2b6b Cleanup, addition of new captures, readme