fix some bugs

This commit is contained in:
DASHU
2024-09-05 18:29:39 +08:00
parent e507c42f79
commit 4cb00e4118
4 changed files with 20 additions and 5 deletions

View File

@@ -28,6 +28,13 @@
<intent-filter> <intent-filter>
<action android:name="android.intent.action.VIEW" /> <action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT"/> <category android:name="android.intent.category.DEFAULT"/>
<!-- <category android:name="android.intent.category.BROWSABLE" /> -->
<data android:scheme="nostrsigner" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<!-- <category android:name="android.intent.category.DEFAULT"/> -->
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="nostrsigner" /> <data android:scheme="nostrsigner" />
</intent-filter> </intent-filter>
</activity> </activity>

View File

@@ -249,7 +249,7 @@ class _WebViewComponent extends State<WebViewComponent>
var tags = eventObj["tags"]; var tags = eventObj["tags"];
Event? event = Event(app.pubkey!, eventObj["kind"], tags ?? [], Event? event = Event(app.pubkey!, eventObj["kind"], tags ?? [],
eventObj["content"], eventObj["content"],
publishAt: eventObj["created_at"]); createdAt: eventObj["created_at"]);
event = await signer.signEvent(event); event = await signer.signEvent(event);
if (event == null) { if (event == null) {
return; return;

View File

@@ -3,6 +3,7 @@ import 'dart:convert';
import 'dart:developer'; import 'dart:developer';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:nostr_sdk/event.dart'; import 'package:nostr_sdk/event.dart';
import 'package:nostr_sdk/nip19/nip19.dart';
import 'package:nostr_sdk/utils/string_util.dart'; import 'package:nostr_sdk/utils/string_util.dart';
import 'package:nowser/const/app_type.dart'; import 'package:nowser/const/app_type.dart';
import 'package:nowser/const/auth_result.dart'; import 'package:nowser/const/auth_result.dart';
@@ -94,6 +95,10 @@ mixin AndroidSignerMixin on PermissionCheckMixin {
eventKind: eventKind, authDetail: playload, () { eventKind: eventKind, authDetail: playload, () {
// this place should do some about reject // this place should do some about reject
// saveAuthLog(app, authType, eventKind, playload, AuthResult.OK); // saveAuthLog(app, authType, eventKind, playload, AuthResult.OK);
receiveIntent.ReceiveIntent.setResult(
receiveIntent.kActivityResultCanceled,
shouldFinish: true,
);
}, (app, signer) async { }, (app, signer) async {
print("checkPermission confrim $code"); print("checkPermission confrim $code");
// confirm // confirm
@@ -103,20 +108,23 @@ mixin AndroidSignerMixin on PermissionCheckMixin {
if (authType == AuthType.GET_PUBLIC_KEY) { if (authType == AuthType.GET_PUBLIC_KEY) {
// TODO should handle permissions // TODO should handle permissions
// var permissions = extra["permissions"]; // var permissions = extra["permissions"];
data["signature"] = await signer.getPublicKey(); var pubkey = await signer.getPublicKey();
data["signature"] = Nip19.encodePubKey(pubkey!);
data["package"] = "com.github.haorendashu.nowser"; data["package"] = "com.github.haorendashu.nowser";
} else if (authType == AuthType.SIGN_EVENT) { } else if (authType == AuthType.SIGN_EVENT) {
var tags = eventObj["tags"]; var tags = eventObj["tags"];
Event? event = Event(app.pubkey!, eventObj["kind"], tags ?? [], Event? event = Event(app.pubkey!, eventObj["kind"], tags ?? [],
eventObj["content"], eventObj["content"],
publishAt: eventObj["created_at"]); createdAt: eventObj["created_at"]);
log(jsonEncode(event.toJson()));
event = await signer.signEvent(event); event = await signer.signEvent(event);
if (event == null) { if (event == null) {
log("sign event fail");
return; return;
} }
data["signature"] = event.sig; data["signature"] = event.sig;
data["event"] = jsonEncode(event.toJson()); data["event"] = jsonEncode(event.toJson());
print("sig ${event.sig}"); log("sig ${event.sig}");
} else if (authType == AuthType.GET_RELAYS) { } else if (authType == AuthType.GET_RELAYS) {
// TODO // TODO
} else if (authType == AuthType.NIP04_ENCRYPT) { } else if (authType == AuthType.NIP04_ENCRYPT) {