Files
Abin ToppoandClaude Opus 5.5 f960a119e8 Add Positive Pay, statement guide v1.0, onboarding, and switch every feature on
- Positive Pay on the 12 Oct /pps contract (account number, not account ID):
  OTP enrollment, cheque submit, saved cheques, detail and stop payment.
  Full flow passed on the phone against mobile-banking-backend.lincpay.
- Statement & Mini Statement guide v1.0 (14 Oct): mini statement JSON on
  Home and the Statement screen; dated PDF export with the password rule.
- Onboarding slides and splash screen, Inter font, shared Icon and
  TypewriterText components, nearby branches via OpenStreetMap.
- Every feature switched on; the 14 Oct switch set is kept in
  featureConfig.stage-2026-10-14.ts. Loans run on demo data until the
  backend has /loans routes.
- npm run android wraps run-android for shells spawned from VS Code.
- OpenProject work packages updated to 14-10-2026 status, with screenshots
  of Positive Pay, statement, loans and cards.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 18:18:40 +05:30

44 lines
1.5 KiB
JavaScript

#!/usr/bin/env node
/**
* `react-native run-android`, minus one inherited setting that stops it from
* opening Metro on Windows.
*
* Why this exists: run-android opens Metro by running `cmd.exe /C
* launchPackager.bat` in a new window, and the first thing that script does is
* `call .packager.bat` — a bare name, resolved from the current directory.
* Tools started from inside VS Code (Claude Code among them) carry
* `NoDefaultCurrentDirectoryInExePath=1`, which tells cmd not to look in the
* current directory. The call then fails, the project paths it would have set
* stay empty, Metro dies with `Cannot find module 'D:\cli.js'`, and because the
* window gets no stdin its closing `pause` returns at once. The Metro window
* flashes and is gone, and the app has no bundle to load.
*
* The setting is dropped for this command only. Everything else passes
* through, so this takes the same flags as the CLI:
*
* npm run android
* npm run android -- --mode release
*/
const { spawnSync } = require('child_process');
const env = {};
for (const [key, value] of Object.entries(process.env)) {
// Windows variable names are case-insensitive.
if (key.toLowerCase() !== 'nodefaultcurrentdirectoryinexepath') {
env[key] = value;
}
}
const cli = require.resolve('react-native/cli.js');
const result = spawnSync(
process.execPath,
[cli, 'run-android', ...process.argv.slice(2)],
{ stdio: 'inherit', env },
);
if (result.error) {
console.error(result.error);
}
process.exit(result.status ?? 1);