{"id":342865,"date":"2026-08-27T06:01:18","date_gmt":"2026-08-27T06:01:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/tecveq-pwa-premium-standalone-progressive-web-app\/"},"modified":"2026-08-27T06:01:09","modified_gmt":"2026-08-27T06:01:09","slug":"tecveq-pwa-toolkit","status":"publish","type":"plugin","link":"https:\/\/sna.wordpress.org\/plugins\/tecveq-pwa-toolkit\/","author":23535359,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"4.3.1","stable_tag":"4.3.1","tested":"7.0.4","requires":"5.4","requires_php":"7.2","requires_plugins":null,"header_name":"Tecveq PWA Toolkit","header_author":"TECVEQ","header_description":"Fully modular, premium All-in-One Progressive Web App (PWA) developer tool. Bring App Store fidelity to your site with custom bottom navigation, Workbox caching, offline support, rewards on install, scroll progress indicators, and real-time offline synchronization!","assets_banners_color":"6777ea","last_updated":"2026-08-27 06:01:09","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/tecveq.com\/products\/tecveq-pwa-toolkit\/","header_author_uri":"https:\/\/tecveq.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":61,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"4.3.1":{"tag":"4.3.1","author":"tecveq","date":"2026-08-27 06:01:09","revision":3668160}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3668205,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3668205,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3668205,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3668205,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["4.3.1"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[2323,139244,77057,127344,151126],"plugin_category":[59],"plugin_contributors":[277766],"plugin_business_model":[],"class_list":["post-342865","plugin","type-plugin","status-publish","hentry","plugin_tags-offline","plugin_tags-progressive-web-app","plugin_tags-pwa","plugin_tags-service-worker","plugin_tags-workbox","plugin_category-utilities-and-tools","plugin_contributors-tecveq","plugin_committers-tecveq"],"banners":{"banner":"https:\/\/ps.w.org\/tecveq-pwa-toolkit\/assets\/banner-772x250.png?rev=3668205","banner_2x":"https:\/\/ps.w.org\/tecveq-pwa-toolkit\/assets\/banner-1544x500.png?rev=3668205","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/tecveq-pwa-toolkit\/assets\/icon-128x128.png?rev=3668205","icon_2x":"https:\/\/ps.w.org\/tecveq-pwa-toolkit\/assets\/icon-256x256.png?rev=3668205","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Tecveq PWA Toolkit provides a complete suite of developer features to turn your WordPress website into a native-like Progressive Web App.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Custom Web App Manifest (display modes, theme color, icons, shortcuts)<\/li>\n<li>Dynamic Workbox Service Worker caching (Network-First, Cache-First, Stale-While-Revalidate)<\/li>\n<li>Mobile bottom tab navigation bar with SVG vector icons and custom accent colors<\/li>\n<li>Intelligent install prompts (Popup Overlay, Top Smart Banner, Snackbar)<\/li>\n<li>iOS Safari installation guidance tooltip<\/li>\n<li>Offline page fallback (offline.html)<\/li>\n<li>Offline status toast notification<\/li>\n<li>Pull-to-refresh gesture support<\/li>\n<li>Shake-to-refresh device gesture support<\/li>\n<li>Haptic feedback vibrations on mobile menu taps<\/li>\n<li>Screen wake lock prevention<\/li>\n<li>Scroll progress indicator bar<\/li>\n<li>PWA Rewards shortcode <code>[tecveq_pwa_rewards]<\/code> to lock content until installation<\/li>\n<\/ul>\n\n<h3>External Services<\/h3>\n\n<p>This plugin utilizes Google Workbox CDN to deliver the Service Worker framework needed for offline caching.<\/p>\n\n<h4>Google Workbox (CDN)<\/h4>\n\n<ul>\n<li>Service URL: https:\/\/developers.google.com\/web\/tools\/workbox<\/li>\n<li>Script loaded: <code>https:\/\/storage.googleapis.com\/workbox-cdn\/releases\/6.4.1\/workbox-sw.js<\/code><\/li>\n<li>When: Loaded inside the Service Worker script when a user's browser installs the web app.<\/li>\n<li>Data transmitted: No personal data or user credentials are transmitted to Google. The browser fetches static JavaScript code.<\/li>\n<li>Privacy Policy: https:\/\/policies.google.com\/privacy<\/li>\n<li>Terms of Service: https:\/\/policies.google.com\/terms<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>tecveq-pwa-toolkit<\/code> folder to your <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress.<\/li>\n<li>Navigate to <strong>Tecveq PWA<\/strong> in the admin menu to customize your PWA settings.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20ssl%20%2F%20https%3F\"><h3>Do I need SSL \/ HTTPS?<\/h3><\/dt>\n<dd><p>Yes. Modern web browsers require an active HTTPS connection to register Service Workers.<\/p><\/dd>\n<dt id=\"where%20are%20the%20manifest%20and%20service%20worker%20files%20stored%3F\"><h3>Where are the manifest and service worker files stored?<\/h3><\/dt>\n<dd><p>They are served dynamically via WordPress rewrite rules at <code>\/manifest.json<\/code> and <code>\/tecveq-sw.js<\/code>. No physical files are written to your filesystem root.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>4.3.1<\/h4>\n\n<ul>\n<li>Added register_activation_hook and register_deactivation_hook to automatically flush rewrite rules on activation.<\/li>\n<li>Added custom SVG kses rules allowed-list for wp_kses() so bottom navbar SVG icons render securely without being stripped.<\/li>\n<li>Fixed icon key sanitization order for case-insensitive icon matching.<\/li>\n<li>Fixed sub-directory installation active tab matching logic.<\/li>\n<li>Added index.php files across sub-folders to prevent directory listing.<\/li>\n<\/ul>\n\n<h4>4.3.0<\/h4>\n\n<ul>\n<li>Initial WordPress.org repository compliance release.<\/li>\n<li>Refactored into a clean modular architecture (<code>admin\/<\/code>, <code>frontend\/<\/code>, <code>includes\/<\/code>, <code>templates\/<\/code>).<\/li>\n<li>Replaced ABSPATH root file writing with virtual rewrite endpoints.<\/li>\n<li>Replaced inline scripts and styles with <code>wp_enqueue_scripts<\/code> and <code>wp_localize_script<\/code>.<\/li>\n<li>Added Web App Shortcuts editor and Scroll Progress Bar indicator.<\/li>\n<li>Added PWA Rewards shortcode support <code>[tecveq_pwa_rewards]<\/code>.<\/li>\n<\/ul>","raw_excerpt":"Turn your WordPress site into a high-performance Progressive Web App (PWA) with Workbox offline caching, native install prompts, and mobile tab bar.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/sna.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/342865","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sna.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/sna.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/sna.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=342865"}],"author":[{"embeddable":true,"href":"https:\/\/sna.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/tecveq"}],"wp:attachment":[{"href":"https:\/\/sna.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=342865"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/sna.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=342865"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/sna.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=342865"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/sna.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=342865"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/sna.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=342865"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/sna.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=342865"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}