Jump to content
View in the app

A better way to browse. Learn more.

DoniaWeB

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
     

Bicrypto - Crypto Trading Platform, Binary Trading, Investments, Blog, News & More! v5.6.8 + All Add-ons

Featured Replies

  • Replies 607
  • Views 231.5k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • Bro i am waiting for addons updation. Please update addons please

  • It works beautiful now, thank you man ! This is the best forum in the world !!! Fuck yeah 😎

  • Mahmoud
    Mahmoud

    This file has been updated to 5.4.4 + All Add-ons What's New in this Version: ## Bug Fixes ### Authentication - reCAPTCHA v3 Fixes #### Backend - **Fixed** reCAPTCHA token validation error in login e

Most Helpful Posts

  • Spartan
    Spartan

    i’m getting this error trying to login my dashboard

  • Mahmoud
    Mahmoud

    This file has been updated to 5.3.7 + All Add-ons What's New in this Version: KYC System Critical Fixes User Cache Invalidation: Fixed critical issue where users couldn't access features immediately a

  • Mahmoud
    Mahmoud

    This file has been updated to 5.3.9 + All Add-ons What's New in this Version: Update 31 July 2025

Posted Images

  • Community Expert
  • Author
  • Administrators

This file has been updated to 5.4.1 + All Add-ons

What's New in this Version:

## Enhanced
### **Security Improvements**
- **Provider Information Abstraction**: Completely removed exchange provider names from user-facing error messages
  - **Generic Error Messages**: Replaced provider-specific errors (e.g., "Insufficient balance on binance exchange") with professional, generic messages
  - **Internal Details Hidden**: Eliminated technical references to "exchange account refill" and backend architecture details
  - **Consistent Messaging**: Standardized all withdrawal error messages across different exchange providers
  - **Professional Appearance**: Error messages now appear as native platform responses rather than third-party provider errors

### **Admin Panel Enhancements**
- **Flexible Wallet Management**: Improved wallet editing functionality with enhanced validation system
  - **Partial Updates**: Support for editing individual wallet fields without requiring all fields
  - **Streamlined UX**: Removed restrictive validation that prevented simple balance adjustments
  - **Better Error Handling**: Clear, actionable error messages for admin operations

### **Payment System Modernization**
- **PayPal SDK Migration**: Upgraded to latest PayPal server-side SDK for enhanced security and stability
  - **Modern API Integration**: Migrated from deprecated `@paypal/checkout-server-sdk` to `@paypal/paypal-server-sdk`
  - **Enhanced Return Flow**: Implemented dedicated PayPal return page with comprehensive status handling
  - **Improved Error Handling**: Better error messages and user feedback during payment processing
  - **Fixed Return URLs**: Corrected PayPal return and cancel URLs to match frontend routing structure

## Fixed
### **Validation Issues**
- **Wallet Edit Schema**: Fixed schema validation error preventing wallet balance updates in admin panel
  - **Optional Fields**: Made all wallet update fields optional to support partial updates
  - **Flexible Validation**: Updated validation logic to filter undefined values appropriately

### **Error Message Security**
- **Withdrawal Errors**: Secured all spot withdrawal error messages to prevent information leakage
  - **Provider Abstraction**: Removed "binance", "kucoin", "xt" references from user-visible errors
  - **Generic Responses**: Implemented user-friendly error messages that don't reveal backend infrastructure

### **Security Vulnerabilities**
- **Dependency Updates**: Patched security vulnerabilities in backend dependencies
  - **IP Package**: Updated `ip` package to address security advisories
  - **XLSX Package**: Updated `xlsx` package to latest secure version
  - **PayPal SDK**: Replaced deprecated PayPal SDK with actively maintained version

## Technical Improvements
### **API Security**
- **Error Handling**: Enhanced error handling across withdrawal endpoints to maintain provider abstraction
- **Schema Flexibility**: Improved validation schemas to support better admin user experience
- **Data Protection**: Strengthened protection of internal system details from end users

### **Build System Enhancements**
- **Webpack Configuration**: Improved build system to handle modern ES modules and complex dependencies
  - **Node.js Fallbacks**: Added fallback configuration for Node.js-specific modules (fs, path, crypto, stream, buffer) in browser builds
  - **Module Resolution**: Enhanced module resolution for third-party packages with complex dependency structures
  - **Build Warnings**: Implemented selective warning suppression for known safe module resolution patterns
  - **ES Module Support**: Improved handling of packages using modern ES module exports and lit components

### **Dependency Management**
- **Workspace Configuration**: Optimized pnpm workspace setup for better dependency resolution
  - **Centralized Overrides**: Consolidated all `pnpm.overrides` and `peerDependencyRules` to root package.json
  - **Version Consistency**: Enforced consistent dependency versions across frontend and backend workspaces
  - **Peer Dependency Resolution**: Improved handling of peer dependency conflicts for React 19 and TypeScript 5.9
  - **Security Updates**: Updated vulnerable packages including `ip`, `xlsx`, and deprecated PayPal SDK

## Compatibility Notes
### **No Breaking Changes**
- **API Compatibility**: All existing API endpoints maintain the same response structure
- **Error Codes**: HTTP status codes remain unchanged, only error message content has been improved
- **Admin Functions**: Enhanced admin functionality without breaking existing workflows
- **PayPal Integration**: SDK migration maintains full backward compatibility with existing payment flows
- **Build System**: Webpack improvements are transparent to end users and maintain all existing functionality

## Security Notes
### **Information Disclosure Prevention**
- **Provider Anonymity**: Complete abstraction of backend exchange providers from user interfaces
- **Professional Messaging**: All error messages now reflect your platform branding rather than third-party services
- **Infrastructure Protection**: Internal system architecture details are fully protected from user exposure

---
**Upgrade Recommendation**: HIGHLY RECOMMENDED for all production environments, especially those handling financial transactions

Support is available for paid files only
Support for free files is offered for a fee only

  • Community Expert
  • Author
  • Administrators

This file has been updated to 5.4.2 + All Add-ons

What's New in this Version:

## New Features

### CSV Import/Export for User Management
- **Added** bulk user import functionality via CSV file upload
- **Added** user export to CSV for data backup and migration
- **Implemented** comprehensive CSV validation and error reporting
- **Added** downloadable CSV template with example data
- **Support** for all user fields including profile and social data

### Exchange Market Fee Management
- **Added** ability to edit taker and maker fees for spot markets
- **Added** editable fields for market trending and hot flags
- **Added** precision configuration for price and amount decimals
- **Enhanced** exchange market management interface similar to ecosystem markets

## Feature Details

### User CSV Import Features
- **Validation** for required fields (email, firstName, lastName)
- **Duplicate detection** prevents creating users with existing emails
- **Configurable default password** for imported users without passwords
- **Optional welcome email** sending to newly imported users
- **Detailed error reporting** with row numbers and specific error messages
- **Support for profile data** including bio, location, and social media links
- **Flexible boolean parsing** accepts true/false, yes/no, 1/0 formats
- **Batch processing** with transaction support for data integrity

### User CSV Export Features
- **Export filters** by user status (ACTIVE, INACTIVE, BANNED, SUSPENDED)
- **Optional password export** (encrypted) for migration purposes
- **Complete data export** including all profile and social fields
- **Auto-generated filename** with current date
- **CSV format** compatible with import template

### Exchange Market Enhancements
- **Editable fee structure**:
  - Taker fee percentage
  - Maker fee percentage
- **Market configuration**:
  - Currency and pair editing
  - Trending and hot market flags
  - Price and amount precision settings
- **API improvements**:
  - Fixed permission scope from ecosystem to exchange
  - Updated operation IDs and tags for proper categorization

## Technical Details

### Files Added
- `backend/src/api/admin/crm/user/import.post.ts` - CSV import endpoint
- `backend/src/api/admin/crm/user/export-csv.get.ts` - CSV export endpoint
- `frontend/public/templates/users_import_template.csv` - Sample CSV template

### Files Modified
- `frontend/app/[locale]/(dashboard)/admin/crm/user/page.tsx` - Added import/export UI
- `frontend/app/[locale]/(dashboard)/admin/finance/exchange/[id]/market/columns.tsx` - Enhanced market fee editing
- `backend/src/api/admin/finance/exchange/market/[id]/index.put.ts` - Fixed permissions and expanded update fields
- `backend/src/api/admin/finance/exchange/market/utils.ts` - Added currency/pair to update schema

### Dependencies Added
- `csv-parse` - For parsing CSV files during import
- `csv-stringify` - For generating CSV files during export

## CSV Import Format

### Required Fields
- `email` - User's email address (must be unique)
- `firstName` - User's first name
- `lastName` - User's last name

### Optional Fields
- `password` - User password (uses default if not provided)
- `phone` - Phone number
- `status` - ACTIVE, INACTIVE, BANNED, or SUSPENDED
- `emailVerified` - Email verification status
- `twoFactor` - Two-factor authentication enabled
- `roleId` - User role identifier
- `avatar` - Avatar URL

### Profile Fields
- `bio` - User biography
- `address` - Street address
- `city` - City name
- `country` - Country name
- `zip` - Postal code

### Social Media Fields
- `facebook` - Facebook profile URL
- `twitter` - Twitter profile URL
- `instagram` - Instagram profile URL
- `github` - GitHub profile URL
- `dribbble` - Dribbble profile URL
- `gitlab` - GitLab profile URL

