<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Pooja Garva</title>
    <description>The latest articles on DEV Community by Pooja Garva (@pooja_garva).</description>
    <link>https://dev.to/pooja_garva</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1767446%2F4abb1dfa-2e3b-456c-a5e3-36fbf44fe098.jpeg</url>
      <title>DEV Community: Pooja Garva</title>
      <link>https://dev.to/pooja_garva</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/pooja_garva"/>
    <language>en</language>
    <item>
      <title>Preserve Console Logs in Browser using DevTools 🧠</title>
      <dc:creator>Pooja Garva</dc:creator>
      <pubDate>Wed, 05 Nov 2025 10:26:37 +0000</pubDate>
      <link>https://dev.to/pooja_garva/preserve-console-logs-in-browser-using-devtools-5k0</link>
      <guid>https://dev.to/pooja_garva/preserve-console-logs-in-browser-using-devtools-5k0</guid>
      <description>&lt;p&gt;Ever lost your console.log() messages after a page reload or redirect?&lt;br&gt;
That’s because Chrome clears the console on every navigation by default.&lt;/p&gt;

&lt;p&gt;Here’s how to preserve logs - super handy when debugging redirects in React, Next.js, or any front-end app 👇&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;useEffect(() =&amp;gt; {
  console.log("User data before redirect:", userData);

  if (!userData) router.push("/login");
}, [userData]);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Normally, after router.push("/login"), the new page loads and your log disappears.&lt;br&gt;
But we can fix that!&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;How to Preserve Logs ✅ *&lt;/em&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open DevTools → Console tab&lt;/li&gt;
&lt;li&gt;Check ✅ “Preserve log” (top-right of the console)&lt;/li&gt;
&lt;li&gt;Reload your page - your logs will now stay visible even after navigation 🚀&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;When It Helps 💡&lt;/strong&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Debugging redirects or auth flows&lt;/li&gt;
&lt;li&gt;Tracking OAuth callbacks&lt;/li&gt;
&lt;li&gt;Seeing state before reload&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That’s it! Now your logs survive page reloads - simple but powerful. 🔥&lt;/p&gt;

</description>
      <category>browserlogs</category>
      <category>preservelogs</category>
      <category>devtoppls</category>
      <category>browser</category>
    </item>
    <item>
      <title>Chrome’s new “Split Tabs” -Finally, True multitasking in your browser 💻</title>
      <dc:creator>Pooja Garva</dc:creator>
      <pubDate>Wed, 05 Nov 2025 10:06:56 +0000</pubDate>
      <link>https://dev.to/pooja_garva/chromes-new-split-tabs-finally-true-multitasking-in-your-browser-1lbo</link>
      <guid>https://dev.to/pooja_garva/chromes-new-split-tabs-finally-true-multitasking-in-your-browser-1lbo</guid>
      <description>&lt;p&gt;Google Chrome is testing a brand-new &lt;strong&gt;Split Tabs feature&lt;/strong&gt; - and it’s a total productivity boost! ⚡&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcwf43xh1g05fu7xme75g.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcwf43xh1g05fu7xme75g.jpg" alt=" " width="800" height="422"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Instead of juggling multiple windows, you can now view two tabs side-by-side in the same window. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Perfect for:&lt;/strong&gt;&lt;br&gt;
🧑‍💻 Developers comparing docs and code&lt;br&gt;
✍️ Writers referencing research&lt;br&gt;
📊 Anyone who loves multitasking on ultrawide screens&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🔧 How to try it:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open chrome://flags&lt;/li&gt;
&lt;li&gt;Search for Split Tabs or Side-by-Side&lt;/li&gt;
&lt;li&gt;Enable it and restart Chrome&lt;/li&gt;
&lt;li&gt;Right-click a tab → “Split tab with…”&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;💡 It’s still experimental, but it already feels like a game-changer for focused workflows.&lt;/p&gt;

&lt;p&gt;Split Tabs might just be the productivity boost we needed to cut the window chaos. 💫&lt;/p&gt;

</description>
      <category>chrome</category>
      <category>googlechrome</category>
      <category>splittabs</category>
      <category>browser</category>
    </item>
    <item>
      <title>visibilitychange: Ever wondered how your browser knows when you leave a tab?</title>
      <dc:creator>Pooja Garva</dc:creator>
      <pubDate>Tue, 04 Nov 2025 17:21:33 +0000</pubDate>
      <link>https://dev.to/pooja_garva/visibilitychange-ever-wondered-how-your-browser-knows-when-you-leave-a-tab-4l3d</link>
      <guid>https://dev.to/pooja_garva/visibilitychange-ever-wondered-how-your-browser-knows-when-you-leave-a-tab-4l3d</guid>
      <description>&lt;p&gt;Have you ever noticed how when you switch to another tab, the video or animation you were watching suddenly pauses, and when you come back - it resumes automatically? Or how some pages seem to pause their activity the moment you move away, and pick up right where they left off when you return?&lt;/p&gt;

&lt;p&gt;That’s all because of the &lt;strong&gt;Page Visibility API&lt;/strong&gt; - specifically, the &lt;strong&gt;visibilitychange&lt;/strong&gt; event. This simple event lets a web page know when it’s visible to the user or hidden in the background, so it can act smarter - like saving battery, pausing timers, or deferring background tasks until you return.&lt;/p&gt;

