> ## Documentation Index
> Fetch the complete documentation index at: https://docs.capwrapper.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Automatic Native Features

> Seven Capwrapper features activate at first launch with zero code or config — offline caching, pull-to-refresh, session persistence, progress bar, and more.

Seven Capwrapper features are active from the first launch of your app. You do not write any code, add any configuration, or enable anything in the dashboard. Capwrapper injects the behavior automatically at build time, so your users benefit from a polished native experience with no extra work on your side.

<AccordionGroup>
  <Accordion title="Offline mode" icon="wifi-slash">
    As users browse your app, Capwrapper automatically saves visited pages and their images to a local cache. When the device loses internet connectivity, the app displays the cached version of those pages instead of a browser error screen.

    **User benefit:** Your app remains usable on aeroplanes, underground transport, and anywhere else connectivity drops — without any code changes to your web app.
  </Accordion>

  <Accordion title="Pull to refresh" icon="rotate">
    Users can swipe downward from the top of any page to trigger a reload, exactly as they would in Instagram, Twitter, or any native social app. The gesture is handled by the native wrapper layer — your web app does not need to implement anything.

    **User benefit:** The familiar pull-to-refresh gesture makes your app feel native rather than browser-like, reducing friction for mobile users.
  </Accordion>

  <Accordion title="Progress bar" icon="loader">
    A thin colored bar appears at the top of the screen while pages are loading. The bar advances as the page loads and disappears on completion. The color matches your app's primary brand color set in the Capwrapper dashboard.

    **User benefit:** Users always know something is happening during navigation. This eliminates the "is it frozen?" confusion common in WebView-based apps with no loading indicator.
  </Accordion>

  <Accordion title="Login session persistence" icon="key">
    Capwrapper persists authentication cookies and tokens between app launches. When a user closes the app and reopens it, they are still logged in — no re-entry of credentials required.

    **User benefit:** Eliminates the frustrating re-login loop that affects many WebView-based apps. Sessions survive app restarts, device reboots, and background termination by the OS.
  </Accordion>

  <Accordion title="Remember last page" icon="bookmark">
    When a user closes the app and reopens it later, the app restores the exact URL they were on when they left. If they were on a product detail page, a dashboard, or a form, they return to that same page automatically.

    **User benefit:** Reduces navigation friction and makes the app feel continuous rather than stateless, matching the behavior users expect from native apps.
  </Accordion>

  <Accordion title="Offline error page" icon="triangle-alert">
    When a user opens the app or navigates to a page that is not cached and the device has no connectivity, Capwrapper displays a friendly "You're Offline" page with a retry button. Users never see the browser's default error screen or a blank white screen.

    **User benefit:** A clear, branded offline state is far less alarming than a raw error page. The retry button lets users quickly recover when connectivity returns.
  </Accordion>

  <Accordion title="Google Sign-In fix" icon="google">
    Google's sign-in flow blocks authentication inside a standard WebView for security reasons. Capwrapper automatically detects Google sign-in redirects and opens them in a secure in-app browser, completing the OAuth flow correctly and returning the user to your app.

    **User benefit:** Users who sign in with Google can do so without any errors or manual workarounds. You do not need to configure anything or use the `NativeSocialLogin` bridge for this basic fix.

    <Note>
      This automatic fix handles the WebView blocking issue for standard Google OAuth flows. If you need deeper Google integration — such as one-tap sign-in, silent token refresh, or access to additional scopes — see [NativeSocialLogin](/native-features/external-setup#social-login) in the external setup guide.
    </Note>
  </Accordion>
</AccordionGroup>

<Note>
  All seven features are enabled by default and cannot be disabled individually. They apply to every app built with Capwrapper regardless of plan or configuration.
</Note>

## Next steps

These automatic features give your app a solid native foundation. For more advanced capabilities, see the other sections of the Native Features guide.

<CardGroup cols={2}>
  <Card title="Code-activated features" icon="code" href="/native-features/code-activated-features">
    Add push notifications, QR scanning, file downloads, and \~30 more features with a JavaScript snippet.
  </Card>

  <Card title="External setup features" icon="wrench" href="/native-features/external-setup">
    Features like in-app purchases, AdMob ads, and background location that require an external account.
  </Card>
</CardGroup>
