Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
a751aaa
fix: windows builds
kirillzyusko Dec 16, 2025
b2379b3
refactor: reactnativekeyboardcontroller -> rnkc
kirillzyusko Dec 16, 2025
3b67c42
fix: try shorter path
kirillzyusko Dec 16, 2025
58c6e53
fix: try to move project to shorter path
kirillzyusko Dec 16, 2025
ea135dd
Revert "refactor: reactnativekeyboardcontroller -> rnkc"
kirillzyusko Dec 16, 2025
54c6fa7
fix: try to not use path
kirillzyusko Dec 16, 2025
a6667ac
fix: try new approach for moving files
kirillzyusko Dec 16, 2025
4fec11b
fix: try to use path again
kirillzyusko Dec 16, 2025
ffcccef
fix: try another approach
kirillzyusko Dec 16, 2025
ba94d84
fix: try to create minimal sample app
kirillzyusko Jan 4, 2026
392a408
fix: try to create sample app from cli community
kirillzyusko Jan 4, 2026
1861bd8
fix: we again met 260 limit characters (safe area context), try bot t…
kirillzyusko Jan 4, 2026
8dd8b0a
fix: try shorter path
kirillzyusko Jan 4, 2026
8abb338
fix: try to avoid long repo path
kirillzyusko Jan 4, 2026
5ca1d88
feat: try to link keyboard-controller lib (now build should fail)
kirillzyusko Jan 4, 2026
3fe46a6
fix: try to install li node_modules?
kirillzyusko Jan 4, 2026
854faa5
fix: try to see full error
kirillzyusko Jan 4, 2026
05b59d1
fix: use correct directory
kirillzyusko Jan 12, 2026
146336b
feat: try to use longer project name
kirillzyusko Jan 12, 2026
6fe267c
fix: don't use "-" in the name of the project
kirillzyusko Jan 12, 2026
154f36e
feat: try to make path longer again
kirillzyusko Jan 12, 2026
2c463a1
Merge branch 'main' into fix/windows-builds
kirillzyusko Jan 12, 2026
1b76ccd
fix: use even shorter codegen name (keyboardcontroller -> RNKC)
kirillzyusko Jan 12, 2026
6b1e439
chore: try to revert unnecessary changes
kirillzyusko Jan 12, 2026
96db42a
fix: iOS builds
kirillzyusko Jan 12, 2026
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
69 changes: 69 additions & 0 deletions .github/workflows/build-android-fabric-windows.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
name: 🤖 Build Android Fabric

on:
push:
branches:
- main
paths:
- ".github/workflows/build-android-fabric-windows.yml"
- "android/**"
- "yarn.lock"
- "src/specs/**"
- "common/**"
pull_request:
paths:
- ".github/workflows/build-android-fabric-windows.yml"
- "android/**"
- "yarn.lock"
- "src/specs/**"
- "common/**"

jobs:
build:
name: 💠 Build Android on Windows
runs-on: windows-latest

