@robylon/react-native-sdk 2.1.1-staging.3 → 2.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/.claude/settings.local.json +25 -0
  2. package/README.md +332 -5
  3. package/lib/commonjs/Chatbotsdk.js +3 -3
  4. package/lib/commonjs/Chatbotsdk.js.map +1 -1
  5. package/lib/commonjs/config.js +1 -1
  6. package/lib/commonjs/config.js.map +1 -1
  7. package/lib/commonjs/constants.js +1 -1
  8. package/lib/commonjs/constants.js.map +1 -1
  9. package/lib/commonjs/hooks/useChatbotEvents.js +1 -1
  10. package/lib/commonjs/hooks/useChatbotEvents.js.map +1 -1
  11. package/lib/commonjs/utils/session.js +2 -0
  12. package/lib/commonjs/utils/session.js.map +1 -0
  13. package/lib/commonjs/versions/version.staging.js +1 -1
  14. package/lib/module/Chatbotsdk.js +3 -3
  15. package/lib/module/Chatbotsdk.js.map +1 -1
  16. package/lib/module/config.js +1 -1
  17. package/lib/module/config.js.map +1 -1
  18. package/lib/module/constants.js +1 -1
  19. package/lib/module/constants.js.map +1 -1
  20. package/lib/module/hooks/useChatbotEvents.js +1 -1
  21. package/lib/module/hooks/useChatbotEvents.js.map +1 -1
  22. package/lib/module/openChatbot.js +1 -2
  23. package/lib/module/openChatbot.js.map +1 -1
  24. package/lib/module/utils/session.js +2 -0
  25. package/lib/module/utils/session.js.map +1 -0
  26. package/lib/module/versions/version.staging.js +1 -1
  27. package/lib/typescript/Chatbotsdk.d.ts +4 -0
  28. package/lib/typescript/Chatbotsdk.d.ts.map +1 -1
  29. package/lib/typescript/hooks/useChatbotEvents.d.ts.map +1 -1
  30. package/lib/typescript/utils/session.d.ts +21 -0
  31. package/lib/typescript/utils/session.d.ts.map +1 -0
  32. package/lib/typescript/versions/version.staging.d.ts +1 -1
  33. package/package.json +2 -2
  34. package/robylon-react-native-sdk-2.1.1-staging.3.tgz +0 -0
  35. package/scripts/setup-git-hooks.js +22 -10
  36. package/android/src/main/AndroidManifest.xml +0 -3
  37. package/android/src/main/java/com/robylonreactnativesdk/RobylonDownloadModule.java +0 -83
  38. package/android/src/main/java/com/robylonreactnativesdk/RobylonReactNativeSdkPackage.java +0 -24
  39. package/src/Chatbotsdk.tsx +0 -945
  40. package/src/FloatingButton/launchers/ImageLauncher.tsx +0 -75
  41. package/src/FloatingButton/launchers/TextLauncher.tsx +0 -84
  42. package/src/FloatingButton/launchers/TextualImageLauncher.tsx +0 -133
  43. package/src/FloatingButton.tsx +0 -97
  44. package/src/LoadingIndicator.tsx +0 -11
  45. package/src/Toast.tsx +0 -65
  46. package/src/components/DebugButton.tsx +0 -46
  47. package/src/components/ErrorBoundary.tsx +0 -38
  48. package/src/config.ts +0 -4
  49. package/src/constants/errorConstants.ts +0 -21
  50. package/src/constants/fontStyles.ts +0 -3
  51. package/src/constants.ts +0 -5
  52. package/src/global.d.ts +0 -11
  53. package/src/hooks/useChatbotEvents.ts +0 -93
  54. package/src/index.tsx +0 -10
  55. package/src/openChatbot.ts +0 -11
  56. package/src/openChatbot.tsx +0 -0
  57. package/src/services/ErrorTrackingService.ts +0 -217
  58. package/src/types/events.ts +0 -28
  59. package/src/types/react-native-flipper-performance-plugin.d.ts +0 -3
  60. package/src/types/react-native-globals.d.ts +0 -10
  61. package/src/utils/animations.ts +0 -120
  62. package/src/utils/colorUtils.ts +0 -35
  63. package/src/utils/cookieUtils.ts +0 -7
  64. package/src/utils/debugConfig.ts +0 -56
  65. package/src/utils/debugMenu.ts +0 -14
  66. package/src/utils/errorHandler.ts +0 -58
  67. package/src/utils/fileDownload.ts +0 -198
  68. package/src/utils/logger.ts +0 -14
  69. package/src/utils/systemInfo.ts +0 -110
  70. package/src/utils/webViewStorage.ts +0 -62
  71. package/src/version.ts +0 -2
  72. package/src/versions/version.dev.ts +0 -2
  73. package/src/versions/version.production.ts +0 -2
  74. package/src/versions/version.staging.ts +0 -2
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_systemInfo","_logger","_constants","useChatbotEvents","exports","_ref","api_key","chatbotConfig","user_profile","onEvent","systemInfo","onInternalEvent","useCallback","_ref2","_asyncToGenerator2","default","eventType","additionalData","arguments","length","undefined","apiUrl","API_URL","sysInfo","getSystemInfo","eventData","Object","assign","trigger_time","Date","now","channel","org_id","client_user_id","isAnonymous","String","userId","event_type","payload","event_data","metadata","timestamp","user_id","logger","debug","response","fetch","method","headers","body","JSON","stringify","ok","Error","statusText","error","_x","apply","emitEvent","type","data"],"sourceRoot":"../../../src","sources":["hooks/useChatbotEvents.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_systemInfo","_logger","_constants","useChatbotEvents","exports","_ref","api_key","chatbotConfig","user_profile","onEvent","systemInfo","onEventRef","useRef","chatbotConfigRef","userProfileRef","systemInfoRef","current","onInternalEvent","useCallback","_ref2","_asyncToGenerator2","default","eventType","additionalData","arguments","length","undefined","apiUrl","API_URL","sysInfo","getSystemInfo","eventData","Object","assign","trigger_time","Date","now","channel","org_id","client_user_id","isAnonymous","String","userId","event_type","payload","event_data","metadata","timestamp","user_id","logger","debug","response","fetch","method","headers","body","JSON","stringify","ok","Error","statusText","error","_x","apply","emitEvent","type","data"],"sourceRoot":"../../../src","sources":["hooks/useChatbotEvents.ts"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,2 @@
1
-
2
- //# sourceMappingURL=openChatbot.js.mape",{value:true});exports.openChatbot=void 0;var _reactNative=require("react-native");var _constants=require("./constants");var openChatbot=exports.openChatbot=function openChatbot(chatbotId){var additionalParams=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var params=new URLSearchParams(Object.assign({id:chatbotId},additionalParams));var url=`${_constants.BASE_CHATBOT_URL}?${params.toString()}`;_reactNative.Linking.openURL(url);};
1
+ Object.defineProperty(exports,"__esModule",{value:true});exports.openChatbot=void 0;var _reactNative=require("react-native");var _constants=require("./constants");var openChatbot=exports.openChatbot=function openChatbot(chatbotId){var additionalParams=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var params=new URLSearchParams(Object.assign({id:chatbotId},additionalParams));var url=`${_constants.BASE_CHATBOT_URL}?${params.toString()}`;_reactNative.Linking.openURL(url);};
3
2
  //# sourceMappingURL=openChatbot.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../src","sources":["openChatbot.tsx"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_constants","openChatbot","exports","chatbotId","additionalParams","arguments","length","undefined","params","URLSearchParams","Object","assign","id","url","BASE_CHATBOT_URL","toString","Linking","openURL"],"sourceRoot":"../../src","sources":["openChatbot.ts"],"mappings":"oFAAA,IAAAA,YAAA,CAAAC,OAAA,iBACA,IAAAC,UAAA,CAAAD,OAAA,gBAEO,GAAM,CAAAE,WAAW,CAAAC,OAAA,CAAAD,WAAA,CAAG,QAAd,CAAAA,WAAWA,CACtBE,SAAiB,CAER,IADT,CAAAC,gBAAwC,CAAAC,SAAA,CAAAC,MAAA,IAAAD,SAAA,MAAAE,SAAA,CAAAF,SAAA,IAAG,CAAC,CAAC,CAE7C,GAAM,CAAAG,MAAM,CAAG,GAAI,CAAAC,eAAe,CAAAC,MAAA,CAAAC,MAAA,EAAGC,EAAE,CAAET,SAAS,EAAKC,gBAAgB,CAAE,CAAC,CAC1E,GAAM,CAAAS,GAAG,CAAG,GAAGC,2BAAgB,IAAIN,MAAM,CAACO,QAAQ,CAAC,CAAC,EAAE,CACtDC,oBAAO,CAACC,OAAO,CAACJ,GAAG,CAAC,CACtB,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ Object.defineProperty(exports,"__esModule",{value:true});exports.extractSessionId=exports.SESSION_UPDATED_MESSAGE_TYPE=exports.RESUME_SESSION_KEY=void 0;var SESSION_UPDATED_MESSAGE_TYPE=exports.SESSION_UPDATED_MESSAGE_TYPE="SESSION_UPDATED";var RESUME_SESSION_KEY=exports.RESUME_SESSION_KEY="sessionId";var extractSessionId=exports.extractSessionId=function extractSessionId(data){var _ref,_data$session_id,_data$session;var raw=(_ref=(_data$session_id=data==null?void 0:data.session_id)!=null?_data$session_id:data==null?void 0:data.sessionId)!=null?_ref:data==null?void 0:(_data$session=data.session)==null?void 0:_data$session.id;return typeof raw==="string"&&raw.length>0?raw:undefined;};