## Impact
- **Administrators** can now bulk import users from external systems
- **Data migration** simplified with CSV export/import functionality
- **Exchange operators** have full control over market fee structures
- **Improved efficiency** for managing large user bases
- **Better alignment** between exchange and ecosystem market management

## Permissions
New permissions added for granular control:
- `import.user` - Required to import users from CSV
- `export.user` - Required to export users to CSV

These permissions are separate from the standard `create.user` and `view.user` permissions, allowing administrators to control who can perform bulk operations.

## Security Considerations
- Passwords are hashed using bcrypt before storage
- CSV imports validate all data before database insertion
- Import/Export require specific admin permissions (`import.user` and `export.user`)
- Import and Export buttons are only visible to users with appropriate permissions
- File upload size limits prevent abuse
- Detailed audit trail for bulk operations

## Known Limitations
- CSV files must be UTF-8 encoded
- Maximum file size depends on server configuration
- Welcome emails require email service configuration
- Large imports may take several seconds to process

## Migration Guide
For users upgrading from previous versions:
1. Run database migrations if any schema changes
2. Run the permissions seeder to add new permissions: `npm run seed:permissions`
3. Update frontend and backend dependencies with `pnpm install`
4. Restart both frontend and backend services
5. Assign `import.user` and `export.user` permissions to appropriate roles
6. Test import functionality with the provided template

Support is available for paid files only
Support for free files is offered for a fee only

8 hours ago, Mahmoud said:

This file has been updated to 5.4.2 + All Add-ons

What's New in this Version:

## New Features

### CSV Import/Export for User Management- **Added** bulk user import functionality via CSV file upload
- **Added** user export to CSV for data backup and migration
- **Implemented** comprehensive CSV validation and error reporting
- **Added** downloadable CSV template with example data
- **Support** for all user fields including profile and social data

### Exchange Market Fee Management- **Added** ability to edit taker and maker fees for spot markets
- **Added** editable fields for market trending and hot flags
- **Added** precision configuration for price and amount decimals
- **Enhanced** exchange market management interface similar to ecosystem markets

## Feature Details

### User CSV Import Features- **Validation** for required fields (email, firstName, lastName)
- **Duplicate detection** prevents creating users with existing emails
- **Configurable default password** for imported users without passwords
- **Optional welcome email** sending to newly imported users
- **Detailed error reporting** with row numbers and specific error messages
- **Support for profile data** including bio, location, and social media links
- **Flexible boolean parsing** accepts true/false, yes/no, 1/0 formats
- **Batch processing** with transaction support for data integrity

### User CSV Export Features- **Export filters** by user status (ACTIVE, INACTIVE, BANNED, SUSPENDED)
- **Optional password export** (encrypted) for migration purposes
- **Complete data export** including all profile and social fields
- **Auto-generated filename** with current date
- **CSV format** compatible with import template

### Exchange Market Enhancements- **Editable fee structure**:
  - Taker fee percentage
  - Maker fee percentage
- **Market configuration**:
  - Currency and pair editing
  - Trending and hot market flags
  - Price and amount precision settings
- **API improvements**:
  - Fixed permission scope from ecosystem to exchange
  - Updated operation IDs and tags for proper categorization

## Technical Details

### Files Added- `backend/src/api/admin/crm/user/import.post.ts` - CSV import endpoint
- `backend/src/api/admin/crm/user/export-csv.get.ts` - CSV export endpoint
- `frontend/public/templates/users_import_template.csv` - Sample CSV template

### Files Modified- `frontend/app/[locale]/(dashboard)/admin/crm/user/page.tsx` - Added import/export UI
- `frontend/app/[locale]/(dashboard)/admin/finance/exchange/[id]/market/columns.tsx` - Enhanced market fee editing
- `backend/src/api/admin/finance/exchange/market/[id]/index.put.ts` - Fixed permissions and expanded update fields
- `backend/src/api/admin/finance/exchange/market/utils.ts` - Added currency/pair to update schema

### Dependencies Added- `csv-parse` - For parsing CSV files during import
- `csv-stringify` - For generating CSV files during export

## CSV Import Format

### Required Fields- `email` - User's email address (must be unique)
- `firstName` - User's first name
- `lastName` - User's last name

### Optional Fields- `password` - User password (uses default if not provided)
- `phone` - Phone number
- `status` - ACTIVE, INACTIVE, BANNED, or SUSPENDED
- `emailVerified` - Email verification status
- `twoFactor` - Two-factor authentication enabled
- `roleId` - User role identifier
- `avatar` - Avatar URL

### Profile Fields- `bio` - User biography
- `address` - Street address
- `city` - City name
- `country` - Country name
- `zip` - Postal code

### Social Media Fields- `facebook` - Facebook profile URL
- `twitter` - Twitter profile URL
- `instagram` - Instagram profile URL
- `github` - GitHub profile URL
- `dribbble` - Dribbble profile URL
- `gitlab` - GitLab profile URL

## Impact- **Administrators** can now bulk import users from external systems
- **Data migration** simplified with CSV export/import functionality
- **Exchange operators** have full control over market fee structures
- **Improved efficiency** for managing large user bases
- **Better alignment** between exchange and ecosystem market management

## Permissions
New permissions added for granular control:
- `import.user` - Required to import users from CSV
- `export.user` - Required to export users to CSV

These permissions are separate from the standard `create.user` and `view.user` permissions, allowing administrators to control who can perform bulk operations.

## Security Considerations- Passwords are hashed using bcrypt before storage
- CSV imports validate all data before database insertion
- Import/Export require specific admin permissions (`import.user` and `export.user`)
- Import and Export buttons are only visible to users with appropriate permissions
- File upload size limits prevent abuse
- Detailed audit trail for bulk operations

## Known Limitations- CSV files must be UTF-8 encoded
- Maximum file size depends on server configuration
- Welcome emails require email service configuration
- Large imports may take several seconds to process

## Migration Guide
For users upgrading from previous versions:
1. Run database migrations if any schema changes
2. Run the permissions seeder to add new permissions: `npm run seed:permissions`3. Update frontend and backend dependencies with `pnpm install`4. Restart both frontend and backend services
5. Assign `import.user` and `export.user` permissions to appropriate roles
6. Test import functionality with the provided template

How to upgrade

  • Community Expert
  • Author
  • Administrators

This file has been updated to 5.4.3 + All Add-ons

What's New in this Version:

## Performance Optimizations

### Binary Trading Page Memory and CPU Optimization
- **Optimized** order update interval to only run when active orders exist
- **Maintained** real-time 1-second updates for profit/loss and timers for best UX
- **Implemented** debouncing for completed orders processing to prevent excessive re-renders
- **Fixed** requestAnimationFrame cleanup to prevent memory leaks
- **Optimized** WebSocket data updates to reduce unnecessary re-renders
- **Reduced** CPU usage by 30-40% during idle states (no active orders)
- **Improved** memory management with proper cleanup of intervals and observers
- **Added** conditional updates that skip processing when no orders are active

## Accessibility Improvements

### Dialog Accessibility Fixes
- **Fixed** missing DialogDescription warnings in binary trading page
- **Added** proper aria-describedby attributes to all Dialog components
- **Added** DialogDescription components to market selector dialogs
- **Added** screen reader accessible descriptions for all modal dialogs
- **Improved** accessibility compliance for WCAG standards

## Bug Fixes

### Investment Dashboard Array Error Fix
- **Fixed** "TypeError: r.find is not a function" error on investment dashboard
- **Added** defensive checks to ensure investments and plans are always arrays
- **Fixed** API response handling to properly extract array data
- **Added** fallback to empty array when data structure is unexpected
- **Prevented** runtime errors when API returns non-array responses

### Wallet Type Translation Issues
- **Fixed** untranslated wallet type names showing as "SPOT_WALLETS", "DERIVATIVES_WALLETS", etc.
- **Added** proper translations for all wallet types (Spot, Fiat, Eco, Futures, etc.)
- **Updated** wallet detail page to use translation keys instead of raw type names

### Exchange Currency Withdrawal Errors
- **Fixed** unhelpful "Exchange currency not found" error message
- **Improved** error message to specify which currency is not available for withdrawal
- **Enhanced** wallet not found error to specify the currency and wallet type
- **Added** guidance for users to contact support when currency is not available on exchange

### Binary Trading Chart Issues
- **Fixed** chart displaying as square instead of proper aspect ratio
- **Fixed** height inheritance issues with nested containers
- **Added** explicit height styling and absolute positioning
- **Resolved** CSS height conflicts in chart container hierarchy

### Binary Trading Active Order Lines
- **Fixed** active trade lines showing at wrong price position
- **Fixed** inverted Y-axis calculation for order price levels
- **Fixed** trade lines not disappearing when orders expire
- **Fixed** timestamp conversion issues (milliseconds vs seconds mismatch)
- **Fixed** order status not updating from PENDING to ACTIVE properly
- **Added** automatic cleanup of expired orders without results
- **Improved** position marker rendering with proper bounds checking
- **Enhanced** expiry filtering to hide completed orders after animation

### Binary Trading Active Positions Panel
- **Fixed** timer staying at 00:00 when positions expire
- **Fixed** expired orders not being filtered out from active positions
- **Fixed** timestamp conversion for createdAt and expiryTime fields
- **Added** automatic removal of expired orders from active positions view
- **Improved** time left calculation to handle expired orders gracefully

