Skip to content

Trailing spaces/ white spaces issues were there in HTMLReportServiceU…#4295

Merged
Maheshkale447 merged 4 commits into
Releases/Betafrom
BugFix/ObjectRefErroOfGingerPlay
Sep 4, 2025
Merged

Trailing spaces/ white spaces issues were there in HTMLReportServiceU…#4295
Maheshkale447 merged 4 commits into
Releases/Betafrom
BugFix/ObjectRefErroOfGingerPlay

Conversation

@AmanPrasad43

@AmanPrasad43 AmanPrasad43 commented Sep 4, 2025

Copy link
Copy Markdown
Contributor

…RL() fixed

Thank you for your contribution.
Before submitting this PR, please make sure:

  • PR description and commit message should describe the changes done in this PR
  • Verify the PR is pointing to correct branch i.e. Release or Beta branch if the code fix is for specific release , else point it to master
  • Latest Code from master or specific release branch is merged to your branch
  • No unwanted\commented\junk code is included
  • No new warning upon build solution
  • Code Summary\Comments are added to my code which explains what my code is doing
  • Existing unit test cases are passed
  • New Unit tests are added for your development
  • Sanity Tests are successfully executed for New and Existing Functionality
  • Verify that changes are compatible with all relevant browsers and platforms.
  • After creating pull request there should not be any conflicts
  • Resolve all Codacy comments
  • Builds and checks are passed before PR is sent for review
  • Resolve code review comments
  • Update the Help Library document to match any feature changes

Summary by CodeRabbit

  • Refactor

    • Streamlined generation and opening of remote execution HTML reports for improved reliability and reduced overhead.
    • Added a direct online report link for easier access when available.
  • Bug Fixes

    • Prevented failures when the report service URL is missing or contains extra spaces.
    • Improved error handling and clearer user-facing messages when opening reports fails.
  • Style

    • Minor message formatting consistency improvements.

@coderabbitai

coderabbitai Bot commented Sep 4, 2025

Copy link
Copy Markdown
Contributor

Walkthrough

Convert GenerateHTMLReport to a static API on GingerRemoteExecutionUtils, add GetOnlineHTMLReportlink, null-safe URL trimming, and wrap Process.Start in try/catch with improved error messages; update callers to invoke the static method. No other control-flow changes.

Changes

Cohort / File(s) Summary
Remote execution report utils
Ginger/GingerCoreNET/Run/GingerRemoteExecutionUtils.cs
Make GenerateHTMLReport(string executionGuid) static; add public static string GetOnlineHTMLReportlink(Guid? executionGuid); use null-safe GetHTMLReportServiceUrl()?.Trim(); construct local report URL variable; wrap Process.Start in try/catch and log/show error including URL and exception; update missing-URL message and add error logging.
Call-site updates (HTML report generation)
Ginger/Ginger/Run/RunSetsExecutionsHistoryPage.xaml.cs, Ginger/Ginger/RunSetPageLib/NewRunSetPage.xaml.cs
Replace new GingerRemoteExecutionUtils().GenerateHTMLReport(id) with GingerRemoteExecutionUtils.GenerateHTMLReport(id) (static invocation); no other logic changes.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor User as User
  participant UI as Run / RunSet Pages
  participant Utils as GingerRemoteExecutionUtils
  participant Config as Config/Settings
  participant OS as OS Process Launcher

  User->>UI: Request HTML report for executionGuid
  UI->>Utils: GenerateHTMLReport(executionGuid) [static]
  Utils->>Config: GetHTMLReportServiceUrl()?.Trim()
  alt Service URL available
    Utils->>Utils: Build report URL (local var)
    Utils->>OS: Process.Start(reportUrl)
    alt Launch succeeds
      OS-->>Utils: OK
      Utils-->>UI: return
    else Launch fails
      OS-->>Utils: Exception
      Utils-->>UI: Show error with URL + exception
    end
  else No service URL
    Utils-->>UI: Show "Centralized HTML Report Service URL is missing in Configurations > Reports > Execution Logger. Please configure the HTML Report URL." message
  end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested reviewers

  • Maheshkale447

Poem

A rabbit hops through static lines tonight,
No new burrows spawned, just cleaner light.
I build the link, then try to start the show,
If the door sticks, I whisper where to go.
Reports like carrots — ripe, and off we go. 🥕


📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 02e8d43 and 8af7b79.

