Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
968 commits
Select commit Hold shift + click to select a range
e3ab68a
WEB-790 Fix Spanish (es-MX) translations for Remittance module (#3225)
shubhamkumar9199 Feb 24, 2026
07f701f
WEB-791: Financial Translation to Mexican Spanish (#3227)
EmanuelCR03 Feb 25, 2026
a3fb13f
WEB-792 Self Service User status displaying incorrectly in user detai…
JaySoni1 Feb 25, 2026
00c1e9c
Fix Loan Dashboard Chart issue (#3230)
JaySoni1 Feb 25, 2026
b808af6
WEB-788 Request for Creation of Export KYC Button in Client Section (…
JaySoni1 Feb 26, 2026
3df835c
WEB-793 Add horizontal Scrollbar to Data Table View (#3233)
JaySoni1 Feb 26, 2026
542e6b8
WEB-794 Implement Dynamic Report for the KYC Button (#3235)
JaySoni1 Feb 26, 2026
f6ef991
WEB-795 Fix the Loan Information section (#3236)
JaySoni1 Feb 27, 2026
2b95068
WEB-711: Working Capital product configuration
Feb 15, 2026
a111113
Merge pull request #3159 from alberto-art3ch/WEB-711/wc-product-confi…
alberto-art3ch Feb 27, 2026
33cd601
WEB-801: Upgrade minor versions of WebApp dependencies (#3237)
YousufFFFF Feb 27, 2026
7a9c25e
WEB-628: Standardize password validation using environment-driven min…
YousufFFFF Feb 27, 2026
7042c46
WEB-802: Document password configuration variables in README (#3238)
YousufFFFF Feb 28, 2026
f8e48b5
WEB-796 WEB-793 Add horizontal Scrollbar to Data Table View - Person …
JaySoni1 Feb 28, 2026
5d6534f
WEB-702 Enable functionality in Mifos WebApp to submit reports and ti…
JaySoni1 Mar 2, 2026
a396934
Add renovate.json (#3243)
renovate[bot] Mar 2, 2026
fe8c0ed
WEB-805: Upgrade the Docker Image versions for NodeJS and Nginx (#3247)
Nightwing-77 Mar 2, 2026
deef4a0
MX-811: Spanish translation (#3252)
AlejandroED21 Mar 2, 2026
155aa7d
MX-811: Spanish translation (#3253)
AlejandroED21 Mar 2, 2026
b741efb
WEB-815 automatically the Filename (#3259)
Nightwing-77 Mar 2, 2026
116dd80
Added the type safety Void and fixed missing image (#3158)
ELVIS-KATO Mar 2, 2026
d99212f
Update actions/stale digest to f7176fd (#3246)
renovate[bot] Mar 2, 2026
4db7be2
fix(proxy): remove incorrect pathRewrite for demo sandbox (#3241)
ansh-varshney Mar 2, 2026
d48c8f1
Update step-security/harden-runner action to v2.15.0 (#3262)
renovate[bot] Mar 2, 2026
aea8418
Update Node.js to v22.22.0 (#3261)
renovate[bot] Mar 2, 2026
8ea06ae
Update lycheeverse/lychee-action action to v2.8.0 (#3260)
renovate[bot] Mar 2, 2026
464743a
chore(deps): update actions/github-script action to v8 (#3265)
renovate[bot] Mar 2, 2026
700fc02
chore(deps): update actions/checkout action (#3264)
renovate[bot] Mar 2, 2026
4f360c4
Update dependency htmlhint to v1.9.1 (#3255)
renovate[bot] Mar 2, 2026
b3d65e9
WEB-804: Support compact numeric date input parsing (#3263)
YousufFFFF Mar 2, 2026
4fc0199
WEB-809 angular update to 20.3.17 (#3258)
Nightwing-77 Mar 2, 2026
14e8100
chore(deps): update actions/stale action to v10 (#3267)
renovate[bot] Mar 2, 2026
1d7c67b
chore(deps): update actions/setup-node action to v6 (#3266)
renovate[bot] Mar 2, 2026
e5caf47
chore(deps): update dependency @types/lodash to v4.17.24 (#3254)
renovate[bot] Mar 2, 2026
2683ece
chore(deps): update dependency https-proxy-agent to v7.0.6 (#3251)
renovate[bot] Mar 2, 2026
dd3cdff
Update dependency @types/jasminewd2 to v2.0.13 (#3250)
renovate[bot] Mar 2, 2026
36c6fe9
fix(clients): fix family members layout in create client preview step…
YousufFFFF Mar 3, 2026
03a3fc4
chore(deps): update actions/upload-artifact action to v7 (#3268)
renovate[bot] Mar 3, 2026
8989b78
chore(deps): update dependency hono to v4.12.4 (#3277)
renovate[bot] Mar 3, 2026
0437580
WEB-797 Implement Eclipse BIRT reporting support (#3279)
JaySoni1 Mar 4, 2026
7daefdd
WEB-726 fix: display transactionId instead of systemMessage in interb…
shubhamkumar9199 Mar 4, 2026
98feb0b
fix(settings): replace default language dropdown with language-select…
Mar 5, 2026
70fc30f
chore(deps): update docker/setup-qemu-action action to v4 (#3298)
renovate[bot] Mar 5, 2026
32a531d
Bump @hono/node-server from 1.19.9 to 1.19.10 (#3303)
dependabot[bot] Mar 5, 2026
a0c0020
Bump immutable from 5.1.4 to 5.1.5 (#3304)
dependabot[bot] Mar 5, 2026
fcce56d
chore(deps): update dependency puppeteer to v24.38.0 (#3302)
renovate[bot] Mar 5, 2026
a216387
chore(deps): update dependency hono to v4.12.5 (#3301)
renovate[bot] Mar 5, 2026
f2063fc
Bump tar from 7.5.9 to 7.5.10 (#3312)
dependabot[bot] Mar 5, 2026
a1a496f
chore(deps): update dependency tar to v7.5.10 [security] (#3311)
renovate[bot] Mar 5, 2026
87644b4
chore(deps): update angular-cli monorepo to v20.3.19 (#3309)
renovate[bot] Mar 5, 2026
c01ae2d
chore(deps): update dependency htmlhint to v1.9.2 (#3313)
renovate[bot] Mar 5, 2026
d5c35a6
Merge pull request #3308 from ansh-varshney/WEB-817-replace-default-l…
alberto-art3ch Mar 5, 2026
f7ff494
docs: add missing JSDoc and remove stale TODO comments
NotxNoodles Mar 5, 2026
aef97ef
Merge pull request #3320 from NotxNoodles/docs/add-missing-jsdoc
alberto-art3ch Mar 5, 2026
21abc94
chore(deps): update docker/login-action action to v4 (#3314)
renovate[bot] Mar 5, 2026
023c7b0
chore(deps): update docker/setup-buildx-action action to v4 (#3315)
renovate[bot] Mar 5, 2026
7008275
chore(deps): update step-security/harden-runner action to v2.15.1 (#3…
renovate[bot] Mar 5, 2026
bef238b
WEB-818: Minor bug-fixes and enhancements (#3326)
EmanuelCR03 Mar 6, 2026
893ceb5
Bump dompurify from 3.3.1 to 3.3.2 (#3325)
dependabot[bot] Mar 6, 2026
ce97a9a
WEB-818: Minor bug-fixes and enhancements (#3329)
EmanuelCR03 Mar 6, 2026
9c71ca2
WEB-819 Fix validation and translation issues in Working Capital Prod…
JaySoni1 Mar 6, 2026
1ca5a36
WEB-714: Add submit button to user settings (#3142)
DeathGun44 Mar 6, 2026
49fc561
WEB-810 Create Stepper for Savings Withdrawal Transaction (#3310)
JaySoni1 Mar 6, 2026
da4ca2d
WEB-603: Improve styling & UX of bulk import (#3306)
iramsk02 Mar 6, 2026
3d9ef37
Merge pull request #3330 from JaySoni1/WEB-819-fix-validation-and-tra…
alberto-art3ch Mar 6, 2026
0134c7a
Merge pull request #3116 from JaySoni1/WEB-685-fix-default-values-for…
alberto-art3ch Mar 6, 2026
fdabac2
Merge pull request #3090 from JaySoni1/WEB-666-recurring-deposit-prod…
alberto-art3ch Mar 6, 2026
8510b3a
WEB-742 Translation in the Organization area, first two lines (#3331)
JaySoni1 Mar 6, 2026
411c3bd
WEB-818: Update Node.js to v24 (#3294)
renovate[bot] Mar 7, 2026
352f687
WEB-799 fix: load OIDC discovery document before login redirect (#3332)
shubhamkumar9199 Mar 8, 2026
e1fd186
WEB-822: remove unused MatLine import from BulkImportComponent
shubhamkumar9199 Mar 8, 2026
9f90300
Merge pull request #3333 from shubhamkumar9199/WEB-822-remove-unused-…
alberto-art3ch Mar 8, 2026
d7c9f67
WEB-823: fix OIDC race conditions and issuer validation (#3334)
shubhamkumar9199 Mar 8, 2026
7b0baa1
WEB-725 fix: replace invisible spinner with mat-spinner in interbank …
shubhamkumar9199 Mar 8, 2026
586ad2d
WEB-806: added persistent popups (#3256)
Nightwing-77 Mar 8, 2026
b1fd0f1
WEB-818: Update dependency eslint to v9.39.4 (#3338)
renovate[bot] Mar 9, 2026
c58c9d5
WEB-831: Fix Jest transformIgnorePatterns for @material/web ESM depen…
DeathGun44 Mar 9, 2026
3f16cab
WEB-785 fix(fixed-deposit): rename Slab to Range and fix edit dialog …
shubhamkumar9199 Mar 9, 2026
3f6e94e
WEB-832 fix: reposition delete button in interest rate chart form
shubhamkumar9199 Mar 9, 2026
fe96e61
Merge pull request #3348 from shubhamkumar9199/fix/interest-rate-char…
alberto-art3ch Mar 9, 2026
9bd2b8f
WEB-816 feat(clients): add Validate Customer Data dialog with KYC dat…
shubhamkumar9199 Mar 9, 2026
8523373
feat(config): add AI agent integration files (#3346)
ansh-varshney Mar 9, 2026
c63b13e
WEB-830: Add unit test PoC for ClientsService (#3344)
DeathGun44 Mar 9, 2026
d153ea3
WEB-829: Add alt text to placeholder images (Accessibility) (#3343)
tkshsbcue Mar 9, 2026
9535b23
WEB-828: Add null checks for dialog responses (#3342)
tkshsbcue Mar 9, 2026
2c0b15d
WEB-827: Prevent tabnabbing in window.open (#3341)
tkshsbcue Mar 9, 2026
db8b4c5
WEB-824: Fix null handling in PrettyPrintPipe (#3339)
tkshsbcue Mar 9, 2026
34e7a12
WEB-835 fix: remove scrollbar and improve layout in Upload Client Sig…
shubhamkumar9199 Mar 10, 2026
7ad2dc1
WEB-834 fix: correct dark mode styling in Make Account Transfer benef…
shubhamkumar9199 Mar 10, 2026
24ea1c7
Merge pull request #3351 from shubhamkumar9199/fix/client/upload-sign…
alberto-art3ch Mar 10, 2026
dde751c
Bump hono from 4.12.5 to 4.12.7 (#3356)
dependabot[bot] Mar 11, 2026
0180ff1
Bump tar from 7.5.10 to 7.5.11 (#3358)
dependabot[bot] Mar 11, 2026
abf9bac
ci(github-actions): integrate Cisco AI Defense Skill Scanner (#3354)
ansh-varshney Mar 11, 2026
e7f6124
WEB-837 ci: enforce single commit per PR via pre-push hook and CI wor…
shubhamkumar9199 Mar 11, 2026
4ad6c04
fix(toolbar): solve role-based menu visibility for tenant roles (#3360)
ansh-varshney Mar 11, 2026
41909f7
WEB-718 Show required error message for Days Till field in Delinquenc…
JaySoni1 Feb 13, 2026
6aff020
WEB-842 Improve Browse button layout align icon and text side by side
JaySoni1 Mar 12, 2026
1987b38
WEB-807 Add horizontal scrollbar to datadable view
JaySoni1 Mar 12, 2026
47a6d36
Merge pull request #3364 from JaySoni1/WEB-842-improve-browse-button-…
alberto-art3ch Mar 12, 2026
bd37bbc
Merge pull request #3365 from JaySoni1/WEB-807-add-horizontal-scrollb…
alberto-art3ch Mar 12, 2026
90c20fa
WEB-841 Update Cancel button styling in Floating Rate Periods dialog …
JaySoni1 Mar 12, 2026
24bea06
WEB-850 fix(button): correct icon spacing and remove ineffective CSS …
shubhamkumar9199 Mar 13, 2026
56c55c1
WEB-851 fix(gsim-account): prevent horizontal overflow by using layou…
shubhamkumar9199 Mar 13, 2026
a044d22
WEB-852 fix(glim-account): resolve empty page when opening GLIM appli…
shubhamkumar9199 Mar 13, 2026
5290a5f
WEB-853 fix(unassign-staff-dialog): resolve styling inconsistency in …
shubhamkumar9199 Mar 13, 2026
5353e6c
WEB-855 fix(transaction-dialog): apply dark mode styling to confirm t…
shubhamkumar9199 Mar 14, 2026
0d948bc
chore(dev-tools): remove redundant pre-push hook in favor of CI check
shubhamkumar9199 Mar 14, 2026
8ae330c
Merge pull request #3377 from shubhamkumar9199/chore/remove-redundant…
alberto-art3ch Mar 14, 2026
4984ea1
WEB-849: Replace reschedule date picker with installment dropdown and…
YousufFFFF Mar 14, 2026
a3139ae
WEB-859: Update Role Permission Search Field (#3381)
YousufFFFF Mar 15, 2026
fc579f5
WEB-859: Follow-up update after review feedback (#3385)
YousufFFFF Mar 15, 2026
fdb8b8f
WEB-38: fix view guarantors page not displaying data and update bread…
YousufFFFF Mar 15, 2026
d115e23
fix(clients-view): add permission guard to Applications menu for tres…
ansh-varshney Mar 15, 2026
d3b50a7
Merge pull request #3374 from shubhamkumar9199/fix/dark-mode-confirm-…
alberto-art3ch Mar 16, 2026
d0b020a
feat: align report details and add BIRT/Pentaho translations (WEB-821…
vaishnavirrapolu-06 Mar 16, 2026
07f8fbc
WEB-865: Add translations for permission names by decomposing action …
YousufFFFF Mar 16, 2026
0f0eb1e
WEB-861 - Implement live dashboard metrics and align UI (#3386)
HarshDeep-dev Mar 16, 2026
06b502d
Merge pull request #3147 from JaySoni1/WEB-718-show-required-error-me…
alberto-art3ch Mar 16, 2026
bd98c56
WEB-866 Remove unused pipes from DashboardComponent
JaySoni1 Mar 16, 2026
2f055d0
Merge pull request #3390 from JaySoni1/WEB-866-remove-unused-pipes-fr…
alberto-art3ch Mar 16, 2026
c6976ca
Revert "WEB-861 - Implement live dashboard metrics and align UI (#338…
EmanuelCR03 Mar 16, 2026
42ecb43
WEB-710 Loan Cycle Fields Allow Negative Values
JaySoni1 Mar 16, 2026
a2a23f7
WEB-863-Fix the Category text (#3391)
HarshDeep-dev Mar 16, 2026
ef07173
fix(gsim-account): simplify onRowClick navigation logic (#3375)
shubhamkumar9199 Mar 16, 2026
8c24544
Merge pull request #3393 from JaySoni1/WEB-710-loan-cycle-fields-allo…
alberto-art3ch Mar 16, 2026
767c928
WEB-868 fix: resolve deprecated glob library warnings in npm dependen…
shubhamkumar9199 Mar 16, 2026
4786676
WEB-867 Add translation keys/values for the permissions in the i18n f…
JaySoni1 Mar 17, 2026
8423176
WEB-869 Standardize Cancel button styling to mat-raised-button across…
JaySoni1 Mar 17, 2026
948dbee
repositioned llms.txt in rootd directory for testing (#3397)
ansh-varshney Mar 17, 2026
d4fa504
WEB-818: Update dependency bump jspdf from 4.2.0 to 4.2.1
dependabot[bot] Mar 18, 2026
a269fbc
WEB-873 Improve Cancel button styling in Delinquency Range create for…
JaySoni1 Mar 19, 2026
3d0642b
WEB-870: Delinquency management configuration for WC (#3400)
alberto-art3ch Mar 19, 2026
7c8bdd2
WEB-858: docs(ai): add AI assistance test results (#3408)
ansh-varshney Mar 19, 2026
033e132
WEB-813: Working Capital loan account creation
alberto-art3ch Mar 2, 2026
a30eea4
WEB-870: Delinquency management configuration for WC - String enum op…
adamsaghy Mar 19, 2026
eb61b92
Merge pull request #3257 from alberto-art3ch/WEB-813/working-capital-…
alberto-art3ch Mar 19, 2026
5e7705b
Merge pull request #3414 from openMF/WEB-870/wc-delinquency-managemen…
alberto-art3ch Mar 19, 2026
b2477b6
Fix manage reports sass style
Omar-Nabil2 Mar 20, 2026
8ec947b
Merge pull request #3418 from Omar-Nabil2/manage_reports_sass_style
alberto-art3ch Mar 20, 2026
caf14f7
WEB-657: WorkingCapital Loan approve or reject actions
alberto-art3ch Mar 19, 2026
802a799
WEB-657: WorkingCapital Loan disbursement
alberto-art3ch Mar 20, 2026
cbc7cd5
WEB-877: add configurable analytics dashboard foundation (#3420)
davidgvad Mar 20, 2026
80917c0
fix reports suptype translation.
Omar-Nabil2 Mar 20, 2026
455f688
Merge pull request #3416 from alberto-art3ch/WEB-657/workingcapital-l…
alberto-art3ch Mar 20, 2026
3c1875a
Merge pull request #3419 from alberto-art3ch/WEB-657/workingcapital-l…
alberto-art3ch Mar 20, 2026
5be2e74
Merge pull request #3421 from Omar-Nabil2/fixreportssuptypetranslation
alberto-art3ch Mar 20, 2026
e18f7d7
WEB:880: Translate Words to financial Mexican Spanish Terms (#3423)
EmanuelCR03 Mar 20, 2026
eeba54b
WEB:880: Translate Words to financial Mexican Spanish Terms (#3424)
EmanuelCR03 Mar 20, 2026
b2489cd
WEB-885 Please check all parts of the screen to ensure it is translat…
saksham869 Mar 21, 2026
8480afb
fix: WEB-875 Inconsistent top margin in Select Currency dropdown
saksham869 Mar 18, 2026
7886c79
Merge pull request #3429 from saksham869/fix/WEB-875-clean
alberto-art3ch Mar 22, 2026
7a4b8ea
WEB-882: Add unit tests for CloseClientComponent
Agaba-Ed Mar 22, 2026
f82ad09
Merge pull request #3425 from Agaba-Ed/unit-test-close-client
gkbishnoi07 Mar 23, 2026
93556db
WEB-657: WorkingCapital Loan disbursement
alberto-art3ch Mar 27, 2026
c09fd44
Merge pull request #3447 from alberto-art3ch/WEB-657/workingcapital-l…
alberto-art3ch Mar 27, 2026
15ccc5e
WEB-898 fix: correct footer layout alignment for improved UI consiste…
shubhamkumar9199 Mar 27, 2026
49794bd
WEB-872 fix: include disabled form fields in client creation payload
shubhamkumar9199 Mar 27, 2026
b6d6d80
Merge pull request #3449 from shubhamkumar9199/fix/client-creation-di…
alberto-art3ch Mar 27, 2026
da46e04
fix: WEB-863 Present GlobalisationCode translated to local languages …
saksham869 Mar 28, 2026
76761a4
Merge pull request #3452 from saksham869/fix/WEB-860-globalisation-code
alberto-art3ch Mar 28, 2026
946a760
WEB-100: Fix semantic translation errors for 'available' labels (#3451)
YousufFFFF Mar 30, 2026
458169a
WEB-846: Hamburguer menu grant-Desk Control Office (#3454)
ansh-varshney Mar 30, 2026
4b9b2d4
WEB-891: Add Express proxy server for Playwright CI pipeline (#3438)
DeathGun44 Mar 30, 2026
f506417
WEB-711: WC Product with discount attribute
alberto-art3ch Mar 30, 2026
35b428f
Merge pull request #3458 from alberto-art3ch/WEB-711/wc-product-disco…
alberto-art3ch Mar 30, 2026
9829880
WEB-813: Working Capital loan account modification
alberto-art3ch Mar 23, 2026
06754b8
WEB-899: Fix tenant header dropped on absolute Fineract URLs (#3459)
DeathGun44 Mar 31, 2026
b541079
Merge pull request #3103 from DeathGun44/WEB-239/fix-tax-component-la…
alberto-art3ch Mar 31, 2026
4acde0b
WEB-670: Working Capital loan delinquency grace days
alberto-art3ch Mar 24, 2026
52d2595
WEB-889: WC - Discount
mariiaKraievska Mar 23, 2026
d0f15c4
Merge pull request #3436 from mariiaKraievska/WEB-889/working-capital…
alberto-art3ch Apr 2, 2026
aad6742
WEB-886 fix(kyc): add global config toggle and separate datatables fo…
shubhamkumar9199 Apr 3, 2026
afcd2f6
WEB-901 Page title for Fixed Deposits shows raw translation key inste…
JaySoni1 Apr 5, 2026
649ab27
Merge pull request #3464 from JaySoni1/WEB-901-page-title-for-fixed-d…
alberto-art3ch Apr 6, 2026
c48a3de
WEB-905 fix: replace className with class in Angular template (#3473)
shubhamkumar9199 Apr 6, 2026
b5cff51
WEB-904 Missing localization key for Share Account Details page title…
JaySoni1 Apr 6, 2026
d6305a9
WEB-903 Page title for Recurring Deposit Account shows raw translatio…
JaySoni1 Apr 6, 2026
8ed07c7
WEB-900: Docker-backed E2E testing infrastructure (#3463)
DeathGun44 Apr 6, 2026
d0ae847
WEB-902 Page title for Loan Accounts displays generic General instead…
JaySoni1 Apr 6, 2026
03f86ae
WEB-818: Update dependency lodash to v4.18.1 [SECURITY] (#3476)
renovate[bot] Apr 6, 2026
2094691
WEB-907 Fix missing and localized translations for Loan Originators p…
JaySoni1 Apr 6, 2026
aa08907
Merge pull request #3477 from JaySoni1/WEB-907-fix-missing-and-locali…
alberto-art3ch Apr 6, 2026
c67e7e3
WEB-890: Implement storageState authentication bypass for Playwright E2E
DeathGun44 Mar 23, 2026
c10bc98
WEB-813: Working Capital Breach configuration
alberto-art3ch Apr 1, 2026
b12f689
Merge pull request #3461 from alberto-art3ch/WEB-813/working-capital-…
alberto-art3ch Apr 7, 2026
e61b965
WEB-884 feat: auto-fill address fields from postal code using Zippopo…
shubhamkumar9199 Apr 7, 2026
97fae11
Merge pull request #3457 from DeathGun44/WEB-890/playwright-auth-bypass
gkbishnoi07 Apr 7, 2026
a3363d6
WEB-909: Translate to Mexican Spanish fields and labels (#3480)
EmanuelCR03 Apr 7, 2026
451a0ba
WEB-908 Missing Loan Reschedules localization across multiple languag…
JaySoni1 Apr 7, 2026
482c0ef
WEB-707 Allowing Negative Values in Loan Product Numeric Fields (#3398)
JaySoni1 Apr 7, 2026
e054cd8
WEB-909: Translate to Mexican Spanish fields and labels (#3481)
EmanuelCR03 Apr 7, 2026
547bb91
WEB-874 Prevent negative values in numeric fields of Group (#3412)
JaySoni1 Apr 7, 2026
eaae147
Revert "WEB-874 Prevent negative values in numeric fields of Group (#…
EmanuelCR03 Apr 7, 2026
61cdbb7
WEB-874: Prevent negative values in numeric fields - fix duplicate at…
JaySoni1 Apr 7, 2026
1070c72
WEB-896: Add debounced dynamic search to client list (#3445)
Agaba-Ed Apr 7, 2026
1f7df81
WEB-895: Add success notification feedback to client action component…
Agaba-Ed Apr 7, 2026
081eb13
Add Table of Contents for better README navigation (#3450)
anmolverma1309 Apr 7, 2026
b37fbbb
WEB-134: Fix floating rates creation bugs (#3466)
YousufFFFF Apr 7, 2026
2cd4264
WEB-888 Add missing validation error messages for required fields in …
JaySoni1 Apr 7, 2026
62acfd6
Bump hono from 4.12.7 to 4.12.12 (#3485)
dependabot[bot] Apr 8, 2026
82a2927
WEB-914 Validation error message not displayed for required Note fiel…
JaySoni1 Apr 9, 2026
99f5534
WEB-917 feat: internationalize all user-facing error messages for mu…
shubhamkumar9199 Apr 10, 2026
5262828
Bump basic-ftp from 5.2.0 to 5.2.1 (#3488)
dependabot[bot] Apr 10, 2026
c1029d0
WEB-913 Add Export to PDF translation support for repayment schedule …
JaySoni1 Apr 10, 2026
c4ef16b
fix/handle-null-report-category-display
Omar-Nabil2 Apr 11, 2026
80a019a
Merge pull request #3497 from Omar-Nabil2/fix/handle-null-report-cate…
alberto-art3ch Apr 11, 2026
c998436
Bump basic-ftp from 5.2.1 to 5.2.2 (#3496)
dependabot[bot] Apr 11, 2026
5549ba3
WEB-919 fix: add null guards and safe array access to prevent runtime…
shubhamkumar9199 Apr 12, 2026
bc47971
Merge pull request #3498 from shubhamkumar9199/fix/unsafe-array-acces…
alberto-art3ch Apr 12, 2026
b3f99e8
WEB-897: Add Playwright E2E test for close client workflow
Agaba-Ed Apr 13, 2026
0810439
Merge pull request #3504 from Agaba-Ed/e2e-close-client-workflow
alberto-art3ch Apr 13, 2026
3fa7730
WEB-921 Restrict negative values in fixed deposits frequency and peri…
JaySoni1 Apr 14, 2026
8ecadcc
Merge pull request #3505 from JaySoni1/WEB-921-restrict-negative-valu…
alberto-art3ch Apr 14, 2026
e1dc122
WEB-657: Working Capital product with default accounting rule
alberto-art3ch Apr 14, 2026
eee1801
Merge pull request #3506 from alberto-art3ch/WEB-657/working-capital-…
alberto-art3ch Apr 14, 2026
2af924c
WEB-920 Add missing validation error messages and prevent negative va…
JaySoni1 Apr 13, 2026
33b7290
Merge pull request #3503 from JaySoni1/WEB-920-add-missing-validation…
alberto-art3ch Apr 14, 2026
d80c389
WEB-923 Fix incorrect Create Template page title
JaySoni1 Apr 14, 2026
84fc2a4
Merge pull request #3508 from JaySoni1/WEB-923-fix-incorrect-create-t…
alberto-art3ch Apr 15, 2026
819ebd8
WEB-924 View Loan Originator and Edit Loan Originator page titles dis…
JaySoni1 Apr 15, 2026
b93c604
Merge pull request #3491 from JaySoni1/WEB-914-validation-error-messa…
alberto-art3ch Apr 17, 2026
9ae0353
Merge pull request #3510 from JaySoni1/WEB-924-view-loan-originator-a…
alberto-art3ch Apr 17, 2026
146438f
WEB-925: Fix Generate Report button styling on savings export transac…
shubhamkumar9199 Apr 17, 2026
c8fdb28
Merge pull request #3519 from shubhamkumar9199/fix/export-transaction…
alberto-art3ch Apr 17, 2026
f4d57f7
Bump basic-ftp from 5.2.2 to 5.3.0 (#3517)
dependabot[bot] Apr 18, 2026
787647c
Bump hono from 4.12.12 to 4.12.14 (#3513)
dependabot[bot] Apr 18, 2026
21b57a4
fix: display translated userMessageGlobalisationCode for BIRT error r…
parth-sharma-10 Apr 20, 2026
4e869f3
WEB-670: Working Capital loan account creation fix override values
alberto-art3ch Apr 16, 2026
a780d9d
WEB-657: Working Capital product near breach configuration
alberto-art3ch Apr 8, 2026
ed7ad25
Merge pull request #3487 from alberto-art3ch/WEB-657/working-capital-…
alberto-art3ch Apr 20, 2026
1fa1109
WEB-657: Working Capital loan near breach config
alberto-art3ch Apr 23, 2026
dd9731e
WEB-657: Working Capital product with GL Account mappings
alberto-art3ch Apr 18, 2026
2fe316a
Merge pull request #3529 from alberto-art3ch/WEB-657/working-capital-…
alberto-art3ch Apr 24, 2026
afd26da
Merge pull request #3520 from alberto-art3ch/WEB-657/workingcapital-p…
alberto-art3ch Apr 24, 2026
ff7a5ab
fix: correct clientStatusTYpe.approved typo in StatusLookupPipe (#3526)
adity-a34 Apr 26, 2026
bd48f54
WEB-916 Align Loan Product Currency Form with Product Form (#3493)
JaySoni1 Apr 26, 2026
2a6f1e3
WEB-932: Guard against null credentials in HasPermissionDirective (#3…
adity-a34 Apr 26, 2026
7fb7652
WEB-935 Fix page title localization for Fixed and Recurring Deposit A…
JaySoni1 Apr 27, 2026
70711d6
WEB-931 Loan account application must allow rate 0 the nominal inter…
JaySoni1 Apr 27, 2026
734a7b0
WEB-918: Fix savings application edit flow (#3535)
YousufFFFF Apr 27, 2026
56fd389
update-html-min-attribute (#3539)
JaySoni1 Apr 28, 2026
df2ba8b
WEB-813: Working Capital loan delinquency actions
alberto-art3ch Mar 31, 2026
872a2e2
Merge dev into openapi-integration: Resolve conflicts and bring branc…
aksh08022006 Apr 28, 2026
34f8925
WEB-937 Display the checker Inbox and task icon on the left menu for …
JaySoni1 Apr 29, 2026
295f1be
WEB-928 Replace the spinner used during the startup with a lottie fil…
JaySoni1 Apr 29, 2026
37615bd
WEB-928 Replace the spinner used during the startup with a lottie fil…
JaySoni1 Apr 29, 2026
55b6fcc
WEB-657: Working Capital currency fix for multiples of
alberto-art3ch Apr 29, 2026
4faf0c4
Merge pull request #3547 from alberto-art3ch/WEB-657/fix-working-capi…
alberto-art3ch Apr 29, 2026
ff946d4
Merge dev into openapi-integration (resolve latest conflicts)
aksh08022006 Apr 29, 2026
e1f0a16
Merge upstream openapi-integration into fork branch
aksh08022006 Apr 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
157 changes: 157 additions & 0 deletions .github/workflows/playwright.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,157 @@
<<<<<<< HEAD
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

please remove this type of conflicts

name: Playwright E2E Tests

on:
push:
branches: [main, dev, dev-angular-19]
pull_request:
branches: [main, dev, dev-angular-19]

jobs:
playwright:
name: Run Playwright Tests
runs-on: ubuntu-latest
timeout-minutes: 30
=======
name: E2E Tests (Playwright + Fineract)

on:
push:
branches: [main, dev]
pull_request:
branches: [main, dev]

concurrency:
group: e2e-${{ github.ref }}
cancel-in-progress: true

jobs:
e2e:
name: Playwright E2E
runs-on: ubuntu-latest
timeout-minutes: 45

env:
CI: true
E2E_BASE_URL: http://localhost:4200
E2E_FINERACT_URL: https://localhost:8443
E2E_USERNAME: mifos
E2E_PASSWORD: password
E2E_TENANT_ID: default
NODE_TLS_REJECT_UNAUTHORIZED: '0'
>>>>>>> origin/dev

steps:
- name: Checkout code
uses: actions/checkout@v6

<<<<<<< HEAD
- name: Use Node.js 22x
=======
- name: Use Node.js 24
>>>>>>> origin/dev
uses: actions/setup-node@v6
with:
node-version: '24.14.0'
cache: 'npm'

- name: Install dependencies
run: npm ci

- name: Install Playwright browsers
run: npx playwright install --with-deps chromium

<<<<<<< HEAD
- name: Run Playwright tests
run: npx playwright test --reporter=html,github
env:
CI: true
FINERACT_API_URL: https://demo.mifos.community
E2E_USERNAME: mifos
E2E_PASSWORD: password
=======
- name: Start E2E infrastructure
run: docker compose -f docker-compose.e2e.yml up -d --build

- name: Wait for PostgreSQL
run: |
timeout 60 bash -c '
until docker exec e2e-postgres pg_isready -U postgres 2>/dev/null; do
sleep 2
done
'
echo "✅ PostgreSQL ready"

- name: Wait for Fineract backend
run: |
timeout 300 bash -c '
until docker ps --filter "health=healthy" --filter "name=e2e-fineract" | grep -q healthy; do
echo " … Fineract not healthy yet"
sleep 10
done
'
curl -fk --retry 30 --retry-all-errors --connect-timeout 10 --retry-delay 10 \
https://localhost:8443/fineract-provider/actuator/health
echo ""
echo "✅ Fineract ready"

- name: Verify Fineract initialization complete
run: |
AUTH_HEADER=$(echo -n "${E2E_USERNAME}:${E2E_PASSWORD}" | base64 | tr -d '\n')
timeout 120 bash -c "
until curl -fsk \
-H 'Fineract-Platform-TenantId: ${E2E_TENANT_ID}' \
-H 'Authorization: Basic ${AUTH_HEADER}' \
https://localhost:8443/fineract-provider/api/v1/offices 2>/dev/null | grep -q 'Head Office'; do
echo ' … waiting for seed data'
sleep 5
done
"
echo "✅ Fineract initialization complete"

- name: Wait for web-app
run: |
curl -f --retry 20 --retry-all-errors --connect-timeout 5 --retry-delay 5 \
http://localhost:4200 > /dev/null 2>&1
echo "✅ Web-app ready"

- name: Run Playwright tests
run: npx playwright test --reporter=html,github --workers=1

- name: Dump Docker logs on failure
if: failure()
run: |
echo "=== Fineract ==="
docker logs e2e-fineract --tail 100 2>&1 || true
echo "=== PostgreSQL ==="
docker logs e2e-postgres --tail 50 2>&1 || true
echo "=== Web-App ==="
docker logs e2e-web-app --tail 50 2>&1 || true
echo "=== Memory ==="
docker stats --no-stream || true
>>>>>>> origin/dev

- name: Upload Playwright report
uses: actions/upload-artifact@v7
if: always()
with:
name: playwright-report
path: playwright-report/
retention-days: 7

- name: Upload test results
uses: actions/upload-artifact@v7
if: failure()
with:
name: test-results
path: test-results/
retention-days: 7
<<<<<<< HEAD
=======

- name: Tear down E2E infrastructure
if: always()
run: |
docker compose -f docker-compose.e2e.yml down -v --remove-orphans
docker system prune -f
>>>>>>> origin/dev
18 changes: 11 additions & 7 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -55,14 +55,18 @@ testem.log
.DS_Store
Thumbs.db
.vscode/
cypress/

# Cypress - only ignore downloads, screenshots, and videos
cypress/downloads/
cypress/screenshots/
cypress/videos/

src/assets/env.js
src/environments/.env.ts

# Node and build artifacts
/node_modules
/dist
/out-tsc
/openapitools.json

# Playwright
/test-results/
/playwright-report/
/blob-report/
/playwright/.cache/
/playwright/.auth/
2 changes: 2 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ ENV PATH=/usr/src/app/node_modules/.bin:$PATH
ENV PUPPETEER_DOWNLOAD_HOST=$PUPPETEER_DOWNLOAD_HOST_ARG
ENV PUPPETEER_CHROMIUM_REVISION=$PUPPETEER_CHROMIUM_REVISION_ARG
ENV PUPPETEER_SKIP_DOWNLOAD=$PUPPETEER_SKIP_DOWNLOAD_ARG
ENV CYPRESS_INSTALL_BINARY=0
ENV PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1

COPY ./ /usr/src/app/

Expand Down
37 changes: 37 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,43 @@ Mifos X Web App is a modern single-page application (SPA) built on top of the Mi
- Angular framework
- Angular Material components

## 📋 Table of Contents

- [Overview](#overview)
- [Quick Links](#quick-links)
- [Installation Guide](#installation-guide)
- [Prerequisites](#prerequisites-for-all-methods)
- [Backend Setup](#backend-setup-required-first)
- [Frontend Setup](#frontend-setup-web-app)
- [Method 1: Manual Installation](#method-1-manual-installation)
- [Method 2: Docker](#method-2-docker-container-only)
- [Method 3: Docker Compose](#method-3-docker-compose-frontend--backend)
- [Default Login Credentials](#default-login-credentials)
- [Development Commands](#development-commands)
- [Proxy Configuration](#proxy-configuration)
- [Sandbox Proxy](#using-the-sandbox-proxy-default)
- [Local Fineract](#using-a-local-fineract-instance)
- [Testing the Proxy](#testing-the-proxy)
- [Configuration Options](#configuration-options)
- [Environment Variables for Docker](#environment-variables-for-docker)
- [Fineract Backend](#fineract-backend-settings)
- [Language Settings](#language-settings-i18n)
- [Date Formats](#date-and-datetime-format-settings)
- [Session & Performance](#session--performance-settings)
- [Password Policy](#password-policy-settings)
- [UI Display](#ui-display-settings)
- [OAUTH](#oauth-settings)
- [OIDC](#oidc-settings)
- [External National ID](#external-national-id-system-integration)
- [Interbank Transfers](#interbank-transfers-settings)
- [Remittance Module](#remittance-module-settings)
- [Client Data Masking](#client-data-masking-example)
- [Interbank Transfer Menu](#interbank-transfer-menu)
- [Role-Based Access Control](#role-based-access-control-rbac)
- [Releases](#releases)
- [Contributing](#contributing)
- [Related Projects](#related-projects)

## Quick Links

- [Live Demo](https://sandbox.mifos.community/#/login) (Updated nightly ** System is restored every 6 hours **)
Expand Down
40 changes: 40 additions & 0 deletions config/e2e/fineract.env
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Fineract E2E Environment — PostgreSQL-only

# ── Spring Profiles ──
SPRING_PROFILES_ACTIVE=test,diagnostics

# ── PostgreSQL Connection (Docker service: "db") ──
FINERACT_HIKARI_DRIVER_SOURCE_CLASS_NAME=org.postgresql.Driver
FINERACT_HIKARI_JDBC_URL=jdbc:postgresql://db:5432/fineract_tenants
FINERACT_HIKARI_USERNAME=postgres
# Well-known Fineract E2E password — intentionally committed, not a secret.
FINERACT_HIKARI_PASSWORD=skdcnwauicn2ucnaecasdsajdnizucawencascdca

# ── Tenant Database ──
FINERACT_DEFAULT_TENANTDB_HOSTNAME=db
FINERACT_DEFAULT_TENANTDB_PORT=5432
FINERACT_DEFAULT_TENANTDB_UID=postgres
FINERACT_DEFAULT_TENANTDB_PWD=skdcnwauicn2ucnaecasdsajdnizucawencascdca
FINERACT_DEFAULT_TENANTDB_NAME=fineract_default

# ── SSL & HTTP ──
FINERACT_SERVER_SSL_ENABLED=true
FINERACT_INSECURE_HTTP_CLIENT=true

# ── Node Identity ──
FINERACT_NODE_ID=1

# ── External Events (no ActiveMQ in E2E) ──
FINERACT_EXTERNAL_EVENTS_ENABLED=false

# ── HikariCP Pool (tuned for E2E) ──
FINERACT_HIKARI_MINIMUM_IDLE=3
FINERACT_HIKARI_MAXIMUM_POOL_SIZE=10

# ── Data Seeding ──
# INITIALIZATION_ENABLED is NOT a Fineract server env var (it belongs to
# fineract-e2e-tests-runner's Gradle Cucumber runner). Do not set it here.
#
# Liquibase auto-seeds: Head Office, default tenant config, schema.
# Domain data (products, GL accounts, clients) must be seeded via the
# FineractApiClient fixture in test beforeAll hooks.
25 changes: 25 additions & 0 deletions config/e2e/nginx-e2e.conf.template
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
server {
listen 80;
server_name _;

root /usr/share/nginx/html;
index index.html;

# ${E2E_PROXY_TARGET} is replaced by envsubst; $host/$scheme etc. are
# safe because NGINX_ENVSUBST_FILTER restricts to ^(FINERACT_|MIFOS_|...).
location /fineract-provider/ {
proxy_pass ${E2E_PROXY_TARGET}/fineract-provider/;
proxy_ssl_verify off;
proxy_connect_timeout 30s;
proxy_read_timeout 120s;
}

location / {
try_files $uri $uri/ /index.html;
}

location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot)$ {
expires 1y;
add_header Cache-Control "public, immutable";
}
}
11 changes: 11 additions & 0 deletions config/e2e/postgresql-init.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/bin/bash
# Creates the two databases Fineract requires at first boot.
# POSTGRES_USER (postgres) is the default superuser — no CREATE USER needed.
set -e

psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQL
CREATE DATABASE fineract_tenants;
CREATE DATABASE fineract_default;
EOSQL

echo "✓ E2E databases created: fineract_tenants, fineract_default"
Loading