### Binary Trading Completed Positions Panel
- **Fixed** completed positions panel not showing when orders complete
- **Fixed** expired orders not being moved from active to completed orders array
- **Added** proper filtering to remove completed orders from active orders list
- **Ensured** completed orders are properly tracked and displayed
- **Fixed** state management to correctly update both active and completed orders

### Active Positions Panel Chart Display
- **Fixed** profit/loss mini charts showing as squares instead of line charts
- **Implemented** proper SVG line chart with smooth curves
- **Added** gradient fill area under the profit/loss line
- **Added** zero reference line with dashed styling
- **Added** current value indicator dot at the end of the line
- **Improved** chart responsiveness with proper viewBox scaling

### TradingView Chart Integration for Binary Trading
- **Added** TradingView chart support to binary trading page
- **Implemented** ChartSwitcher component to toggle between Native and TradingView charts
- **Integrated** with existing system settings for chart type selection
- **Maintained** all binary trading features (expiry markers, order lines, positions)
- **Enabled** seamless switching via Admin > System > Settings > Features > Trading
- **Preserved** existing AdvancedChart as default option

### Chart Loading Optimization
- **Fixed** unnecessary chart loading before settings are fetched
- **Prevented** default chart from loading when TradingView is configured
- **Added** proper loading state while waiting for settings
- **Eliminated** visual flickering caused by chart switching
- **Improved** initial page load performance by avoiding redundant component mounting
- **Optimized** resource usage by only loading the selected chart type

### Binary Trading Completed Orders Panel UI Improvements
- **Added** resizable functionality - drag the resize handle to adjust panel height
- **Implemented** persistent height preference using localStorage
- **Added** visual resize handle with hover effects
- **Enabled** height adjustment from 200px to 800px
- **Added** smooth visual feedback during resize operation
- **Dynamic** table content height adjusts based on panel size
- **Fixed** resize drag being interrupted by chart interactions
- **Added** invisible overlay during resize to capture all mouse events
- **Fixed** panel pushing content up instead of overlapping
- **Improved** z-index layering to ensure panel appears above other content
- **Increased** default panel height from 300px to 500px to show more orders
- **Compacted** filter buttons with smaller padding and grouped design
- **Reduced** text sizes throughout for more efficient space usage
- **Simplified** status badges to single letters (W/L) to save space
- **Replaced** side text with arrow symbols (↑/↓) for compactness
- **Reduced** row padding from py-3 to py-2 for tighter spacing
- **Improved** filter button group with border wrapping
- **Optimized** export button to be less prominent
- **Enhanced** overall density to display 8-10 orders instead of 1-2

### Binary Trading Completed Orders Loading
- **Fixed** completed orders not being fetched on binary page load
- **Fixed** order fetching happening before symbol was set during initialization
- **Moved** order fetching to trigger when symbol is set via setCurrentSymbol
- **Added** automatic order fetching when switching symbols
- **Fixed** fetchCompletedOrders to use correct API endpoint with type=CLOSED parameter
- **Fixed** fetchActiveOrders to use correct API endpoint with type=OPEN parameter
- **Fixed** auto-selected symbols to use setCurrentSymbol method to trigger order fetching
- **Added** console logging for debugging order fetch operations
- **Ensured** both active and completed orders are fetched after authentication check

### Advanced Chart - Mobile Pinch-to-Zoom
- **Fixed** inverted zoom direction on mobile devices (pinch out now correctly zooms in)
- **Fixed** CSS interference preventing pinch gestures on mobile
- **Added** preventDefault to touch events to avoid browser's default zoom behavior
- **Improved** zoom sensitivity with adjustable factor for smoother experience
- **Added** hardware acceleration classes for better performance during pinch

### Advanced Chart - Drag Sensitivity
- **Fixed** overly sensitive drag behavior on PC
- **Adjusted** PC mouse drag sensitivity to 30% of raw movement for smoother control
- **Adjusted** mobile touch drag sensitivity to 20% for balanced response
- **Fixed** multiple conflicting event handlers causing erratic behavior

### CSV User Import
- **Fixed** "No CSV file uploaded" error when uploading CSV files
- **Fixed** file upload to use base64 encoding (consistent with image uploads)
- **Fixed** backend multipart/form-data handling
- **Improved** file input UI with custom styled button
- **Added** proper hover effects for upload button
- **Fixed** file display showing selected file name and size

### User Import/Export Buttons
- **Fixed** import/export buttons disappearing on page refresh
- **Fixed** Redis cache causing permissions to be lost
- **Fixed** dependency array in React component to ensure proper re-rendering
- **Disabled** user profile caching temporarily to ensure permissions are always fresh

### CSV Import Data Processing
- **Fixed** NULL values for firstName and lastName fields
- **Added** case-insensitive column mapping for CSV headers
- **Added** BOM (Byte Order Mark) removal for UTF-8 files
- **Improved** empty string to NULL conversion
- **Enhanced** error messages with detailed validation information

## Technical Details

### Files Modified

#### Frontend
- `frontend/app/[locale]/finance/wallet/[type]/[currency]/client.tsx`
  - Fixed wallet type display to use translation keys (line 347)
  
- `frontend/messages/en.json`
  - Added wallet type translations (lines 6309-6319)
  - wallet_type_spot, wallet_type_fiat, wallet_type_eco, etc.
- `frontend/components/blocks/advanced-chart/canvas/events/setup-events.tsx`
  - Fixed pinch-to-zoom calculation (line 420)
  - Added preventDefault to touch start (line 286)
  - Adjusted drag sensitivity values
  
- `frontend/components/blocks/advanced-chart/canvas/events/mouse-events.tsx`
  - Added PC drag sensitivity factor (line 144)
  
- `frontend/components/blocks/advanced-chart/canvas/events/touch-events.tsx`
  - Adjusted mobile touch sensitivity (line 195)
  
- `frontend/styles/chart.css`
  - Changed touch-action from `pan-x pan-y` to `none` for mobile
  - Added touch-pinching class for hardware acceleration
  
- `frontend/app/[locale]/(dashboard)/admin/crm/user/page.tsx`
  - Fixed dependency array for proper re-rendering
  - Changed file upload from FormData to base64
  - Improved file input UI with custom button
  
- `frontend/lib/api.ts`
  - Added FormData detection and proper handling
  - Fixed Content-Type header for multipart data
  
- `frontend/lib/fetchers/user.ts`
  - Disabled Redis caching for user profile to preserve permissions

- `frontend/app/[locale]/binary/components/chart/chart-container.tsx`
  - Fixed chart container to use absolute positioning (line 262)
  - Added explicit height styling for proper aspect ratio
  
- `frontend/components/blocks/advanced-chart/index.tsx`
  - Added explicit height styling with min-height constraint (line 197)
  
- `frontend/components/blocks/advanced-chart/canvas/render/position-marker.ts`
  - Fixed Y-axis calculation for order price levels (lines 280-285)
  - Fixed expiry filtering to hide expired orders (lines 256-271)
  - Added proper bounds checking for order positions
  
- `frontend/components/blocks/advanced-chart/canvas/renderer.tsx`
  - Updated order adapter to filter expired orders at source
  - Fixed timestamp handling for order expiry times
  - Added proper result mapping for completed orders

- `frontend/app/[locale]/binary/components/positions/active-positions.tsx`
  - Replaced bar chart display with SVG line chart (lines 470-534)
  - Added proper path generation for smooth profit/loss curves
  - Implemented gradient fills and zero line reference
  - Added current value indicator with dynamic coloring
  - Fixed expired order filtering (lines 63-74)
  - Fixed timestamp conversions for position markers (lines 69-77)
  - Fixed timer display for expired orders (lines 315-349)

- `frontend/app/[locale]/binary/components/chart/chart-container.tsx`
  - Replaced direct AdvancedChart import with ChartSwitcher component
  - Added support for both Native and TradingView charts
  - Maintained all existing chart props and functionality

- `frontend/store/trade/use-binary-store.ts`
  - Fixed updateOrders to filter out completed orders from active array (line 943-955)
  - Added proper order status management for expired orders
  - Ensured completed orders are moved to completedOrders array
  - Fixed order fetching to occur after symbol is set (lines 317-338)
  - Removed premature order fetching during initialization (lines 1036-1046)
  - Fixed fetchCompletedOrders to use type=CLOSED parameter (line 780)
  - Fixed fetchActiveOrders to use type=OPEN parameter (line 830)
  - Fixed fetchBinaryMarkets to use setCurrentSymbol for auto-selection (line 739)

- `frontend/components/blocks/chart-switcher/index.tsx`
  - Fixed loading logic to wait for settings before rendering any chart (lines 44-53)
  - Added proper loading states for both settings and TradingView script (lines 61-69)
  - Prevented unnecessary component mounting and unmounting
  - Added graceful fallback to native chart on TradingView load failure

#### Backend
- `backend/src/api/finance/withdraw/spot/index.post.ts`
  - Improved exchange currency error message (line 138)
  - Enhanced wallet not found error message (line 230)
- `backend/src/api/admin/crm/user/import.post.ts`
  - Added robust CSV parsing with BOM removal
  - Implemented case-insensitive column mapping
  - Enhanced file data handling for various formats
  - Improved validation with detailed error messages
  - Changed from multipart to JSON/base64 handling
  
- `backend/src/handler/Request.ts`
  - Added multipart/form-data skip for validation
  - Added skipBodyValidation flag support

## Improvements

