Skip to content

Fix critical issues found in code review#18

Open
coder2000 wants to merge 8 commits into
developfrom
claude/epic-mendeleev
Open

Fix critical issues found in code review#18
coder2000 wants to merge 8 commits into
developfrom
claude/epic-mendeleev

Conversation

@coder2000

Copy link
Copy Markdown
Member

Summary

  • Parser.cs: Add missing _cts and _disposed field declarations —
    both were referenced throughout the class but never declared, causing
    a compile error
  • AsyncClientSocket.cs: Store BeginReadAsync result in a _readTask
    field and wrap the read loop in a try/catch so exceptions are logged
    rather than silently swallowed as unobserved task exceptions
  • BindingState.cs: Complete resource binding per RFC 6120 §7 — append
    the <resource> element when a client resource is configured, and handle
    the server's IQ result/error response (the else branch was previously
    empty, meaning binding could never complete successfully)

Test plan

  • Project compiles without errors
  • Client with a configured resource sends in the bind IQ
  • Client without a resource lets the server assign one
  • Read loop exception is logged and Connected is set to false
  • Binding error response transitions client to DisconnectState

coder2000 and others added 5 commits September 7, 2025 19:05
- Updated `.gitignore` to include new entries for Visual Studio, Visual Studio Code, and various build outputs, while removing outdated entries.
- Added rules for ignoring temporary files, build artifacts, and user-specific settings.
- Added package references for `FluentAssertions`, `Microsoft.NET.Test.Sdk`, and `xunit.runner.visualstudio` in `Ubiety.Xmpp.Test.csproj` to improve testing capabilities.
Updated `appveyor-old.yml` to include a new configuration with secure environment variables and PowerShell scripts, while disabling test and deploy steps. Modified `appveyor.yml` to use Visual Studio 2022, added auto-generated code instructions, and replaced environment variables with new build commands for Windows and Unix-like systems.

Integrated AppVeyor CI in `Build.cs` by adding the `Nuke.Common.CI.AppVeyor` namespace and an `AppVeyor` attribute for the `Build` class. Set `FetchDepth` to 0 in GitHub Actions to fetch full history.
Removed unnecessary using directives and TypeConverter attribute from Configuration.cs. This change simplifies the class by eliminating unused namespaces and the type conversion functionality, reflecting a shift in how the class is utilized.
Reorganized namespaces from `Ubiety.Xmpp.Core` to `Ubiety.Xmpp.Core.Client` for better structure. Added new `IServer` interface and `XmppServer` class to introduce server-side functionality. Updated `Execute` method signatures in state classes to enforce non-nullable `Tag` parameters. Added necessary using directives across multiple files. Removed unused `using System;` directive in `XmppBuilder.cs`. Minor copyright comment formatting adjustments.
- Parser: add missing _cts and _disposed field declarations that were
  used but never declared, causing a compile error
- AsyncClientSocket: store BeginReadAsync task in _readTask field and
  wrap read loop in try/catch so exceptions are logged rather than
  silently swallowed
- BindingState: complete resource binding by appending the <resource>
  element when a client resource is set, and handle the server IQ
  result/error response instead of leaving the else branch empty

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@coder2000 coder2000 changed the base branch from master to develop February 23, 2026 20:06
coder2000 and others added 3 commits February 23, 2026 16:12
GitVersion 6.x (referenced via PackageDownload in _build.csproj) requires
an explicit workflow configuration. Without GitVersion.yml it cannot
determine the versioning strategy, causing build failures.

- Add GitVersion.yml with GitFlow/v1 workflow; override the main branch
  regex to match both 'main' and 'master' since the repo uses both
- Remove the leftover GitVersion.CommandLine.DotNetCore 5.0.0 nupkg from
  packages/ which is unused now that the build uses GitVersion.Tool 6.4.0

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The generated continuous.yml was missing fetch-depth: 0 on both checkout
steps, so GitHub Actions checked out a shallow clone (depth 1). GitVersion
requires full history to calculate semantic versions.

FetchDepth = 0 was already set on the [GitHubActions] attribute in
Build.cs but the workflow file was not regenerated after that change.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude Code tooling files are local to the developer's environment
and should not be tracked in the repository.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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