Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ The `/docs` folder houses all markdown files. The page structure loosely maps to

## Versioning

This folder can also contain components, assets, and whatever else is meant to be versioned when the docusaurus versioning script is run. For example, if there is a page component that is only relevant to the `layout` section in the current version of Ionic, it could be added to a `_components/` folder in `docs/layout/`. When the versioning script is run, the component will be copied to `versioned_docs/verion-{X}/layout/_components/` and there will now be a separate component in `docs/layout/_components/` that can be deleted or updated to the latest version. The same concept applies to images and other files.
This folder can also contain components, assets, and whatever else is meant to be versioned when the docusaurus versioning script is run. For example, if there is a page component that is only relevant to the `layout` section in the current version of Ionic, it could be added to a `_components/` folder in `docs/layout/`. When the versioning script is run, the component will be copied to `versioned_docs/version-{X}/layout/_components/` and there will now be a separate component in `docs/layout/_components/` that can be deleted or updated to the latest version. The same concept applies to images and other files.

If components are meant to be shared across versions, they can be put in `src/components/`. If images and other served files are meant to be shared across versions they can be put in `static/`.

Expand Down
2 changes: 1 addition & 1 deletion docs/apis/action-sheet.md
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,6 @@ to select.
| ----------------- | -------------------------- | ----------------------------------------------------------------------------------------------------------- | ----- |
| **`Default`** | <code>'DEFAULT'</code> | Default style of the option. | 1.0.0 |
| **`Destructive`** | <code>'DESTRUCTIVE'</code> | Style to use on destructive options. | 1.0.0 |
| **`Cancel`** | <code>'CANCEL'</code> | Style to use on the option that cancels the Action Sheet. If used, should be on the latest availabe option. | 1.0.0 |
| **`Cancel`** | <code>'CANCEL'</code> | Style to use on the option that cancels the Action Sheet. If used, should be on the latest available option. | 1.0.0 |

</docgen-api>
2 changes: 1 addition & 1 deletion docs/apis/background-runner.md
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@ backgrounded.
| **`src`** | <code>string</code> | The path to the runner JavaScript file, relative to the app bundle. | 1.0.0 |
| **`event`** | <code>string</code> | The name of the event that will be called when the OS executes the background task. | 1.0.0 |
| **`repeat`** | <code>boolean</code> | If background task should repeat based on the interval set in `interval`. | 1.0.0 |
| **`interval`** | <code>number</code> | The number of minutes after the the app is put into the background in which the background task should begin. If `repeat` is true, this also specifies the number of minutes between each execution. | 1.0.0 |
| **`interval`** | <code>number</code> | The number of minutes after the app is put into the background in which the background task should begin. If `repeat` is true, this also specifies the number of minutes between each execution. | 1.0.0 |
| **`autoStart`** | <code>boolean</code> | Automatically register and schedule background task on app load. | 1.0.0 |

### Examples
Expand Down
8 changes: 4 additions & 4 deletions docs/apis/http.md
Original file line number Diff line number Diff line change
Expand Up @@ -287,9 +287,9 @@ https://nodejs.org/api/buffer.html#class-blob

#### ArrayBuffer

Represents a raw buffer of binary data, which is used to store data for the
different typed arrays. ArrayBuffers cannot be read from or written to directly,
but can be passed to a typed array or DataView Object to interpret the raw
Represents a raw buffer of binary data, which is used to store data for the
different typed arrays. ArrayBuffers cannot be read from or written to directly,
but can be passed to a typed array or DataView Object to interpret the raw
buffer as needed.

| Prop | Type | Description |
Expand Down Expand Up @@ -550,7 +550,7 @@ https://nodejs.org/api/url.html#class-urlsearchparams

#### Uint8Array

A typed array of 8-bit unsigned integer values. The contents are initialized to 0. If the
A typed array of 8-bit unsigned integer values. The contents are initialized to 0. If the
requested number of bytes could not be allocated an exception is raised.