📒 Files selected for processing (1)
  • Ginger/GingerCoreNET/Run/GingerRemoteExecutionUtils.cs (2 hunks)
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: GokulBothe99
PR: Ginger-Automation/Ginger#3909
File: Ginger/Ginger/RunSetPageLib/NewRunSetPage.xaml.cs:2328-2346
Timestamp: 2024-09-16T16:34:20.667Z
Learning: In `NewRunSetPage.xaml.cs`, the methods `GenerateHTMLReportFromRemote()` and `GenerateHTMLReportFromLocal()` are kept separate because the application first tries to load remote data, and if not found, it falls back to loading local data.
📚 Learning: 2024-09-16T16:34:20.667Z
Learnt from: GokulBothe99
PR: Ginger-Automation/Ginger#3909
File: Ginger/Ginger/RunSetPageLib/NewRunSetPage.xaml.cs:2328-2346
Timestamp: 2024-09-16T16:34:20.667Z
Learning: In `NewRunSetPage.xaml.cs`, the methods `GenerateHTMLReportFromRemote()` and `GenerateHTMLReportFromLocal()` are kept separate because the application first tries to load remote data, and if not found, it falls back to loading local data.

Applied to files:

  • Ginger/GingerCoreNET/Run/GingerRemoteExecutionUtils.cs
📚 Learning: 2024-06-12T12:54:44.221Z
Learnt from: IamRanjeetSingh
PR: Ginger-Automation/Ginger#3753
File: Ginger/GingerCoreNET/Drivers/CoreDrivers/Web/Playwright/PlaywrightBrowserTab.cs:99-99
Timestamp: 2024-06-12T12:54:44.221Z
Learning: User IamRanjeetSingh prefers exceptions to propagate rather than being caught and handled locally within methods in `PlaywrightBrowserTab.cs`.

Applied to files:

  • Ginger/GingerCoreNET/Run/GingerRemoteExecutionUtils.cs
🧬 Code graph analysis (1)
Ginger/GingerCoreNET/Run/GingerRemoteExecutionUtils.cs (2)
Ginger/GingerCoreCommon/ReporterLib/Reporter.cs (1)
  • Reporter (28-357)
Ginger/GingerCoreNET/External/GingerPlay/GingerPlayEndPointManager.cs (2)
  • GingerPlayEndPointManager (27-255)
  • GetHTMLReportServiceUrl (107-139)
🔇 Additional comments (3)
Ginger/GingerCoreNET/Run/GingerRemoteExecutionUtils.cs (3)

140-153: Good: wrapped Process.Start with try/catch and added error logging.

Improves resilience and observability on URL launch failures.


157-163: User-facing message polish looks good.

Consistent “HTML” casing and clear config path; also logs the condition.


133-133: All GenerateHTMLReport calls updated to static invocation
No instances of new GingerRemoteExecutionUtils().GenerateHTMLReport(...) remain.

✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch BugFix/ObjectRefErroOfGingerPlay

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore or @coderabbit ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai or @coderabbitai title anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
Ginger/GingerCoreNET/Run/GingerRemoteExecutionUtils.cs (1)

164-178: Nice: trimming the configured base URL. Consider normalizing the trailing delimiters to avoid odd endings.

Current logic is fine. As a minor hardening, normalize “/#/” once to prevent accidental “//#/” or “/#/#/” endings when admins tweak configs.

-    if (!string.IsNullOrEmpty(baseURI))
-    {
-        if (!baseURI.EndsWith("/"))
-        {
-            baseURI += "/";
-        }
-        if (!baseURI.EndsWith("#/"))
-        {
-            baseURI += "#/";
-        }
-    }
+    if (!string.IsNullOrEmpty(baseURI))
+    {
+        baseURI = baseURI.TrimEnd();
+        // Ensure single trailing '/#/':
+        baseURI = baseURI.TrimEnd('/');
+        if (baseURI.EndsWith("#"))
+        {
+            baseURI = baseURI.TrimEnd('#');
+        }
+        baseURI += "/#/";
+    }
📜 Review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between e7c2d18 and 9c0178b.

