React Native SDK Changelog

1.7.0 (2022-11-25)

Features

  • Dummy Orders: Added support for placing Dummy Orders. To trigger the flow, create a transactionId with intent=TRANSACTION and orderConfig.type=DUMMY.

1.6.3 (23-11-2022)

Features

  • Holdings Reconciliation: Added support for holdings reconciliation. To trigger the flow, create a transactionId with intent=TRANSACTION and orderConfig.type=RECONCILIATION.

1.6.2 (11-11-2022)

Features

  • Mutual Funds Holdings Import: Added a feature enabling users to import a snapshot of their Mutual Funds Holdings natively in a seamless manner.
try {
      const res = await SmallcaseGateway.triggerMfTransaction(transactionId);
    } catch(err) {
      //Error callback
      //can be fetched using err.userInfo
    }

1.6.1 (19-10-2022)

Features

  • New error code 1014 for no_compatible_browser error in transactions. This happens when the user does not have any browsers installed on their device.(android)

Bug Fixes

  • Removed the restrictions on transactions to only whitelisted browsers. Now the sdk supports transactions on all browsers, but the user journey can suffer in some cases where the user is not using our recommended browsers.(android)

Recommended browsers : https://config.smallcase.com/gateway/mobileConfig/production/mobileConfig.json

  • Renamed mixpanel prop intent to Intent.(android)

Intents Impacted: All transactional intents

1.6.0 (23-09-2022)

Bug Fixes

  • Fixed an issue causing the SDK to return a hashmap response instead of a JSON response for transactions in PROCESSING state
  • Fixed an issue causing the SDK to return a hashmap response instead of a JSON response for SST Limit orders
  • Fixed an issue which caused the SDK to return smallcaseAuthToken along with lead status response
  • Fixed an issue which prevented the SDK from returning no_browser_found 4005 error for show orders

1.5.4 (08-09-2022)

Bug Fixes

  • Permanently removed arm64 architecture from for iOS simulators.

1.5.1 (02-08-2022)

Bug Fixes

  • Removed arm64 architecture from DEBUG build configuration for iOS simulators.

Intents Impacted: NA

1.5.0 (01-08-2022)

Features

  • The SDK will now share smallcaseAuthToken and broker values in addition to the error message and code for users performing a successful broker login but not completing the intended transaction successfully.

Syntax

{
   "data":{
      "broker":"kite-leprechaun",
      "smallcaseAuthToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzbWFsbGNhc2VBdXRoSWQiOiI2MmVhMzkyODRlZmY1YmM4NjYwYWU0YzYiLCJpYXQiOjE2NTk1MTcyMDYsImV4cCI6MTY1OTUyMDgwNn0.qgYiZCxZxFrlcGgtvKmUqSaTpIyk4H2Mt2XWGfAYXqg"
   },
   "code":1012,
   "message":"user_cancelled"
}

Bug Fixes

  • Fixed an issue which caused the SDK to return an error response for a successful SMT transaction.
  • Fixed an issue which caused a failure in downloading the rebalance timeline of a smallcase (android).
  • Fixed an issue which caused no error data shared for market_closed 4005 and intent_not_enabled_for_broker 3000 errors.
  • Fixed an issue which caused the SDK to not share a transactionId post a successful CONNECT transaction.
  • Fixed an issue which caused an analytics event to register incorrect property value (android).
  • Fixed an issue which caused the iOS SDK to use the overriden value of CFBundleVersionString while deploying an app to the App Store (iOS).
  • Removed the default smallcase logo from smallplug header, SDK displays only the back (left) icon if a gateway's smallplug header icon is not available (iOS).
  • Fixed an issue which prevented SDK to share smallcaseAuthToken and broker values for consent_denied 1003 and transaction_expired 1005 error (iOS).
  • Fixed an issue which caused the SDK to crash for webhook_unreachable 3003 error (iOS).

Dev improvements

  • Added CI release scripts in package.json to streamline the SDK release process
  • Removed redundant method to fetch the SDK version from info.plist file

Intents Impacted: All Transactional and Non-Transactional Intents.

1.4.2 (21-07-2022)

Bug Fixes

  • Fixed an issue which caused the SDK version number to be accepted as null (android)
  • Fixed an issue which caused an incorrect smallcase gif animation to load with Lottie.
  • Removed the default Smartinvesting logo as a placeholder from smallplug header.

Dev Improvements

  • Disabled remote debugging on webViews.
  • Removed redundant mixpanel-swift dependency from podspec

1.4.1 (27-06-2022)

Bug Fixes

  • Fixed an issue which caused MixpanelApi to return a null instance.
  • Fixed an issue which caused smallplug to crash for null input arguments.
  • Added default header and back icon color in smallplug.

Dev Improvements

  • Exceptions raised by Glide are now caught and logged on Sentry.
  • removed unnecessary null safe checks in smallplug.