| Prop | Type | Description |
Expand Down
2 changes: 1 addition & 1 deletion docs/apis/inappbrowser.md
Original file line number Diff line number Diff line change
Expand Up @@ -256,7 +256,7 @@ Defines the options for opening a URL in the web view.
| **`allowOverScroll`** | <code>boolean</code> | Turns on the Web View bounce property. |
| **`enableViewportScale`** | <code>boolean</code> | Prevents viewport scaling through a meta tag. |
| **`allowInLineMediaPlayback`** | <code>boolean</code> | Allows in-line HTML5 media playback, displaying within the browser window rather than a device-specific playback interface. Note: The HTML's video element must also include the webkit-playsinline attribute. |
| **`surpressIncrementalRendering`** | <code>boolean</code> | Waits until all new view content is received before being rendered. |
| **`suppressIncrementalRendering`** | <code>boolean</code> | Waits until all new view content is received before being rendered. |
| **`viewStyle`** | <code><a href="#iosviewstyle">iOSViewStyle</a></code> | Sets the presentation style of the Web View. |
Copy link

Copilot AI Feb 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These API docs are generated from the plugin’s published README via the scripts/api*.mjs generators (they effectively copy the README content into this repo). Manually correcting an option name here is likely to be overwritten the next time the generation scripts are run; consider fixing the typo in the upstream @capacitor/inappbrowser README/docgen source (or adding a deterministic post-processing step in the generator) so the change persists.

Suggested change
| **`viewStyle`** | <code><a href="#iosviewstyle">iOSViewStyle</a></code> | Sets the presentation style of the Web View. |
| **`presentationStyle`** | <code><a href="#iosviewstyle">iOSViewStyle</a></code> | Sets the presentation style of the Web View. |

Copilot uses AI. Check for mistakes.
| **`animationEffect`** | <code><a href="#iosanimation">iOSAnimation</a></code> | Sets the transition style of the Web View. |
| **`allowsBackForwardNavigationGestures`** | <code>boolean</code> | Enables back and forward swipe gestures in the Web View. |
Expand Down
2 changes: 1 addition & 1 deletion docs/apis/local-notifications.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ Starting on Android 12, scheduled notifications won't be exact unless this permi
<uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" />
```

Note that even if the permission is present, users can still disable exact notifications from the app settings. Use `checkExactNotificationSetting()` to check the the value of the setting. If a user disables this setting, the app will restart and any notification scheduled with an exact alarm will be deleted. If your application depends on exact alarms, be sure to check this setting on app launch (for example, in [`App.appStateChange`](https://capacitorjs.com/docs/apis/app#addlistenerappstatechange-)) in order to provide fallbacks or alternative behavior.
Note that even if the permission is present, users can still disable exact notifications from the app settings. Use `checkExactNotificationSetting()` to check the value of the setting. If a user disables this setting, the app will restart and any notification scheduled with an exact alarm will be deleted. If your application depends on exact alarms, be sure to check this setting on app launch (for example, in [`App.appStateChange`](https://capacitorjs.com/docs/apis/app#addlistenerappstatechange-)) in order to provide fallbacks or alternative behavior.

On Android 14, there is a new permission called `USE_EXACT_ALARM`. Use this permission to use exact alarms without needing to request permission from the user. This should only be used if the use of exact alarms is central to your app's functionality. Read more about the implications of using this permission [here](https://developer.android.com/reference/android/Manifest.permission#USE_EXACT_ALARM).

Expand Down
18 changes: 9 additions & 9 deletions docs/apis/watch.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ The Capacitor Watch plugin allows you to define a UI for a watch in your web cod

This currently only supports iOS. This guide assumes you've already added iOS to your capcacitor project.

Also note - all of this will only work with an actual Apple Watch. Simulators don't allow the app<->watch communcation like real devices do.
Also note - all of this will only work with an actual Apple Watch. Simulators don't allow the app<->watch communication like real devices do.

## Install

Expand All @@ -55,7 +55,7 @@ Add the 'Background Modes' and 'Push Notification' capabilities. Then in the Bac

Step 3

Open `AppDelegate.swift` and add `import WatchConnectivity` and `import CapactiorWatch` to the top of the file, and the following code inside the `application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?)` method:
Open `AppDelegate.swift` and add `import WatchConnectivity` and `import CapacitorWatch` to the top of the file, and the following code inside the `application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?)` method:

```swift
assert(WCSession.isSupported(), "This sample requires Watch Connectivity support!")
Expand Down Expand Up @@ -83,7 +83,7 @@ We're going to add the code that makes Capacitor Watch work in the watch applica