### Chart Performance
- **Pinch-to-zoom** now works correctly on all mobile devices
- **Drag sensitivity** properly calibrated for both PC and mobile
- **Smooth performance** with hardware acceleration enabled
- **Natural gestures** with correct zoom direction

### User Import Experience
- **Better UI feedback** with styled upload button
- **Clear file selection** showing name and size
- **Reliable import** with proper file handling
- **Comprehensive validation** with helpful error messages

### Data Integrity
- **Correct field mapping** regardless of CSV header case
- **Proper NULL handling** for optional fields
- **BOM handling** for various CSV encodings
- **Consistent permissions** without cache corruption

## Impact
- **Mobile users** can now properly use pinch-to-zoom on charts
- **PC users** experience smoother, less sensitive chart dragging
- **Administrators** can reliably import users from CSV files
- **Import/Export buttons** consistently appear for authorized users
- **Data quality** improved with proper firstName/lastName handling
- **Binary traders** can now choose between Native and TradingView charts
- **Better visualization** with proper line charts in active positions panel
- **Improved UX** with automatic cleanup of expired orders

## Known Issues Resolved
- Chart zoom working in opposite direction on mobile
- Chart dragging too fast and laggy on PC
- CSV upload always showing "No CSV file uploaded"
- Import buttons disappearing on page refresh
- User names showing as NULL after CSV import
- Binary chart showing as square shape
- Active trade lines appearing at wrong positions
- Trade lines not disappearing when orders expire
- Active positions profit/loss showing as squares instead of line chart
- Position timer staying at 00:00 after expiry
- Timestamp conversion issues between milliseconds and seconds
- Completed positions panel not showing when orders complete

## Migration Notes
- Clear Redis cache after update to ensure fresh permission data
- No database migrations required
- Frontend will automatically use new file upload method

### Investment Dashboard Data Validation
- **Fixed** potential crashes from invalid date values in formatDate function
- **Added** null/undefined checks for amount formatting to prevent NaN display
- **Added** validation for invalid Date objects to show "Invalid Date" instead of crashing
- **Fixed** missing currency parameter in investment formatting - now uses plan.currency
- **Enhanced** formatCurrency function with proper null/undefined/NaN validation
- **Added** defensive checks for plan.durations array before mapping
- **Improved** error handling to gracefully handle missing or invalid data

## P2P Trading Improvements

### P2P Payment Methods Fix
- **Fixed** payment method creation and selection in P2P offers
- **Enhanced** payment method API to properly filter user's custom methods alongside system methods
- **Fixed** payment method validation to check both system and user-owned custom methods
- **Added** proper logging for debugging payment method creation and validation issues
- **Improved** error messages to specify which payment method IDs are invalid
- **Fixed** payment method association with offers using proper many-to-many relationship
- **Enhanced** custom payment method creation with proper popularity ranking
- **Fixed** payment method retrieval to show both system and user's custom methods
- **Added** userId field to payment method response for proper identification

## Technical Details - P2P Payment Methods

### Files Modified

#### Backend
- `backend/src/api/(ext)/p2p/offer/index.post.ts`
  - Added detailed logging for payment method validation
  - Enhanced validation to check for both system and user-owned payment methods
  - Improved error messages with specific invalid IDs

- `backend/src/api/(ext)/p2p/payment-method/index.get.ts`
  - Modified to return both system and user's custom payment methods
  - Added proper filtering based on user authentication
  - Improved sorting to show system methods first

- `backend/src/api/(ext)/p2p/payment-method/index.post.ts`
  - Added popularity rank for custom methods
  - Enhanced logging for troubleshooting
  - Added userId to response payload

## Authentication Fix

### Password Hashing Algorithm Mismatch
- **Fixed** CSV user import using bcrypt instead of Argon2 for password hashing
- **Fixed** "pchstr must contain a $ as first char" error when imported users try to login
- **Updated** import endpoint to use consistent Argon2 hashing across the system
- **Created** migration scripts to detect and fix existing bcrypt hashes in database
- **Added** check script to identify users with incorrect password hashes

## Technical Details - Password Hashing

### Files Modified

#### Backend
- `backend/src/api/admin/crm/user/import.post.ts`
  - Replaced bcrypt with Argon2 (hashPassword utility)
  - Ensures consistent password hashing across the system

#### Scripts Added
- `backend/scripts/check-password-hashes.js`
  - Detects different password hash types in database
  - Identifies users affected by the bcrypt issue

- `backend/scripts/migrate-bcrypt-passwords.js`
  - Migrates bcrypt hashes to Argon2
  - Generates temporary passwords for affected users
  - Creates list of users needing password resets

Support is available for paid files only
Support for free files is offered for a fee only

  • Community Expert
  • Author
  • Administrators

This file has been updated to 5.4.4 + All Add-ons

What's New in this Version:

## Bug Fixes

### Authentication - reCAPTCHA v3 Fixes
#### Backend
- **Fixed** reCAPTCHA token validation error in login endpoint
- **Added** missing validation check for recaptchaToken in `verifyRecaptchaOrThrow` function
- **Resolved** "Recaptcha Token is required" schema validation error
- **Fixed** environment variable loading timing issue - now checks reCAPTCHA status at runtime
- **Updated** schema to make recaptchaToken always nullable, validating in handler instead
- **Fixed** incorrect environment variable name in `verifyRecaptcha` function (was using `GOOGLE_RECAPTCHA_SECRET_KEY` instead of `NEXT_PUBLIC_GOOGLE_RECAPTCHA_SECRET_KEY`)
- **Added** better error logging in reCAPTCHA verification
- **Ensured** consistent error handling across all authentication endpoints (login, register, reset)

#### Frontend
- **Improved** reCAPTCHA v3 script loading with retry mechanism
- **Added** wait logic to ensure grecaptcha object is available before executing
- **Fixed** race condition where auth modal opens before reCAPTCHA script is loaded
- **Fixed** logic to always send recaptchaToken when reCAPTCHA is enabled
- **Enhanced** error messages for better user feedback when reCAPTCHA fails
- **Added** console logging for debugging reCAPTCHA loading issues
- **Prevented** duplicate script loading when multiple auth forms are present

### Investment Display Issues
- **Fixed** multiple active investment plans not showing on user dashboard
- **Fixed** investment history only displaying one active investment instead of all
- **Updated** API endpoints to return all active investments instead of just one
- **Changed** `findOne` to `findAll` in investment retrieval functions
- **Improved** user experience by showing complete investment portfolio

## Technical Details

### Files Modified

#### Backend

##### Authentication Endpoints
- `backend/src/api/auth/login/index.post.ts`
  - Added validation check for recaptchaToken in `verifyRecaptchaOrThrow` function (lines 131-136)
  - Ensures proper error message when reCAPTCHA token is missing

##### Frontend Auth Components
- `frontend/components/auth/login-form.tsx`
  - Added retry mechanism for reCAPTCHA loading (lines 158-181)
  - Improved error handling and user feedback
  - Enhanced script loading detection

- `frontend/components/auth/register-form.tsx`
  - Applied same reCAPTCHA loading improvements
  - Added wait logic and retry mechanism

- `frontend/components/auth/forgot-password-form.tsx`
  - Updated reCAPTCHA handling consistency
  - Added debugging logs and better error messages

##### Investment Endpoints
- `backend/src/api/finance/investment/user.get.ts`
  - Changed `getUserInvestment` function from `findOne` to `findAll` (line 64)
  - Updated return type to handle array of investments
  - Modified error handling for multiple investments
  
- `backend/src/api/finance/investment/index.get.ts`
  - Updated `getActiveInvestment` function to use `findAll` (line 133)
  - Fixed return value to map over all active investments
  - Enhanced response handling for multiple investments

## Impact
- **Users** can now see all their active investment plans on the dashboard
- **Investment history** properly displays all active investments
- **Portfolio management** improved with complete visibility of all investments

## Migration Notes
- No database migrations required
- Changes are backward compatible
- Frontend already supports array handling

Support is available for paid files only
Support for free files is offered for a fee only

  • Community Expert
  • Author
  • Administrators

This file has been updated to 5.4.6 + All Add-ons

What's New in this Version:

## Bug Fixes

### KYC Verification Services
#### Verification Service Errors
- **Fixed** TypeError "Cannot read properties of undefined (reading 'length')" when accessing verification services
- **Added** proper null checks and defensive programming for missingEnvVars
- **Resolved** undefined access errors with proper initialization

#### Dark Mode Support
- **Fixed** unreadable alert colors in dark mode across all verification service alerts
- **Enhanced** color contrast for better visibility in dark theme
- **Improved** text readability with proper dark mode utility classes

#### DeepSeek Integration
- **Restored** DeepSeek verification service functionality
- **Added** checkDeepSeekEnv() function for environment variable validation
- **Implemented** checkDeepSeekConnection() with proper rate limit handling
- **Fixed** rate limit (429) responses to correctly indicate valid API key
- **Created** two verification templates for DeepSeek service:
  - Document Verification template for AI-powered document analysis
  - Enhanced AI Verification template with comprehensive fraud detection

#### TypeScript Errors
- **Fixed** "Cannot find name 'User'" error in kyc.ts
- **Added** User interface definition with proper type declarations

### Staking Module
#### Pool Management
- **Fixed** pool edit page not loading existing values
- **Corrected** parameter extraction from 'poolId' to 'id' in URL
- **Added** proper data fetching sequence with fetchPools before getPoolById
- **Implemented** loading state while fetching pool data

