Skip to content

Refactor export query generation and persistence logic#4447

Merged
ravirk91 merged 2 commits into
masterfrom
issue_58665_Getting-Unexpected-error-on-export-to-excel
Feb 27, 2026
Merged

Refactor export query generation and persistence logic#4447
ravirk91 merged 2 commits into
masterfrom
issue_58665_Getting-Unexpected-error-on-export-to-excel

Conversation

@tanushahande2003

@tanushahande2003 tanushahande2003 commented Feb 24, 2026

Copy link
Copy Markdown
Contributor

Rewrite CreateQueryWithWhereList to use LINQ for column selection, simplify WHERE clause construction with a switch statement, and return queries in the expected format. Update DataSourceExportToExcelPage to persist ExportQueryValue for both action and non-action table elements. Clean up code and improve maintainability.

Description

Type of Change

  • Bug fix - [ ] New feature - [ ] Breaking change - [ ] Plugin update

Checklist

  • PR description clearly describes the changes
  • Target branch is correct (master for features, Releases/* for fixes)
  • Latest code from target branch merged
  • No commented/junk code included
  • No new build warnings or errors
  • All existing unit tests pass
  • New unit tests added for new functionality
  • Cross-platform compatibility verified (Windows/Linux/macOS)
  • CI/CD pipeline passes
  • Code follows project conventions (Act{Platform}{Type}, {Platform}Driver)
  • Repository objects use [IsSerializedForLocalRepository] where needed
  • Error handling uses Reporter.ToLog() pattern
  • Documentation updated for user-facing changes
  • Self-review completed and code review comments addressed

Summary by CodeRabbit

  • Bug Fixes

    • Column names in Excel exports now preserve their original casing instead of being converted to lowercase.
  • Improvements

    • Optimized query generation logic for Excel exports to handle filtering conditions more efficiently across different export modes.

Rewrite CreateQueryWithWhereList to use LINQ for column selection, simplify WHERE clause construction with a switch statement, and return queries in the expected format. Update DataSourceExportToExcelPage to persist ExportQueryValue for both action and non-action table elements. Clean up code and improve maintainability.
@coderabbitai

coderabbitai Bot commented Feb 24, 2026

Copy link
Copy Markdown
Contributor

Walkthrough

The changes extend Excel export functionality to support standalone operation mode and refactor query generation logic. Updates include persisting export queries in non-ActDSTableElement mode, replacing list filtering with LINQ-based approaches, and restructuring WHERE clause construction with operator-specific predicate building.

Changes

Cohort / File(s) Summary
Excel Export UI Logic
Ginger/Ginger/DataSource/DataSourceExportToExcelPage.xaml.cs
Extended ExcelExportQuery_ValueTextBox_TextChanged to persist ExportQueryValue in standalone mode. Updated xRdoByQueryExport_Checked to use LINQ Where filtering instead of FindAll for both ActDSTableElement and non-ActDSTableElement query generation.
Query Generation Configuration
Ginger/GingerCoreCommon/DataBaseLib/ExportToExcelConfig.cs
Removed ToLower() from CreateQueryWithColumnList to preserve column text casing. Restructured CreateQueryWithWhereList to build WHERE clauses using switch-based operator handling (Equals, NotEquals, Contains, NotContains, StartsWith, EndsWith) with proper AND concatenation, returning column-list-only string when conditions are absent.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Suggested reviewers

  • Maheshkale447
  • ravirk91

Poem

🐰 A carrot-loving hop of joy!
Query logic refined with LINQ's employ,
Standalone exports now persist with care,
WHERE clauses structured, beyond compare! ✨
Excel sheets bloom where operators dare.

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Description check ❓ Inconclusive The description includes a clear summary of changes and references the main files modified, but the required checklist is mostly unchecked and lacks detail on testing, cross-platform verification, and other pre-merge requirements. Check off completed checklist items (or provide explanation if not done), confirm unit tests pass, and document cross-platform testing performed before merging.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main changes: refactoring query generation logic and persistence, which aligns with the core modifications in both ExcelExportQuery and CreateQueryWithWhereList.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch issue_58665_Getting-Unexpected-error-on-export-to-excel

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

Comment @coderabbitai help to get the list of available commands and usage tips.

@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: 5

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@Ginger/Ginger/DataSource/DataSourceExportToExcelPage.xaml.cs`:
- Around line 427-433: The call to CreateQueryWithWhereList is made on
mExcelConfig while the ColumnList and WhereConditionStringList come from
mActDSTableElement.ExcelConfig, which is confusing; change the call to use
mActDSTableElement.ExcelConfig.CreateQueryWithWhereList(...) so the method is
invoked on the same config object supplying the data (update the expression that
sets xExcelExportQuery.ValueTextBox.Text accordingly), keeping the same
parameters (ColumnList.Where(x=>x.IsSelected).ToList(),
WhereConditionStringList, mDataTable.TableName, mDataSourceTable.DSC.DSType).
- Around line 436-445: The else branch that builds the standalone query (the
assignment to xExcelExportQuery.ValueTextBox.Text using
mExcelConfig.CreateQueryWithWhereList and mDataSourceTable.DSC.DSType) can throw
NullReferenceExceptions because mDataSourceTable, mExcelConfig.ColumnList, or
mExcelConfig.WhereConditionStringList may be null; update the code in the branch
guarded by mActDSTableElement == null to validate and null-check these symbols
before use: ensure mDataSourceTable is not null (or use a sensible
default/early-return), replace accesses to mExcelConfig.ColumnList and
mExcelConfig.WhereConditionStringList with safe fallbacks (e.g., empty lists) if
null, and only call mExcelConfig.CreateQueryWithWhereList when required values
(mExcelConfig and mDataTable.TableName) are present; this prevents dereferencing
mDataSourceTable.DSC.DSType and avoids passing null collections into
CreateQueryWithWhereList.

In `@Ginger/GingerCoreCommon/DataBaseLib/ExportToExcelConfig.cs`:
- Around line 133-135: The column-list construction in ExportToExcelConfig
(string columnList = string.Join(",", mColumnList.Where(x =>
x.IsSelected).Select(x => x.ColumnText))) already filters IsSelected, so remove
the redundant pre-filtering at the callers (OKButton_Click and
xRdoByQueryExport_Checked) that call this code with .FindAll(x => x.IsSelected)
/ .Where(x => x.IsSelected).ToList(); leave the single IsSelected check inside
the columnList builder (defensive central filter) and update those callers to
pass the full list (or the same mColumnList) and/or add a short comment on the
builder method indicating it is responsible for selecting IsSelected columns.
- Around line 144-181: The loop building whereClause in ExportToExcelConfig (the
for over whereConditionList) wrongly uses the loop index i to decide when to
prepend " AND", causing a leading AND if earlier items were skipped; modify the
loop to track whether any predicate has actually been appended (e.g., a bool
like hasAppended) and only prepend " AND " when hasAppended is true, set
hasAppended = true after appending predicate, and remove reliance on i for this
decision; also add a default branch in the switch over item.Opertor to
skip/continue when an unknown operator produces no predicate so empty predicates
are not appended.
- Line 131: CreateQueryWithWhereList currently ignores tableName and dSType;
update it to mirror CreateQueryWithColumnList behavior: build the column list
then if dSType == DataSourceBase.eDSType.LiteDataBase return "col1,col2 WHERE
<conditions>" (no SELECT/FROM) otherwise return "SELECT col1,col2 FROM tableName
WHERE <conditions>"; ensure you use the existing WhereConditionItem list to
produce the WHERE clause and reference the CreateQueryWithWhereList method
signature to incorporate tableName and dSType rather than leaving them unused.

ℹ️ Review info

Configuration used: Repository UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 118ecdb and 419c4e0.

📒 Files selected for processing (2)
  • Ginger/Ginger/DataSource/DataSourceExportToExcelPage.xaml.cs
  • Ginger/GingerCoreCommon/DataBaseLib/ExportToExcelConfig.cs

Comment on lines +427 to 433

xExcelExportQuery.ValueTextBox.Text =
mExcelConfig.CreateQueryWithWhereList(mActDSTableElement.ExcelConfig.ColumnList.Where(x => x.IsSelected).ToList(),
mActDSTableElement.ExcelConfig.WhereConditionStringList,
mDataTable.TableName,
mDataSourceTable.DSC.DSType);
}

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.

🧹 Nitpick | 🔵 Trivial

Method called on mExcelConfig but data sourced from mActDSTableElement.ExcelConfig.

CreateQueryWithWhereList is called on mExcelConfig (the page-local config) but the column list and where conditions come from mActDSTableElement.ExcelConfig. Since the method doesn't use instance state, this works correctly, but it's confusing. Consider calling it on mActDSTableElement.ExcelConfig for clarity, consistent with the data being passed.

♻️ Suggested clarification
-                xExcelExportQuery.ValueTextBox.Text =
-                        mExcelConfig.CreateQueryWithWhereList(mActDSTableElement.ExcelConfig.ColumnList.Where(x => x.IsSelected).ToList(),
+                xExcelExportQuery.ValueTextBox.Text =
+                        mActDSTableElement.ExcelConfig.CreateQueryWithWhereList(mActDSTableElement.ExcelConfig.ColumnList.Where(x => x.IsSelected).ToList(),
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
xExcelExportQuery.ValueTextBox.Text =
mExcelConfig.CreateQueryWithWhereList(mActDSTableElement.ExcelConfig.ColumnList.Where(x => x.IsSelected).ToList(),
mActDSTableElement.ExcelConfig.WhereConditionStringList,
mDataTable.TableName,
mDataSourceTable.DSC.DSType);
}
xExcelExportQuery.ValueTextBox.Text =
mActDSTableElement.ExcelConfig.CreateQueryWithWhereList(mActDSTableElement.ExcelConfig.ColumnList.Where(x => x.IsSelected).ToList(),
mActDSTableElement.ExcelConfig.WhereConditionStringList,
mDataTable.TableName,
mDataSourceTable.DSC.DSType);
}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Ginger/Ginger/DataSource/DataSourceExportToExcelPage.xaml.cs` around lines
427 - 433, The call to CreateQueryWithWhereList is made on mExcelConfig while
the ColumnList and WhereConditionStringList come from
mActDSTableElement.ExcelConfig, which is confusing; change the call to use
mActDSTableElement.ExcelConfig.CreateQueryWithWhereList(...) so the method is
invoked on the same config object supplying the data (update the expression that
sets xExcelExportQuery.ValueTextBox.Text accordingly), keeping the same
parameters (ColumnList.Where(x=>x.IsSelected).ToList(),
WhereConditionStringList, mDataTable.TableName, mDataSourceTable.DSC.DSType).

Comment on lines +436 to 445
// Generate query for non-action table element
xExcelExportQuery.ValueTextBox.Text =
mExcelConfig.CreateQueryWithWhereList(
mExcelConfig.ColumnList
.Where(x => x.IsSelected)
.ToList(),
mExcelConfig.WhereConditionStringList,
mDataTable.TableName,
mDataSourceTable.DSC.DSType);
}

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.

⚠️ Potential issue | 🟠 Major

Potential NullReferenceException in standalone query generation.

This new else branch runs when mActDSTableElement == null, which includes the parameterless constructor path where mDataSourceTable remains null. Accessing mDataSourceTable.DSC.DSType on line 444 will throw. Similarly, mExcelConfig.ColumnList and mExcelConfig.WhereConditionStringList may be null if the column grid hasn't been initialized yet.

Add null guards before accessing these members.

🛡️ Proposed fix
             else
             {
+                if (mExcelConfig.ColumnList == null || mDataSourceTable == null)
+                {
+                    return;
+                }
                 // Generate query for non-action table element
                 xExcelExportQuery.ValueTextBox.Text =
                     mExcelConfig.CreateQueryWithWhereList(
                         mExcelConfig.ColumnList
                             .Where(x => x.IsSelected)
                             .ToList(),
                         mExcelConfig.WhereConditionStringList,
                         mDataTable.TableName,
                         mDataSourceTable.DSC.DSType);
             }
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Ginger/Ginger/DataSource/DataSourceExportToExcelPage.xaml.cs` around lines
436 - 445, The else branch that builds the standalone query (the assignment to
xExcelExportQuery.ValueTextBox.Text using mExcelConfig.CreateQueryWithWhereList
and mDataSourceTable.DSC.DSType) can throw NullReferenceExceptions because
mDataSourceTable, mExcelConfig.ColumnList, or
mExcelConfig.WhereConditionStringList may be null; update the code in the branch
guarded by mActDSTableElement == null to validate and null-check these symbols
before use: ensure mDataSourceTable is not null (or use a sensible
default/early-return), replace accesses to mExcelConfig.ColumnList and
mExcelConfig.WhereConditionStringList with safe fallbacks (e.g., empty lists) if
null, and only call mExcelConfig.CreateQueryWithWhereList when required values
(mExcelConfig and mDataTable.TableName) are present; this prevents dereferencing
mDataSourceTable.DSC.DSType and avoids passing null collections into
CreateQueryWithWhereList.



public string CreateQueryWithWhereList(List<ColumnCheckListItem> mColumnList, ObservableList<WhereConditionItem> whereConditionList, string tableName, DataSourceBase.eDSType dSType)
public string CreateQueryWithWhereList(List<ColumnCheckListItem> mColumnList,ObservableList<WhereConditionItem> whereConditionList,string tableName,DataSourceBase.eDSType dSType)

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.

🛠️ Refactor suggestion | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Find and examine the CreateQueryWithWhereList method implementation
rg -nP --type=cs -B3 -A15 'CreateQueryWithWhereList' Ginger/GingerCoreCommon/DataBaseLib/ExportToExcelConfig.cs

Repository: Ginger-Automation/Ginger

Length of output: 932


🏁 Script executed:

#!/bin/bash
# Get the full CreateQueryWithWhereList implementation
rg -nP --type=cs -A30 'public string CreateQueryWithWhereList' Ginger/GingerCoreCommon/DataBaseLib/ExportToExcelConfig.cs

Repository: Ginger-Automation/Ginger

Length of output: 1507


🏁 Script executed:

#!/bin/bash
# Get more of the implementation to see the return statement
rg -nP --type=cs -A50 'public string CreateQueryWithWhereList' Ginger/GingerCoreCommon/DataBaseLib/ExportToExcelConfig.cs | head -60

Repository: Ginger-Automation/Ginger

Length of output: 2388


🏁 Script executed:

#!/bin/bash
# Get more lines to see the end of CreateQueryWithWhereList method
sed -n '131,200p' Ginger/GingerCoreCommon/DataBaseLib/ExportToExcelConfig.cs

Repository: Ginger-Automation/Ginger

Length of output: 2984


🏁 Script executed:

#!/bin/bash
# Now check CreateQueryWithColumnList to compare
rg -nP --type=cs -A30 'public string CreateQueryWithColumnList' Ginger/GingerCoreCommon/DataBaseLib/ExportToExcelConfig.cs

Repository: Ginger-Automation/Ginger

Length of output: 1255


🏁 Script executed:

#!/bin/bash
# Check all call sites of CreateQueryWithWhereList to understand expected behavior
rg -nP --type=cs -B2 -A2 'CreateQueryWithWhereList' Ginger/GingerCoreCommon/DataBaseLib/ExportToExcelConfig.cs | grep -v "public string CreateQueryWithWhereList"

Repository: Ginger-Automation/Ginger

Length of output: 167


🏁 Script executed:

#!/bin/bash
# Search for all call sites of CreateQueryWithWhereList across the entire codebase
rg -nP --type=cs 'CreateQueryWithWhereList\(' --no-heading | head -20

Repository: Ginger-Automation/Ginger

Length of output: 1852


🏁 Script executed:

#!/bin/bash
# Check if there are any comments or documentation about expected behavior
rg -nP --type=cs -B5 'CreateQueryWithWhereList' Ginger/GingerCoreNET/DataSource/ActDSTableElement.cs | head -30

Repository: Ginger-Automation/Ginger

Length of output: 1032


🏁 Script executed:

#!/bin/bash
# Let's check the return statement and logic once more to be absolutely sure
sed -n '131,185p' Ginger/GingerCoreCommon/DataBaseLib/ExportToExcelConfig.cs

Repository: Ginger-Automation/Ginger

Length of output: 2325


Parameters tableName and dSType are unused in CreateQueryWithWhereList.

The method accepts both parameters but never references them. In contrast, the sibling method CreateQueryWithColumnList uses dSType to conditionally format the output (column-only for LiteDataBase, or "SELECT ... FROM tableName" for other types). However, CreateQueryWithWhereList always returns a fixed format ("col1,col2 where condition") regardless of dSType value. Yet all call sites pass both parameters with varying dSType values (LiteDataBase, MSAccess, etc.), suggesting the method should respect the type. Either remove the unused parameters if the fixed format is intentional, or incorporate dSType and tableName to achieve consistency with CreateQueryWithColumnList.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Ginger/GingerCoreCommon/DataBaseLib/ExportToExcelConfig.cs` at line 131,
CreateQueryWithWhereList currently ignores tableName and dSType; update it to
mirror CreateQueryWithColumnList behavior: build the column list then if dSType
== DataSourceBase.eDSType.LiteDataBase return "col1,col2 WHERE <conditions>" (no
SELECT/FROM) otherwise return "SELECT col1,col2 FROM tableName WHERE
<conditions>"; ensure you use the existing WhereConditionItem list to produce
the WHERE clause and reference the CreateQueryWithWhereList method signature to
incorporate tableName and dSType rather than leaving them unused.

Comment thread Ginger/GingerCoreCommon/DataBaseLib/ExportToExcelConfig.cs
Comment thread Ginger/GingerCoreCommon/DataBaseLib/ExportToExcelConfig.cs
@ravirk91
ravirk91 enabled auto-merge (squash) February 27, 2026 12:00
@ravirk91
ravirk91 disabled auto-merge February 27, 2026 15:26
@ravirk91
ravirk91 merged commit a7010ff into master Feb 27, 2026
13 of 14 checks passed
@ravirk91
ravirk91 deleted the issue_58665_Getting-Unexpected-error-on-export-to-excel branch February 27, 2026 15:26
@ravirk91
ravirk91 restored the issue_58665_Getting-Unexpected-error-on-export-to-excel branch March 2, 2026 10:31
ravirk91 added a commit that referenced this pull request Mar 31, 2026
* Update codeql-analysis.yml

* Rollbacked the changes made for handling the file name length

* Modified code to support maxlength only for folder name

* Removed the task implementation in unix agent

* Fixed issue of special characters from toerh languages are not getting sent to mainframe

* Shared Repository Folder View (#4416)

* Shared Repository Folder View

* enhancement

* code rabbit comments handled

* code rabbit comments handle

---------

Co-authored-by: Ravi Kumar <[email protected]>

* Master for beta merge (#4429)

* Merge master into beta (#4418)

* Mobile accessibility issue for ios - fix

* added CodeQL WF

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* removed macOS build steps

* Java Explorer issue fix

* Update codeql-analysis.yml

excluding unwanted folders and projects

* Update README.md

updating for triggering security

* mobily accessibility locators identification issue fix

* codeql related updates

* coderabbit comments handled

* Fix: GitHub SecurityAlerts 198,199, 200, 201, 202

* its tested and working

* Codecy suggestions

* CodeRabit Suggestions

* CodeRabbit suggestions

* CodeRabbit Suggestions

* Fix for Git Security Alert 181

* codacy suggestions

* RemovedUnusedMethod

* Pull all variables  except password variables

* Removing code that passes Ginger variables to Robot script using temp file

* Revert "Removing code that passes Ginger variables to Robot script using temp file"

This reverts commit c62b1428dfecc31b178de767073a22de26682a1c.

* Fixed DBoperations Git Alerts

* Build Errors Fixed

* Removed Unused GingerExecutionReport folder from Ginger also handled few codacy comments

* Code Issues

* Enabled only Windows build for CodeQL

* added variable option

* MSSQL Fix Test

* Test Changes

* Bar user inputted connection string.

* Not using GetConnectionString method

* added removing variable value code

* code rabbit suggested changes

* code rabbit changes

* Do not assign the Expression to mValueCalculated if it was failed to evaluate.

* Enhancement Excel Action and Refactoring

* code refactor

* Enhanced the Unit test cases for excel action according to recent enhancements

* Codacy issues

* Upgraded Magick.NET-Q16-AnyCPU nugget to 14.10.0

* codacy

* removed unwanted check

* code refactoring

* updated ut

* codacy and code rabbit comments handled

* Pull Address adjustment

* serliazation added

* Serliazation error fix

* updating version

updating version

* Latest changes for Excel action

* workwork book

* coderabbit comments

* lock object

* coder rabbit issue

* Handled the file name length while api model configuration, and added length to subfolder creation

* resolved the review comment from code rabbit

* Handled the issue of value expression getting truncated

* fixing the index issue

* Update codeql-analysis.yml

* Exclude JavaScript from Scanning for security Vulnarabilities

* Exclude JavaScript from Scanning for security Vulnarabilities_Master

* store to added hidden option

* removed code

* code refactor

* code refactor

* Update codeql-analysis.yml

* Revert

* Bug fixes for excel action

* code removed

* coderabbit comments

* filter issue fix

* As stated in bug: modifed error log to "Error" instead of "Warning"

* push latest fixes

* unit test case change according to enhancement

* Latest

* Rollbacked the changes made for handling the file name length

* Modified code to support maxlength only for folder name

* Removed the task implementation in unix agent

* Fixed issue of special characters from toerh languages are not getting sent to mainframe

* Shared Repository Folder View (#4416)

* Shared Repository Folder View

* enhancement

* code rabbit comments handled

* code rabbit comments handle

---------

Co-authored-by: Ravi Kumar <[email protected]>

---------

Co-authored-by: Mahesh Kale <[email protected]>
Co-authored-by: AMAN PRASAD <[email protected]>
Co-authored-by: makhlaque <[email protected]>
Co-authored-by: mohd-amdocs <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: Meni Kadosh <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: shahanemahesh <[email protected]>
Co-authored-by: Mahesh Shahane <[email protected]>

* Feature/uft lab phone selection (#4414)

* Mobile accessibility issue for ios - fix

* added CodeQL WF

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* removed macOS build steps

* Java Explorer issue fix

* Update codeql-analysis.yml

excluding unwanted folders and projects

* Update README.md

updating for triggering security

* mobily accessibility locators identification issue fix

* codeql related updates

* coderabbit comments handled

* Fix: GitHub SecurityAlerts 198,199, 200, 201, 202

* its tested and working

* Codecy suggestions

* CodeRabit Suggestions

* CodeRabbit suggestions

* CodeRabbit Suggestions

* Fix for Git Security Alert 181

* codacy suggestions

* RemovedUnusedMethod

* Pull all variables  except password variables

* Removing code that passes Ginger variables to Robot script using temp file

* Revert "Removing code that passes Ginger variables to Robot script using temp file"

This reverts commit c62b1428dfecc31b178de767073a22de26682a1c.

* Fixed DBoperations Git Alerts

* Build Errors Fixed

* added an api call to fetch the current devices in the UFT Mobile Agent configurations

* Removed Unused GingerExecutionReport folder from Ginger also handled few codacy comments

* Code Issues

* Enabled only Windows build for CodeQL

* added variable option

* MSSQL Fix Test

* Test Changes

* Bar user inputted connection string.

* Not using GetConnectionString method

* added removing variable value code

* code rabbit suggested changes

* code rabbit changes

* Do not assign the Expression to mValueCalculated if it was failed to evaluate.

* Enhancement Excel Action and Refactoring

* code refactor

* Enhanced the Unit test cases for excel action according to recent enhancements

* Codacy issues

* Upgraded Magick.NET-Q16-AnyCPU nugget to 14.10.0

* codacy

* removed unwanted check

* code refactoring

* updated ut

* codacy and code rabbit comments handled

* Pull Address adjustment

* serliazation added

* added a button to see the phones when selecting utf device and select from the list

* Serliazation error fix

* updating version

updating version

* Latest changes for Excel action

* workwork book

* coderabbit comments

* lock object

* coder rabbit issue

* Handled the file name length while api model configuration, and added length to subfolder creation

* resolved the review comment from code rabbit

* Handled the issue of value expression getting truncated

* fixing the index issue

* Update codeql-analysis.yml

* Exclude JavaScript from Scanning for security Vulnarabilities

* Exclude JavaScript from Scanning for security Vulnarabilities_Master

* store to added hidden option

* removed code

* code refactor

* code refactor

* Update codeql-analysis.yml

* Revert

* Bug fixes for excel action

* code removed

* coderabbit comments

* filter issue fix

* As stated in bug: modifed error log to "Error" instead of "Warning"

* push latest fixes

* unit test case change according to enhancement

* Latest

* tested and fixed all edge cases of the device selection (wrong or empty fields and switching platform)

* Rollbacked the changes made for handling the file name length

* Modified code to support maxlength only for folder name

* fixed uft devices button

* fixed the design and made a filtering for the phone list

* fixed phone lab filtering system

* Removed the task implementation in unix agent

* changed UI from rejects raised

* updated the ui design

---------

Co-authored-by: Mahesh Kale <[email protected]>
Co-authored-by: AMAN PRASAD <[email protected]>
Co-authored-by: makhlaque <[email protected]>
Co-authored-by: mohd-amdocs <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: Meni Kadosh <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Ravi Kumar <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: shahanemahesh <[email protected]>
Co-authored-by: Mahesh Shahane <[email protected]>

* fixed defect number 58085  (#4411)

* Mobile accessibility issue for ios - fix

* added CodeQL WF

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* removed macOS build steps

* Java Explorer issue fix

* Update codeql-analysis.yml

excluding unwanted folders and projects

* Update README.md

updating for triggering security

* mobily accessibility locators identification issue fix

* codeql related updates

* coderabbit comments handled

* Fix: GitHub SecurityAlerts 198,199, 200, 201, 202

* its tested and working

* Codecy suggestions

* CodeRabit Suggestions

* CodeRabbit suggestions

* CodeRabbit Suggestions

* Fix for Git Security Alert 181

* codacy suggestions

* RemovedUnusedMethod

* Pull all variables  except password variables

* Removing code that passes Ginger variables to Robot script using temp file

* Revert "Removing code that passes Ginger variables to Robot script using temp file"

This reverts commit c62b1428dfecc31b178de767073a22de26682a1c.

* Fixed DBoperations Git Alerts

* Build Errors Fixed

* Removed Unused GingerExecutionReport folder from Ginger also handled few codacy comments

* Code Issues

* Enabled only Windows build for CodeQL

* added variable option

* MSSQL Fix Test

* Test Changes

* Bar user inputted connection string.

* Not using GetConnectionString method

* added removing variable value code

* code rabbit suggested changes

* code rabbit changes

* Do not assign the Expression to mValueCalculated if it was failed to evaluate.

* Enhancement Excel Action and Refactoring

* code refactor

* Enhanced the Unit test cases for excel action according to recent enhancements

* Codacy issues

* Upgraded Magick.NET-Q16-AnyCPU nugget to 14.10.0

* codacy

* removed unwanted check

* code refactoring

* updated ut

* codacy and code rabbit comments handled

* Pull Address adjustment

* serliazation added

* Serliazation error fix

* updating version

updating version

* Latest changes for Excel action

* workwork book

* coderabbit comments

* lock object

* coder rabbit issue

* Handled the file name length while api model configuration, and added length to subfolder creation

* resolved the review comment from code rabbit

* Handled the issue of value expression getting truncated

* fixing the index issue

* Update codeql-analysis.yml

* Exclude JavaScript from Scanning for security Vulnarabilities

* Exclude JavaScript from Scanning for security Vulnarabilities_Master

* store to added hidden option

* removed code

* code refactor

* code refactor

* Update codeql-analysis.yml

* Revert

* Bug fixes for excel action

* code removed

* coderabbit comments

* filter issue fix

* As stated in bug: modifed error log to "Error" instead of "Warning"

* push latest fixes

* unit test case change according to enhancement

* Latest

* Rollbacked the changes made for handling the file name length

* Modified code to support maxlength only for folder name

* Removed the task implementation in unix agent

* Fixed issue of special characters from toerh languages are not getting sent to mainframe

* added the status code number in the json and the output of the rest api call

* Rename status code parameter for clarity

* Shared Repository Folder View (#4416)

* Shared Repository Folder View

* enhancement

* code rabbit comments handled

* code rabbit comments handle

---------

Co-authored-by: Ravi Kumar <[email protected]>

---------

Co-authored-by: Mahesh Kale <[email protected]>
Co-authored-by: AMAN PRASAD <[email protected]>
Co-authored-by: makhlaque <[email protected]>
Co-authored-by: mohd-amdocs <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: Meni Kadosh <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Ravi Kumar <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: shahanemahesh <[email protected]>
Co-authored-by: Mahesh Shahane <[email protected]>

* Update version numbers in GingerCoreCommon.csproj

* Feature/android tv automation support (#4413)

* Mobile accessibility issue for ios - fix

* added CodeQL WF

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* removed macOS build steps

* Java Explorer issue fix

* Update codeql-analysis.yml

excluding unwanted folders and projects

* Update README.md

updating for triggering security

* mobily accessibility locators identification issue fix

* codeql related updates

* coderabbit comments handled

* Fix: GitHub SecurityAlerts 198,199, 200, 201, 202

* its tested and working

* Codecy suggestions

* CodeRabit Suggestions

* CodeRabbit suggestions

* CodeRabbit Suggestions

* Fix for Git Security Alert 181

* codacy suggestions

* RemovedUnusedMethod

* Pull all variables  except password variables

* Removing code that passes Ginger variables to Robot script using temp file

* Revert "Removing code that passes Ginger variables to Robot script using temp file"

This reverts commit c62b1428dfecc31b178de767073a22de26682a1c.

* Fixed DBoperations Git Alerts

* Build Errors Fixed

* Removed Unused GingerExecutionReport folder from Ginger also handled few codacy comments

* Code Issues

* Enabled only Windows build for CodeQL

* added variable option

* MSSQL Fix Test

* Test Changes

* Bar user inputted connection string.

* Not using GetConnectionString method

* added removing variable value code

* code rabbit suggested changes

* code rabbit changes

* Do not assign the Expression to mValueCalculated if it was failed to evaluate.

* Enhancement Excel Action and Refactoring

* code refactor

* Enhanced the Unit test cases for excel action according to recent enhancements

* Codacy issues

* Upgraded Magick.NET-Q16-AnyCPU nugget to 14.10.0

* codacy

* removed unwanted check

* code refactoring

* updated ut

* codacy and code rabbit comments handled

* Pull Address adjustment

* serliazation added

* Serliazation error fix

* updating version

updating version

* Latest changes for Excel action

* workwork book

* coderabbit comments

* lock object

* coder rabbit issue

* Handled the file name length while api model configuration, and added length to subfolder creation

* resolved the review comment from code rabbit

* Add Android TV support and enhance platform handling

Enhanced platform support by introducing Android TV as a new platform type (`ePlatformType.AndroidTV`) alongside Mobile and iOS. Updated platform descriptions to include "Mobile/TV" for better clarity and added new image types for visual representation.

UI components now display friendly platform descriptions and improved tooltips. Added ComboBox support for enum descriptions in grids.

Extended the Appium driver to support Android TV with specific capabilities, configurations. Improved error handling and fallback mechanisms for driver initialization.

Updated `ActMobileDevice` to include Android TV-specific actions and defaulted action descriptions to "Mobile/Tv Device Action."

Enhanced `DeviceViewPage` to handle Android TV resolutions and scaling. Added dynamic screen size calculations with fallbacks for Android TV.

Updated agent configurations to include Android TV as a selectable driver type and set default configurations for Android TV agents.

Refactored code for better maintainability, improved exception handling, and consolidated driver configuration logic. Added new image resources for Android TV.

Improved `GenericAppiumDriver` to handle Android TV-specific scenarios, including focused element detection and screenshot scaling.

* Handled the issue of value expression getting truncated

* fixing the index issue

* Update codeql-analysis.yml

* Exclude JavaScript from Scanning for security Vulnarabilities

* Exclude JavaScript from Scanning for security Vulnarabilities_Master

* store to added hidden option

* removed code

* code refactor

* code refactor

* Update codeql-analysis.yml

* Revert

* Bug fixes for excel action

* code removed

* coderabbit comments

* filter issue fix

* As stated in bug: modifed error log to "Error" instead of "Warning"

* push latest fixes

* unit test case change according to enhancement

* Latest

* Rollbacked the changes made for handling the file name length

* Modified code to support maxlength only for folder name

* Removed the task implementation in unix agent

* Fixed issue of special characters from toerh languages are not getting sent to mainframe

* enhancement relted android TV - livespy

* enhancement related to android TV

* Refactor and enhance platform-specific logic

Refactored multiple methods across the codebase to improve maintainability, performance, and platform-specific functionality. Key changes include:

- Simplified `timenow` method in `PomAllElementsPage.xaml.cs` with improved user feedback and streamlined logic.
- Enhanced `BitmapToBase64` in `PomLearnUtils.cs` with null-checks, fallback mechanisms, and better error handling.
- Removed redundant methods `LoadGingerLiveSpyScript` and `GetFocusedElementInfo` in `GenericAppiumDriver.cs`.
- Refactored `SimulatePhotoOrBarcode` to update `GingerLiveSpy.js` handling.
- Added platform-specific logic for `HighLightElement`, `GetElementAtMousePosition`, `FindElementXmlNodeByXY`, `GetElementAtPoint`, and `GetPointOnAppWindow` in `GenericAppiumDriver.cs` to support Android TV, Android (mobile), iOS, and Web.
- Improved shadow DOM support and optimized event handling in `GingerLiveSpy.js`.
- Enhanced error handling, logging, and fallback mechanisms across the codebase.

These changes improve cross-platform compatibility, user experience, and code maintainability.

* Refactor and improve code readability and performance

Refactored `ResizeDeviceButtons` and `GetDevicePoint` methods in `DeviceViewPage.xaml.cs` to simplify logic, remove redundant checks, and improve maintainability. Updated `eDeviceSource` enum in `MobileDriverCommon.cs` by removing `LambdaTest` and reassigning `AndroidTV`.

Replaced the license header in `GingerLiveSpy.js` with an updated Apache License 2.0 notice. Added a new `ElementFromPoint` method to determine the deepest DOM element at a specific point.

Refactored driver configuration logic in `AgentOperations.cs` to improve readability, simplify `DriverConfigParam` processing, enhance error handling, and remove duplicate code. Introduced a new `InitDriverConfigs` method for better organization.

---------

Co-authored-by: Mahesh Kale <[email protected]>
Co-authored-by: AMAN PRASAD <[email protected]>
Co-authored-by: makhlaque <[email protected]>
Co-authored-by: mohd-amdocs <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: Meni Kadosh <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Ravi Kumar <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: shahanemahesh <[email protected]>
Co-authored-by: Mahesh Shahane <[email protected]>
Co-authored-by: tanushah <[email protected]>

* Enhancement/shared repository folder view2 (#4419)

* Mobile accessibility issue for ios - fix

* added CodeQL WF

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* removed macOS build steps

* Java Explorer issue fix

* Update codeql-analysis.yml

excluding unwanted folders and projects

* Update README.md

updating for triggering security

* mobily accessibility locators identification issue fix

* codeql related updates

* coderabbit comments handled

* Fix: GitHub SecurityAlerts 198,199, 200, 201, 202

* its tested and working

* Codecy suggestions

* CodeRabit Suggestions

* CodeRabbit suggestions

* CodeRabbit Suggestions

* Fix for Git Security Alert 181

* codacy suggestions

* RemovedUnusedMethod

* Pull all variables  except password variables

* Removing code that passes Ginger variables to Robot script using temp file

* Revert "Removing code that passes Ginger variables to Robot script using temp file"

This reverts commit c62b1428dfecc31b178de767073a22de26682a1c.

* Fixed DBoperations Git Alerts

* Build Errors Fixed

* Removed Unused GingerExecutionReport folder from Ginger also handled few codacy comments

* Code Issues

* Enabled only Windows build for CodeQL

* added variable option

* MSSQL Fix Test

* Test Changes

* Bar user inputted connection string.

* Not using GetConnectionString method

* added removing variable value code

* code rabbit suggested changes

* code rabbit changes

* Do not assign the Expression to mValueCalculated if it was failed to evaluate.

* Enhancement Excel Action and Refactoring

* code refactor

* Enhanced the Unit test cases for excel action according to recent enhancements

* Codacy issues

* Upgraded Magick.NET-Q16-AnyCPU nugget to 14.10.0

* codacy

* removed unwanted check

* code refactoring

* updated ut

* codacy and code rabbit comments handled

* Pull Address adjustment

* serliazation added

* Serliazation error fix

* updating version

updating version

* Latest changes for Excel action

* workwork book

* coderabbit comments

* lock object

* coder rabbit issue

* Handled the file name length while api model configuration, and added length to subfolder creation

* resolved the review comment from code rabbit

* Handled the issue of value expression getting truncated

* fixing the index issue

* Update codeql-analysis.yml

* Exclude JavaScript from Scanning for security Vulnarabilities

* Exclude JavaScript from Scanning for security Vulnarabilities_Master

* store to added hidden option

* removed code

* code refactor

* code refactor

* Update codeql-analysis.yml

* Revert

* Bug fixes for excel action

* code removed

* coderabbit comments

* filter issue fix

* As stated in bug: modifed error log to "Error" instead of "Warning"

* push latest fixes

* unit test case change according to enhancement

* Latest

* Rollbacked the changes made for handling the file name length

* Modified code to support maxlength only for folder name

* Removed the task implementation in unix agent

* Fixed issue of special characters from toerh languages are not getting sent to mainframe

* Shared Repository Folder View (#4416)

* Shared Repository Folder View

* enhancement

* code rabbit comments handled

* code rabbit comments handle

---------

Co-authored-by: Ravi Kumar <[email protected]>

* folder view fix

* merge conflict resolved

* merge conflict resolved

* enahcnement

* code rabbit comments handled

---------

Co-authored-by: Mahesh Kale <[email protected]>
Co-authored-by: makhlaque <[email protected]>
Co-authored-by: mohd-amdocs <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: Meni Kadosh <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Ravi Kumar <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: shahanemahesh <[email protected]>
Co-authored-by: Mahesh Shahane <[email protected]>

* Improve Sikuli SetValue handling and focus logic (#4420)

Refactored SetValue to check for empty text before typing and use KeyModifier.NONE for normal input. Now sets an error if the value is empty. Also, SetFocusToSelectedApplicationInstance is now called synchronously instead of asynchronously.

* Exclamation mark fix (#4421)

* Exclamation mark fix

* commit

* Improve circular reference handling in JSON schema tools (#4422)

Enhanced detection and prevention of circular references and stack overflows in JSON schema-to-object generation. Added try-catch blocks for safer property access, improved stack management, and more robust array/property traversal. Also improved error handling when adding API models to repository folders by logging and fallback to parent folder if needed.

* Add tests for circular refs in JsonSchemaFaker, update count (#4423)

Add unit tests to SwaggetTests.cs to ensure JsonSchemaFaker handles circular and self-referencing JSON schemas without infinite loops or errors. Import NJsonSchema for schema support. Update assertion for "Add a new pet to the store-JSON" to expect 7 return values instead of 8.

* Handled set DS value issue (#4425)

* add to BF iicon removal (#4426)

* add to BF iicon removal

* uncommented code

* code rabbit suggestion

---------

Co-authored-by: Ravi Kumar <[email protected]>

* resolved conflicts

* resolved conflicts

---------

Co-authored-by: Mahesh Kale <[email protected]>
Co-authored-by: AMAN PRASAD <[email protected]>
Co-authored-by: makhlaque <[email protected]>
Co-authored-by: mohd-amdocs <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: Meni Kadosh <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: shahanemahesh <[email protected]>
Co-authored-by: Mahesh Shahane <[email protected]>
Co-authored-by: omri1911 <[email protected]>
Co-authored-by: tanushahande2003 <[email protected]>
Co-authored-by: tanushah <[email protected]>

* Prevent Excel formula injection in CSV export (#4431)

* Prevent Excel formula injection in CSV export

D56006_Added logic to prefix values starting with '=', '+', '-', or '@' with a single quote when exporting BusinessFlow, Activity, Act description, and input parameters to CSV. This ensures spreadsheet applications treat these fields as plain text, preventing misinterpretation as formulas. Also refactored code for clarity using intermediate variables.

* Refactor CSV export for clarity and null safety

Renamed method parameters and loop variables for clarity and consistency. Updated references to use descriptive names. Added null check for act.Description to prevent exceptions. Improves code readability and robustness.

---------

Co-authored-by: tanushah <[email protected]>

* added an option to change text color in consoleDriver window

* Action Description fix (#4434)

* Update to .NET 10, package versions, and minor UI tweaks (#4435)

* Update to .NET 10, package versions, and minor UI tweaks

Upgraded all projects from .NET 8.0 to .NET 10.0. Updated System.Text.Json to 10.0.2 and System.Drawing.Common to 10.0.2. Added Microsoft.IdentityModel.JsonWebTokens and Microsoft.IdentityModel.Tokens (8.15.0) to support JWT features. Bumped protobuf-net packages to 3.2.56. Improved XAML grid layout in DataSourceExportToExcelPage.xaml and added DesignerSerializationVisibility attributes in SnippingTool.cs. No functional logic changes.

* upgrade dotnet version to 10

* push supported dotnet version for Github actions

* Fix Dotnet version on Test stage

* Fix CLI TestsGithub

* Fix Test Dotnet Framework of Github with new version of dotnet

* nuget packages updation

* Downgrade EPPlus and Excel Interop, update dependencies

Downgraded EPPlus to 6.0.4 and Microsoft.Office.Interop.Excel to 15.0.4795.1001 across multiple projects for compatibility. Removed Microsoft.IdentityModel.* and System.IdentityModel.Tokens.Jwt from core projects, and removed SixLabors.ImageSharp from GingerCoreNET. Reformatted System.Globalization entry in GingerCore. These changes address dependency and compatibility issues.

---------

Co-authored-by: tanushah <[email protected]>
Co-authored-by: Ravi Kumar <[email protected]>
Co-authored-by: Nadeem Jazmawe <[email protected]>

* Mask API key in UI and update only on user edit (#4436)

* Mask API key in UI and update only on user edit

Added masking for API key in VRTExternalConfigurationsPage to prevent exposure. The real key is hidden with a generic mask, and only updated if the user changes the field. Existing key is preserved unless explicitly edited.

* Addition of validation

* updated validation

* updated validation rule

---------

Co-authored-by: tanushah <[email protected]>

* Fix codeql-config.yml file place

* Upgrade Github Actions versions

* Update license headers to 2026 and add missing headers (#4440)

Updated the copyright year in all license headers from 2014-2025 to 2014-2026 across the codebase. Added the standard license header to several files that were previously missing it. No functional code changes were made.

Co-authored-by: tanushah <[email protected]>

* Register serializer classes earlier; null check in IsReady (#4441)

Ensure MyRepositoryItem is registered with the serializer before test solution creation in SolutionRepositoryMultiThreadTest. Remove redundant registration call. Add null check to IsReady property in GingerSocket2Test to prevent possible NullReferenceException.

* Downgrade LibGit2Sharp.NativeBinaries to 2.0.278 (#4442)

Updated GingerCore.csproj and GingerCoreNET.csproj to use LibGit2Sharp.NativeBinaries version 2.0.278 instead of 2.0.323. No other changes were made.

Co-authored-by: tanushah <[email protected]>
Co-authored-by: Ravi Kumar <[email protected]>

* Updated the SSH and Cryptography nuget package to latest (#4432)

Co-authored-by: Ravi Kumar <[email protected]>

* contract update for pipeline run description (#4437)

Co-authored-by: Ravi Kumar <[email protected]>

* Added Code to allow Solution File to be loaded using SolutionRepository and changed version to 2026.3 (#4443)

Co-authored-by: Mayur Rathi <[email protected]>

* Refactor export query generation and persistence logic (#4447)

Rewrite CreateQueryWithWhereList to use LINQ for column selection, simplify WHERE clause construction with a switch statement, and return queries in the expected format. Update DataSourceExportToExcelPage to persist ExportQueryValue for both action and non-action table elements. Clean up code and improve maintainability.

Co-authored-by: tanushah <[email protected]>
Co-authored-by: Ravi Kumar <[email protected]>

* Updated to latest version of Magick.NET nuget due to vulnarability detected by Dependebot Github Security scan alert (#4451) (#4455)

Co-authored-by: Mayur Rathi <[email protected]>

* Merge 2026.3 to master (#4457)

* Merge master to official branch (#4444)

* Update codeql-analysis.yml

* Rollbacked the changes made for handling the file name length

* Modified code to support maxlength only for folder name

* Removed the task implementation in unix agent

* Fixed issue of special characters from toerh languages are not getting sent to mainframe

* Shared Repository Folder View (#4416)

* Shared Repository Folder View

* enhancement

* code rabbit comments handled

* code rabbit comments handle

---------

Co-authored-by: Ravi Kumar <[email protected]>

* Master for beta merge (#4429)

* Merge master into beta (#4418)

* Mobile accessibility issue for ios - fix

* added CodeQL WF

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* removed macOS build steps

* Java Explorer issue fix

* Update codeql-analysis.yml

excluding unwanted folders and projects

* Update README.md

updating for triggering security

* mobily accessibility locators identification issue fix

* codeql related updates

* coderabbit comments handled

* Fix: GitHub SecurityAlerts 198,199, 200, 201, 202

* its tested and working

* Codecy suggestions

* CodeRabit Suggestions

* CodeRabbit suggestions

* CodeRabbit Suggestions

* Fix for Git Security Alert 181

* codacy suggestions

* RemovedUnusedMethod

* Pull all variables  except password variables

* Removing code that passes Ginger variables to Robot script using temp file

* Revert "Removing code that passes Ginger variables to Robot script using temp file"

This reverts commit c62b1428dfecc31b178de767073a22de26682a1c.

* Fixed DBoperations Git Alerts

* Build Errors Fixed

* Removed Unused GingerExecutionReport folder from Ginger also handled few codacy comments

* Code Issues

* Enabled only Windows build for CodeQL

* added variable option

* MSSQL Fix Test

* Test Changes

* Bar user inputted connection string.

* Not using GetConnectionString method

* added removing variable value code

* code rabbit suggested changes

* code rabbit changes

* Do not assign the Expression to mValueCalculated if it was failed to evaluate.

* Enhancement Excel Action and Refactoring

* code refactor

* Enhanced the Unit test cases for excel action according to recent enhancements

* Codacy issues

* Upgraded Magick.NET-Q16-AnyCPU nugget to 14.10.0

* codacy

* removed unwanted check

* code refactoring

* updated ut

* codacy and code rabbit comments handled

* Pull Address adjustment

* serliazation added

* Serliazation error fix

* updating version

updating version

* Latest changes for Excel action

* workwork book

* coderabbit comments

* lock object

* coder rabbit issue

* Handled the file name length while api model configuration, and added length to subfolder creation

* resolved the review comment from code rabbit

* Handled the issue of value expression getting truncated

* fixing the index issue

* Update codeql-analysis.yml

* Exclude JavaScript from Scanning for security Vulnarabilities

* Exclude JavaScript from Scanning for security Vulnarabilities_Master

* store to added hidden option

* removed code

* code refactor

* code refactor

* Update codeql-analysis.yml

* Revert

* Bug fixes for excel action

* code removed

* coderabbit comments

* filter issue fix

* As stated in bug: modifed error log to "Error" instead of "Warning"

* push latest fixes

* unit test case change according to enhancement

* Latest

* Rollbacked the changes made for handling the file name length

* Modified code to support maxlength only for folder name

* Removed the task implementation in unix agent

* Fixed issue of special characters from toerh languages are not getting sent to mainframe

* Shared Repository Folder View (#4416)

* Shared Repository Folder View

* enhancement

* code rabbit comments handled

* code rabbit comments handle

---------

Co-authored-by: Ravi Kumar <[email protected]>

---------

Co-authored-by: Mahesh Kale <[email protected]>
Co-authored-by: AMAN PRASAD <[email protected]>
Co-authored-by: makhlaque <[email protected]>
Co-authored-by: mohd-amdocs <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: Meni Kadosh <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: shahanemahesh <[email protected]>
Co-authored-by: Mahesh Shahane <[email protected]>

* Feature/uft lab phone selection (#4414)

* Mobile accessibility issue for ios - fix

* added CodeQL WF

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* removed macOS build steps

* Java Explorer issue fix

* Update codeql-analysis.yml

excluding unwanted folders and projects

* Update README.md

updating for triggering security

* mobily accessibility locators identification issue fix

* codeql related updates

* coderabbit comments handled

* Fix: GitHub SecurityAlerts 198,199, 200, 201, 202

* its tested and working

* Codecy suggestions

* CodeRabit Suggestions

* CodeRabbit suggestions

* CodeRabbit Suggestions

* Fix for Git Security Alert 181

* codacy suggestions

* RemovedUnusedMethod

* Pull all variables  except password variables

* Removing code that passes Ginger variables to Robot script using temp file

* Revert "Removing code that passes Ginger variables to Robot script using temp file"

This reverts commit c62b1428dfecc31b178de767073a22de26682a1c.

* Fixed DBoperations Git Alerts

* Build Errors Fixed

* added an api call to fetch the current devices in the UFT Mobile Agent configurations

* Removed Unused GingerExecutionReport folder from Ginger also handled few codacy comments

* Code Issues

* Enabled only Windows build for CodeQL

* added variable option

* MSSQL Fix Test

* Test Changes

* Bar user inputted connection string.

* Not using GetConnectionString method

* added removing variable value code

* code rabbit suggested changes

* code rabbit changes

* Do not assign the Expression to mValueCalculated if it was failed to evaluate.

* Enhancement Excel Action and Refactoring

* code refactor

* Enhanced the Unit test cases for excel action according to recent enhancements

* Codacy issues

* Upgraded Magick.NET-Q16-AnyCPU nugget to 14.10.0

* codacy

* removed unwanted check

* code refactoring

* updated ut

* codacy and code rabbit comments handled

* Pull Address adjustment

* serliazation added

* added a button to see the phones when selecting utf device and select from the list

* Serliazation error fix

* updating version

updating version

* Latest changes for Excel action

* workwork book

* coderabbit comments

* lock object

* coder rabbit issue

* Handled the file name length while api model configuration, and added length to subfolder creation

* resolved the review comment from code rabbit

* Handled the issue of value expression getting truncated

* fixing the index issue

* Update codeql-analysis.yml

* Exclude JavaScript from Scanning for security Vulnarabilities

* Exclude JavaScript from Scanning for security Vulnarabilities_Master

* store to added hidden option

* removed code

* code refactor

* code refactor

* Update codeql-analysis.yml

* Revert

* Bug fixes for excel action

* code removed

* coderabbit comments

* filter issue fix

* As stated in bug: modifed error log to "Error" instead of "Warning"

* push latest fixes

* unit test case change according to enhancement

* Latest

* tested and fixed all edge cases of the device selection (wrong or empty fields and switching platform)

* Rollbacked the changes made for handling the file name length

* Modified code to support maxlength only for folder name

* fixed uft devices button

* fixed the design and made a filtering for the phone list

* fixed phone lab filtering system

* Removed the task implementation in unix agent

* changed UI from rejects raised

* updated the ui design

---------

Co-authored-by: Mahesh Kale <[email protected]>
Co-authored-by: AMAN PRASAD <[email protected]>
Co-authored-by: makhlaque <[email protected]>
Co-authored-by: mohd-amdocs <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: Meni Kadosh <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Ravi Kumar <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: shahanemahesh <[email protected]>
Co-authored-by: Mahesh Shahane <[email protected]>

* fixed defect number 58085  (#4411)

* Mobile accessibility issue for ios - fix

* added CodeQL WF

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* removed macOS build steps

* Java Explorer issue fix

* Update codeql-analysis.yml

excluding unwanted folders and projects

* Update README.md

updating for triggering security

* mobily accessibility locators identification issue fix

* codeql related updates

* coderabbit comments handled

* Fix: GitHub SecurityAlerts 198,199, 200, 201, 202

* its tested and working

* Codecy suggestions

* CodeRabit Suggestions

* CodeRabbit suggestions

* CodeRabbit Suggestions

* Fix for Git Security Alert 181

* codacy suggestions

* RemovedUnusedMethod

* Pull all variables  except password variables

* Removing code that passes Ginger variables to Robot script using temp file

* Revert "Removing code that passes Ginger variables to Robot script using temp file"

This reverts commit c62b1428dfecc31b178de767073a22de26682a1c.

* Fixed DBoperations Git Alerts

* Build Errors Fixed

* Removed Unused GingerExecutionReport folder from Ginger also handled few codacy comments

* Code Issues

* Enabled only Windows build for CodeQL

* added variable option

* MSSQL Fix Test

* Test Changes

* Bar user inputted connection string.

* Not using GetConnectionString method

* added removing variable value code

* code rabbit suggested changes

* code rabbit changes

* Do not assign the Expression to mValueCalculated if it was failed to evaluate.

* Enhancement Excel Action and Refactoring

* code refactor

* Enhanced the Unit test cases for excel action according to recent enhancements

* Codacy issues

* Upgraded Magick.NET-Q16-AnyCPU nugget to 14.10.0

* codacy

* removed unwanted check

* code refactoring

* updated ut

* codacy and code rabbit comments handled

* Pull Address adjustment

* serliazation added

* Serliazation error fix

* updating version

updating version

* Latest changes for Excel action

* workwork book

* coderabbit comments

* lock object

* coder rabbit issue

* Handled the file name length while api model configuration, and added length to subfolder creation

* resolved the review comment from code rabbit

* Handled the issue of value expression getting truncated

* fixing the index issue

* Update codeql-analysis.yml

* Exclude JavaScript from Scanning for security Vulnarabilities

* Exclude JavaScript from Scanning for security Vulnarabilities_Master

* store to added hidden option

* removed code

* code refactor

* code refactor

* Update codeql-analysis.yml

* Revert

* Bug fixes for excel action

* code removed

* coderabbit comments

* filter issue fix

* As stated in bug: modifed error log to "Error" instead of "Warning"

* push latest fixes

* unit test case change according to enhancement

* Latest

* Rollbacked the changes made for handling the file name length

* Modified code to support maxlength only for folder name

* Removed the task implementation in unix agent

* Fixed issue of special characters from toerh languages are not getting sent to mainframe

* added the status code number in the json and the output of the rest api call

* Rename status code parameter for clarity

* Shared Repository Folder View (#4416)

* Shared Repository Folder View

* enhancement

* code rabbit comments handled

* code rabbit comments handle

---------

Co-authored-by: Ravi Kumar <[email protected]>

---------

Co-authored-by: Mahesh Kale <[email protected]>
Co-authored-by: AMAN PRASAD <[email protected]>
Co-authored-by: makhlaque <[email protected]>
Co-authored-by: mohd-amdocs <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: Meni Kadosh <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Ravi Kumar <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: shahanemahesh <[email protected]>
Co-authored-by: Mahesh Shahane <[email protected]>

* Update version numbers in GingerCoreCommon.csproj

* Feature/android tv automation support (#4413)

* Mobile accessibility issue for ios - fix

* added CodeQL WF

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* removed macOS build steps

* Java Explorer issue fix

* Update codeql-analysis.yml

excluding unwanted folders and projects

* Update README.md

updating for triggering security

* mobily accessibility locators identification issue fix

* codeql related updates

* coderabbit comments handled

* Fix: GitHub SecurityAlerts 198,199, 200, 201, 202

* its tested and working

* Codecy suggestions

* CodeRabit Suggestions

* CodeRabbit suggestions

* CodeRabbit Suggestions

* Fix for Git Security Alert 181

* codacy suggestions

* RemovedUnusedMethod

* Pull all variables  except password variables

* Removing code that passes Ginger variables to Robot script using temp file

* Revert "Removing code that passes Ginger variables to Robot script using temp file"

This reverts commit c62b1428dfecc31b178de767073a22de26682a1c.

* Fixed DBoperations Git Alerts

* Build Errors Fixed

* Removed Unused GingerExecutionReport folder from Ginger also handled few codacy comments

* Code Issues

* Enabled only Windows build for CodeQL

* added variable option

* MSSQL Fix Test

* Test Changes

* Bar user inputted connection string.

* Not using GetConnectionString method

* added removing variable value code

* code rabbit suggested changes

* code rabbit changes

* Do not assign the Expression to mValueCalculated if it was failed to evaluate.

* Enhancement Excel Action and Refactoring

* code refactor

* Enhanced the Unit test cases for excel action according to recent enhancements

* Codacy issues

* Upgraded Magick.NET-Q16-AnyCPU nugget to 14.10.0

* codacy

* removed unwanted check

* code refactoring

* updated ut

* codacy and code rabbit comments handled

* Pull Address adjustment

* serliazation added

* Serliazation error fix

* updating version

updating version

* Latest changes for Excel action

* workwork book

* coderabbit comments

* lock object

* coder rabbit issue

* Handled the file name length while api model configuration, and added length to subfolder creation

* resolved the review comment from code rabbit

* Add Android TV support and enhance platform handling

Enhanced platform support by introducing Android TV as a new platform type (`ePlatformType.AndroidTV`) alongside Mobile and iOS. Updated platform descriptions to include "Mobile/TV" for better clarity and added new image types for visual representation.

UI components now display friendly platform descriptions and improved tooltips. Added ComboBox support for enum descriptions in grids.

Extended the Appium driver to support Android TV with specific capabilities, configurations. Improved error handling and fallback mechanisms for driver initialization.

Updated `ActMobileDevice` to include Android TV-specific actions and defaulted action descriptions to "Mobile/Tv Device Action."

Enhanced `DeviceViewPage` to handle Android TV resolutions and scaling. Added dynamic screen size calculations with fallbacks for Android TV.

Updated agent configurations to include Android TV as a selectable driver type and set default configurations for Android TV agents.

Refactored code for better maintainability, improved exception handling, and consolidated driver configuration logic. Added new image resources for Android TV.

Improved `GenericAppiumDriver` to handle Android TV-specific scenarios, including focused element detection and screenshot scaling.

* Handled the issue of value expression getting truncated

* fixing the index issue

* Update codeql-analysis.yml

* Exclude JavaScript from Scanning for security Vulnarabilities

* Exclude JavaScript from Scanning for security Vulnarabilities_Master

* store to added hidden option

* removed code

* code refactor

* code refactor

* Update codeql-analysis.yml

* Revert

* Bug fixes for excel action

* code removed

* coderabbit comments

* filter issue fix

* As stated in bug: modifed error log to "Error" instead of "Warning"

* push latest fixes

* unit test case change according to enhancement

* Latest

* Rollbacked the changes made for handling the file name length

* Modified code to support maxlength only for folder name

* Removed the task implementation in unix agent

* Fixed issue of special characters from toerh languages are not getting sent to mainframe

* enhancement relted android TV - livespy

* enhancement related to android TV

* Refactor and enhance platform-specific logic

Refactored multiple methods across the codebase to improve maintainability, performance, and platform-specific functionality. Key changes include:

- Simplified `timenow` method in `PomAllElementsPage.xaml.cs` with improved user feedback and streamlined logic.
- Enhanced `BitmapToBase64` in `PomLearnUtils.cs` with null-checks, fallback mechanisms, and better error handling.
- Removed redundant methods `LoadGingerLiveSpyScript` and `GetFocusedElementInfo` in `GenericAppiumDriver.cs`.
- Refactored `SimulatePhotoOrBarcode` to update `GingerLiveSpy.js` handling.
- Added platform-specific logic for `HighLightElement`, `GetElementAtMousePosition`, `FindElementXmlNodeByXY`, `GetElementAtPoint`, and `GetPointOnAppWindow` in `GenericAppiumDriver.cs` to support Android TV, Android (mobile), iOS, and Web.
- Improved shadow DOM support and optimized event handling in `GingerLiveSpy.js`.
- Enhanced error handling, logging, and fallback mechanisms across the codebase.

These changes improve cross-platform compatibility, user experience, and code maintainability.

* Refactor and improve code readability and performance

Refactored `ResizeDeviceButtons` and `GetDevicePoint` methods in `DeviceViewPage.xaml.cs` to simplify logic, remove redundant checks, and improve maintainability. Updated `eDeviceSource` enum in `MobileDriverCommon.cs` by removing `LambdaTest` and reassigning `AndroidTV`.

Replaced the license header in `GingerLiveSpy.js` with an updated Apache License 2.0 notice. Added a new `ElementFromPoint` method to determine the deepest DOM element at a specific point.

Refactored driver configuration logic in `AgentOperations.cs` to improve readability, simplify `DriverConfigParam` processing, enhance error handling, and remove duplicate code. Introduced a new `InitDriverConfigs` method for better organization.

---------

Co-authored-by: Mahesh Kale <[email protected]>
Co-authored-by: AMAN PRASAD <[email protected]>
Co-authored-by: makhlaque <[email protected]>
Co-authored-by: mohd-amdocs <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: Meni Kadosh <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Ravi Kumar <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: shahanemahesh <[email protected]>
Co-authored-by: Mahesh Shahane <[email protected]>
Co-authored-by: tanushah <[email protected]>

* Enhancement/shared repository folder view2 (#4419)

* Mobile accessibility issue for ios - fix

* added CodeQL WF

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* removed macOS build steps

* Java Explorer issue fix

* Update codeql-analysis.yml

excluding unwanted folders and projects

* Update README.md

updating for triggering security

* mobily accessibility locators identification issue fix

* codeql related updates

* coderabbit comments handled

* Fix: GitHub SecurityAlerts 198,199, 200, 201, 202

* its tested and working

* Codecy suggestions

* CodeRabit Suggestions

* CodeRabbit suggestions

* CodeRabbit Suggestions

* Fix for Git Security Alert 181

* codacy suggestions

* RemovedUnusedMethod

* Pull all variables  except password variables

* Removing code that passes Ginger variables to Robot script using temp file

* Revert "Removing code that passes Ginger variables to Robot script using temp file"

This reverts commit c62b1428dfecc31b178de767073a22de26682a1c.

* Fixed DBoperations Git Alerts

* Build Errors Fixed

* Removed Unused GingerExecutionReport folder from Ginger also handled few codacy comments

* Code Issues

* Enabled only Windows build for CodeQL

* added variable option

* MSSQL Fix Test

* Test Changes

* Bar user inputted connection string.

* Not using GetConnectionString method

* added removing variable value code

* code rabbit suggested changes

* code rabbit changes

* Do not assign the Expression to mValueCalculated if it was failed to evaluate.

* Enhancement Excel Action and Refactoring

* code refactor

* Enhanced the Unit test cases for excel action according to recent enhancements

* Codacy issues

* Upgraded Magick.NET-Q16-AnyCPU nugget to 14.10.0

* codacy

* removed unwanted check

* code refactoring

* updated ut

* codacy and code rabbit comments handled

* Pull Address adjustment

* serliazation added

* Serliazation error fix

* updating version

updating version

* Latest changes for Excel action

* workwork book

* coderabbit comments

* lock object

* coder rabbit issue

* Handled the file name length while api model configuration, and added length to subfolder creation

* resolved the review comment from code rabbit

* Handled the issue of value expression getting truncated

* fixing the index issue

* Update codeql-analysis.yml

* Exclude JavaScript from Scanning for security Vulnarabilities

* Exclude JavaScript from Scanning for security Vulnarabilities_Master

* store to added hidden option

* removed code

* code refactor

* code refactor

* Update codeql-analysis.yml

* Revert

* Bug fixes for excel action

* code removed

* coderabbit comments

* filter issue fix

* As stated in bug: modifed error log to "Error" instead of "Warning"

* push latest fixes

* unit test case change according to enhancement

* Latest

* Rollbacked the changes made for handling the file name length

* Modified code to support maxlength only for folder name

* Removed the task implementation in unix agent

* Fixed issue of special characters from toerh languages are not getting sent to mainframe

* Shared Repository Folder View (#4416)

* Shared Repository Folder View

* enhancement

* code rabbit comments handled

* code rabbit comments handle

---------

Co-authored-by: Ravi Kumar <[email protected]>

* folder view fix

* merge conflict resolved

* merge conflict resolved

* enahcnement

* code rabbit comments handled

---------

Co-authored-by: Mahesh Kale <[email protected]>
Co-authored-by: makhlaque <[email protected]>
Co-authored-by: mohd-amdocs <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: Meni Kadosh <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Ravi Kumar <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: shahanemahesh <[email protected]>
Co-authored-by: Mahesh Shahane <[email protected]>

* Improve Sikuli SetValue handling and focus logic (#4420)

Refactored SetValue to check for empty text before typing and use KeyModifier.NONE for normal input. Now sets an error if the value is empty. Also, SetFocusToSelectedApplicationInstance is now called synchronously instead of asynchronously.

* Exclamation mark fix (#4421)

* Exclamation mark fix

* commit

* Improve circular reference handling in JSON schema tools (#4422)

Enhanced detection and prevention of circular references and stack overflows in JSON schema-to-object generation. Added try-catch blocks for safer property access, improved stack management, and more robust array/property traversal. Also improved error handling when adding API models to repository folders by logging and fallback to parent folder if needed.

* Add tests for circular refs in JsonSchemaFaker, update count (#4423)

Add unit tests to SwaggetTests.cs to ensure JsonSchemaFaker handles circular and self-referencing JSON schemas without infinite loops or errors. Import NJsonSchema for schema support. Update assertion for "Add a new pet to the store-JSON" to expect 7 return values instead of 8.

* Handled set DS value issue (#4425)

* add to BF iicon removal (#4426)

* add to BF iicon removal

* uncommented code

* code rabbit suggestion

---------

Co-authored-by: Ravi Kumar <[email protected]>

* resolved conflicts

* resolved conflicts

---------

Co-authored-by: Mahesh Kale <[email protected]>
Co-authored-by: AMAN PRASAD <[email protected]>
Co-authored-by: makhlaque <[email protected]>
Co-authored-by: mohd-amdocs <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: Meni Kadosh <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: shahanemahesh <[email protected]>
Co-authored-by: Mahesh Shahane <[email protected]>
Co-authored-by: omri1911 <[email protected]>
Co-authored-by: tanushahande2003 <[email protected]>
Co-authored-by: tanushah <[email protected]>

* Prevent Excel formula injection in CSV export (#4431)

* Prevent Excel formula injection in CSV export

D56006_Added logic to prefix values starting with '=', '+', '-', or '@' with a single quote when exporting BusinessFlow, Activity, Act description, and input parameters to CSV. This ensures spreadsheet applications treat these fields as plain text, preventing misinterpretation as formulas. Also refactored code for clarity using intermediate variables.

* Refactor CSV export for clarity and null safety

Renamed method parameters and loop variables for clarity and consistency. Updated references to use descriptive names. Added null check for act.Description to prevent exceptions. Improves code readability and robustness.

---------

Co-authored-by: tanushah <[email protected]>

* added an option to change text color in consoleDriver window

* Action Description fix (#4434)

* Update to .NET 10, package versions, and minor UI tweaks (#4435)

* Update to .NET 10, package versions, and minor UI tweaks

Upgraded all projects from .NET 8.0 to .NET 10.0. Updated System.Text.Json to 10.0.2 and System.Drawing.Common to 10.0.2. Added Microsoft.IdentityModel.JsonWebTokens and Microsoft.IdentityModel.Tokens (8.15.0) to support JWT features. Bumped protobuf-net packages to 3.2.56. Improved XAML grid layout in DataSourceExportToExcelPage.xaml and added DesignerSerializationVisibility attributes in SnippingTool.cs. No functional logic changes.

* upgrade dotnet version to 10

* push supported dotnet version for Github actions

* Fix Dotnet version on Test stage

* Fix CLI TestsGithub

* Fix Test Dotnet Framework of Github with new version of dotnet

* nuget packages updation

* Downgrade EPPlus and Excel Interop, update dependencies

Downgraded EPPlus to 6.0.4 and Microsoft.Office.Interop.Excel to 15.0.4795.1001 across multiple projects for compatibility. Removed Microsoft.IdentityModel.* and System.IdentityModel.Tokens.Jwt from core projects, and removed SixLabors.ImageSharp from GingerCoreNET. Reformatted System.Globalization entry in GingerCore. These changes address dependency and compatibility issues.

---------

Co-authored-by: tanushah <[email protected]>
Co-authored-by: Ravi Kumar <[email protected]>
Co-authored-by: Nadeem Jazmawe <[email protected]>

* Mask API key in UI and update only on user edit (#4436)

* Mask API key in UI and update only on user edit

Added masking for API key in VRTExternalConfigurationsPage to prevent exposure. The real key is hidden with a generic mask, and only updated if the user changes the field. Existing key is preserved unless explicitly edited.

* Addition of validation

* updated validation

* updated validation rule

---------

Co-authored-by: tanushah <[email protected]>

* Fix codeql-config.yml file place

* Upgrade Github Actions versions

* Update license headers to 2026 and add missing headers (#4440)

Updated the copyright year in all license headers from 2014-2025 to 2014-2026 across the codebase. Added the standard license header to several files that were previously missing it. No functional code changes were made.

Co-authored-by: tanushah <[email protected]>

* Register serializer classes earlier; null check in IsReady (#4441)

Ensure MyRepositoryItem is registered with the serializer before test solution creation in SolutionRepositoryMultiThreadTest. Remove redundant registration call. Add null check to IsReady property in GingerSocket2Test to prevent possible NullReferenceException.

* Downgrade LibGit2Sharp.NativeBinaries to 2.0.278 (#4442)

Updated GingerCore.csproj and GingerCoreNET.csproj to use LibGit2Sharp.NativeBinaries version 2.0.278 instead of 2.0.323. No other changes were made.

Co-authored-by: tanushah <[email protected]>
Co-authored-by: Ravi Kumar <[email protected]>

* Updated the SSH and Cryptography nuget package to latest (#4432)

Co-authored-by: Ravi Kumar <[email protected]>

* contract update for pipeline run description (#4437)

Co-authored-by: Ravi Kumar <[email protected]>

* Added Code to allow Solution File to be loaded using SolutionRepository and changed version to 2026.3 (#4443)

Co-authored-by: Mayur Rathi <[email protected]>

---------

Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: shahanemahesh <[email protected]>
Co-authored-by: Mahesh Shahane <[email protected]>
Co-authored-by: AMAN PRASAD <[email protected]>
Co-authored-by: Mahesh Kale <[email protected]>
Co-authored-by: makhlaque <[email protected]>
Co-authored-by: mohd-amdocs <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: Meni Kadosh <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: omri1911 <[email protected]>
Co-authored-by: tanushahande2003 <[email protected]>
Co-authored-by: tanushah <[email protected]>
Co-authored-by: Omri Agady <[email protected]>
Co-authored-by: Nadeem Jazmawe <[email protected]>
Co-authored-by: Nadeem Jazmawe <[email protected]>

* Updated ginger core common nuget version (#4445)

* Revert solution iteminfo from SolutionRepository

* updated nuget version for publishing

---------

Co-authored-by: Mayur Rathi <[email protected]>

* Allow Fetching/Updating Ginger.Solution.xml through SolutionRepository/parser service

* Need to Update GingerCoreCommon Version to generate new nuget package

* Updated to latest version of Magick.NET nuget due to vulnarability detected by Dependebot Github Security scan alert (#4451)

Co-authored-by: Mayur Rathi <[email protected]>

* Enhance API Key encryption and remove masking logic (#4449…
ravirk91 added a commit that referenced this pull request May 7, 2026
* Update codeql-analysis.yml

* Rollbacked the changes made for handling the file name length

* Modified code to support maxlength only for folder name

* Removed the task implementation in unix agent

* Fixed issue of special characters from toerh languages are not getting sent to mainframe

* Shared Repository Folder View (#4416)

* Shared Repository Folder View

* enhancement

* code rabbit comments handled

* code rabbit comments handle

---------

Co-authored-by: Ravi Kumar <[email protected]>

* Master for beta merge (#4429)

* Merge master into beta (#4418)

* Mobile accessibility issue for ios - fix

* added CodeQL WF

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* removed macOS build steps

* Java Explorer issue fix

* Update codeql-analysis.yml

excluding unwanted folders and projects

* Update README.md

updating for triggering security

* mobily accessibility locators identification issue fix

* codeql related updates

* coderabbit comments handled

* Fix: GitHub SecurityAlerts 198,199, 200, 201, 202

* its tested and working

* Codecy suggestions

* CodeRabit Suggestions

* CodeRabbit suggestions

* CodeRabbit Suggestions

* Fix for Git Security Alert 181

* codacy suggestions

* RemovedUnusedMethod

* Pull all variables  except password variables

* Removing code that passes Ginger variables to Robot script using temp file

* Revert "Removing code that passes Ginger variables to Robot script using temp file"

This reverts commit c62b1428dfecc31b178de767073a22de26682a1c.

* Fixed DBoperations Git Alerts

* Build Errors Fixed

* Removed Unused GingerExecutionReport folder from Ginger also handled few codacy comments

* Code Issues

* Enabled only Windows build for CodeQL

* added variable option

* MSSQL Fix Test

* Test Changes

* Bar user inputted connection string.

* Not using GetConnectionString method

* added removing variable value code

* code rabbit suggested changes

* code rabbit changes

* Do not assign the Expression to mValueCalculated if it was failed to evaluate.

* Enhancement Excel Action and Refactoring

* code refactor

* Enhanced the Unit test cases for excel action according to recent enhancements

* Codacy issues

* Upgraded Magick.NET-Q16-AnyCPU nugget to 14.10.0

* codacy

* removed unwanted check

* code refactoring

* updated ut

* codacy and code rabbit comments handled

* Pull Address adjustment

* serliazation added

* Serliazation error fix

* updating version

updating version

* Latest changes for Excel action

* workwork book

* coderabbit comments

* lock object

* coder rabbit issue

* Handled the file name length while api model configuration, and added length to subfolder creation

* resolved the review comment from code rabbit

* Handled the issue of value expression getting truncated

* fixing the index issue

* Update codeql-analysis.yml

* Exclude JavaScript from Scanning for security Vulnarabilities

* Exclude JavaScript from Scanning for security Vulnarabilities_Master

* store to added hidden option

* removed code

* code refactor

* code refactor

* Update codeql-analysis.yml

* Revert

* Bug fixes for excel action

* code removed

* coderabbit comments

* filter issue fix

* As stated in bug: modifed error log to "Error" instead of "Warning"

* push latest fixes

* unit test case change according to enhancement

* Latest

* Rollbacked the changes made for handling the file name length

* Modified code to support maxlength only for folder name

* Removed the task implementation in unix agent

* Fixed issue of special characters from toerh languages are not getting sent to mainframe

* Shared Repository Folder View (#4416)

* Shared Repository Folder View

* enhancement

* code rabbit comments handled

* code rabbit comments handle

---------

Co-authored-by: Ravi Kumar <[email protected]>

---------

Co-authored-by: Mahesh Kale <[email protected]>
Co-authored-by: AMAN PRASAD <[email protected]>
Co-authored-by: makhlaque <[email protected]>
Co-authored-by: mohd-amdocs <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: Meni Kadosh <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: shahanemahesh <[email protected]>
Co-authored-by: Mahesh Shahane <[email protected]>

* Feature/uft lab phone selection (#4414)

* Mobile accessibility issue for ios - fix

* added CodeQL WF

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* removed macOS build steps

* Java Explorer issue fix

* Update codeql-analysis.yml

excluding unwanted folders and projects

* Update README.md

updating for triggering security

* mobily accessibility locators identification issue fix

* codeql related updates

* coderabbit comments handled

* Fix: GitHub SecurityAlerts 198,199, 200, 201, 202

* its tested and working

* Codecy suggestions

* CodeRabit Suggestions

* CodeRabbit suggestions

* CodeRabbit Suggestions

* Fix for Git Security Alert 181

* codacy suggestions

* RemovedUnusedMethod

* Pull all variables  except password variables

* Removing code that passes Ginger variables to Robot script using temp file

* Revert "Removing code that passes Ginger variables to Robot script using temp file"

This reverts commit c62b1428dfecc31b178de767073a22de26682a1c.

* Fixed DBoperations Git Alerts

* Build Errors Fixed

* added an api call to fetch the current devices in the UFT Mobile Agent configurations

* Removed Unused GingerExecutionReport folder from Ginger also handled few codacy comments

* Code Issues

* Enabled only Windows build for CodeQL

* added variable option

* MSSQL Fix Test

* Test Changes

* Bar user inputted connection string.

* Not using GetConnectionString method

* added removing variable value code

* code rabbit suggested changes

* code rabbit changes

* Do not assign the Expression to mValueCalculated if it was failed to evaluate.

* Enhancement Excel Action and Refactoring

* code refactor

* Enhanced the Unit test cases for excel action according to recent enhancements

* Codacy issues

* Upgraded Magick.NET-Q16-AnyCPU nugget to 14.10.0

* codacy

* removed unwanted check

* code refactoring

* updated ut

* codacy and code rabbit comments handled

* Pull Address adjustment

* serliazation added

* added a button to see the phones when selecting utf device and select from the list

* Serliazation error fix

* updating version

updating version

* Latest changes for Excel action

* workwork book

* coderabbit comments

* lock object

* coder rabbit issue

* Handled the file name length while api model configuration, and added length to subfolder creation

* resolved the review comment from code rabbit

* Handled the issue of value expression getting truncated

* fixing the index issue

* Update codeql-analysis.yml

* Exclude JavaScript from Scanning for security Vulnarabilities

* Exclude JavaScript from Scanning for security Vulnarabilities_Master

* store to added hidden option

* removed code

* code refactor

* code refactor

* Update codeql-analysis.yml

* Revert

* Bug fixes for excel action

* code removed

* coderabbit comments

* filter issue fix

* As stated in bug: modifed error log to "Error" instead of "Warning"

* push latest fixes

* unit test case change according to enhancement

* Latest

* tested and fixed all edge cases of the device selection (wrong or empty fields and switching platform)

* Rollbacked the changes made for handling the file name length

* Modified code to support maxlength only for folder name

* fixed uft devices button

* fixed the design and made a filtering for the phone list

* fixed phone lab filtering system

* Removed the task implementation in unix agent

* changed UI from rejects raised

* updated the ui design

---------

Co-authored-by: Mahesh Kale <[email protected]>
Co-authored-by: AMAN PRASAD <[email protected]>
Co-authored-by: makhlaque <[email protected]>
Co-authored-by: mohd-amdocs <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: Meni Kadosh <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Ravi Kumar <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: shahanemahesh <[email protected]>
Co-authored-by: Mahesh Shahane <[email protected]>

* fixed defect number 58085  (#4411)

* Mobile accessibility issue for ios - fix

* added CodeQL WF

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* removed macOS build steps

* Java Explorer issue fix

* Update codeql-analysis.yml

excluding unwanted folders and projects

* Update README.md

updating for triggering security

* mobily accessibility locators identification issue fix

* codeql related updates

* coderabbit comments handled

* Fix: GitHub SecurityAlerts 198,199, 200, 201, 202

* its tested and working

* Codecy suggestions

* CodeRabit Suggestions

* CodeRabbit suggestions

* CodeRabbit Suggestions

* Fix for Git Security Alert 181

* codacy suggestions

* RemovedUnusedMethod

* Pull all variables  except password variables

* Removing code that passes Ginger variables to Robot script using temp file

* Revert "Removing code that passes Ginger variables to Robot script using temp file"

This reverts commit c62b1428dfecc31b178de767073a22de26682a1c.

* Fixed DBoperations Git Alerts

* Build Errors Fixed

* Removed Unused GingerExecutionReport folder from Ginger also handled few codacy comments

* Code Issues

* Enabled only Windows build for CodeQL

* added variable option

* MSSQL Fix Test

* Test Changes

* Bar user inputted connection string.

* Not using GetConnectionString method

* added removing variable value code

* code rabbit suggested changes

* code rabbit changes

* Do not assign the Expression to mValueCalculated if it was failed to evaluate.

* Enhancement Excel Action and Refactoring

* code refactor

* Enhanced the Unit test cases for excel action according to recent enhancements

* Codacy issues

* Upgraded Magick.NET-Q16-AnyCPU nugget to 14.10.0

* codacy

* removed unwanted check

* code refactoring

* updated ut

* codacy and code rabbit comments handled

* Pull Address adjustment

* serliazation added

* Serliazation error fix

* updating version

updating version

* Latest changes for Excel action

* workwork book

* coderabbit comments

* lock object

* coder rabbit issue

* Handled the file name length while api model configuration, and added length to subfolder creation

* resolved the review comment from code rabbit

* Handled the issue of value expression getting truncated

* fixing the index issue

* Update codeql-analysis.yml

* Exclude JavaScript from Scanning for security Vulnarabilities

* Exclude JavaScript from Scanning for security Vulnarabilities_Master

* store to added hidden option

* removed code

* code refactor

* code refactor

* Update codeql-analysis.yml

* Revert

* Bug fixes for excel action

* code removed

* coderabbit comments

* filter issue fix

* As stated in bug: modifed error log to "Error" instead of "Warning"

* push latest fixes

* unit test case change according to enhancement

* Latest

* Rollbacked the changes made for handling the file name length

* Modified code to support maxlength only for folder name

* Removed the task implementation in unix agent

* Fixed issue of special characters from toerh languages are not getting sent to mainframe

* added the status code number in the json and the output of the rest api call

* Rename status code parameter for clarity

* Shared Repository Folder View (#4416)

* Shared Repository Folder View

* enhancement

* code rabbit comments handled

* code rabbit comments handle

---------

Co-authored-by: Ravi Kumar <[email protected]>

---------

Co-authored-by: Mahesh Kale <[email protected]>
Co-authored-by: AMAN PRASAD <[email protected]>
Co-authored-by: makhlaque <[email protected]>
Co-authored-by: mohd-amdocs <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: Meni Kadosh <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Ravi Kumar <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: shahanemahesh <[email protected]>
Co-authored-by: Mahesh Shahane <[email protected]>

* Update version numbers in GingerCoreCommon.csproj

* Feature/android tv automation support (#4413)

* Mobile accessibility issue for ios - fix

* added CodeQL WF

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* removed macOS build steps

* Java Explorer issue fix

* Update codeql-analysis.yml

excluding unwanted folders and projects

* Update README.md

updating for triggering security

* mobily accessibility locators identification issue fix

* codeql related updates

* coderabbit comments handled

* Fix: GitHub SecurityAlerts 198,199, 200, 201, 202

* its tested and working

* Codecy suggestions

* CodeRabit Suggestions

* CodeRabbit suggestions

* CodeRabbit Suggestions

* Fix for Git Security Alert 181

* codacy suggestions

* RemovedUnusedMethod

* Pull all variables  except password variables

* Removing code that passes Ginger variables to Robot script using temp file

* Revert "Removing code that passes Ginger variables to Robot script using temp file"

This reverts commit c62b1428dfecc31b178de767073a22de26682a1c.

* Fixed DBoperations Git Alerts

* Build Errors Fixed

* Removed Unused GingerExecutionReport folder from Ginger also handled few codacy comments

* Code Issues

* Enabled only Windows build for CodeQL

* added variable option

* MSSQL Fix Test

* Test Changes

* Bar user inputted connection string.

* Not using GetConnectionString method

* added removing variable value code

* code rabbit suggested changes

* code rabbit changes

* Do not assign the Expression to mValueCalculated if it was failed to evaluate.

* Enhancement Excel Action and Refactoring

* code refactor

* Enhanced the Unit test cases for excel action according to recent enhancements

* Codacy issues

* Upgraded Magick.NET-Q16-AnyCPU nugget to 14.10.0

* codacy

* removed unwanted check

* code refactoring

* updated ut

* codacy and code rabbit comments handled

* Pull Address adjustment

* serliazation added

* Serliazation error fix

* updating version

updating version

* Latest changes for Excel action

* workwork book

* coderabbit comments

* lock object

* coder rabbit issue

* Handled the file name length while api model configuration, and added length to subfolder creation

* resolved the review comment from code rabbit

* Add Android TV support and enhance platform handling

Enhanced platform support by introducing Android TV as a new platform type (`ePlatformType.AndroidTV`) alongside Mobile and iOS. Updated platform descriptions to include "Mobile/TV" for better clarity and added new image types for visual representation.

UI components now display friendly platform descriptions and improved tooltips. Added ComboBox support for enum descriptions in grids.

Extended the Appium driver to support Android TV with specific capabilities, configurations. Improved error handling and fallback mechanisms for driver initialization.

Updated `ActMobileDevice` to include Android TV-specific actions and defaulted action descriptions to "Mobile/Tv Device Action."

Enhanced `DeviceViewPage` to handle Android TV resolutions and scaling. Added dynamic screen size calculations with fallbacks for Android TV.

Updated agent configurations to include Android TV as a selectable driver type and set default configurations for Android TV agents.

Refactored code for better maintainability, improved exception handling, and consolidated driver configuration logic. Added new image resources for Android TV.

Improved `GenericAppiumDriver` to handle Android TV-specific scenarios, including focused element detection and screenshot scaling.

* Handled the issue of value expression getting truncated

* fixing the index issue

* Update codeql-analysis.yml

* Exclude JavaScript from Scanning for security Vulnarabilities

* Exclude JavaScript from Scanning for security Vulnarabilities_Master

* store to added hidden option

* removed code

* code refactor

* code refactor

* Update codeql-analysis.yml

* Revert

* Bug fixes for excel action

* code removed

* coderabbit comments

* filter issue fix

* As stated in bug: modifed error log to "Error" instead of "Warning"

* push latest fixes

* unit test case change according to enhancement

* Latest

* Rollbacked the changes made for handling the file name length

* Modified code to support maxlength only for folder name

* Removed the task implementation in unix agent

* Fixed issue of special characters from toerh languages are not getting sent to mainframe

* enhancement relted android TV - livespy

* enhancement related to android TV

* Refactor and enhance platform-specific logic

Refactored multiple methods across the codebase to improve maintainability, performance, and platform-specific functionality. Key changes include:

- Simplified `timenow` method in `PomAllElementsPage.xaml.cs` with improved user feedback and streamlined logic.
- Enhanced `BitmapToBase64` in `PomLearnUtils.cs` with null-checks, fallback mechanisms, and better error handling.
- Removed redundant methods `LoadGingerLiveSpyScript` and `GetFocusedElementInfo` in `GenericAppiumDriver.cs`.
- Refactored `SimulatePhotoOrBarcode` to update `GingerLiveSpy.js` handling.
- Added platform-specific logic for `HighLightElement`, `GetElementAtMousePosition`, `FindElementXmlNodeByXY`, `GetElementAtPoint`, and `GetPointOnAppWindow` in `GenericAppiumDriver.cs` to support Android TV, Android (mobile), iOS, and Web.
- Improved shadow DOM support and optimized event handling in `GingerLiveSpy.js`.
- Enhanced error handling, logging, and fallback mechanisms across the codebase.

These changes improve cross-platform compatibility, user experience, and code maintainability.

* Refactor and improve code readability and performance

Refactored `ResizeDeviceButtons` and `GetDevicePoint` methods in `DeviceViewPage.xaml.cs` to simplify logic, remove redundant checks, and improve maintainability. Updated `eDeviceSource` enum in `MobileDriverCommon.cs` by removing `LambdaTest` and reassigning `AndroidTV`.

Replaced the license header in `GingerLiveSpy.js` with an updated Apache License 2.0 notice. Added a new `ElementFromPoint` method to determine the deepest DOM element at a specific point.

Refactored driver configuration logic in `AgentOperations.cs` to improve readability, simplify `DriverConfigParam` processing, enhance error handling, and remove duplicate code. Introduced a new `InitDriverConfigs` method for better organization.

---------

Co-authored-by: Mahesh Kale <[email protected]>
Co-authored-by: AMAN PRASAD <[email protected]>
Co-authored-by: makhlaque <[email protected]>
Co-authored-by: mohd-amdocs <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: Meni Kadosh <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Ravi Kumar <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: shahanemahesh <[email protected]>
Co-authored-by: Mahesh Shahane <[email protected]>
Co-authored-by: tanushah <[email protected]>

* Enhancement/shared repository folder view2 (#4419)

* Mobile accessibility issue for ios - fix

* added CodeQL WF

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* removed macOS build steps

* Java Explorer issue fix

* Update codeql-analysis.yml

excluding unwanted folders and projects

* Update README.md

updating for triggering security

* mobily accessibility locators identification issue fix

* codeql related updates

* coderabbit comments handled

* Fix: GitHub SecurityAlerts 198,199, 200, 201, 202

* its tested and working

* Codecy suggestions

* CodeRabit Suggestions

* CodeRabbit suggestions

* CodeRabbit Suggestions

* Fix for Git Security Alert 181

* codacy suggestions

* RemovedUnusedMethod

* Pull all variables  except password variables

* Removing code that passes Ginger variables to Robot script using temp file

* Revert "Removing code that passes Ginger variables to Robot script using temp file"

This reverts commit c62b1428dfecc31b178de767073a22de26682a1c.

* Fixed DBoperations Git Alerts

* Build Errors Fixed

* Removed Unused GingerExecutionReport folder from Ginger also handled few codacy comments

* Code Issues

* Enabled only Windows build for CodeQL

* added variable option

* MSSQL Fix Test

* Test Changes

* Bar user inputted connection string.

* Not using GetConnectionString method

* added removing variable value code

* code rabbit suggested changes

* code rabbit changes

* Do not assign the Expression to mValueCalculated if it was failed to evaluate.

* Enhancement Excel Action and Refactoring

* code refactor

* Enhanced the Unit test cases for excel action according to recent enhancements

* Codacy issues

* Upgraded Magick.NET-Q16-AnyCPU nugget to 14.10.0

* codacy

* removed unwanted check

* code refactoring

* updated ut

* codacy and code rabbit comments handled

* Pull Address adjustment

* serliazation added

* Serliazation error fix

* updating version

updating version

* Latest changes for Excel action

* workwork book

* coderabbit comments

* lock object

* coder rabbit issue

* Handled the file name length while api model configuration, and added length to subfolder creation

* resolved the review comment from code rabbit

* Handled the issue of value expression getting truncated

* fixing the index issue

* Update codeql-analysis.yml

* Exclude JavaScript from Scanning for security Vulnarabilities

* Exclude JavaScript from Scanning for security Vulnarabilities_Master

* store to added hidden option

* removed code

* code refactor

* code refactor

* Update codeql-analysis.yml

* Revert

* Bug fixes for excel action

* code removed

* coderabbit comments

* filter issue fix

* As stated in bug: modifed error log to "Error" instead of "Warning"

* push latest fixes

* unit test case change according to enhancement

* Latest

* Rollbacked the changes made for handling the file name length

* Modified code to support maxlength only for folder name

* Removed the task implementation in unix agent

* Fixed issue of special characters from toerh languages are not getting sent to mainframe

* Shared Repository Folder View (#4416)

* Shared Repository Folder View

* enhancement

* code rabbit comments handled

* code rabbit comments handle

---------

Co-authored-by: Ravi Kumar <[email protected]>

* folder view fix

* merge conflict resolved

* merge conflict resolved

* enahcnement

* code rabbit comments handled

---------

Co-authored-by: Mahesh Kale <[email protected]>
Co-authored-by: makhlaque <[email protected]>
Co-authored-by: mohd-amdocs <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: Meni Kadosh <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Ravi Kumar <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: shahanemahesh <[email protected]>
Co-authored-by: Mahesh Shahane <[email protected]>

* Improve Sikuli SetValue handling and focus logic (#4420)

Refactored SetValue to check for empty text before typing and use KeyModifier.NONE for normal input. Now sets an error if the value is empty. Also, SetFocusToSelectedApplicationInstance is now called synchronously instead of asynchronously.

* Exclamation mark fix (#4421)

* Exclamation mark fix

* commit

* Improve circular reference handling in JSON schema tools (#4422)

Enhanced detection and prevention of circular references and stack overflows in JSON schema-to-object generation. Added try-catch blocks for safer property access, improved stack management, and more robust array/property traversal. Also improved error handling when adding API models to repository folders by logging and fallback to parent folder if needed.

* Add tests for circular refs in JsonSchemaFaker, update count (#4423)

Add unit tests to SwaggetTests.cs to ensure JsonSchemaFaker handles circular and self-referencing JSON schemas without infinite loops or errors. Import NJsonSchema for schema support. Update assertion for "Add a new pet to the store-JSON" to expect 7 return values instead of 8.

* Handled set DS value issue (#4425)

* add to BF iicon removal (#4426)

* add to BF iicon removal

* uncommented code

* code rabbit suggestion

---------

Co-authored-by: Ravi Kumar <[email protected]>

* resolved conflicts

* resolved conflicts

---------

Co-authored-by: Mahesh Kale <[email protected]>
Co-authored-by: AMAN PRASAD <[email protected]>
Co-authored-by: makhlaque <[email protected]>
Co-authored-by: mohd-amdocs <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: Meni Kadosh <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: shahanemahesh <[email protected]>
Co-authored-by: Mahesh Shahane <[email protected]>
Co-authored-by: omri1911 <[email protected]>
Co-authored-by: tanushahande2003 <[email protected]>
Co-authored-by: tanushah <[email protected]>

* Prevent Excel formula injection in CSV export (#4431)

* Prevent Excel formula injection in CSV export

D56006_Added logic to prefix values starting with '=', '+', '-', or '@' with a single quote when exporting BusinessFlow, Activity, Act description, and input parameters to CSV. This ensures spreadsheet applications treat these fields as plain text, preventing misinterpretation as formulas. Also refactored code for clarity using intermediate variables.

* Refactor CSV export for clarity and null safety

Renamed method parameters and loop variables for clarity and consistency. Updated references to use descriptive names. Added null check for act.Description to prevent exceptions. Improves code readability and robustness.

---------

Co-authored-by: tanushah <[email protected]>

* added an option to change text color in consoleDriver window

* Action Description fix (#4434)

* Update to .NET 10, package versions, and minor UI tweaks (#4435)

* Update to .NET 10, package versions, and minor UI tweaks

Upgraded all projects from .NET 8.0 to .NET 10.0. Updated System.Text.Json to 10.0.2 and System.Drawing.Common to 10.0.2. Added Microsoft.IdentityModel.JsonWebTokens and Microsoft.IdentityModel.Tokens (8.15.0) to support JWT features. Bumped protobuf-net packages to 3.2.56. Improved XAML grid layout in DataSourceExportToExcelPage.xaml and added DesignerSerializationVisibility attributes in SnippingTool.cs. No functional logic changes.

* upgrade dotnet version to 10

* push supported dotnet version for Github actions

* Fix Dotnet version on Test stage

* Fix CLI TestsGithub

* Fix Test Dotnet Framework of Github with new version of dotnet

* nuget packages updation

* Downgrade EPPlus and Excel Interop, update dependencies

Downgraded EPPlus to 6.0.4 and Microsoft.Office.Interop.Excel to 15.0.4795.1001 across multiple projects for compatibility. Removed Microsoft.IdentityModel.* and System.IdentityModel.Tokens.Jwt from core projects, and removed SixLabors.ImageSharp from GingerCoreNET. Reformatted System.Globalization entry in GingerCore. These changes address dependency and compatibility issues.

---------

Co-authored-by: tanushah <[email protected]>
Co-authored-by: Ravi Kumar <[email protected]>
Co-authored-by: Nadeem Jazmawe <[email protected]>

* Mask API key in UI and update only on user edit (#4436)

* Mask API key in UI and update only on user edit

Added masking for API key in VRTExternalConfigurationsPage to prevent exposure. The real key is hidden with a generic mask, and only updated if the user changes the field. Existing key is preserved unless explicitly edited.

* Addition of validation

* updated validation

* updated validation rule

---------

Co-authored-by: tanushah <[email protected]>

* Fix codeql-config.yml file place

* Upgrade Github Actions versions

* Update license headers to 2026 and add missing headers (#4440)

Updated the copyright year in all license headers from 2014-2025 to 2014-2026 across the codebase. Added the standard license header to several files that were previously missing it. No functional code changes were made.

Co-authored-by: tanushah <[email protected]>

* Register serializer classes earlier; null check in IsReady (#4441)

Ensure MyRepositoryItem is registered with the serializer before test solution creation in SolutionRepositoryMultiThreadTest. Remove redundant registration call. Add null check to IsReady property in GingerSocket2Test to prevent possible NullReferenceException.

* Downgrade LibGit2Sharp.NativeBinaries to 2.0.278 (#4442)

Updated GingerCore.csproj and GingerCoreNET.csproj to use LibGit2Sharp.NativeBinaries version 2.0.278 instead of 2.0.323. No other changes were made.

Co-authored-by: tanushah <[email protected]>
Co-authored-by: Ravi Kumar <[email protected]>

* Updated the SSH and Cryptography nuget package to latest (#4432)

Co-authored-by: Ravi Kumar <[email protected]>

* contract update for pipeline run description (#4437)

Co-authored-by: Ravi Kumar <[email protected]>

* Added Code to allow Solution File to be loaded using SolutionRepository and changed version to 2026.3 (#4443)

Co-authored-by: Mayur Rathi <[email protected]>

* Refactor export query generation and persistence logic (#4447)

Rewrite CreateQueryWithWhereList to use LINQ for column selection, simplify WHERE clause construction with a switch statement, and return queries in the expected format. Update DataSourceExportToExcelPage to persist ExportQueryValue for both action and non-action table elements. Clean up code and improve maintainability.

Co-authored-by: tanushah <[email protected]>
Co-authored-by: Ravi Kumar <[email protected]>

* Updated to latest version of Magick.NET nuget due to vulnarability detected by Dependebot Github Security scan alert (#4451) (#4455)

Co-authored-by: Mayur Rathi <[email protected]>

* Merge 2026.3 to master (#4457)

* Merge master to official branch (#4444)

* Update codeql-analysis.yml

* Rollbacked the changes made for handling the file name length

* Modified code to support maxlength only for folder name

* Removed the task implementation in unix agent

* Fixed issue of special characters from toerh languages are not getting sent to mainframe

* Shared Repository Folder View (#4416)

* Shared Repository Folder View

* enhancement

* code rabbit comments handled

* code rabbit comments handle

---------

Co-authored-by: Ravi Kumar <[email protected]>

* Master for beta merge (#4429)

* Merge master into beta (#4418)

* Mobile accessibility issue for ios - fix

* added CodeQL WF

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* removed macOS build steps

* Java Explorer issue fix

* Update codeql-analysis.yml

excluding unwanted folders and projects

* Update README.md

updating for triggering security

* mobily accessibility locators identification issue fix

* codeql related updates

* coderabbit comments handled

* Fix: GitHub SecurityAlerts 198,199, 200, 201, 202

* its tested and working

* Codecy suggestions

* CodeRabit Suggestions

* CodeRabbit suggestions

* CodeRabbit Suggestions

* Fix for Git Security Alert 181

* codacy suggestions

* RemovedUnusedMethod

* Pull all variables  except password variables

* Removing code that passes Ginger variables to Robot script using temp file

* Revert "Removing code that passes Ginger variables to Robot script using temp file"

This reverts commit c62b1428dfecc31b178de767073a22de26682a1c.

* Fixed DBoperations Git Alerts

* Build Errors Fixed

* Removed Unused GingerExecutionReport folder from Ginger also handled few codacy comments

* Code Issues

* Enabled only Windows build for CodeQL

* added variable option

* MSSQL Fix Test

* Test Changes

* Bar user inputted connection string.

* Not using GetConnectionString method

* added removing variable value code

* code rabbit suggested changes

* code rabbit changes

* Do not assign the Expression to mValueCalculated if it was failed to evaluate.

* Enhancement Excel Action and Refactoring

* code refactor

* Enhanced the Unit test cases for excel action according to recent enhancements

* Codacy issues

* Upgraded Magick.NET-Q16-AnyCPU nugget to 14.10.0

* codacy

* removed unwanted check

* code refactoring

* updated ut

* codacy and code rabbit comments handled

* Pull Address adjustment

* serliazation added

* Serliazation error fix

* updating version

updating version

* Latest changes for Excel action

* workwork book

* coderabbit comments

* lock object

* coder rabbit issue

* Handled the file name length while api model configuration, and added length to subfolder creation

* resolved the review comment from code rabbit

* Handled the issue of value expression getting truncated

* fixing the index issue

* Update codeql-analysis.yml

* Exclude JavaScript from Scanning for security Vulnarabilities

* Exclude JavaScript from Scanning for security Vulnarabilities_Master

* store to added hidden option

* removed code

* code refactor

* code refactor

* Update codeql-analysis.yml

* Revert

* Bug fixes for excel action

* code removed

* coderabbit comments

* filter issue fix

* As stated in bug: modifed error log to "Error" instead of "Warning"

* push latest fixes

* unit test case change according to enhancement

* Latest

* Rollbacked the changes made for handling the file name length

* Modified code to support maxlength only for folder name

* Removed the task implementation in unix agent

* Fixed issue of special characters from toerh languages are not getting sent to mainframe

* Shared Repository Folder View (#4416)

* Shared Repository Folder View

* enhancement

* code rabbit comments handled

* code rabbit comments handle

---------

Co-authored-by: Ravi Kumar <[email protected]>

---------

Co-authored-by: Mahesh Kale <[email protected]>
Co-authored-by: AMAN PRASAD <[email protected]>
Co-authored-by: makhlaque <[email protected]>
Co-authored-by: mohd-amdocs <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: Meni Kadosh <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: shahanemahesh <[email protected]>
Co-authored-by: Mahesh Shahane <[email protected]>

* Feature/uft lab phone selection (#4414)

* Mobile accessibility issue for ios - fix

* added CodeQL WF

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* removed macOS build steps

* Java Explorer issue fix

* Update codeql-analysis.yml

excluding unwanted folders and projects

* Update README.md

updating for triggering security

* mobily accessibility locators identification issue fix

* codeql related updates

* coderabbit comments handled

* Fix: GitHub SecurityAlerts 198,199, 200, 201, 202

* its tested and working

* Codecy suggestions

* CodeRabit Suggestions

* CodeRabbit suggestions

* CodeRabbit Suggestions

* Fix for Git Security Alert 181

* codacy suggestions

* RemovedUnusedMethod

* Pull all variables  except password variables

* Removing code that passes Ginger variables to Robot script using temp file

* Revert "Removing code that passes Ginger variables to Robot script using temp file"

This reverts commit c62b1428dfecc31b178de767073a22de26682a1c.

* Fixed DBoperations Git Alerts

* Build Errors Fixed

* added an api call to fetch the current devices in the UFT Mobile Agent configurations

* Removed Unused GingerExecutionReport folder from Ginger also handled few codacy comments

* Code Issues

* Enabled only Windows build for CodeQL

* added variable option

* MSSQL Fix Test

* Test Changes

* Bar user inputted connection string.

* Not using GetConnectionString method

* added removing variable value code

* code rabbit suggested changes

* code rabbit changes

* Do not assign the Expression to mValueCalculated if it was failed to evaluate.

* Enhancement Excel Action and Refactoring

* code refactor

* Enhanced the Unit test cases for excel action according to recent enhancements

* Codacy issues

* Upgraded Magick.NET-Q16-AnyCPU nugget to 14.10.0

* codacy

* removed unwanted check

* code refactoring

* updated ut

* codacy and code rabbit comments handled

* Pull Address adjustment

* serliazation added

* added a button to see the phones when selecting utf device and select from the list

* Serliazation error fix

* updating version

updating version

* Latest changes for Excel action

* workwork book

* coderabbit comments

* lock object

* coder rabbit issue

* Handled the file name length while api model configuration, and added length to subfolder creation

* resolved the review comment from code rabbit

* Handled the issue of value expression getting truncated

* fixing the index issue

* Update codeql-analysis.yml

* Exclude JavaScript from Scanning for security Vulnarabilities

* Exclude JavaScript from Scanning for security Vulnarabilities_Master

* store to added hidden option

* removed code

* code refactor

* code refactor

* Update codeql-analysis.yml

* Revert

* Bug fixes for excel action

* code removed

* coderabbit comments

* filter issue fix

* As stated in bug: modifed error log to "Error" instead of "Warning"

* push latest fixes

* unit test case change according to enhancement

* Latest

* tested and fixed all edge cases of the device selection (wrong or empty fields and switching platform)

* Rollbacked the changes made for handling the file name length

* Modified code to support maxlength only for folder name

* fixed uft devices button

* fixed the design and made a filtering for the phone list

* fixed phone lab filtering system

* Removed the task implementation in unix agent

* changed UI from rejects raised

* updated the ui design

---------

Co-authored-by: Mahesh Kale <[email protected]>
Co-authored-by: AMAN PRASAD <[email protected]>
Co-authored-by: makhlaque <[email protected]>
Co-authored-by: mohd-amdocs <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: Meni Kadosh <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Ravi Kumar <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: shahanemahesh <[email protected]>
Co-authored-by: Mahesh Shahane <[email protected]>

* fixed defect number 58085  (#4411)

* Mobile accessibility issue for ios - fix

* added CodeQL WF

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* removed macOS build steps

* Java Explorer issue fix

* Update codeql-analysis.yml

excluding unwanted folders and projects

* Update README.md

updating for triggering security

* mobily accessibility locators identification issue fix

* codeql related updates

* coderabbit comments handled

* Fix: GitHub SecurityAlerts 198,199, 200, 201, 202

* its tested and working

* Codecy suggestions

* CodeRabit Suggestions

* CodeRabbit suggestions

* CodeRabbit Suggestions

* Fix for Git Security Alert 181

* codacy suggestions

* RemovedUnusedMethod

* Pull all variables  except password variables

* Removing code that passes Ginger variables to Robot script using temp file

* Revert "Removing code that passes Ginger variables to Robot script using temp file"

This reverts commit c62b1428dfecc31b178de767073a22de26682a1c.

* Fixed DBoperations Git Alerts

* Build Errors Fixed

* Removed Unused GingerExecutionReport folder from Ginger also handled few codacy comments

* Code Issues

* Enabled only Windows build for CodeQL

* added variable option

* MSSQL Fix Test

* Test Changes

* Bar user inputted connection string.

* Not using GetConnectionString method

* added removing variable value code

* code rabbit suggested changes

* code rabbit changes

* Do not assign the Expression to mValueCalculated if it was failed to evaluate.

* Enhancement Excel Action and Refactoring

* code refactor

* Enhanced the Unit test cases for excel action according to recent enhancements

* Codacy issues

* Upgraded Magick.NET-Q16-AnyCPU nugget to 14.10.0

* codacy

* removed unwanted check

* code refactoring

* updated ut

* codacy and code rabbit comments handled

* Pull Address adjustment

* serliazation added

* Serliazation error fix

* updating version

updating version

* Latest changes for Excel action

* workwork book

* coderabbit comments

* lock object

* coder rabbit issue

* Handled the file name length while api model configuration, and added length to subfolder creation

* resolved the review comment from code rabbit

* Handled the issue of value expression getting truncated

* fixing the index issue

* Update codeql-analysis.yml

* Exclude JavaScript from Scanning for security Vulnarabilities

* Exclude JavaScript from Scanning for security Vulnarabilities_Master

* store to added hidden option

* removed code

* code refactor

* code refactor

* Update codeql-analysis.yml

* Revert

* Bug fixes for excel action

* code removed

* coderabbit comments

* filter issue fix

* As stated in bug: modifed error log to "Error" instead of "Warning"

* push latest fixes

* unit test case change according to enhancement

* Latest

* Rollbacked the changes made for handling the file name length

* Modified code to support maxlength only for folder name

* Removed the task implementation in unix agent

* Fixed issue of special characters from toerh languages are not getting sent to mainframe

* added the status code number in the json and the output of the rest api call

* Rename status code parameter for clarity

* Shared Repository Folder View (#4416)

* Shared Repository Folder View

* enhancement

* code rabbit comments handled

* code rabbit comments handle

---------

Co-authored-by: Ravi Kumar <[email protected]>

---------

Co-authored-by: Mahesh Kale <[email protected]>
Co-authored-by: AMAN PRASAD <[email protected]>
Co-authored-by: makhlaque <[email protected]>
Co-authored-by: mohd-amdocs <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: Meni Kadosh <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Ravi Kumar <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: shahanemahesh <[email protected]>
Co-authored-by: Mahesh Shahane <[email protected]>

* Update version numbers in GingerCoreCommon.csproj

* Feature/android tv automation support (#4413)

* Mobile accessibility issue for ios - fix

* added CodeQL WF

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* removed macOS build steps

* Java Explorer issue fix

* Update codeql-analysis.yml

excluding unwanted folders and projects

* Update README.md

updating for triggering security

* mobily accessibility locators identification issue fix

* codeql related updates

* coderabbit comments handled

* Fix: GitHub SecurityAlerts 198,199, 200, 201, 202

* its tested and working

* Codecy suggestions

* CodeRabit Suggestions

* CodeRabbit suggestions

* CodeRabbit Suggestions

* Fix for Git Security Alert 181

* codacy suggestions

* RemovedUnusedMethod

* Pull all variables  except password variables

* Removing code that passes Ginger variables to Robot script using temp file

* Revert "Removing code that passes Ginger variables to Robot script using temp file"

This reverts commit c62b1428dfecc31b178de767073a22de26682a1c.

* Fixed DBoperations Git Alerts

* Build Errors Fixed

* Removed Unused GingerExecutionReport folder from Ginger also handled few codacy comments

* Code Issues

* Enabled only Windows build for CodeQL

* added variable option

* MSSQL Fix Test

* Test Changes

* Bar user inputted connection string.

* Not using GetConnectionString method

* added removing variable value code

* code rabbit suggested changes

* code rabbit changes

* Do not assign the Expression to mValueCalculated if it was failed to evaluate.

* Enhancement Excel Action and Refactoring

* code refactor

* Enhanced the Unit test cases for excel action according to recent enhancements

* Codacy issues

* Upgraded Magick.NET-Q16-AnyCPU nugget to 14.10.0

* codacy

* removed unwanted check

* code refactoring

* updated ut

* codacy and code rabbit comments handled

* Pull Address adjustment

* serliazation added

* Serliazation error fix

* updating version

updating version

* Latest changes for Excel action

* workwork book

* coderabbit comments

* lock object

* coder rabbit issue

* Handled the file name length while api model configuration, and added length to subfolder creation

* resolved the review comment from code rabbit

* Add Android TV support and enhance platform handling

Enhanced platform support by introducing Android TV as a new platform type (`ePlatformType.AndroidTV`) alongside Mobile and iOS. Updated platform descriptions to include "Mobile/TV" for better clarity and added new image types for visual representation.

UI components now display friendly platform descriptions and improved tooltips. Added ComboBox support for enum descriptions in grids.

Extended the Appium driver to support Android TV with specific capabilities, configurations. Improved error handling and fallback mechanisms for driver initialization.

Updated `ActMobileDevice` to include Android TV-specific actions and defaulted action descriptions to "Mobile/Tv Device Action."

Enhanced `DeviceViewPage` to handle Android TV resolutions and scaling. Added dynamic screen size calculations with fallbacks for Android TV.

Updated agent configurations to include Android TV as a selectable driver type and set default configurations for Android TV agents.

Refactored code for better maintainability, improved exception handling, and consolidated driver configuration logic. Added new image resources for Android TV.

Improved `GenericAppiumDriver` to handle Android TV-specific scenarios, including focused element detection and screenshot scaling.

* Handled the issue of value expression getting truncated

* fixing the index issue

* Update codeql-analysis.yml

* Exclude JavaScript from Scanning for security Vulnarabilities

* Exclude JavaScript from Scanning for security Vulnarabilities_Master

* store to added hidden option

* removed code

* code refactor

* code refactor

* Update codeql-analysis.yml

* Revert

* Bug fixes for excel action

* code removed

* coderabbit comments

* filter issue fix

* As stated in bug: modifed error log to "Error" instead of "Warning"

* push latest fixes

* unit test case change according to enhancement

* Latest

* Rollbacked the changes made for handling the file name length

* Modified code to support maxlength only for folder name

* Removed the task implementation in unix agent

* Fixed issue of special characters from toerh languages are not getting sent to mainframe

* enhancement relted android TV - livespy

* enhancement related to android TV

* Refactor and enhance platform-specific logic

Refactored multiple methods across the codebase to improve maintainability, performance, and platform-specific functionality. Key changes include:

- Simplified `timenow` method in `PomAllElementsPage.xaml.cs` with improved user feedback and streamlined logic.
- Enhanced `BitmapToBase64` in `PomLearnUtils.cs` with null-checks, fallback mechanisms, and better error handling.
- Removed redundant methods `LoadGingerLiveSpyScript` and `GetFocusedElementInfo` in `GenericAppiumDriver.cs`.
- Refactored `SimulatePhotoOrBarcode` to update `GingerLiveSpy.js` handling.
- Added platform-specific logic for `HighLightElement`, `GetElementAtMousePosition`, `FindElementXmlNodeByXY`, `GetElementAtPoint`, and `GetPointOnAppWindow` in `GenericAppiumDriver.cs` to support Android TV, Android (mobile), iOS, and Web.
- Improved shadow DOM support and optimized event handling in `GingerLiveSpy.js`.
- Enhanced error handling, logging, and fallback mechanisms across the codebase.

These changes improve cross-platform compatibility, user experience, and code maintainability.

* Refactor and improve code readability and performance

Refactored `ResizeDeviceButtons` and `GetDevicePoint` methods in `DeviceViewPage.xaml.cs` to simplify logic, remove redundant checks, and improve maintainability. Updated `eDeviceSource` enum in `MobileDriverCommon.cs` by removing `LambdaTest` and reassigning `AndroidTV`.

Replaced the license header in `GingerLiveSpy.js` with an updated Apache License 2.0 notice. Added a new `ElementFromPoint` method to determine the deepest DOM element at a specific point.

Refactored driver configuration logic in `AgentOperations.cs` to improve readability, simplify `DriverConfigParam` processing, enhance error handling, and remove duplicate code. Introduced a new `InitDriverConfigs` method for better organization.

---------

Co-authored-by: Mahesh Kale <[email protected]>
Co-authored-by: AMAN PRASAD <[email protected]>
Co-authored-by: makhlaque <[email protected]>
Co-authored-by: mohd-amdocs <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: Meni Kadosh <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Ravi Kumar <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: shahanemahesh <[email protected]>
Co-authored-by: Mahesh Shahane <[email protected]>
Co-authored-by: tanushah <[email protected]>

* Enhancement/shared repository folder view2 (#4419)

* Mobile accessibility issue for ios - fix

* added CodeQL WF

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* Update codeql-analysis.yml

* removed macOS build steps

* Java Explorer issue fix

* Update codeql-analysis.yml

excluding unwanted folders and projects

* Update README.md

updating for triggering security

* mobily accessibility locators identification issue fix

* codeql related updates

* coderabbit comments handled

* Fix: GitHub SecurityAlerts 198,199, 200, 201, 202

* its tested and working

* Codecy suggestions

* CodeRabit Suggestions

* CodeRabbit suggestions

* CodeRabbit Suggestions

* Fix for Git Security Alert 181

* codacy suggestions

* RemovedUnusedMethod

* Pull all variables  except password variables

* Removing code that passes Ginger variables to Robot script using temp file

* Revert "Removing code that passes Ginger variables to Robot script using temp file"

This reverts commit c62b1428dfecc31b178de767073a22de26682a1c.

* Fixed DBoperations Git Alerts

* Build Errors Fixed

* Removed Unused GingerExecutionReport folder from Ginger also handled few codacy comments

* Code Issues

* Enabled only Windows build for CodeQL

* added variable option

* MSSQL Fix Test

* Test Changes

* Bar user inputted connection string.

* Not using GetConnectionString method

* added removing variable value code

* code rabbit suggested changes

* code rabbit changes

* Do not assign the Expression to mValueCalculated if it was failed to evaluate.

* Enhancement Excel Action and Refactoring

* code refactor

* Enhanced the Unit test cases for excel action according to recent enhancements

* Codacy issues

* Upgraded Magick.NET-Q16-AnyCPU nugget to 14.10.0

* codacy

* removed unwanted check

* code refactoring

* updated ut

* codacy and code rabbit comments handled

* Pull Address adjustment

* serliazation added

* Serliazation error fix

* updating version

updating version

* Latest changes for Excel action

* workwork book

* coderabbit comments

* lock object

* coder rabbit issue

* Handled the file name length while api model configuration, and added length to subfolder creation

* resolved the review comment from code rabbit

* Handled the issue of value expression getting truncated

* fixing the index issue

* Update codeql-analysis.yml

* Exclude JavaScript from Scanning for security Vulnarabilities

* Exclude JavaScript from Scanning for security Vulnarabilities_Master

* store to added hidden option

* removed code

* code refactor

* code refactor

* Update codeql-analysis.yml

* Revert

* Bug fixes for excel action

* code removed

* coderabbit comments

* filter issue fix

* As stated in bug: modifed error log to "Error" instead of "Warning"

* push latest fixes

* unit test case change according to enhancement

* Latest

* Rollbacked the changes made for handling the file name length

* Modified code to support maxlength only for folder name

* Removed the task implementation in unix agent

* Fixed issue of special characters from toerh languages are not getting sent to mainframe

* Shared Repository Folder View (#4416)

* Shared Repository Folder View

* enhancement

* code rabbit comments handled

* code rabbit comments handle

---------

Co-authored-by: Ravi Kumar <[email protected]>

* folder view fix

* merge conflict resolved

* merge conflict resolved

* enahcnement

* code rabbit comments handled

---------

Co-authored-by: Mahesh Kale <[email protected]>
Co-authored-by: makhlaque <[email protected]>
Co-authored-by: mohd-amdocs <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: Meni Kadosh <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Ravi Kumar <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: shahanemahesh <[email protected]>
Co-authored-by: Mahesh Shahane <[email protected]>

* Improve Sikuli SetValue handling and focus logic (#4420)

Refactored SetValue to check for empty text before typing and use KeyModifier.NONE for normal input. Now sets an error if the value is empty. Also, SetFocusToSelectedApplicationInstance is now called synchronously instead of asynchronously.

* Exclamation mark fix (#4421)

* Exclamation mark fix

* commit

* Improve circular reference handling in JSON schema tools (#4422)

Enhanced detection and prevention of circular references and stack overflows in JSON schema-to-object generation. Added try-catch blocks for safer property access, improved stack management, and more robust array/property traversal. Also improved error handling when adding API models to repository folders by logging and fallback to parent folder if needed.

* Add tests for circular refs in JsonSchemaFaker, update count (#4423)

Add unit tests to SwaggetTests.cs to ensure JsonSchemaFaker handles circular and self-referencing JSON schemas without infinite loops or errors. Import NJsonSchema for schema support. Update assertion for "Add a new pet to the store-JSON" to expect 7 return values instead of 8.

* Handled set DS value issue (#4425)

* add to BF iicon removal (#4426)

* add to BF iicon removal

* uncommented code

* code rabbit suggestion

---------

Co-authored-by: Ravi Kumar <[email protected]>

* resolved conflicts

* resolved conflicts

---------

Co-authored-by: Mahesh Kale <[email protected]>
Co-authored-by: AMAN PRASAD <[email protected]>
Co-authored-by: makhlaque <[email protected]>
Co-authored-by: mohd-amdocs <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: Meni Kadosh <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: shahanemahesh <[email protected]>
Co-authored-by: Mahesh Shahane <[email protected]>
Co-authored-by: omri1911 <[email protected]>
Co-authored-by: tanushahande2003 <[email protected]>
Co-authored-by: tanushah <[email protected]>

* Prevent Excel formula injection in CSV export (#4431)

* Prevent Excel formula injection in CSV export

D56006_Added logic to prefix values starting with '=', '+', '-', or '@' with a single quote when exporting BusinessFlow, Activity, Act description, and input parameters to CSV. This ensures spreadsheet applications treat these fields as plain text, preventing misinterpretation as formulas. Also refactored code for clarity using intermediate variables.

* Refactor CSV export for clarity and null safety

Renamed method parameters and loop variables for clarity and consistency. Updated references to use descriptive names. Added null check for act.Description to prevent exceptions. Improves code readability and robustness.

---------

Co-authored-by: tanushah <[email protected]>

* added an option to change text color in consoleDriver window

* Action Description fix (#4434)

* Update to .NET 10, package versions, and minor UI tweaks (#4435)

* Update to .NET 10, package versions, and minor UI tweaks

Upgraded all projects from .NET 8.0 to .NET 10.0. Updated System.Text.Json to 10.0.2 and System.Drawing.Common to 10.0.2. Added Microsoft.IdentityModel.JsonWebTokens and Microsoft.IdentityModel.Tokens (8.15.0) to support JWT features. Bumped protobuf-net packages to 3.2.56. Improved XAML grid layout in DataSourceExportToExcelPage.xaml and added DesignerSerializationVisibility attributes in SnippingTool.cs. No functional logic changes.

* upgrade dotnet version to 10

* push supported dotnet version for Github actions

* Fix Dotnet version on Test stage

* Fix CLI TestsGithub

* Fix Test Dotnet Framework of Github with new version of dotnet

* nuget packages updation

* Downgrade EPPlus and Excel Interop, update dependencies

Downgraded EPPlus to 6.0.4 and Microsoft.Office.Interop.Excel to 15.0.4795.1001 across multiple projects for compatibility. Removed Microsoft.IdentityModel.* and System.IdentityModel.Tokens.Jwt from core projects, and removed SixLabors.ImageSharp from GingerCoreNET. Reformatted System.Globalization entry in GingerCore. These changes address dependency and compatibility issues.

---------

Co-authored-by: tanushah <[email protected]>
Co-authored-by: Ravi Kumar <[email protected]>
Co-authored-by: Nadeem Jazmawe <[email protected]>

* Mask API key in UI and update only on user edit (#4436)

* Mask API key in UI and update only on user edit

Added masking for API key in VRTExternalConfigurationsPage to prevent exposure. The real key is hidden with a generic mask, and only updated if the user changes the field. Existing key is preserved unless explicitly edited.

* Addition of validation

* updated validation

* updated validation rule

---------

Co-authored-by: tanushah <[email protected]>

* Fix codeql-config.yml file place

* Upgrade Github Actions versions

* Update license headers to 2026 and add missing headers (#4440)

Updated the copyright year in all license headers from 2014-2025 to 2014-2026 across the codebase. Added the standard license header to several files that were previously missing it. No functional code changes were made.

Co-authored-by: tanushah <[email protected]>

* Register serializer classes earlier; null check in IsReady (#4441)

Ensure MyRepositoryItem is registered with the serializer before test solution creation in SolutionRepositoryMultiThreadTest. Remove redundant registration call. Add null check to IsReady property in GingerSocket2Test to prevent possible NullReferenceException.

* Downgrade LibGit2Sharp.NativeBinaries to 2.0.278 (#4442)

Updated GingerCore.csproj and GingerCoreNET.csproj to use LibGit2Sharp.NativeBinaries version 2.0.278 instead of 2.0.323. No other changes were made.

Co-authored-by: tanushah <[email protected]>
Co-authored-by: Ravi Kumar <[email protected]>

* Updated the SSH and Cryptography nuget package to latest (#4432)

Co-authored-by: Ravi Kumar <[email protected]>

* contract update for pipeline run description (#4437)

Co-authored-by: Ravi Kumar <[email protected]>

* Added Code to allow Solution File to be loaded using SolutionRepository and changed version to 2026.3 (#4443)

Co-authored-by: Mayur Rathi <[email protected]>

---------

Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: shahanemahesh <[email protected]>
Co-authored-by: Mahesh Shahane <[email protected]>
Co-authored-by: AMAN PRASAD <[email protected]>
Co-authored-by: Mahesh Kale <[email protected]>
Co-authored-by: makhlaque <[email protected]>
Co-authored-by: mohd-amdocs <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: Meni Kadosh <[email protected]>
Co-authored-by: Mayur Rathi <[email protected]>
Co-authored-by: Gokul Bothe <[email protected]>
Co-authored-by: omri1911 <[email protected]>
Co-authored-by: tanushahande2003 <[email protected]>
Co-authored-by: tanushah <[email protected]>
Co-authored-by: Omri Agady <[email protected]>
Co-authored-by: Nadeem Jazmawe <[email protected]>
Co-authored-by: Nadeem Jazmawe <[email protected]>

* Updated ginger core common nuget version (#4445)

* Revert solution iteminfo from SolutionRepository

* updated nuget version for publishing

---------

Co-authored-by: Mayur Rathi <[email protected]>

* Allow Fetching/Updating Ginger.Solution.xml through SolutionRepository/parser service

* Need to Update GingerCoreCommon Version to generate new nuget package

* Updated to latest version of Magick.NET nuget due to vulnarability detected by Dependebot Github Security scan alert (#4451)

Co-authored-by: Mayur Rathi <[email protected]>

* Enhance API Key encryption and remove masking logic (…
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