📒 Files selected for processing (3)
  • Ginger/Ginger/Run/RunSetsExecutionsHistoryPage.xaml.cs (1 hunks)
  • Ginger/Ginger/RunSetPageLib/NewRunSetPage.xaml.cs (1 hunks)
  • Ginger/GingerCoreNET/Run/GingerRemoteExecutionUtils.cs (2 hunks)
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: GokulBothe99
PR: Ginger-Automation/Ginger#3909
File: Ginger/Ginger/RunSetPageLib/NewRunSetPage.xaml.cs:2328-2346
Timestamp: 2024-09-16T16:34:20.667Z
Learning: In `NewRunSetPage.xaml.cs`, the methods `GenerateHTMLReportFromRemote()` and `GenerateHTMLReportFromLocal()` are kept separate because the application first tries to load remote data, and if not found, it falls back to loading local data.
📚 Learning: 2024-09-16T16:34:20.667Z
Learnt from: GokulBothe99
PR: Ginger-Automation/Ginger#3909
File: Ginger/Ginger/RunSetPageLib/NewRunSetPage.xaml.cs:2328-2346
Timestamp: 2024-09-16T16:34:20.667Z
Learning: In `NewRunSetPage.xaml.cs`, the methods `GenerateHTMLReportFromRemote()` and `GenerateHTMLReportFromLocal()` are kept separate because the application first tries to load remote data, and if not found, it falls back to loading local data.

Applied to files:

  • Ginger/Ginger/RunSetPageLib/NewRunSetPage.xaml.cs
  • Ginger/Ginger/Run/RunSetsExecutionsHistoryPage.xaml.cs
  • Ginger/GingerCoreNET/Run/GingerRemoteExecutionUtils.cs
🧬 Code graph analysis (1)
Ginger/GingerCoreNET/Run/GingerRemoteExecutionUtils.cs (2)
Ginger/GingerCoreCommon/ReporterLib/Reporter.cs (1)
  • Reporter (28-357)
Ginger/GingerCoreNET/External/GingerPlay/GingerPlayEndPointManager.cs (2)
  • GingerPlayEndPointManager (27-255)
  • GetHTMLReportServiceUrl (107-139)
🔇 Additional comments (3)
Ginger/GingerCoreNET/Run/GingerRemoteExecutionUtils.cs (1)

133-134: All GenerateHTMLReport calls are now static
No remaining instance-based calls to GenerateHTMLReport were found.

Ginger/Ginger/RunSetPageLib/NewRunSetPage.xaml.cs (1)

2347-2354: LGTM: switched to static GenerateHTMLReport.

Call site now matches the static API.

Ginger/Ginger/Run/RunSetsExecutionsHistoryPage.xaml.cs (1)

872-882: LGTM: remote report action uses the static GenerateHTMLReport.

Consistent with the new API.

Comment thread Ginger/GingerCoreNET/Run/GingerRemoteExecutionUtils.cs
Comment thread Ginger/GingerCoreNET/Run/GingerRemoteExecutionUtils.cs
AmanPrasad43 and others added 2 commits September 4, 2025 13:54
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
Ginger/GingerCoreNET/Run/GingerRemoteExecutionUtils.cs (1)

182-194: Validate Guid? and encode; consider naming consistency.

  • If null is allowed, return early with a log to avoid “?ExecutionId=” URLs.
  • Encode the value.
  • Optional: rename to GetOnlineHTMLReportLink (PascalCase “Link”) for consistency.
-        public static string GetOnlineHTMLReportlink(Guid? executionGuid)
+        public static string GetOnlineHTMLReportlink(Guid? executionGuid)
         {
             var htmlServiceUrl = GetReportHTMLServiceUrl();
             if (!string.IsNullOrEmpty(htmlServiceUrl))
             {
-                return htmlServiceUrl + "?ExecutionId=" + executionGuid;
+                if (!executionGuid.HasValue)
+                {
+                    Reporter.ToLog(eLogLevel.ERROR, "Execution ID is missing; cannot build online HTML report link.");
+                    return string.Empty;
+                }
+                return $"{htmlServiceUrl}?ExecutionId={Uri.EscapeDataString(executionGuid.Value.ToString())}";
             }
             else
             {
                 Reporter.ToLog(eLogLevel.ERROR, "Centralized Html Report Service URL is missing in General Report Configurations.\nPlease go to Configurations > Reports > Execution Logger Configurations to configure the HTML Report URL");
                 return string.Empty;
             }
         }

If you’d like to align naming now, consider:

  • public static string GetOnlineHTMLReportLink(Guid executionGuid)
  • public static void GenerateHTMLReport(Guid executionGuid)
