Skip to content

feat: async chain end to end#46

Merged
Theauxm merged 1 commit intomainfrom
feat/async-chain
May 4, 2026
Merged

feat: async chain end to end#46
Theauxm merged 1 commit intomainfrom
feat/async-chain

Conversation

@Theauxm
Copy link
Copy Markdown
Member

@Theauxm Theauxm commented May 4, 2026

Summary

50 sample trains migrated to the new Junctions() shape from Trax.Core. Mechanical edit: return type wraps in Task<Either<Exception, ...>>, body appends .Resolve(), adds using LanguageExt; where missing.

Sample apps (GameServer, EnergyHub, ChatService, JobHunt, ContentShield, Flowthru.Spaceflights, TestRunner, ApiAudit) all build clean and most test suites pass.

Test plan

  • All sample app projects build clean, zero warnings
  • Unit + E2E suites: 289/294 sample tests pass
  • dotnet csharpier check . passes
  • 5 known failures in Trax.Samples.GameServer.E2E that look unrelated to the chain refactor — calling out for visibility:
    • BanPlayer_WithAdminKey_Succeeds and BanPlayer_RunMutation_ExecutesInline fail with Not authorized despite the admin key carrying both Admin and Player roles. The inverse test (BanPlayer_WithPlayerKey_Returns403) passes, so the auth pipeline reaches the right verdict on the deny path. The auth packages have no chain code (grep -rn "Chain\|Junctions\|Resolve" Trax.Api.Auth* → 0 hits).
    • OnTrainStarted_ReceivesEvent, OnTrainCompleted_ReceivesEvent, OnTrainFailed_NoEventForNonBroadcastTrain all fail at WebSocketClient.ConnectAsync with Incomplete handshake, status code: 200 — TestHost is returning 200 instead of 101 on the WS upgrade. Independent of the chain.

Migration

See Trax.Docs migration guide for the consumer-facing pattern.

@Theauxm Theauxm merged commit b4b8d78 into main May 4, 2026
1 of 2 checks passed
@Theauxm Theauxm deleted the feat/async-chain branch May 4, 2026 15:54
@traxsharp
Copy link
Copy Markdown

traxsharp Bot commented May 6, 2026

This PR is included in version 1.21.0

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