#### Error Handling
- **Added** comprehensive error UI for pool detail pages
- **Implemented** "Pool Not Found" UI with user-friendly message
- **Added** retry functionality for failed pool loads
- **Included** cleanup effect to clear state on component unmount

#### Navigation
- **Removed** non-existent Analytics page from admin staking menu
- **Cleaned** navigation array to prevent 404 errors

### System Settings
#### Initialization Issues
- **Fixed** settings showing as disabled until value change
- **Simplified** initial state management for draftSettings
- **Corrected** useEffect conditions for proper setting updates
- **Enhanced** Switch component boolean value handling for "1" and 1 values

### Binary Options
#### Trading Pair Configuration
- **Fixed** "Error configuring trading pair" with missing metadata
- **Implemented** complete PUT endpoint with OpenAPI documentation
- **Added** request body validation using BinaryMarketUpdateSchema
- **Corrected** updateRecord function signature usage

### Email System
#### Sender Configuration
- **Added** APP_EMAIL_SENDER_NAME environment variable support
- **Implemented** formatted sender display: "Sender Name <email@address.com>"
- **Updated** all email providers (SMTP, Service, SendGrid, Local)
- **Fixed** hard-coded "no-reply" sender issue

#### Template Design
- **Redesigned** email template with modern gradient header
- **Added** animated background pattern for visual appeal
- **Implemented** professional typography with system fonts
- **Enhanced** layout with proper spacing and visual hierarchy
- **Added** support for:
  - Code blocks with syntax highlighting styles
  - Info cards for important messages
  - Alert styles (success, warning, error, info)
- **Implemented** responsive design for all devices
- **Added** dark mode support for compatible email clients
- **Improved** footer with Help Center, Contact, Privacy, and Terms links

### Blog Management
#### Post Creation
- **Fixed** "resource not found" error when creating blog posts
- **Resolved** status enum mismatch by removing invalid "TRASH" status
- **Corrected** author creation schema issues:
  - Separated authorCreateSchema (with userId) from authorUpdateSchema (status only)
  - Fixed schema validation for POST endpoint
  - Updated endpoint to use correct schema

## Performance Improvements

### State Management
#### Settings Page Optimization
- **Optimized** initialization patterns reducing unnecessary re-renders
- **Improved** useEffect dependencies for better performance
- **Simplified** state update logic in settings components

### Error Handling
#### Resilience Improvements
- **Added** error boundaries across multiple components
- **Implemented** graceful fallbacks for missing data
- **Enhanced** retry mechanisms with exponential backoff

## Technical Improvements

### Code Quality
#### TypeScript Enhancements
- **Resolved** multiple TypeScript errors across modules
- **Added** proper interface definitions where missing
- **Improved** type safety in API endpoints

#### Schema Validation
- **Fixed** request/response schema inconsistencies
- **Aligned** database models with API schemas
- **Improved** validation error messages

### API Documentation
#### OpenAPI Improvements
- **Added** missing metadata to multiple endpoints
- **Enhanced** permission checks across blog and binary options
- **Improved** endpoint descriptions and examples

## UI/UX Improvements

### Dark Mode Enhancements
- **Fixed** color contrast issues system-wide
- **Improved** readability in all dark mode components
- **Added** proper theme detection and switching

### User Experience
- **Enhanced** error messages with actionable retry options
- **Improved** loading states with skeleton screens
- **Added** success feedback for user actions
- **Implemented** form resilience for missing optional data

## Configuration Updates

### Environment Variables
- **Added** APP_EMAIL_SENDER_NAME to .env.example
- **Updated** email configuration documentation
- **Enhanced** environment variable validation

### Database Schema
- **Aligned** enum values between models and schemas
- **Fixed** foreign key constraints in blog tables
- **Improved** cascade delete operations

## Technical Details

### Files Modified

#### Frontend
##### KYC Module
- `frontend/app/[locale]/(dashboard)/admin/crm/kyc/components/level-builder/verification-services-view.tsx`
  - Added null checks and error handling
  - Implemented dark mode colors
  - Added DeepSeek templates

- `frontend/utils/kyc.ts`
  - Added User interface definition

##### Staking Module
- `frontend/app/[locale]/(ext)/admin/staking/pool/components/pool-form-page.tsx`
  - Fixed parameter extraction
  - Added data loading sequence

- `frontend/app/[locale]/(ext)/staking/pool/[id]/client.tsx`
  - Added error handling UI
  - Implemented cleanup effects

- `frontend/app/[locale]/(ext)/admin/staking/components/navbar.tsx`
  - Removed Analytics menu item

##### Settings
- `frontend/app/[locale]/(dashboard)/admin/system/settings/page.tsx`
  - Fixed initialization logic
  - Improved state management

- `frontend/app/[locale]/(dashboard)/admin/system/settings/components/field.tsx`
  - Enhanced boolean handling

#### Backend
##### Binary Options
- `backend/src/api/admin/finance/binary/market/[id]/index.put.ts`
  - Added complete endpoint implementation
  - Fixed updateRecord usage

##### Email System
- `backend/src/utils/mailer.ts`
  - Added sender name configuration
  - Updated all provider implementations

- `backend/email/templates/generalTemplate.html`
  - Complete template redesign
  - Added responsive styles

##### Blog Management
- `backend/src/api/admin/blog/post/utils.ts`
  - Fixed status enum values

- `backend/src/api/admin/blog/author/utils.ts`
  - Separated create and update schemas

- `backend/src/api/admin/blog/author/index.post.ts`
  - Updated to use correct schema

##### KYC Services
- `backend/src/api/admin/crm/kyc/service/[id]/check-env.get.ts`
  - Added DeepSeek support

- `backend/src/api/admin/crm/kyc/service/[id]/check-connection.get.ts`
  - Implemented rate limit handling

## Impact
- **KYC administrators** can now properly configure and test verification services
- **Content creators** can create blog posts without schema errors
- **System administrators** see settings values immediately on page load
- **Email recipients** receive professionally formatted emails with proper sender identification
- **Staking users** experience better error handling and data loading
- **Overall system** stability improved with comprehensive error handling

## Migration Notes
- Add APP_EMAIL_SENDER_NAME to your .env file for custom email sender names
- No database migrations required
- All changes are backward compatible
- Updates take effect immediately after deployment

Support is available for paid files only
Support for free files is offered for a fee only

10 hours ago, Mahmoud said:

50% discount for a limited period that will end after 24 hours

Brother, is it €99.50 now? + Free installation?

  • Community Expert
  • Author
  • Administrators

This file has been updated to 5.4.7 + All Add-ons

What's New in this Version:

## Bug Fixes

### Live Chat System
#### WebSocket Message Routing
- **Fixed** WebSocket messages not reaching handleMessage functions in live chat components
- **Resolved** stream key mismatch where support ticket messages used "default" instead of proper ticket-based routing
- **Enhanced** WebSocket manager to handle support ticket message routing with special handling for `method: "reply"` and `method: "update"`
- **Implemented** automatic stream key generation: `ticket-${data.payload.id}` for proper message routing

#### Message Display Issues
- **Fixed** "Encountered two children with the same key" React warnings caused by duplicate message IDs
- **Resolved** messages using ticket/session ID instead of unique message IDs
- **Corrected** message ID generation to prioritize `replyData.message.id` over ticket ID
- **Added** fallback unique ID generation with timestamp and random string for missing message IDs

#### Message Content Processing
- **Fixed** WebSocket messages not displaying content properly due to field priority issues
- **Corrected** message content extraction to prioritize `text` field over `content` field in WebSocket payloads
- **Resolved** messages appearing blank when sent from admin to user or vice versa
- **Enhanced** message parsing to handle both legacy and current message formats

### Admin Support Interface
#### Auto-Scroll Functionality
- **Added** missing auto-scroll to bottom functionality in admin chat drawer
- **Implemented** `messagesEndRef` and `scrollToBottom()` function for consistent behavior
- **Added** automatic scrolling when new messages arrive in both mobile and desktop views
- **Enhanced** user experience with smooth scrolling to show latest messages

## Performance Improvements

### WebSocket Management
#### Message Processing
- **Optimized** WebSocket message routing by removing excessive debug logging
- **Improved** callback execution performance with cleaner error handling
- **Enhanced** subscription management with better stream key matching
- **Reduced** console noise while maintaining essential error logging

### React Component Optimization
#### Message Rendering
- **Eliminated** React key duplication warnings that could impact performance
- **Improved** message list rendering with unique keys for each message
- **Enhanced** message deduplication logic to prevent duplicate messages in UI
- **Optimized** component re-rendering with proper message ID management

## Technical Improvements

### WebSocket Architecture
#### Message Format Handling
- **Enhanced** WebSocket manager to support multiple message formats
- **Added** special handling for support ticket messages without breaking existing functionality
- **Implemented** backward compatibility for messages with existing `stream` property
- **Improved** error handling for malformed WebSocket messages

#### Subscription Management
- **Refined** subscription setup and cleanup processes
- **Added** proper connection status tracking for live chat connections
- **Enhanced** message queue processing for reliable message delivery
- **Improved** reconnection handling for stable chat experience

### Code Quality
#### Message Processing Logic
- **Standardized** message ID generation across all chat components
- **Unified** message content extraction logic between user and admin interfaces
- **Improved** type safety in message handling functions
- **Enhanced** error boundaries around WebSocket message processing

## UI/UX Improvements

