161161 icon : "fas fa-shield-halved" ,
162162 color : "orange" ,
163163 title : "12-Layer Military Security" ,
164- description : "Revolutionary defense system with ECDH P-384 + AES-GCM 256 + ECDSA. Enhanced Security Edition v4.01.222 provides military-grade protection exceeding government standards."
164+ description : "Revolutionary defense system with ECDH P-384 + AES-GCM 256 + ECDSA. Enhanced Security Edition v4.01.412 provides military-grade protection exceeding government standards."
165165 } ,
166166 {
167167 icon : "fas fa-bolt" ,
@@ -511,7 +511,7 @@ <h3 className="text-3xl font-bold text-primary mb-3">
511511 Enhanced Security Edition Comparison
512512 </ h3 >
513513 < p className = "text-secondary max-w-2xl mx-auto mb-4" >
514- SecureBit.chat v4.01.222 Enhanced Security Edition vs leading secure messengers
514+ SecureBit.chat v4.01.412 Enhanced Security Edition vs leading secure messengers
515515 </ p >
516516 < div className = "inline-flex items-center px-4 py-2 bg-yellow-500/10 border border-yellow-500/20 rounded-lg" >
517517 < span className = "text-yellow-400 mr-2" > 🏆</ span >
@@ -657,7 +657,7 @@ <h3 className="text-3xl font-bold text-primary mb-3">
657657 < div className = "p-6 bg-gradient-to-r from-orange-500/10 to-yellow-500/10 border border-orange-500/20 rounded-xl" >
658658 < h4 className = "text-xl font-bold text-orange-400 mb-4 flex items-center" >
659659 < i className = "fas fa-trophy mr-3" />
660- SecureBit.chat v4.01.222 Enhanced Security Edition Summary
660+ SecureBit.chat v4.01.412 Enhanced Security Edition Summary
661661 </ h4 >
662662 < p className = "text-secondary leading-relaxed text-lg mb-4" >
663663 SecureBit.chat dominates in 11 out of 15 security categories, establishing itself as the most secure P2P messenger available.
@@ -3195,7 +3195,7 @@ <h3 key="title" className="text-2xl font-semibold text-primary mb-3">
31953195 const downloadMessage = React . createElement ( 'div' , {
31963196 className : 'flex items-center space-x-2'
31973197 } , [
3198- React . createElement ( 'span' , { key : 'label' } , `📥 Файл получен : ${ fileData . fileName } (${ sizeMb } MB)` ) ,
3198+ React . createElement ( 'span' , { key : 'label' } , `📥 File received : ${ fileData . fileName } (${ sizeMb } MB)` ) ,
31993199 React . createElement ( 'button' , {
32003200 key : 'btn' ,
32013201 className : 'px-3 py-1 rounded bg-blue-600 hover:bg-blue-700 text-white text-xs' ,
@@ -3210,7 +3210,7 @@ <h3 key="title" className="text-2xl font-semibold text-primary mb-3">
32103210 setTimeout ( ( ) => fileData . revokeObjectURL ( url ) , 15000 ) ;
32113211 } catch ( e ) {
32123212 console . error ( 'Download failed:' , e ) ;
3213- addMessageWithAutoScroll ( `❌ Ошибка загрузки файла : ${ String ( e ?. message || e ) } ` , 'system' ) ;
3213+ addMessageWithAutoScroll ( `❌ File upload error : ${ String ( e ?. message || e ) } ` , 'system' ) ;
32143214 }
32153215 }
32163216 } , 'Скачать' )
@@ -3221,15 +3221,14 @@ <h3 key="title" className="text-2xl font-semibold text-primary mb-3">
32213221
32223222 // Error callback
32233223 ( error ) => {
3224- // Более мягкая обработка ошибок файлового трансфера - не закрываем сессию
32253224 console . error ( 'File transfer error:' , error ) ;
32263225
32273226 if ( error . includes ( 'Connection not ready' ) ) {
3228- addMessageWithAutoScroll ( `⚠️ Ошибка передачи файла: соединение не готово. Попробуйте позже .` , 'system' ) ;
3227+ addMessageWithAutoScroll ( `⚠️ File transfer error: connection not ready. Try again later .` , 'system' ) ;
32293228 } else if ( error . includes ( 'File too large' ) ) {
3230- addMessageWithAutoScroll ( `⚠️ Файл слишком большой. Максимальный размер : 100 МБ ` , 'system' ) ;
3229+ addMessageWithAutoScroll ( `⚠️ File is too big. Maximum size : 100 MB ` , 'system' ) ;
32313230 } else {
3232- addMessageWithAutoScroll ( `❌ Ошибка передачи файла : ${ error } ` , 'system' ) ;
3231+ addMessageWithAutoScroll ( `❌ File transfer error : ${ error } ` , 'system' ) ;
32333232 }
32343233 }
32353234 ) ;
0 commit comments