Files
securebit-chat/logo/pwa/windows11/SmallTile.scale-100.png

6 lines
1.7 KiB
Plaintext
Raw Normal View History

feat: Add comprehensive PWA support with offline functionality - Add manifest.json with full PWA configuration - Support for installation on all platforms (iOS, Android, Desktop) - Custom app icons (72x72 to 512x512) with maskable support - App shortcuts for quick actions (Create/Join Channel) - Protocol handlers for web+securebit:// links - Share target integration - Implement enhanced Service Worker (v4.0) - Smart caching strategies (cache-first, network-first, stale-while-revalidate) - Security-aware caching (excludes sensitive endpoints) - Background sync for failed requests - Offline fallbacks with custom error handling - Response cloning fixes and CORS handling - Add PWA Install Prompt Manager - Cross-platform install detection and prompts - iOS Safari specific installation guide - Smart dismissal logic with retry mechanisms - Install success notifications and user guidance - Persistent install preferences with localStorage - Implement comprehensive Offline Manager - IndexedDB for offline data persistence - Automatic message queuing and sync when online - Session state recovery after connection loss - WebRTC reconnection handling - Real-time connection status indicators - Offline guidance and help system - Add offline-first features - Message queue with priority and retry logic - Session data preservation during disconnection - Application state recovery - Background sync registration - Periodic cleanup of old offline data - Enhanced user experience - Connection status notifications - Offline mode guidance and help - Automatic sync notifications - Reconnection progress indicators - Platform-specific installation instructions This implementation ensures SecureBit.chat works seamlessly offline while maintaining security and providing a native app-like experience across all platforms.
2025-08-17 16:04:45 -04:00
<EFBFBD>PNG

