Skip to content

Fix typos and documentation wording from PR #10879 review#10881

Merged
jonathanpeppers merged 2 commits intomainfrom
copilot/fix-typos-documentation-wording
Mar 4, 2026
Merged

Fix typos and documentation wording from PR #10879 review#10881
jonathanpeppers merged 2 commits intomainfrom
copilot/fix-typos-documentation-wording

Conversation

Copy link
Contributor

Copilot AI commented Mar 3, 2026

Addresses typos and grammar issues identified in the #10879 review.

Documentation grammar

  • build-items.md: "on individual basis" → "on an individual basis"
  • build-properties.md: "allows to effectively disable this behavior" → "allows you to effectively disable it"

Code typo

  • Renamed NativeLibrarysAlwaysJniPreloadNativeLibrariesAlwaysJniPreload across property declarations and all usages (3 files, 6 occurrences)

💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

- Fix grammar in build-items.md: "on individual basis" → "on an individual basis"
- Fix grammar in build-properties.md: "allows to effectively disable this behavior" → "allows you to effectively disable it"
- Fix typo NativeLibrarysAlwaysJniPreload → NativeLibrariesAlwaysJniPreload

Co-authored-by: jonathanpeppers <840039+jonathanpeppers@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix typos and improve documentation wording in main Fix typos and documentation wording from PR #10879 review Mar 3, 2026
@jonathanpeppers jonathanpeppers marked this pull request as ready for review March 4, 2026 15:30
Copilot AI review requested due to automatic review settings March 4, 2026 15:30
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR applies small wording fixes in the documentation and corrects a typo in a C# property name related to JNI preload configuration, aligning naming across the build task and generator utilities.

Changes:

  • Fix grammar in build-properties.md and build-items.md.
  • Rename NativeLibrarysAlwaysJniPreloadNativeLibrariesAlwaysJniPreload and update all in-repo references.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/Xamarin.Android.Build.Tasks/Utilities/ApplicationConfigNativeAssemblyGeneratorCLR.cs Fixes the DsoCacheState property typo and updates its usage when computing JNI preload ignore list.
src/Xamarin.Android.Build.Tasks/Utilities/ApplicationConfigNativeAssemblyGenerator.cs Same property typo fix and updated call site to the ignore-list helper.
src/Xamarin.Android.Build.Tasks/Tasks/GenerateNativeApplicationConfigSources.cs Updates object initializers to set the corrected property name on the generator instances.
Documentation/docs-mobile/building-apps/build-properties.md Improves sentence grammar for AndroidIgnoreAllJniPreload description.
Documentation/docs-mobile/building-apps/build-items.md Improves sentence grammar for excluding libraries from the preload mechanism.

jonathanpeppers added a commit that referenced this pull request Mar 4, 2026
Add a Copilot skill for investigating Azure DevOps pipeline build
failures. Given a build URL, it fetches run details, identifies failed
jobs/tasks via the timeline API, downloads .binlog artifacts, and
analyzes them with binlogtool to find root causes.

