Files
securebit-chat/logo/pwa/windows11/Square44x44Logo.targetsize-96.png

13 lines
2.6 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

IHDR``<00><>w8 pHYs<0E><0E><01>+
IDATx<54><78><EFBFBD> pT<70><19><>y<EFBFBD>6<EFBFBD><36><EFBFBD><EFBFBD>byI<79><49>hM(<28><><14>B<>b<><62>8}<7D>Z<><5A><EFBFBD><EFBFBD><EFBFBD>NuLm<4C>v
<EFBFBD><10>d<10><>)A<13><08><>@BB<1E><><EFBFBD>n<EFBFBD>ͣ<EFBFBD>;<3B><><EFBFBD>1a<31><61>{_<><5F><EFBFBD>̝a<CC9D>ݽ<EFBFBD><DDBD><EFBFBD><EFBFBD>;<3B><><EFBFBD><EFBFBD>}<1B><><EFBFBD><EFBFBD>?<3F> ?<3F><>@c<>h<>_<00><> <0B>1~4<>/<2F><><EFBFBD><05><18><15>۷E wX8<58><38>g<EFBFBD>8~<7E>
<EFBFBD><EFBFBD>L<03><><D384><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.l*<2A>`oU;\=޳<><DEB3>
 <0A><><EFBFBD><EFBFBD>F<EFBFBD><46>D#.2h<EFBFBD><EFBFBD>d3A<EFBFBD>07<11><><EFBFBD><EFBFBD><EFBFBD>6l)mC<6D><43>zG<7A><02><>G<EFBFBD><47>݈<07>D"80@<40>{H<>5c<><63><0E>w<EFBFBD><59><D186><EFBFBD>5O<35> ,8<00>ˊƣl<C6A3><6C>C!l<><6C>(~<7E>i<EFBFBD>–<EFBFBD>6<EFBFBD>:eCg<43><67>̓nH5s<><73>Pv4b<34>e<><65>qL<71><4C><EFBFBD><1F>u<EFBFBD><75><EFBFBD><EFBFBD><EFBFBD>ӦR+<2B><><EFBFBD>a<EFBFBD>4`2<>f<EFBFBD><66><EFBFBD><EFBFBD>wT$Zɐ<><C990><EFBFBD>iZ<69>g<EFBFBD><67> .<2E><><EFBFBD>ښ'M<04> <0A><>,<03><>c⥛<19><>гFG<46><47>B<EFBFBD> <0B><>y<EFBFBD><79><EFBFBD> <0A><>^տ<><D5BF><64><C486>݈E㍈S<>qȨ<>l<><15><>M<EFBFBD>E!<13>=<3D>h_iu<69>v<76><08><><11><>f<EFBFBD><66><EFBFBD><EFBFBD>><3E><><EFBFBD><18><02><><13><><EFBFBD><EFBFBD><EFBFBD><13><><EFBFBD><EFBFBD><EFBFBD>E'<27><><EFBFBD>]<5D> :,<08><><EFBFBD><EFBFBD>
