experiments in a post-browser web
10
fork

Configure Feed

Select the types of activity you want to include in your feed.

more isolating extensions

+147
+49
extensions/groups/background.html
··· 1 + <!DOCTYPE html> 2 + <html> 3 + <head> 4 + <meta charset="utf-8"> 5 + <title>Groups Extension</title> 6 + </head> 7 + <body> 8 + <script type="module"> 9 + import extension from './background.js'; 10 + 11 + const api = window.app; 12 + const extId = extension.id; 13 + 14 + console.log(`[ext:${extId}] background.html loaded`); 15 + 16 + // Signal ready to main process 17 + api.publish('ext:ready', { 18 + id: extId, 19 + manifest: { 20 + id: extension.id, 21 + labels: extension.labels, 22 + version: '1.0.0' 23 + } 24 + }, api.scopes.SYSTEM); 25 + 26 + // Initialize extension 27 + if (extension.init) { 28 + console.log(`[ext:${extId}] calling init()`); 29 + extension.init(); 30 + } 31 + 32 + // Handle shutdown request from main process 33 + api.subscribe('app:shutdown', () => { 34 + console.log(`[ext:${extId}] received shutdown`); 35 + if (extension.uninit) { 36 + extension.uninit(); 37 + } 38 + }, api.scopes.SYSTEM); 39 + 40 + // Handle extension-specific shutdown 41 + api.subscribe(`ext:${extId}:shutdown`, () => { 42 + console.log(`[ext:${extId}] received extension shutdown`); 43 + if (extension.uninit) { 44 + extension.uninit(); 45 + } 46 + }, api.scopes.SYSTEM); 47 + </script> 48 + </body> 49 + </html>
+49
extensions/peeks/background.html
··· 1 + <!DOCTYPE html> 2 + <html> 3 + <head> 4 + <meta charset="utf-8"> 5 + <title>Peeks Extension</title> 6 + </head> 7 + <body> 8 + <script type="module"> 9 + import extension from './background.js'; 10 + 11 + const api = window.app; 12 + const extId = extension.id; 13 + 14 + console.log(`[ext:${extId}] background.html loaded`); 15 + 16 + // Signal ready to main process 17 + api.publish('ext:ready', { 18 + id: extId, 19 + manifest: { 20 + id: extension.id, 21 + labels: extension.labels, 22 + version: '1.0.0' 23 + } 24 + }, api.scopes.SYSTEM); 25 + 26 + // Initialize extension 27 + if (extension.init) { 28 + console.log(`[ext:${extId}] calling init()`); 29 + extension.init(); 30 + } 31 + 32 + // Handle shutdown request from main process 33 + api.subscribe('app:shutdown', () => { 34 + console.log(`[ext:${extId}] received shutdown`); 35 + if (extension.uninit) { 36 + extension.uninit(); 37 + } 38 + }, api.scopes.SYSTEM); 39 + 40 + // Handle extension-specific shutdown 41 + api.subscribe(`ext:${extId}:shutdown`, () => { 42 + console.log(`[ext:${extId}] received extension shutdown`); 43 + if (extension.uninit) { 44 + extension.uninit(); 45 + } 46 + }, api.scopes.SYSTEM); 47 + </script> 48 + </body> 49 + </html>
+49
extensions/slides/background.html
··· 1 + <!DOCTYPE html> 2 + <html> 3 + <head> 4 + <meta charset="utf-8"> 5 + <title>Slides Extension</title> 6 + </head> 7 + <body> 8 + <script type="module"> 9 + import extension from './background.js'; 10 + 11 + const api = window.app; 12 + const extId = extension.id; 13 + 14 + console.log(`[ext:${extId}] background.html loaded`); 15 + 16 + // Signal ready to main process 17 + api.publish('ext:ready', { 18 + id: extId, 19 + manifest: { 20 + id: extension.id, 21 + labels: extension.labels, 22 + version: '1.0.0' 23 + } 24 + }, api.scopes.SYSTEM); 25 + 26 + // Initialize extension 27 + if (extension.init) { 28 + console.log(`[ext:${extId}] calling init()`); 29 + extension.init(); 30 + } 31 + 32 + // Handle shutdown request from main process 33 + api.subscribe('app:shutdown', () => { 34 + console.log(`[ext:${extId}] received shutdown`); 35 + if (extension.uninit) { 36 + extension.uninit(); 37 + } 38 + }, api.scopes.SYSTEM); 39 + 40 + // Handle extension-specific shutdown 41 + api.subscribe(`ext:${extId}:shutdown`, () => { 42 + console.log(`[ext:${extId}] received extension shutdown`); 43 + if (extension.uninit) { 44 + extension.uninit(); 45 + } 46 + }, api.scopes.SYSTEM); 47 + </script> 48 + </body> 49 + </html>