steps:
- uses: actions/checkout@v4
- name: Setup JDK 17
uses: actions/setup-java@v4
with:
distribution: "microsoft"
java-version: "17"
- name: Create sample app
run: cd ..\..\ && npx @react-native-community/cli@latest init WindowsWithUnbelievablyHugeAndReallyLongPathName --version 0.83.1
- name: Get yarn cache directory path
id: fabric-windows-yarn-cache-dir-path
shell: pwsh
run: |
$dir = yarn cache dir
echo "dir=$dir" >> $env:GITHUB_OUTPUT
- name: Restore node_modules from cache
uses: actions/cache@v4
id: yarn-cache
with:
path: ${{ steps.fabric-windows-yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-fabric-windows-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-fabric-windows-yarn-
- name: Install node_modules for windows/
shell: pwsh
run: |
cd ..\..\ && yarn install --frozen-lockfile --cwd WindowsWithUnbelievablyHugeAndReallyLongPathName
- name: Link keyboard controller
shell: pwsh
run: cd ..\..\WindowsWithUnbelievablyHugeAndReallyLongPathName && yarn add react-native-keyboard-controller@link:../react-native-keyboard-controller/react-native-keyboard-controller
- name: Restore Gradle cache
uses: actions/cache@v4
with:
path: |
C:\Users\runneradmin\.gradle\caches
C:\Users\runneradmin\.gradle\wrapper
key: ${{ runner.os }}-fabric-windows-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-fabric-windows-gradle-
- name: Run Gradle Build for windows/android/
shell: pwsh
run: |
cd ..\..\WindowsWithUnbelievablyHugeAndReallyLongPathName\android
.\gradlew.bat assembleDebug --build-cache -PreactNativeArchitectures=arm64-v8a
2 changes: 1 addition & 1 deletion .github/workflows/build-android-fabric.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ on:

jobs:
build:
name: Build Android Fabric Example App
name: 🖥️ Build Android Fabric Example App
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand Down
2 changes: 1 addition & 1 deletion FabricExample/ios/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -3117,7 +3117,7 @@ SPEC CHECKSUMS:
React-microtasksnativemodule: 44b44a4d3cd6ffb85d928abf741acdc26722de2e
react-native-advanced-input-mask: 7e8cb58287774c4447485387661abe946d0e0bb2
react-native-blur: ba0e9ad6274783c8d45f42da82acae02e25784ad
react-native-keyboard-controller: d07a35e49d478d26b2eb44b10aedc4e1d35354d6
react-native-keyboard-controller: 0bf45b0ab9c8f2caf632832e80abfd33978d212c
react-native-safe-area-context: 6d8a7b750e496e37bda47c938320bf2c734d441f
React-NativeModulesApple: b5d18bc109c45c9a1c6b71664991b5cc3adc4e48
React-oscompat: 93b5535ea7f7dff46aaee4f78309a70979bdde9d
Expand Down
2 changes: 1 addition & 1 deletion android/src/main/jni/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
cmake_minimum_required(VERSION 3.13)
set(CMAKE_VERBOSE_MAKEFILE ON)

set(LIB_LITERAL keyboardcontroller)
set(LIB_LITERAL RNKC)
set(LIB_TARGET_NAME react_codegen_${LIB_LITERAL})

set(LIB_ANDROID_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../..)
Expand Down
24 changes: 24 additions & 0 deletions android/src/main/jni/RNKC.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#pragma once

#include <ReactCommon/JavaTurboModule.h>
#include <ReactCommon/TurboModule.h>
#include <jsi/jsi.h>

/**
* Note this import and that it is not present in autogenerated header file
* under android/build/generated/source/codegen/jni/RNKC.h
*
* Here we are overriding autogenerated component descriptors by prioritizing our custom headers via include path setup.
*/
#include <react/renderer/components/RNKC/RNKCKeyboardControllerViewComponentDescriptor.h>
#include <react/renderer/components/RNKC/RNKCKeyboardGestureAreaComponentDescriptor.h>
#include <react/renderer/components/RNKC/RNKCOverKeyboardViewComponentDescriptor.h>
#include <react/renderer/components/RNKC/RNKCKeyboardBackgroundViewComponentDescriptor.h>

#include <memory>
#include <string>

namespace facebook::react {
JSI_EXPORT
std::shared_ptr<TurboModule> RNKC_ModuleProvider(const std::string &moduleName, const JavaTurboModule::InitParams &params);
} // namespace facebook::react
24 changes: 0 additions & 24 deletions android/src/main/jni/keyboardcontroller.h

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
#include "RNKCKeyboardBackgroundViewShadowNode.h"

#include <react/debug/react_native_assert.h>
#include <react/renderer/components/keyboardcontroller/Props.h>
#include <react/renderer/components/RNKC/Props.h>
#include <react/renderer/core/ConcreteComponentDescriptor.h>

namespace facebook::react {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@

#include "RNKCKeyboardBackgroundViewState.h"

#include <react/renderer/components/keyboardcontroller/EventEmitters.h>
#include <react/renderer/components/keyboardcontroller/Props.h>
#include <react/renderer/components/RNKC/EventEmitters.h>
#include <react/renderer/components/RNKC/Props.h>
#include <react/renderer/components/view/ConcreteViewShadowNode.h>
#include <jsi/jsi.h>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
#include "RNKCKeyboardControllerViewShadowNode.h"

#include <react/debug/react_native_assert.h>
#include <react/renderer/components/keyboardcontroller/Props.h>
#include <react/renderer/components/RNKC/Props.h>
#include <react/renderer/core/ConcreteComponentDescriptor.h>

namespace facebook::react {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

#include "RNKCKeyboardControllerViewState.h"

#include <react/renderer/components/keyboardcontroller/EventEmitters.h>
#include <react/renderer/components/keyboardcontroller/Props.h>
#include <react/renderer/components/RNKC/EventEmitters.h>
#include <react/renderer/components/RNKC/Props.h>
#include <react/renderer/components/view/ConcreteViewShadowNode.h>
#include <jsi/jsi.h>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
#include "RNKCKeyboardExtenderShadowNode.h"

#include <react/debug/react_native_assert.h>
#include <react/renderer/components/keyboardcontroller/Props.h>
#include <react/renderer/components/RNKC/Props.h>
#include <react/renderer/core/ConcreteComponentDescriptor.h>

namespace facebook::react {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@

#include "RNKCKeyboardExtenderState.h"

#include <react/renderer/components/keyboardcontroller/EventEmitters.h>
#include <react/renderer/components/keyboardcontroller/Props.h>
#include <react/renderer/components/RNKC/EventEmitters.h>
#include <react/renderer/components/RNKC/Props.h>
#include <react/renderer/components/view/ConcreteViewShadowNode.h>
#include <jsi/jsi.h>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
#include "RNKCKeyboardGestureAreaShadowNode.h"

#include <react/debug/react_native_assert.h>
#include <react/renderer/components/keyboardcontroller/Props.h>
#include <react/renderer/components/RNKC/Props.h>
#include <react/renderer/core/ConcreteComponentDescriptor.h>

namespace facebook::react {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

#include "RNKCKeyboardGestureAreaState.h"

#include <react/renderer/components/keyboardcontroller/EventEmitters.h>
#include <react/renderer/components/keyboardcontroller/Props.h>
#include <react/renderer/components/RNKC/EventEmitters.h>
#include <react/renderer/components/RNKC/Props.h>
#include <react/renderer/components/view/ConcreteViewShadowNode.h>
#include <jsi/jsi.h>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
#include "RNKCOverKeyboardViewShadowNode.h"

#include <react/debug/react_native_assert.h>
#include <react/renderer/components/keyboardcontroller/Props.h>
#include <react/renderer/components/RNKC/Props.h>
#include <react/renderer/core/ConcreteComponentDescriptor.h>

namespace facebook::react {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

#include "RNKCOverKeyboardViewState.h"

#include <react/renderer/components/keyboardcontroller/EventEmitters.h>
#include <react/renderer/components/keyboardcontroller/Props.h>
#include <react/renderer/components/RNKC/EventEmitters.h>
#include <react/renderer/components/RNKC/Props.h>
#include <react/renderer/components/view/ConcreteViewShadowNode.h>
#include <jsi/jsi.h>

Expand Down
2 changes: 1 addition & 1 deletion ios/KeyboardControllerModule.mm
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

// Thanks to this guard, we won't import this header when we build for the old architecture.
#ifdef RCT_NEW_ARCH_ENABLED
#import <keyboardcontroller/keyboardcontroller.h>
#import <RNKC/RNKC.h>
#endif

#import "KeyboardControllerModule-Header.h"
Expand Down
8 changes: 4 additions & 4 deletions ios/views/KeyboardBackgroundViewManager.mm
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@
#endif

#ifdef RCT_NEW_ARCH_ENABLED
#import <react/renderer/components/keyboardcontroller/EventEmitters.h>
#import <react/renderer/components/keyboardcontroller/Props.h>
#import <react/renderer/components/keyboardcontroller/RCTComponentViewHelpers.h>
#import <react/renderer/components/keyboardcontroller/RNKCKeyboardBackgroundViewComponentDescriptor.h>
#import <react/renderer/components/RNKC/EventEmitters.h>
#import <react/renderer/components/RNKC/Props.h>
#import <react/renderer/components/RNKC/RCTComponentViewHelpers.h>
#import <react/renderer/components/RNKC/RNKCKeyboardBackgroundViewComponentDescriptor.h>

#import "RCTFabricComponentsPlugins.h"
#endif
Expand Down
8 changes: 4 additions & 4 deletions ios/views/KeyboardControllerView.mm
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,10 @@
#import <react_native_keyboard_controller/react_native_keyboard_controller-Swift.h>
#endif

#import <react/renderer/components/keyboardcontroller/EventEmitters.h>
#import <react/renderer/components/keyboardcontroller/Props.h>
#import <react/renderer/components/keyboardcontroller/RCTComponentViewHelpers.h>
#import <react/renderer/components/keyboardcontroller/RNKCKeyboardControllerViewComponentDescriptor.h>
#import <react/renderer/components/RNKC/EventEmitters.h>
#import <react/renderer/components/RNKC/Props.h>
#import <react/renderer/components/RNKC/RCTComponentViewHelpers.h>
#import <react/renderer/components/RNKC/RNKCKeyboardControllerViewComponentDescriptor.h>

#import "KeyboardControllerModule-Header.h"
#import "RCTFabricComponentsPlugins.h"
Expand Down
8 changes: 4 additions & 4 deletions ios/views/KeyboardExtenderManager.mm
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@
#ifdef RCT_NEW_ARCH_ENABLED
#import <React/RCTSurfaceTouchHandler.h>

#import <react/renderer/components/keyboardcontroller/EventEmitters.h>
#import <react/renderer/components/keyboardcontroller/Props.h>
#import <react/renderer/components/keyboardcontroller/RCTComponentViewHelpers.h>
#import <react/renderer/components/keyboardcontroller/RNKCKeyboardExtenderComponentDescriptor.h>
#import <react/renderer/components/RNKC/EventEmitters.h>
#import <react/renderer/components/RNKC/Props.h>
#import <react/renderer/components/RNKC/RCTComponentViewHelpers.h>
#import <react/renderer/components/RNKC/RNKCKeyboardExtenderComponentDescriptor.h>

#import "RCTFabricComponentsPlugins.h"
#endif
Expand Down
8 changes: 4 additions & 4 deletions ios/views/KeyboardGestureAreaManager.mm
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@
#endif

#ifdef RCT_NEW_ARCH_ENABLED
#import <react/renderer/components/keyboardcontroller/EventEmitters.h>
#import <react/renderer/components/keyboardcontroller/Props.h>
#import <react/renderer/components/keyboardcontroller/RCTComponentViewHelpers.h>
#import <react/renderer/components/keyboardcontroller/RNKCKeyboardGestureAreaComponentDescriptor.h>
#import <react/renderer/components/RNKC/EventEmitters.h>
#import <react/renderer/components/RNKC/Props.h>
#import <react/renderer/components/RNKC/RCTComponentViewHelpers.h>
#import <react/renderer/components/RNKC/RNKCKeyboardGestureAreaComponentDescriptor.h>

#import "RCTFabricComponentsPlugins.h"
#endif
Expand Down
8 changes: 4 additions & 4 deletions ios/views/OverKeyboardViewManager.mm
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@
#ifdef RCT_NEW_ARCH_ENABLED
#import <React/RCTSurfaceTouchHandler.h>

#import <react/renderer/components/keyboardcontroller/EventEmitters.h>
#import <react/renderer/components/keyboardcontroller/Props.h>
#import <react/renderer/components/keyboardcontroller/RCTComponentViewHelpers.h>
#import <react/renderer/components/keyboardcontroller/RNKCOverKeyboardViewComponentDescriptor.h>
#import <react/renderer/components/RNKC/EventEmitters.h>
#import <react/renderer/components/RNKC/Props.h>
#import <react/renderer/components/RNKC/RCTComponentViewHelpers.h>
#import <react/renderer/components/RNKC/RNKCOverKeyboardViewComponentDescriptor.h>

#import "RCTFabricComponentsPlugins.h"
#endif
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@
]
},
"codegenConfig": {
"name": "keyboardcontroller",
"name": "RNKC",
"type": "all",
"jsSrcsDir": "./src/specs",
"android": {
Expand Down
2 changes: 1 addition & 1 deletion react-native-keyboard-controller.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ Pod::Spec.new do |s|
if new_arch_enabled
s.subspec "common" do |ss|
ss.source_files = ["common/cpp/**/*.{cpp,h}"]
ss.header_dir = "react/renderer/components/keyboardcontroller"
ss.header_dir = "react/renderer/components/RNKC"
ss.private_header_files = "common/cpp/**/*.{h}"
ss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/common/cpp\"" }
end
Expand Down
Loading