Skip to content

MOSIP-43667:ARC UI automation add testcases and move to develop branch#640

Merged
24 commits merged into
mosip:developfrom
damodarguru:develop
Jan 5, 2026
Merged

MOSIP-43667:ARC UI automation add testcases and move to develop branch#640
24 commits merged into
mosip:developfrom
damodarguru:develop

Conversation

@damodarguru
Copy link
Copy Markdown
Collaborator

@damodarguru damodarguru commented Dec 1, 2025

MOSIP-43667:ARC UI automation add testcases and move to develop branch

Summary by CodeRabbit

  • New Features

    • Auto-logout modal added across languages; Settings gains Master Data Sync / scheduled-job controls; biometric-correction visibility checks.
  • Improvements

    • README expanded into stepwise environment/setup guide; emailable test report redesigned; stronger waits/retries, OTP handling, context switching, and broader multi‑language UI support.
  • Bug Fixes

    • Naming/case consistency fixes, duplicate-action removals, improved lifecycle and location/permission handling, locator tweaks.
  • Tests

    • New/activated end‑to‑end tests: Reset Password, AutoLogout, Biometric Correction, Pre‑registration fetching and extended registration scenarios.

✏️ Tip: You can customize this high-level summary in your review settings.

Signed-off-by: damodar <damodar.g@cyberpwn.com>
Signed-off-by: damodar <damodar.g@cyberpwn.com>
Signed-off-by: damodar <damodar.g@cyberpwn.com>
Signed-off-by: damodar <damodar.g@cyberpwn.com>
Signed-off-by: damodar <damodar.g@cyberpwn.com>
Signed-off-by: damodar <damodar.g@cyberpwn.com>
Signed-off-by: damodar <damodar.g@cyberpwn.com>
Signed-off-by: damodar <damodar.g@cyberpwn.com>
Signed-off-by: damodar <damodar.g@cyberpwn.com>
Signed-off-by: damodar <damodar.g@cyberpwn.com>
Signed-off-by: damodar <damodar.g@cyberpwn.com>
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Dec 1, 2025

Walkthrough

Comprehensive refactor of the ui-test module: README rewritten for Appium/emulator workflows; pom.xml dependency and logging stack overhauled; many page-object APIs renamed/extended and language-specific implementations added; new tests and TestRunner/testng.xml entries; Keycloak/user provisioning expanded; EmailableReport HTML/CSS redesigned.

Changes