Intents Impacted: All Transactional Intents and smallplug.

1.4.0 (23-06-2022)

Features

  • Added partner branding to smallplug. With this new experience your app logos will be very accessible and prominent on all the screens inside smallplug.

  • Syntax:

try {
      const res = await SmallcaseGateway.launchSmallplugWithBranding(
        targetEndpoint,
        params, 
        headerColor, 
        headerOpacity, 
        backIconColor, 
        backIconOpacity);
    } catch(err) {
      //Error callback
      //can be fetched using err.userInfo
    }

// headerColor: This is the string HEX value of the color. eg: "#000000"
// headerOpacity: 0 <= value <=1, value should be between 0 and 1.
// backIconColor: This is the string HEX value of the color. eg: "#FFFFFF"
// backIconOpacity: 0 <= value <=1, value should be between 0 and 1.

The refactored smallplug window:

12421242

smallcase Distribution Module: custom branding screenshot (on iOS)

10801080

smallcase Distribution Module: custom branding screenshot (on Android)

  • Integrated Mixpanel sdk to track user events on iOS.

Bug Fixes

  • Fixed an issue on ANDROID with apps targeting API 30 and above where pressing the back button on the Chrome Custom Tab(while performing any transactions) would show the transaction loader indefinitely.
  • Fixed an issue on ANDROID where pressing the back button on the connect loader would still continue to open the Broker Chooser. Now it cancels the transaction and returns a user_cancelled error.
  • Fixed an issue on ANDROID where DM would open if launched during the SDK initialisation process. Now DM will only launch after SDK has FINISHED initialising.
  • Fixed an issue on ANDROID where on 5paisa PWA, no response is passed back from the SDK incase of back press.

Intents Impacted: All Transactional and Non Transactional Intents. DM.

1.2.4(30-05-2022)

Bug Fixes

  • Excluded arm64 architecture from ios simulator target.
  • Fixed an issue which caused Lead Gen to not return any response with 5paisa broker.

Intents Impacted: All Transactional Intents and Non-Transactional intent.

1.2.3(30-05-2022)

Bug Fixes

  • Smallcase Gateway rebranding issue on loading screen.

Intents Impacted: All Transactional Intents.

1.2.2(27-05-2022)

Bug Fixes

  • Fixed an issue which caused Show Orders feature to throw intent_not_enabled_for_broker 3000 error for connected leprechaun users.
  • Fixed an issue which caused login for iframe brokers to fail on STAG.

Intents Impacted: All Transactional Intents.

1.2.1(27-05-2022)

Bug Fixes

  • Fixed an issue which caused smallplug to crash while launching an URL with HTTP scheme and about:blank page.
  • Fixed an issue which caused login for iframe brokers to fail on STAG.

Intents Impacted: All Transactional Intents.

1.2.0(17-05-2022)

Features

  • Added SHOW_ORDERS non transactional intent
try {
  const showOrdersRes = await SmallcaseGateway.showOrders();
} catch (err) {
  //Error callback
  //Error can be fetched using err.userInfo
}

Bug Fixes

  • Fixed an issue which caused broker chooser to show only 2 brokers when navigated from show_orders to transactional flow
  • Fixed an issue which caused broker chooser to show more than allowed brokers for show_orders.
  • Fixed an issue in show_orders which caused the SDK to launch user investments landing page for iframe brokers like AxisDirect and HDFC Sec.
  • Added intent_not_enabled_for_broker 3000 error in case a connected user's broker tries to launch show_orders even if it is not allowed to.

Intents Impacted: NA (only non-transactional intents).

1.1.0(07-04-2022)

Features

  • Added SMT AMO cancellation

Bug Fixes

  • Lead Gen status response from 5paisa PWA screen and broker redirection screen
  • Fixed an issue which caused files of type .xlsx to fail downloading on smallcase module.

Dev improvements

  • Refactored mobile SDK version sent to gateway api.
  • Refactored smallcase gateway branding in connect-ui
  • Updated copy content in connect-ui.
    (for more details, please refer this)
  • Compiled the iOS framework with Xcode 13 (Swift 5.5) along with library evolution.
  • Fixed an issue which caused broker chooser to show only 1 broker when navigated from an intent with single available broker to an intent with available brokers > 1.

Intents Impacted: All Transactional Intents.

1.0.2(04-04-2022)

Dev improvements

  • Added a method to expose sdk version to the host module (internal-tracking).

Intents Impacted : NA.

1.0.1(15-03-2022)

Bug Fixes

  • Refactor: removed post install script from package.json file.

Intents Impacted : NA.

1.0.0(21-01-2022)

Features

  • Added Distribution Module to enable transactions without requiring a transactionId from the consumer. The consumer can launch the distribution module with a custom header text and a custom route along with any parameters.

  • Syntax:

