mirror of
https://github.com/nostr-protocol/nips.git
synced 2025-12-08 16:18:50 +00:00
Compare commits
8 Commits
editable
...
nh-editabl
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9d527dba15 | ||
|
|
c275ae74eb | ||
|
|
03a555beb5 | ||
|
|
93e6c3880b | ||
|
|
061d2ac47d | ||
|
|
5bcb2d834a | ||
|
|
4aa46562eb | ||
|
|
c0568fe8cc |
38
37.md
Normal file
38
37.md
Normal file
@@ -0,0 +1,38 @@
|
||||
NIP-37
|
||||
======
|
||||
|
||||
Editable Short Notes
|
||||
--------------------
|
||||
|
||||
`draft` `optional`
|
||||
|
||||
This NIP describes a flow for clients that want to support editable short notes without breaking the experience of clients that don't and keeping `kind:1` a safe place.
|
||||
|
||||
The idea is that editable notes are published as `kind:31000` notes that follow all the same rules of `kind:1`, except for the fact that they can be replaceable anytime.
|
||||
|
||||
```jsonc
|
||||
{
|
||||
"kind": 31000,
|
||||
"created_at": 1730820000,
|
||||
"content": "I like dogs",
|
||||
"tags": [
|
||||
["d", "c2huy3f"],
|
||||
// other kind1 tags
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Clients that want to support edits would automatically only publish `kind:31000` notes, then immediately publish `kind:1` notes that quote the `kind:31000` note.
|
||||
|
||||
```jsonc
|
||||
{
|
||||
"kind": 1,
|
||||
"created_at": 1730820000,
|
||||
"content": "naddr1...",
|
||||
"tags": [
|
||||
["q", "31000:...:c2huy3f"]
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Clients that support this NIP would then fetch the `kind:31000` and display it normally in place of the `kind:1`. Other clients would display the editable event embedded inside the `kind:1`.
|
||||
29
55.md
29
55.md
@@ -72,6 +72,35 @@ Set the Signer package name:
|
||||
intent.`package` = "com.example.signer"
|
||||
```
|
||||
|
||||
If you are sending multiple intents without awaiting you can add some intent flags to sign all events without opening multiple times the signer
|
||||
|
||||
```kotlin
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP or Intent.FLAG_ACTIVITY_CLEAR_TOP)
|
||||
```
|
||||
|
||||
If you are developing a signer application them you need to add this to your AndroidManifest.xml so clients can use the intent flags above
|
||||
|
||||
```kotlin
|
||||
android:launchMode="singleTop"
|
||||
```
|
||||
|
||||
Signer MUST answer multiple permissions with an array of results
|
||||
|
||||
```kotlin
|
||||
|
||||
val results = listOf(
|
||||
Result(
|
||||
package = signerPackageName,
|
||||
result = eventSignture,
|
||||
id = intentId
|
||||
)
|
||||
)
|
||||
|
||||
val json = results.toJson()
|
||||
|
||||
intent.putExtra("results", json)
|
||||
```
|
||||
|
||||
Send the Intent:
|
||||
|
||||
```kotlin
|
||||
|
||||
Reference in New Issue
Block a user