&lt;p&gt;Here’s the simplest possible example that shows exactly how it works 👇&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!doctype html&amp;gt;
&amp;lt;html&amp;gt;
  &amp;lt;head&amp;gt;
    &amp;lt;meta charset="utf-8"&amp;gt;
    &amp;lt;title&amp;gt;Tab Visibility Demo&amp;lt;/title&amp;gt;
  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
    &amp;lt;h1&amp;gt;Switch tabs to see the magic ✨&amp;lt;/h1&amp;gt;

    &amp;lt;script&amp;gt;
      document.addEventListener('visibilitychange', () =&amp;gt; {
        if (document.hidden) {
          console.log('👋 You left the tab! The page is now hidden.');
        } else {
          console.log('👀 Welcome back! The page is visible again.');
        }
      });
    &amp;lt;/script&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;✅ How to try it:&lt;/em&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Copy this into a file like tab-visibility.html.&lt;/li&gt;
&lt;li&gt;Open it in your browser.&lt;/li&gt;
&lt;li&gt;Open DevTools (F12 → Console).&lt;/li&gt;
&lt;li&gt;Switch to another tab → “👋 You left the tab!”&lt;/li&gt;
&lt;li&gt;Come back → “👀 Welcome back!”&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  React version (just as easy)
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { useEffect } from 'react';

export default function App() {
  useEffect(() =&amp;gt; {
    function handleVisibility() {
      if (document.hidden) {
        console.log('👋 You left the tab!');
      } else {
        console.log('👀 Welcome back!');
      }
    }

    document.addEventListener('visibilitychange', handleVisibility);
    return () =&amp;gt; document.removeEventListener('visibilitychange', handleVisibility);
  }, []);

  return &amp;lt;h1&amp;gt;Switch tabs and check your console 👀&amp;lt;/h1&amp;gt;;
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This tiny event is behind so much of what makes the web feel smooth - from pausing media and animations to keeping your apps efficient and responsive. And the best part? It only takes a few lines of JavaScript!&lt;/p&gt;

</description>
      <category>visibilitychange</category>
      <category>javascript</category>
      <category>javascriptapis</category>
      <category>api</category>
    </item>
    <item>
      <title>Browser Storage Quotas: Limit to store data/files inside browsers</title>
      <dc:creator>Pooja Garva</dc:creator>
      <pubDate>Thu, 11 Jul 2024 17:22:29 +0000</pubDate>
      <link>https://dev.to/pooja_garva/browser-storage-quotas-limits-to-store-datafiles-inside-browsers-204o</link>
      <guid>https://dev.to/pooja_garva/browser-storage-quotas-limits-to-store-datafiles-inside-browsers-204o</guid>
      <description>&lt;p&gt;In the digital age, web browsers have become essential tools for accessing information, communicating, and conducting various activities online. Behind the scenes, browsers manage a significant volume of data, including cookies, cached files, and user-uploaded content. However, there’s a limit to how much data browsers can store locally, and understanding these storage quotas is crucial for both users and developers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Exploring Chrome’s “quota-internals”
&lt;/h2&gt;

&lt;p&gt;One of the most popular web browsers, Google Chrome, offers insight into its storage quotas through a feature known as “quota-internals.” Accessible via the URL “chrome://quota-internals”, this tool provides users and developers with valuable information about the storage usage within the browser.&lt;/p&gt;

&lt;p&gt;Before delving into how storage affects Chrome’s quota internals, it’s essential to understand the different types of browser storage:&lt;/p&gt;

&lt;h2&gt;
  
  
  Types of Browser Storage
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Local Storage: This mechanism stores data with no expiration date. It remains persistent even after the browser is closed and reopened.&lt;/li&gt;
&lt;li&gt;Session Storage: Data stored here is cleared when the browser session ends, i.e., when the browser is closed.&lt;/li&gt;
&lt;li&gt;IndexedDB: This is a powerful API for storing significant amounts of structured data in the browser, supporting indexes and transactions.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Impact on Quota Internals
&lt;/h2&gt;

&lt;p&gt;When users upload files or store data using local storage, session storage, or IndexedDB, it contributes to the overall storage usage tracked within Chrome’s quota internals. Each of these storage mechanisms has its own quota limits, which vary based on factors such as browser settings and permissions.&lt;/p&gt;

&lt;p&gt;Exceeding these quotas may result in various consequences, such as denial of further storage, prompting for user permission, or other browser-defined behaviors. Thus, developers must manage storage usage responsibly to ensure a smooth user experience and avoid potential quota-related issues.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;chrome://quota-internals&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9onx3gdi7p8mvomxjrnc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9onx3gdi7p8mvomxjrnc.png" alt=" " width="800" height="559"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When you upload files or save data using these storage methods, it adds up. If you go over the limit, your browser might not let you store more. This could slow things down, cause issues with certain websites or might crash the tab.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;It’s important to know about browser storage limits.&lt;br&gt;
Chrome’s “quota-internals” feature offers valuable insights into storage usage within the browser, empowering users and developers to make informed decisions regarding data management and application design.&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>browser</category>
      <category>browserstorage</category>
      <category>storagelimit</category>
      <category>quotainternals</category>
    </item>
  </channel>
</rss>