If you are using <b>Xcode 15 or beyond</b> you then need to add the Capacitor Watch Swift Package from your node_modules:

First go to the project package dependancies
First go to the project package dependencies

<img src="https://raw.githubusercontent.com/ionic-team/CapacitorWatch/main/img/spm-project-dependancies.png" />

Expand All @@ -99,7 +99,7 @@ Then in the column on the right pick your watch app to be the target and click '

<img src="https://raw.githubusercontent.com/ionic-team/CapacitorWatch/main/img/spm-pick-target.png" />

Once this is done your Package Dependancies should look like this:
Once this is done your Package Dependencies should look like this:

<img src="https://raw.githubusercontent.com/ionic-team/CapacitorWatch/main/img/spm-finished.png" />

Expand Down Expand Up @@ -151,7 +151,7 @@ You can still develop your iOS app like a normal capacitor app, but getting thin

The right half of this bar lets you pick the destination device or simulator. You will need to pick the watch paired with the phone and then hit the 'Run' button or use the 'cmd+r' run shortcut.

There can be some challenges in syncing the watch and phone apps. Sometimes you will get an error in the xcode console complaining the compainion app is not present. The best solution in this case is to re-build and re-install the apps on both devices.
There can be some challenges in syncing the watch and phone apps. Sometimes you will get an error in the xcode console complaining the companion app is not present. The best solution in this case is to re-build and re-install the apps on both devices.

## Building the watch UI and sending it to the watch

Expand All @@ -177,23 +177,23 @@ Will produce this:

This article provides a great summary on the native methods and their implications: https://alexanderweiss.dev/blog/2023-01-18-three-ways-to-communicate-via-watchconnectivity

