Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
242 commits
Select commit Hold shift + click to select a range
cf5904d
Add core class-based domain models for Settings
Aryanak47 Oct 29, 2025
7b7cdd4
refactor: Integrate class models in Profile and Organization components
Aryanak47 Oct 29, 2025
92f3a5c
refactor: Integrate AlertModel and UserModel in Team component
Aryanak47 Oct 29, 2025
3b5ab02
refactor: Integrate ApiTokenModel in ApiKeys component
Aryanak47 Oct 29, 2025
813dc77
refactor: Convert AlertModel class to interface-based implementation
Aryanak47 Nov 3, 2025
44ee177
update setting page to use old alert ,interface-based implementation
Aryanak47 Nov 3, 2025
d423fd0
implement class-based model in Risk Management and Project Risk Tables
rachanabasnet Nov 3, 2025
bb563c2
implement class-based model in Audit Risk and Linked Risk Popup Tables
rachanabasnet Nov 3, 2025
a6fccaa
Merge branch 'develop' of https://github.com/bluewave-labs/verifywise…
rachanabasnet Nov 3, 2025
a4e06d6
fix frontend checks failing
rachanabasnet Nov 3, 2025
17c9200
resolve ai code suggestions
rachanabasnet Nov 3, 2025
54afb39
resolve ai code suggestions
rachanabasnet Nov 3, 2025
bae3c68
feat: Integrate class-based domains for evidence management
Aryanak47 Nov 4, 2025
901b38f
bug fixes in migration file
Nov 4, 2025
22410fd
Integrate class-based business domains for Organization settings
Aryanak47 Nov 4, 2025
74843b4
Fix tab alignment when badges are missing
gorkem-bwl Nov 4, 2025
d8c71d8
Add count badges to project view tabs and improve alignment
gorkem-bwl Nov 4, 2025
3545fc2
Make search boxes always visible by default
gorkem-bwl Nov 4, 2025
5fdc65a
Match search box height to dropdown height in Model Inventory
gorkem-bwl Nov 4, 2025
fd882bc
Additional UI/UX improvements: vendor modal, breadcrumbs, Select comp…
gorkem-bwl Nov 4, 2025
89ab3c4
Add ChipInput component and fix multi-select dropdown height issues
gorkem-bwl Nov 4, 2025
eda6611
Merge pull request #2609 from bluewave-labs/ui-ux-improvements-nov-4
gorkem-bwl Nov 4, 2025
60e55a8
Merge pull request #2604 from bluewave-labs/rb-oct-30-risk-mng-class-…
MuhammadKhalilzadeh Nov 4, 2025
b60caf7
Potential fix for code scanning alert no. 13: Database query built fr…
MuhammadKhalilzadeh Nov 4, 2025
637b33f
Merge pull request #2610 from bluewave-labs/alert-autofix-13
MuhammadKhalilzadeh Nov 4, 2025
2f8a496
Potential fix for code scanning alert no. 20: Incomplete string escap…
MuhammadKhalilzadeh Nov 4, 2025
19010e8
Merge pull request #2612 from bluewave-labs/alert-autofix-20
MuhammadKhalilzadeh Nov 4, 2025
172e504
Potential fix for code scanning alert no. 14: Database query built fr…
MuhammadKhalilzadeh Nov 4, 2025
99c5351
Merge pull request #2613 from bluewave-labs/alert-autofix-14
MuhammadKhalilzadeh Nov 4, 2025
9cfe970
Merge branch 'develop' of https://github.com/bluewave-labs/verifywise…
Aryanak47 Nov 4, 2025
1faa186
Merge branch 'develop' of https://github.com/bluewave-labs/verifywise…
Aryanak47 Nov 4, 2025
4511b27
- fix merged issues
Aryanak47 Nov 4, 2025
9d1860b
- fix build issue
Aryanak47 Nov 4, 2025
47e04b5
Potential fix for code scanning alert no. 16: Database query built fr…
MuhammadKhalilzadeh Nov 4, 2025
45632d2
Merge pull request #2615 from bluewave-labs/alert-autofix-16
MuhammadKhalilzadeh Nov 4, 2025
668570b
Potential fix for code scanning alert no. 17: Database query built fr…
MuhammadKhalilzadeh Nov 4, 2025
11be6eb
Merge pull request #2616 from bluewave-labs/alert-autofix-17
MuhammadKhalilzadeh Nov 4, 2025
6ce4040
Potential fix for code scanning alert no. 18: Database query built fr…
MuhammadKhalilzadeh Nov 4, 2025
83719be
Merge pull request #2617 from bluewave-labs/alert-autofix-18
MuhammadKhalilzadeh Nov 4, 2025
19813d2
Potential fix for code scanning alert no. 21: Incomplete multi-charac…
MuhammadKhalilzadeh Nov 4, 2025
200130c
package-lock.json
MuhammadKhalilzadeh Nov 4, 2025
6fa76dc
Merge pull request #2618 from bluewave-labs/alert-autofix-21
MuhammadKhalilzadeh Nov 4, 2025
d6f0da2
added code for automation history
Nov 4, 2025
f9102a6
Feat: Use-case new fields FE
Br0wnHammer Nov 4, 2025
f611d41
Feat: Use-case new fields BE
Br0wnHammer Nov 4, 2025
081fe73
Feat: Use-case new fields Migrations
Br0wnHammer Nov 4, 2025
cc10002
Fix: Update Fields Use-Case
Br0wnHammer Nov 4, 2025
fc6b1f9
move all the interfaces to domain level
rachanabasnet Nov 4, 2025
5b64167
add uc_id in the project model and table
rachanabasnet Nov 4, 2025
8b71e2a
add version on the app
Nov 5, 2025
7835532
updated ci-cd
Nov 5, 2025
6540520
updated code
Nov 5, 2025
84e05b9
Standardize TabBar component across application
gorkem-bwl Nov 5, 2025
18e91a4
Merge pull request #2623 from bluewave-labs/hp-nov-4-add-version-on-t…
gorkem-bwl Nov 5, 2025
4fcfff1
Standardize SearchBox component across application
gorkem-bwl Nov 5, 2025
9a5e665
Fix CI/CD TypeScript build errors
gorkem-bwl Nov 5, 2025
9335dd9
Remove unused IconButton and InputBase imports from TrainingRegistar
gorkem-bwl Nov 5, 2025
33c4c1f
Merge pull request #2624 from bluewave-labs/standardize-tabbar-component
gorkem-bwl Nov 5, 2025
df76f31
Use standard VerifyWise checkbox icons in MultiSelect component
gorkem-bwl Nov 5, 2025
922aaca
Refactor: Use standard Checkbox component in VerifyWiseMultiSelect
gorkem-bwl Nov 5, 2025
d1b4951
Fix line height in VerifyWiseMultiSelect dropdown options
gorkem-bwl Nov 5, 2025
3d5a3ba
Add Incidents card to dashboard
gorkem-bwl Nov 5, 2025
c0d67a3
Add empty state when all dashboard cards are hidden
gorkem-bwl Nov 5, 2025
0373221
Fix font size consistency in dashboard empty state
gorkem-bwl Nov 5, 2025
75e7784
Add spacing above placeholder in dashboard empty state
gorkem-bwl Nov 5, 2025
29cb00e
Fix spacing above placeholder in dashboard empty state
gorkem-bwl Nov 5, 2025
e910d1a
Add space above placeholder by increasing top padding
gorkem-bwl Nov 5, 2025
4c80395
Add top margin to empty state container
gorkem-bwl Nov 5, 2025
2714d81
Clean up empty state styling
gorkem-bwl Nov 5, 2025
4b444f6
Fix default heights for dashboard widgets when re-added
gorkem-bwl Nov 5, 2025
1de8e9c
Fix dashboard widget height persistence and adjust incidents card size
gorkem-bwl Nov 5, 2025
cdb0e81
Add incidents to entityType union for MetricCard
gorkem-bwl Nov 5, 2025
549d0db
Add incidents support to utility functions and type definitions
gorkem-bwl Nov 5, 2025
3001a15
Change incidents card to double height to show detailed status breakdown
gorkem-bwl Nov 5, 2025
699de82
Merge pull request #2625 from bluewave-labs/fix-dashboard-widget-heights
gorkem-bwl Nov 5, 2025
ae708ad
Improve automation history UI and UX
gorkem-bwl Nov 5, 2025
3b58c25
Merge pull request #2620 from bluewave-labs/hp-nov-4-automation-history
gorkem-bwl Nov 5, 2025
57c5990
Improve hover and focus states for all input components
gorkem-bwl Nov 5, 2025
62b660c
Add hover and focus states to SearchBox component
gorkem-bwl Nov 5, 2025
4453f0b
Add hover and focus states to PolicyForm multi-select dropdowns
gorkem-bwl Nov 5, 2025
2706f0a
Fix multi-select Autocomplete and DatePicker focus states
gorkem-bwl Nov 5, 2025
f8692fc
Add hover and focus states to ProjectForm multi-select Autocomplete
gorkem-bwl Nov 5, 2025
47b60eb
Add hover and focus states to all remaining multi-select components
gorkem-bwl Nov 5, 2025
a0343de
Add hover and focus states to policy form rich text editor
gorkem-bwl Nov 5, 2025
1eb2d25
Change input hover color from gray to greenish across all components
gorkem-bwl Nov 5, 2025
1918a90
Merge pull request #2627 from bluewave-labs/improve-input-hover-focus…
gorkem-bwl Nov 5, 2025
306bbe6
sortings added to tasks table
MuhammadKhalilzadeh Nov 5, 2025
413b076
sortings added to use cases table view
MuhammadKhalilzadeh Nov 5, 2025
257cb88
Fix: Fields Spacing Use-Case
Br0wnHammer Nov 5, 2025
83694b8
sortings added to Framework risks table
MuhammadKhalilzadeh Nov 5, 2025
6642ad8
sortings added to vendors
MuhammadKhalilzadeh Nov 5, 2025
561105b
sortings added to vendor risks
MuhammadKhalilzadeh Nov 5, 2025
95382ac
sortings added to AI training registry
MuhammadKhalilzadeh Nov 5, 2025
227c4ea
Merge pull request #2628 from bluewave-labs/mo-253-nov-5-ui-enhancements
MuhammadKhalilzadeh Nov 5, 2025
048e069
update new tenant script for automation logs
Nov 5, 2025
8fce361
Merge branch 'develop' of https://github.com/bluewave-labs/verifywise…
rachanabasnet Nov 5, 2025
a4c75ba
add use case id in Project model, interface and type
rachanabasnet Nov 5, 2025
e4bfe65
display UC ID in project card and list view
rachanabasnet Nov 5, 2025
af4e8c9
Merge branch 'develop' of https://github.com/bluewave-labs/verifywise…
rachanabasnet Nov 5, 2025
b8df29c
Add interactive flying hearts animation feature
gorkem-bwl Nov 5, 2025
0ebc232
Remove unused alpha import from Sidebar component
gorkem-bwl Nov 5, 2025
037ce6a
fix display for undefined use case ids
rachanabasnet Nov 5, 2025
c4e7d2c
Fix heart animation behavior and positioning
gorkem-bwl Nov 5, 2025
a245572
Merge pull request #2631 from bluewave-labs/feature/flying-hearts-ani…
gorkem-bwl Nov 5, 2025
c233e0f
make ud_id not null after adding data, handle null case in frontend
rachanabasnet Nov 5, 2025
a6b63c7
Merge branch 'develop' of https://github.com/bluewave-labs/verifywise…
rachanabasnet Nov 5, 2025
bba74b4
display all files in the evidence table
rachanabasnet Nov 5, 2025
6e32e76
fix response format
rachanabasnet Nov 5, 2025
8a02519
remove console.log
rachanabasnet Nov 5, 2025
8254aef
Merge pull request #2621 from bluewave-labs/as-nov-5-new-fields-use-case
gorkem-bwl Nov 6, 2025
479f245
added-upload-file
swaleha456 Nov 6, 2025
f673778
Fix security vulnerability by replacing html-minifier with html-minif…
gorkem-bwl Nov 6, 2025
b213d3b
fixes-merge-conflicts
swaleha456 Nov 6, 2025
8eedd84
added-more-fixes
swaleha456 Nov 6, 2025
5d17d06
Merge branch 'develop' of https://github.com/bluewave-labs/verifywise…
Aryanak47 Nov 6, 2025
11a3f20
create interface, model, controllers, utils, and route to get, create…
rachanabasnet Nov 7, 2025
02a74d1
create repository, hooks, model to create, update, and get user prefe…
rachanabasnet Nov 7, 2025
7334bf5
sorting added to FileBasicTable
MuhammadKhalilzadeh Nov 7, 2025
8ad636b
sorting added to Reporting
MuhammadKhalilzadeh Nov 7, 2025
d14e3b4
sorting added to AI trust center/resources
MuhammadKhalilzadeh Nov 7, 2025
c4f1d0b
sorting added to AI trust public center/resources
MuhammadKhalilzadeh Nov 7, 2025
beb8029
sorting added to AI trust public center/subprocessors
MuhammadKhalilzadeh Nov 7, 2025
a36b962
sorting added to Policy manager
MuhammadKhalilzadeh Nov 7, 2025
1df35e1
sorting added to Incident Management
MuhammadKhalilzadeh Nov 7, 2025
acc4a58
sorting added to Event Tracker
MuhammadKhalilzadeh Nov 7, 2025
3882c56
sorting added to settings/team
MuhammadKhalilzadeh Nov 7, 2025
7dca1f0
Merge pull request #2637 from bluewave-labs/mo-255-nov-7-ui-enhancements
MuhammadKhalilzadeh Nov 7, 2025
e043075
Merge pull request #2622 from bluewave-labs/rb-nov-04-dashboard-class…
MuhammadKhalilzadeh Nov 7, 2025
6917c8e
Merge branch 'develop' of https://github.com/bluewave-labs/verifywise…
rachanabasnet Nov 7, 2025
35aab48
add uc_id in createNewTenant script
rachanabasnet Nov 7, 2025
f0fb0e3
Standardize empty state UI across application
gorkem-bwl Nov 7, 2025
43ee90f
Refactor empty state to use encapsulated EmptyState component
gorkem-bwl Nov 7, 2025
ff4cd2a
Merge pull request #2640 from bluewave-labs/ui/empty-state-clean-v2
gorkem-bwl Nov 7, 2025
0b7c015
added analytics tab for risks and model inventory
Nov 7, 2025
da52129
Merge branch 'develop' of https://github.com/bluewave-labs/verifywise…
Nov 7, 2025
bcd279b
fix build error
Nov 7, 2025
be6ab8b
Merge pull request #2632 from bluewave-labs/rb-nov-04-unique-use-case…
MuhammadKhalilzadeh Nov 7, 2025
bcceb19
Merge pull request #2633 from bluewave-labs/rb-nov-05-evidence-files-…
MuhammadKhalilzadeh Nov 7, 2025
53f1f4b
Merge pull request #2635 from bluewave-labs/fix/html-minifier-securit…
MuhammadKhalilzadeh Nov 7, 2025
adb10f3
Merge branch 'develop' of https://github.com/bluewave-labs/verifywise…
rachanabasnet Nov 7, 2025
e66005b
add standard font size and color in EU AI Act classifier modal
rachanabasnet Nov 7, 2025
3d8904c
change Checkbox and Radio to standard component
rachanabasnet Nov 7, 2025
0c6ec43
Merge pull request #2642 from bluewave-labs/rb-nov-07-fix-font-color-…
gorkem-bwl Nov 7, 2025
5a06761
create preference tab in settings, create form to create/update date …
rachanabasnet Nov 7, 2025
f8b4c11
Merge branch 'develop' of https://github.com/bluewave-labs/verifywise…
rachanabasnet Nov 7, 2025
5ea3896
fix the model type and add validation in user preference creation
rachanabasnet Nov 7, 2025
82a61a7
Potential fix for code scanning alert no. 18: Database query built fr…
MuhammadKhalilzadeh Nov 8, 2025
97a9619
Fixing the check failure
MuhammadKhalilzadeh Nov 8, 2025
6e01c16
Merge pull request #2646 from bluewave-labs/mo-256-nov-8-vulnerabilit…
MuhammadKhalilzadeh Nov 8, 2025
5b895d5
Fixing merge conflicts
MuhammadKhalilzadeh Nov 8, 2025
81a691b
Merge pull request #2645 from bluewave-labs/alert-autofix-18
MuhammadKhalilzadeh Nov 8, 2025
f426bbd
Potential fix for code scanning alert no. 22: Incomplete multi-charac…
MuhammadKhalilzadeh Nov 8, 2025
f0ca564
Merge pull request #2647 from bluewave-labs/alert-autofix-22
MuhammadKhalilzadeh Nov 8, 2025
141a2d0
Potential fix for code scanning alert no. 18: Database query built fr…
MuhammadKhalilzadeh Nov 8, 2025
850a948
Fixing builds
MuhammadKhalilzadeh Nov 8, 2025
1f9d39c
Merge pull request #2648 from bluewave-labs/alert-autofix-18
MuhammadKhalilzadeh Nov 8, 2025
062dea9
Potential fix for code scanning alert no. 24: Missing CSRF middleware
MuhammadKhalilzadeh Nov 8, 2025
32d4ec2
Small change in the package.json
MuhammadKhalilzadeh Nov 8, 2025
7f7fdbf
Merge pull request #2649 from bluewave-labs/alert-autofix-24
MuhammadKhalilzadeh Nov 8, 2025
478906a
Potential fix for code scanning alert no. 25: Inefficient regular exp…
MuhammadKhalilzadeh Nov 8, 2025
ea204e9
Revert "Potential fix for code scanning alert no. 24: Missing CSRF mi…
MuhammadKhalilzadeh Nov 8, 2025
cdc97d5
Merge pull request #2651 from bluewave-labs/revert-2649-alert-autofix-24
MuhammadKhalilzadeh Nov 8, 2025
ef6e2be
Merge branch 'develop' into alert-autofix-25
MuhammadKhalilzadeh Nov 8, 2025
de4e741
Merge pull request #2650 from bluewave-labs/alert-autofix-25
MuhammadKhalilzadeh Nov 8, 2025
1df57be
Merge branch 'develop' of https://github.com/bluewave-labs/verifywise…
Aryanak47 Nov 8, 2025
a480ce1
Merge pull request #2611 from bluewave-labs/yb-nov-3-integrate-class-…
solan117 Nov 8, 2025
5d760c0
Merge branch 'develop' of https://github.com/bluewave-labs/verifywise…
Aryanak47 Nov 9, 2025
519d48b
Merge pull request #2614 from bluewave-labs/yb-nov-3-integrate-class-…
MuhammadKhalilzadeh Nov 10, 2025
d545c58
Focus effect added to Tasks Table
MuhammadKhalilzadeh Nov 10, 2025
fb886ac
Focus effect added to Use cases table
MuhammadKhalilzadeh Nov 10, 2025
45052d3
Focus effect added to Vendor table
MuhammadKhalilzadeh Nov 10, 2025
1636640
Focus effect added to Vendor risks
MuhammadKhalilzadeh Nov 10, 2025
07a0a73
Focus effect added to Risk Management
MuhammadKhalilzadeh Nov 10, 2025
18f2e63
Focus effect added to AI training registry
MuhammadKhalilzadeh Nov 10, 2025
af4e3b0
Focus effect added to Evidence & documents
MuhammadKhalilzadeh Nov 10, 2025
f4276ef
Focus effect added to Reporting
MuhammadKhalilzadeh Nov 10, 2025
53adee6
move Preferences besides APi keys
rachanabasnet Nov 10, 2025
3a99235
Merge branch 'develop' of https://github.com/bluewave-labs/verifywise…
rachanabasnet Nov 10, 2025
44927a6
added-some-small-checks
swaleha456 Nov 10, 2025
852a927
remove-unnecessary-field
swaleha456 Nov 10, 2025
6a9cf9c
Integrating-Class-based-Business-Domains
swaleha456 Nov 10, 2025
72a4b90
create function to format the date and display formattedDates in the …
rachanabasnet Nov 10, 2025
a4d8080
Focus effect added Public AI Trust Center
MuhammadKhalilzadeh Nov 11, 2025
4c61c2b
Focus effect added AI Trust Center dashboard
MuhammadKhalilzadeh Nov 11, 2025
35da8ee
Focus effect added Policy manager table
MuhammadKhalilzadeh Nov 11, 2025
c905594
Focus effect added Incident Management
MuhammadKhalilzadeh Nov 11, 2025
3fefc7c
Focus effect added Event Tracker
MuhammadKhalilzadeh Nov 11, 2025
ccb48a1
Focus effect added Team members table
MuhammadKhalilzadeh Nov 11, 2025
b366f34
Merge pull request #2660 from bluewave-labs/mo-258-nov-10-focus-effec…
MuhammadKhalilzadeh Nov 11, 2025
1c83330
Tasks Table lintings
MuhammadKhalilzadeh Nov 11, 2025
2887375
stronger background color for first column in Tasks Table
MuhammadKhalilzadeh Nov 11, 2025
2440f53
stronger background color for first column in Use cases
MuhammadKhalilzadeh Nov 11, 2025
fb125f2
stronger background color for first column in Vendor list
MuhammadKhalilzadeh Nov 11, 2025
3d28bcb
stronger background color for first column in Vendor risks
MuhammadKhalilzadeh Nov 11, 2025
abaabb0
stronger background color for first column in Model Risk
MuhammadKhalilzadeh Nov 11, 2025
8b2c46f
stronger background color for first column in Risk Management
MuhammadKhalilzadeh Nov 11, 2025
d420f94
stronger background color for first column in AI training registry
MuhammadKhalilzadeh Nov 11, 2025
9fea4bd
stronger background color for first column in Evidence & documents
MuhammadKhalilzadeh Nov 11, 2025
495389a
stronger background color for first column in Reporting
MuhammadKhalilzadeh Nov 11, 2025
ca4af70
stronger background color for first column in AI trust center / resou…
MuhammadKhalilzadeh Nov 11, 2025
7fb1e3b
stronger background color for first column in AI trust center / sybpr…
MuhammadKhalilzadeh Nov 11, 2025
945ed12
stronger background color for first column in Public AI trust center …
MuhammadKhalilzadeh Nov 11, 2025
e2a18d5
stronger background color for first column in Public AI trust center …
MuhammadKhalilzadeh Nov 11, 2025
511a7b1
stronger background color for first column in Policy manager
MuhammadKhalilzadeh Nov 11, 2025
7dc70a5
stronger background color for first column in Incident Management
MuhammadKhalilzadeh Nov 11, 2025
6da193a
stronger background color for first column in Event Tracker
MuhammadKhalilzadeh Nov 11, 2025
3e9ceef
stronger background color for first column in Settings/Team
MuhammadKhalilzadeh Nov 11, 2025
7b01df1
Merge pull request #2661 from bluewave-labs/mo-259-nov-11-table-index…
MuhammadKhalilzadeh Nov 11, 2025
29f7d55
Merge pull request #2644 from bluewave-labs/rb-nov-06-user-wide-date-…
MuhammadKhalilzadeh Nov 11, 2025
7b15b0f
add-fixes-for-removed-field-used-in-projects
swaleha456 Nov 11, 2025
b654a52
Feat: Use-case settings layout
Br0wnHammer Nov 11, 2025
d7d44af
Merge branch 'develop' of https://github.com/bluewave-labs/verifywise…
rachanabasnet Nov 11, 2025
28986a9
fix setting user date preferences to local storage
rachanabasnet Nov 11, 2025
79a8cc5
Merge pull request #2659 from bluewave-labs/fix/swaleha-Integrating-c…
solan117 Nov 11, 2025
1d57009
Merge pull request #2663 from bluewave-labs/as-nov-10-settings-layout
MuhammadKhalilzadeh Nov 12, 2025
4b862e7
Merge pull request #2665 from bluewave-labs/rb-nov-10-implement-user-…
MuhammadKhalilzadeh Nov 12, 2025
ba30fac
resolved merge conflicts
Nov 12, 2025
03c0fd0
ui-fixes
swaleha456 Nov 12, 2025
35c1db6
Convert all UI text elements to sentence case
gorkem-bwl Nov 13, 2025
e0e6f13
Keep sidebar navigation and page headers in Title Case
gorkem-bwl Nov 13, 2025
d9f0782
Fix remaining Title Case issues in sidebar and page headers
gorkem-bwl Nov 13, 2025
2e88da9
Change Frameworks header to Organizational Frameworks
gorkem-bwl Nov 13, 2025
f3831e8
Merge pull request #2670 from bluewave-labs/fix/ui-text-sentence-case
gorkem-bwl Nov 13, 2025
9a00d76
Refine analytics drawer UI styling and layout
gorkem-bwl Nov 13, 2025
5f67ea6
Fix TypeScript errors in analytics chart components
gorkem-bwl Nov 13, 2025
3661326
Remove invalid padding property from legend configuration
gorkem-bwl Nov 13, 2025
d51a5ce
Simplify legend configuration to use only valid properties
gorkem-bwl Nov 13, 2025
02874e7
security fixes
Nov 13, 2025
7644167
Merge pull request #2641 from bluewave-labs/hp-nov-7-add-analytics
gorkem-bwl Nov 13, 2025
42a389d
Merge pull request #2675 from bluewave-labs/hp-nov-13-security-issues
gorkem-bwl Nov 13, 2025
8d492d5
Simplify EU AI Act controls modal by removing control-level fields
gorkem-bwl Nov 13, 2025
bd1ee42
Fix critical issues from code review
gorkem-bwl Nov 13, 2025
8c21f0c
fix file manager download and delete
Nov 14, 2025
beca013
Merge pull request #2679 from bluewave-labs/hp-nov-13-file-maganer-fix
gorkem-bwl Nov 14, 2025
e646c93
updated duration validation for training registry
Nov 14, 2025
a60ace3
Fix migration to handle multi-tenant schema architecture
gorkem-bwl Nov 14, 2025
49082b6
Merge pull request #2681 from bluewave-labs/hp-nov-14-fix-training-du…
gorkem-bwl Nov 14, 2025
54ddd03
Merge pull request #2636 from bluewave-labs/fix/security-modal-upload
gorkem-bwl Nov 14, 2025
44cab82
fix model inventory bug
Nov 14, 2025
ad2439f
Merge pull request #2684 from bluewave-labs/hp-nov-14-fix-model-inven…
HarshP4585 Nov 14, 2025
f412f4d
update create tenant script
Nov 14, 2025
a292534
Merge pull request #2676 from bluewave-labs/simplify/eu-ai-act-contro…
HarshP4585 Nov 14, 2025
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
2 changes: 2 additions & 0 deletions .github/workflows/docker-image-saas.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,8 @@ jobs:
tags: |
ghcr.io/${{ github.repository_owner }}/verifywise-frontend-saas:${{ env.TAG }}
ghcr.io/${{ github.repository_owner }}/verifywise-frontend-saas:latest
build-args: |
VITE_APP_VERSION=${{ env.TAG }}