Cohort / File(s) Summary
Docs & Test Config
ui-test/README.md, ui-test/testng.xml, ui-test/src/main/resources/testdata.json
README rewritten with step-by-step Appium/emulator/Mock/WireGuard flows; testng.xml activates/renames tests and adds new classes/methods; testdata UIN/RID updated.
Build / Dependencies
ui-test/pom.xml
Version bump and major dependency rework: add Appium java-client, async-http-client; migrate Jackson/RESTEasy; upgrade Log4j2/SLF4J, Guava, SnakeYAML, commons-io; add exclusions to avoid logging-binding conflicts.
Driver & Lifecycle
ui-test/src/main/java/regclient/driver/DriverManager.java, ui-test/src/main/java/regclient/BaseTest/BaseTest.java, ui-test/src/main/java/regclient/api/BaseTestCase.java
Added guard when Appium service not started; wrapped driver init in try/catch and throw on failure; null-check driver.quit() on teardown; minor log message fix.
Core Page & Helpers
ui-test/src/main/java/regclient/page/BasePage.java, .../CameraPage.java, .../MockSBIPage.java
BasePage exposes public email, WebView/context helpers, swiping/scrolling utilities, robust find-with-retries and duration-aware helpers; camera click coordinate tweak; MockSBI scrolls before save and renamed some methods.
Abstract Page API surface
ui-test/src/main/java/regclient/page/*
Added abstract AutoLogoutPage; RegistrationTasksPage gained isSettingsButtonDisplayed; SettingsPage adds scheduled-job/master-data sync APIs; PreviewPage adds biometric-correction accessor; DemographicDetailsPage date-method renamed; PendingApproval method renamed; KeycloakPage made concrete with WebView handling.
Language-specific pages
ui-test/src/main/java/regclient/pages/*/*
Added AutoLogout implementations for multiple locales (English/Arabic/French/Hindi/Kannada/Tamil); per-locale Settings/master-data sync and threshold helpers; UpdateOperatorBiometrics implementations (validateThreshold, updateBiometricsAndWaitPopup); many Documentupload → DocumentUpload renames; preview/biometric title additions.
DocumentUpload & Date fixes
ui-test/src/main/java/regclient/pages/*/DocumentuploadPage*.java, *DemographicDetailsPage*.java
Consistent rename DocumentuploadPage*DocumentUploadPage* and constructors/returns updated; checkDateFormatAndCurrectDatecheckDateFormatAndCurrentDate across locales.
Tests & Orchestration
ui-test/src/main/java/regclient/androidTestCases/*.java, ui-test/src/main/java/regclient/utils/TestRunner.java, ui-test/testng.xml
Many tests annotated with TestNG priority/description; new test classes added (AutoLogout, BiometricCorrection, ResetPassword, PreRegFetchingPacket); tests updated to use DocumentUploadPage types and handleLocationPermission(); TestRunner and testng.xml updated to include new classes.
Keycloak & Admin utilities
ui-test/src/main/java/regclient/api/*
ArcConfigManager adds getters; KeycloakUserManager adds onboarding/operator creation methods and public fields, refactors Keycloak init; AdminTestUtil augments initialization with operator/onboarder provisioning and mappings.
Reporting
ui-test/src/main/java/regclient/utils/EmailableReport.java
EmailableReport HTML/CSS and layout overhauled (env/summary/scenario blocks), per-scenario row rendering changed and new duration formatter formatDurationMillis added.

Sequence Diagram(s)

sequenceDiagram
    participant TR as TestRunner
    participant KC as KeycloakUserManager
    participant AM as DriverManager/Appium
    participant DV as Emulator/Device
    participant TS as Test Suites

    TR->>KC: initialize() — create operator/onboarder users, assign roles/mappings
    KC-->>TR: return created user identifiers
    TR->>AM: start Appium service / create AndroidDriver
    AM->>DV: launch app session
    TR->>TS: build XmlClass list (includes new tests) and trigger suites
    TS->>AM: request AndroidDriver per test
    AM->>DV: perform UI interactions (pages, popups, OTP, biometric flows)
    TS->>KC: open Keycloak webflow when password operations needed
    DV-->>TS: UI state updates, popups, OTP responses
    TS->>AM: stop Appium session / quit driver
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60–90 minutes

Areas needing extra attention:

  • pom.xml dependency additions, version bumps, and excluded logging bridges.
  • BasePage WebView/context switching, new public email usage and element-finding retry behavior.
  • KeycloakUserManager additions (new public fields and user-creation flows) and ArcConfigManager getters.
  • Long-wait/polling logic (10-minute auto-logout waits, OTP polling, biometric retry loops) and related flakiness risk.
  • Wide rename cascade Documentupload → DocumentUpload across many files (imports/returns).
  • Settings / Master Data Sync UI parsing and threshold extraction code.
  • EmailableReport HTML/CSS overhaul and new duration formatting.

Possibly related PRs

Suggested reviewers

  • ase-101
  • jayesh12234
  • mohanachandran-s

Poem

🐇
I hopped through pages, fixed a name and seam,
Tucked AutoLogout into the test-time dream.
Languages hum, thresholds find their tune,
Keys and users planted under the moon.
Tests now march — a carrot-glowing beam.

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title accurately summarizes the main change: adding new UI automation test cases and organizing the repository around the develop branch.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 17

Note

Due to the large number of review comments, Critical, Major severity comments were prioritized as inline comments.

Caution

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

⚠️ Outside diff range comments (5)
ui-test/src/main/java/regclient/pages/tamil/DocumentuploadPageTamil.java (1)

116-136: Potential duplicate processing for proofOfRelationship.

The conditional structure uses two separate if statements instead of else if. If proofOfRelationship is also a required document (when FetchUiSpec.getRequiredTypeUsingId(id) returns true), both blocks will execute, causing the document to be uploaded twice in the same iteration.

Consider refactoring to use else if or explicitly exclude proofOfRelationship from the first condition:

 if(FetchUiSpec.getRequiredTypeUsingId(id)) {
   // ... existing logic ...
-}if(id.equals("proofOfRelationship")) {
+} else if(id.equals("proofOfRelationship")) {
   if(age.equals("minor") ||  age.equals("infant") ||  age.equals("currentCalenderDate")) {
     // ... existing logic ...
   }
 }

Or explicitly exclude it:

-if(FetchUiSpec.getRequiredTypeUsingId(id)) {
+if(FetchUiSpec.getRequiredTypeUsingId(id) && !id.equals("proofOfRelationship")) {
   // ... existing logic ...
 }
 if(id.equals("proofOfRelationship")) {
   if(age.equals("minor") ||  age.equals("infant") ||  age.equals("currentCalenderDate")) {
     // ... existing logic ...
   }
 }

Also applies to: 160-179

ui-test/src/main/java/regclient/utils/EmailableReport.java (1)

77-95: Potential NullPointerException and typo in system property name.

Two issues in the file renaming logic:

  1. Line 78: System.getProperty("emailable.report2.name") may return null, causing an NPE on line 81 when calling oldString.replace().

  2. Lines 84 and 88: The property name "testng.outpur.dir" appears to be a typo—should likely be "testng.output.dir".

-		String oldString = System.getProperty("emailable.report2.name");
+		String oldString = System.getProperty("emailable.report2.name");
+		if (oldString == null || oldString.isEmpty()) {
+			return; // Cannot rename without the original file name
+		}
 		String temp = "-report_T-" + totalTestCases + "_P-" + totalPassedTests + "_S-" + totalSkippedTests + "_F-"
 				+ totalFailedTests;
 		String newString = oldString.replace("-report", temp);

 		File orignialReportFile = new File(System.getProperty("user.dir") + "/"
-				+ System.getProperty("testng.outpur.dir") + "/" + System.getProperty("emailable.report2.name"));
+				+ System.getProperty("testng.output.dir") + "/" + System.getProperty("emailable.report2.name"));
 		

 		File newReportFile = new File(
-				System.getProperty("user.dir") + "/" + System.getProperty("testng.outpur.dir") + "/" + newString);
+				System.getProperty("user.dir") + "/" + System.getProperty("testng.output.dir") + "/" + newString);
ui-test/src/main/java/regclient/pages/english/SupervisorBiometricVerificationpageEnglish.java (1)

360-362: @OverRide annotation removed from clickOnVerifyAndSaveButton().

The parent class SupervisorBiometricVerificationpage still declares clickOnVerifyAndSaveButton() as an abstract method (line 101). The implementation in this class should retain the @Override annotation to properly indicate the override relationship and maintain code clarity.

ui-test/src/main/java/regclient/api/BaseTestCase.java (1)

72-108: Remove PropertyConfigurator configuration and rely on log4j2.xml

The log message correction at line 84 is appropriate.

However, the PropertyConfigurator calls (lines 72–108) create a configuration conflict. The POM declares Log4j2 (v2.11.1) but uses the older slf4j-log4j12 (v1.6.2) adapter, which routes SLF4J to Log4j 1 API. The PropertyConfigurator block bypasses the log4j2.xml already present in src/main/resources/, causing mixed and contradictory configurations at runtime.

Action: Remove the PropertyConfigurator.configure(getLoggerPropertyConfig()) call and the getLoggerPropertyConfig() method. The existing log4j2.xml will configure logging automatically. If additional programmatic configuration is needed, use Log4j2's API instead of the legacy Log4j 1 API.

ui-test/src/main/java/regclient/androidTestCases/logintest.java (1)

227-231: Duplicate logout button click.

clickOnLogoutButton() is called twice in succession (lines 227 and 229). This appears to be unintentional and may cause test flakiness if the first click succeeds.

 		profilePage.clickOnLogoutButton();
 
-		profilePage.clickOnLogoutButton();
-
 		assertTrue(loginPage.isLoginPageLoaded(), "verify if login page is displayed in Selected language");
🟡 Minor comments (6)
ui-test/src/main/java/regclient/page/MockSBIPage.java-113-117 (1)

113-117: Same naming inconsistency - only sets Face modality.

Similar to setAllModalityLowScore, this method name suggests all modalities are set but only Face is configured. Consider renaming to setFaceModalityHighScore for clarity, or extend to include Finger and Iris modalities.

The addition of scrollUntilElementVisible before clicking save is a good improvement for reliability.

ui-test/src/main/java/regclient/page/MockSBIPage.java-106-111 (1)

106-111: Method name is misleading - only sets Face modality.

The method is named setAllModalityLowScore but only sets the Face modality. Consider either:

  1. Renaming to setFaceModalityLowScore, or
  2. Adding Finger and Iris modality score settings to match the name

Also, the comment says "ModalityScore should be (20-5=15)" but setModalityScore sets the SeekBar to the given percentage directly. Please clarify where the -5 offset is applied, or correct the comment if it's outdated.

ui-test/src/main/java/regclient/pages/tamil/DemographicDetailsPageTamil.java-23-23 (1)

23-23: Unused import detected.

DocumentUploadPageEnglish is imported but never used in this file. Line 89 returns DocumentUploadPageTamil, which doesn't require an import since it's in the same package (regclient.pages.tamil).

-import regclient.pages.english.DocumentUploadPageEnglish;
ui-test/README.md-135-135 (1)

135-135: Fix typos in configuration file reference.

Per static analysis: "cordinates" should be "coordinates" and "camara.java" should likely be "Camera.java".

-* camara.java- update camera, retake button cordinates
+* Camera.java — update camera, retake button coordinates
ui-test/src/main/java/regclient/pages/kannada/UpdateOperatorBiometricspageKannada.java-402-412 (1)

402-412: Verify English locator text and add defensive parsing.

Two concerns:

  1. The locator uses English "Threshold" text in a Kannada page class - verify if this is intentional or should use Kannada text.
  2. Integer.parseInt() will throw NumberFormatException if the text contains no digits (returns empty string from replaceAll).

Consider adding defensive handling:

 public boolean validateThreshold(int expected) {
     WebElement el = driver.findElement(MobileBy.AndroidUIAutomator(
             "new UiScrollable(new UiSelector().scrollable(true))" +
             ".scrollIntoView(new UiSelector().descriptionContains(\"Threshold\"));"
     ));

     String text = el.getAttribute("content-desc");       // "Threshold 75%"
-    int actual = Integer.parseInt(text.replaceAll("[^0-9]", "")); // extract 75
+    String digits = text.replaceAll("[^0-9]", "");
+    if (digits.isEmpty()) {
+        return false;
+    }
+    int actual = Integer.parseInt(digits);

     return actual == expected;
 }
ui-test/src/main/java/regclient/androidTestCases/NewRegistrationAdult.java-908-908 (1)

908-908: Duplicate condition in if-statement is a logic bug.

The condition screen.equals("DemographicDetails") || screen.equals("DemographicDetails") checks the same value twice, making the || redundant. This appears to be a copy-paste error.

-			if (screen.equals("DemographicDetails") || screen.equals("DemographicDetails")) {
+			if (screen.equals("DemographicDetails")) {
🧹 Nitpick comments (61)
ui-test/src/main/java/regclient/pages/french/DocumentUploadPageFrench.java (1)

18-18: Import fix is correct, but appears unused.

The camel-case correction from DocumentuploadPageEnglish to DocumentUploadPageEnglish properly aligns with the actual class name. However, this import doesn't appear to be referenced anywhere in the file.

Consider removing the unused import:

-import regclient.pages.english.DocumentUploadPageEnglish;
ui-test/src/main/java/regclient/page/MockSBIPage.java (2)

90-92: Consider using a proper logging framework instead of System.err.

While logging exceptions is an improvement over silent swallowing, using System.err.println is not ideal for a test automation framework. Consider using SLF4J or another logging framework that's likely already in use (the AI summary mentions logging stack upgrades in this PR).

Also, silently catching and logging this exception may hide critical failures when the app cannot be restored. Consider whether this method should propagate the exception or return a boolean indicating success.

-		} catch (Exception e) {
-			System.err.println("Failed to switch back to ARC app: " + e.getMessage());
+		} catch (Exception e) {
+			// Consider using: logger.error("Failed to switch back to ARC app", e);
+			throw new RuntimeException("Failed to switch back to ARC app", e);
		}

23-28: Remove unused imports.

TouchAction and PointOption are imported but not used in this file. Consider removing them to keep the code clean.

-import io.appium.java_client.TouchAction;
 import io.appium.java_client.android.Activity;
 import io.appium.java_client.android.AndroidDriver;
 import io.appium.java_client.pagefactory.AndroidFindBy;
 import io.appium.java_client.pagefactory.AppiumFieldDecorator;
-import io.appium.java_client.touch.offset.PointOption;
ui-test/src/main/java/regclient/api/FetchUiSpec.java (1)

419-425: Case label now matches id.toLowerCase(); consider null‑guard and locale‑safe lowercasing

Updating the case to "residencestatus" makes this branch reachable when switching on id.toLowerCase(), fixing the prior mismatch.

If id can ever be null or the default locale is non‑English, consider tightening this helper:

-    switch (id.toLowerCase()) {
+    if (id == null) {
+        return Collections.emptyList();
+    }
+    switch (id.toLowerCase(Locale.ROOT)) {

and add the import:

import java.util.Locale;

This keeps behavior predictable across locales and avoids an NPE on null input.

ui-test/src/main/java/regclient/utils/EmailableReport.java (1)

262-267: Consider removing unused summary columns or implementing their tracking.

The "# Ignored" and "# Known Issues" columns are hardcoded to 0 with placeholder comments. Displaying zeros for metrics that aren't actually tracked can mislead report readers.

Either implement the tracking logic or remove these columns from the summary table to avoid confusion.

ui-test/src/main/java/regclient/androidTestCases/NewRegistrationMinorException.java (1)

733-733: Consider lowercase for "selected" in the assertion message.

Minor style improvement: "Selected" could be lowercase for standard capitalization rules.

-		assertTrue(loginPage.isLoginPageLoaded(), "verify if login page is displayed in Selected language");
+		assertTrue(loginPage.isLoginPageLoaded(), "verify if login page is displayed in selected language");
ui-test/src/main/java/regclient/pages/kannada/SupervisorBiometricVerificationpageKannada.java (1)

261-263: Method name typo corrected.

The rename from markOneFingreException() to markOneFingerException() fixes the spelling error and aligns with the same corrections applied across all language variants.

Note: The internal field firstFingureExceptionImage (line 54) uses "Fingure" instead of "Finger". While not critical, consider renaming it to firstFingerExceptionImage in a future refactoring for consistency.

ui-test/src/main/java/regclient/pages/arabic/SupervisorBiometricVerificationpageArabic.java (1)

246-248: Method name typo corrected.

The rename from markOneFingreException() to markOneFingerException() fixes the spelling error, consistent with changes across all language variants.

Note: The internal field firstFingureExceptionImage (line 96) uses "Fingure" instead of "Finger". Consider renaming to firstFingerExceptionImage in future updates for naming consistency.

ui-test/src/main/java/regclient/pages/english/SupervisorBiometricVerificationpageEnglish.java (1)

251-253: Method name typo corrected.

The rename from markOneFingreException() to markOneFingerException() fixes the spelling error, consistent with changes across all language variants.

Note: The internal field firstFingureExceptionImage (line 100) uses "Fingure" instead of "Finger". Consider renaming to firstFingerExceptionImage in future updates for naming consistency.

ui-test/src/main/java/regclient/driver/DriverManager.java (1)

34-45: Thread safety improvements, but consider making the service field volatile.

The synchronized keywords on startAppiumServer() and stopAppiumServer() prevent race conditions during concurrent access. However, the static service field (line 18) is accessed in the non-synchronized getAndroidDriver() method (line 23).

Consider declaring the service field as volatile to ensure visibility of changes across threads:

-	private static AppiumDriverLocalService service = null;
+	private static volatile AppiumDriverLocalService service = null;

This ensures that when one thread updates service in startAppiumServer(), other threads in getAndroidDriver() will see the updated value without needing synchronization.

Also applies to: 47-50

ui-test/src/main/java/regclient/pages/english/AutoLogoutPageEnglish.java (3)

11-12: Remove unused imports.

AcknowledgementPage and AuthenticationPage are imported but never used in this class.

-import regclient.page.AcknowledgementPage;
-import regclient.page.AuthenticationPage;

32-40: Consider making the timeout configurable or using a shorter default.

A 10-minute wait is quite long for detecting an auto-logout popup. If this timeout is intentional to wait for the idle session to expire, consider extracting the duration as a constant or making it configurable for different test scenarios.


47-50: Method naming is confusing: clickOnStayLogoutButton suggests "staying" but performs logout.

The method name clickOnStayLogoutButton is misleading since it actually performs a logout action, not a "stay" action. Consider renaming to clickOnLogoutButton for clarity. Note: This would require updating the abstract method signature in AutoLogoutPage.java as well.

ui-test/src/main/java/regclient/pages/english/BiometricDetailsPageEnglish.java (3)

3-3: Remove unused static import.

assertTrue is imported but never used in this file.

-import static org.testng.Assert.assertTrue;

62-69: Code duplication with AutoLogoutPageEnglish.

The auto-logout popup elements and methods (autoLogoutPopup, logoutButton, stayLoggedInButton, isAutoLogoutPopupDisplayed(), clickOnStayLoggedInButton()) duplicate the implementation in AutoLogoutPageEnglish. Consider composing or delegating to AutoLogoutPageEnglish instead of duplicating.

Also applies to: 169-182


197-199: Replace System.out.println with the logger already defined in this class.

The class has a logger defined at line 288 (private static final Logger logger), but logging statements use System.out.println. Use the logger for consistent, configurable logging.

-            System.out.println("OTPListener.getAdditionalReqId threw: " + e.getMessage());
+            logger.warn("OTPListener.getAdditionalReqId threw: {}", e.getMessage());

Also applies to: 203-203, 208-208, 222-222, 230-230

ui-test/src/main/java/regclient/page/KeycloakPage.java (2)

1-1: Remove empty line at the start of the file.

There's a spurious empty line before the package declaration.


93-93: Use a logger instead of System.out.println.

Consider adding a logger to this class for consistent logging across the test framework.

ui-test/src/main/java/regclient/page/SettingsPage.java (1)

48-59: LGTM! New abstract methods for settings functionality.

The new abstract method declarations follow the existing patterns in this class and provide a clean API surface for scheduled job settings and master data sync features. Minor nit: remove extra blank lines at the end (lines 58-59).

ui-test/pom.xml (1)

74-293: Verify logging convergence after modernization: check for duplicate versions and legacy bindings

The proposed changes (updating to slf4j-api 2.0.13, log4j2 2.23.1 with log4j-slf4j2-impl, plus comprehensive exclusions) represent a significant improvement over the current outdated stack (log4j 2.11.1 with legacy slf4j-log4j12 1.6.2). The exclusions for logback-classic, slf4j-simple, slf4j-reload4j, and slf4j-log4j12 across Appium, async-http-client, rest-assured, and apitest-commons are well-targeted.

Before merging, verify:

  • No transitive log4j:log4j 1.x or unexpected logback-* artifacts remain
  • No duplicate versions of slf4j-*, log4j-*, jackson-*, or guava on the classpath (current jackson-databind 2.13.3 vs jackson-core 2.15.2 mismatch should also be aligned to 2.13.4.x)
  • snakeyaml upgraded from 1.29 to 2.0 (addresses known CVEs)
  • commons-beanutils and commons-io versions confirmed as 1.11.0 and 2.14.0

Run mvn dependency:tree -Dincludes="org.slf4j,org.apache.logging.log4j,ch.qos.logback,com.fasterxml.jackson.core,com.google.guava" to validate no conflicts emerge from the new stack.

ui-test/src/main/java/regclient/pages/arabic/SettingsPageArabic.java (2)

210-221: Consider using explicit wait instead of polling loop.

The isToastVisible method uses Thread.sleep in a polling loop to detect toast messages. While this works, consider using WebDriverWait with a custom condition for more robust timing. Also, swallowing InterruptedException without restoring the interrupt flag is a minor anti-pattern.

 public boolean isToastVisible(String toastMessage) {
-    for (int i = 0; i < 15; i++) { // ~3 seconds
-        if (driver.getPageSource().contains(toastMessage)) {
-            return true;
-        }
-        try {
-            Thread.sleep(200);
-        } catch (Exception ignored) {
-        }
-    }
-    return false;
+    try {
+        WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(3));
+        return wait.until(d -> d.getPageSource().contains(toastMessage));
+    } catch (TimeoutException e) {
+        return false;
+    }
 }

223-226: Consider adding wait/retry logic for robustness.

Unlike validateDeviceCard which uses WebDriverWait, this method uses driver.findElement directly which may throw NoSuchElementException if the element isn't immediately available. Consider using findElementWithRetry or adding a WebDriverWait for consistency.

ui-test/src/main/java/regclient/pages/english/DemographicDetailsPageEnglish.java (1)

399-407: Potential null pointer risk and simplification opportunity.

The method could throw a NullPointerException if getTextFromLocator returns null. Also, the if-else can be simplified to a single return statement.

 public boolean checkDateFormatAndCurrentDate(String id) {
-    if (getTextFromLocator(findElementWithRetry(
-            By.xpath("//android.view.View[contains(@content-desc, \"" + FetchUiSpec.getValueUsingId(id)
-                    + "\")]/parent::android.view.View/following-sibling::android.view.View")))
-            .equalsIgnoreCase(getCurrentDate()))
-        return true;
-    else
-        return false;
+    String text = getTextFromLocator(findElementWithRetry(
+            By.xpath("//android.view.View[contains(@content-desc, \"" + FetchUiSpec.getValueUsingId(id)
+                    + "\")]/parent::android.view.View/following-sibling::android.view.View")));
+    return text != null && text.equalsIgnoreCase(getCurrentDate());
 }
ui-test/src/main/java/regclient/pages/hindi/DemographicDetailsPageHindi.java (1)

366-374: Same potential null pointer risk as in the English variant.

Consider the same refactor suggested for DemographicDetailsPageEnglish.checkDateFormatAndCurrentDate to handle potential null values and simplify the logic.

 public boolean checkDateFormatAndCurrentDate(String id) {
-    if (getTextFromLocator(findElementWithRetry(
-            By.xpath("//android.view.View[contains(@content-desc, \"" + FetchUiSpec.getValueUsingId(id)
-                    + "\")]/parent::android.view.View/following-sibling::android.view.View")))
-            .equalsIgnoreCase(getCurrentDate()))
-        return true;
-    else
-        return false;
+    String text = getTextFromLocator(findElementWithRetry(
+            By.xpath("//android.view.View[contains(@content-desc, \"" + FetchUiSpec.getValueUsingId(id)
+                    + "\")]/parent::android.view.View/following-sibling::android.view.View")));
+    return text != null && text.equalsIgnoreCase(getCurrentDate());
 }
ui-test/src/main/java/regclient/api/AdminTestUtil.java (1)

109-137: Reduce duplication in user zone/center mapping block

The new initialize() logic repeats the same mapUserToZonemapZonemapUserToCentermapCenter sequence four times with only the user ID varying, and repeatedly calls propsKernel.getProperty("zone") / "regCenterId".

This works but is brittle and harder to maintain. Consider:

  • Caching zone and regCenterId into local variables once.
  • Extracting a small helper like mapUserZoneAndCenter(String userId) to wrap the four mapping calls.

That would make intent clearer and reduce chances of future divergence between the different user types.

Example sketch:

-			//user zone and center mapping
-			KeycloakUserManager.createUsers();
-			mapUserToZone(BaseTestCase.currentModule + "-" + propsKernel.getProperty("iam-users-to-create"),
-					propsKernel.getProperty("zone"));
-			mapZone(BaseTestCase.currentModule + "-" + propsKernel.getProperty("iam-users-to-create"));
-			mapUserToCenter(BaseTestCase.currentModule + "-" + propsKernel.getProperty("iam-users-to-create"),
-					propsKernel.getProperty("regCenterId"));
-			mapCenter(BaseTestCase.currentModule + "-" + propsKernel.getProperty("iam-users-to-create"));
+			String zone = propsKernel.getProperty("zone");
+			String regCenterId = propsKernel.getProperty("regCenterId");
+
+			// user zone and center mapping
+			KeycloakUserManager.createUsers();
+			mapUserToZone(BaseTestCase.currentModule + "-" + propsKernel.getProperty("iam-users-to-create"), zone);
+			mapZone(BaseTestCase.currentModule + "-" + propsKernel.getProperty("iam-users-to-create"));
+			mapUserToCenter(BaseTestCase.currentModule + "-" + propsKernel.getProperty("iam-users-to-create"),
+					regCenterId);
+			mapCenter(BaseTestCase.currentModule + "-" + propsKernel.getProperty("iam-users-to-create"));

and similarly for the other user categories.

ui-test/src/main/java/regclient/page/UpdateOperatorBiometricspage.java (1)

113-115: Abstract API extension is reasonable; consider documenting expectations

Adding validateThreshold(int expected) and updateBiometricsAndWaitPopup() cleanly extends the base contract for operator biometrics flows and matches the per-language implementations.

To aid future implementors, consider adding short Javadoc to clarify:

  • what unit/value expected represents (e.g., minimum quality score), and
  • what “wait popup” is expected to be (specific success dialog vs. any blocking dialog).

This would keep behavior consistent across all subclasses.

ui-test/src/main/java/regclient/pages/english/UpdateOperatorBiometricspageEnglish.java (2)

395-405: Consider adding error handling for robustness.

The validateThreshold method could throw exceptions if the element isn't found or if the content-desc doesn't contain digits.

 public boolean validateThreshold(int expected) {
+    try {
         WebElement el = driver.findElement(MobileBy.AndroidUIAutomator(
                 "new UiScrollable(new UiSelector().scrollable(true))" +
                 ".scrollIntoView(new UiSelector().descriptionContains(\"Threshold\"));"
         ));
 
         String text = el.getAttribute("content-desc");       // "Threshold 75%"
+        if (text == null || text.isEmpty()) {
+            return false;
+        }
         int actual = Integer.parseInt(text.replaceAll("[^0-9]", "")); // extract 75
 
         return actual == expected;
+    } catch (Exception e) {
+        return false;
+    }
 }

407-418: Replace Thread.sleep with explicit wait for better reliability.

Using Thread.sleep is a code smell in test automation. Also, catching the broad Exception hides specific failure reasons.

 public void updateBiometricsAndWaitPopup() {
     for (int i = 1; i <= 5; i++) {
         clickOnVerifyAndSaveButton();
         try {
             new WebDriverWait(driver, Duration.ofSeconds(60))
                     .until(ExpectedConditions.visibilityOf(successPopup));
             return;   // success
-        } catch (Exception ignored) {}
-        try { Thread.sleep(2000); } catch (InterruptedException ignored) {}
+        } catch (org.openqa.selenium.TimeoutException e) {
+            // Popup not visible yet, will retry
+        }
+        // Use explicit wait instead of Thread.sleep
+        new WebDriverWait(driver, Duration.ofSeconds(2))
+                .until(d -> true); // Brief pause before retry
     }
     throw new AssertionError("Biometrics update success popup not displayed after 5 retries.");
 }
ui-test/src/main/java/regclient/pages/tamil/AutoLogoutPageTamil.java (2)

27-30: Remove auto-generated TODO comment.

The // TODO Auto-generated constructor comment should be removed as it adds no value and is a common IDE artifact.

 public AutoLogoutPageTamil(AppiumDriver driver) {
     super(driver);
-    // TODO Auto-generated constructor comment
 }

47-50: Confusing method name: "StayLogout" is semantically incorrect.

The method clickOnStayLogoutButton clicks the logout button, not a "stay logout" button. Consider renaming for clarity.

-public LoginPage clickOnStayLogoutButton() {
+public LoginPage clickOnLogoutButton() {
     clickOnElement(logoutButton);
     return new LoginPageTamil(driver);
 }

Note: If this naming convention is used consistently across other language variants (e.g., AutoLogoutPageEnglish), you may want to update them all together for consistency.

ui-test/src/main/java/regclient/utils/TestRunner.java (1)

17-17: Unused import.

KeycloakUserManager is imported but not used in this file. Remove the unused import or add the intended usage.

-import regclient.api.KeycloakUserManager;
ui-test/src/main/java/regclient/pages/hindi/AutoLogoutPageHindi.java (1)

27-30: Remove auto-generated TODO comment.

The // TODO Auto-generated constructor stub comment should be removed as it serves no purpose.

 	public AutoLogoutPageHindi(AppiumDriver driver) {
 		super(driver);
-		// TODO Auto-generated constructor stub
 	}
ui-test/README.md (2)

55-59: Add language specifier to fenced code block.

Per static analysis (MD040): fenced code blocks should have a language specified for proper syntax highlighting.

-```
+```text
 C:\Users\<username>\AppData\Local\Android\Sdk\platform-tools

---

`143-148`: **Add language specifier to fenced code block.**

Per static analysis (MD040): fenced code blocks should have a language specified.


```diff
-```
+```text
 test-output/emailableReports

</blockquote></details>
<details>
<summary>ui-test/src/main/java/regclient/androidTestCases/Settings.java (1)</summary><blockquote>

`67-68`: **Variable naming issue and unused variables.**

1. Variable name `UpdateOperatorBiometricspage` should follow camelCase convention (e.g., `updateOperatorBiometricspage`).
2. Both `operationalTaskPage` and `UpdateOperatorBiometricspage` are declared but never used in this test method.


```diff
-	OperationalTaskPage operationalTaskPage = null;
-	UpdateOperatorBiometricspage UpdateOperatorBiometricspage = null;

If these are intended for future use, consider adding a TODO comment explaining the purpose.

ui-test/src/main/java/regclient/pages/french/AutoLogoutPageFrench.java (1)

26-29: Remove TODO comment before merging.

The auto-generated // TODO Auto-generated constructor stub comment should be removed.

 	public AutoLogoutPageFrench(AppiumDriver driver) {
 		super(driver);
-		// TODO Auto-generated constructor stub
 	}
ui-test/src/main/java/regclient/pages/arabic/AutoLogoutPageArabic.java (1)

14-15: Remove unused imports.

LoginPageEnglish and RegistrationTasksPageEnglish are imported but not used in this class.

 import regclient.page.AutoLogoutPage;
 import regclient.page.LoginPage;
 import regclient.page.RegistrationTasksPage;
-import regclient.pages.english.LoginPageEnglish;
-import regclient.pages.english.RegistrationTasksPageEnglish;
ui-test/src/main/java/regclient/pages/kannada/AutoLogoutPageKannada.java (1)

28-31: Remove auto-generated TODO comment.

Clean up the boilerplate TODO comment from the constructor.

 public AutoLogoutPageKannada(AppiumDriver driver) {
     super(driver);
-    // TODO Auto-generated constructor stub
 }
ui-test/src/main/java/regclient/pages/kannada/UpdateOperatorBiometricspageKannada.java (1)

414-425: Retry logic is reasonable, but consider logging suppressed exceptions.

The 5-retry pattern with 60-second wait per attempt is appropriate for biometric operations. However, silently catching all exceptions (line 421) makes debugging difficult.

Consider logging the exception for debugging:

         try {
             new WebDriverWait(driver, Duration.ofSeconds(60))
                     .until(ExpectedConditions.visibilityOf(successPopup));
             return;   // success
-        } catch (Exception ignored) {}
+        } catch (Exception e) {
+            System.out.println("Attempt " + i + " failed: " + e.getMessage());
+        }
ui-test/src/main/java/regclient/pages/tamil/SettingsPageTamil.java (1)

210-221: Toast visibility check is functional but could be optimized.

The polling approach for toast detection works, but driver.getPageSource() is expensive. Consider using WebDriverWait with a custom condition or XPath-based toast detection if performance becomes an issue.

 public boolean isToastVisible(String toastMessage) {
-    for (int i = 0; i < 15; i++) { // ~3 seconds
-        if (driver.getPageSource().contains(toastMessage)) {
-            return true;
-        }
-        try {
-            Thread.sleep(200);
-        } catch (Exception ignored) {
-        }
+    try {
+        WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(3));
+        wait.until(ExpectedConditions.presenceOfElementLocated(
+            By.xpath("//android.widget.Toast[contains(@text, '" + toastMessage + "')]")));
+        return true;
+    } catch (TimeoutException e) {
+        return false;
     }
-    return false;
 }
ui-test/src/main/java/regclient/pages/hindi/UpdateOperatorBiometricspageHindi.java (1)

412-423: Improve exception handling and avoid swallowing InterruptedException.

The retry loop has several issues:

  1. Catching Exception is too broad - prefer catching TimeoutException specifically for the wait.
  2. Swallowing InterruptedException without restoring the interrupt status can hide issues.
  3. The empty catch blocks provide no diagnostic information.
 public void updateBiometricsAndWaitPopup() {
     for (int i = 1; i <= 5; i++) {
         clickOnVerifyAndSaveButton();
         try {
             new WebDriverWait(driver, Duration.ofSeconds(60))
                     .until(ExpectedConditions.visibilityOf(successPopup));
             return;   // success
-        } catch (Exception ignored) {}
-        try { Thread.sleep(2000); } catch (InterruptedException ignored) {}
+        } catch (org.openqa.selenium.TimeoutException e) {
+            // Popup not visible yet, will retry
+        }
+        try { 
+            Thread.sleep(2000); 
+        } catch (InterruptedException e) {
+            Thread.currentThread().interrupt();
+            throw new AssertionError("Interrupted while waiting for biometrics update", e);
+        }
     }
     throw new AssertionError("Biometrics update success popup not displayed after 5 retries.");
 }
ui-test/src/main/java/regclient/androidTestCases/UpdateMyUinMinor.java (1)

622-632: Identical retry pattern duplicated across test files.

This retry logic for supervisor authentication is identical to the one in UpdateMyUinUpdateDemographicDetails.java. Consider extracting this into a shared utility method to reduce duplication.

// In a shared test utility class:
public static boolean waitForSupervisorAuthenticationPage(PendingApproval pendingApproval, int maxRetries) 
        throws InterruptedException {
    for (int i = 0; i < maxRetries; i++) {
        pendingApproval.clickOnAuthenticateButton();
        Thread.sleep(2000);
        if (pendingApproval.isSupervisorAuthenticationTitleDisplayed()) {
            return true;
        }
    }
    return false;
}
ui-test/src/main/java/regclient/pages/french/SettingsPageFrench.java (1)

210-221: Toast visibility check uses expensive getPageSource() in a tight loop.

driver.getPageSource() is a heavy operation that serializes the entire DOM. In a polling loop, this can significantly slow down tests. Consider using XPath/accessibility locators with explicit waits instead.

 public boolean isToastVisible(String toastMessage) {
-    for (int i = 0; i < 15; i++) { // ~3 seconds
-        if (driver.getPageSource().contains(toastMessage)) {
-            return true;
-        }
-        try {
-            Thread.sleep(200);
-        } catch (Exception ignored) {
-        }
-    }
-    return false;
+    try {
+        WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(3));
+        wait.until(ExpectedConditions.presenceOfElementLocated(
+            By.xpath("//*[contains(@content-desc, '" + toastMessage + "') or contains(@text, '" + toastMessage + "')]")));
+        return true;
+    } catch (TimeoutException e) {
+        return false;
+    }
 }
ui-test/src/main/java/regclient/androidTestCases/AutoLogout.java (1)

51-187: Extreme code duplication in language-based page instantiation.

The same if-else chain for language selection is repeated 8 times within onlineAutoLogout alone (lines 62-76, 88-102, 107-121, 128-142, 147-161, 168-182). This pattern is repeated similarly in offlineAutoLogout.

Consider using a page factory pattern or utility methods to reduce duplication.

// Example utility approach:
private <T> T createPageForLanguage(String language, 
        java.util.function.Function<AppiumDriver, T> engFactory,
        java.util.function.Function<AppiumDriver, T> hinFactory,
        // ... other languages
        ) {
    switch (language.toLowerCase()) {
        case "eng": return engFactory.apply(driver);
        case "hin": return hinFactory.apply(driver);
        // ... other cases
        default: throw new IllegalStateException("Unsupported language: " + language);
    }
}

// Or create a PageFactory class:
LoginPage loginPage = PageFactory.createLoginPage(driver, language);
ui-test/src/main/java/regclient/api/KeycloakUserManager.java (1)

174-238: Significant code duplication across user creation methods.

createOnboardingUser() and createUsersWithOutSupervisorRole() share nearly identical logic with createUsers(). Consider extracting a common private helper method that accepts parameters for the user list source, target user field, and role configuration.

A helper like the following could reduce duplication:

private static void createUsersWithRoles(
    List<String> userList,
    java.util.function.Consumer<String> userFieldSetter,
    String rolesConfigKey) {
    // shared user creation logic
}

Also applies to: 240-300

ui-test/src/main/java/regclient/pages/hindi/SettingsPageHindi.java (2)

210-221: Restore interrupt status when catching InterruptedException.

Swallowing InterruptedException without restoring the interrupt flag can cause issues with thread lifecycle management.

 			try {
 				Thread.sleep(200);
-			} catch (Exception ignored) {
+			} catch (InterruptedException e) {
+				Thread.currentThread().interrupt();
+				break;
 			}

223-226: Handle element not found in getSyncButton.

This method will throw NoSuchElementException if the job name doesn't match any element. Consider using findElements() and returning null or Optional<WebElement>, or documenting the exception behavior.

 	public WebElement getSyncButton(String jobName) {
-		return driver.findElement(
-				By.xpath("//android.view.View[contains(@content-desc,'" + jobName + "')]//*[@clickable='true']"));
+		List<WebElement> elements = driver.findElements(
+				By.xpath("//android.view.View[contains(@content-desc,'" + jobName + "')]//*[@clickable='true']"));
+		return elements.isEmpty() ? null : elements.get(0);
 	}
ui-test/src/main/java/regclient/androidTestCases/UpdateMyUinInfant.java (1)

162-176: Consider extracting language-based page factory pattern.

The repeated language-switch pattern for instantiating page objects appears throughout this test (and others). Consider creating a factory or helper method to reduce duplication.

Example helper approach:

private <T> T createPageForLanguage(String language, 
    Supplier<T> eng, Supplier<T> hin, Supplier<T> fra, 
    Supplier<T> kan, Supplier<T> tam, Supplier<T> ara) {
    return switch (language.toLowerCase()) {
        case "eng" -> eng.get();
        case "hin" -> hin.get();
        // ... etc
        default -> throw new IllegalStateException("Unsupported language: " + language);
    };
}

Also applies to: 183-197, 201-215

ui-test/src/main/java/regclient/pages/kannada/SettingsPageKannada.java (2)

207-218: Same interrupt handling issue as other language variants.

Similar to SettingsPageHindi, the InterruptedException should restore the interrupt flag.

 			try {
 				Thread.sleep(200);
-			} catch (Exception ignored) {
+			} catch (InterruptedException e) {
+				Thread.currentThread().interrupt();
+				break;
 			}

194-231: Significant duplication across language-specific Settings pages.

The methods isToastVisible, getSyncButton, and validateJobCardFields are identical across SettingsPageHindi, SettingsPageKannada, and likely other language variants. Consider moving these to the base SettingsPage class since they don't contain language-specific logic.

ui-test/src/main/java/regclient/page/BasePage.java (1)

455-458: Inconsistent InterruptedException handling in Thread.sleep calls.

Several Thread.sleep calls catch exceptions without restoring the interrupt flag. For consistency with the proper handling in disableWifiAndData() (lines 507-509), these should also restore interrupt status.

 			try {
 				Thread.sleep(500);
-			} catch (Exception ignored) {
+			} catch (InterruptedException e) {
+				Thread.currentThread().interrupt();
+				break;
 			}

Also applies to: 662-665, 677-680

ui-test/src/main/java/regclient/androidTestCases/ResetPassword.java (3)

37-38: The @SuppressWarnings("null") annotation is misleading.

The suppression isn't needed here since the variables are explicitly checked via the else branch throwing IllegalStateException. This annotation suggests potential NPE issues that don't exist, reducing code clarity.

-	@SuppressWarnings("null")
-	@Test(priority = 0, description = "Verify reset password")
+	@Test(priority = 0, description = "Verify reset password")

140-146: Commented-out assertion and redundant page re-instantiation.

  1. Line 143 contains a commented-out assertion openKeycloakWebView() - if this verification is no longer needed, remove the dead code; if it's temporarily disabled, add a TODO explaining why.
  2. The profilePage is re-instantiated at lines 125-139 but never used before keycloakPage takes over the flow - this appears to be unnecessary.

222-341: resetToDefaultPassword() duplicates resetPassword() with minimal variation.

Both methods share ~90% identical code (language-switch blocks, login flow, profile navigation). Consider extracting common steps into helper methods to improve maintainability.

Additionally, resetToDefaultPassword() depends on resetPassword() having executed first (it uses password + "121"). If resetPassword() fails or is skipped, this test will fail with a misleading error. Consider making this dependency explicit via TestNG's dependsOnMethods.

-	@Test(priority = 1, description = "Reset to default password")
+	@Test(priority = 1, description = "Reset to default password", dependsOnMethods = "resetPassword")
	public void resetToDefaultPassword() throws IOException {
ui-test/src/main/java/regclient/androidTestCases/PreRegFetchingPacket.java (1)

266-266: Commented-out validation code should be addressed.

The validateFetchedDemographicData() call is commented out without explanation. If this validation is no longer needed, remove it. If it's temporarily disabled, add a TODO with context.

-//				demographicPage.validateFetchedDemographicData();
+				// TODO: Re-enable once demographic data validation is fixed - see MOSIP-XXXXX
+				// demographicPage.validateFetchedDemographicData();

Or remove entirely if not needed.

ui-test/src/main/java/regclient/pages/english/SettingsPageEnglish.java (2)

249-260: isToastVisible uses busy-wait polling which may be fragile.

The method polls getPageSource() 15 times with 200ms sleeps. Consider using WebDriverWait with a custom ExpectedCondition for more reliable and idiomatic waiting:

 	public boolean isToastVisible(String toastMessage) {
-		for (int i = 0; i < 15; i++) { // ~3 seconds
-			if (driver.getPageSource().contains(toastMessage)) {
-				return true;
-			}
-			try {
-				Thread.sleep(200);
-			} catch (Exception ignored) {
-			}
-		}
-		return false;
+		try {
+			WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(3));
+			return wait.until(d -> d.getPageSource().contains(toastMessage));
+		} catch (TimeoutException e) {
+			return false;
+		}
 	}

3-4: Duplicate imports should be removed.

There are duplicate imports in this file:

  • java.io.IOException at lines 3 and 28
  • io.appium.java_client.android.Activity at lines 17 and 43
  • regclient.api.FetchUiSpec at lines 46 and 56

Also applies to: 17-17, 43-43, 46-46, 56-56

ui-test/src/main/java/regclient/androidTestCases/NewRegistrationAdult.java (1)

598-599: @SuppressWarnings("null") is unnecessary.

Same as noted in ResetPassword.java - the annotation is misleading since all variables are either assigned in if-else branches or throw IllegalStateException in the else clause.

-	@SuppressWarnings("null")
-	@Test(priority = 1, description = "Verify adult new registration")
+	@Test(priority = 1, description = "Verify adult new registration")
ui-test/src/main/java/regclient/androidTestCases/BiometricCorrection.java (1)

439-440: Consider tracking commented-out assertions.

Multiple preview page assertions are commented out (isApplicationIDPreviewPagePageDisplayed(), isBiometricsInformationInPreviewPagePageDisplayed()). If these represent pending work or known issues, consider adding TODO comments or tracking them in an issue.

Would you like me to open an issue to track enabling these assertions?

Also applies to: 445-445, 1353-1354, 1688-1689

ui-test/src/main/java/regclient/androidTestCases/UpdateMyUINUpdateDemographicDetails.java (2)

486-496: Consider extracting retry configuration as constants.

The retry-based page verification pattern is a reasonable approach for flakiness mitigation. However, the magic numbers (3 retries, 2000ms sleep) could be extracted as named constants for better maintainability and reusability across similar patterns in other test files.

private static final int MAX_RETRIES = 3;
private static final int RETRY_DELAY_MS = 2000;

// Then in test:
for (int i = 0; i < MAX_RETRIES; i++) {
    pendingApproval.clickOnAuthenticateButton();
    Thread.sleep(RETRY_DELAY_MS);
    if (pendingApproval.isSupervisorAuthenticationTitleDisplayed()) {
        isPageDisplayed = true;
        break;
    }
}

141-141: Variable name inconsistency with CamelCase convention.

The variable documentuploadPage uses lowercase 'u' which is inconsistent with the CamelCase standard being applied to the class names (DocumentUploadPage) in this PR. Consider renaming for consistency.

-	DocumentUploadPage documentuploadPage = null;
+	DocumentUploadPage documentUploadPage = null;

This would also require updating all usages of this variable throughout the file (lines 347, 349, 351, 353, 355, 357, 361, 363, 364).

Comment thread ui-test/src/main/java/regclient/androidTestCases/AutoLogout.java Outdated
Comment thread ui-test/src/main/java/regclient/androidTestCases/AutoLogout.java
Comment thread ui-test/src/main/java/regclient/api/KeycloakUserManager.java Outdated
Comment thread ui-test/src/main/java/regclient/pages/kannada/AutoLogoutPageKannada.java Outdated
Comment thread ui-test/src/main/java/regclient/utils/TestRunner.java Outdated
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

♻️ Duplicate comments (1)
ui-test/src/main/java/regclient/pages/tamil/UpdateOperatorBiometricspageTamil.java (1)

414-425: Restore thread interrupt status when catching InterruptedException.

The retry logic is sound, but as noted in the previous review, the InterruptedException handler should restore the thread's interrupt status to properly propagate the interruption signal.

Apply this diff:

     public void updateBiometricsAndWaitPopup() {
         for (int i = 1; i <= 5; i++) {
             clickOnVerifyAndSaveButton();
             try {
                 new WebDriverWait(driver, Duration.ofSeconds(60))
                         .until(ExpectedConditions.visibilityOf(successPopup));
                 return;   // success
             } catch (Exception ignored) {}
-            try { Thread.sleep(2000); } catch (InterruptedException ignored) {}
+            try { Thread.sleep(2000); } catch (InterruptedException e) { 
+                Thread.currentThread().interrupt();
+                break;
+            }
         }
         throw new AssertionError("Biometrics update success popup not displayed after 5 retries.");
     }
🧹 Nitpick comments (5)
ui-test/src/main/java/regclient/pages/french/UpdateOperatorBiometricspageFrench.java (1)

399-410: Restore thread interrupt status when catching InterruptedException.

The retry logic is sound, but the InterruptedException handler should restore the thread's interrupt status to properly propagate the interruption signal.

Apply this diff:

     public void updateBiometricsAndWaitPopup() {
         for (int i = 1; i <= 5; i++) {
             clickOnVerifyAndSaveButton();
             try {
                 new WebDriverWait(driver, Duration.ofSeconds(60))
                         .until(ExpectedConditions.visibilityOf(successPopup));
                 return;   // success
             } catch (Exception ignored) {}
-            try { Thread.sleep(2000); } catch (InterruptedException ignored) {}
+            try { Thread.sleep(2000); } catch (InterruptedException e) { 
+                Thread.currentThread().interrupt();
+                break;
+            }
         }
         throw new AssertionError("Biometrics update success popup not displayed after 5 retries.");
     }
ui-test/src/main/java/regclient/pages/kannada/AutoLogoutPageKannada.java (1)

27-50: Clean up auto-generated comment and consider @Override annotations

The constructor is fully implemented, so the // TODO Auto-generated constructor stub comment is just noise. Also, adding @Override on the three abstract method implementations (isAutoLogoutPopupDisplayed, clickOnStayLoggedInButton, clickOnStayLogoutButton) would make intent clearer and help the compiler catch signature drift.

ui-test/src/main/java/regclient/androidTestCases/AutoLogout.java (2)

172-308: Good use of try/finally for connectivity cleanup; consider extending to other global state

Wrapping the offline flow in a try with BasePage.enableWifiAndData() in finally is a solid improvement and prevents leaving the device offline after failures. If BasePage.disableAutoRotation() (line 175) also changes global device state, consider adding a corresponding re-enable call in this finally block (and/or in the online test) so other tests are not affected by residual orientation settings.


45-87: Reduce duplication in language-based page instantiation

The long repeated if ("eng".equalsIgnoreCase(language)) { ... } else if (...) { ... } chains for LoginPage, RegistrationTasksPage, and AutoLogoutPage appear multiple times in both tests. This works but is hard to maintain (any new language or change must be updated in many places).

Consider extracting helpers like:

private LoginPage createLoginPage(String language) {
	if ("eng".equalsIgnoreCase(language)) return new LoginPageEnglish(driver);
	if ("hin".equalsIgnoreCase(language)) return new LoginPageHindi(driver);
	if ("fra".equalsIgnoreCase(language)) return new LoginPageFrench(driver);
	if ("kan".equalsIgnoreCase(language)) return new LoginPageKannada(driver);
	if ("tam".equalsIgnoreCase(language)) return new LoginPageTamil(driver);
	if ("ara".equalsIgnoreCase(language)) return new LoginPageArabic(driver);
	throw new IllegalStateException("Unsupported language in testdata.json: " + language);
}

and analogous methods for RegistrationTasksPage and AutoLogoutPage, then using them in both tests. This will centralize the mapping and reduce the chance of subtle inconsistencies between branches.

Also applies to: 92-107, 112-126, 131-145, 151-165, 180-224, 229-243, 249-263, 268-282, 288-302

ui-test/src/main/java/regclient/pages/arabic/UpdateOperatorBiometricspageArabic.java (1)

397-408: Tighten retry/wait logic and avoid swallowing all exceptions

The retry loop can block for up to ~5 minutes (5 × 60s waits + sleeps), and catching a broad Exception then throwing a bare AssertionError loses the original failure cause.

Consider:

  • Reducing the per-try timeout or the number of retries.
  • Catching only the expected timeout/visibility exceptions.
  • Attaching the last exception as the cause of the AssertionError (or at least logging it) to aid debugging.
-    public void updateBiometricsAndWaitPopup() {
-        for (int i = 1; i <= 5; i++) {
-            clickOnVerifyAndSaveButton();
-            try {
-                new WebDriverWait(driver, Duration.ofSeconds(60))
-                        .until(ExpectedConditions.visibilityOf(successPopup));
-                return;   // success
-            } catch (Exception ignored) {}
-            try { Thread.sleep(2000); } catch (InterruptedException ignored) {}
-        }
-        throw new AssertionError("Biometrics update success popup not displayed after 5 retries.");
-    }
+    public void updateBiometricsAndWaitPopup() {
+        Exception lastError = null;
+        for (int i = 1; i <= 5; i++) {
+            clickOnVerifyAndSaveButton();
+            try {
+                new WebDriverWait(driver, Duration.ofSeconds(30))
+                        .until(ExpectedConditions.visibilityOf(successPopup));
+                return;   // success
+            } catch (Exception e) { // e.g. TimeoutException / NoSuchElementException
+                lastError = e;
+            }
+            try {
+                Thread.sleep(2000);
+            } catch (InterruptedException ignored) {
+                Thread.currentThread().interrupt();
+                break;
+            }
+        }
+        throw new AssertionError("Biometrics update success popup not displayed after retries.", lastError);
+    }
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 16859d2 and 6f6439c.

📒 Files selected for processing (8)
  • ui-test/src/main/java/regclient/androidTestCases/AutoLogout.java (1 hunks)
  • ui-test/src/main/java/regclient/api/KeycloakUserManager.java (4 hunks)
  • ui-test/src/main/java/regclient/pages/arabic/UpdateOperatorBiometricspageArabic.java (2 hunks)
  • ui-test/src/main/java/regclient/pages/french/UpdateOperatorBiometricspageFrench.java (2 hunks)
  • ui-test/src/main/java/regclient/pages/kannada/AutoLogoutPageKannada.java (1 hunks)
  • ui-test/src/main/java/regclient/pages/tamil/DocumentuploadPageTamil.java (3 hunks)
  • ui-test/src/main/java/regclient/pages/tamil/UpdateOperatorBiometricspageTamil.java (2 hunks)
  • ui-test/src/main/java/regclient/utils/TestRunner.java (7 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • ui-test/src/main/java/regclient/utils/TestRunner.java
🧰 Additional context used
🧬 Code graph analysis (3)
ui-test/src/main/java/regclient/pages/tamil/DocumentuploadPageTamil.java (1)
ui-test/src/main/java/regclient/pages/english/DocumentuploadPageEnglish.java (1)
  • DocumentUploadPageEnglish (18-239)
ui-test/src/main/java/regclient/api/KeycloakUserManager.java (3)
ui-test/src/main/java/regclient/utils/TestRunner.java (1)
  • TestRunner (19-176)
ui-test/src/main/java/regclient/api/ArcConfigManager.java (1)
  • ArcConfigManager (15-132)
ui-test/src/main/java/regclient/api/BaseTestCase.java (1)
  • BaseTestCase (21-154)
ui-test/src/main/java/regclient/androidTestCases/AutoLogout.java (10)
ui-test/src/main/java/regclient/BaseTest/BaseTest.java (1)
  • BaseTest (9-30)
ui-test/src/main/java/regclient/BaseTest/AndroidBaseTest.java (1)
  • AndroidBaseTest (9-24)
ui-test/src/main/java/regclient/api/ArcConfigManager.java (1)
  • ArcConfigManager (15-132)
ui-test/src/main/java/regclient/page/AutoLogoutPage.java (1)
  • AutoLogoutPage (5-16)
ui-test/src/main/java/regclient/page/LoginPage.java (1)
  • LoginPage (5-51)
ui-test/src/main/java/regclient/pages/arabic/LoginPageArabic.java (1)
  • LoginPageArabic (10-145)
ui-test/src/main/java/regclient/pages/english/AutoLogoutPageEnglish.java (1)
  • AutoLogoutPageEnglish (17-53)
ui-test/src/main/java/regclient/pages/english/RegistrationTasksPageEnglish.java (1)
  • RegistrationTasksPageEnglish (13-178)
ui-test/src/main/java/regclient/pages/french/AutoLogoutPageFrench.java (1)
  • AutoLogoutPageFrench (15-51)
ui-test/src/main/java/regclient/utils/TestDataReader.java (1)
  • TestDataReader (11-46)
🔇 Additional comments (8)
ui-test/src/main/java/regclient/pages/tamil/DocumentuploadPageTamil.java (3)

18-20: Class rename and base-type alignment look good

DocumentUploadPageTamil extending DocumentUploadPage matches the English implementation and the new CamelCase naming convention; no issues here.


46-48: Constructor correctly updated to match class rename

The constructor name and signature are consistent with the renamed class and delegate cleanly to super(driver).


60-63: Fixed: Tamil save now returns the correct page type

clickOnSaveButton() now returns a DocumentUploadPage while instantiating DocumentUploadPageTamil, keeping the generic API but ensuring Tamil-specific locators are used, resolving the earlier cross-language mismatch.

ui-test/src/main/java/regclient/pages/french/UpdateOperatorBiometricspageFrench.java (1)

387-397: LGTM! Localization correctly implemented.

The method properly uses "Seuil" (French) instead of English text, addressing the previous review feedback. The threshold validation logic is correct.

ui-test/src/main/java/regclient/pages/tamil/UpdateOperatorBiometricspageTamil.java (1)

402-412: LGTM! Localization correctly implemented.

The method properly uses "வரம்பு" (Tamil) instead of English text, addressing the previous review feedback. The threshold validation logic is correct.

ui-test/src/main/java/regclient/api/KeycloakUserManager.java (3)

39-51: Good improvement with logging and error handling.

The debug System.out.println statements have been properly replaced with logger calls, and robust error handling has been added. This addresses the previous review comment effectively.


223-230: Verify inconsistent role filtering logic.

createOnboardingUser() explicitly filters out the "Default" role (lines 225-230), while createUsersWithOutSupervisorRole() does not apply this filter (lines 289-295). Ensure this behavioral difference is intentional and aligns with your requirements for operator vs. onboarding users.

If both should filter "Default", apply this pattern consistently:

 for (String role : toBeAssignedRoles) {
+    if (!role.equalsIgnoreCase("Default")) {
         if (allRoles.stream().anyMatch(r -> r.getName().equalsIgnoreCase(role))) {
             availableRoles
                     .add(allRoles.stream().filter(r -> r.getName().equalsIgnoreCase(role)).findFirst().get());
         }
+    }
 }

Also applies to: 289-295


74-76: The code structure is correct and follows proper conditional logic. The code has a standard if/else if/else flow (lines 69–78) where:

  • "globaladmin" users get assigned directly
  • "masterdata-220005" users get assigned directly
  • All other users get the module-prefixed assignment

This is a normal and intentional pattern for handling user creation with special cases. No issue exists here.

Comment thread ui-test/src/main/java/regclient/api/KeycloakUserManager.java
Comment thread ui-test/src/main/java/regclient/api/KeycloakUserManager.java
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (1)
ui-test/src/main/java/regclient/pages/arabic/UpdateOperatorBiometricspageArabic.java (1)

397-411: Retry loop is reasonable; consider narrowing exceptions and preserving interrupt status

The retry logic (5 attempts, 60s explicit wait, 2s pause) makes the biometrics update flow more robust for flaky environments and is appropriate for UI tests. Two optional refinements:

  • Catch more specific exceptions from WebDriverWait (e.g., TimeoutException, NoSuchElementException) instead of generic Exception, so unexpected driver/runtime errors aren't silently treated as “just a retry”.
  • In the InterruptedException catch, restore the interrupt flag (Thread.currentThread().interrupt()) before continuing, to avoid silently discarding interrupts.

These are non-blocking improvements for maintainability and diagnosability.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 6f6439c and 62556f7.

📒 Files selected for processing (1)
  • ui-test/src/main/java/regclient/pages/arabic/UpdateOperatorBiometricspageArabic.java (2 hunks)
🔇 Additional comments (2)
ui-test/src/main/java/regclient/pages/arabic/UpdateOperatorBiometricspageArabic.java (2)

3-10: Imports correctly reflect new wait and locator usage

Duration, ExpectedConditions, WebDriverWait, and MobileBy are all used in the new helper methods and fit existing patterns in this test suite. No changes needed.


386-395: Threshold validation now consistent with Arabic locators and existing checks

Using descriptionContains("الحد"), contentDescription, and >= expected aligns this method with the Arabic locator strategy and the existing checkThresholdValue* methods that treat the threshold as a minimum. This looks correct and resolves the earlier localization/API mismatch.

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

Caution

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

⚠️ Outside diff range comments (2)
ui-test/src/main/java/regclient/androidTestCases/logintest.java (2)

84-100: Add null check for language value.

The language value from TestDataReader.readData("language") is used directly in equalsIgnoreCase() without a null check. If the language key is missing from testdata.json, this will throw a NullPointerException.

Apply this diff to add defensive null handling:

-		final String language = TestDataReader.readData("language");
+		final String language = TestDataReader.readData("language");
+		if (language == null || language.trim().isEmpty()) {
+			throw new IllegalStateException("Language not configured in testdata.json");
+		}

84-100: Extract repeated language-selection logic into factory methods.

The language-based page instantiation logic is duplicated across all three test methods and appears ~15 times throughout the file. This violates DRY and makes maintenance difficult.

Consider creating a PageFactory helper class:

public class PageFactory {
    private static final String ENGLISH = "eng";
    private static final String HINDI = "hin";
    private static final String FRENCH = "fra";
    private static final String KANNADA = "kan";
    private static final String TAMIL = "tam";
    private static final String ARABIC = "ara";
    
    public static <T> T createPage(Class<T> pageType, AppiumDriver driver, String language) {
        String className = pageType.getSimpleName();
        String packagePrefix = "regclient.pages.";
        
        String languageSuffix = switch (language.toLowerCase()) {
            case ENGLISH -> "english." + className + "English";
            case HINDI -> "hindi." + className + "Hindi";
            case FRENCH -> "french." + className + "French";
            case KANNADA -> "kannada." + className + "Kannada";
            case TAMIL -> "tamil." + className + "Tamil";
            case ARABIC -> "arabic." + className + "Arabic";
            default -> throw new IllegalStateException("Unsupported language: " + language);
        };
        
        try {
            return (T) Class.forName(packagePrefix + languageSuffix)
                .getConstructor(AppiumDriver.class)
                .newInstance(driver);
        } catch (Exception e) {
            throw new RuntimeException("Failed to create page: " + className, e);
        }
    }
}

Then simplify usage to:

-		if ("eng".equalsIgnoreCase(language)) {
-			loginPage = new LoginPageEnglish(driver);
-		} else if ("hin".equalsIgnoreCase(language)) {
-			loginPage = new LoginPageHindi(driver);
-		} else if ("fra".equalsIgnoreCase(language)) {
-			loginPage = new LoginPageFrench(driver);
-		} else if ("kan".equalsIgnoreCase(language)) {
-			loginPage = new LoginPageKannada(driver);
-		} else if ("tam".equalsIgnoreCase(language)) {
-			loginPage = new LoginPageTamil(driver);
-		} else if ("ara".equalsIgnoreCase(language)) {
-			loginPage = new LoginPageArabic(driver);
-		} else {
-			throw new IllegalStateException("Unsupported language in testdata.json: " + language);
-		}
+		loginPage = PageFactory.createPage(LoginPage.class, driver, language);

Also applies to: 142-156, 162-176, 185-198, 210-224, 243-259, 277-291, 296-310, 451-466, 485-499, 505-519, 523-537

♻️ Duplicate comments (3)
ui-test/src/main/java/regclient/androidTestCases/NewRegistrationAdult.java (1)

1063-1068: Modifying static fields in FetchUiSpec may cause test pollution.

This mutates shared static state before calling getBiometricDetails("introducerBiometrics"). This issue was previously flagged and the same concern applies here.

ui-test/src/main/java/regclient/androidTestCases/BiometricCorrection.java (2)

1271-1276: Modifying static fields in FetchUiSpec may cause test pollution.

Same pattern as flagged in NewRegistrationAdult.java - mutating static fields (eye, rightHand, leftHand, thumb, face) before calling getBiometricDetails("introducerBiometrics") can affect other tests running in the same JVM.


1667-1667: Duplicate HidesKeyboard cast - same concern as line 800.

Same safety concern about the explicit cast to HidesKeyboard.

🧹 Nitpick comments (7)
ui-test/src/main/java/regclient/androidTestCases/AutoLogout.java (2)

38-170: Consider adding cleanup for auto-rotation to prevent test pollution.

BasePage.disableAutoRotation() is called at line 40, but there's no corresponding re-enable in a finally block. If this test fails mid-execution, subsequent tests may run with auto-rotation unexpectedly disabled.

Apply a similar try-finally pattern as in offlineAutoLogout:

 @Test(priority = 0, description = "Verify auto-logout when the machine is online")
 public void onlineAutoLogout() throws InterruptedException {
-    BasePage.disableAutoRotation();
-    LoginPage loginPage = null;
-    // ... rest of test
+    try {
+        BasePage.disableAutoRotation();
+        LoginPage loginPage = null;
+        // ... rest of test
+    } finally {
+        BasePage.enableAutoRotation(); // if such method exists
+    }
 }

47-61: Extract language-based page instantiation to factory methods to reduce duplication.

The same language switch pattern is repeated 6 times per test method (12 total). This violates DRY and makes adding new languages error-prone.

Consider creating factory methods in a helper class:

public class PageFactory {
    public static LoginPage createLoginPage(AppiumDriver driver, String language) {
        return switch (language.toLowerCase()) {
            case "eng" -> new LoginPageEnglish(driver);
            case "hin" -> new LoginPageHindi(driver);
            case "fra" -> new LoginPageFrench(driver);
            case "kan" -> new LoginPageKannada(driver);
            case "tam" -> new LoginPageTamil(driver);
            case "ara" -> new LoginPageArabic(driver);
            default -> throw new IllegalStateException("Unsupported language: " + language);
        };
    }
    
    // Similar methods for RegistrationTasksPage and AutoLogoutPage
}

Then simplify the test:

LoginPage loginPage = PageFactory.createLoginPage(driver, language);
ui-test/src/main/java/regclient/androidTestCases/NewRegistrationAdult.java (2)

598-600: Unnecessary @SuppressWarnings("null") annotation.

The @SuppressWarnings("null") annotation appears incorrect. The local page object variables are initialized to null and assigned within language-specific branches, with an else clause throwing IllegalStateException for unsupported languages. If the language is valid, no null dereference should occur; if invalid, the exception prevents execution. This annotation suppresses legitimate warnings without addressing the root concern.

Consider removing the annotation and ensuring all page objects are properly initialized before use.

-	@SuppressWarnings("null")
 	@Test(priority = 1, description = "Verify adult new registration")
 	public void newRegistrationAdultUploadMultipleDoccuments() throws InterruptedException {

619-619: Unused variable profilePage declared.

The variable profilePage is declared but never used in newRegistrationAdultUploadMultipleDoccuments(). Either remove it or add the missing logout flow if it was intended.

 		ManageApplicationsPage manageApplicationsPage = null;
-		ProfilePage profilePage = null;
 		IntroducerBiometricPage introducerBiometricPage = null;
ui-test/src/main/java/regclient/androidTestCases/PreRegFetchingPacket.java (1)

597-598: Test minorPreRegFetching is disabled via comment.

The @Test annotation for minorPreRegFetching is commented out. If this is intentional (e.g., test is broken or under development), consider using TestNG's @Test(enabled = false) attribute instead for clarity and to preserve IDE/tooling support.

-//	@Test(priority = 1, description = "Verify minor pre-reg fetching registration")
+	@Test(priority = 1, description = "Verify minor pre-reg fetching registration", enabled = false)
 	public void minorPreRegFetching() throws InterruptedException {
ui-test/src/main/java/regclient/androidTestCases/logintest.java (2)

444-444: Consider renaming for consistency.

The method updateOperatorBiometrics() lacks the "Test" suffix used by other test methods (userloginTest(), onboardingTest()). While not functionally incorrect, consistent naming improves readability.

-	public void updateOperatorBiometrics() {
+	public void updateOperatorBiometricsTest() {

663-665: Consider adding success verification after biometric update.

The refactored updateBiometricsAndWaitPopup() method is cleaner than the previous explicit flow. However, there's no assertion after line 664 to verify the operation succeeded (e.g., checking for a success popup or message).

 		UpdateOperatorBiometricspage.updateBiometricsAndWaitPopup();
 		
+		assertTrue(UpdateOperatorBiometricspage.isOperatorBiometricsUpdatedPopupLoaded(),
+				"Verify if operator biometrics updated success message is displayed");
+		
 		UpdateOperatorBiometricspage.clickOnHomeButton();

Note: Verify that isOperatorBiometricsUpdatedPopupLoaded() is available in UpdateOperatorBiometricspage (it exists in SupervisorBiometricVerificationpage per line 437).

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 62556f7 and b1e9686.

📒 Files selected for processing (6)
  • ui-test/src/main/java/regclient/androidTestCases/AutoLogout.java (1 hunks)
  • ui-test/src/main/java/regclient/androidTestCases/BiometricCorrection.java (18 hunks)
  • ui-test/src/main/java/regclient/androidTestCases/NewRegistrationAdult.java (7 hunks)
  • ui-test/src/main/java/regclient/androidTestCases/PreRegFetchingPacket.java (18 hunks)
  • ui-test/src/main/java/regclient/androidTestCases/logintest.java (11 hunks)
  • ui-test/src/main/java/regclient/pages/english/ManageApplicationsPageEnglish.java (1 hunks)
🧰 Additional context used
🧬 Code graph analysis (1)
ui-test/src/main/java/regclient/androidTestCases/logintest.java (2)
ui-test/src/main/java/regclient/page/UpdateOperatorBiometricspage.java (1)
  • UpdateOperatorBiometricspage (5-117)
ui-test/src/main/java/regclient/utils/TestDataReader.java (1)
  • TestDataReader (11-46)
🔇 Additional comments (11)
ui-test/src/main/java/regclient/androidTestCases/AutoLogout.java (3)

1-34: Imports are now aligned with usage.

The previous review comment about unused imports has been addressed. All imported classes are now utilized in the test methods.


172-310: Good use of try-finally for connectivity restoration.

The previous review concern about Wi-Fi/data not being restored on test failure has been properly addressed with the try-finally block at lines 174-308. This ensures enableWifiAndData() is always called regardless of test outcome.


225-227: Verify if handleLocationPermission() is intentionally omitted in offline mode.

Unlike onlineAutoLogout (lines 88, 127), this method doesn't call registrationTasksPage.handleLocationPermission() after creating the page. If a location permission dialog can appear in offline mode, this could cause the test to fail.

ui-test/src/main/java/regclient/pages/english/ManageApplicationsPageEnglish.java (1)

235-242: This review comment is based on incorrect code that does not exist in the repository.

The actual implementation at lines 235-237 in ManageApplicationsPageEnglish.java uses driver.navigate().back(), not a commented-out method followed by a fragile XPath locator as described in the review. The code snippet and concerns presented in the review do not match the current state of the codebase. There is no dead code to remove and no fragile XPath pattern to refactor.

The review appears to reference a proposed change that was never committed, was from a different branch, or used incorrect line numbers. Please verify against the actual current implementation before proceeding.

Likely an incorrect or invalid review comment.

ui-test/src/main/java/regclient/androidTestCases/NewRegistrationAdult.java (1)

941-943: Duplicate uploadDoccuments calls may be unintentional.

The method calls uploadDoccuments("minor", "withoutReferenceNumber") twice in succession. While the test is named "UploadMultipleDoccuments", calling the same method with identical parameters back-to-back likely doesn't test uploading different documents. If the intent is to upload multiple documents, consider using different parameters or document types.

Please verify if this duplication is intentional. If testing multiple documents, consider:

 				documentUploadPage.uploadDoccuments("minor", "withoutReferenceNumber");
-
-				documentUploadPage.uploadDoccuments("minor", "withoutReferenceNumber");
+				documentUploadPage.uploadDoccuments("minor", "ReferenceNumber");
ui-test/src/main/java/regclient/androidTestCases/PreRegFetchingPacket.java (2)

663-666: Missing handleLocationPermission() call in minorPreRegFetching.

The adultPreRegFetching method calls registrationTasksPage.handleLocationPermission() at line 194, but minorPreRegFetching does not include this call after login. If tests run independently or in different order, this inconsistency could cause test failures.

Consider adding the permission handling for consistency:

 		}
-		
+		registrationTasksPage.handleLocationPermission();
 		assertTrue(registrationTasksPage.isRegistrationTasksPageLoaded(),
 				"Verify if registration tasks page is loaded");

1220-1223: Missing handleLocationPermission() call in infantPreRegFetching.

Similar to minorPreRegFetching, the infantPreRegFetching method is also missing the handleLocationPermission() call that exists in adultPreRegFetching.

ui-test/src/main/java/regclient/androidTestCases/BiometricCorrection.java (2)

800-801: Explicit cast to HidesKeyboard may fail for some driver implementations.

The cast ((HidesKeyboard) driver).hideKeyboard() assumes the driver instance implements the HidesKeyboard interface. While AndroidDriver typically does, this could cause a ClassCastException if the driver type changes. Consider adding a type check or using a safer approach.

-				((HidesKeyboard) driver).hideKeyboard();
+				if (driver instanceof HidesKeyboard) {
+					((HidesKeyboard) driver).hideKeyboard();
+				}

1044-1047: Missing handleLocationPermission() call in minorBiometricCorrection.

The adultBiometricCorrection method calls registrationTasksPage.handleLocationPermission() at line 210 after login, but minorBiometricCorrection does not include this call. This inconsistency could cause test failures if tests run independently.

 		}
-	
+		registrationTasksPage.handleLocationPermission();
 		assertTrue(registrationTasksPage.isRegistrationTasksPageLoaded(),
 				"Verify if registration tasks page is loaded");
ui-test/src/main/java/regclient/androidTestCases/logintest.java (2)

73-76: LGTM! Good naming convention improvements.

The class rename to Logintest follows Java conventions, and the added TestNG descriptions will improve test reporting and clarity.


157-157: This review comment references code that does not exist in the specified file.

The review mentions registrationTasksPage.handleLocationPermission() at line 157 in logintest.java, but line 157 actually contains only language-specific page instantiation code: registrationTasksPage = new RegistrationTasksPageTamil(driver);

The handleLocationPermission() method call does not exist anywhere in logintest.java. It only appears in NewRegistrationAdult.java (around line 200), where it is called after page instantiation and before isRegistrationTasksPageLoaded() verification.

In logintest.java, all three test methods (ALoginTest, OnBoardTest, and updateOperatorBiometrics) proceed directly from login to page verification without calling handleLocationPermission(). If location permission handling is needed in these flows, that would be a separate concern specific to those tests, but the stated premise of this review is incorrect.

Likely an incorrect or invalid review comment.

Comment thread ui-test/src/main/java/regclient/androidTestCases/NewRegistrationAdult.java Outdated
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

Caution

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

⚠️ Outside diff range comments (1)
ui-test/src/main/java/regclient/androidTestCases/NewRegistrationAdult.java (1)

142-142: Standardize variable naming for consistency.

The variable is named documentuploadPage (line 142) in the first test but documentUploadPage (line 610) in the second test. Standardize to camel case (documentUploadPage) throughout for consistency.

Apply this diff:

-		DocumentUploadPage documentuploadPage = null;
+		DocumentUploadPage documentUploadPage = null;

Then update all references in the first test method accordingly.

Also applies to: 610-610

♻️ Duplicate comments (1)
ui-test/src/main/java/regclient/androidTestCases/NewRegistrationAdult.java (1)

1063-1068: Fix static field mutation to prevent test pollution.

Setting static fields on FetchUiSpec (eye, rightHand, leftHand, thumb, face) to "no" creates shared mutable state that can pollute other tests running in the same JVM or cause issues if this test fails mid-execution. This is the same issue flagged in past review comments.

Apply one of these fixes:

Option A (recommended): Capture and restore original values

+				String originalEye = FetchUiSpec.eye;
+				String originalRightHand = FetchUiSpec.rightHand;
+				String originalLeftHand = FetchUiSpec.leftHand;
+				String originalThumb = FetchUiSpec.thumb;
+				String originalFace = FetchUiSpec.face;
+				
 				FetchUiSpec.eye = "no";
 				FetchUiSpec.rightHand = "no";
 				FetchUiSpec.leftHand = "no";
 				FetchUiSpec.thumb = "no";
 				FetchUiSpec.face = "no";
 				FetchUiSpec.getBiometricDetails("introducerBiometrics");
+				
+				// ... introducer biometric capture logic ...
+				
+				// Restore at end of BiometricDetails block
+				FetchUiSpec.eye = originalEye;
+				FetchUiSpec.rightHand = originalRightHand;
+				FetchUiSpec.leftHand = originalLeftHand;
+				FetchUiSpec.thumb = originalThumb;
+				FetchUiSpec.face = originalFace;

Option B: Refactor FetchUiSpec to use instance fields (requires changes to FetchUiSpec class).

Based on learnings from past reviews, this pattern must be addressed.

🧹 Nitpick comments (1)
ui-test/src/main/java/regclient/androidTestCases/NewRegistrationAdult.java (1)

598-1283: Consider extracting page object factory to reduce duplication.

The new test method spans 685 lines with extensive code duplication—the language-based conditional instantiation pattern is repeated 10+ times. This violates the DRY principle and makes maintenance difficult.

Consider extracting a factory method to centralize page object creation:

private <T> T createPageObject(String language, Class<T> pageType) {
    switch (language.toLowerCase()) {
        case "eng": return createEnglishPage(pageType);
        case "hin": return createHindiPage(pageType);
        case "fra": return createFrenchPage(pageType);
        case "kan": return createKannadaPage(pageType);
        case "tam": return createTamilPage(pageType);
        case "ara": return createArabicPage(pageType);
        default: throw new IllegalStateException("Unsupported language: " + language);
    }
}

This would reduce each instantiation block from ~15 lines to ~1 line:

loginPage = createPageObject(language, LoginPage.class);

This pattern could be applied across all test classes in this PR.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between b1e9686 and ffba7b1.

📒 Files selected for processing (1)
  • ui-test/src/main/java/regclient/androidTestCases/NewRegistrationAdult.java (7 hunks)
🧰 Additional context used
🧬 Code graph analysis (1)
ui-test/src/main/java/regclient/androidTestCases/NewRegistrationAdult.java (7)
ui-test/src/main/java/regclient/pages/english/DocumentuploadPageEnglish.java (1)
  • DocumentUploadPageEnglish (18-239)
ui-test/src/main/java/regclient/pages/kannada/DocumentuploadPageKannada.java (1)
  • DocumentUploadPageKannada (21-185)
ui-test/src/main/java/regclient/pages/tamil/DocumentuploadPageTamil.java (1)
  • DocumentUploadPageTamil (20-183)
ui-test/src/main/java/regclient/page/BasePage.java (1)
  • BasePage (54-794)
ui-test/src/main/java/regclient/api/FetchUiSpec.java (1)
  • FetchUiSpec (29-512)
ui-test/src/main/java/regclient/utils/TestDataReader.java (1)
  • TestDataReader (11-46)
ui-test/src/main/java/regclient/api/KeycloakUserManager.java (1)
  • KeycloakUserManager (28-316)
🔇 Additional comments (1)
ui-test/src/main/java/regclient/androidTestCases/NewRegistrationAdult.java (1)

51-51: LGTM! Naming convention improvements.

The import and class reference updates from Documentupload to DocumentUpload improve consistency with Java camel case conventions. The addition of test priority and description annotations on line 130 enhances test organization and documentation.

Also applies to: 99-99, 115-115, 130-130, 279-279, 285-285, 287-287

Comment thread ui-test/src/main/java/regclient/androidTestCases/NewRegistrationAdult.java Outdated
Comment thread ui-test/src/main/java/regclient/androidTestCases/NewRegistrationAdult.java Outdated
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

♻️ Duplicate comments (2)
ui-test/src/main/java/regclient/androidTestCases/NewRegistrationAdult.java (2)

665-668: Add location permission handling for test independence.

The second test omits the handleLocationPermission() call that the first test includes (line 197). This creates test interdependency—the second test may rely on the first test having already granted permissions.

Apply this diff to ensure test independence:

 		assertTrue(registrationTasksPage.isRegistrationTasksPageLoaded(),
 				"Verify if registration tasks page is loaded");
+
+		registrationTasksPage.handleLocationPermission();
 
 		registrationTasksPage.clickOnNewRegistrationButton();

1062-1067: Modifying static fields in FetchUiSpec may cause test pollution.

Setting static fields (eye, rightHand, leftHand, thumb, face) to "no" before calling getBiometricDetails("introducerBiometrics") could affect other tests if they run in the same JVM or if this test fails mid-execution.

Consider one of these approaches:

  1. Store and restore original values:
+				// Store original values before modification
+				String originalEye = FetchUiSpec.eye;
+				String originalRightHand = FetchUiSpec.rightHand;
+				String originalLeftHand = FetchUiSpec.leftHand;
+				String originalThumb = FetchUiSpec.thumb;
+				String originalFace = FetchUiSpec.face;
+				
 				FetchUiSpec.eye = "no";
 				FetchUiSpec.rightHand = "no";
 				FetchUiSpec.leftHand = "no";
 				FetchUiSpec.thumb = "no";
 				FetchUiSpec.face = "no";
 				FetchUiSpec.getBiometricDetails("introducerBiometrics");

Then add an @AfterMethod to restore:

@AfterMethod
public void restoreBiometricFields() {
    FetchUiSpec.eye = originalEye;
    FetchUiSpec.rightHand = originalRightHand;
    // ... restore other fields
}
  1. Refactor FetchUiSpec to use instance fields instead of static mutable state.
🧹 Nitpick comments (1)
ui-test/src/main/java/regclient/androidTestCases/NewRegistrationAdult.java (1)

598-1282: Consider extracting shared test logic to reduce duplication.

The new test method newRegistrationAdultUploadMultipleDoccuments() shares significant code with the first test (login flow, language selection, screen iteration). The primary differences are document upload behavior and introducer biometrics handling. Consider extracting common setup logic into helper methods to improve maintainability.

Example refactor:

private void performLoginAndNavigateToRegistration(LoginPage loginPage, RegistrationTasksPage registrationTasksPage) {
    loginPage.selectLanguage();
    assertTrue(loginPage.isWelcomeMessageInSelectedLanguageDisplayed(), ...);
    loginPage.enterUserName(KeycloakUserManager.moduleSpecificUser);
    loginPage.clickOnNextButton();
    loginPage.enterPassword(ArcConfigManager.getIAMUsersPassword());
    loginPage.clickOnloginButton();
    registrationTasksPage.handleLocationPermission();
    assertTrue(registrationTasksPage.isRegistrationTasksPageLoaded(), ...);
}
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between ffba7b1 and 9448a75.

📒 Files selected for processing (9)
  • ui-test/src/main/java/regclient/androidTestCases/LostUin.java (7 hunks)
  • ui-test/src/main/java/regclient/androidTestCases/NewRegistrationAdult.java (7 hunks)
  • ui-test/src/main/java/regclient/page/PendingApproval.java (1 hunks)
  • ui-test/src/main/java/regclient/pages/arabic/PendingApprovalArabic.java (2 hunks)
  • ui-test/src/main/java/regclient/pages/english/PendingApprovalEnglish.java (1 hunks)
  • ui-test/src/main/java/regclient/pages/french/PendingApprovalFrench.java (1 hunks)
  • ui-test/src/main/java/regclient/pages/hindi/PendingApprovalHindi.java (1 hunks)
  • ui-test/src/main/java/regclient/pages/kannada/PendingApprovalKannada.java (1 hunks)
  • ui-test/src/main/java/regclient/pages/tamil/PendingApprovalTamil.java (1 hunks)
🧰 Additional context used
🧬 Code graph analysis (1)
ui-test/src/main/java/regclient/androidTestCases/NewRegistrationAdult.java (1)
ui-test/src/main/java/regclient/pages/english/DocumentuploadPageEnglish.java (1)
  • DocumentUploadPageEnglish (18-239)
🔇 Additional comments (16)
ui-test/src/main/java/regclient/androidTestCases/NewRegistrationAdult.java (4)

51-51: LGTM! Import renames standardize naming convention.

The import statements have been updated to use proper camelCase (DocumentUploadPage instead of DocumentuploadPage), improving code consistency across the project.

Also applies to: 99-99, 115-115


130-130: LGTM! Test priority reordered.

Changing the priority from 1 to 0 ensures this test runs first, which is appropriate for a foundational registration flow test.


279-279: LGTM! Updated references use standardized class names.

The instantiation now correctly references the renamed DocumentUploadPageEnglish, DocumentUploadPageKannada, and DocumentUploadPageTamil classes.

Also applies to: 285-285, 287-287


545-546: LGTM! Method name improved for clarity.

The call to isSubmitButtonEnabledWithEmptyUsername() is much clearer than the previous misspelled name, making the test's intent immediately apparent.

ui-test/src/main/java/regclient/pages/english/PendingApprovalEnglish.java (1)

135-137: LGTM! Method rename improves clarity and fixes spelling errors.

The method has been renamed from isInvalidemptyUsernameSumbitButtonEnbled() to isSubmitButtonEnabledWithEmptyUsername(), which:

  • Fixes spelling mistakes ("Sumbit" → "Submit", "Enbled" → "Enabled")
  • Makes the method's purpose immediately clear
  • Aligns with Java naming conventions

The implementation remains unchanged, preserving the existing behavior.

ui-test/src/main/java/regclient/pages/arabic/PendingApprovalArabic.java (1)

194-196: LGTM! Method rename aligns with English variant.

The method has been renamed to isSubmitButtonEnabledWithEmptyUsername(), maintaining consistency with the English implementation and other language variants. The logic remains unchanged.

ui-test/src/main/java/regclient/pages/tamil/PendingApprovalTamil.java (1)

196-198: LGTM! Method rename maintains cross-language consistency.

The Tamil implementation now uses the standardized isSubmitButtonEnabledWithEmptyUsername() method name, ensuring a consistent API across all language variants.

ui-test/src/main/java/regclient/pages/french/PendingApprovalFrench.java (1)

195-197: LGTM! French implementation adopts standardized naming.

The method rename to isSubmitButtonEnabledWithEmptyUsername() ensures the French page object exposes the same clear, correctly-spelled API as other language implementations.

ui-test/src/main/java/regclient/pages/kannada/PendingApprovalKannada.java (1)

196-198: LGTM! Kannada implementation updated with clear method name.

The rename to isSubmitButtonEnabledWithEmptyUsername() completes the standardization across all language-specific page objects, improving code maintainability.

ui-test/src/main/java/regclient/page/PendingApproval.java (1)

53-53: LGTM! Abstract contract updated with improved naming.

The abstract method signature now uses the clearer, correctly-spelled isSubmitButtonEnabledWithEmptyUsername(), establishing a consistent contract that all language-specific implementations follow.

ui-test/src/main/java/regclient/pages/hindi/PendingApprovalHindi.java (1)

149-151: LGTM! Hindi implementation completes the naming standardization.

The method rename to isSubmitButtonEnabledWithEmptyUsername() in the Hindi variant finalizes the consistent API across all language implementations, improving code clarity and maintainability throughout the test suite.

ui-test/src/main/java/regclient/androidTestCases/LostUin.java (5)

50-50: DocumentUpload page imports now match renamed CamelCase classes

The updated imports for DocumentUploadPageEnglish/Kannada/Tamil are consistent with the new page-object naming and keep the base type DocumentUploadPage usage intact.

Also applies to: 95-95, 110-110


123-123: Test metadata on lostUinAdult is well-structured

Adding priority = 0 and a descriptive description on the @Test improves ordering and report clarity without altering behaviour.


187-187: Location permission handling added at the correct point in the flow

Invoking registrationTasksPage.handleLocationPermission() immediately after constructing the language-specific RegistrationTasksPage* should help stabilize runs on fresh devices/emulators where runtime permissions are shown.


266-266: Document upload page instantiation aligned with renamed page objects

Using DocumentUploadPageEnglish/Kannada/Tamil for the "Documents" screen keeps the flow consistent with the new imports and language-specific page classes; the DocumentUploadPage variable type still fits these subclasses.

Also applies to: 272-272, 274-274


528-528: PendingApproval empty-username assertion updated to new helper method

Switching the assertion to isSubmitButtonEnabledWithEmptyUsername() keeps this negative test in sync with the renamed PendingApproval API, preserving the existing behaviour for the empty-username submit scenario.

Comment thread ui-test/src/main/java/regclient/androidTestCases/ResetPassword.java Outdated
Comment thread ui-test/src/main/java/regclient/driver/DriverManager.java
Comment thread ui-test/src/main/java/regclient/driver/DriverManager.java Outdated
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

♻️ Duplicate comments (1)
ui-test/src/main/java/regclient/androidTestCases/ResetPassword.java (1)

269-272: Missing handleLocationPermission() call that exists in resetPassword().

In resetPassword() (line 85), handleLocationPermission() is called after login. This call is missing here. If these tests run independently or in different orders, the location permission dialog could block the test.

 		registrationTasksPage = new RegistrationTasksPageArabic(driver);
 	} else {
 		throw new IllegalStateException("Unsupported language in testdata.json: " + language);
 	}
+	registrationTasksPage.handleLocationPermission();
 	assertTrue(registrationTasksPage.isRegistrationTasksPageLoaded(),
 			"Verify if registration tasks page is loaded");
🧹 Nitpick comments (5)
ui-test/src/main/java/regclient/page/MockSBIPage.java (1)

90-92: Consider using a logger instead of System.err.

The error handling improvement is good for visibility, but System.err.println is less flexible than using a proper logging framework. Given the project uses SLF4J/Log4j2 (per library context), consider:

+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 public class MockSBIPage extends BasePage {
+    private static final Logger logger = LoggerFactory.getLogger(MockSBIPage.class);
     ...
     } catch (Exception e) {
-        System.err.println("Failed to switch back to ARC app: " + e.getMessage());
+        logger.error("Failed to switch back to ARC app: {}", e.getMessage());
     }

Also note that the exception is still swallowed - the caller won't know if switching failed. Consider whether this silent failure behavior is intentional.

ui-test/src/main/java/regclient/androidTestCases/ResetPassword.java (2)

47-61: Consider extracting language-specific page factory methods to reduce duplication.

The language switch pattern for creating page objects is repeated 6 times in this file alone (lines 47-61, 70-84, 94-108, 124-138, 232-246, 254-268, 274-288, 304-318). This creates maintenance overhead and risk of inconsistency.

Consider extracting to helper methods in a base class or utility:

// Example factory method approach
private LoginPage createLoginPage(String language) {
    return switch (language.toLowerCase()) {
        case "eng" -> new LoginPageEnglish(driver);
        case "hin" -> new LoginPageHindi(driver);
        case "fra" -> new LoginPageFrench(driver);
        case "kan" -> new LoginPageKannada(driver);
        case "tam" -> new LoginPageTamil(driver);
        case "ara" -> new LoginPageArabic(driver);
        default -> throw new IllegalStateException("Unsupported language: " + language);
    };
}

Similar methods could be created for RegistrationTasksPage and ProfilePage.


336-339: Consider adding a final assertion to verify test completion.

The test ends with profilePage.clickOnLogoutButton() but doesn't verify the final state (e.g., that the login page is displayed afterwards). Adding a final assertion would confirm the password was successfully reset:

 	keycloakPage.clickOnSignoutButton();
 	assertTrue(keycloakPage.resumeArcApplication(), "Verify if logout displayed in profile page");
 	profilePage.clickOnLogoutButton();
+	assertTrue(loginPage.isLoginPageLoaded(), "Verify logout completed successfully after password reset");
ui-test/src/main/java/regclient/androidTestCases/BiometricCorrection.java (2)

12-12: Consider guarding HidesKeyboard cast for future‑proofing.

You’re casting the driver directly to HidesKeyboard:

((HidesKeyboard) driver).hideKeyboard();

Given driver is currently an AndroidDriver, this is fine, but it will become fragile if the base test ever switches to a different driver type.

A small defensive tweak (or a helper in AndroidBaseTest) would avoid surprise ClassCastExceptions:

if (driver instanceof HidesKeyboard) {
    ((HidesKeyboard) driver).hideKeyboard();
}

Not urgent, but it makes the tests more resilient to driver changes.

Also applies to: 799-800, 1665-1666


137-967: Reduce duplication in registration/biometric flows and language branching.

Both adultBiometricCorrection and minorBiometricCorrection replicate the same high‑level journey:

  • language‑driven login + registration tasks
  • select language + consent
  • demographic/doc upload
  • biometric capture (with modality flags)
  • preview → authentication → acknowledgement
  • operational tasks → pending approval → supervisor auth → application upload

and each step reimplements the if ("eng"/"hin"/"fra"/"kan"/"tam"/"ara") chains to choose page objects, plus similar retry loops with Thread.sleep(2000).

Functionally this is fine, but it’s going to be painful to maintain as flows or supported languages evolve.

Consider (over time) extracting:

  • Language→page factories, e.g. PageFactory.previewPage(language, driver), PageFactory.registrationTasksPage(language, driver), etc.
  • Reusable helpers for:
    • “new registration with low score” (parameterized by age category and doc upload mode),
    • “biometric capture for applicant” (parameterized by FetchUiSpec flags),
    • “biometric correction flow”,
    • “pending approval → supervisor auth → upload with retries”.
  • A small retry helper instead of open‑coded for (int i = 0; i < 3; i++) { click; Thread.sleep(2000); ... } blocks.

This will reduce the chance of subtle inconsistencies between adult/minor paths and across languages, and make future UI/spec changes much easier to roll out.

Also applies to: 969-1840

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 9448a75 and c23865d.

📒 Files selected for processing (4)
  • ui-test/src/main/java/regclient/androidTestCases/BiometricCorrection.java (18 hunks)
  • ui-test/src/main/java/regclient/androidTestCases/ResetPassword.java (6 hunks)
  • ui-test/src/main/java/regclient/driver/DriverManager.java (1 hunks)
  • ui-test/src/main/java/regclient/page/MockSBIPage.java (3 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • ui-test/src/main/java/regclient/driver/DriverManager.java
🧰 Additional context used
🧬 Code graph analysis (1)
ui-test/src/main/java/regclient/androidTestCases/BiometricCorrection.java (12)
ui-test/src/main/java/regclient/page/IntroducerBiometricPage.java (1)
  • IntroducerBiometricPage (5-65)
ui-test/src/main/java/regclient/pages/arabic/IntroducerBiometricPageArabic.java (1)
  • IntroducerBiometricPageArabic (13-192)
ui-test/src/main/java/regclient/pages/english/DocumentuploadPageEnglish.java (1)
  • DocumentUploadPageEnglish (18-239)
ui-test/src/main/java/regclient/pages/english/IntroducerBiometricPageEnglish.java (1)
  • IntroducerBiometricPageEnglish (12-191)
ui-test/src/main/java/regclient/pages/french/IntroducerBiometricPageFrench.java (1)
  • IntroducerBiometricPageFrench (13-201)
ui-test/src/main/java/regclient/pages/hindi/IntroducerBiometricPageHindi.java (1)
  • IntroducerBiometricPageHindi (13-190)
ui-test/src/main/java/regclient/pages/kannada/IntroducerBiometricPageKannada.java (1)
  • IntroducerBiometricPageKannada (13-190)
ui-test/src/main/java/regclient/pages/tamil/IntroducerBiometricPageTamil.java (1)
  • IntroducerBiometricPageTamil (13-190)
ui-test/src/main/java/regclient/androidTestCases/logintest.java (1)
  • Test (72-671)
ui-test/src/main/java/regclient/api/FetchUiSpec.java (1)
  • FetchUiSpec (29-512)
ui-test/src/main/java/regclient/api/ArcConfigManager.java (1)
  • ArcConfigManager (15-132)
ui-test/src/main/java/regclient/utils/TestDataReader.java (1)
  • TestDataReader (11-46)
🔇 Additional comments (4)
ui-test/src/main/java/regclient/page/MockSBIPage.java (3)

20-20: LGTM - Import added for AppiumBy usage.

The import is correctly added and used on line 115 for AppiumBy.id().


106-111: LGTM - Method renamed and scroll behavior added.

The typo fix (setAllModalityLowScroesetAllModalityLowScore) and added swipeOrScroll() to ensure the save button is visible are good improvements.


113-117: LGTM - Method renamed with improved scroll behavior.

The typo fix and explicit scroll-until-visible pattern using AppiumBy.id ensures the save button is interactable before clicking.

ui-test/src/main/java/regclient/androidTestCases/ResetPassword.java (1)

222-223: Test dependency: resetToDefaultPassword depends on resetPassword having modified the password.

resetToDefaultPassword attempts to login with password + "121" (line 294), which is only valid if resetPassword (priority 0) ran successfully. If resetPassword fails or is skipped, this test will fail at login.

Consider either:

  1. Adding explicit dependency annotation: @Test(dependsOnMethods = {"resetPassword"})
  2. Or making the test self-contained by checking/setting the expected password state at the start

Also applies to: 294-295

Comment thread ui-test/src/main/java/regclient/androidTestCases/ResetPassword.java Outdated
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Nitpick comments (6)
ui-test/src/main/java/regclient/androidTestCases/ResetPassword.java (3)

47-61: Extract language-specific page factory to reduce duplication.

The language switch block is repeated 6+ times in this file (and likely across other test classes). This violates DRY and makes maintenance difficult.

Consider creating a factory utility:

public class PageFactory {
    public static LoginPage createLoginPage(String language, AppiumDriver driver) {
        return switch (language.toLowerCase()) {
            case "eng" -> new LoginPageEnglish(driver);
            case "hin" -> new LoginPageHindi(driver);
            case "fra" -> new LoginPageFrench(driver);
            case "kan" -> new LoginPageKannada(driver);
            case "tam" -> new LoginPageTamil(driver);
            case "ara" -> new LoginPageArabic(driver);
            default -> throw new IllegalStateException("Unsupported language: " + language);
        };
    }
    // Similar methods for RegistrationTasksPage, ProfilePage...
}

This would reduce each instantiation to a single line: loginPage = PageFactory.createLoginPage(language, driver);

Also applies to: 70-84, 94-108, 124-138, 231-245, 253-267, 273-287, 303-317


150-151: Extract hardcoded password suffix "121" to a constant.

The suffix "121" is scattered across both test methods. If this value needs to change, it requires multiple edits and risks inconsistency.

 public class ResetPassword extends AndroidBaseTest {
+	private static final String TEST_PASSWORD_SUFFIX = "121";

 	@Test(priority = 0, description = "Verify reset password")
 	public void resetPassword() throws IOException {

Then replace usages:

-		keycloakPage.enterNewPassword(ArcConfigManager.getIAMUsersPassword() + "121");
+		keycloakPage.enterNewPassword(ArcConfigManager.getIAMUsersPassword() + TEST_PASSWORD_SUFFIX);

Also applies to: 168-168, 191-191, 202-202, 293-293, 322-322, 328-330


124-140: Redundant profilePage re-instantiation after clicking reset password.

Lines 124-138 re-create profilePage immediately after profilePage.clickOnResetPasswordButton() (line 122), but the new instance doesn't appear to be used before switching to keycloakPage. The same pattern exists in lines 303-317.

If this re-instantiation is necessary due to page context changes, add a brief comment explaining why. Otherwise, consider removing it to reduce code complexity.

ui-test/src/main/java/regclient/androidTestCases/BiometricCorrection.java (3)

798-799: Guard the HidesKeyboard cast to avoid future ClassCastException if driver type changes.

Right now you assume driver implements HidesKeyboard; if AndroidBaseTest ever swaps the driver to a plain RemoteWebDriver/WebDriver, these lines will fail at runtime. You can make this more robust with an instanceof guard:

-                ((HidesKeyboard) driver).hideKeyboard();
+                if (driver instanceof HidesKeyboard) {
+                    ((HidesKeyboard) driver).hideKeyboard();
+                }
                 biometricDetailsPage.clickOnContinueButton();

Apply the same pattern to both usages.

Also applies to: 1667-1668


137-967: adultBiometricCorrection/minorBiometricCorrection are very large and highly duplicated; consider extracting common flows.

Both methods inline nearly identical sequences for login, language selection, new registration, biometric capture (applicant/introducer), preview/auth/ack, pending approval, and application upload, differing mainly in age/doc type and introducer handling. This size and duplication will make future changes error‑prone; longer term, it would help to factor shared pieces into helpers (e.g., login+language, “runBiometricFlow(age, withIntroducer, isCorrection)”, “approveAndUpload(Aid)”, reusable “retry up to N times with sleep” utility) and call them from the two tests.

Also applies to: 969-1842


1671-1686: Optionally assert the minor correction preview header for parity with the adult flow.

In the adult correction path you assert isBiometricCorrectionTitleDisplayed(), but in the minor correction you only assert the preview content sections. If the minor correction preview also shows a dedicated “biometric correction” title, mirroring the adult assertion here would tighten the check and make failures more informative.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between c23865d and 1724c69.

📒 Files selected for processing (2)
  • ui-test/src/main/java/regclient/androidTestCases/BiometricCorrection.java (19 hunks)
  • ui-test/src/main/java/regclient/androidTestCases/ResetPassword.java (6 hunks)
🧰 Additional context used
🧬 Code graph analysis (1)
ui-test/src/main/java/regclient/androidTestCases/BiometricCorrection.java (8)
ui-test/src/main/java/regclient/page/IntroducerBiometricPage.java (1)
  • IntroducerBiometricPage (5-65)
ui-test/src/main/java/regclient/pages/arabic/IntroducerBiometricPageArabic.java (1)
  • IntroducerBiometricPageArabic (13-192)
ui-test/src/main/java/regclient/pages/french/IntroducerBiometricPageFrench.java (1)
  • IntroducerBiometricPageFrench (13-201)
ui-test/src/main/java/regclient/pages/hindi/IntroducerBiometricPageHindi.java (1)
  • IntroducerBiometricPageHindi (13-190)
ui-test/src/main/java/regclient/pages/kannada/DocumentuploadPageKannada.java (1)
  • DocumentUploadPageKannada (21-185)
ui-test/src/main/java/regclient/pages/kannada/IntroducerBiometricPageKannada.java (1)
  • IntroducerBiometricPageKannada (13-190)
ui-test/src/main/java/regclient/pages/tamil/IntroducerBiometricPageTamil.java (1)
  • IntroducerBiometricPageTamil (13-190)
ui-test/src/main/java/regclient/api/FetchUiSpec.java (1)
  • FetchUiSpec (29-512)
🔇 Additional comments (3)
ui-test/src/main/java/regclient/androidTestCases/ResetPassword.java (2)

37-38: Test annotation updated with description.

Good practice adding description to the @Test annotation for better test reporting.


162-218: Comprehensive online/offline password validation flow.

The test logic for validating password changes across network states is thorough:

  • Offline login with new password fails (expected - not synced yet)
  • Offline login with old password succeeds
  • Online login with new password succeeds (syncs)
  • Offline login with new password now succeeds
  • Offline login with old password now fails

This covers important edge cases for credential caching behavior.

ui-test/src/main/java/regclient/androidTestCases/BiometricCorrection.java (1)

1249-1275: Static biometric spec reset between introducer and minor correction flows looks correct.

Switching to introducerBiometrics (after explicitly clearing FetchUiSpec.eye/rightHand/leftHand/thumb/face) and then reloading individualBiometrics right before the “Biometric correction packet process” ensures the minor correction uses the applicant’s individual modalities rather than the introducer configuration. This resolves the earlier risk of static introducer flags leaking into the correction flow.

Also applies to: 1505-1508

Comment thread ui-test/src/main/java/regclient/androidTestCases/ResetPassword.java Outdated
Comment thread ui-test/src/main/java/regclient/androidTestCases/ResetPassword.java
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (1)
ui-test/src/main/java/regclient/androidTestCases/ResetPassword.java (1)

271-272: Consider verifying sync completion for consistency.

Unlike resetPassword() (line 89), this test doesn't verify the sync completed successfully with checkLastSyncDate(). While this may be intentional since the first test already validated it, adding the verification would make this test more self-contained and robust.

Apply this diff to add sync verification:

 		registrationTasksPage.clickSynchronizeDataButton();
+		assertTrue(registrationTasksPage.checkLastSyncDate(), "Verify last sync date and time");
 		registrationTasksPage.clickProfileButton();
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 1724c69 and 6ca07a5.

📒 Files selected for processing (1)
  • ui-test/src/main/java/regclient/androidTestCases/ResetPassword.java (6 hunks)
🔇 Additional comments (6)
ui-test/src/main/java/regclient/androidTestCases/ResetPassword.java (6)

37-37: LGTM: Test annotation improved.

The added description enhances test documentation and makes test reports more readable.


85-85: LGTM: Location permission handling added.

This call prevents test flakiness if the Android location permission dialog appears during test execution.


221-221: LGTM: Test dependency correctly declared.

The dependsOnMethods = "resetPassword" annotation properly addresses the test coupling concern raised in past reviews, ensuring this test only runs after the password has been changed by resetPassword().


268-268: LGTM: Location permission handled.

The handleLocationPermission() call addresses the past review concern about missing permission handling, preventing potential test flakiness.


111-111: Verify onlyOperatorRoleUser has permission to perform password reset operations.

The test user has been changed from onboardUser to onlyOperatorRoleUser across multiple test steps (lines 111, 142, 165, 177, 188, 199, 209). Confirm that this user account is properly provisioned in the test environment with the necessary permissions to complete the password reset flow. The operator role may have restricted permissions that could cause test failures if password reset is not explicitly permitted.


321-324: Verify intentional difference between Keycloak authentication flows in resetToDefaultPassword vs resetPassword methods.

Confirm whether resetPassword() at line 146 indeed uses openKeycloakPassword() directly while resetToDefaultPassword() uses the full openKeycloakWebView() → login flow. If confirmed, document the reason for this difference; if incorrect, align both methods to the same pattern.

Comment thread ui-test/src/main/java/regclient/api/FetchUiSpec.java Outdated
Comment thread ui-test/src/main/java/regclient/page/KeycloakPage.java Outdated
Comment thread ui-test/src/main/java/regclient/page/MockSBIPage.java
Comment thread ui-test/src/main/java/regclient/pages/english/ManageApplicationsPageEnglish.java Outdated
Comment thread ui-test/src/main/java/regclient/utils/TestRunner.java Outdated
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 7

♻️ Duplicate comments (4)
ui-test/src/main/java/regclient/utils/TestRunner.java (1)

104-108: Good fix: Duplicate condition issue resolved.

The previous review correctly identified that both conditions were checking for "updateMyUinUpdateDemographicDetails". The code now properly checks for "updateMyUinUpdateBiometrics" on Line 104 and "updateMyUinUpdateDemographicDetails" on Line 107, ensuring each scenario maps to the correct test class.

ui-test/src/main/java/regclient/api/KeycloakUserManager.java (3)

39-48: LGTM: Improved error handling and logging.

The refactored getKeycloakInstance method now properly uses the logger instead of System.out.println statements and includes appropriate try-catch error handling with a meaningful RuntimeException. This addresses the previous review concern about debug artifacts.


30-31: Thread-safety concern: Public mutable static fields.

The public static fields onlyOperatorRoleUser and onboardingUser are not thread-safe. If tests run concurrently, these shared mutable fields can lead to race conditions. Consider using ThreadLocal<String> or refactoring the creation methods to return the username directly rather than storing it in static state.

🔎 Proposed refactor using ThreadLocal
-public static String onlyOperatorRoleUser = null;
-public static String onboardingUser = null;
+private static final ThreadLocal<String> onlyOperatorRoleUser = new ThreadLocal<>();
+private static final ThreadLocal<String> onboardingUser = new ThreadLocal<>();

Then update all usages to call .get() and .set(value) on these ThreadLocal instances.


172-298: Significant code duplication across user creation methods.

The methods createOnboardingUser() (lines 172-236) and createUsersWithOutSupervisorRole() (lines 238-298) duplicate most of the logic from createUsers() (lines 62-124), with only minor variations in configuration sources and role filtering. This creates a maintenance burden where bug fixes must be applied to three locations.

Consider refactoring to a single parameterized helper method that accepts a user type enum and selects the appropriate configuration, then delegates to this helper from the three public methods.

🔎 Suggested refactoring approach
private enum UserType {
    STANDARD, ONBOARDING, OPERATOR
}

private static String createUsersByType(UserType userType) {
    // Select config based on type
    String usersToCreate;
    String roles;
    boolean filterDefault = false;
    
    switch (userType) {
        case ONBOARDING:
            usersToCreate = ArcConfigManager.getIAMUsersToCreateOnboarder();
            roles = ArcConfigManager.getRolesForOnboardUser();
            filterDefault = true;
            break;
        case OPERATOR:
            usersToCreate = ArcConfigManager.getIAMUsersToCreateOperator();
            roles = ArcConfigManager.getRolesForOperatorUser();
            break;
        default:
            usersToCreate = ArcConfigManager.getIAMUsersToCreate();
            roles = ArcConfigManager.getRolesForUser();
    }
    
    // Common creation logic here
    // Return the created username
}

Then update the three public methods to call this helper and assign the returned value to the appropriate static field.

🧹 Nitpick comments (7)
ui-test/README.md (2)

25-25: Add language identifiers to fenced code blocks.

Specify the language for each code block to enable syntax highlighting and comply with markdown linting standards.

🔎 Proposed fixes
-   ```
+   ```bash
    mvn clean package -DskipTests=true
-   ```
+   ```bash
  • adb install mockmds.apk

-   java -jar uitest-regclient-1.0.0.jar
-   ```
+   ```bash
+   java -jar uitest-regclient-1.0.0.jar
+   ```
  • src/main/resources/config
    

-   ```
+   ```
    test-output/emailableReports
-   ```
+   ```plaintext

Also applies to: 77-77, 143-143, 160-160, 171-171


47-47: Format bare URL as a markdown link.

Line 47 uses a bare URL. For consistency and better readability, wrap it in a proper markdown link.

🔎 Proposed fix
-1. Install Node.js:  
-   https://nodejs.org (choose Windows 64-bit installer)  
+1. Install Node.js:  
+   [https://nodejs.org](https://nodejs.org) (choose Windows 64-bit installer)
ui-test/src/main/java/regclient/pages/english/ManageApplicationsPageEnglish.java (1)

235-237: Prefer consistent helper usage and more robust element selection.

The shift from driver.navigate().back() to explicit element clicking improves reliability, but the implementation could be more robust:

  1. Inconsistent pattern: Other methods in this class use the clickOnElement() helper, but this calls .click() directly.
  2. Fragile XPath: (//android.widget.ImageButton)[1] assumes the back button is always the first ImageButton, which may break if the UI structure changes.
  3. Missing safeguards: No element wait or error handling, unlike other methods that use waitTime() or isElementDisplayed().

Consider using a more specific locator (e.g., accessibility ID if available) and the existing clickOnElement() helper for consistency.

🔎 Suggested refactor

If an accessibility ID is available for the back button, define it as a field and use the helper:

+	@AndroidFindBy(accessibility = "Navigate up")  // Use actual accessibility ID
+	private WebElement backButton;
+
 	public void clickOnBackButton() {
-	    driver.findElement(By.xpath("(//android.widget.ImageButton)[1]")).click();
+	    clickOnElement(backButton);
 	}

If accessibility ID is not available, at least use the helper method for consistency:

 	public void clickOnBackButton() {
-	    driver.findElement(By.xpath("(//android.widget.ImageButton)[1]")).click();
+	    WebElement backButton = driver.findElement(By.xpath("(//android.widget.ImageButton)[1]"));
+	    clickOnElement(backButton);
 	}
ui-test/src/main/java/regclient/page/KeycloakPage.java (2)

5-5: Remove unused import.

The java.util.Set import is not used anywhere in the code.

🔎 Proposed fix
-import java.util.Set;

84-111: Improve logging and exception handling.

Line 96 uses System.out.println for logging, and lines 106-107 silently swallow exceptions. Consider using a proper logging framework and logging caught exceptions to aid debugging.

🔎 Suggested improvements
 } catch (Exception e) {
-    System.out.println("Password not found in native.");
+    logger.debug("Password option not found in native context", e);
 }
 
 for (String c : ((SupportsContextSwitching) driver).getContextHandles()) {
     if (c.contains("WEBVIEW")) {
         ((SupportsContextSwitching) driver).context(c);
         try {
             new WebDriverWait(driver, Duration.ofSeconds(8))
                     .until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("#password")));
             return true;
-        } catch (Exception ignore) {
+        } catch (Exception e) {
+            logger.debug("Password field not found in context: " + c, e);
         }
     }
 }
ui-test/src/main/java/regclient/androidTestCases/PreRegFetchingPacket.java (1)

266-266: Consider removing commented code.

Line 266 contains commented-out validation code (validateFetchedDemographicData()). If this validation is no longer needed, consider removing the comment entirely to keep the codebase clean. If it's temporarily disabled for debugging, add a TODO comment explaining why.

ui-test/src/main/java/regclient/utils/TestRunner.java (1)

17-17: Remove unused KeycloakUserManager import.

The KeycloakUserManager import on line 17 is not referenced anywhere in the file. Remove it to keep imports clean.

📜 Review details

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 6ca07a5 and ceb9e9e.

📒 Files selected for processing (9)
  • ui-test/README.md (1 hunks)
  • ui-test/src/main/java/regclient/androidTestCases/PreRegFetchingPacket.java (18 hunks)
  • ui-test/src/main/java/regclient/api/FetchUiSpec.java (1 hunks)
  • ui-test/src/main/java/regclient/api/KeycloakUserManager.java (6 hunks)
  • ui-test/src/main/java/regclient/page/KeycloakPage.java (4 hunks)
  • ui-test/src/main/java/regclient/page/MockSBIPage.java (4 hunks)
  • ui-test/src/main/java/regclient/pages/arabic/LoginPageArabic.java (1 hunks)
  • ui-test/src/main/java/regclient/pages/english/ManageApplicationsPageEnglish.java (1 hunks)
  • ui-test/src/main/java/regclient/utils/TestRunner.java (6 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • ui-test/src/main/java/regclient/api/FetchUiSpec.java
🧰 Additional context used
🪛 markdownlint-cli2 (0.18.1)
ui-test/README.md

25-25: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


47-47: Bare URL used

(MD034, no-bare-urls)


77-77: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


143-143: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


160-160: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


171-171: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

🔇 Additional comments (15)
ui-test/README.md (1)

1-182: Excellent comprehensive README restructuring.

The README has been significantly enriched with detailed, step-by-step setup guidance. The narrative flow—from prerequisites through Appium, emulator, MDS, WireGuard, framework cloning, execution, and troubleshooting—is logical and well-organized. The inclusion of both IDE and JAR execution paths, explicit configuration file references, and resource file placement guidance (lines 159–162) are particularly valuable additions.

The content aligns well with the PR objectives of restructuring and extending the ui-test module. Minor formatting tweaks (code block language tags, bare URL formatting, and the filename typo) aside, the documentation provides solid end-to-end guidance for developers setting up the automation framework.

ui-test/src/main/java/regclient/page/MockSBIPage.java (3)

75-97: Good improvement to error visibility.

Logging the exception message to stderr instead of silently swallowing it improves debugging and makes failure cases more visible.


110-115: LGTM: Typo fixed and UI interaction improved.

The method name typo is corrected, and the addition of swipeOrScroll() ensures the save button is visible and interactable before clicking.


20-20: AppiumBy import is correct for Appium 8.6.0.

The AppiumBy import is the standard locator strategy for Appium Java Client 8.x. No compatibility issues exist.

ui-test/src/main/java/regclient/pages/arabic/LoginPageArabic.java (1)

54-54: Update Arabic language selector accessibility locator.

The accessibility text has been updated from "العربية" to "عربي" to match the app's UI. Ensure the new locator matches the actual button text in the Android app and that tests using selectLanguage() still pass successfully.

ui-test/src/main/java/regclient/utils/TestRunner.java (3)

47-47: LGTM: Class path updates align with Java naming conventions.

The updates from "logintest" to "Logintest" and the CamelCase corrections for biometric/demographic class paths properly follow Java naming conventions and align with the broader normalization effort in this PR.

Also applies to: 57-60


64-67: LGTM: New test class declarations added.

The four new test classes (ResetPassword, AutoLogout, BiometricCorrection, PreRegFetchingPacket) are properly declared and align with the PR objectives to expand test coverage.


118-129: LGTM: New scenario mappings added correctly.

The scenario mappings for the four new test classes are properly implemented and follow the existing pattern. The extra blank lines (118, 121, 124, 127) are minor formatting choices that don't affect functionality.

ui-test/src/main/java/regclient/api/KeycloakUserManager.java (2)

3-11: LGTM: New imports support expanded functionality.

The added imports are necessary for the new onboarding/operator user creation methods, property file handling, and timestamp generation features introduced in this file.


86-86: LGTM: Use of var for local variable type inference.

The use of var for the response variable is appropriate as the type is clearly inferred from the usersRessource.create(user) call. This follows modern Java coding practices.

Also applies to: 138-138, 196-196, 262-262

ui-test/src/main/java/regclient/androidTestCases/PreRegFetchingPacket.java (5)

54-54: LGTM: Import updates align with Java naming conventions.

The corrections from DocumentuploadPage to DocumentUploadPage for English, Kannada, and Tamil variants properly follow CamelCase conventions and align with the broader normalization effort across the codebase.

Also applies to: 102-102, 118-118


132-132: LGTM: Test metadata improvements.

Adding priority and description to the @Test annotations improves test organization and execution order (adult → minor → infant), and enhances test reporting clarity.

Also applies to: 597-597, 1154-1154


273-290: LGTM: Document upload page instantiations updated.

The instantiations correctly use the updated DocumentUploadPage class names. Note: The method names isDoccumentUploadPageDisplayed and uploadDoccuments contain typos ("Doccument"/"Doccuments"), but these appear to be pre-existing and are outside the scope of this PR.

Also applies to: 744-761, 1304-1321


328-393: LGTM: Enhanced biometric flow validations.

The additional assertions (isApplicantBiometricsPageDisplayed, isBiometricDetailsPageDisplayed, isIrisScan, isRightHandScan, etc.) strengthen the test by explicitly verifying page states and biometric capture outcomes. This improves test reliability and makes failures easier to diagnose.


523-528: LGTM: Authentication button method names updated.

The changes from isSubmitButtonEnabled/clickOnSubmitButton to isAuthenticateButtonEnabled/clickOnAuthenticateButton provide more semantically accurate naming that better describes the authentication action being performed. The updates are consistently applied across all three test methods.

Also applies to: 1080-1085, 1570-1575

Comment thread ui-test/README.md Outdated
Comment thread ui-test/src/main/java/regclient/page/KeycloakPage.java
Comment thread ui-test/src/main/java/regclient/page/KeycloakPage.java
Comment thread ui-test/src/main/java/regclient/page/KeycloakPage.java
Comment thread ui-test/src/main/java/regclient/page/KeycloakPage.java
Comment thread ui-test/src/main/java/regclient/page/MockSBIPage.java
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (2)
ui-test/README.md (1)

25-25: Add language specifiers to fenced code blocks and format bare URL as a markdown link.

Markdown linting hints suggest adding language identifiers to fenced code blocks (lines 25, 77, 143, 160, 171) and formatting the bare URL on line 47 as a markdown link for better readability and consistency.

🔎 Proposed fixes for markdown formatting
 2. The generated JAR file (`uitest-regclient-1.0.0.jar`) will be located in the `target` directory.
 
 3. **For running tests on a device**:  
    Use the shaded JAR with dependencies:
-   ```
+   ```txt
    uitest-regclient-1.0.0.jar
    ```
 
...

 1. Install Node.js:  
-   https://nodejs.org (choose Windows 64-bit installer)  
+   https://nodejs.org — choose Windows 64-bit installer  
    Ensure **Add to PATH** is selected.
 
...

 1. Place `mockmds.apk` in your platform-tools folder:
    ```
-   C:\Users\<username>\AppData\Local\Android\Sdk\platform-tools
+   ```cmd
+   C:\Users\<username>\AppData\Local\Android\Sdk\platform-tools
    ```
 
...

 Alternatively, run the provided batch script (if present):
-   ```
+   ```cmd
    run_regclient.bat
    ```
 
...

 📌 Any runtime properties (e.g. `bioValue.properties`) must be placed under:
-   ```
+   ```txt
    src/main/resources/config
    ```
    (Maven will copy them to `target/classes/config`)
 
...

 After execution, reports are generated at:
 
-   ```
+   ```txt
    test-output/emailableReports
    ```

Also applies to: 47-47, 77-77, 143-143, 160-160, 171-171

ui-test/src/main/java/regclient/androidTestCases/PreRegFetchingPacket.java (1)

133-595: Consider extracting common test logic to reduce duplication.

The three test methods share extensive similar code (~85% overlap) for page object instantiation, language selection, and workflow navigation. While functionally correct, this creates maintenance overhead.

Consider refactoring:

  • Extract a page object factory that handles language-specific instantiation
  • Create helper methods for common workflows (e.g., login, biometric capture, approval flow)
  • Use parameterized tests or test data providers for applicant type variations (adult/minor/infant)

This would reduce the file from ~1600 lines to potentially under 500 lines while improving maintainability.

Also applies to: 598-1152, 1155-1641

📜 Review details

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between ceb9e9e and e84a07b.

📒 Files selected for processing (2)
  • ui-test/README.md (1 hunks)
  • ui-test/src/main/java/regclient/androidTestCases/PreRegFetchingPacket.java (18 hunks)
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: damodarguru
Repo: mosip/android-registration-client PR: 640
File: ui-test/src/main/java/regclient/page/KeycloakPage.java:41-60
Timestamp: 2025-12-19T11:29:47.775Z
Learning: Keycloak authentication pages in the ARC UI test automation framework do not require multi-language support. Text-based XPath locators with hardcoded English text in KeycloakPage.java (ui-test/src/main/java/regclient/page/KeycloakPage.java) are acceptable because Keycloak runs independently of the application's language settings and is only presented in English.
📚 Learning: 2025-12-19T11:29:47.775Z
Learnt from: damodarguru
Repo: mosip/android-registration-client PR: 640
File: ui-test/src/main/java/regclient/page/KeycloakPage.java:41-60
Timestamp: 2025-12-19T11:29:47.775Z
Learning: Keycloak authentication pages in the ARC UI test automation framework do not require multi-language support. Text-based XPath locators with hardcoded English text in KeycloakPage.java (ui-test/src/main/java/regclient/page/KeycloakPage.java) are acceptable because Keycloak runs independently of the application's language settings and is only presented in English.

Applied to files:

  • ui-test/src/main/java/regclient/androidTestCases/PreRegFetchingPacket.java
🪛 markdownlint-cli2 (0.18.1)
ui-test/README.md

25-25: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


47-47: Bare URL used

(MD034, no-bare-urls)


77-77: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


143-143: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


160-160: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


171-171: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

🔇 Additional comments (8)
ui-test/README.md (1)

1-196: Overall structure and content look solid.

The README has been well-restructured to emphasize Appium/TestNG workflows, with clear sections for Emulator setup, Mock MDS, WireGuard, and step-by-step automation execution paths. The guide appropriately covers both IDE and packaged JAR execution modes, and the configuration files section provides necessary pointers for runtime customization. Aligns well with the broader PR changes to the ui-test module.

ui-test/src/main/java/regclient/androidTestCases/PreRegFetchingPacket.java (7)

54-54: LGTM: Import statements updated for naming consistency.

The import changes from DocumentuploadPage to DocumentUploadPage (capital 'U' in Upload) align with Java naming conventions and the broader refactor mentioned in the AI summary.

Also applies to: 102-102, 118-118


132-132: LGTM: Test annotations enhanced with priority and description.

The addition of priority and description attributes improves test organization, execution order, and reporting clarity.

Also applies to: 597-597, 1154-1154


194-194: LGTM: Location permission handling is now consistent across all flows.

The handleLocationPermission() call is now present in all three registration flows (adult, minor, infant), addressing the concern raised in the previous review.

Also applies to: 663-663, 1220-1220


266-266: Verify whether commented validation should be re-enabled or removed.

The validateFetchedDemographicData() call is commented out without explanation. If this validation is no longer needed, consider removing the commented code. If it's temporarily disabled, add a comment explaining why and track it for re-enablement.


273-285: LGTM: DocumentUploadPage instantiation uses updated class names.

The language-specific DocumentUploadPage instantiations correctly use the renamed classes (with capital 'U' in Upload), consistent with the import changes.

Also applies to: 744-757, 1304-1317


328-394: LGTM: Comprehensive biometric validation assertions.

The biometric capture workflow is thoroughly validated with assertions for each modality (iris, right hand, left hand, thumbs, face), ensuring proper page display and scan completion before proceeding.


523-528: LGTM: Authentication button API usage improved.

The updated code uses cleaner API methods (isAuthenticateButtonEnabled() and clickOnAuthenticateButton()) with proper retry logic for handling timing issues. The method name correction from clickOnAuthenticatenButton to clickOnAuthenticateButton also fixes a typo.

Also applies to: 1080-1085, 1570-1575

@ghost ghost merged commit 096ac7c into mosip:develop Jan 5, 2026
2 checks passed
anushasunkada pushed a commit that referenced this pull request Mar 27, 2026
* MOSIP-42652: ARC UI automation (#620)

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

---------

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* [MOSIP-42820] prechecks enabled and severbaseurl to be dynamic  (#631)

* [MOSIP-42820] prechecks enabled and severbaseurl to be dynamic

Signed-off-by: Ivanmeneges <ivan.anil016@gmail.com>

* [MOSIP-42820] Updated server base build-android.yml

Signed-off-by: Ivanmeneges <ivan.anil016@gmail.com>

* Update push_trigger.yml

Signed-off-by: Ivanmeneges <ivan.anil016@gmail.com>

* Update build-android.yml

Signed-off-by: Ivanmeneges <ivan.anil016@gmail.com>

* Update push_trigger.yml

Signed-off-by: Ivanmeneges <ivan.anil016@gmail.com>

---------

Signed-off-by: Ivanmeneges <ivan.anil016@gmail.com>

* [MOSIP-42820] prechecks enabled and severbaseurl to be dynamic (#651)

* [MOSIP-42820] Refactor GitHub Actions workflow for manual build

Updated workflow to trigger manually and added DCO validation.

Signed-off-by: Ivanmeneges <ivan.anil016@gmail.com>

* Refactor GitHub Actions workflow for Android build

Signed-off-by: Ivanmeneges <ivan.anil016@gmail.com>

* Fix indentation for inputs in build-android.yml

Signed-off-by: Ivanmeneges <ivan.anil016@gmail.com>

---------

Signed-off-by: Ivanmeneges <ivan.anil016@gmail.com>

* RCF-1305 Cherry-pick from release-1.0.x to develop (#656)

* [DSD-9373] Bump version from 0.0.1 to 1.0.0 (#638)

* [DSD-9373] Bump version from 0.0.1 to 1.0.0

Signed-off-by: Praful Rakhade <prafulrakhade02@gmail.com>

* [DSD-9373] Update JAR file version in README

Signed-off-by: Praful Rakhade <prafulrakhade02@gmail.com>

---------

Signed-off-by: Praful Rakhade <prafulrakhade02@gmail.com>
Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1282 fixed operator onboarding timeout issue (#634)

* fixed operator onboarding timeout

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* fixed operator onboarding timeout

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* updated the review cahnges

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* updated the review cahnges

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* updated the review cahnges

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>
Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* [RCF-1273] Added Unit Test Cases (#618)

* added unit test cases

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added unit test cases

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added unit test cases review

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added unit test cases review

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added unit test cases review

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>
Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* MOSIP-43619 Added technical documentation for ARC 1.0.0 release features (#617)

* MOSIP-43619 Added technical documentation for ARC 1.0.0 release features

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Changed new branch github url in readme file

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Changed base URL qa-base to qa-core and added technical documents (#542)

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* fixed readmd file changes

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* resolved code rabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* resolved code rabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* resolved code rabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Praful Rakhade <prafulrakhade02@gmail.com>
Signed-off-by: Madhuravas reddy <madhu@mosip.io>
Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: Praful Rakhade <prafulrakhade02@gmail.com>
Co-authored-by: Sachin S  P <52343650+SachinPremkumar@users.noreply.github.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* Incorrect error message on login screen-RCF-1254 ; In the global settings page after changing the local values incorrect prompt message is displaying-RCF-1251 (#626)

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* While selecting languages the data entry languages are not reflecting has per the selected languges (#624)

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* RCF-887 - While Onboarding/Updating operator details, Supervisor's Biometrics Onboarding/Update displayed on the page (#623)

* While Onboarding/Updating operator details, Supervisor's Biometrics Onboarding/Update displayed on the page

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update home_page.dart

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update operator_biometric_capture_scan_block_view.dart

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update operator_biometrics_capture_view.dart

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

---------

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Scan button is displaying a Scan now in device settings page (#622)

* Scan button is displaying a Scan now in device settings page

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_ar.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_en.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_fr.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_hi.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_kn.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_ta.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_ar.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_en.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_fr.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_hi.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_kn.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_ta.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_ar.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_en.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_fr.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_hi.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_kn.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_ta.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

---------

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* In the global config settings without making any of the changes Submit button should not enabled (#621)

* In the global config settings without making any of the changes Submit button should not enabled

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

# Conflicts:
#	lib/ui/settings/widgets/global_config_settings_tab.dart

* Simplify button rendering based on enabled state

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update global_config_settings_tab.dart

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

---------

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* RCF-1283 added config propertys for password validation and document size (#636)

* RCF-1283 added config propertys for password validation and document size

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Added config property for age limit

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* resolved code rabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabbit review comment

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Renamed label key

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1311 removed extra overlapping text (#653)

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Should be getting an appropriate error message, If the device is not onboarded (#613)

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* RCF-1283 - Added config properties for hardcoded values (#650)

* RCF-1283  Added mosip.registration.server_profile and mosip.registration.operator.onboarding.bioattributes propertys

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Added config properties for helpTopics urls

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Removed mock test file

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Added config property for biometric env

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Changed server env to qa-base (#658)

* Changed server env to qa-base

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Changed server env

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1300 Implemented blocking of invalid logins after multiple attempts (#641)

* RCF-1300 Implemented blocking of invalid logins after multiple attempts

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

# Conflicts:
#	android/clientmanager/src/main/java/io/mosip/registration/clientmanager/constant/RegistrationConstants.java
#	android/clientmanager/src/main/java/io/mosip/registration/clientmanager/repository/GlobalParamRepository.java
#	assets/l10n/app_ar.arb
#	assets/l10n/app_en.arb
#	assets/l10n/app_fr.arb
#	assets/l10n/app_hi.arb
#	assets/l10n/app_kn.arb
#	assets/l10n/app_ta.arb

* Removed saving new user entry at first login

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* renamed updateLoginAttemptMeta to updateLoginAttemptCount

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1218: Added search/filter option in global config setttings (#635)

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-373 fixed Incorrect error message on login screen (#660)

* RCF-373 fixed Incorrect error message on login screent

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update error messages in app_kn.arb localization file

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Record failed login attempts on authentication error

Log failed login attempts for specific error codes.

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Log failed login attempts on auth errors

Record failed login attempts when an authentication error occurs.

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Fix login error handling and record attempts correctly

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Fix error handling in AuthenticationApi

Refactor error handling and improve code formatting.

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

---------

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* RCF-1301 - Implemented config properties  (#659)

* RCF-1301 added logic for Max no. of days for a packet pending EOD approval beyond which client is frozen for registration

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1301 added logic for Max no. of days for a packet pending EOD approval beyond which client is frozen for registration

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* removed duplicate property

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Added functionality for approved packet pending to be synced to server beyond which client is frozen

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Changed server env to qa-base

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved packet sync or upload time issue

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Changed server env

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Added messages in multi langauge

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Added missed audit log

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Removed unused config property

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* implemented logic for mosip.registration.packet.maximum.count.offline.frequency property

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* removed invalid condition

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1275: added registration packet deletion and packet status job (#642)

* RCF-1275: added registration packet deletion and packet status job

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1275: correct the api names

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1275: reverted the changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1275: reverted the changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1275: reverted the changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* Update serverBaseURL in build.gradle (#662)

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch (#640)

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

---------

Signed-off-by: damodar <damodar.g@cyberpwn.com>
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* RCF-1301 Added config properties (#665)

* Added doc type format config property

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Added properties for audit logs

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Removed unused imports

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Changed Host name value

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1301 Added config properties (#661)

* Changed server env to qa-base

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Changed server env

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Added config property for disk space check

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Added config property for PRID input field length validation

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Added input length validation for UIN and VID field

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Removed Unused logs

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Added default value for _uinLength

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved coderabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Added supervisor_approval_config_flag validation

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* addeding input field length validation depends on the UI spec

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* removed invalid comment

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* returning int value

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1308: added unique id for local value editable text field in global config settings (#666)

* RCF-1308: added unique id for local value editable text field in global config settings

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* review comment fixed

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1278: Editable Cron Job in Scheduled Job Settings (#663)

* RCF-1278: Editable Cron Job in Scheduled Job Settings

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1278: Editable Cron Job in Scheduled Job Settings

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1278: Editable Cron Job in Scheduled Job Settings

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1278: fixed coderabbit changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1278: fixed coderabbit changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1278: fixed coderabbit changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1278: fixed coderabbit changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* review comment fixed

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* review comment fixed

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* review comment fixed

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* review comment fixed

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* review comment fixed

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1302 Added config properties (#669)

* Added fields.to.retain.post.prid.fetch property

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* changed param name

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Added reg_pak_max_cnt_apprv_limit property

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Changed error message

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* changed validatingRegisteredPacketNotApproveCount name to isMaxNotApprovedPacketCountLimitReached

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* MOSIP-44311: Fix and optimize ARC UI automation failures (#671)

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44176:ARC - Run the ARC UI automation in Arab language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

---------

Signed-off-by: damodar <damodar.g@cyberpwn.com>
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* RCF-1302 implemented logic for packet storage location (#672)

* RCF-1302 implemented logic for packet storage location

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* resolved code rabbit reviews

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved coderabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1354: Implemented the Maximum number of days without running the sync and added GPS location validation (#664)

* RCF-1354: Implemented the Maximum number of days without running the sync job and geo-location validation

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* coderabbit review fixed

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* coderabbit review fixed

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* review comment fixed

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* upadted the review comment

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* upadted the review comment

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* upadted the review comment

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* updated the review comments

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* updated the review comments

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added review comment

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* revert the changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* fixed null check issue (#675)

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1277 Added ARC Audit (#667)

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* added geo location denied audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* removed unused audits

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

---------

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* RCF-1277 Implemented logic to add dynamic description with placeholders (#677)

* RCF-1277 Implemented logic to add dynamic description with placeholders

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabbit comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* description taking as arguments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Changed method name

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Renamed the method name

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Changed the logic

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabbit review comment

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabbit review comment

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabbit review comment

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* MOSIP-44176:ARC - Run the ARC UI automation in Arab language (#679)

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44176:ARC - Run the ARC UI automation in Arab language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44176:ARC - Run the ARC UI automation in Arab language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44176:ARC - Run the ARC UI automation in Arab language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44176:ARC - Run the ARC UI automation in Arab language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

---------

Signed-off-by: damodar <damodar.g@cyberpwn.com>
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* RCF-1226 Resolved alignment issue for submit button (#684)

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* MOSIP-44175:ARC - Run the ARC UI automation in French language (#686)

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44176:ARC - Run the ARC UI automation in Arab language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44176:ARC - Run the ARC UI automation in Arab language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44176:ARC - Run the ARC UI automation in Arab language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44176:ARC - Run the ARC UI automation in Arab language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44175:ARC - Run the ARC UI automation in French language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44175:ARC - Run the ARC UI automation in French language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44175:ARC - Run the ARC UI automation in French language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44175:ARC - Run the ARC UI automation in French language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44175:ARC - Run the ARC UI automation in French language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44175:ARC - Run the ARC UI automation in French language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44175:ARC - Run the ARC UI automation in French language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44175:ARC - Run the ARC UI automation in French language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44175:ARC - Run the ARC UI automation in French language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44175:ARC - Run the ARC UI automation in French language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44175:ARC - Run the ARC UI automation in French language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

---------

Signed-off-by: damodar <damodar.g@cyberpwn.com>
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* RCF -1371 : handle the allow once and don't allow behavior.  (#682)

* handle allow onece and don't allow behaviour

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* handle allow onece and don't allow behaviour

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* handle allow onece and don't allow behaviour

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* handle allow onece and don't allow behaviour

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* changed the audit id

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* Added dynamic document log audit desc (#683)

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1242 fixed device settings page alignment issue (#685)

* fixed device settings page alignment issue

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* removed print log

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* [RCF-1393] Added Accessibility ID for Pre-reg id textbox (#687)

* added accessibility id

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added accessibility id

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1257 Resolved re-upload biometric issue after fill all the details taking data from PRID (#688)

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1217 scan button will be visiable even no devices are connected (#691)

* RCF-1217 scan button will be visiable even no devices are connected

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolve code rabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* added SHA pinning for third party actions (#695)

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* [RCF-1294] Added allow backup flag config (#694)

* added allow backup flag config

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added allow backup flag config

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1284 hiding next button in bimetric exception screen (#692)

* RCF-1284 hiding next button in bimetric exception screen

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1284 hiding next button in bimetric exception screen

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1284 hiding next button in bimetric exception screen

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabbit review comment

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* [RCF-1289] : screenshot lock for optical image spoofing prevention (#689)

* screenshot lock for optical images

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* screenshot lock for optical images

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* screenshot lock for optical images

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* fixed review comment

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* fixed review comment

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* fixed review comment

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1277 RCF-1378 Added audit logs (#681)

* RCF-1277 RCF-1378 Added audit logs

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* resolved code rabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* updated REG-EVT-092 audit log description

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1302 implemented config properties (#676)

* RCF-1302 implemented config properties

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabiit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabiit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* showing the popup from UI side with multi language labels

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* added pigeon file in .sh (#697)

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1254 resolved localization issue in global config settings page (#700)

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1243 Resolved user details dashboard alignment issue (#696)

* RCF-1284 hiding next button in bimetric exception screen

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1243 Resolved user details dashboard alignment issue

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1397 resolved Security CBC issue (#701)

* RCF-1397 Security CBC issue

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Created comman file for secure storage configure

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1394 : Added semantics keys for automation  (#693)

* added semantic key for automation

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added semantic key for automation

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* fixed review comment

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* reverted review comment changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* reverted review comment changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* resolved merge conflict

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* [RCF-1368] added dropdown list in logged language  (#690)

* added dropdown list in logged lang

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added dropdown list in logged lang

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added dropdown list in logged lang

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added dropdown list in logged lang

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* reverted review comment changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1242 fixed device settings page alignment issue (#702)

* fixed device settings page alignment issue

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* removed print log

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1242 resolved alignemnt issue in device settings page

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* MOSIP-44485:ARC - Export packet to local device (#699)

* MOSIP-44485:ARC - Export packet to local device

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44485:ARC - Export packet to local device

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44485:ARC - Export packet to local device

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44485:ARC - Export packet to local device

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP:44534-ARC: Refactored report and added Known Issue support in Emailable Report.

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* RCF-1254 resolved localization issue in global config settings page (#700)

Signed-off-by: Madhuravas reddy <madhu@mosip.io>
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* RCF-1243 Resolved user details dashboard alignment issue (#696)

* RCF-1284 hiding next button in bimetric exception screen

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1243 Resolved user details dashboard alignment issue

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* RCF-1397 resolved Security CBC issue (#701)

* RCF-1397 Security CBC issue

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Created comman file for secure storage configure

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* RCF-1394 : Added semantics keys for automation  (#693)

* added semantic key for automation

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added semantic key for automation

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* fixed review comment

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* reverted review comment changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* reverted review comment changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* resolved merge conflict

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* [RCF-1368] added dropdown list in logged language  (#690)

* added dropdown list in logged lang

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added dropdown list in logged lang

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added dropdown list in logged lang

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added dropdown list in logged lang

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* reverted review comment changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* RCF-1242 fixed device settings page alignment issue (#702)

* fixed device settings page alignment issue

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* removed print log

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1242 resolved alignemnt issue in device settings page

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44534-ARC: Refactored report and added Known Issue support in Emailable Report.

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44534-ARC: Refactored report and added Known Issue support in Emailable Report.

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44534-ARC: Refactored report and added Known Issue support in Emailable Report.

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

---------

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>
Signed-off-by: Madhuravas reddy <madhu@mosip.io>
Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: Madhuravas reddy <madhu@mosip.io>
Co-authored-by: Sachin S  P <52343650+SachinPremkumar@users.noreply.github.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1303 Added config for capture time out (#703)

* RCF-1303 Added config for capture time out

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Added int value check

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Created constant value

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* taking biometric capture timeout via BiometricsService

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1370 button clickable issue fixed. (#705)

* button clickable issue fixed

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* button clickable issue fixed

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1293 updated activity permissions (#706)

* RCF-1293 updated activitie permissions

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1293 resolved code rabit error

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1225 : Implemented the Match SDK (#678)

* RCF-1225: match sdk implementation

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1225: match sdk implementation

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added new .aar file

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added .dex file

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* implemented with dex

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added .aar compatible with .dex

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* implemented compile time dex converter

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* implemented compile time dex converter

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* implemented compile time dex converter

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* reverted the code rabbit changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* reverted the code rabbit changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* reverted the code rabbit changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* rename the method

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* reverted review comment changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* rename the method name

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* modify the config based sdk load

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* modify the config based sdk load

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* reverted the changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* refactor the code

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* refactor the code

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* refactor the code

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* refactor the code

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1408 Revert the security changes enable screen lock for optical images (#709)

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1412 Resolved packet export issue (#710)

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1410: Packets are failing due to passing document value instead of type (#711)

* fixed packet failing issue

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* fixed packet failing issue

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* fixed packet failing issue

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* refactor the code

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* refactor the code

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* refactor the code

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* refactor the code

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* MOSIP-44310: Fix and optimize ARC UI automation failures. (#712)

* MOSIP-44310:Fix and optimize ARC UI automation failures.

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44310:Fix and optimize ARC UI automation failures.

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44310:Fix and optimize ARC UI automation failures.

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44310:Fix and optimize ARC UI automation failures.

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44310:Fix and optimize ARC UI automation failures.

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

---------

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

---------

Signed-off-by: damodar <damodar.g@cyberpwn.com>
Signed-off-by: Ivanmeneges <ivan.anil016@gmail.com>
Signed-off-by: Praful Rakhade <prafulrakhade02@gmail.com>
Signed-off-by: Madhuravas reddy <madhu@mosip.io>
Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>
Co-authored-by: damodarguru <124761463+damodarguru@users.noreply.github.com>
Co-authored-by: Ivanmeneges <ivan.anil016@gmail.com>
Co-authored-by: Madhuravas reddy <madhu@mosip.io>
Co-authored-by: Praful Rakhade <prafulrakhade02@gmail.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: Rakshithasai123 <rakshithasai2002@gmail.com>
SachinPremkumar added a commit to SachinPremkumar/android-registration-client that referenced this pull request Apr 17, 2026
* MOSIP-42652: ARC UI automation (#620)

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

---------

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* [MOSIP-42820] prechecks enabled and severbaseurl to be dynamic  (#631)

* [MOSIP-42820] prechecks enabled and severbaseurl to be dynamic

Signed-off-by: Ivanmeneges <ivan.anil016@gmail.com>

* [MOSIP-42820] Updated server base build-android.yml

Signed-off-by: Ivanmeneges <ivan.anil016@gmail.com>

* Update push_trigger.yml

Signed-off-by: Ivanmeneges <ivan.anil016@gmail.com>

* Update build-android.yml

Signed-off-by: Ivanmeneges <ivan.anil016@gmail.com>

* Update push_trigger.yml

Signed-off-by: Ivanmeneges <ivan.anil016@gmail.com>

---------

Signed-off-by: Ivanmeneges <ivan.anil016@gmail.com>

* [MOSIP-42820] prechecks enabled and severbaseurl to be dynamic (#651)

* [MOSIP-42820] Refactor GitHub Actions workflow for manual build

Updated workflow to trigger manually and added DCO validation.

Signed-off-by: Ivanmeneges <ivan.anil016@gmail.com>

* Refactor GitHub Actions workflow for Android build

Signed-off-by: Ivanmeneges <ivan.anil016@gmail.com>

* Fix indentation for inputs in build-android.yml

Signed-off-by: Ivanmeneges <ivan.anil016@gmail.com>

---------

Signed-off-by: Ivanmeneges <ivan.anil016@gmail.com>

* RCF-1305 Cherry-pick from release-1.0.x to develop (#656)

* [DSD-9373] Bump version from 0.0.1 to 1.0.0 (#638)

* [DSD-9373] Bump version from 0.0.1 to 1.0.0

Signed-off-by: Praful Rakhade <prafulrakhade02@gmail.com>

* [DSD-9373] Update JAR file version in README

Signed-off-by: Praful Rakhade <prafulrakhade02@gmail.com>

---------

Signed-off-by: Praful Rakhade <prafulrakhade02@gmail.com>
Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1282 fixed operator onboarding timeout issue (#634)

* fixed operator onboarding timeout

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* fixed operator onboarding timeout

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* updated the review cahnges

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* updated the review cahnges

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* updated the review cahnges

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>
Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* [RCF-1273] Added Unit Test Cases (#618)

* added unit test cases

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added unit test cases

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added unit test cases review

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added unit test cases review

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added unit test cases review

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>
Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* MOSIP-43619 Added technical documentation for ARC 1.0.0 release features (#617)

* MOSIP-43619 Added technical documentation for ARC 1.0.0 release features

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Changed new branch github url in readme file

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Changed base URL qa-base to qa-core and added technical documents (#542)

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* fixed readmd file changes

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* resolved code rabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* resolved code rabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* resolved code rabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Praful Rakhade <prafulrakhade02@gmail.com>
Signed-off-by: Madhuravas reddy <madhu@mosip.io>
Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: Praful Rakhade <prafulrakhade02@gmail.com>
Co-authored-by: Sachin S  P <52343650+SachinPremkumar@users.noreply.github.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* Incorrect error message on login screen-RCF-1254 ; In the global settings page after changing the local values incorrect prompt message is displaying-RCF-1251 (#626)

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* While selecting languages the data entry languages are not reflecting has per the selected languges (#624)

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* RCF-887 - While Onboarding/Updating operator details, Supervisor's Biometrics Onboarding/Update displayed on the page (#623)

* While Onboarding/Updating operator details, Supervisor's Biometrics Onboarding/Update displayed on the page

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update home_page.dart

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update operator_biometric_capture_scan_block_view.dart

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update operator_biometrics_capture_view.dart

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

---------

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Scan button is displaying a Scan now in device settings page (#622)

* Scan button is displaying a Scan now in device settings page

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_ar.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_en.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_fr.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_hi.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_kn.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_ta.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_ar.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_en.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_fr.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_hi.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_kn.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_ta.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_ar.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_en.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_fr.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_hi.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_kn.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_ta.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

---------

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* In the global config settings without making any of the changes Submit button should not enabled (#621)

* In the global config settings without making any of the changes Submit button should not enabled

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Simplify button rendering based on enabled state

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update global_config_settings_tab.dart

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

---------

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* RCF-1283 added config propertys for password validation and document size (#636)

* RCF-1283 added config propertys for password validation and document size

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Added config property for age limit

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* resolved code rabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabbit review comment

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Renamed label key

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1311 removed extra overlapping text (#653)

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Should be getting an appropriate error message, If the device is not onboarded (#613)

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* RCF-1283 - Added config properties for hardcoded values (#650)

* RCF-1283  Added mosip.registration.server_profile and mosip.registration.operator.onboarding.bioattributes propertys

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Added config properties for helpTopics urls

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Removed mock test file

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Added config property for biometric env

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Changed server env to qa-base (#658)

* Changed server env to qa-base

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Changed server env

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1300 Implemented blocking of invalid logins after multiple attempts (#641)

* RCF-1300 Implemented blocking of invalid logins after multiple attempts

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Removed saving new user entry at first login

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* renamed updateLoginAttemptMeta to updateLoginAttemptCount

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1218: Added search/filter option in global config setttings (#635)

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-373 fixed Incorrect error message on login screen (#660)

* RCF-373 fixed Incorrect error message on login screent

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update error messages in app_kn.arb localization file

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Record failed login attempts on authentication error

Log failed login attempts for specific error codes.

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Log failed login attempts on auth errors

Record failed login attempts when an authentication error occurs.

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Fix login error handling and record attempts correctly

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Fix error handling in AuthenticationApi

Refactor error handling and improve code formatting.

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

---------

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* RCF-1301 - Implemented config properties  (#659)

* RCF-1301 added logic for Max no. of days for a packet pending EOD approval beyond which client is frozen for registration

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1301 added logic for Max no. of days for a packet pending EOD approval beyond which client is frozen for registration

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* removed duplicate property

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Added functionality for approved packet pending to be synced to server beyond which client is frozen

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Changed server env to qa-base

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved packet sync or upload time issue

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Changed server env

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Added messages in multi langauge

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Added missed audit log

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Removed unused config property

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* implemented logic for mosip.registration.packet.maximum.count.offline.frequency property

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* removed invalid condition

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1275: added registration packet deletion and packet status job (#642)

* RCF-1275: added registration packet deletion and packet status job

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1275: correct the api names

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1275: reverted the changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1275: reverted the changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1275: reverted the changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* Update serverBaseURL in build.gradle (#662)

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch (#640)

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

---------

Signed-off-by: damodar <damodar.g@cyberpwn.com>
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* RCF-1301 Added config properties (#665)

* Added doc type format config property

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Added properties for audit logs

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Removed unused imports

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Changed Host name value

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1301 Added config properties (#661)

* Changed server env to qa-base

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Changed server env

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Added config property for disk space check

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Added config property for PRID input field length validation

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Added input length validation for UIN and VID field

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Removed Unused logs

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Added default value for _uinLength

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved coderabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Added supervisor_approval_config_flag validation

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* addeding input field length validation depends on the UI spec

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* removed invalid comment

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* returning int value

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1308: added unique id for local value editable text field in global config settings (#666)

* RCF-1308: added unique id for local value editable text field in global config settings

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* review comment fixed

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1278: Editable Cron Job in Scheduled Job Settings (#663)

* RCF-1278: Editable Cron Job in Scheduled Job Settings

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1278: Editable Cron Job in Scheduled Job Settings

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1278: Editable Cron Job in Scheduled Job Settings

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1278: fixed coderabbit changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1278: fixed coderabbit changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1278: fixed coderabbit changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1278: fixed coderabbit changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* review comment fixed

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* review comment fixed

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* review comment fixed

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* review comment fixed

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* review comment fixed

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1302 Added config properties (#669)

* Added fields.to.retain.post.prid.fetch property

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* changed param name

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Added reg_pak_max_cnt_apprv_limit property

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Changed error message

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* changed validatingRegisteredPacketNotApproveCount name to isMaxNotApprovedPacketCountLimitReached

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* MOSIP-44311: Fix and optimize ARC UI automation failures (#671)

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44176:ARC - Run the ARC UI automation in Arab language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

---------

Signed-off-by: damodar <damodar.g@cyberpwn.com>
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* RCF-1302 implemented logic for packet storage location (#672)

* RCF-1302 implemented logic for packet storage location

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* resolved code rabbit reviews

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved coderabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1354: Implemented the Maximum number of days without running the sync and added GPS location validation (#664)

* RCF-1354: Implemented the Maximum number of days without running the sync job and geo-location validation

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* coderabbit review fixed

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* coderabbit review fixed

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* review comment fixed

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* upadted the review comment

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* upadted the review comment

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* upadted the review comment

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* updated the review comments

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* updated the review comments

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added review comment

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* revert the changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* fixed null check issue (#675)

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1277 Added ARC Audit (#667)

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* added geo location denied audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* removed unused audits

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

---------

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* RCF-1277 Implemented logic to add dynamic description with placeholders (#677)

* RCF-1277 Implemented logic to add dynamic description with placeholders

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabbit comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* description taking as arguments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Changed method name

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Renamed the method name

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Changed the logic

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabbit review comment

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabbit review comment

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabbit review comment

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* MOSIP-44176:ARC - Run the ARC UI automation in Arab language (#679)

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44176:ARC - Run the ARC UI automation in Arab language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44176:ARC - Run the ARC UI automation in Arab language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44176:ARC - Run the ARC UI automation in Arab language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44176:ARC - Run the ARC UI automation in Arab language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

---------

Signed-off-by: damodar <damodar.g@cyberpwn.com>
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* RCF-1226 Resolved alignment issue for submit button (#684)

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* MOSIP-44175:ARC - Run the ARC UI automation in French language (#686)

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44176:ARC - Run the ARC UI automation in Arab language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44176:ARC - Run the ARC UI automation in Arab language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44176:ARC - Run the ARC UI automation in Arab language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44176:ARC - Run the ARC UI automation in Arab language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44175:ARC - Run the ARC UI automation in French language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44175:ARC - Run the ARC UI automation in French language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44175:ARC - Run the ARC UI automation in French language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44175:ARC - Run the ARC UI automation in French language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44175:ARC - Run the ARC UI automation in French language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44175:ARC - Run the ARC UI automation in French language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44175:ARC - Run the ARC UI automation in French language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44175:ARC - Run the ARC UI automation in French language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44175:ARC - Run the ARC UI automation in French language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44175:ARC - Run the ARC UI automation in French language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44175:ARC - Run the ARC UI automation in French language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

---------

Signed-off-by: damodar <damodar.g@cyberpwn.com>
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* RCF -1371 : handle the allow once and don't allow behavior.  (#682)

* handle allow onece and don't allow behaviour

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* handle allow onece and don't allow behaviour

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* handle allow onece and don't allow behaviour

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* handle allow onece and don't allow behaviour

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* changed the audit id

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* Added dynamic document log audit desc (#683)

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1242 fixed device settings page alignment issue (#685)

* fixed device settings page alignment issue

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* removed print log

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* [RCF-1393] Added Accessibility ID for Pre-reg id textbox (#687)

* added accessibility id

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added accessibility id

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1257 Resolved re-upload biometric issue after fill all the details taking data from PRID (#688)

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1217 scan button will be visiable even no devices are connected (#691)

* RCF-1217 scan button will be visiable even no devices are connected

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolve code rabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* added SHA pinning for third party actions (#695)

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* [RCF-1294] Added allow backup flag config (#694)

* added allow backup flag config

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added allow backup flag config

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1284 hiding next button in bimetric exception screen (#692)

* RCF-1284 hiding next button in bimetric exception screen

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1284 hiding next button in bimetric exception screen

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1284 hiding next button in bimetric exception screen

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabbit review comment

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* [RCF-1289] : screenshot lock for optical image spoofing prevention (#689)

* screenshot lock for optical images

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* screenshot lock for optical images

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* screenshot lock for optical images

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* fixed review comment

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* fixed review comment

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* fixed review comment

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1277 RCF-1378 Added audit logs (#681)

* RCF-1277 RCF-1378 Added audit logs

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* resolved code rabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* updated REG-EVT-092 audit log description

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1302 implemented config properties (#676)

* RCF-1302 implemented config properties

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabiit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabiit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* showing the popup from UI side with multi language labels

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* added pigeon file in .sh (#697)

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1254 resolved localization issue in global config settings page (#700)

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1243 Resolved user details dashboard alignment issue (#696)

* RCF-1284 hiding next button in bimetric exception screen

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1243 Resolved user details dashboard alignment issue

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1397 resolved Security CBC issue (#701)

* RCF-1397 Security CBC issue

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Created comman file for secure storage configure

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1394 : Added semantics keys for automation  (#693)

* added semantic key for automation

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added semantic key for automation

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* fixed review comment

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* reverted review comment changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* reverted review comment changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* resolved merge conflict

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* [RCF-1368] added dropdown list in logged language  (#690)

* added dropdown list in logged lang

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added dropdown list in logged lang

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added dropdown list in logged lang

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added dropdown list in logged lang

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* reverted review comment changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1242 fixed device settings page alignment issue (#702)

* fixed device settings page alignment issue

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* removed print log

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1242 resolved alignemnt issue in device settings page

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* MOSIP-44485:ARC - Export packet to local device (#699)

* MOSIP-44485:ARC - Export packet to local device

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44485:ARC - Export packet to local device

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44485:ARC - Export packet to local device

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44485:ARC - Export packet to local device

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP:44534-ARC: Refactored report and added Known Issue support in Emailable Report.

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* RCF-1254 resolved localization issue in global config settings page (#700)

Signed-off-by: Madhuravas reddy <madhu@mosip.io>
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* RCF-1243 Resolved user details dashboard alignment issue (#696)

* RCF-1284 hiding next button in bimetric exception screen

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1243 Resolved user details dashboard alignment issue

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* RCF-1397 resolved Security CBC issue (#701)

* RCF-1397 Security CBC issue

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Created comman file for secure storage configure

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* RCF-1394 : Added semantics keys for automation  (#693)

* added semantic key for automation

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added semantic key for automation

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* fixed review comment

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* reverted review comment changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* reverted review comment changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* resolved merge conflict

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* [RCF-1368] added dropdown list in logged language  (#690)

* added dropdown list in logged lang

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added dropdown list in logged lang

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added dropdown list in logged lang

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added dropdown list in logged lang

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* reverted review comment changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* RCF-1242 fixed device settings page alignment issue (#702)

* fixed device settings page alignment issue

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* removed print log

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1242 resolved alignemnt issue in device settings page

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44534-ARC: Refactored report and added Known Issue support in Emailable Report.

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44534-ARC: Refactored report and added Known Issue support in Emailable Report.

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44534-ARC: Refactored report and added Known Issue support in Emailable Report.

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

---------

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>
Signed-off-by: Madhuravas reddy <madhu@mosip.io>
Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: Madhuravas reddy <madhu@mosip.io>
Co-authored-by: Sachin S  P <52343650+SachinPremkumar@users.noreply.github.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1303 Added config for capture time out (#703)

* RCF-1303 Added config for capture time out

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Added int value check

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Created constant value

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* taking biometric capture timeout via BiometricsService

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1370 button clickable issue fixed. (#705)

* button clickable issue fixed

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* button clickable issue fixed

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1293 updated activity permissions (#706)

* RCF-1293 updated activitie permissions

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1293 resolved code rabit error

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1225 : Implemented the Match SDK (#678)

* RCF-1225: match sdk implementation

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1225: match sdk implementation

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added new .aar file

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added .dex file

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* implemented with dex

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added .aar compatible with .dex

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* implemented compile time dex converter

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* implemented compile time dex converter

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* implemented compile time dex converter

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* reverted the code rabbit changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* reverted the code rabbit changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* reverted the code rabbit changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* rename the method

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* reverted review comment changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* rename the method name

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* modify the config based sdk load

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* modify the config based sdk load

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* reverted the changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* refactor the code

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* refactor the code

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* refactor the code

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* refactor the code

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1408 Revert the security changes enable screen lock for optical images (#709)

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1412 Resolved packet export issue (#710)

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1410: Packets are failing due to passing document value instead of type (#711)

* fixed packet failing issue

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* fixed packet failing issue

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* fixed packet failing issue

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* refactor the code

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* refactor the code

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* refactor the code

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* refactor the code

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* MOSIP-44310: Fix and optimize ARC UI automation failures. (#712)

* MOSIP-44310:Fix and optimize ARC UI automation failures.

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44310:Fix and optimize ARC UI automation failures.

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44310:Fix and optimize ARC UI automation failures.

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44310:Fix and optimize ARC UI automation failures.

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44310:Fix and optimize ARC UI automation failures.

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

---------

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

---------

Signed-off-by: damodar <damodar.g@cyberpwn.com>
Signed-off-by: Ivanmeneges <ivan.anil016@gmail.com>
Signed-off-by: Praful Rakhade <prafulrakhade02@gmail.com>
Signed-off-by: Madhuravas reddy <madhu@mosip.io>
Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>
Co-authored-by: damodarguru <124761463+damodarguru@users.noreply.github.com>
Co-authored-by: Ivanmeneges <ivan.anil016@gmail.com>
Co-authored-by: Madhuravas reddy <madhu@mosip.io>
Co-authored-by: Praful Rakhade <prafulrakhade02@gmail.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: Rakshithasai123 <rakshithasai2002@gmail.com>
Prafulrakhade added a commit that referenced this pull request May 20, 2026
* MOSIP-42652: ARC UI automation (#620)

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

---------

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* [MOSIP-42820] prechecks enabled and severbaseurl to be dynamic  (#631)

* [MOSIP-42820] prechecks enabled and severbaseurl to be dynamic

Signed-off-by: Ivanmeneges <ivan.anil016@gmail.com>

* [MOSIP-42820] Updated server base build-android.yml

Signed-off-by: Ivanmeneges <ivan.anil016@gmail.com>

* Update push_trigger.yml

Signed-off-by: Ivanmeneges <ivan.anil016@gmail.com>

* Update build-android.yml

Signed-off-by: Ivanmeneges <ivan.anil016@gmail.com>

* Update push_trigger.yml

Signed-off-by: Ivanmeneges <ivan.anil016@gmail.com>

---------

Signed-off-by: Ivanmeneges <ivan.anil016@gmail.com>

* [MOSIP-42820] prechecks enabled and severbaseurl to be dynamic (#651)

* [MOSIP-42820] Refactor GitHub Actions workflow for manual build

Updated workflow to trigger manually and added DCO validation.

Signed-off-by: Ivanmeneges <ivan.anil016@gmail.com>

* Refactor GitHub Actions workflow for Android build

Signed-off-by: Ivanmeneges <ivan.anil016@gmail.com>

* Fix indentation for inputs in build-android.yml

Signed-off-by: Ivanmeneges <ivan.anil016@gmail.com>

---------

Signed-off-by: Ivanmeneges <ivan.anil016@gmail.com>

* RCF-1305 Cherry-pick from release-1.0.x to develop (#656)

* [DSD-9373] Bump version from 0.0.1 to 1.0.0 (#638)

* [DSD-9373] Bump version from 0.0.1 to 1.0.0

Signed-off-by: Praful Rakhade <prafulrakhade02@gmail.com>

* [DSD-9373] Update JAR file version in README

Signed-off-by: Praful Rakhade <prafulrakhade02@gmail.com>

---------

Signed-off-by: Praful Rakhade <prafulrakhade02@gmail.com>
Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1282 fixed operator onboarding timeout issue (#634)

* fixed operator onboarding timeout

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* fixed operator onboarding timeout

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* updated the review cahnges

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* updated the review cahnges

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* updated the review cahnges

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>
Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* [RCF-1273] Added Unit Test Cases (#618)

* added unit test cases

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added unit test cases

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added unit test cases review

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added unit test cases review

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added unit test cases review

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>
Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* MOSIP-43619 Added technical documentation for ARC 1.0.0 release features (#617)

* MOSIP-43619 Added technical documentation for ARC 1.0.0 release features

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Changed new branch github url in readme file

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Changed base URL qa-base to qa-core and added technical documents (#542)

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* fixed readmd file changes

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* resolved code rabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* resolved code rabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* resolved code rabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Praful Rakhade <prafulrakhade02@gmail.com>
Signed-off-by: Madhuravas reddy <madhu@mosip.io>
Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: Praful Rakhade <prafulrakhade02@gmail.com>
Co-authored-by: Sachin S  P <52343650+SachinPremkumar@users.noreply.github.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* Incorrect error message on login screen-RCF-1254 ; In the global settings page after changing the local values incorrect prompt message is displaying-RCF-1251 (#626)

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* While selecting languages the data entry languages are not reflecting has per the selected languges (#624)

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* RCF-887 - While Onboarding/Updating operator details, Supervisor's Biometrics Onboarding/Update displayed on the page (#623)

* While Onboarding/Updating operator details, Supervisor's Biometrics Onboarding/Update displayed on the page

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update home_page.dart

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update operator_biometric_capture_scan_block_view.dart

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update operator_biometrics_capture_view.dart

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

---------

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Scan button is displaying a Scan now in device settings page (#622)

* Scan button is displaying a Scan now in device settings page

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_ar.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_en.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_fr.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_hi.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_kn.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_ta.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_ar.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_en.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_fr.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_hi.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_kn.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_ta.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_ar.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_en.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_fr.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_hi.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_kn.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update app_ta.arb

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

---------

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* In the global config settings without making any of the changes Submit button should not enabled (#621)

* In the global config settings without making any of the changes Submit button should not enabled

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

# Conflicts:
#	lib/ui/settings/widgets/global_config_settings_tab.dart

* Simplify button rendering based on enabled state

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update global_config_settings_tab.dart

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

---------

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* RCF-1283 added config propertys for password validation and document size (#636)

* RCF-1283 added config propertys for password validation and document size

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Added config property for age limit

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* resolved code rabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabbit review comment

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Renamed label key

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1311 removed extra overlapping text (#653)

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Should be getting an appropriate error message, If the device is not onboarded (#613)

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* RCF-1283 - Added config properties for hardcoded values (#650)

* RCF-1283  Added mosip.registration.server_profile and mosip.registration.operator.onboarding.bioattributes propertys

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Added config properties for helpTopics urls

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Removed mock test file

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Added config property for biometric env

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Changed server env to qa-base (#658)

* Changed server env to qa-base

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Changed server env

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1300 Implemented blocking of invalid logins after multiple attempts (#641)

* RCF-1300 Implemented blocking of invalid logins after multiple attempts

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

# Conflicts:
#	android/clientmanager/src/main/java/io/mosip/registration/clientmanager/constant/RegistrationConstants.java
#	android/clientmanager/src/main/java/io/mosip/registration/clientmanager/repository/GlobalParamRepository.java
#	assets/l10n/app_ar.arb
#	assets/l10n/app_en.arb
#	assets/l10n/app_fr.arb
#	assets/l10n/app_hi.arb
#	assets/l10n/app_kn.arb
#	assets/l10n/app_ta.arb

* Removed saving new user entry at first login

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* renamed updateLoginAttemptMeta to updateLoginAttemptCount

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1218: Added search/filter option in global config setttings (#635)

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-373 fixed Incorrect error message on login screen (#660)

* RCF-373 fixed Incorrect error message on login screent

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Update error messages in app_kn.arb localization file

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Record failed login attempts on authentication error

Log failed login attempts for specific error codes.

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Log failed login attempts on auth errors

Record failed login attempts when an authentication error occurs.

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Fix login error handling and record attempts correctly

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Fix error handling in AuthenticationApi

Refactor error handling and improve code formatting.

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

---------

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* RCF-1301 - Implemented config properties  (#659)

* RCF-1301 added logic for Max no. of days for a packet pending EOD approval beyond which client is frozen for registration

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1301 added logic for Max no. of days for a packet pending EOD approval beyond which client is frozen for registration

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* removed duplicate property

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Added functionality for approved packet pending to be synced to server beyond which client is frozen

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Changed server env to qa-base

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved packet sync or upload time issue

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Changed server env

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Added messages in multi langauge

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Added missed audit log

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Removed unused config property

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* implemented logic for mosip.registration.packet.maximum.count.offline.frequency property

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* removed invalid condition

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1275: added registration packet deletion and packet status job (#642)

* RCF-1275: added registration packet deletion and packet status job

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1275: correct the api names

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1275: reverted the changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1275: reverted the changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1275: reverted the changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* Update serverBaseURL in build.gradle (#662)

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch (#640)

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

---------

Signed-off-by: damodar <damodar.g@cyberpwn.com>
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* RCF-1301 Added config properties (#665)

* Added doc type format config property

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Added properties for audit logs

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Removed unused imports

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Changed Host name value

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1301 Added config properties (#661)

* Changed server env to qa-base

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Changed server env

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Added config property for disk space check

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Added config property for PRID input field length validation

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Added input length validation for UIN and VID field

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Removed Unused logs

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Added default value for _uinLength

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved coderabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Added supervisor_approval_config_flag validation

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* addeding input field length validation depends on the UI spec

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* removed invalid comment

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* returning int value

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1308: added unique id for local value editable text field in global config settings (#666)

* RCF-1308: added unique id for local value editable text field in global config settings

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* review comment fixed

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1278: Editable Cron Job in Scheduled Job Settings (#663)

* RCF-1278: Editable Cron Job in Scheduled Job Settings

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1278: Editable Cron Job in Scheduled Job Settings

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1278: Editable Cron Job in Scheduled Job Settings

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1278: fixed coderabbit changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1278: fixed coderabbit changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1278: fixed coderabbit changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1278: fixed coderabbit changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* review comment fixed

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* review comment fixed

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* review comment fixed

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* review comment fixed

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* review comment fixed

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1302 Added config properties (#669)

* Added fields.to.retain.post.prid.fetch property

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* changed param name

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Added reg_pak_max_cnt_apprv_limit property

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Changed error message

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* changed validatingRegisteredPacketNotApproveCount name to isMaxNotApprovedPacketCountLimitReached

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* MOSIP-44311: Fix and optimize ARC UI automation failures (#671)

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44176:ARC - Run the ARC UI automation in Arab language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

---------

Signed-off-by: damodar <damodar.g@cyberpwn.com>
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* RCF-1302 implemented logic for packet storage location (#672)

* RCF-1302 implemented logic for packet storage location

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* resolved code rabbit reviews

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved coderabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1354: Implemented the Maximum number of days without running the sync and added GPS location validation (#664)

* RCF-1354: Implemented the Maximum number of days without running the sync job and geo-location validation

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* coderabbit review fixed

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* coderabbit review fixed

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* review comment fixed

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* upadted the review comment

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* upadted the review comment

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* upadted the review comment

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* updated the review comments

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* updated the review comments

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added review comment

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* revert the changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* fixed null check issue (#675)

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1277 Added ARC Audit (#667)

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* Added ARC Audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* added geo location denied audit

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* removed unused audits

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

---------

Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>

* RCF-1277 Implemented logic to add dynamic description with placeholders (#677)

* RCF-1277 Implemented logic to add dynamic description with placeholders

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabbit comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* description taking as arguments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Changed method name

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Renamed the method name

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Changed the logic

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabbit review comment

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabbit review comment

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabbit review comment

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* MOSIP-44176:ARC - Run the ARC UI automation in Arab language (#679)

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44176:ARC - Run the ARC UI automation in Arab language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44176:ARC - Run the ARC UI automation in Arab language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44176:ARC - Run the ARC UI automation in Arab language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44176:ARC - Run the ARC UI automation in Arab language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

---------

Signed-off-by: damodar <damodar.g@cyberpwn.com>
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* RCF-1226 Resolved alignment issue for submit button (#684)

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* MOSIP-44175:ARC - Run the ARC UI automation in French language (#686)

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-42652: ARC UI automation

Signed-off-by: damodar <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-43667:ARC UI automation add testcases and move to develop branch

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44176:ARC - Run the ARC UI automation in Arab language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44311:Fix and optimize ARC UI automation failures

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44176:ARC - Run the ARC UI automation in Arab language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44176:ARC - Run the ARC UI automation in Arab language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44176:ARC - Run the ARC UI automation in Arab language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44175:ARC - Run the ARC UI automation in French language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44175:ARC - Run the ARC UI automation in French language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44175:ARC - Run the ARC UI automation in French language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44175:ARC - Run the ARC UI automation in French language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44175:ARC - Run the ARC UI automation in French language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44175:ARC - Run the ARC UI automation in French language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44175:ARC - Run the ARC UI automation in French language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44175:ARC - Run the ARC UI automation in French language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44175:ARC - Run the ARC UI automation in French language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44175:ARC - Run the ARC UI automation in French language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44175:ARC - Run the ARC UI automation in French language

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

---------

Signed-off-by: damodar <damodar.g@cyberpwn.com>
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* RCF -1371 : handle the allow once and don't allow behavior.  (#682)

* handle allow onece and don't allow behaviour

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* handle allow onece and don't allow behaviour

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* handle allow onece and don't allow behaviour

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* handle allow onece and don't allow behaviour

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* changed the audit id

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* Added dynamic document log audit desc (#683)

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1242 fixed device settings page alignment issue (#685)

* fixed device settings page alignment issue

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* removed print log

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* [RCF-1393] Added Accessibility ID for Pre-reg id textbox (#687)

* added accessibility id

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added accessibility id

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1257 Resolved re-upload biometric issue after fill all the details taking data from PRID (#688)

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1217 scan button will be visiable even no devices are connected (#691)

* RCF-1217 scan button will be visiable even no devices are connected

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolve code rabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* added SHA pinning for third party actions (#695)

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* [RCF-1294] Added allow backup flag config (#694)

* added allow backup flag config

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added allow backup flag config

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1284 hiding next button in bimetric exception screen (#692)

* RCF-1284 hiding next button in bimetric exception screen

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1284 hiding next button in bimetric exception screen

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1284 hiding next button in bimetric exception screen

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabbit review comment

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* [RCF-1289] : screenshot lock for optical image spoofing prevention (#689)

* screenshot lock for optical images

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* screenshot lock for optical images

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* screenshot lock for optical images

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* fixed review comment

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* fixed review comment

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* fixed review comment

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1277 RCF-1378 Added audit logs (#681)

* RCF-1277 RCF-1378 Added audit logs

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* resolved code rabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* updated REG-EVT-092 audit log description

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1302 implemented config properties (#676)

* RCF-1302 implemented config properties

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabiit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabiit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* showing the popup from UI side with multi language labels

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* added pigeon file in .sh (#697)

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1254 resolved localization issue in global config settings page (#700)

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1243 Resolved user details dashboard alignment issue (#696)

* RCF-1284 hiding next button in bimetric exception screen

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1243 Resolved user details dashboard alignment issue

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1397 resolved Security CBC issue (#701)

* RCF-1397 Security CBC issue

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Created comman file for secure storage configure

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1394 : Added semantics keys for automation  (#693)

* added semantic key for automation

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added semantic key for automation

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* fixed review comment

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* reverted review comment changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* reverted review comment changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* resolved merge conflict

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* [RCF-1368] added dropdown list in logged language  (#690)

* added dropdown list in logged lang

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added dropdown list in logged lang

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added dropdown list in logged lang

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added dropdown list in logged lang

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* reverted review comment changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1242 fixed device settings page alignment issue (#702)

* fixed device settings page alignment issue

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* removed print log

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1242 resolved alignemnt issue in device settings page

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* MOSIP-44485:ARC - Export packet to local device (#699)

* MOSIP-44485:ARC - Export packet to local device

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44485:ARC - Export packet to local device

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44485:ARC - Export packet to local device

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44485:ARC - Export packet to local device

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP:44534-ARC: Refactored report and added Known Issue support in Emailable Report.

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* RCF-1254 resolved localization issue in global config settings page (#700)

Signed-off-by: Madhuravas reddy <madhu@mosip.io>
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* RCF-1243 Resolved user details dashboard alignment issue (#696)

* RCF-1284 hiding next button in bimetric exception screen

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1243 Resolved user details dashboard alignment issue

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved code rabbit review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* RCF-1397 resolved Security CBC issue (#701)

* RCF-1397 Security CBC issue

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Created comman file for secure storage configure

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* RCF-1394 : Added semantics keys for automation  (#693)

* added semantic key for automation

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added semantic key for automation

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* fixed review comment

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* reverted review comment changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* reverted review comment changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* resolved merge conflict

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* [RCF-1368] added dropdown list in logged language  (#690)

* added dropdown list in logged lang

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added dropdown list in logged lang

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added dropdown list in logged lang

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added dropdown list in logged lang

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* reverted review comment changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* RCF-1242 fixed device settings page alignment issue (#702)

* fixed device settings page alignment issue

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* removed print log

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1242 resolved alignemnt issue in device settings page

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Resolved review comments

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44534-ARC: Refactored report and added Known Issue support in Emailable Report.

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44534-ARC: Refactored report and added Known Issue support in Emailable Report.

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44534-ARC: Refactored report and added Known Issue support in Emailable Report.

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

---------

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>
Signed-off-by: Madhuravas reddy <madhu@mosip.io>
Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: Madhuravas reddy <madhu@mosip.io>
Co-authored-by: Sachin S  P <52343650+SachinPremkumar@users.noreply.github.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1303 Added config for capture time out (#703)

* RCF-1303 Added config for capture time out

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Added int value check

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* Created constant value

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* taking biometric capture timeout via BiometricsService

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1370 button clickable issue fixed. (#705)

* button clickable issue fixed

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* button clickable issue fixed

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1293 updated activity permissions (#706)

* RCF-1293 updated activitie permissions

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1293 resolved code rabit error

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

---------

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1225 : Implemented the Match SDK (#678)

* RCF-1225: match sdk implementation

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1225: match sdk implementation

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added new .aar file

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added .dex file

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* implemented with dex

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* added .aar compatible with .dex

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* implemented compile time dex converter

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* implemented compile time dex converter

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* implemented compile time dex converter

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* reverted the code rabbit changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* reverted the code rabbit changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* reverted the code rabbit changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* rename the method

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* reverted review comment changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* rename the method name

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* modify the config based sdk load

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* modify the config based sdk load

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* reverted the changes

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* refactor the code

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* refactor the code

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* refactor the code

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* refactor the code

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* RCF-1408 Revert the security changes enable screen lock for optical images (#709)

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1412 Resolved packet export issue (#710)

Signed-off-by: Madhuravas reddy <madhu@mosip.io>

* RCF-1410: Packets are failing due to passing document value instead of type (#711)

* fixed packet failing issue

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* fixed packet failing issue

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* fixed packet failing issue

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* refactor the code

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* refactor the code

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* refactor the code

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

* refactor the code

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>

---------

Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>

* MOSIP-44310: Fix and optimize ARC UI automation failures. (#712)

* MOSIP-44310:Fix and optimize ARC UI automation failures.

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44310:Fix and optimize ARC UI automation failures.

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44310:Fix and optimize ARC UI automation failures.

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44310:Fix and optimize ARC UI automation failures.

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* MOSIP-44310:Fix and optimize ARC UI automation failures.

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

---------

Signed-off-by: damodarguru <damodar.g@cyberpwn.com>

* clear text traffic disable (#723)

Signed-off-by: Sachin S P <52343650+SachinPremkumar@users.noreply.github.com>

* removed unused match sdk bundle module (#724)

Signed-off-by: Sachin S P <52343650+SachinPremkumar@users.noreply.github.com>

* fixed template rendering issue in pending approval tab (#829)

Signed-off-by: Sachin S P <52343650+SachinPremkumar@users.noreply.github.com>

* Migrate Android library modules from to Java 21 (#1037)

* fixed template rendering issue in pending approval tab (#829)

Signed-off-by: Sachin S P <52343650+SachinPremkumar@users.noreply.github.com>
Signed-off-by: GOKULRAJ136 <110164849+GOKULRAJ136@users.noreply.github.com>

* Migrate Android library modules from to Java 21

Signed-off-by: GOKULRAJ136 <110164849+GOKULRAJ136@users.noreply.github.com>

* Migrate Android library modules from to Java 21

Signed-off-by: GOKULRAJ136 <110164849+GOKULRAJ136@users.noreply.github.com>

* Revert "Merge branch 'patch-ai-dev' of https://github.com/GOKULRAJ136/android-registration-client into patch-ai-dev"

This reverts commit 6849aff998bbad0c1d5c38c72a72d9c962fb182b, reversing
changes made to 695beb74c93c9133b4a11f269c69c274c1e9f5a8.

Signed-off-by: GOKULRAJ136 <110164849+GOKULRAJ136@users.noreply.github.com>

* Corrected Import

Signed-off-by: GOKULRAJ136 <110164849+GOKULRAJ136@users.noreply.github.com>

* Resolved review comments

Signed-off-by: GOKULRAJ136 <110164849+GOKULRAJ136@users.noreply.github.com>

* Removed redundant null checks

Signed-off-by: GOKULRAJ136 <110164849+GOKULRAJ136@users.noreply.github.com>

* Version changes and defect fixes

Signed-off-by: GOKULRAJ136 <110164849+GOKULRAJ136@users.noreply.github.com>

* Test cases changes

Signed-off-by: GOKULRAJ136 <110164849+GOKULRAJ136@users.noreply.github.com>

* Test cases changes

Signed-off-by: GOKULRAJ136 <110164849+GOKULRAJ136@users.noreply.github.com>

* Testcase Coverage 80%

Signed-off-by: GOKULRAJ136 <110164849+GOKULRAJ136@users.noreply.github.com>

* Resolved code rabbit comments

Signed-off-by: GOKULRAJ136 <110164849+GOKULRAJ136@users.noreply.github.com>

* Update NetworkModuleTest.java

Signed-off-by: GOKULRAJ136 <110164849+GOKULRAJ136@users.noreply.github.com>

* centralize dependency versions into android gradle

Signed-off-by: GOKULRAJ136 <110164849+GOKULRAJ136@users.noreply.github.com>

* Resolve review comments

Signed-off-by: GOKULRAJ136 <110164849+GOKULRAJ136@users.noreply.github.com>

---------

Signed-off-by: Sachin S P <52343650+SachinPremkumar@users.noreply.github.com>
Signed-off-by: GOKULRAJ136 <110164849+GOKULRAJ136@users.noreply.github.com>
Co-authored-by: Sachin S  P <52343650+SachinPremkumar@users.noreply.github.com>

* [MOSIP-44993] Added Transaction ID and Capture Time and validation (#1060)

* added Transaction ID and CaptureTime and validation

Signed-off-by: Sachin S P <52343650+SachinPremkumar@users.noreply.github.com>

* added validation test cases and upadte bio-util version

Signed-off-by: Sachin S P <52343650+SachinPremkumar@users.noreply.github.com>

* added validation test cases and upadte bio-util version

Signed-off-by: Sachin S P <52343650+SachinPremkumar@users.noreply.github.com>

* added validation and reverted the review

Signed-off-by: Sachin S P <52343650+SachinPremkumar@users.noreply.github.com>

* added validation and reverted the review

Signed-off-by: Sachin S P <52343650+SachinPremkumar@users.noreply.github.com>

* added validation and reverted the review

Signed-off-by: Sachin S P <52343650+SachinPremkumar@users.noreply.github.com>

* reverted the review comment

Signed-off-by: Sachin S P <52343650+SachinPremkumar@users.noreply.github.com>

---------

Signed-off-by: Sachin S P <52343650+SachinPremkumar@users.noreply.github.com>

* upadted code rabbit review

Signed-off-by: Sachin S P <52343650+SachinPremkumar@users.noreply.github.com>

---------

Signed-off-by: damodar <damodar.g@cyberpwn.com>
Signed-off-by: Ivanmeneges <ivan.anil016@gmail.com>
Signed-off-by: Praful Rakhade <prafulrakhade02@gmail.com>
Signed-off-by: Madhuravas reddy <madhu@mosip.io>
Signed-off-by: sachin.sp <sachin.sp@cyberpwn.com>
Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>
Signed-off-by: damodarguru <damodar.g@cyberpwn.com>
Signed-off-by: Sachin S P <52343650+SachinPremkumar@users.noreply.github.com>
Signed-off-by: GOKULRAJ136 <110164849+GOKULRAJ136@users.noreply.github.com>
Co-authored-by: damodarguru <124761463+damodarguru@users.noreply.github.com>
Co-authored-by: Ivanmeneges <ivan.anil016@gmail.com>
Co-authored-by: Madhuravas reddy <madhu@mosip.io>
Co-authored-by: Praful Rakhade <prafulrakhade02@gmail.com>
Co-authored-by: sachin.sp <sachin.sp@cyberpwn.com>
Co-authored-by: Rakshithasai123 <rakshithasai2002@gmail.com>
Co-authored-by: Gokulraj C <110164849+GOKULRAJ136@users.noreply.github.com>
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants