@namiml/sdk-core 3.4.0-dev.202605191752 → 3.4.0-dev.202605201800

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.
package/dist/index.cjs CHANGED
@@ -98,7 +98,7 @@ const {
98
98
  // version — stamped by scripts/version.sh
99
99
  NAMI_SDK_VERSION: exports.NAMI_SDK_VERSION = "3.4.0",
100
100
  // full package version including dev suffix — stamped by scripts/version.sh
101
- NAMI_SDK_PACKAGE_VERSION: exports.NAMI_SDK_PACKAGE_VERSION = "3.4.0-dev.202605191752",
101
+ NAMI_SDK_PACKAGE_VERSION: exports.NAMI_SDK_PACKAGE_VERSION = "3.4.0-dev.202605201800",
102
102
  // environments
103
103
  PRODUCTION: exports.PRODUCTION = "production", DEVELOPMENT: exports.DEVELOPMENT = "development",
104
104
  // error messages
@@ -14006,8 +14006,17 @@ class NamiFlow extends BasicNamiFlow {
14006
14006
  // UI is responsible for closing paywall when flow ends
14007
14007
  }
14008
14008
  back() {
14009
- if (!this.previousStepAvailable) {
14010
- logger.debug(`No previous step available`);
14009
+ if (this.previousFlowStep?.allow_back_to === false) {
14010
+ logger.debug(`Not allowed to go back to ${this.previousFlowStep.id}`);
14011
+ return;
14012
+ }
14013
+ // No previous screen in history → exit the flow (parity with Android/iOS).
14014
+ const hasPreviousScreen = this.stepcrumbs
14015
+ .slice(0, -1)
14016
+ .some(step => step.type === 'screen');
14017
+ if (!hasPreviousScreen) {
14018
+ this.flowLog(`back() — no previous screen step, exiting flow`);
14019
+ this.finished();
14011
14020
  return;
14012
14021
  }
14013
14022
  this.backToPreviousScreenStep();
package/dist/index.mjs CHANGED
@@ -96,7 +96,7 @@ const {
96
96
  // version — stamped by scripts/version.sh
97
97
  NAMI_SDK_VERSION = "3.4.0",
98
98
  // full package version including dev suffix — stamped by scripts/version.sh
99
- NAMI_SDK_PACKAGE_VERSION = "3.4.0-dev.202605191752",
99
+ NAMI_SDK_PACKAGE_VERSION = "3.4.0-dev.202605201800",
100
100
  // environments
101
101
  PRODUCTION = "production", DEVELOPMENT = "development",
102
102
  // error messages
@@ -14004,8 +14004,17 @@ class NamiFlow extends BasicNamiFlow {
14004
14004
  // UI is responsible for closing paywall when flow ends
14005
14005
  }
14006
14006
  back() {
14007
- if (!this.previousStepAvailable) {
14008
- logger.debug(`No previous step available`);
14007
+ if (this.previousFlowStep?.allow_back_to === false) {
14008
+ logger.debug(`Not allowed to go back to ${this.previousFlowStep.id}`);
14009
+ return;
14010
+ }
14011
+ // No previous screen in history → exit the flow (parity with Android/iOS).
14012
+ const hasPreviousScreen = this.stepcrumbs
14013
+ .slice(0, -1)
14014
+ .some(step => step.type === 'screen');
14015
+ if (!hasPreviousScreen) {
14016
+ this.flowLog(`back() — no previous screen step, exiting flow`);
14017
+ this.finished();
14009
14018
  return;
14010
14019
  }
14011
14020
  this.backToPreviousScreenStep();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@namiml/sdk-core",
3
- "version": "3.4.0-dev.202605191752",
3
+ "version": "3.4.0-dev.202605201800",
4
4
  "description": "Platform-agnostic core for the Nami SDK — business logic, API, types, and state management",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",