Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
e68b7af
docs: comprehensive code audit — 20 issues found across iOS, Android,…
iotashan Mar 15, 2026
8ab8704
docs: add finding #21 — disconnect event always null error (Codex And…
iotashan Mar 15, 2026
efca682
docs: complete audit — 25 issues from 5 review agents (3 Claude + 2 C…
iotashan Mar 15, 2026
5ae1567
docs: v4 TurboModule rewrite spec (rev 2, Codex-reviewed)
iotashan Mar 15, 2026
fa3550e
docs: v4 spec rev 3 — add connection state machine, Codegen spec, bon…
iotashan Mar 15, 2026
0e502a2
docs: v4 spec rev 4 — major Codegen + iOS architecture fixes from res…
iotashan Mar 15, 2026
c211be2
docs: v4 spec rev 5 — final gaps: connection events, background BLE p…
iotashan Mar 15, 2026
93fd7b5
docs: v4 spec rev 6 — Gemini review fixes
iotashan Mar 15, 2026
2ec8029
docs: v4 spec rev 7 — add iOS state restoration bootstrap timing note…
iotashan Mar 15, 2026
12bccd8
fix(plans): address Codex review — Codegen verification, GATT queue s…
iotashan Mar 15, 2026
92e435b
docs: add subscriptionType, getMtu, and onBondStateChange to v4 Codeg…
iotashan Mar 15, 2026
35876e9
feat: TurboModule Codegen spec with typed EventEmitters
iotashan Mar 15, 2026
e372b2c
feat: add EventBatcher with configurable interval, max batch size, an…
iotashan Mar 15, 2026
fc87855
feat: typescript types and unified error model
iotashan Mar 15, 2026
af3297b
fix: restore standard CodegenTypes import, separate tsconfig for Code…
iotashan Mar 15, 2026
a6780aa
feat: add BleManager API wrapping TurboModule with subscription manag…
iotashan Mar 15, 2026
530b61c
feat: add Device/Service/Characteristic/Descriptor wrappers and publi…
iotashan Mar 15, 2026
b45afde
chore: update deps, version 4.0.0-alpha.0, require RN 0.82+
iotashan Mar 15, 2026
5f3de87
fix: expo plugin — proper manifest for AGP namespace mode, neverForLo…
iotashan Mar 15, 2026
05b2ec8
feat(android): kotlin TurboModule with Nordic BLE Library
iotashan Mar 15, 2026
e665353
feat(ios): swift turbomodule with actor-based coreBluetooth
iotashan Mar 15, 2026
4fb56cd
fix: address Codex review — error routing, teardown order, subscripti…
iotashan Mar 15, 2026
22bdda7
test: add JS protocol tests, integration flow tests, and hardware tes…
iotashan Mar 15, 2026
be3e97a
fix: address Codex native review — GATT cancel, L2CAP runloop, error …
iotashan Mar 15, 2026
79bf95d
fix(ios): handle L2CAP partial writes — loop until all bytes sent
iotashan Mar 15, 2026
947ee82
chore: remove all v3 JS/Flow source, tests, and config
iotashan Mar 15, 2026
9d9bfd0
feat: nRF52840 BLE test peripheral firmware for integration testing
iotashan Mar 15, 2026
58bccc0
feat(example): wire v4 library, add test screens, fix both platform b…
iotashan Mar 15, 2026
3292720
test: update Maestro flows with real testIDs and add README
iotashan Mar 15, 2026
28560db
test: add Android JUnit5 and iOS XCTest native unit tests
iotashan Mar 15, 2026
17cd3e3
fix: register NativeBlePlx in TurboModule provider for iOS autolinking
iotashan Mar 15, 2026
8201e8a
fix: turboModule runtime loading — codegen struct types, -ObjC linker…
iotashan Mar 15, 2026
aa28ed6
fix: resolve TurboModule loading failure caused by dual react-native …
iotashan Mar 15, 2026
2103ce6
fix: remove library node_modules from metro resolution path
iotashan Mar 15, 2026
c9be657
feat: v4 TurboModule rewrite — docs, tests, Expo example
iotashan Mar 16, 2026
7b29d32
fix: eliminate all explicit-any lint warnings in unit tests
iotashan Mar 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 6 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,9 @@ node_modules/
docs/**
plugin/build
lib/**
integration-tests/hardware/maestro/drivers/**
integration-tests/simulated/**
example/**
example-expo/**
test-peripheral-app/**
test-peripheral-app-ios/**
54 changes: 23 additions & 31 deletions .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,36 +8,7 @@
},
"overrides": [
{
"files": ["src/**", "__tests__/**", "integration-tests/**"],
"parser": "hermes-eslint",
"extends": [
"plugin:react/recommended",
"plugin:flowtype/recommended",
"plugin:prettier/recommended",
"@react-native-community",
"eslint:recommended",
"plugin:jest/recommended",
"plugin:ft-flow/recommended"
],
"plugins": ["ft-flow", "react", "react-native", "flowtype", "jest", "prettier"],
"rules": {
"ft-flow/define-flow-type": "off",
"ft-flow/use-flow-type": "off",
"flowtype/define-flow-type": "off",
"flowtype/no-types-missing-file-annotation": 0,
"semi": ["error", "never"],
"comma-dangle": ["error", "never"],
"react/display-name": 0,
"ft-flow/no-types-missing-file-annotation": 0,
"jest/no-export": 0
},
"globals": {
"$Keys": true,
"$Values": true
}
},
{
"files": ["*.tsx", "*.ts", "*.d.ts"],
"files": ["src/**/*.tsx", "src/**/*.ts", "src/**/*.d.ts", "__tests__/**/*.ts", "__tests__/**/*.tsx", "plugin/**/*.ts", "plugin/**/*.tsx"],
"parser": "@typescript-eslint/parser",
"extends": [
"eslint:recommended",
Expand Down Expand Up @@ -77,7 +48,10 @@
"varsIgnorePattern": "^_",
"caughtErrorsIgnorePattern": "^_"
}
]
],
"@typescript-eslint/no-redeclare": "off",
"lines-between-class-members": "off",
"@typescript-eslint/lines-between-class-members": "off"
},
"env": {
"es2020": true
Expand All @@ -90,6 +64,24 @@
"prettier/prettier": "off"
}
},
{
"files": ["src/specs/**"],
"parserOptions": {
"project": ["./tsconfig.specs.json"]
},
"rules": {
"import/no-default-export": "off"
}
},
{
"files": ["__tests__/**/*.ts", "__tests__/**/*.tsx"],
"parserOptions": {
"project": ["./tsconfig.tests.json"]
},
"rules": {
"@typescript-eslint/no-non-null-assertion": "off"
}
},
{
"files": ["plugin/**"],
"rules": {
Expand Down
84 changes: 0 additions & 84 deletions .flowconfig

This file was deleted.

8 changes: 7 additions & 1 deletion .prettierrc
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"arrowParens": "avoid",
"overrides": [
{
"files": ["src/*"],
"files": ["src/*.js", "src/*.jsx"],
"options": {
"parser": "babel-flow",
"useTabs": false,
Expand All @@ -16,6 +16,12 @@
"bracketSpacing": true,
"jsxBracketSameLine": false
}
},
{
"files": ["src/*.ts", "src/*.tsx", "__tests__/*.ts", "__tests__/*.tsx"],
"options": {
"parser": "typescript"
}
}
]
}
Loading