diff --git a/android/capacitor/src/main/java/com/getcapacitor/CapConfig.java b/android/capacitor/src/main/java/com/getcapacitor/CapConfig.java index c621a9b69..5b0e22a6e 100644 --- a/android/capacitor/src/main/java/com/getcapacitor/CapConfig.java +++ b/android/capacitor/src/main/java/com/getcapacitor/CapConfig.java @@ -299,7 +299,11 @@ private void deserializeConfig(@Nullable Context context) { loggingEnabled = isDebug; } - initialFocus = JSONUtils.getBoolean(configJSON, "android.initialFocus", initialFocus); + initialFocus = JSONUtils.getBoolean( + configJSON, + "android.initialFocus", + JSONUtils.getBoolean(configJSON, "initialFocus", initialFocus) + ); // Plugins pluginsConfiguration = deserializePluginsConfig(JSONUtils.getObject(configJSON, "plugins")); diff --git a/cli/src/declarations.ts b/cli/src/declarations.ts index a0975a6be..1199463d6 100644 --- a/cli/src/declarations.ts +++ b/cli/src/declarations.ts @@ -77,6 +77,14 @@ export interface CapacitorConfig { */ zoomEnabled?: boolean; + /** + * Whether to give the webview initial focus. + * + * @since 7.0.0 + * @default true + */ + initialFocus?: boolean; + android?: { /** * Specify a custom path to the native Android project. @@ -191,6 +199,8 @@ export interface CapacitorConfig { /** * Whether to give the webview initial focus. * + * Overrides global `initialFocus` option. + * * @since 3.5.1 * @default true */ @@ -453,6 +463,8 @@ export interface CapacitorConfig { /** * Whether to give the webview initial focus. * + * Overrides global `initialFocus` option. + * * @since 7.0.0 * @default true */ diff --git a/ios/Capacitor/Capacitor/CAPInstanceDescriptor.swift b/ios/Capacitor/Capacitor/CAPInstanceDescriptor.swift index df3c25ff2..029a5b5a8 100644 --- a/ios/Capacitor/Capacitor/CAPInstanceDescriptor.swift +++ b/ios/Capacitor/Capacitor/CAPInstanceDescriptor.swift @@ -124,7 +124,7 @@ internal extension InstanceDescriptor { isWebDebuggable = true #endif } - if let initialFocus = config[keyPath: "ios.initialFocus"] as? Bool { + if let initialFocus = (config[keyPath: "ios.initialFocus"] as? Bool) ?? (config[keyPath: "initialFocus"] as? Bool) { hasInitialFocus = initialFocus } }