try {
      const res = await SmallcaseGateway.launchSmallplug(targetEndpoint, params);
    } catch(err) {
      //Error callback
      //can be fetched using err.userInfo
    }
  • Integrated Mixpanel sdk to track user events.
  • Integrated Sentry sdk for logging exceptions and unknown error cases.

Bug Fixes

  • Fixed an issue which caused an order to cancel when the app was minimised.
  • Removed redundant orderConfig while communicating with broker chooser.
  • Fixed an issue which caused SMT transactions to fail for a GUEST user.
  • Added objc for using smallcase module.

Dev improvements

  • Upgraded mrmike ok2curl interceptor library to version 0.7.0.
  • Removed deprecated R8 from gradle properties.
  • Replaced Coil with Glide library for inflating remote images in ImageView
  • Added support for Xcode 13

Intents Impacted : All Transaction Intents.

0.9.0 (2022-01-03)

Bug Fixes

  • Fixed an issue which caused custom tab to destroy as soon as user navigates away from the app.
  • Fixed an issue which caused the SDK to be unresponsive when user clicks on back button on custom tab.
  • Fixed title and subtitle for connected users on gateway loading screen.
  • Fixed an issue which caused transactions to fail on iFrame brokers.

0.8.0 (2021-11-15)

Features

  • Added Lead Id and Lead Status in LeadGen response. SDK will now send the leadId and status of the application in response to triggerLeadGen method invocation

  • Syntax:

try {
      const res = await SmallcaseGateway.triggerLeadGenWithStatus(
        {name: 'John Doe'});
    } catch (err) {
      //catch SDK error here
    }

Bug Fixes

  • Fixed the title text of Axis Direct consent screen for SMT transactions.
  • Fixed leprechaun toggle flow in Broker Chooser. Clicking 10 times on Login with your broker will toggle the leprechaun mode for transactions.
  • Fixed an issue causing the SDK to return with init_sdk 3004 if the user logged out from the Broker Platform.

Dev improvements

  • Removed redundant network calls to check transactionId status.
  • Broker chooser would now close automatically once the transactionId expires (i.e. in 5 minutes)
  • Removed hardcoded IP address used for internal testing of jetpack compose.

Intents Impacted : All Transaction Intents.

0.6.0 (2021-08-17)

Features

  • Added broker name in Transaction responses.
    Sample transaction response
{
  "data": {
    "batches": [
      {
        "filled": 1,
        "variety": "regular",
        "buyAmount": 121,
        "sellAmount": 0,
        "orders": [
          {
            "orderType": "MARKET",
            "product": "CNC",
            "exchange": "NSE",
            "status": "COMPLETE",
            "quantity": 11,
            "tradingsymbol": "YESBANK",
            "transactionType": "BUY",
            "filledQuantity": 11,
            "averagePrice": 11,
            "exchangeOrderId": "611f4c58053f50b5bca736de611f4ce9053f50b5bca736e2"
          }
        ],
        "unplaced": [],
        "batchId": "611f4ce96cc52ec2a55af32d",
        "quantity": 1,
        "status": "COMPLETED",
        "completedDate": "2021-08-20T06:34:20.796Z",
        "transactionId": "TRX_ac3d3d23eddc45a48c627d32b2fa0282"
      }
    ]
  },
  "signup": false,
  "broker": "kite-leprechaun",
  "transactionId": "TRX_ac3d3d23eddc45a48c627d32b2fa0282",
  "smallcaseAuthToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzbWFsbGNhc2VBdXRoSWQiOiI2MTFmNGNjNTAwMzIyY2E5NmIxOTVmZDciLCJpYXQiOjE2Mjk0NDEyNjUsImV4cCI6MTYyOTQ0NDg2NX0.sJkUtXGa8jg26XqyMcfHcdpRr_gm27gJ6qfr7NXm_E8"
}

Dev improvements

  • Refactored CONNECT Transaction response to a JSON string.
    Sample response for a new user on smallcase ecosystem
{
  "signup":true,
  "smallcaseAuthToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzbWFsbGNhc2VBdXRoSWQiOiI2MTFhMDMxYzAzMzY0YzgyNDdhYTVlNDgiLCJpYXQiOjE2MjkxMTA2MjAsImV4cCI6MTYyOTExNDIyMH0.c8CP9zjL9gKIFC1sTECaVpUTfmwrg0aTi1x89GXii5Q",
  "broker":"kite-leprechaun"
}

📘

Note

The signup key signifies whether a user is new to smallcase-ecosystem or not and it would only be visible to first-party gateway.

Bug Fixes

  • Fixed an issue which prevented LEAD_GEN window from getting closed.
  • Fixed an issue which caused gateway sdk to return with no_broker 1008 code while passing an empty broker list in triggerTransaction method (obj-c).

Intents Impacted : CONNECT, TRANSACTION, HOLDINGS_IMPORT, AUTHORISE_HOLDINGS, FETCH_FUNDS, SIP_SETUP