2
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SESSION_UPDATED_MESSAGE_TYPE","exports","RESUME_SESSION_KEY","extractSessionId","data","_ref","_data$session_id","_data$session","raw","session_id","sessionId","session","id","length","undefined"],"sourceRoot":"../../../src","sources":["utils/session.ts"],"mappings":"yJAUO,GAAM,CAAAA,4BAA4B,CAAAC,OAAA,CAAAD,4BAAA,CAAG,iBAAiB,CAGtD,GAAM,CAAAE,kBAAkB,CAAAD,OAAA,CAAAC,kBAAA,CAAG,WAAW,CAStC,GAAM,CAAAC,gBAAgB,CAAAF,OAAA,CAAAE,gBAAA,CAAG,QAAnB,CAAAA,gBAAgBA,CAAIC,IAAS,CAAyB,KAAAC,IAAA,CAAAC,gBAAA,CAAAC,aAAA,CACjE,GAAM,CAAAC,GAAG,EAAAH,IAAA,EAAAC,gBAAA,CAAGF,IAAI,cAAJA,IAAI,CAAEK,UAAU,QAAAH,gBAAA,CAAIF,IAAI,cAAJA,IAAI,CAAEM,SAAS,QAAAL,IAAA,CAAID,IAAI,eAAAG,aAAA,CAAJH,IAAI,CAAEO,OAAO,eAAbJ,aAAA,CAAeK,EAAE,CACpE,MAAO,OAAO,CAAAJ,GAAG,GAAK,QAAQ,EAAIA,GAAG,CAACK,MAAM,CAAG,CAAC,CAAGL,GAAG,CAAGM,SAAS,CACpE,CAAC","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- Object.defineProperty(exports,"__esModule",{value:true});exports.SDK_VERSION=void 0;var SDK_VERSION=exports.SDK_VERSION='2.1.1-staging.3';
1
+ Object.defineProperty(exports,"__esModule",{value:true});exports.SDK_VERSION=void 0;var SDK_VERSION=exports.SDK_VERSION='2.1.3-staging.0';
2
2
  //# sourceMappingURL=version.staging.js.map