- name: Build and push Servers image
uses: docker/build-push-action@v4
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/docker-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ jobs:
ghcr.io/${{ github.repository_owner }}/verifywise-frontend:latest
build-args: |
VITE_SLACK_CLIENT_ID=${{ secrets.SLACK_CLIENT_ID }}
VITE_APP_VERSION=${{ env.TAG }}

- name: Build and push Servers image
uses: docker/build-push-action@v4
Expand Down
3 changes: 3 additions & 0 deletions Clients/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ COPY . .
ARG VITE_SLACK_CLIENT_ID
ENV VITE_SLACK_CLIENT_ID=$VITE_SLACK_CLIENT_ID

ARG VITE_APP_VERSION
ENV VITE_APP_VERSION=$VITE_APP_VERSION

# Step 6: Build the application
RUN npm run build

Expand Down
2 changes: 1 addition & 1 deletion Clients/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "verifywise",
"private": true,
"version": "1.0.0",
"version": "v1.6.1",
"type": "module",
"scripts": {
"dev": "vite --host",
Expand Down
8 changes: 8 additions & 0 deletions Clients/src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ import { DeploymentManager } from "./application/utils/deploymentHelpers";
import CommandPalette from "./presentation/components/CommandPalette";
import CommandPaletteErrorBoundary from "./presentation/components/CommandPalette/ErrorBoundary";
import useCommandPalette from "./application/hooks/useCommandPalette";
import useUserPreferences from "./application/hooks/useUserPreferences";

// Component to conditionally apply theme based on route
const ConditionalThemeWrapper = ({ children }: { children: React.ReactNode }) => {
Expand Down Expand Up @@ -54,6 +55,7 @@ function App() {
const { token, userRoleName, organizationId, userId } = useAuth();
const [alert, setAlert] = useState<AlertProps | null>(null);
const { users, refreshUsers } = useUsers();
const {userPreferences} = useUserPreferences();
const commandPalette = useCommandPalette();

useEffect(() => {
Expand All @@ -68,6 +70,12 @@ function App() {
return () => setShowAlertCallback(() => {});
}, []);

useEffect(() => {
if (userPreferences) {
localStorage.setItem("verifywise_preferences", JSON.stringify(userPreferences));
}
}, [userPreferences]);

const [uiValues, setUiValues] = useState<UIValues>({});
const [authValues, setAuthValues] = useState<AuthValues>({});
const [dashboardValues, setDashboardValues] = useState<DashboardState>({
Expand Down
48 changes: 48 additions & 0 deletions Clients/src/application/hooks/useDashboardMetrics.ts
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,19 @@ export interface PolicyMetrics {
statusDistribution?: Array<{ name: string; value: number; color: string }>;
}

export interface IncidentMetrics {
total: number;
recent: Array<{
id: number;
incident_id: string;
description: string;
severity: string;
status: string;
created_at: string;
}>;
statusDistribution?: Array<{ name: string; value: number; color: string }>;
}

export interface AITrustCenterStatus {
enabled: boolean;
last_updated: string;
Expand Down Expand Up @@ -163,6 +176,9 @@ export const useDashboardMetrics = () => {
const [policyMetrics, setPolicyMetrics] = useState<PolicyMetrics | null>(
null
);
const [incidentMetrics, setIncidentMetrics] = useState<IncidentMetrics | null>(
null
);
const [loading, setLoading] = useState(false);
const [error, setError] = useState<string | null>(null);

Expand Down Expand Up @@ -399,6 +415,33 @@ export const useDashboardMetrics = () => {
}
}, []);

// Fetch incident metrics
const fetchIncidentMetrics = useCallback(async () => {
try {
const response = await getAllEntities({ routeUrl: "/ai-incident-managements" });

// Handle the API response structure
const incidentsData = response.data || response.incidents || response;
const incidentsArray = Array.isArray(incidentsData) ? incidentsData : [];

const incidentMetrics = {
total: incidentsArray.length,
recent: incidentsArray.slice(0, 5).map((incident: any, index: number) => ({
id: incident.id || index + 1,
incident_id: incident.incident_id || `INC-${index + 1}`,
description: incident.description || incident.title || "Incident",
severity: incident.severity || "Unknown",
status: incident.status || "Unknown",
created_at: incident.created_at || incident.createdAt || new Date().toISOString(),
})),
};

setIncidentMetrics(incidentMetrics);
} catch (err) {
setIncidentMetrics(null);
}
}, []);

// Fetch all dashboard metrics safely
const fetchAllMetrics = useCallback(async () => {
setLoading(true);
Expand All @@ -419,6 +462,7 @@ export const useDashboardMetrics = () => {
fetchVendorMetrics(),
fetchUsersMetrics(),
fetchPolicyMetrics(),
fetchIncidentMetrics(),
]);

// Log which ones failed
Expand All @@ -436,6 +480,7 @@ export const useDashboardMetrics = () => {
"vendorMetrics",
"usersMetrics",
"policyMetrics",
"incidentMetrics",
];

if (result.status === "rejected") {
Expand All @@ -461,6 +506,7 @@ export const useDashboardMetrics = () => {
fetchVendorMetrics,
fetchUsersMetrics,
fetchPolicyMetrics,
fetchIncidentMetrics,
]);

// Initialize data on mount
Expand All @@ -482,6 +528,7 @@ export const useDashboardMetrics = () => {
vendorMetrics,
usersMetrics,
policyMetrics,
incidentMetrics,

// State
loading,
Expand All @@ -501,5 +548,6 @@ export const useDashboardMetrics = () => {
fetchVendorMetrics,
fetchUsersMetrics,
fetchPolicyMetrics,
fetchIncidentMetrics,
};
};
6 changes: 3 additions & 3 deletions Clients/src/application/hooks/useUserFilesMetaData.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,20 @@
* Custom hook to fetch and manage user files metadata
*
* @returns {{
* filesData: FileData[],
* filesData: FileModel[],
* loading: boolean,
* error: Error | null,
* refetch: () => void
* }} - An object containing the files data, loading state, error, and refetch function
*/

import { useState, useEffect, useCallback } from "react";
import { FileData } from "../../domain/types/File";
import { FileModel } from "../../domain/models/Common/file/file.model";
import { getUserFilesMetaData } from "../repository/file.repository";
import { transformFilesData } from "../utils/fileTransform.utils";

export const useUserFilesMetaData = () => {
const [filesData, setFilesData] = useState<FileData[]>([]);
const [filesData, setFilesData] = useState<FileModel[]>([]);
const [loading, setLoading] = useState(false);
const [error, setError] = useState<Error | null>(null);
const [refetchTrigger, setRefetchTrigger] = useState(0);
Expand Down
51 changes: 51 additions & 0 deletions Clients/src/application/hooks/useUserPreferences.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
import { useState, useEffect } from "react";
import { UserPreferencesModel } from "../../domain/models/Common/userPreferences/userPreferences.model";
import { getUserPreferencesByUserId } from "../repository/userPreferences.repository";
import { useAuth } from "./useAuth";
import { UserDateFormat } from "../../domain/enums/userDateFormat.enum";

const defaultUserPreferences: Omit<UserPreferencesModel, "id" | "user_id"> = {
date_format: UserDateFormat.DD_MM_YYYY_DASH,
};

const useUserPreferences = () => {
const { userId } = useAuth();
const [userPreferences, setUserPreferences] = useState<
Omit<UserPreferencesModel, "id" | "user_id">
>(defaultUserPreferences);
const [loading, setLoading] = useState(true);
const [error, setError] = useState<string | null>(null);
const [isDefault, setIsDefault] = useState<boolean>(false);

const fetchUserPreferences = async () => {
try {
setLoading(true);
const response = await getUserPreferencesByUserId(userId!);

setUserPreferences(response.data);
setError(null);
setIsDefault(false);
} catch (err) {
setIsDefault(true);
setError(
err instanceof Error ? err.message : "Failed to fetch user preferences",
);
} finally {
setLoading(false);
}
};

useEffect(() => {
fetchUserPreferences();
}, []);

return {
userPreferences,
isDefault,
loading,
error,
refreshUserPreferences: fetchUserPreferences,
};
};

export default useUserPreferences;
51 changes: 32 additions & 19 deletions Clients/src/application/repository/file.repository.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/* eslint-disable @typescript-eslint/no-explicit-any */
import { apiServices } from "../../infrastructure/api/networkServices";

// Type definitions for API responses
Expand Down Expand Up @@ -40,6 +41,7 @@ export interface FileUploadResponse {
mimetype: string;
upload_date: string;
uploaded_by: number;
modelId?: string; // optional
};
}

Expand Down Expand Up @@ -71,30 +73,31 @@ export async function getUserFilesMetaData({
}: {
signal?: AbortSignal;
} = {}): Promise<FileMetadata[]> {
const response = await apiServices.get<FileManagerResponse>("/file-manager", {
signal,
});
const [fileManageResponse, fileResponse] = await Promise.all([
apiServices.get<FileManagerResponse>("/file-manager", { signal }),
apiServices.get<any[]>("/files", { signal })
]);

// Extract and return all file data from API
// Keep all fields intact so transformFileData can process them
const rawFiles = response.data?.data?.files ?? [];
const rawFiles = [...(fileManageResponse.data?.data?.files ?? []), ...(fileResponse.data ?? [])];

return rawFiles.map((f: any) => ({
id: String(f.id),
filename: f.filename,
size: f.size,
mimetype: f.mimetype,
upload_date: f.upload_date,
uploaded_by: String(f.uploaded_by),
uploader_name: f.uploader_name, // Include uploader name
uploader_surname: f.uploader_surname, // Include uploader surname
source: f.source,
project_title: f.project_title,
project_id: f.project_id,
parent_id: f.parent_id,
sub_id: f.sub_id,
meta_id: f.meta_id,
is_evidence: f.is_evidence,
size: f?.size,
mimetype: f?.mimetype,
upload_date: f?.upload_date || f?.uploaded_time,
uploaded_by: String(f?.uploaded_by),
uploader_name: f?.uploader_name, // Include uploader name
uploader_surname: f?.uploader_surname, // Include uploader surname
source: f?.source,
project_title: f?.project_title,
project_id: f?.project_id,
parent_id: f?.parent_id,
sub_id: f?.sub_id,
meta_id: f?.meta_id,
is_evidence: f?.is_evidence,
})) as FileMetadata[];
}

Expand All @@ -109,14 +112,20 @@ export async function getUserFilesMetaData({
*/
export async function uploadFileToManager({
file,
model_id, // add this
signal,
}: {
file: File;
model_id?: string | number | undefined | null; // allow all safe cases
signal?: AbortSignal;
}): Promise<FileUploadResponse> {
const formData = new FormData();
formData.append("file", file);

// Append model_id only if it's defined and valid
formData.append("model_id", model_id ? String(model_id) : ""); // ✅ always present


// Delete Content-Type header to let axios auto-detect and set the proper boundary
const response = await apiServices.post<FileUploadResponse>("/file-manager", formData, {
signal,
Expand All @@ -139,11 +148,13 @@ export async function uploadFileToManager({
export async function downloadFileFromManager({
id,
signal,
source,
}: {
id: string;
signal?: AbortSignal;
source?: string;
}): Promise<Blob> {
const response = await apiServices.get<Blob>(`/file-manager/${id}`, {
const response = await apiServices.get<Blob>(`/file-manager/${id}?isFileManagerFile=${source === "File Manager"}`, {
signal,
responseType: "blob",
});
Expand All @@ -161,11 +172,13 @@ export async function downloadFileFromManager({
export async function deleteFileFromManager({
id,
signal,
source,
}: {
id: string;
signal?: AbortSignal;
source?: string;
}): Promise<any> {
const response = await apiServices.delete<any>(`/file-manager/${id}`, {
const response = await apiServices.delete<any>(`/file-manager/${id}?isFileManagerFile=${source === "File Manager"}`, {
signal,
});
return response.data;
Expand Down
Loading
Loading