♻️ Duplicate comments (1)
Ginger/GingerCoreNET/Run/GingerRemoteExecutionUtils.cs (1)

138-146: Encode ExecutionId when constructing the URL.

Reiterating earlier feedback: encode the query value to avoid whitespace and special-char issues in the final URL.

-                string url = htmlServiceUrl + "?ExecutionId=" + executionGuid;
+                // ExecutionId is not expected to be null here; encode to be safe against stray spaces/special chars
+                string url = $"{htmlServiceUrl}?ExecutionId={Uri.EscapeDataString(executionGuid.Trim())}";
📜 Review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 9c0178b and 71391a6.

📒 Files selected for processing (1)
  • Ginger/GingerCoreNET/Run/GingerRemoteExecutionUtils.cs (2 hunks)
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: GokulBothe99
PR: Ginger-Automation/Ginger#3909
File: Ginger/Ginger/RunSetPageLib/NewRunSetPage.xaml.cs:2328-2346
Timestamp: 2024-09-16T16:34:20.667Z
Learning: In `NewRunSetPage.xaml.cs`, the methods `GenerateHTMLReportFromRemote()` and `GenerateHTMLReportFromLocal()` are kept separate because the application first tries to load remote data, and if not found, it falls back to loading local data.
📚 Learning: 2024-09-16T16:34:20.667Z
Learnt from: GokulBothe99
PR: Ginger-Automation/Ginger#3909
File: Ginger/Ginger/RunSetPageLib/NewRunSetPage.xaml.cs:2328-2346
Timestamp: 2024-09-16T16:34:20.667Z
Learning: In `NewRunSetPage.xaml.cs`, the methods `GenerateHTMLReportFromRemote()` and `GenerateHTMLReportFromLocal()` are kept separate because the application first tries to load remote data, and if not found, it falls back to loading local data.

Applied to files:

  • Ginger/GingerCoreNET/Run/GingerRemoteExecutionUtils.cs
📚 Learning: 2024-06-12T12:54:44.221Z
Learnt from: IamRanjeetSingh
PR: Ginger-Automation/Ginger#3753
File: Ginger/GingerCoreNET/Drivers/CoreDrivers/Web/Playwright/PlaywrightBrowserTab.cs:99-99
Timestamp: 2024-06-12T12:54:44.221Z
Learning: User IamRanjeetSingh prefers exceptions to propagate rather than being caught and handled locally within methods in `PlaywrightBrowserTab.cs`.

Applied to files:

  • Ginger/GingerCoreNET/Run/GingerRemoteExecutionUtils.cs
🧬 Code graph analysis (1)
Ginger/GingerCoreNET/Run/GingerRemoteExecutionUtils.cs (2)
Ginger/GingerCoreCommon/ReporterLib/Reporter.cs (1)
  • Reporter (28-357)
Ginger/GingerCoreNET/External/GingerPlay/GingerPlayEndPointManager.cs (2)
  • GingerPlayEndPointManager (27-255)
  • GetHTMLReportServiceUrl (107-139)
🔇 Additional comments (2)
Ginger/GingerCoreNET/Run/GingerRemoteExecutionUtils.cs (2)

148-153: Good: failure path now logs details.

The additional ToLog with the exception is the right call for observability.


165-179: The verification script is running; I’ll review the output next.

Comment thread Ginger/GingerCoreNET/Run/GingerRemoteExecutionUtils.cs Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
Ginger/GingerCoreNET/Run/GingerRemoteExecutionUtils.cs (1)

181-193: Rename method, add null-check, update call sites

  • In Ginger/GingerCoreNET/Run/GingerRemoteExecutionUtils.cs, rename GetOnlineHTMLReportlink to GetOnlineHTMLReportLink, guard against executionGuid == null (log error, return empty), escape the GUID, and update error message to “HTML”
  • Update all calls—e.g. in RunSetActionHTMLReportSendEmailOperations.cs (line 305), change to GetOnlineHTMLReportLink(...)
♻️ Duplicate comments (1)
Ginger/GingerCoreNET/Run/GingerRemoteExecutionUtils.cs (1)

133-146: Build the URL safely: trim/encode executionGuid and validate URL before launching.

Avoid raw concatenation; guard against accidental spaces and malformed URLs. Also ensure only http/https schemes are launched.