@@ -11,16 +11,20 @@ export interface ChatbotProps {
11
11
  is_test_user?: boolean;
12
12
  [key: string | number]: any;
13
13
  };
14
+ session_id?: string;
15
+ session_context?: Record<string, any>;
14
16
  onEvent?: ChatbotEventHandler;
15
17
  onOpen?: () => void;
16
18
  onClose?: () => void;
17
19
  onReady?: () => void;
20
+ onSession?: (session_id: string, session_context?: Record<string, any>) => void;
18
21
  }
19
22
  export interface ChatbotRef {
20
23
  open: () => void;
21
24
  close: () => void;
22
25
  toggle: () => void;
23
26
  isReady: () => boolean;
27
+ getSessionId: () => string | undefined;
24
28
  }
25
29
  interface InternalChatbotProps extends ChatbotProps {
26
30
  show_floating_button?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"Chatbotsdk.d.ts","sourceRoot":"","sources":["../../src/Chatbotsdk.tsx"],"names":[],"mappings":"AAAA,OAAO,KAQN,MAAM,OAAO,CAAC;AAkBf,OAAO,EAEL,mBAAmB,EAEpB,MAAM,gBAAgB,CAAC;AAsBxB,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QACzB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC;KAC7B,CAAC;IACF,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,EAAE,MAAM,OAAO,CAAC;CACxB;AAED,UAAU,oBAAqB,SAAQ,YAAY;IACjD,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC;IACnC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAWD,oBAAY,oBAAoB;IAC9B,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,KAAK,UAAU;CAChB;AAED,oBAAY,mBAAmB;IAC7B,KAAK,UAAU;IACf,IAAI,SAAS;CACd;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,oBAAY,YAAY;IACtB,IAAI,SAAS;IACb,KAAK,UAAU;IACf,aAAa,kBAAkB;CAChC;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB,CAAC,EAAE;QACtB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,cAAc,CAAC,EAAE,oBAAoB,CAAC;IACtC,oBAAoB,CAAC,EAAE,yBAAyB,CAAC;IACjD,aAAa,EAAE,YAAY,CAAC;IAC5B,mBAAmB,EAAE;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,MAAM,EAAE;QACN,kBAAkB,CAAC,EAAE;YACnB,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;KACH,CAAC;IACF,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,QAAA,MAAM,OAAO,yFA4vBZ,CAAC;AA0CF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"Chatbotsdk.d.ts","sourceRoot":"","sources":["../../src/Chatbotsdk.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useChatbotEvents.d.ts","sourceRoot":"","sources":["../../../src/hooks/useChatbotEvents.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACpB,MAAM,iBAAiB,CAAC;AAGzB,UAAU,cAAc;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,GAAG,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,UAAU,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7C;AAED,eAAO,MAAM,gBAAgB,mEAM1B,cAAc;sBAwDN,gBAAgB,SAAS,GAAG;iCArDtB,aAAa,mBACR,OAAO,MAAM,EAAE,GAAG,CAAC;CAgExC,CAAC"}
1
+ {"version":3,"file":"useChatbotEvents.d.ts","sourceRoot":"","sources":["../../../src/hooks/useChatbotEvents.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACpB,MAAM,iBAAiB,CAAC;AAGzB,UAAU,cAAc;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,GAAG,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,UAAU,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7C;AAED,eAAO,MAAM,gBAAgB,mEAM1B,cAAc;sBA0EN,gBAAgB,SAAS,GAAG;iCAxDtB,aAAa,mBACR,OAAO,MAAM,EAAE,GAAG,CAAC;CAyExC,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Session id pass-through between the chatbot web app and the SDK client.
3
+ *
4
+ * The session id travels on its own message type so that it never reaches
5
+ * `onEvent`, `onMessage` or the internal `/users/sdk/record-logs/` endpoint.
6
+ * Its only exits from the SDK are the `onSession` prop and `getSessionId()`
7
+ * on the ref, both of which the client has to opt into explicitly.
8
+ */
9
+ /** Message the web app posts whenever the active session id changes. */
10
+ export declare const SESSION_UPDATED_MESSAGE_TYPE = "SESSION_UPDATED";
11
+ /** Key carrying the resume target inside the `registerUserId` payload. */
12
+ export declare const RESUME_SESSION_KEY = "sessionId";
13
+ /**
14
+ * Pulls the session id out of a `SESSION_UPDATED` payload.
15
+ *
16
+ * Accepts the snake_case, camelCase and nested spellings so a naming slip on
17
+ * the web side degrades to a no-op rather than a broken build. Anything that
18
+ * is not a non-empty string is dropped.
19
+ */
20
+ export declare const extractSessionId: (data: any) => string | undefined;
21
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/utils/session.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,wEAAwE;AACxE,eAAO,MAAM,4BAA4B,oBAAoB,CAAC;AAE9D,0EAA0E;AAC1E,eAAO,MAAM,kBAAkB,cAAc,CAAC;AAE9C;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,SAAU,GAAG,KAAG,MAAM,GAAG,SAGrD,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare const SDK_VERSION = "2.1.1-staging.3";
1
+ export declare const SDK_VERSION = "2.1.3-staging.0";
2
2
  //# sourceMappingURL=version.staging.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@robylon/react-native-sdk",
3
- "version": "2.1.1-staging.3",
3
+ "version": "2.1.4",
4
4
  "description": "React Native SDK for Robylon",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -25,7 +25,7 @@
25
25
  "publish:staging": "npm version $(node scripts/get-next-version.js staging) && node scripts/update-version.js staging && npm run build:staging && npm publish --tag staging",
26
26
  "publish:production": "node scripts/validate-publish.js production && npm run build:production && npm publish",
27
27
  "publish:hotfix": "node scripts/validate-publish.js hotfix && npm version $(node scripts/get-next-version.js hotfix) && node scripts/update-version.js production && npm run build:production && npm publish --tag hotfix",
28
- "postinstall": "node scripts/setup-git-hooks.js",
28
+ "postinstall": "node scripts/setup-git-hooks.js || exit 0",
29
29
  "branch": "node scripts/create-branch.js",
30
30
  "tag": "node scripts/create-version-tag.js"
31
31
  },
@@ -2,17 +2,29 @@ const fs = require("fs");
2
2
  const path = require("path");
3
3
  const { execSync } = require("child_process");
4
4
 
5
- // Create .git/hooks directory if it doesn't exist
6
- const hooksDir = path.join(__dirname, "../.git/hooks");
7
- if (!fs.existsSync(hooksDir)) {
8
- fs.mkdirSync(hooksDir, { recursive: true });
5
+ // This runs from postinstall, which also fires when the SDK is installed as a
6
+ // dependency. Bail out unless we are in the SDK's own checkout, so consumers
7
+ // do not get a stray .git/hooks directory inside node_modules.
8
+ const gitDir = path.join(__dirname, "../.git");
9
+ if (!fs.existsSync(gitDir)) {
10
+ process.exit(0);
9
11
  }
10
12
 
11
- // Copy the validate-branch-name script
12
- const sourcePath = path.join(__dirname, "validate-branch-name.sh");
13
- const targetPath = path.join(hooksDir, "commit-msg");
13
+ try {
14
+ const hooksDir = path.join(gitDir, "hooks");
15
+ if (!fs.existsSync(hooksDir)) {
16
+ fs.mkdirSync(hooksDir, { recursive: true });
17
+ }
14
18
 
15
- fs.copyFileSync(sourcePath, targetPath);
16
- fs.chmodSync(targetPath, "755");
19
+ // Copy the validate-branch-name script
20
+ const sourcePath = path.join(__dirname, "validate-branch-name.sh");
21
+ const targetPath = path.join(hooksDir, "commit-msg");
17
22
 
18
- console.log("Git hooks installed successfully!");
23
+ fs.copyFileSync(sourcePath, targetPath);
24
+ fs.chmodSync(targetPath, "755");
25
+
26
+ console.log("Git hooks installed successfully!");
27
+ } catch (error) {
28
+ // Never fail an install over developer tooling.
29
+ console.warn("Skipped git hook setup:", error.message);
30
+ }
@@ -1,3 +0,0 @@
1
- <manifest xmlns:android="http://schemas.android.com/apk/res/android"
2
- package="com.robylonreactnativesdk">
3
- </manifest>
@@ -1,83 +0,0 @@
1
- package com.robylonreactnativesdk;
2
-
3
- import android.app.DownloadManager;
4
- import android.content.Context;
5
- import android.net.Uri;
6
- import android.os.Environment;
7
- import android.webkit.MimeTypeMap;
8
-
9
- import androidx.annotation.NonNull;
10
-
11
- import com.facebook.react.bridge.Promise;
12
- import com.facebook.react.bridge.ReactApplicationContext;
13
- import com.facebook.react.bridge.ReactContextBaseJavaModule;
14
- import com.facebook.react.bridge.ReactMethod;
15
-
16
- public class RobylonDownloadModule extends ReactContextBaseJavaModule {
17
- private final ReactApplicationContext reactContext;
18
-
19
- public RobylonDownloadModule(ReactApplicationContext reactContext) {
20
- super(reactContext);
21
- this.reactContext = reactContext;
22
- }
23
-
24
- @NonNull
25
- @Override
26
- public String getName() {
27
- return "RobylonDownloadModule";
28
- }
29
-
30
- @ReactMethod
31
- public void downloadFile(String url, String filename, Promise promise) {
32
- try {
33
- if (url == null || url.trim().isEmpty()) {
34
- promise.reject("INVALID_URL", "Download URL is missing");
35
- return;
36
- }
37
-
38
- String safeName = getSafeFileName(filename, url);
39
- DownloadManager manager = (DownloadManager) reactContext.getSystemService(Context.DOWNLOAD_SERVICE);
40
- if (manager == null) {
41
- promise.reject("DOWNLOAD_SERVICE_UNAVAILABLE", "Download service unavailable");
42
- return;
43
- }
44
-
45
- DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));
46
- request.setTitle(safeName);
47
- request.setDescription("Downloading transcript");
48
- request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
49
- request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, safeName);
50
- request.setMimeType(getMimeTypeFromName(safeName));
51
- request.setAllowedOverMetered(true);
52
- request.setAllowedOverRoaming(true);
53
-
54
- long downloadId = manager.enqueue(request);
55
- promise.resolve(String.valueOf(downloadId));
56
- } catch (Exception error) {
57
- promise.reject("DOWNLOAD_FAILED", error);
58
- }
59
- }
60
-
61
- private String getSafeFileName(String filename, String url) {
62
- if (filename != null && !filename.trim().isEmpty()) {
63
- return filename.trim().replaceAll("[\\\\/:*?\"<>|]", "_");
64
- }
65
- String fromUrl = Uri.parse(url).getLastPathSegment();
66
- if (fromUrl == null || fromUrl.trim().isEmpty()) {
67
- return "chat-transcript-" + System.currentTimeMillis() + ".txt";
68
- }
69
- return fromUrl.trim().replaceAll("[\\\\/:*?\"<>|]", "_");
70
- }
71
-
72
- private String getMimeTypeFromName(String filename) {
73
- String extension = MimeTypeMap.getFileExtensionFromUrl(filename);
74
- if (extension == null || extension.isEmpty()) {
75
- return "application/octet-stream";
76
- }
77
- String mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension.toLowerCase());
78
- if (mimeType == null || mimeType.isEmpty()) {
79
- return "application/octet-stream";
80
- }
81
- return mimeType;
82
- }
83
- }
@@ -1,24 +0,0 @@
1
- package com.robylonreactnativesdk;
2
-
3
- import com.facebook.react.ReactPackage;
4
- import com.facebook.react.bridge.NativeModule;
5
- import com.facebook.react.bridge.ReactApplicationContext;
6
- import com.facebook.react.uimanager.ViewManager;
7
-
8
- import java.util.ArrayList;
9
- import java.util.Collections;
10
- import java.util.List;
11
-
12
- public class RobylonReactNativeSdkPackage implements ReactPackage {
13
- @Override
14
- public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
15
- List<NativeModule> modules = new ArrayList<>();
16
- modules.add(new RobylonDownloadModule(reactContext));
17
- return modules;
18
- }
19
-
20
- @Override
21
- public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
22
- return Collections.emptyList();
23
- }
24
- }