Example usage:

    ❯ what are the errors here: #10881

    ◐ The user is asking about errors in a GitHub PR. This is a CI/build failure investigation task. There's an `azdo-build-investigator` skill available that can investigate Azure DevOps pipeline build failures
    and analyze .binlog files. However, this is a GitHub PR URL, not an AZDO URL directly. Let me check if the skill can handle GitHub PR URLs - the skill description says "Use this when users share an AZDO
    build URL, a GitHub PR URL, or ask about a failing pipeline, build errors, or CI failures." So yes, this skill can handle GitHub PR URLs.

    Let me invoke the `azdo-build-investigator` skill.

    ● skill(azdo-build-investigator)

    ◐ Let me follow the skill workflow to investigate the GitHub PR. The URL is #10881.

    First, let me check if `gh` CLI and `az` CLI are available, and then get the failing checks from the PR.

    ● Get failing checks from PR #10881
    $ gh pr checks 10881 --repo dotnet/android --json "name,state,link,bucket" 2>&1
    └ 39 lines...

    ◐ There's one failing check: `Xamarin.Android-PR` with a link to `https://devdiv.visualstudio.com/0bdbc590-a062-4c3f-b0f6-9383f67865ee/_build/results?buildId=13452282`. Let me parse this:
    - Org: `devdiv` (or `devdiv.visualstudio.com`)
    - Project: `0bdbc590-a062-4c3f-b0f6-9383f67865ee`
    - Build ID: `13452282`

    Let me get the build timeline.

    ● Get failed build timeline records
    $ az devops invoke --area build --resource timeline --route-parameters buildId=13452282 --org https://devdiv.visualstudio.com --project 0bdbc590-a062-4c3f-b0f6-9383f67865ee --query "records[?result=='failed']
    | [].{name:name, type:type, issues:issues, errorCount:errorCount}" --output json 2>&1
    └ 6 lines...

    ● Get failed build timeline records with project as route param
    $ az devops invoke --area build --resource timeline --route-parameters project=0bdbc590-a062-4c3f-b0f6-9383f67865ee buildId=13452282 --org https://devdiv.visualstudio.com --query "records[?result=='failed'] |
    [].{name:name, type:type, issues:issues, errorCount:errorCount}" --output json 2>&1
    └ 182 lines...

    ◐ Now I have a clear picture of the failure. The `Xamarin.Android-PR` check is failing in the `Pack .NET Maui` task with 78 RS0016 errors. These are all Roslyn public API analyzer errors — the new symbols
    added by this PR are not registered in the declared public API files.

    The affected files are in `src\AI\src\Essentials.AI\Platform\MaciOS\`:
    1. `NLEmbeddingExtensions.cs` - `NLEmbeddingExtensions` class and `AsIEmbeddingGenerator` method
    2. `NLEmbeddingGenerator.cs` - `NLEmbeddingGenerator` class, constructor, `GenerateAsync`, `Dispose`

    3. `AppleIntelligenceChatClient.cs` - `AppleIntelligenceChatClient` class, constructor, `GetResponseAsync`, `GetStreamingResponseAsync`

    The root cause is that these new public types and members need to be registered in the `PublicAPI.Shipped.txt` or `PublicAPI.Unshipped.txt` file tracked by the `[MAUIAI0001]` analyzer — this is actually a
    MAUI repo issue where the integration build is failing. The fix requires updating the public API declaration file.

    ● The failing check is Xamarin.Android-PR — specifically the "Pack .NET Maui" task, with 78 RS0016 errors.

    -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    Root Cause: Missing Public API Declarations

    The new Apple Intelligence / MAUI AI types added by this PR are not registered in the public API surface file. All errors are RS0016 from the Roslyn PublicApiAnalyzers:

    "Symbol is not part of the declared public API"

    The affected symbols are all in src\AI\src\Essentials.AI\Platform\MaciOS\ (a MAUI repo path, not this repo):

    ┌──────────────────────────────────┬─────────────────────────────────────────────────────────────────────┐
    │ File                             │ New Public Symbols                                                  │
    ├──────────────────────────────────┼─────────────────────────────────────────────────────────────────────┤
    │ AppleIntelligenceChatClient.cs   │ Class, constructor, GetResponseAsync, GetStreamingResponseAsync     │
    ├──────────────────────────────────┼─────────────────────────────────────────────────────────────────────┤
    │ NLEmbeddingGenerator.cs          │ Class, constructor, GenerateAsync, Dispose                          │
    ├──────────────────────────────────┼─────────────────────────────────────────────────────────────────────┤
    │ NLEmbeddingExtensions.cs         │ Class, AsIEmbeddingGenerator extension method                       │
    └──────────────────────────────────┴─────────────────────────────────────────────────────────────────────┘

    Fix

    The PublicAPI.Unshipped.txt file for the [MAUIAI0001] project needs to be updated to include all these new symbols. This is done in the MAUI repo — you need to add entries like:

    [MAUIAI0001]Microsoft.Maui.Essentials.AI.AppleIntelligenceChatClient
    [MAUIAI0001]Microsoft.Maui.Essentials.AI.AppleIntelligenceChatClient.AppleIntelligenceChatClient() -> void
    [MAUIAI0001]Microsoft.Maui.Essentials.AI.AppleIntelligenceChatClient.GetResponseAsync(...) -> ...
    ...

    to the PublicAPI.Unshipped.txt file in that project. The full list of symbols to add can be found in the 78 error messages from the build log.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
jonathanpeppers added a commit to jonathanpeppers/xamarin-android that referenced this pull request Mar 4, 2026
Add a Copilot skill for investigating Azure DevOps pipeline build
failures. Given a build URL, it fetches run details, identifies failed
jobs/tasks via the timeline API, downloads .binlog artifacts, and
analyzes them with binlogtool to find root causes.

Example usage:

    ❯ what are the errors here: dotnet#10881

    ◐ The user is asking about errors in a GitHub PR. This is a CI/build failure investigation task. There's an `azdo-build-investigator` skill available that can investigate Azure DevOps pipeline build failures
    and analyze .binlog files. However, this is a GitHub PR URL, not an AZDO URL directly. Let me check if the skill can handle GitHub PR URLs - the skill description says "Use this when users share an AZDO
    build URL, a GitHub PR URL, or ask about a failing pipeline, build errors, or CI failures." So yes, this skill can handle GitHub PR URLs.

    Let me invoke the `azdo-build-investigator` skill.

    ● skill(azdo-build-investigator)

    ◐ Let me follow the skill workflow to investigate the GitHub PR. The URL is dotnet#10881.

    First, let me check if `gh` CLI and `az` CLI are available, and then get the failing checks from the PR.

    ● Get failing checks from PR dotnet#10881
    $ gh pr checks 10881 --repo dotnet/android --json "name,state,link,bucket" 2>&1
    └ 39 lines...

    ◐ There's one failing check: `Xamarin.Android-PR` with a link to `https://devdiv.visualstudio.com/0bdbc590-a062-4c3f-b0f6-9383f67865ee/_build/results?buildId=13452282`. Let me parse this:
    - Org: `devdiv` (or `devdiv.visualstudio.com`)
    - Project: `0bdbc590-a062-4c3f-b0f6-9383f67865ee`
    - Build ID: `13452282`

    Let me get the build timeline.

    ● Get failed build timeline records
    $ az devops invoke --area build --resource timeline --route-parameters buildId=13452282 --org https://devdiv.visualstudio.com --project 0bdbc590-a062-4c3f-b0f6-9383f67865ee --query "records[?result=='failed']
    | [].{name:name, type:type, issues:issues, errorCount:errorCount}" --output json 2>&1
    └ 6 lines...

    ● Get failed build timeline records with project as route param
    $ az devops invoke --area build --resource timeline --route-parameters project=0bdbc590-a062-4c3f-b0f6-9383f67865ee buildId=13452282 --org https://devdiv.visualstudio.com --query "records[?result=='failed'] |
    [].{name:name, type:type, issues:issues, errorCount:errorCount}" --output json 2>&1
    └ 182 lines...

    ◐ Now I have a clear picture of the failure. The `Xamarin.Android-PR` check is failing in the `Pack .NET Maui` task with 78 RS0016 errors. These are all Roslyn public API analyzer errors — the new symbols
    added by this PR are not registered in the declared public API files.

    The affected files are in `src\AI\src\Essentials.AI\Platform\MaciOS\`:
    1. `NLEmbeddingExtensions.cs` - `NLEmbeddingExtensions` class and `AsIEmbeddingGenerator` method
    2. `NLEmbeddingGenerator.cs` - `NLEmbeddingGenerator` class, constructor, `GenerateAsync`, `Dispose`

    3. `AppleIntelligenceChatClient.cs` - `AppleIntelligenceChatClient` class, constructor, `GetResponseAsync`, `GetStreamingResponseAsync`

    The root cause is that these new public types and members need to be registered in the `PublicAPI.Shipped.txt` or `PublicAPI.Unshipped.txt` file tracked by the `[MAUIAI0001]` analyzer — this is actually a
    MAUI repo issue where the integration build is failing. The fix requires updating the public API declaration file.

    ● The failing check is Xamarin.Android-PR — specifically the "Pack .NET Maui" task, with 78 RS0016 errors.

    -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    Root Cause: Missing Public API Declarations

    The new Apple Intelligence / MAUI AI types added by this PR are not registered in the public API surface file. All errors are RS0016 from the Roslyn PublicApiAnalyzers:

    "Symbol is not part of the declared public API"

    The affected symbols are all in src\AI\src\Essentials.AI\Platform\MaciOS\ (a MAUI repo path, not this repo):

    ┌──────────────────────────────────┬─────────────────────────────────────────────────────────────────────┐
    │ File                             │ New Public Symbols                                                  │
    ├──────────────────────────────────┼─────────────────────────────────────────────────────────────────────┤
    │ AppleIntelligenceChatClient.cs   │ Class, constructor, GetResponseAsync, GetStreamingResponseAsync     │
    ├──────────────────────────────────┼─────────────────────────────────────────────────────────────────────┤
    │ NLEmbeddingGenerator.cs          │ Class, constructor, GenerateAsync, Dispose                          │
    ├──────────────────────────────────┼─────────────────────────────────────────────────────────────────────┤
    │ NLEmbeddingExtensions.cs         │ Class, AsIEmbeddingGenerator extension method                       │
    └──────────────────────────────────┴─────────────────────────────────────────────────────────────────────┘

    Fix

    The PublicAPI.Unshipped.txt file for the [MAUIAI0001] project needs to be updated to include all these new symbols. This is done in the MAUI repo — you need to add entries like:

    [MAUIAI0001]Microsoft.Maui.Essentials.AI.AppleIntelligenceChatClient
    [MAUIAI0001]Microsoft.Maui.Essentials.AI.AppleIntelligenceChatClient.AppleIntelligenceChatClient() -> void
    [MAUIAI0001]Microsoft.Maui.Essentials.AI.AppleIntelligenceChatClient.GetResponseAsync(...) -> ...
    ...

    to the PublicAPI.Unshipped.txt file in that project. The full list of symbols to add can be found in the 78 error messages from the build log.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@jonathanpeppers jonathanpeppers merged commit d3bb3f0 into main Mar 4, 2026
7 of 10 checks passed
@jonathanpeppers jonathanpeppers deleted the copilot/fix-typos-documentation-wording branch March 4, 2026 18:23
jonathanpeppers added a commit that referenced this pull request Mar 4, 2026
Context: #10879 (review)

* Fix typos and documentation wording from PR #10879 review
* Fix grammar in build-items.md: "on individual basis" → "on an individual basis"
* Fix grammar in build-properties.md: "allows to effectively disable this behavior" → "allows you to effectively disable it"
* Fix typo NativeLibrarysAlwaysJniPreload → NativeLibrariesAlwaysJniPreload

Co-authored-by: Jonathan Peppers <jonathan.peppers@microsoft.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.

3 participants