### Live Chat Experience
#### User Interface
- **Enhanced** message display consistency between user and admin interfaces
- **Improved** real-time message delivery with proper WebSocket routing
- **Added** smooth auto-scrolling for better conversation flow
- **Fixed** message duplication issues that could confuse users

#### Admin Dashboard
- **Added** missing auto-scroll functionality matching user-side behavior
- **Improved** message visibility with proper scroll management
- **Enhanced** responsive design for both mobile and desktop chat views
- **Fixed** message display issues in support ticket drawers

Support is available for paid files only
Support for free files is offered for a fee only

  • Community Expert
  • Author
  • Administrators

This file has been updated to 5.4.8 + All Add-ons

What's New in this Version:

## Fixed

### KYC Verification System
- **Level 3 Access**: Fixed issue where users with KYC level 3 and all features were still seeing "KYC Required" errors
- **Feature Detection**: Enhanced feature detection logic to recognize users with 20+ features as having full platform access
- **Empty Features Handling**: Fixed handling of empty feature arrays for approved KYC users to grant appropriate access
- **Multi-Site Support**: Improved KYC verification to work across different site configurations with varying level structures
- **Database Scripts**: Added maintenance scripts for upgrading users to appropriate KYC levels and fixing feature configurations

### Dark Mode UI Improvements
- **KYC Application**: Fixed poor visibility of KYC status badges, stat cards, and progress bars in dark mode
- **Color Scheme**: Replaced harsh colors with appropriate dark mode variants using Tailwind CSS dark: modifiers
- **Border Visibility**: Enhanced border colors for better visibility in dark mode across KYC components
- **Text Contrast**: Improved text color contrast for better readability in dark mode interfaces
- **Error Alerts**: Fixed unreadable error alerts in dark mode by replacing harsh red colors with orange color scheme

### Translation Management Tools
- **Missing Translation Finder**: Created comprehensive tool to find missing translation keys across the codebase
- **Namespace Handling**: Fixed namespace detection to properly match useTranslations("namespace") with nested keys
- **False Positive Reduction**: Reduced false positives from 4990 to 18 by improving pattern matching and folder filtering
- **Folder Filtering**: Added ability to skip irrelevant folders (public) and scan only relevant code directories
- **Key Addition Interface**: Implemented UI for selecting and adding missing translation keys with editable values

### WebSocket Manager
- **Method Error**: Fixed "this.stopHeartbeat is not a function" error in WebSocket manager close method
- **Connection Cleanup**: Added proper cleanup of reconnect timeouts and associated data structures on connection close
- **Memory Leak Prevention**: Enhanced cleanup to prevent memory leaks by clearing subscriptions and message queues
- **Deposit Form**: Fixed WebSocket connection errors when navigating away from the deposit page

### NFT and WebSocket Fixes
- **NFT Gas Calculator**: Fixed API endpoint URLs removing incorrect /ext prefix from NFT gas calculation requests
- **NFT Market WebSocket**: Corrected WebSocket handler paths for proper NFT market real-time updates
- **Middleware Routes**: Fixed rate limiting middleware paths to properly handle (ext) folder structure

## Added

### KYC Management Scripts
- **fix-kyc-level-3-features.js**: Script to ensure KYC level 3 has all platform features configured
- **upgrade-user-to-kyc-level-3.js**: Script to upgrade specific users to KYC level 3 with full access
- **check-user-features.js**: Diagnostic script to check what features users have and identify issues
- **check-and-fix-kyc-config.js**: Comprehensive script to diagnose and fix KYC configuration issues

### Translation Management Features
- **Find Missing Translations Tool**: New tool in translation manager to identify missing translation keys
- **Bulk Key Addition**: Ability to add multiple missing translation keys at once with editable values
- **Translation Statistics**: Display of translation key usage statistics across the codebase
- **Orphaned Key Detection**: Identification of translation keys that exist but are not used in code

## Enhanced

### KYC System Improvements
- **Feature Access Logic**: Enhanced hasFeature() function to better handle various KYC configurations
- **Level Detection**: Improved KYC level detection with multiple fallback mechanisms
- **Case Sensitivity**: Fixed case sensitivity issues with feature names in KYC checks
- **Debug Logging**: Added comprehensive debug logging for KYC verification troubleshooting

### Translation Detection System
- **Namespace Support**: Enhanced pattern matching to properly handle namespaced translation keys
- **File Scanning**: Improved file scanning to process only relevant directories (app, components, store, hooks, lib, utils)
- **Pattern Accuracy**: Enhanced regex patterns for more accurate translation key detection
- **Performance**: Optimized scanning performance by reducing unnecessary file reads

### WebSocket Connection Management
- **Reconnect Logic**: Improved reconnection handling with exponential backoff
- **Connection Status**: Enhanced connection status tracking and notification system
- **Message Queueing**: Improved message queueing for better handling of messages during reconnection
- **Error Recovery**: Enhanced error recovery mechanisms for more stable connections

### Code Quality & Consistency
- **TypeScript Types**: Enhanced type safety across various modules
- **Error Boundaries**: Implemented error boundaries to prevent cascading failures
- **Console Debugging**: Added comprehensive console logging for debugging
- **Code Organization**: Improved code structure with separated concerns

### Performance Optimizations
- **API Call Reduction**: Reduced redundant API calls by implementing proper caching strategies
- **Lazy Loading**: Enhanced components with lazy loading for improved initial page load
- **Memory Management**: Improved memory management in WebSocket connections
- **Resource Cleanup**: Enhanced resource cleanup on component unmount

## Summary

Version 5.4.8 focuses on core system improvements including comprehensive KYC verification fixes, translation management tools, dark mode UI enhancements, and WebSocket stability improvements. The update includes powerful diagnostic scripts for KYC management, a new translation finder tool that dramatically reduces false positives, and critical fixes for WebSocket connection handling. These improvements ensure better system stability, improved developer tools, and enhanced user experience across the platform.

Support is available for paid files only
Support for free files is offered for a fee only

  • Community Expert
  • Author
  • Administrators

This file has been updated to 5.5.0 + All Add-ons

What's New in this Version:

### Binary Trading Guide Icon
- **Guide Icon Removal**: Temporarily removed the guide icon from binary trading page header as requested
- **Clean Interface**: Removed GuideModal import, state management, and UI components for streamlined trading interface
- **Code Cleanup**: Eliminated unused guide-related imports and functionality from binary trading components

### User Profile Wallet Tab TypeError
- **Wallet Hook Errors**: Fixed `TypeError: Cannot read properties of undefined (reading '_internal')` on `/en/user/profile?tab=wallet`
- **Hook Initialization**: Enhanced wallet configuration to provide safe fallback values when hooks are not ready
- **Error Handling**: Added comprehensive error boundaries and null checking for wallet operations
- **Connection Safety**: Improved wallet connection handling with proper error states and recovery

### Binary Trading Sidebar Responsiveness
- **Collapsed State**: Fixed left sidebar Active Positions to show only icon when collapsed instead of full title text
- **Responsive Width**: Sidebar now properly resizes from 320px (expanded) to 64px (collapsed)
- **Icon Display**: When collapsed, shows centered BarChart3 icon with position count below
- **Smooth Transitions**: Added 200ms transitions for all sidebar state changes

### Admin System Cron Page Responsiveness
- **Mobile Layout**: Completely redesigned cron management page for mobile and tablet devices
- **Responsive Grid**: Improved card grid from `lg:grid-cols-12` to `xl:grid-cols-12` with better breakpoints
- **Timeline Visibility**: Hidden timeline component on mobile to reduce clutter while maintaining functionality on desktop
- **Header Layout**: Changed header from side-by-side to stacked layout on mobile devices
- **List View**: Added dual-layout system with desktop table and mobile card-style views
- **Search Bar**: Made search bar full-width on mobile, constrained on desktop

### Cron Job Status Management (Critical Fix)
- **Idle Status Issue**: Fixed critical bug where all cron jobs permanently showed as "idle" despite executing correctly
- **Status Synchronization**: Enhanced CronJobManager to properly update job status fields during execution lifecycle
- **Real-time Updates**: Synchronized WebSocket broadcasts with actual job object status updates
- **Execution History**: Added execution history tracking with last 10 runs and success rates
- **Progress Tracking**: Implemented proper progress updates during job execution
- **Manual Triggering**: Added API endpoint for manually triggering cron jobs for testing purposes

### Admin Deposit Transaction Validation
- **Field-Specific Errors**: Replaced generic validation messages with specific field-level error descriptions
- **User-Friendly Messages**: Transformed technical JSON error responses into readable error text (e.g., "Reference Id must be at least 1 characters long")
- **Required Field Indication**: Added clear visual indicators (*) for required fields in transaction forms
- **Conditional Validation**: Implemented conditional validation where `referenceId` is required when status is "COMPLETED"
- **Error Display**: Added red borders and inline error messages for invalid form fields
- **Deposit Schema**: Created dedicated `depositUpdateSchema` with proper validation rules for deposit transactions

### Logo Upload System
- **Dark Logo Upload**: Fixed Dark Logo (96x96px) upload failures in admin system settings
- **PNG Processing**: Corrected Sharp image processing to use `compressionLevel` instead of invalid `quality` parameter for PNG files
- **Error Diagnostics**: Enhanced error logging with detailed debugging information for logo upload failures
- **Upload Feedback**: Improved error messages to specify which logo type failed during upload
- **File Processing**: Added comprehensive validation and error handling throughout the logo upload pipeline

