Keyboard Shortcuts in Firefox Extensions: A Complete Guide Good keyboard support separates a great extension from a mediocre one. Here's everything you need to know. For global keyboard shortcuts (accessible even when the extension isn't focused): { "commands": { "_execute_action": { "suggested_key": { "default": "Ctrl+Shift+W" }, "description": "Open Weather & Cl
Search Bar in a Firefox New Tab Extension: Which Engine, How to Handle Adding a search bar to a new tab extension sounds simple — it's just a text input and a redirect. But there are enough details to get right that it's worth writing down. <form id="search-form" role="search"> <input type="search" id="search-input" placeholder="Search..." autocomplete="off" autofocus />
Using browser.storage.sync vs storage.local in Firefox Extensions: When to Use Each Firefox extensions have two main storage options: browser.storage.sync and browser.storage.local. Picking the wrong one leads to frustrating UX. Here's how to think about it. storage.sync storage.local Synced across devices Yes (via Firefox Sync) No Quota 100KB (8KB per item) 10MB Requires Firefox Syn
Building a Weather Widget for Firefox New Tab: API-Free Approach with wttr.in Most weather widgets require API keys, rate limits, and sometimes credit cards. There's a better way: wttr.in — a free, open, consent-friendly weather service that requires zero authentication. wttr.in is a console-oriented weather service by Igor Chubin. It supports: Plain text output (for terminals) JSON API output (
Firefox Extension Manifest V3 Migration: What Actually Changed Manifest V3 (MV3) has been a contentious topic in browser extension development — mostly because of Chrome's aggressive changes to blocking WebRequest API. Firefox's approach is different and more developer-friendly. Here's what actually changed and what you need to know. Firefox's MV3 implementation is more permissive than Chrome's:
Tired of writing the same Socket.io setup every project? 😩 I built quick-socket — install it and get real-time chat working in minutes. npm install quick-socket ## What you get out of the box 📦 ✅ Chat rooms ## Time saved ⏱️ Socket setup → 3 hours becomes 1 minute Room management → 4 hours becomes 1 line Typing indicator → 1 hour becomes 1 line Read receipts → 3 hours becomes 1 line Total sa
Making a Firefox Extension Work Offline — Service Workers vs. Cache API A common question when building browser extensions: how do you handle offline or spotty network conditions? Here is what I learned building the Weather & Clock Dashboard. The extension fetches weather data from an external API. If the user opens a new tab with no internet connection, they should see the last known weather, n
Hey Dev.to community 👋 I'm a growing developer and I just finished building my first I'm writing this partly to document what I faced, partly to A Kanban-style job application tracker where you can: Add, edit and delete job applications Drag and drop between columns Move jobs via dropdown menu All updates reflect immediately without page refresh Tech stack: Next.js 16 (App Router) TypeScript Mo