mattermost-mobile/app/screens/settings
Jesse Hallam 15f59b7eee
[MM-63728] Add license load metric to About screen (#8769)
* Add license load metric to About screen

- Add REST endpoint to fetch license load percentage
- Display load metric in About screen next to server version

Fixes: https://mattermost.atlassian.net/browse/MM-63728

* MM-63728: Address PR feedback from enahum

- Move license load metric fetch to a remote action
- Use isMinimumServerVersion to check for server 10.8.0 or higher

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* MM-63728: Simplify getLicenseLoadMetric to directly return number

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* MM-63728: Move getLicenseLoadMetric to dedicated license.ts file

- Create new remote action file specifically for license-related functions
- Add test file for the license actions
- Update imports in about.tsx

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* MM-63728: Remove redundant license check in about.tsx

- Rely on getLicenseLoadMetric to handle the license check

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* MM-63728: Update E2E tests for license load metric

- Add license load metric test IDs to about screen
- Update E2E test to check for load metric when license is enabled
- Handle cases where server might not support the feature

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* recover app/actions/remote/general.ts

* MM-63728: Return error from getLicenseLoadMetric instead of silent failure

- Remove silent failure and debug logging
- Return the error object when API call fails
- Update the About component to handle possible error responses
- Update tests to verify error handling

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* MM-63728: Remove groupLabel parameter from getLicenseLoadMetric

- Remove groupLabel parameter from client getLicenseLoadMetric method in interface and implementation
- Update client tests to reflect the parameter removal
- Update license action test to verify no parameter is passed

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* simplify about screen checks

* MM-63728: Use jest.mocked and real version checks in license tests

- Removed isMinimumServerVersion mock, letting tests use real version checking
- Used proper type casting for mock Client
- Added comprehensive version compatibility test cases
- Simplified test setup

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* MM-63728: Remove redundant server version test

- Removed redundant test for different server versions
- Existing tests already cover the necessary version compatibility cases

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* MM-63728: Refactor license test to use better mocking pattern

- Refactored the test file to use a better mocking pattern similar to custom_emoji.test.ts
- Simplified mock declarations using jest.mock()
- Added type import for Client for better readability
- Improved type casting for mock objects

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* npm run fix

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-04-17 17:29:47 -03:00
..
about [MM-63728] Add license load metric to About screen (#8769) 2025-04-17 17:29:47 -03:00
advanced Add the Component Library to the app (#8319) 2025-02-04 13:32:55 +01:00
display remove usages of isTimeZoneEnabled (#7769) 2024-01-30 13:22:55 +01:00
display_clock Update libraries and dependencies (#7678) 2023-11-25 07:46:13 +08:00
display_crt Update libraries and dependencies (#7678) 2023-11-25 07:46:13 +08:00
display_theme Avoid unnecessary re-renders (#8673) 2025-03-13 21:28:48 +08:00
display_timezone Update libraries and dependencies (#7678) 2023-11-25 07:46:13 +08:00
display_timezone_select Make androidBackHandler to update if the handler changes (#7519) 2023-08-31 10:31:55 +02:00
notification_auto_responder fix: height for multiple line floating text input (#7688) 2023-12-13 09:50:18 +01:00
notification_call [MM-57486] [MM-58008] Calls: Mobile ringing for incoming calls (#7984) 2024-07-03 10:22:46 -04:00
notification_email Update libraries and dependencies (#7678) 2023-11-25 07:46:13 +08:00
notification_mention Add model mocks to TestHelper (#8715) 2025-03-28 09:40:08 +01:00
notification_push Update libraries and dependencies (#7678) 2023-11-25 07:46:13 +08:00
notifications Add test notification tool (#8271) 2024-11-11 10:22:57 +01:00
report_problem Upgrade RN as well as update or replace other dependencies (#8011) 2024-06-19 09:33:45 +08:00
config.ts [MM-57486] [MM-58008] Calls: Mobile ringing for incoming calls (#7984) 2024-07-03 10:22:46 -04:00
index.tsx Update libraries and dependencies (#7678) 2023-11-25 07:46:13 +08:00
settings.tsx Mm 28872 configure links (#7551) 2023-10-03 11:09:01 +02:00