### Request Validation Framework
- **Schema Validation**: Enhanced AJV-based validation to provide user-friendly error messages instead of technical JSON dumps
- **Error Parsing**: Improved error message parsing to extract meaningful validation details from backend responses
- **Field Mapping**: Added intelligent field name detection for better error message contextualization
- **Custom Validation**: Extended validation framework with custom error properties for better frontend handling

## Improved

### Cron Management Interface
- **Grid Layout**: Updated cron job grid to maximum 3 columns instead of 4 for better detail visibility
- **Card Spacing**: Enhanced card spacing and responsive breakpoints for optimal viewing
- **Health Dashboard**: Redesigned CronHealth component with enhanced statistics and mobile-friendly layout
- **Real-time Status**: Added comprehensive real-time status tracking with visual indicators
- **Success Metrics**: Integrated success rate calculations and execution time tracking

### Binary Trading Interface
- **Sidebar UX**: Improved Active Positions sidebar with intelligent collapse behavior
- **Visual Polish**: Enhanced sidebar animations and transitions for smoother user experience
- **Space Optimization**: Better space utilization when sidebar is collapsed for maximum chart viewing area

### Mobile Responsiveness
- **Admin Cron Page**: Complete mobile optimization with touch-friendly interfaces
- **Responsive Typography**: Implemented responsive text sizing across all admin components
- **Touch Interactions**: Enhanced touch targets and mobile navigation patterns
- **Tablet Optimization**: Improved layouts for tablet devices with balanced column distributions

### Wallet Management
- **Error Recovery**: Enhanced wallet connection error handling with user-friendly messages
- **State Management**: Improved wallet state synchronization across components
- **Connection Reliability**: Better handling of wallet initialization and connection failures

### Admin User Experience
- **Form Validation**: Transaction edit forms now show real-time field-specific validation errors
- **Error Clarity**: Replaced confusing validation JSON with clear, actionable error messages
- **Visual Feedback**: Added consistent error styling with red borders and error text for failed fields
- **Field Labels**: Enhanced form labels with proper descriptions and required field indicators
- **Help Text**: Added contextual help text for complex fields like Reference ID requirements

### Error Handling Architecture
- **Backend Validation**: Improved validation error structure to support field-specific error messages
- **Frontend Processing**: Enhanced frontend error parsing to handle both legacy and new error formats
- **Debug Logging**: Added comprehensive debug logging for easier troubleshooting of validation issues
- **Error Propagation**: Improved error propagation from backend validation to frontend display

### Developer Experience
- **Schema Documentation**: Added detailed schema definitions with field descriptions and constraints
- **Error Tracing**: Enhanced error logging with stack traces and detailed context information
- **Code Organization**: Separated deposit-specific validation logic into dedicated utility files
- **Type Safety**: Improved TypeScript interfaces for better validation error handling

### System Reliability
- **Logo Processing**: More robust image processing with better error handling and recovery
- **File Validation**: Enhanced file type and size validation with clear error messages
- **Path Resolution**: Improved file path resolution with multiple fallback options for production environments
- **Debug Information**: Added detailed logging for troubleshooting upload and validation issues

## Technical Details

### New Components
- **depositUpdateSchema**: Dedicated validation schema for deposit transaction updates with conditional requirements
- **ValidationErrors Interface**: TypeScript interface for structured field-specific error handling
- **Enhanced LogoField Component**: Improved logo upload component with better error handling and user feedback
- **Cron Trigger API**: New POST endpoint `/api/admin/system/cron/trigger` for manually triggering cron jobs
- **Enhanced CronJobManager**: Added manual job triggering, execution history, and success rate tracking
- **Mobile-First Cron Interface**: Redesigned cron management with responsive layouts and touch optimization

### Backend Enhancements
- **Custom Error Properties**: Added `isValidationError` and `details` properties to validation errors for better frontend handling
- **Improved Sharp Processing**: Fixed PNG image processing configuration for logo uploads
- **Enhanced Error Messages**: Validation errors now include user-friendly messages alongside technical details
- **Conditional Schema Validation**: Implemented conditional validation rules based on transaction status
- **Cron Status Management**: Fixed CronJobManager to properly update job status fields throughout execution lifecycle
- **WebSocket Integration**: Enhanced broadcast system to synchronize with actual job object status updates
- **BullMQ Worker Enhancement**: Added status tracking and progress updates to Redis-based job workers
- **Manual Job Execution**: Implemented secure API endpoint for administrative job triggering with proper error handling

### Frontend Improvements
- **Error State Management**: Added proper error state management in transaction and logo components
- **Real-time Validation**: Enhanced form components to display validation errors in real-time
- **Error Message Parsing**: Intelligent parsing of both legacy and modern error message formats
- **Debug Logging**: Comprehensive debug logging for easier development and troubleshooting
- **Responsive Design System**: Implemented comprehensive mobile-first responsive design across admin interfaces
- **Wallet Hook Safety**: Added comprehensive error boundaries and fallback states for wallet operations
- **Binary Trading UX**: Enhanced sidebar collapse behavior with smooth animations and proper state management
- **Touch-Optimized UI**: Redesigned admin components with touch-friendly interactions and mobile navigation patterns

### Critical Bug Fixes
- **Cron Job Execution**: Resolved critical issue where cron jobs appeared permanently "idle" despite executing correctly
- **Status Synchronization**: Fixed disconnect between WebSocket broadcasts and actual job object status
- **Redis Dependency**: Identified and documented Redis server requirement for proper cron job functionality
- **Wallet Connection**: Resolved TypeError crashes in wallet tab when hooks were not properly initialized
- **Mobile Accessibility**: Fixed numerous responsive design issues affecting mobile and tablet users

### Performance Optimizations
- **Cron Interface**: Optimized cron management page for better performance on mobile devices
- **Component Efficiency**: Improved component rendering with better memo usage and state management
- **Image Processing**: Enhanced logo upload processing with more efficient Sharp configuration
- **Error Handling**: Reduced unnecessary re-renders and improved error recovery patterns

Support is available for paid files only
Support for free files is offered for a fee only

  • Community Expert
  • Author
  • Administrators

This file has been updated to 5.5.0 + All Add-ons

What's New in this Version:

### Navbar Logo Display
- **Full Logo Display**: Fixed navbar logo appearing as small square when "Full Logo Only" setting was selected
- **Dynamic Sizing**: Logo now properly displays at appropriate size (h-8 lg:h-10) with auto width
- **Aspect Ratio**: Maintained correct aspect ratio for text logos (180x48) instead of constrained square dimensions
- **Component Classes**: Updated NavbarLogo component to respect display settings without forcing square dimensions

### Admin Mega Menu Layout
- **Menu Width**: Increased mega menu width to accommodate longer menu items like "Transaction Management"
- **Dynamic Width**: Changed from fixed min-width to dynamic max-width (90vw) to prevent overflow on smaller screens
- **Left Panel**: Adjusted left panel width from 280px to 250px with proper min-width constraints
- **Right Panel**: Set minimum width of 350px for content area to ensure readability
- **Icon Sizing**: Added `flex-shrink-0` to prevent icons from shrinking on hover
- **Text Wrapping**: Added `whitespace-nowrap` to prevent unwanted text wrapping in menu items

### Binary Trading Dark Mode
- **Theme Persistence**: Fixed navbar showing in light mode when dark mode was active on /binary page
- **Immediate Application**: Added theme synchronization to prevent flash of wrong theme on page load
- **Theme Toggle**: Enhanced theme toggle to immediately apply changes without delay
- **HTML Class Management**: Properly manages dark/light classes on HTML element for consistent theming

### Floating Support Chat
- **Page Exclusions**: Hidden floating support button on /trade and /binary pages as requested
- **Trading Interface**: Removed distracting chat widget from trading pages for cleaner interface
- **Conditional Rendering**: Added page path checking to FloatingChatProvider component

### Binary Orders Menu Icon
- **Missing Icon**: Added `tabler:binary-tree` icon to Binary Orders menu item in admin navigation
- **Consistent Icons**: Ensured all admin menu items have appropriate icons for better visual hierarchy

### Default Pages Rendering
- **Content Fetching**: Fixed pages not fetching content from the correct API endpoint
- **API URL**: Corrected to use `/api/content/default-page/[pageId]` instead of admin endpoint
- **Port Configuration**: Smart detection of development vs production environment for API URLs
- **Development**: Uses `NEXT_PUBLIC_BACKEND_URL` (localhost:4000)
- **Production**: Uses `NEXT_PUBLIC_SITE_URL` without separate port

### Default Pages Styling
- **Background Color**: Fixed pages not using proper zinc background from layout
- **Text Styling**: Applied proper Tailwind classes to all HTML elements from editor
- **Dark Mode Support**: Ensured proper dark mode styling with bg-background class
- **Title Display**: Page titles now display prominently with proper styling
- **Title Spacing**: Increased margin below title (mb-12 mobile, mb-16 desktop) for better readability

### Default Editor Background
- **Unnecessary Background**: Removed hardcoded background colors from default editor pages
- **Layout Consistency**: Editor pages now use parent layout background for consistency

## Improved

### Logo System
- **Size Optimization**: Improved Logo component to handle both icon and text logos appropriately
- **Dynamic Dimensions**: Text logos use 180x48 dimensions for better clarity
- **Class Inheritance**: Logo component now properly respects className prop for flexible sizing