IHDRGGU<>Z pHYs<0E><0E><01>+<06>IDATx<54><78><EFBFBD>ylUǿ<><C7BF>v<EFBFBD><76><EFBFBD>n<EFBFBD><6E><EFBFBD>-"E*-<2D>Y<EFBFBD><59><EFBFBD>GH<47>A "<22>PQ 1F<31>4<1A>!<21>Q<EFBFBD>0AE9Dр"9%<25>XJ<58><4A>"R<><52>XJ<58><4A>ݶ<>-<2D>7*!23ݹ<33><DDB9><EFBFBD>&<>7o?<3F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>&<26><>}<03>Xe<58>.N<>px<70><78><EFBFBD><EFBFBD><0E>G:<1E>px<70><78><EFBFBD><EFBFBD><0E>G:<1E>pxp<><70> X9)<1D>s<EFBFBD>p<EFBFBD>&<26>5Ǽ8<C7BC><38><EFBFBD>zX<7A><58><EFBFBD>7ơ8ϊ<38><CF8A><EFBFBD><18>m<EFBFBD>y}4!'<1B><>;<3B>q<EFBFBD><0F>.<10><>&<26>S<1D><>n<EFBFBD>|d<>0ғ<><D293><EFBFBD><1B>6<EFBFBD><36><EFBFBD>+<2B><><EFBFBD>i<EFBFBD><1F> <09>z_jJ58<35>r<EFBFBD><72>Y2y<32>Ƹ<>g<05>La*<2A><>ρ×<CF81><C397>l<EFBFBD><6C><EFBFBD>jHQ86<38>s<> Y0҆i<><69>^<15>D(Щ<><D0A9>L<EFBFBD><4C> c<>i?>'3<><33><EFBFBD> <0A><><08><>3<12><>h;lCr|<7C><><EFBFBD>SЯMNÊ<4E><0E><><EFBFBD>c<EFBFBD>)<1F><><EFBFBD>d<64><7F>pf<0E>a><3E>%<25><>M<14><><EFBFBD><EFBFBD>]<5D>c3"<22>bD4<44><34>ngک<67><1D>NfӞ<66>~<7E>%<25>p\<5C> ,<1D><>b<EFBFBD><62><EFBFBD><77><C4A6>c+<2B><>R<EFBFBD><52><EFBFBD><EFBFBD>~<7E>C<EFBFBD>/<2F>6j<36>w<EFBFBD><77>a[<5B><1F><>4.<1A><><10><>cR<63><52>8<07>-<2D>!<21>K<EFBFBD>l<EFBFBD>_W<05>F<EFBFBD>2#-<2D>$D<07>κ<EFBFBD>Eb<>S<EFBFBD><53><EFBFBD>V<EFBFBD><56>s+zz<7A><7A>9Qp<51>@7<>t1><3E><><EFBFBD>x<EFBFBD> +<2B>m<EFBFBD>j<EFBFBD>κNJv<><76>4<EFBFBD><34><EFBFBD>/<2F><> f<>-<2D><>A(<28>#<23><><EFBFBD><EFBFBD><EFBFBD>41Mq0<71>*@v<><76><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD>$,$<24>i<EFBFBD><69>$<24> <0C><>X:N:<3A>Wi<16>\<5C>p<EFBFBD>d{<7B>=<3D><06><>Cm<43>iY6c<><63><EFBFBD><EFBFBD>̀<EFBFBD>^tF<74>-/<2F>p<EFBFBD><70><EFBFBD><EFBFBD>l<EFBFBD>B<EFBFBD><42><EFBFBD><EFBFBD><EFBFBD>-XO<58>ʌ< <0B>`<60><><EFBFBD>%<25><19><>4<EFBFBD>L}<7D><>g<08><>m<EFBFBD><6D>X<EFBFBD><58>"<22><>~U`5<><1F><>B<EFBFBD><42><EFBFBD>1<EFBFBD>O58<><38><16>K{b<>H <0A><>`<60><15><>a <0B><13>n<><6E>T2ǖ<1F>Ta<54><61>u<EFBFBD>6'G<><47>ڡ<02><>Pl<50>ɴ<EFBFBD><C9B4>i
PéS9<53>"Dw<44>'pޫm <0B>O0<4F><0E>i6<69><36>%<25>[<5B>ՠ v<><76><EFBFBD>0T<30>~auS8&<26><><EFBFBD>̬׫E<D7AB>3D<33><44>R5|<7C>V<EFBFBD><56><EFBFBD>p*=*<2A>9ۨ}e<>M\y<><79>q<><05>LC<4C><43><EFBFBD><EFBFBD>M<>aM<61><4D>pj[<5B><><04><><EFBFBD>F<EFBFBD><46>SCSr-<2D>ש<EFBFBD><D7A9>m<17>gmUi%`<60>;bA4<41><34>@>;<3B>C<EFBFBD><43>W*D<>9x<39>=f<>L$<24>W <0A>`<60>pN^ <09><><EFBFBD><EFBFBD>)<29><><EFBFBD><EFBFBD>rhQ<01>K<EFBFBD>m c,,Mq<4D>D<EFBFBD><44>&<26><><EFBFBD><EFBFBD><00>l<EFBFBD>R<EFBFBD> <09>8 <20><><EFBFBD><EFBFBD><EFBFBD>AI}K<><4B>vUh<0F>ٱ<0E><>4E<34><45><EFBFBD>'<27>oIp<49><70>:Py<50> <0B>3<13><><EFBFBD><EFBFBD>s<EFBFBD> <0C><>?B<>k<EFBFBD><6B>c<EFBFBD>ͧڰn<DAB0>Zh<5A><68> <0C>{<7B>ȸ<EFBFBD>J2<4A>]~,)L<><4C>d"<22>hu<68><75>#<23><><EFBFBD><1C> d<><1E><1E>b<EFBFBD>C.<2E><><1C>"J<><4A>s<EFBFBD>S<>a<EFBFBD>,pJ/<06>ӟ!<14>S>M<>7`<60><>,<2C>
(-_<><02><><0E><>6<EFBFBD><36><EFBFBD><EFBFBD>P<EFBFBD>h<EFBFBD><68><EFBFBD>ɹ<EFBFBD>i~{<7B><>ٞ%<1A>|<7C>K<1B><1C><02><><EFBFBD>(<15>Y8<59><38>y<EFBFBD>+:<3A>b<EFBFBD><62><19>5ǽ("<22><><10><>v;<3B><><EFBFBD><EFBFBD>V.<2E>T<EFBFBD>{<7B>d<EFBFBD><64><EFBFBD><EFBFBD>=ظl<D8B8><07><<3C><1D><><EFBFBD>h<EFBFBD><68>Ls<><73>K<EFBFBD>["xn<13><><EFBFBD><EFBFBD>N<EFBFBD><4E>X<EFBFBD>ۃs<>H<EFBFBD><48><EFBFBD>m<EFBFBD><6D><EFBFBD>AA<41><41><EFBFBD>34<33>{<7B><><>R$L<><4C><EFBFBD>6c<36><63>t<EFBFBD><74>X<EFBFBD><<3C>gr<67>Z<EFBFBD>}<11>"<13><>I<EFBFBD>,<2C>'<27>m0n<>z<EFBFBD>l<EFBFBD>0^<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>h<0F><><EFBFBD>/B))ZB<5A>V<EFBFBD>c<EFBFBD><63>w<EFBFBD> <0C>F<EFBFBD>Y<><59>x<EFBFBD>f<13>C@<40><> <0B>RR:]<5D>x}e<><65> <00><><EFBFBD>,<17>f~#<23><><EFBFBD>=<04>!<21>w<01><>BK<42>V<EFBFBD>R|<7C>S<EFBFBD>xk6<11>v<EFBFBD><76><18>DMO<4F><7F>_<EFBFBD>z<EFBFBD>j<EFBFBD><6A>o<18>7]<5D>
bO<16>N<EFBFBD>A<EFBFBD>+M<>f<EFBFBD>Q/v<><76>׏<EFBFBD>M<EFBFBD><4D>-<2D><>3<1E><0E><>)<29><18>e<EFBFBD><65>;<3B><><EFBFBD>(9܌<06><>5zMj<4D>4IV<49><56><EFBFBD><EFBFBD>5<EFBFBD>Lޘ;nO=<3D>z<EFBFBD><03>j<>9 <0A>Z<EFBFBD>i<EFBFBD><69><EFBFBD>C<EFBFBD> w'<27>8<EFBFBD><38><EFBFBD><EFBFBD>/<2F>mU<00><><EFBFBD>c<>4=<3D>(<28>0<EFBFBD><1A> 8<>*<0E>t8<<3C><><EFBFBD>H<EFBFBD><48>#<0E>t8<<3C><><EFBFBD>H<EFBFBD><48>#<0E><><06><><1D><12>wIIEND<4E>B`<60>