6<EFBFBD><EFBFBD>c<EFBFBD>ӹ<EFBFBD>ً<EFBFBD><08>mz@<40>~#<23>_<EFBFBD><5F>B<EFBFBD><42><EFBFBD>VV<>a<EFBFBD><61><EFBFBD><12>>2#<23>B<EFBFBD>2<EFBFBD><32>\I"C<><EFBFBD><7F>
<EFBFBD>`<60>8ۨ<><DBA8>fLNҘg<D298><67><EFBFBD>8<;ŌݧmL<6D>6<EFBFBD>4w<34>z<0F><04>=&<26>{3<>2¡&]=}<7D><76><1A>Gَy<1E><>i?!<17> =<3D>c<EFBFBD>Ŝ6<C59C><36><EFBFBD>qu;zz=7O @_<><5F>ɱH<C9B1><0E><>T<EFBFBD>u<EFBFBD><75><EFBFBD><EFBFBD>p8K<><4B><EFBFBD>u<EFBFBD><75>b9<62><39><11><>F{<0F><38>_<EFBFBD>y<EFBFBD>y}<7D><17><><EFBFBD> <0B>ް8{<7B><> <0B>hf><3E><13>i<EFBFBD><01><>DC<36><><D48B>%<>d<01>,I<> <0B><>9p<39><70>_<EFBFBD>cBx@oi<6F><69>.0=<3D><19><>XQX/<2F><><EFBFBD>X<>|fo<18><><EFBFBD><EFBFBD>Ņ<EFBFBD><C585><EFBFBD><EFBFBD>}I <1E>4<EFBFBD>1<EFBFBD>(<28>K<EFBFBD>gў12ON<4F><4E>[<5B>[E<>W<EFBFBD>^3)<16>
<05><><17><><EFBFBD>0<EFBFBD><30>e<EFBFBD><65><EFBFBD><06>?<3F><>I1<49><31><EFBFBD><15>q<>i<EFBFBD>P<><50>W(<28><>dW#^f3<66><33>.#<23><>`<60>҂<EFBFBD>hl.<2E><>z<EFBFBD>h<01><><EFBFBD><08><>-<2D><EFBFBD>̂?<3F><>z<EFBFBD>k<EFBFBD>cR<63><18>A<EFBFBD>L-(<28>P\<5C><><EFBFBD><EFBFBD>E;31L<31>=E `<60>9V<39>Wn^<5E><17><><EFBFBD><EFBFBD><EFBFBD>f<EFBFBD><66>I<EFBFBD><49>-@[<5B>ƒ<EFBFBD>R<>Z<><5A>Wڐ7<<3C> <0A><>׿n ;c<>tu<74> <09>!GD<47><44><EFBFBD>/<2F><>S<EFBFBD> <0C><>ڇ<1D>&*<2A><><EFBFBD>w<EFBFBD>T<10><><EFBFBD>÷<EFBFBD>C<EFBFBD><43>H<EFBFBD>C<EFBFBD><43><1F>-@k<><6B><EFBFBD>vz ><3E><>C<EFBFBD><43>?6<>h<>+s0<73>w<EFBFBD>D{o8T<38>zI<7A>P<EFBFBD>t<EFBFBD>'B<><42><EFBFBD>-<2D>5<EFBFBD>Л<01>L†<4C>֪<EFBFBD>V<>2<06><02><><EFBFBD>p<EFBFBD>"~lD p<>e<EFBFBD> 0N`<60><><EFBFBD>Y.0(<28><>
YI<EFBFBD><05>=<3D>5f@/<2F>n<EFBFBD>kr<6B><72>$<24> <0A><>L0{в<>ܛ J<00><><EFBFBD>R<EFBFBD>T<EFBFBD>n6T<04>39LPj<50><6A><EFBFBD>NI<4E>/I<><49>k<EFBFBD>X$<24>)<29>7<EFBFBD>_厲:5<05><><EFBFBD>PAh<41><68><EFBFBD>W<EFBFBD><57><EFBFBD>$<01>7u<37><75><EFBFBD><EFBFBD><EFBFBD>)}CX&g<>?<01><><EFBFBD>Z<EFBFBD>4<EFBFBD>P<EFBFBD><00><10><><EFBFBD>ɳ|:<3A><14><><EFBFBD>\rH<72><48><EFBFBD><EFBFBD>~qM<71><4D> <0B><>ۣ<04><>H<EFBFBD><48>"<0F><1C>v<EFBFBD><76><EFBFBD><EFBFBD><EFBFBD>D<EFBFBD><06><>1<EFBFBD><31><EFBFBD><EFBFBD><04>Ѕv<D085><76><EFBFBD>,@<40><><1B>lS6<53>,l<><6C>m<EFBFBD>%<25><>,e<><65><EFBFBD>Sz<53>ޣ<EFBFBD>ŏ<EFBFBD><C58F><31><DA8B>n<EFBFBD><6E>;<3B><><EFBFBD><EFBFBD><EFBFBD>I<EFBFBD><49><EFBFBD>G<02><><EFBFBD><EFBFBD><EFBFBD>Yr<59>A<EFBFBD>7<EFBFBD><1A>~}<7D>3<EFBFBD><33><EFBFBD>6<EFBFBD><36><EFBFBD><EFBFBD><00>[]<5D><><EFBFBD><EFBFBD>w<EFBFBD><77><EFBFBD><EFBFBD>\<5C><>ב<EFBFBD><D791><EFBFBD><EFBFBD>,<<3C>q~<7E><07><>}Jcx /®Sv<53><76><EFBFBD><EFBFBD><00><>6<EFBFBD><36>fF<66><46><EFBFBD>ӯʋ<11><>d<EFBFBD><64><EFBFBD><EFBFBD>sҽ<73>~<<16><><EFBFBD>><3E><> ^<5E><> =<3D>+<2B>f~<7E>Qa<51><61>Q<EFBFBD>"K<>ն<EFBFBD>6<EFBFBD><10><>~<7E><><EFBFBD>A<EFBFBD>.6 w0d<11> <0B> W<>p!3<>{<7B>)<29><>X<EFBFBD>+<2B>܊<EFBFBD>w<EFBFBD>JN<4A>-<2D><><EFBFBD>c-xkA<12><>W<EFBFBD>$<24>!<21>~<7E>"<22>}e`<60><>v~*$Wُ<57>PK<50><4B><EFBFBD>&,<2C>u<EFBFBD>ځ<EFBFBD>z<EFBFBD><7A><EFBFBD><EFBFBD><EFBFBD>پVҊ<56>~߻f<DFBB>92/<2F>N<10><>W>i<><69><EFBFBD><EFBFBD>
@A<><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD>s<EFBFBD>3o><3E><08><>V<07><><EFBFBD>m<EFBFBD>|?<3F><>7b<37>c<EFBFBD><63> 9<13>&<26>xY<78>ڻz<DABB><7A><11><><EFBFBD><EFBFBD>!<21>t`<60><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IX7<58>,<2C><><EFBFBD><EFBFBD><EFBFBD>W<EFBFBD>&<26><><EFBFBD>Z<EFBFBD><5A><EFBFBD>s2 <0A><><EFBFBD>ڌM ckU<6B><55>F<EFBFBD>5-.޾F <11><><6D><D39F> <05><13>7<EFBFBD>7ݶ%ɢ:<3A><>xo<78>,<2C>9B<>b<EFBFBD><62>Uv<55>n<><6E><EFBFBD><EFBFBD>i<EFBFBD><69>#?MP<4D>?<1B><><EFBFBD><EFBFBD>^Zʉ<14><>z<EFBFBD>`<13>N <0B><>:(m<><6D>/|$MT%<25>'x<><78>|<7C><><EFBFBD>PT*Z{jw#<23>.K<13><>T<02><>ݺ4Y<34><59>S<EFBFBD><53>5{<1A>4<EFBFBD><34>;V7uᩢ<06><>i!<01>l<EFBFBD><6C>0IT}<7D><>Շ<EFBFBD>;<3B><><EFBFBD>LiT)8<><1E><>0[<5B><><EFBFBD><EFBFBD><EFBFBD>>9<>|<7C><>a<16><><10><>><3E><><EFBFBD><EFBFBD><EFBFBD>j<EFBFBD>Z<EFBFBD>/5O<1A>ւ<EFBFBD>*<2A><>R<EFBFBD><52><EFBFBD>><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ׇ<EFBFBD><D787><EFBFBD>K<EFBFBD><1D><><41>g<EFBFBD>5"<22>y <20>q<EFBFBD>Ա<>W<EFBFBD><57>$<24>?~<7E><><15>)<29><><0F><>5<EFBFBD><35>w]ǖ<>ɂ<EFBFBD><0E>0<EFBFBD><1C><>f<EFBFBD>a<EFBFBD>Hi<48>ɶ<EFBFBD>۰<EFBFBD>X<EFBFBD>P<EFBFBD>;T<17><<3C><><EFBFBD> (<28>O<EFBFBD>x<0E>c#<23><>v<EFBFBD>eD<><44><EFBFBD><EFBFBD><EFBFBD>);~q<> Z<>I<EFBFBD><07><>K<>^<5E><><EFBFBD><EFBFBD><1E><>'<27>=<3D>.<2E>q0<71>T<EFBFBD><54>'*<2A>n<0E>fm7(<28>o<EFBFBD><6F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><04>/0 v <20>>^?<3F><>/-Ѵ<>I<07> <09>?h<><68>b<>nZ<1C><02><>q<05>mx<6D><78><11>^T<><54> ]4<><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD>N<EFBFBD>q~<7E><>}<7D><07><>K~<7E><>ARE<52><12>B<00><>e'f<><66><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<29>$ 5S<35><53>pdr<64><72>+K<><11><><>Pt&<26><><EFBFBD><EFBFBD><E5ADA0><1F>i<EFBFBD><69><1B><>nŠ+<01>9Xݎ<13>N<EFBFBD><4E>H<EFBFBD><48><EFBFBD>B<EFBFBD><42><05><><EFBFBD> <0B><>Х<05><>Ԅ<7F><D484><EFBFBD>X;<3B><> &<26>z<EFBFBD>=}<01>Qiū<69><C5AB>z<EFBFBD><7A><EFBFBD>4<EFBFBD><15>J<>zw
B<>~<7E><>m<13><>'6n<>E/<2F>i<EFBFBD>{<01>!<21><>l<EFBFBD>u<EFBFBD><75>?<3F><>eD^z8<7A><38><42><D8AC>mbN<62>v<EFBFBD><76><EFBFBD>6]<5D><>[<5B>5<02>Cn<43><6E><07> (<28><> <09>k<EFBFBD><05><18><1A>@c<>h<>_<00><> <0B>1~4<>/<2F><><EFBFBD><04>E<EFBFBD>`^<14>IEND<4E>B`<60>