A browser extension that prevents your computer from sleeping during active file uploads on DeepMeta.
- Automatically detects when DeepMeta4 tabs are open
- Monitors for active file upload sessions
- Keeps your computer awake during uploads (screen can turn off)
- Supports multiple DeepMeta4 tabs simultaneously
- Works across Google Chrome, MS Edge, and other Chromium-based browsers
The extension:
- Monitors all DeepMeta tabs for file upload activity
- Detects uploads through multiple methods (XHR, Fetch API, DOM monitoring)
- Uses the browser's Power Management API to prevent system sleep
- Automatically releases the keep-awake lock when uploads complete
- Allows your screen to turn off while keeping the system active
- Clone or download this repository
- Open Chrome/Edge and navigate to
chrome://extensions/(oredge://extensions/) - Enable "Developer mode" (toggle in top-right corner)
- Click "Load unpacked"
- Select the
DeepMetaNeverSleepfolder
Once installed, the extension works automatically:
- Open one or more DeepMeta tabs (
https://deepmeta.creativ.zone/) - Start uploading files
- The extension will detect the upload and prevent system sleep
- When uploads complete, the keep-awake lock is automatically released
To verify the extension is working:
- Open browser console (F12)
- Look for messages prefixed with
[DeepMeta Never Sleep] - You'll see notifications when:
- The extension loads
- Uploads start/stop
- Keep-awake is enabled/disabled
Example console output:
[DeepMeta Never Sleep] Content script loaded
[DeepMeta Never Sleep] XHR upload detected: https://deepmeta.creativ.zone/api/upload
[DeepMeta Never Sleep] Upload started in tab 123
[DeepMeta Never Sleep] Keep awake enabled (1 active uploads)
DeepMetaNeverSleep/
├── manifest.json # Extension configuration
├── background.js # Background service worker (power management)
├── content.js # Content script (upload detection)
├── icons/ # Extension icons
│ ├── icon16.png
│ ├── icon48.png
│ ├── icon128.png
│ ├── icon.svg # Source SVG
│ ├── generate_icons.py # Python icon generator
│ └── generate-icons.html # Browser-based icon generator
└── README.md # This file
The extension uses multiple detection strategies to ensure reliability:
- XHR Monitoring: Intercepts XMLHttpRequest calls with FormData/File/Blob bodies
- Fetch API Monitoring: Intercepts fetch() calls with file upload payloads
- DOM Observation: Watches for upload progress UI elements as a backup
- Periodic Checks: Scans for visible upload indicators every 5 seconds
If you want to customize the icons:
Option 1 - Python:
cd icons
python3 generate_icons.pyOption 2 - Browser:
# Open icons/generate-icons.html in your browser
# Click the download buttons for each icon sizeOption 3 - Manual:
Edit icons/icon.svg and convert to PNG using your preferred tool.
The extension requires these permissions:
tabs: To detect when DeepMeta tabs are openpower: To prevent system sleep during uploadsscripting: To inject upload detection into existing tabshttps://deepmeta.creativ.zone/*: To access and monitor DeepMeta pages
- Check browser console for
[DeepMeta Never Sleep]messages - Verify the extension is enabled
- Reload the DeepMeta page
- Check that uploads are actually happening (progress bars visible)
- Verify the extension shows "Keep awake enabled" in console
- Check browser permissions allow power management
- Some operating systems may override browser power management (check OS settings)
- Try the extension in a different browser
This extension:
- Only monitors
https://deepmeta.creativ.zone/*pages - Does not collect or transmit any data
- Does not access file contents
- Only detects that uploads are happening (not what is being uploaded)
- Runs entirely locally in your browser
MIT License - Feel free to modify and distribute
Contributions welcome! Please:
- Fork the repository
- Create a feature branch
- Make your changes
- Test in Chrome/Edge
- Submit a pull request
For issues or questions:
- Check browser console for error messages
- Verify you're using DeepMeta at
https://deepmeta.creativ.zone/ - Open an issue on GitHub with browser version and console logs