### Mega Menu User Experience
- **Visual Feedback**: Added background color (bg-muted/20) when no items are hovered
- **Content Padding**: Optimized padding (p-4 instead of p-6) for better space utilization
- **Item Spacing**: Improved spacing between menu items for better scanability
- **Overflow Protection**: Added overflow-x-auto to handle edge cases gracefully

### Default Pages Architecture
- **Server Components**: Converted from client to server components for better performance
- **SEO Metadata**: Implemented dynamic metadata generation from editor content
- **Reusable Components**: Created shared DefaultPage component for consistency
- **Content Processing**: Smart content processor that preserves editor formatting while adding styles

### Content Editor Integration
- **Exact Content Rendering**: Pages now display exactly what's entered in the editor
- **No Fallback Content**: Removed hardcoded fallback content (except home page template)
- **Plain Text Support**: Automatically wraps plain text in proper paragraph tags
- **HTML Processing**: Only adds classes to elements without existing styles

### SEO Implementation
- **Dynamic Metadata**: Pages fetch SEO data from backend and apply to page metadata
- **Fallback Values**: Graceful fallback to default SEO values if API data unavailable
- **Keywords Support**: Full support for title, description, and keywords metadata

### Developer Experience
- **Environment Detection**: Automatic environment detection for API URLs
- **Debug Logging**: Added console logging for troubleshooting content fetching
- **Error Handling**: Improved error messages and recovery strategies
- **Code Organization**: Centralized page utilities in default-page.tsx component

## Technical Details

### New Components
- **default-page.tsx**: Reusable component for rendering default pages with consistent styling
- **processContent()**: Function to apply Tailwind classes to HTML content from editor
- **generatePageMetadata()**: Dynamic SEO metadata generation from backend
- **getPageContent()**: Centralized content fetching with proper error handling

### API Integration
- **Public Endpoint**: Uses `/api/content/default-page/[pageId]` for content fetching
- **Cache Busting**: Adds timestamp parameter to prevent stale content
- **Headers**: Proper cache control headers for fresh content
- **Error Recovery**: Graceful handling of API failures with user-friendly messages

### Styling System
- **Tailwind Classes**: Comprehensive class application for all HTML elements
- **Dark Mode**: Full dark mode support with proper color tokens
- **Responsive Design**: Mobile-first approach with responsive spacing
- **Typography**: Consistent typography scale across all content

### Performance Optimizations
- **Server-Side Rendering**: Default pages now use SSR for better SEO and performance
- **No Client-Side Fetching**: Content fetched at build/request time
- **Reduced JavaScript**: Minimal client-side JavaScript for static content
- **Optimized Images**: Proper image sizing and loading strategies

### Binary Trading Enhancements
- **Theme Consistency**: Ensured dark mode persists across all trading interfaces
- **Clean Interface**: Removed unnecessary UI elements from trading pages
- **Focus Mode**: Trading pages optimized for distraction-free trading

### Navigation Improvements
- **Icon Consistency**: All menu items have appropriate icons
- **Visual Hierarchy**: Better organization with icons and proper spacing
- **Responsive Behavior**: Menu adapts properly to different screen sizes

## Migration Notes

### For Developers
- Default pages now fetch from `/api/content/default-page/[pageId]` instead of admin endpoints
- Environment variables properly configured for dev/prod API URLs
- All default pages converted to server components

### For Users
- Default pages will now display exactly what's entered in the editor
- SEO settings from editor are properly applied
- Dark mode works consistently across all pages
- Improved loading performance for default pages

## DataTable Drawer Improvements

### Fixed Dropdown Scrolling in Drawers
- **Mouse Wheel Scrolling**: Fixed issue where dropdowns in DataTable edit/create drawers wouldn't scroll with mouse wheel
- **Vaul Drawer Compatibility**: Added `data-vaul-no-drag` attribute to prevent drawer from intercepting scroll events
- **Z-Index Management**: Increased dropdown z-index from z-[75] to z-[100] to ensure proper layering above drawer content
- **Event Propagation**: Added `onWheel` event handlers to stop scroll event propagation and allow normal scrolling
- **Multi-Select Support**: Applied fixes to both Select and MultiSelect form controls for consistent behavior
- **Scroll Prevention**: Drawer no longer captures scroll events intended for child dropdown components

### Mobile Sidebar Extension Handling
- **Disabled State Consistency**: Fixed mobile sidebar not respecting disabled extension states like desktop mega menu
- **Extension Accessibility**: Disabled extensions are now properly non-clickable and visually dimmed in mobile menu
- **Visual Feedback**: Added `opacity-60 cursor-not-allowed` styling to disabled extension items
- **Background Styling**: Disabled items use `bg-muted/20` background to match desktop mega menu behavior
- **Child Menu Support**: Extended disabled state handling to nested/child menu items

### Extension Icons in Mobile Menu
- **Missing Icons**: Extensions in mobile sidebar now properly display icons consistently with desktop
- **Icon Source Fix**: Changed Extensions menu icon from `solar:puzzle-bold-duotone` to `ph:puzzle-piece-duotone` for better compatibility
- **Visual Hierarchy**: All extension menu items now show appropriate icons for better navigation
- **Iconify Integration**: Ensured proper icon rendering through Iconify React component

### Demo Data Foreign Key Constraints
- **ICO User References**: Fixed ICO demo data foreign key constraint failures by using valid user ID `fbe0aaf7-4321-4a40-84a1-b4321d557033`
- **Token Offerings**: All 7 ICO token offerings now reference existing user accounts
- **Transaction Records**: Updated 5 ICO transaction records to use correct user IDs
- **Database Integrity**: Eliminated SQL import errors related to non-existent user references

### Password Reset Flow
- **Correct URL Routing**: Fixed profile security tab logout and reset password button to redirect to `/reset` instead of non-existent `/auth/reset`
- **Login Page Reference**: Updated security instructions to reference correct `/login` path instead of `/auth/login`
- **Auth Modal Integration**: Reset password page properly triggers auth modal with forgot-password flow when no token is provided

## Settings Organization Improvements

### Spot Trading Settings Relocation
- **Moved from Wallet to Trading**: Spot Exchange setting relocated from "Wallet > Wallet Types" to "Features > Trading" for better logical organization
- **Renamed for Clarity**: Changed from "Spot Exchange" to "Spot Trading" for clearer terminology
- **Description Update**: Updated description to "Enable spot trading functionality" for better understanding
- **Settings Order**: Spot Trading now appears before Chart Type in the Trading subcategory
- **Tab Naming**: Improved Features tab label to "Trading & Features" to better reflect its content

## Homepage Layout Improvements

### Markets Section Image Sizing
- **Fixed Circular Shape**: Added `min-w-[2rem] min-h-[2rem]` to maintain circular shape on all screen sizes
- **Prevent Shrinking**: Added `flex-shrink-0` to prevent container from becoming pill-shaped
- **Consistent Sizing**: Images now maintain proper dimensions even when parent container is compressed
- **Removed Redundant Styles**: Cleaned up unnecessary `rounded-full` and height auto styles from image element

### Responsive Layout with Spot Trading Disabled
- **Dynamic Content Width**: Content now expands to full width when spot trading/markets section is hidden
- **Centered Layout**: Hero content properly centers when markets section is disabled
- **Conditional Alignment**: Text alignment, buttons, and features adjust based on spot trading status
- **Maximum Width**: Content uses `max-w-4xl` for optimal readability when centered
- **Visual Balance**: Eliminates awkward empty space on the right when markets are hidden

## WebSocket Connection Improvements

### Fixed Undefined User ID Connection
- **Connection Guard**: WebSocket connection now only establishes when a valid user ID is present
- **Provider Protection**: WebSocketProvider component conditionally renders based on profile.id existence
- **Safety Check**: Added additional validation in WebSocketProvider to prevent connection with undefined userId
- **Console Warning**: Logs warning message when WebSocket connection is skipped due to missing userId
- **Error Prevention**: Eliminates `ws://localhost:4000/api/user?userId=undefined` connection attempts

### Support Chat Widget Size Optimization
- **Button Size Reduction**: Reduced floating support button from 64x64px (h-16 w-16) to 48x48px (h-12 w-12)
- **Icon Adjustment**: Scaled down MessageCircle icon from 28x28px to 20x20px for proportional appearance
- **Less Intrusive**: Smaller widget provides better user experience without blocking content
- **Maintained Functionality**: All hover effects, animations, and gradients preserved with smaller size

Support is available for paid files only
Support for free files is offered for a fee only

  • Community Expert
  • Author
  • Administrators

This file has been updated to 5.5.2 + All Add-ons

What's New in this Version:

## Fixed
- **Fixed** BTC deposit amounts showing incorrect values (satoshi conversion issues)
- **Fixed** transaction fee calculation returning NaN errors
- **Fixed** corrupted wallet address JSON data preventing deposits
- **Fixed** WebSocket pending deposit notifications not reaching frontend for BTC
- **Fixed** transaction decimal precision in admin deposit/withdraw logs
- **Fixed** excessive logging in UTXO deposit monitoring

## Improved
- **Improved** UTXO blockchain provider system with flexible architecture
- **Improved** XMR deposit monitoring with global queue and batch processing
- **Improved** pending confirmation broadcasts to only update on changes

Support is available for paid files only
Support for free files is offered for a fee only

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

Recently Browsing 0

  • No registered users viewing this page.

Latest Updated Files


DoniaWeB © 2018-2025 | Made with

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.