-                string url = htmlServiceUrl + "?ExecutionId=" + executionGuid;
+                var id = executionGuid?.Trim();
+                if (string.IsNullOrWhiteSpace(id))
+                {
+                    Reporter.ToUser(eUserMsgKey.StaticErrorMessage, "Execution ID is missing.");
+                    return;
+                }
+                string url = $"{htmlServiceUrl}?ExecutionId={Uri.EscapeDataString(id)}";
+                if (!Uri.TryCreate(url, UriKind.Absolute, out var uri) ||
+                    (uri.Scheme != Uri.UriSchemeHttp && uri.Scheme != Uri.UriSchemeHttps))
+                {
+                    Reporter.ToUser(eUserMsgKey.StaticErrorMessage, $"Invalid report URL.\nURL: {url}");
+                    Reporter.ToLog(eLogLevel.ERROR, $"Invalid HTML report URL: {url}");
+                    return;
+                }
📜 Review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 71391a6 and 02e8d43.

📒 Files selected for processing (1)
  • Ginger/GingerCoreNET/Run/GingerRemoteExecutionUtils.cs (2 hunks)
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: GokulBothe99
PR: Ginger-Automation/Ginger#3909
File: Ginger/Ginger/RunSetPageLib/NewRunSetPage.xaml.cs:2328-2346
Timestamp: 2024-09-16T16:34:20.667Z
Learning: In `NewRunSetPage.xaml.cs`, the methods `GenerateHTMLReportFromRemote()` and `GenerateHTMLReportFromLocal()` are kept separate because the application first tries to load remote data, and if not found, it falls back to loading local data.
📚 Learning: 2024-09-16T16:34:20.667Z
Learnt from: GokulBothe99
PR: Ginger-Automation/Ginger#3909
File: Ginger/Ginger/RunSetPageLib/NewRunSetPage.xaml.cs:2328-2346
Timestamp: 2024-09-16T16:34:20.667Z
Learning: In `NewRunSetPage.xaml.cs`, the methods `GenerateHTMLReportFromRemote()` and `GenerateHTMLReportFromLocal()` are kept separate because the application first tries to load remote data, and if not found, it falls back to loading local data.

Applied to files:

  • Ginger/GingerCoreNET/Run/GingerRemoteExecutionUtils.cs
📚 Learning: 2024-06-12T12:54:44.221Z
Learnt from: IamRanjeetSingh
PR: Ginger-Automation/Ginger#3753
File: Ginger/GingerCoreNET/Drivers/CoreDrivers/Web/Playwright/PlaywrightBrowserTab.cs:99-99
Timestamp: 2024-06-12T12:54:44.221Z
Learning: User IamRanjeetSingh prefers exceptions to propagate rather than being caught and handled locally within methods in `PlaywrightBrowserTab.cs`.

Applied to files:

  • Ginger/GingerCoreNET/Run/GingerRemoteExecutionUtils.cs
🧬 Code graph analysis (1)
Ginger/GingerCoreNET/Run/GingerRemoteExecutionUtils.cs (2)
Ginger/GingerCoreCommon/ReporterLib/Reporter.cs (1)
  • Reporter (28-357)
Ginger/GingerCoreNET/External/GingerPlay/GingerPlayEndPointManager.cs (2)
  • GingerPlayEndPointManager (27-255)
  • GetHTMLReportServiceUrl (107-139)
🔇 Additional comments (3)
Ginger/GingerCoreNET/Run/GingerRemoteExecutionUtils.cs (3)

148-153: Good: user-facing error plus log on failure.

Catching and both surfacing to user and logging exception details improves diagnostics.


164-177: Nice: null-safe trim and normalized suffix.

Using ?.Trim() and ensuring /#/ normalization addresses trailing/leading whitespace issues.


133-133: Static API change is safe—no remaining instance callers. Verified that all GenerateHTMLReport invocations in RunSetsExecutionsHistoryPage.xaml.cs and NewRunSetPage.xaml.cs use the static method and no new GingerRemoteExecutionUtils() calls exist.

Comment thread Ginger/GingerCoreNET/Run/GingerRemoteExecutionUtils.cs Outdated
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
@Maheshkale447
Maheshkale447 merged commit 47893a8 into Releases/Beta Sep 4, 2025
16 of 17 checks passed
@Maheshkale447
Maheshkale447 deleted the BugFix/ObjectRefErroOfGingerPlay branch September 4, 2025 14:49
@coderabbitai coderabbitai Bot mentioned this pull request Sep 5, 2025
15 tasks
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