diff --git a/android/app/build.gradle b/android/app/build.gradle
index 8156462e..aac04388 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -7,8 +7,8 @@ android {
applicationId "com.mutinywallet.mutinywallet"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
- versionCode 54
- versionName "0.6.2"
+ versionCode 55
+ versionName "0.6.3"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
aaptOptions {
// Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps.
diff --git a/ios/App/App.xcodeproj/project.pbxproj b/ios/App/App.xcodeproj/project.pbxproj
index 1c95c851..c048ffab 100644
--- a/ios/App/App.xcodeproj/project.pbxproj
+++ b/ios/App/App.xcodeproj/project.pbxproj
@@ -360,7 +360,7 @@
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.finance";
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- MARKETING_VERSION = 1.6.2;
+ MARKETING_VERSION = 1.6.3;
OTHER_SWIFT_FLAGS = "$(inherited) \"-D\" \"COCOAPODS\" \"-DDEBUG\"";
PRODUCT_BUNDLE_IDENTIFIER = com.mutinywallet.mutiny;
PRODUCT_NAME = "$(TARGET_NAME)";
@@ -387,7 +387,7 @@
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.finance";
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- MARKETING_VERSION = 1.6.2;
+ MARKETING_VERSION = 1.6.3;
PRODUCT_BUNDLE_IDENTIFIER = com.mutinywallet.mutiny;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
diff --git a/package.json b/package.json
index 193ed783..efb02a13 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "mutiny-wallet",
- "version": "0.6.0",
+ "version": "0.6.3",
"license": "MIT",
"packageManager": "pnpm@8.6.6",
"scripts": {
@@ -54,7 +54,7 @@
"@capacitor/toast": "^5.0.6",
"@kobalte/core": "^0.12.6",
"@kobalte/tailwindcss": "^0.9.0",
- "@mutinywallet/mutiny-wasm": "0.6.2",
+ "@mutinywallet/mutiny-wasm": "0.6.3",
"@modular-forms/solid": "^0.20.0",
"@solid-primitives/upload": "^0.0.117",
"@solidjs/meta": "^0.29.3",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 20d8b8dd..f3353e32 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -51,8 +51,8 @@ dependencies:
specifier: ^0.20.0
version: 0.20.0(solid-js@1.8.16)
'@mutinywallet/mutiny-wasm':
- specifier: 0.6.2
- version: 0.6.2
+ specifier: 0.6.3
+ version: 0.6.3
'@solid-primitives/upload':
specifier: ^0.0.117
version: 0.0.117(solid-js@1.8.16)
@@ -2085,8 +2085,8 @@ packages:
solid-js: 1.8.16
dev: false
- /@mutinywallet/mutiny-wasm@0.6.2:
- resolution: {integrity: sha512-+49zGMM4o//Tjsniz7KyH3h/+2BckEGgCT30CQ4tX2VOz2r1omxABDD2OJ5Wl48fVB0I8h69q0i8ugm1ruTHBQ==}
+ /@mutinywallet/mutiny-wasm@0.6.3:
+ resolution: {integrity: sha512-mHcOoawa2HyYL1ssA0aOGN1IUVFmitiioe6XiwQiBPFtW3vE7Zg824xBZYPKnlf4jqdK1MSyRGaFoSPfe5QqCQ==}
dev: false
/@nodelib/fs.scandir@2.1.5:
@@ -7567,6 +7567,7 @@ packages:
/workbox-google-analytics@7.0.0:
resolution: {integrity: sha512-MEYM1JTn/qiC3DbpvP2BVhyIH+dV/5BjHk756u9VbwuAhu0QHyKscTnisQuz21lfRpOwiS9z4XdqeVAKol0bzg==}
+ deprecated: It is not compatible with newer versions of GA starting with v4, as long as you are using GAv3 it should be ok, but the package is not longer being maintained
dependencies:
workbox-background-sync: 7.0.0
workbox-core: 7.0.0
diff --git a/src/components/layout/TextField.tsx b/src/components/layout/TextField.tsx
index afc80859..730621f6 100644
--- a/src/components/layout/TextField.tsx
+++ b/src/components/layout/TextField.tsx
@@ -14,6 +14,7 @@ export type TextFieldProps = {
required?: boolean;
multiline?: boolean;
disabled?: boolean;
+ autoCapitalize?: string;
ref: (element: HTMLInputElement | HTMLTextAreaElement) => void;
onInput: JSX.EventHandler<
HTMLInputElement | HTMLTextAreaElement,
@@ -32,7 +33,8 @@ export function TextField(props: TextFieldProps) {
"ref",
"onInput",
"onChange",
- "onBlur"
+ "onBlur",
+ "autoCapitalize"
]);
return (
}
>
-
+ {
+ // @ts-expect-error autocapitalize isn't in the props for some reason
+
+ }
{props.error}
diff --git a/src/routes/Feedback.tsx b/src/routes/Feedback.tsx
index 4b567c59..ab4f3506 100644
--- a/src/routes/Feedback.tsx
+++ b/src/routes/Feedback.tsx
@@ -8,6 +8,7 @@ import {
BackPop,
Button,
ButtonLink,
+ DefaultMain,
LargeHeader,
NiceP,
TextField,
@@ -172,7 +173,7 @@ export function Feedback() {
const setupError = state?.setupError || undefined;
return (
-
+
@@ -209,6 +210,6 @@ export function Feedback() {
-
+
);
}
diff --git a/src/routes/settings/LightningAddress.tsx b/src/routes/settings/LightningAddress.tsx
index 525974c4..1ba0794e 100644
--- a/src/routes/settings/LightningAddress.tsx
+++ b/src/routes/settings/LightningAddress.tsx
@@ -1,6 +1,7 @@
import { Capacitor } from "@capacitor/core";
import {
createForm,
+ custom,
required,
reset,
SubmitHandler
@@ -40,6 +41,12 @@ type HermesForm = {
name: string;
};
+const validateLowerCase = (value?: string) => {
+ if (!value) return false;
+ const valid = /^[a-z0-9-_.]+$/;
+ return valid.test(value);
+};
+
// todo(paul) put this somewhere else
function HermesForm(props: { onSubmit: (name: string) => void }) {
const [state, _] = useMegaStore();
@@ -62,7 +69,7 @@ function HermesForm(props: { onSubmit: (name: string) => void }) {
setSuccess("");
setError(undefined);
try {
- const name = f.name.trim();
+ const name = f.name.trim().toLowerCase();
const available =
await state.mutiny_wallet?.check_available_lnurl_name(name);
if (!available) {
@@ -73,15 +80,12 @@ function HermesForm(props: { onSubmit: (name: string) => void }) {
const formattedName = `${name}@${hermesDomain}`;
- const existingProfile = state.mutiny_wallet?.get_nostr_profile();
-
const _ = await state.mutiny_wallet?.edit_nostr_profile(
undefined,
undefined,
// lnurl
formattedName,
- // nip05 if they don't have one
- existingProfile?.nip05 ? undefined : formattedName
+ undefined
);
reset(nameForm);
props.onSubmit(name);
@@ -94,19 +98,26 @@ function HermesForm(props: { onSubmit: (name: string) => void }) {
return (