Compare commits

..

2 Commits

Author SHA1 Message Date
fiatjaf
fe013dfb75 add custom field. 2025-12-17 19:35:36 -03:00
fiatjaf
18f9fe9ecf profile hypercustomization. 2025-12-17 19:25:20 -03:00
2 changed files with 65 additions and 7 deletions

34
55.md
View File

@@ -107,13 +107,6 @@ Send the Intent:
launcher.launch(intent)
```
### Initiating a connection
- Client send a get_public_key `Intent`
- Signer responds with the user `pubkey` and it's `packageName`
- Client saves the `pubkey` and `packageName` somewhere and NEVER calls `get_public_key` again
- Client now can send `content resolvers` and `Intents` for the other methods
#### Methods
- **get_public_key**
@@ -306,6 +299,33 @@ Clients SHOULD save the user pubkey locally and avoid calling the `get_public_ke
#### Methods
- **get_public_key**
- params:
```kotlin
val result = context.contentResolver.query(
Uri.parse("content://com.example.signer.GET_PUBLIC_KEY"),
listOf(hex_pub_key),
null,
null,
null
)
```
- result:
- Will return the **pubkey** in the result column
```kotlin
if (result == null) return
if (it.getColumnIndex("rejected") > -1) return
if (result.moveToFirst()) {
val index = it.getColumnIndex("result")
if (index < 0) return
val pubkey = it.getString(index)
}
```
- **sign_event**
- params:

38
F1.md Normal file
View File

@@ -0,0 +1,38 @@
NIP-F1
======
Profile Hypercustomization
--------------------------
`draft` `optional`
This NIP describes a new event `kind:19999` that can be used for multiple optional and weird forms of profile customization, such as extra colors, extra pictures, preferences and background music.
It's completely optional and clients may choose to fulfill only some of these tags, or none. Clients may also allow users to turn off these customizations or not.
## Tags
| Name | Value type | Description |
| --- | ---- | ----------- |
| `background-color` | hex value | To be used by clients when displaying the user profile page |
| `foreground-color` | hex value | Idem |
| `background-music` | URL | Music that optionally plays when the profile is opened |
| `priority_kinds` | stringified kind number (variadic) | Kinds to be displayed by default in the user profile page (rather than `kind:1` always) |
| `custom` | string name, then value | An arbitrary field to be displayed along with the profile |
## Example
```yaml
{
"kind": 19999,
"tags": [
["background-color", "#1a1a2e"],
["foreground-color", "#eee444"],
["background-music", "https://example.com/music/profile-theme.mp3"],
["priority_kinds", "20", "30023", "21", "10009"],
["custom", "favorite fruit", "banana"],
["custom", "pets?", "no"]
],
// ...other fields
}
```