WEB-1006: Move release details from footer to About dialog#3667
WEB-1006: Move release details from footer to About dialog#3667YousufFFFF wants to merge 1 commit into
Conversation
|
Warning Review limit reached
More reviews will be available in 3 minutes and 48 seconds. Learn how PR review limits work. Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file). ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits. 🚦 How do rate limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan refill rate. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, the refill rate gradually slows as usage increases. The highest same-day bursts are limited more strictly. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (7)
Note
|
| Layer / File(s) | Summary |
|---|---|
AboutDialogComponent implementation src/app/shared/about-dialog/about-dialog.component.ts, src/app/shared/about-dialog/about-dialog.component.html, src/app/shared/about-dialog/about-dialog.component.scss |
Standalone OnPush component that reads environment.version/hash, pulls server/tenant from SettingsService, username/name from AuthenticationService, and fetches Fineract Git build version via VersionService.getBackendInfo() with 'N/A' fallback on error. Template renders a Material dialog table of all fields; stylesheet defines table layout with a dark-theme variant. |
Toolbar wiring, footer change, and translations src/app/core/shell/toolbar/toolbar.component.ts, src/app/core/shell/toolbar/toolbar.component.html, src/app/shared/footer/footer.component.ts, src/assets/translations/en-US.json |
Imports AboutDialogComponent into ToolbarComponent and adds openAboutDialog() opening it at 450px via MatDialog. Adds an "About" mat-menu-item with an info-circle icon. Sets FooterComponent.displayBackEndInfo to false. Adds "About" keys to heading and menus translation sections. |
Estimated code review effort
🎯 2 (Simple) | ⏱️ ~10 minutes
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
| Check name | Status | Explanation |
|---|---|---|
| Title check | ✅ Passed | The title accurately describes the main change: moving release details from footer to About dialog, which is the primary objective and is reflected across all modified files. |
| Docstring Coverage | ✅ Passed | No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. |
| Linked Issues check | ✅ Passed | Check skipped because no linked issues were found for this pull request. |
| Out of Scope Changes check | ✅ Passed | Check skipped because no linked issues were found for this pull request. |
| Description Check | ✅ Passed | Check skipped - CodeRabbit’s high-level summary is enabled. |
✏️ Tip: You can configure your own custom pre-merge checks in the settings.
✨ Finishing Touches
🧪 Generate unit tests (beta)
- Create PR with unit tests
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.
Comment @coderabbitai help to get the list of available commands and usage tips.
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (2)
src/app/shared/about-dialog/about-dialog.component.ts (1)
89-90: ⚡ Quick winAvoid
anyin backend-info response handling.Line 89 should use a typed response shape instead of
anyto preserve strict typing and safer field access.As per coding guidelines, “Use TypeScript for all application code with strict typing conventions.” Based on learnings, “avoid using Observable as a project-wide pattern… introduce specific interfaces/types for response shapes.”
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/app/shared/about-dialog/about-dialog.component.ts` around lines 89 - 90, The subscription handler in the about-dialog.component.ts file uses `any` type for the data parameter in the next callback, which violates strict typing conventions. Instead of using `any`, define a specific TypeScript interface that represents the shape of the backend-info response (with properties like git, build, and version), and replace the `any` type annotation with this new interface name in the next callback function parameter. This will provide type safety and eliminate unsafe field access patterns.Sources: Coding guidelines, Learnings
src/app/shared/about-dialog/about-dialog.component.scss (1)
9-65: ⚡ Quick winAlign spacing and colors with the repo styling rules.
This SCSS introduces non-grid spacing (
12px,350px) and custom fallback colors; please align with the 8px grid and shared SCSS variables from theme files.As per coding guidelines, “Stick to the 8px grid system for visual design and spacing” and “Leverage SCSS variables defined in
src/main.scssandsrc/theme/mifosx-theme.scssrather than generating custom classes and explicit pixel values.”🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/app/shared/about-dialog/about-dialog.component.scss` around lines 9 - 65, The about-dialog.component.scss file contains non-grid spacing and custom color fallbacks that violate the 8px grid system and theme variable usage guidelines. Replace the hardcoded padding value of 12px in the td rule within the about-table class with a value aligned to the 8px grid (such as 16px for 2 grid units). Change the min-width value of 350px in the about-content class to a multiple of 8px (such as 352px or 360px). Replace all custom fallback color values (including `#e0e0e0`, `#555`, `#333`, `#666`, and the rgb color values in the dark-theme context) with corresponding SCSS variables from src/main.scss or src/theme/mifosx-theme.scss files, ensuring that both light and dark theme colors are properly sourced from the shared theme configuration rather than hardcoded values.Source: Coding guidelines
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@src/app/shared/about-dialog/about-dialog.component.html`:
- Around line 26-41: The tenant property is being set in the component but is
not being displayed in the About dialog table. Add a new table row in the
about-dialog.component.html template to display the tenant information, placing
it after the Server row. Follow the same pattern as the existing rows like
username, name, and renderTime by creating a tr element with two td children:
one with the label "labels.version.Tenant" that is translated, and one with the
info-value class displaying the tenant property value.
---
Nitpick comments:
In `@src/app/shared/about-dialog/about-dialog.component.scss`:
- Around line 9-65: The about-dialog.component.scss file contains non-grid
spacing and custom color fallbacks that violate the 8px grid system and theme
variable usage guidelines. Replace the hardcoded padding value of 12px in the td
rule within the about-table class with a value aligned to the 8px grid (such as
16px for 2 grid units). Change the min-width value of 350px in the about-content
class to a multiple of 8px (such as 352px or 360px). Replace all custom fallback
color values (including `#e0e0e0`, `#555`, `#333`, `#666`, and the rgb color values in
the dark-theme context) with corresponding SCSS variables from src/main.scss or
src/theme/mifosx-theme.scss files, ensuring that both light and dark theme
colors are properly sourced from the shared theme configuration rather than
hardcoded values.
In `@src/app/shared/about-dialog/about-dialog.component.ts`:
- Around line 89-90: The subscription handler in the about-dialog.component.ts
file uses `any` type for the data parameter in the next callback, which violates
strict typing conventions. Instead of using `any`, define a specific TypeScript
interface that represents the shape of the backend-info response (with
properties like git, build, and version), and replace the `any` type annotation
with this new interface name in the next callback function parameter. This will
provide type safety and eliminate unsafe field access patterns.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 189e9e32-ce0a-4a16-9c95-b9883823b7f4
📒 Files selected for processing (7)
src/app/core/shell/toolbar/toolbar.component.htmlsrc/app/core/shell/toolbar/toolbar.component.tssrc/app/shared/about-dialog/about-dialog.component.htmlsrc/app/shared/about-dialog/about-dialog.component.scsssrc/app/shared/about-dialog/about-dialog.component.tssrc/app/shared/footer/footer.component.tssrc/assets/translations/en-US.json
Display tenant information in About dialog
1ae17f9 to
1ae6e7d
Compare
IOhacker
left a comment
There was a problem hiding this comment.
Not approved. Because it is required for debugging.
Description
This PR improves the user experience by moving release and environment details from the global footer to the About dialog accessible from the profile menu.
Displaying this information in the footer consumed valuable screen space across all pages. By relocating it to the About dialog, the application UI becomes cleaner while still keeping the information easily accessible for debugging and support purposes.
Changes included:
Related issues and discussion
#WEB-1006
Screenshots, if any
Before
After
Login.-.Google.Chrome.2026-06-19.17-53-18.mp4
Checklist
If you have multiple commits please combine them into one commit by squashing them.
Read and understood the contribution guidelines at
web-app/.github/CONTRIBUTING.md.