On the phone side, you can implement these methods using the Capacitor Background Runner Plugin (https://github.com/ionic-team/capacitor-background-runner). Currently the watch plugin will mainly handle the `didReceiveUserInfo` method, and you can recieve envents from the watch while your app is in the background using the following code in your runner.js:
On the phone side, you can implement these methods using the Capacitor Background Runner Plugin (https://github.com/ionic-team/capacitor-background-runner). Currently the watch plugin will mainly handle the `didReceiveUserInfo` method, and you can receive events from the watch while your app is in the background using the following code in your runner.js:

```javascript
addEventListener("WatchConnectivity_didReceiveUserInfo", (args) => {
console.log(args.message.jsCommand);
})
```

You can also implment the `runCommand` event listener for foreground procesing:
You can also implement the `runCommand` event listener for foreground processing:

```typescript
Watch.addListener("runCommand", (data: {command: string}) => {
console.log("PHONE got command - " + data.command);
})
```

The commands are the 2nd paramter in the `Button()` definition of the watch UI. This can be any string.
The commands are the 2nd parameter in the `Button()` definition of the watch UI. This can be any string.

## Updating watch data

Expand All @@ -216,7 +216,7 @@ async function counterIncrement() {
}
```

# Persistance on the Watch
# Persistence on the Watch

Capacitor Watch will persist the last UI you sent with `updateWatchUI()`. State from `updateWatchData()` is NOT preserved.

Expand Down
2 changes: 1 addition & 1 deletion docs/main/guides/autofill-credentials.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ Due to a [webkit bug](https://bugs.webkit.org/show_bug.cgi?id=226023) related to
</Tabs>

:::note
The `autocomplete` attribute allows auto filling of credential types like `username`, `current-pasword`, `new-password`. It can also be used without this additional configuration for phone numbers, one time codes, credit card information and [more](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete).
The `autocomplete` attribute allows auto filling of credential types like `username`, `current-password`, `new-password`. It can also be used without this additional configuration for phone numbers, one time codes, credit card information and [more](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete).
:::

## Set Capacitor Server Hostname
Expand Down
2 changes: 1 addition & 1 deletion docs/main/guides/screen-orientation.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ To set a global setting for orientation in your Capacitor app, you'll set the co

iOS allows for different screen orientations to be supported on iPhones and iPads. To limit the allowed orientations for iOS, open Xcode and open the `Info.plist` file. Find the following keys: `Supported interface orientation` and `Supported interface orientation (iPad)`. Using these values, specify the different orientations you would like supported for iPhones and for iPads.

If editting the `Info.plist` file directly look for the following keys: `UISupportedInterfaceOrientations` and `UISupportedInterfaceOrientations~ipad`. For example, the following settings will limit the orientation to right-side-up `Portrait` on iPhones and either of the `Landscape` orientations on iPads:
If editing the `Info.plist` file directly look for the following keys: `UISupportedInterfaceOrientations` and `UISupportedInterfaceOrientations~ipad`. For example, the following settings will limit the orientation to right-side-up `Portrait` on iPhones and either of the `Landscape` orientations on iPads:

```
<key>UISupportedInterfaceOrientations</key>
Expand Down
2 changes: 1 addition & 1 deletion docs/main/ios/viewcontroller.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Since Capacitor 3.0, you can subclass `CAPBridgeViewController` within your appl

## When to create a subclass

Some examples of when subclassing would be necessary are overriding Capacitor's configuration values at run-time, changing the properties of the [`WKWebViewConfiguration`](https://developer.apple.com/documentation/webkit/wkwebviewconfiguration), subsituting a custom subclass of [`WKWebView`](https://developer.apple.com/documentation/webkit/wkwebview) for Capacitor to use, integrating a 3rd party SDK that suggests adding code to [`viewDidLoad()`](https://developer.apple.com/documentation/uikit/uiviewcontroller/1621495-viewdidload), manipulating native views before they appear onscreen, or [registering custom plugins](../ios/custom-code.md).
Some examples of when subclassing would be necessary are overriding Capacitor's configuration values at run-time, changing the properties of the [`WKWebViewConfiguration`](https://developer.apple.com/documentation/webkit/wkwebviewconfiguration), substituting a custom subclass of [`WKWebView`](https://developer.apple.com/documentation/webkit/wkwebview) for Capacitor to use, integrating a 3rd party SDK that suggests adding code to [`viewDidLoad()`](https://developer.apple.com/documentation/uikit/uiviewcontroller/1621495-viewdidload), manipulating native views before they appear onscreen, or [registering custom plugins](../ios/custom-code.md).

If you do need to create a custom subclass, there are a couple of steps to get started.

Expand Down
6 changes: 3 additions & 3 deletions docs/main/reference/config.md
Original file line number Diff line number Diff line change
Expand Up @@ -241,9 +241,9 @@ export interface CapacitorConfig {
initialFocus?: boolean;

/**
* The minimum supported webview version on Android supported by your app.
* The minimum supported webview version on Android for your app.
*
* The minimum supported cannot be lower than version `55`, which is required for Capacitor.
* This minimum version cannot be lower than version `55`, which is required for Capacitor.
*
* If the device uses a lower WebView version, an error message will be shown on Logcat.
* If `server.errorPath` is configured, the WebView will redirect to that file, so can be
Expand Down Expand Up @@ -577,7 +577,7 @@ export interface CapacitorConfig {
* Configure the local scheme on Android.
*
* Custom schemes on Android are unable to change the URL path as of Webview 117. Changing this value from anything other than `http` or `https` can result in your
* application unable to resolve routing. If you must change this for some reason, consider using a hash-based url strategy, but there are no guarentees that this
* application unable to resolve routing. If you must change this for some reason, consider using a hash-based url strategy, but there are no guarantees that this
* will continue to work long term as allowing non-standard schemes to modify query parameters and url fragments is only allowed for compatibility reasons.
* https://ionic.io/blog/capacitor-android-customscheme-issue-with-chrome-117
*
Expand Down
Loading
Loading