Skip to content

Fix PDB source paths and undeprecate ack and nack - #45

Merged
axelo merged 2 commits into
masterfrom
fix-pdb-paths-and-skip-wording
Oct 27, 2026
Merged

axelo merged 2 commits into
masterfrom
fix-pdb-paths-and-skip-wording

Conversation

@axelo

@axelo axelo commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

Problem

  • The F# compiler writes /_//src/... source paths into the PDB of the published package with the SDK's default path mapping. They don't match the /_/src/... paths in the F# metadata, so go to definition into the package fails in Ionide.
  • ack, nack and nackWithDelayNonBlocking were marked as deprecated, but they're still useful when the caller doesn't need the outcome: they log a skip due to a closed connection as a warning themselves.
  • The skip warning read "Skipped the nack of message ...", while the services log "Skipped nacking because ...".

Solution

  • Publish workflow: set up .NET from global.json and pack with -p:PathMap=$PWD=/_. Bump actions/setup-dotnet to v6 in the build workflow.
  • Remove the deprecation from ack, nack and nackWithDelayNonBlocking, and point to the try functions for callers that want to handle the outcome. Only tryNackWithDelayBlocking stays deprecated.
  • Reword the skip warning to "Skipped {operation} of message ({messageId}) from queue {consumedQueue} because the connection is closed ...", with the operations acking, nacking and delayed nacking.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The changes are narrowly scoped and internally consistent, with no unresolved blocking findings.

No open issues 🎉

What changed in this PR

This PR corrects published PDB source paths to support Ionide go-to-definition and clarifies the supported acknowledgement APIs.

Changes:

  • Configure publishing to use the SDK from global.json and an explicit source path mapping.
  • Remove deprecation guidance from three acknowledgement helpers while retaining it for tryNackWithDelayBlocking.
  • Reword skipped-operation warnings and update the matching test expectation.
File Description
src/​Insurello.RabbitMqClient/​RabbitMqClient.fs Update API documentation and skipped-operation warning text.
src/​Insurello.RabbitMqClient.Tests/​ConnectionClosedTest.fs Match the revised delayed-nack warning.
.github/​workflows/​publish_to_NuGet.yml Set up the configured SDK and correct package source path mapping.
.github/​workflows/​build.yml Upgrade actions/setup-dotnet to v6.

Review effort: Balanced

@axelo
axelo merged commit eece6db into master Oct 27, 2026
2 checks passed
@axelo
axelo deleted the fix-pdb-paths-and-skip-wording branch October 27, 2026 07:22
@axelo axelo self-assigned this Oct 27, 2026
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.

2 participants