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

12 lines
1.4 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

IHDR00W<02><> pHYs<0E><0E><01>+IDATx<54><78><EFBFBD>[LTG<18><><EFBFBD><EFBFBD> <0B>\<5C><>\<5C>Q<>(J<>ƨM,1V-%<25><04><63><D398><EFBFBD>i<1F><>־4<D6BE>ėbh &h<><68><EFBFBD>ښ5<>VТU<D0A2>D)<29>ܷ<EFBFBD>^ao<61><6F>3'!<02>s<EFBFBD><73><EFBFBD>s &<26><><EFBFBD>rn3<6E>o<EFBFBD>of<6F>o<14><><EFBFBD><EFBFBD><EFBFBD>F<><17><>Y<05>JR<4A>M"<22><>Q<EFBFBD>lmH. $8<08>r"<22>?_<><m(w<><77>a<07><>i@Ӄ 8]<5D><><19> H<>T<EFBFBD>bm<14><>Ԉ<EFBFBD><08><>l5r<>8<1F><>¹;&<26>w<EFBFBD><77><EFBFBD>LI<4C>n<EFBFBD>
<EFBFBD><EFBFBD>Q<EFBFBD><EFBFBD>Ǝ<EFBFBD>(<05><>K<EFBFBD><1D><18><>7D㗇<44>dTL<54><4C><EFBFBD>Ծ_<02><> <20>YE<>D<EFBFBD> <09><>%Bw.WqW<71><57>AFĄ <0B>ͰO<CDB0>w/QR5!8<>^<5E><>UjD)<29> <04>͍<EFBFBD><CD8D>E<EFBFBD><45><EFBFBD>_-<2D>G<EFBFBD><47><EFBFBD><EFBFBD>=<13>n<EFBFBD>0`t
<EFBFBD><EFBFBD> <01><><EFBFBD><EFBFBD><EFBFBD>K<><4B><>Ɓ52cC<63><43>Q<EFBFBD>X<><58>ڹ<EFBFBD>C<EFBFBD>ˈ<EFBFBD><CB88>|<7C><17><>b<><62>v<EFBFBD>c}j<18><><EFBFBD>Ź;F<>ڼ4UlY<1A>|<7C><><EFBFBD>vb(zu<7A><75><EFBFBD>a<EFBFBD>C&v<>3Ē<>k(KF<4B>&R<><52>x<EFBFBD><78>2<EFBFBD>HzM<7A><4D>$<24>h<<3C>(H Ccy
<EFBFBD><EFBFBD> <0C>`uy}<7D>)<29><><EFBFBD>hI;?<3F><>gNT_<19><>f=<3D><>#<23><>Z5<5A>/<2F>]<5D>}<7D><>։<EFBFBD>q<EFBFBD>ϙvdGBn<42>vj<> $p<>(<28>R<EFBFBD>P{uע<75><08><02>Q<EFBFBD>X<EFBFBD>.<2E>߸<EFBFBD>m<EFBFBD>.<2E><><EFBFBD><EFBFBD>D<EFBFBD>x<EFBFBD><78><EFBFBD>kI4;<3B><>h<><68><EFBFBD><EFBFBD>\<5C><1B><><EFBFBD>p<EFBFBD>`u<><75><07><00><13>b<EFBFBD>Fa&1<><31><EFBFBD> <0A><>L<01> <09>Ǟf<C79E><66><EFBFBD><EFBFBD><EFBFBD>,~1O!'<27><>{r<><A<>qo<71><EFBFBD><E48780>ؖ<>^p<>bY<62><59><EFBFBD>z<EFBFBD><1D><><EFBFBD><02>F<EFBFBD><1F>ɊD<C98A><44>a<EFBFBD>;!b
<EFBFBD>=$_<16><><EFBFBD> <0C><>֭A?<04>a<1B>t<EFBFBD>k ӶV<D3B6>ٞ<EFBFBD><D99E>;y<><1F><><EFBFBD><EFBFBD>^+<2B><>ʿ"OS<4F><53><EFBFBD><EFBFBD>>x<05><>ͯ<EFBFBD><CDAF>W<EFBFBD><1E>~<7E><><EFBFBD><EFBFBD><EFBFBD>W<EFBFBD><57>G<EFBFBD>\Nu<>ɎWr<57><72>L<EFBFBD>$j{<12>X<>
<EFBFBD>L,P<><50><EFBFBD><EFBFBD>T<EFBFBD>{Z<>R<EFBFBD><52><EFBFBD>'<27><>3#;<3B>a<EFBFBD>]<5D><><EFBFBD>P<EFBFBD><50><EFBFBD><02>w<EFBFBD><77><EFBFBD><EFBFBD>v<EFBFBD><76>o}
<EFBFBD><EFBFBD><1B><05><><EFBFBD><EFBFBD>xa<1C><>f[<5B><>A<><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD>w<03><>I<EFBFBD><1C>E<EFBFBD><45> <0A>x<EFBFBD><78>5mA<> p<><70><EFBFBD><EFBFBD><EFBFBD><36><D290>@S<>ω<EFBFBD><CF89><EFBFBD>ƅ<7F><04>U<EFBFBD>^<5E>-U<><55><EFBFBD>H<EFBFBD><48>?<3F>o'A:{<7B>I<17>O<EFBFBD><4F>C(<28><05><1B><><EFBFBD>U<EFBFBD><EFBFBD><EAADB1><EFBFBD>݉^<5E>,<2C>?<3F><>T<EFBFBD>-<2D>?<3F>
[<5B>F<14>D"7Q|5nj<><6A>}<7D>x=<3D><>'p<><EFBFBD><E184A8>@<40><><EFBFBD>G<>Se
4<<3C>6IQ
<EFBFBD>-MB<4D>bO<03><><EFBFBD>p<EFBFBD>ʘ<EFBFBD><EFBFBD><7F><EFBFBD>RW<52><57>0<EFBFBD><30>2<EFBFBD><32><EFBFBD>h-<2D><><EFBFBD>q^ˌ<><CB8C>+<1A><>*<2A>X<EFBFBD>*<2A><>?<3F>b<EFBFBD><62>!2<>j}<7D>H<EFBFBD><48><EFBFBD>'<27> <0C><><18><><EFBFBD><EFBFBD><EFBFBD>z<EFBFBD>L<EFBFBD>.<2E>wڈ<>Aԕ$"]<5D>N=[<0E>!<Ļ<><1B><10>/꠷<><EAA0B7><EFBFBD>4<01><s`<60>7<EFBFBD>8<EFBFBD>;<3B>k"Bau<61>4<EFBFBD>>k>]<5D><08><><EFBFBD>Ny<4E>Gp<47> Ƕ<><C7B6>\'<27>V7><3E>4<EFBFBD><34><EFBFBD><EFBFBD>6<><36><EFBFBD><EC88A9><EFBFBD>u<EFBFBD><75><EFBFBD><18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>q<EFBFBD>E<EFBFBD><45> i<><69>(<28><1E>u<EFBFBD><75>x<EFBFBD><78><11>IC<>56<35><36>q<EFBFBD><71>?<3F>6<EFBFBD><36>ӈ<EFBFBD><D388><EFBFBD><EFBFBD>ٲ<1C><><1E>q<EFBFBD>|<7C><><EFBFBD>{<7B>y)`<60><><1F><><EFBFBD>#a#jIEND<4E>B`<60>