From 3503b77804a50635bd33157e11d251ca141b0ebc Mon Sep 17 00:00:00 2001 From: Brahm Lower Date: Mon, 23 Feb 2026 13:47:50 -0800 Subject: [PATCH] fix: keyboard covers password field on Android --- android/app/capacitor.build.gradle | 1 + android/capacitor.settings.gradle | 3 +++ capacitor.config.ts | 9 +++++++-- ios/App/Podfile | 1 + ios/App/Podfile.lock | 8 +++++++- package-lock.json | 10 ++++++++++ package.json | 1 + 7 files changed, 30 insertions(+), 3 deletions(-) diff --git a/android/app/capacitor.build.gradle b/android/app/capacitor.build.gradle index 1e825911..f8d4d7a9 100644 --- a/android/app/capacitor.build.gradle +++ b/android/app/capacitor.build.gradle @@ -13,6 +13,7 @@ dependencies { implementation project(':capacitor-app') implementation project(':capacitor-browser') implementation project(':capacitor-device') + implementation project(':capacitor-keyboard') implementation project(':capacitor-local-notifications') implementation project(':capacitor-network') implementation project(':capacitor-preferences') diff --git a/android/capacitor.settings.gradle b/android/capacitor.settings.gradle index 3ad15932..a8f7a9df 100644 --- a/android/capacitor.settings.gradle +++ b/android/capacitor.settings.gradle @@ -14,6 +14,9 @@ project(':capacitor-browser').projectDir = new File('../node_modules/@capacitor/ include ':capacitor-device' project(':capacitor-device').projectDir = new File('../node_modules/@capacitor/device/android') +include ':capacitor-keyboard' +project(':capacitor-keyboard').projectDir = new File('../node_modules/@capacitor/keyboard/android') + include ':capacitor-local-notifications' project(':capacitor-local-notifications').projectDir = new File('../node_modules/@capacitor/local-notifications/android') diff --git a/capacitor.config.ts b/capacitor.config.ts index 751d712a..76613f1c 100644 --- a/capacitor.config.ts +++ b/capacitor.config.ts @@ -1,4 +1,5 @@ import type { CapacitorConfig } from '@capacitor/cli'; +import { KeyboardResize } from '@capacitor/keyboard'; const config: CapacitorConfig = { appId: 'com.donetick.app', @@ -8,6 +9,10 @@ const config: CapacitorConfig = { allowMixedContent: true, }, plugins: { + Keyboard: { + resize: KeyboardResize.Native, + resizeOnFullScreen: true, + }, PushNotifications: { presentationOptions: ['badge', 'sound', 'alert'], }, @@ -21,8 +26,8 @@ const config: CapacitorConfig = { clientId: process.env.VITE_APP_GOOGLE_CLIENT_ID, androidClientId: process.env.VITE_APP_ANDRIOD_CLIENT_ID, iosClientId: process.env.VITE_APP_IOS_CLIENT_ID, - }, -} + }, + } }; export default config; diff --git a/ios/App/Podfile b/ios/App/Podfile index 9602381d..d2bb1399 100644 --- a/ios/App/Podfile +++ b/ios/App/Podfile @@ -15,6 +15,7 @@ def capacitor_pods pod 'CapacitorApp', :path => '../../node_modules/@capacitor/app' pod 'CapacitorBrowser', :path => '../../node_modules/@capacitor/browser' pod 'CapacitorDevice', :path => '../../node_modules/@capacitor/device' + pod 'CapacitorKeyboard', :path => '../../node_modules/@capacitor/keyboard' pod 'CapacitorLocalNotifications', :path => '../../node_modules/@capacitor/local-notifications' pod 'CapacitorNetwork', :path => '../../node_modules/@capacitor/network' pod 'CapacitorPreferences', :path => '../../node_modules/@capacitor/preferences' diff --git a/ios/App/Podfile.lock b/ios/App/Podfile.lock index f304ddba..5db9c7f4 100644 --- a/ios/App/Podfile.lock +++ b/ios/App/Podfile.lock @@ -23,6 +23,8 @@ PODS: - CapacitorCordova (7.4.3) - CapacitorDevice (7.0.2): - Capacitor + - CapacitorKeyboard (7.0.4): + - Capacitor - CapacitorLocalNotifications (7.0.2): - Capacitor - CapacitorNetwork (7.0.2): @@ -139,6 +141,7 @@ DEPENDENCIES: - "CapacitorCommunitySqlite (from `../../node_modules/@capacitor-community/sqlite`)" - "CapacitorCordova (from `../../node_modules/@capacitor/ios`)" - "CapacitorDevice (from `../../node_modules/@capacitor/device`)" + - "CapacitorKeyboard (from `../../node_modules/@capacitor/keyboard`)" - "CapacitorLocalNotifications (from `../../node_modules/@capacitor/local-notifications`)" - "CapacitorNetwork (from `../../node_modules/@capacitor/network`)" - CapacitorPluginSafeArea (from `../../node_modules/capacitor-plugin-safe-area`) @@ -190,6 +193,8 @@ EXTERNAL SOURCES: :path: "../../node_modules/@capacitor/ios" CapacitorDevice: :path: "../../node_modules/@capacitor/device" + CapacitorKeyboard: + :path: "../../node_modules/@capacitor/keyboard" CapacitorLocalNotifications: :path: "../../node_modules/@capacitor/local-notifications" CapacitorNetwork: @@ -219,6 +224,7 @@ SPEC CHECKSUMS: CapacitorCommunitySqlite: 8b2c6bab33e3519280811d481f8bd0fa90343e1b CapacitorCordova: 435121e81a2df4d0034f0fb11fcefab5104cfdb5 CapacitorDevice: 81ae78d5d1942707caad79276badd458bf6ec603 + CapacitorKeyboard: 5660c760113bfa48962817a785879373cf5339c3 CapacitorLocalNotifications: 665188ae8accd40806129073896fb2b39322d858 CapacitorNetwork: 695069886b3c5ed514db69aa3d026b8dc3c03a6b CapacitorPluginSafeArea: 22031c3436269ca80fac90ec2c94bc7c1e59a81d @@ -250,6 +256,6 @@ SPEC CHECKSUMS: SQLCipher: eb79c64049cb002b4e9fcb30edb7979bf4706dfc ZIPFoundation: b8c29ea7ae353b309bc810586181fd073cb3312c -PODFILE CHECKSUM: bb6dcef70c8edc058fe3ba311f08a223fd7dbc66 +PODFILE CHECKSUM: 12bc727e3a3f1811956ae85f3bd3b49c4fa77d61 COCOAPODS: 1.16.2 diff --git a/package-lock.json b/package-lock.json index 2040ab6d..95d567b8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,6 +15,7 @@ "@capacitor/core": "^7.0.0", "@capacitor/device": "^7.0.0", "@capacitor/ios": "^7.0.0", + "@capacitor/keyboard": "^7.0.4", "@capacitor/local-notifications": "^7.0.0", "@capacitor/network": "^7.0.1", "@capacitor/preferences": "^7.0.0", @@ -1997,6 +1998,15 @@ "@capacitor/core": "^7.4.0" } }, + "node_modules/@capacitor/keyboard": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/@capacitor/keyboard/-/keyboard-7.0.4.tgz", + "integrity": "sha512-kKHsuDOC0q9iC1XANhQBK35S+hFKx4EfY9I+SEMPR6RuUAIuXQXYaA3+D0LkdRdHIf3OrlTDznPvXQ5Dg2WrCA==", + "license": "MIT", + "peerDependencies": { + "@capacitor/core": ">=7.0.0" + } + }, "node_modules/@capacitor/local-notifications": { "version": "7.0.2", "license": "MIT", diff --git a/package.json b/package.json index c6f4de7d..846ee428 100644 --- a/package.json +++ b/package.json @@ -42,6 +42,7 @@ "@capacitor/core": "^7.0.0", "@capacitor/device": "^7.0.0", "@capacitor/ios": "^7.0.0", + "@capacitor/keyboard": "^7.0.4", "@capacitor/local-notifications": "^7.0.0", "@capacitor/network": "^7.0.1", "@capacitor/preferences": "^7.0.0",