fiatjaf
9f99b9827a
add notice about the new library.
2025-09-22 16:55:36 -03:00
clark
8d5fc324f7
fix(deleting): handle relay URLs with port numbers using SplitN
v0.19.1
2025-09-22 16:40:15 -03:00
Anthony Accioly
668c41b988
fix(blossom): handle nil BlobDescriptor in Get and Delete
...
Refine extension derivation logic by ensuring `bd` is not nil before
accessing its type.
v0.19.0
2025-09-08 16:06:24 -03:00
Anthony Accioly
3c802caff5
feat(blossom)!: add file extension parameter to Blossom hooks
...
This enhancement allows hooks to make extension-aware decisions for storage,
loading, and access control operations. The extension is intelligently derived
from MIME type detection, file magic bytes, or URL parsing.
Additionally improves MIME type handling by providing fallback to
"application/octet-stream" when extension-based detection fails as per
BUD-01.
BREAKING CHANGE: All Blossom hook functions now require an additional `ext` parameter:
- StoreBlob hooks now accept (ctx, sha256, ext, body) instead of (ctx, sha256, body)
- LoadBlob hooks now accept (ctx, sha256, ext) instead of (ctx, sha256)
- DeleteBlob hooks now accept (ctx, sha256, ext) instead of (ctx, sha256)
- RejectGet hooks now accept (ctx, auth, sha256, ext) instead of (ctx, auth, sha256)
- RejectDelete hooks now accept (ctx, auth, sha256, ext) instead of (ctx, auth, sha256)
2025-09-08 16:06:24 -03:00
George
e81416f41e
add ratelimit policy based on NIP-42 authentication
2025-08-23 16:07:21 -03:00
Jon Staab
e12d30f247
Fix panic on method name mismatch
2025-06-10 21:49:06 -03:00
fiatjaf
97bc365996
refactor @aaccioly's blossom redirect thing.
v0.18.2
2025-06-10 16:22:48 -03:00
Jon Staab
44e4b86955
Don't list rejectapicall in nip86 supported methods
2025-06-10 15:43:22 -03:00
Jon Staab
932825080e
Fix nil check
2025-06-10 15:43:22 -03:00
Jon Staab
aa81e17e22
Fix panic due to not handling an edge case
2025-06-10 15:43:22 -03:00
fiatjaf
034902c3e3
if there is an ephemeral hook the relay is never mute.
...
fixes https://github.com/fiatjaf/khatru/pull/53
2025-06-06 21:44:59 -03:00
Anthony Accioly
5705647c6b
fix(blossom): remove extra . when serving files without extension
...
Ensure the correct filename is constructed when serving content without
an extension
2025-06-03 18:31:53 -03:00
Anthony Accioly
b2607e787f
feat(docs): add redirection support details in Blossom usage guide
2025-06-03 18:31:53 -03:00
Anthony Accioly
011efe0dd2
feat(server): add functional options for BlossomServer configuration
...
Introduce `ServerOption` to configure `BlossomServer` with functional
options. Add `WithRedirectURL` to enable flexible redirect URL handling
with placeholders. Update `New` constructor to accept optional
configurations.
2025-06-03 18:31:53 -03:00
Anthony Accioly
16eee5cffb
feat(blossom): add redirect support for GET requests
2025-06-03 18:31:53 -03:00
fiatjaf
c5076b297d
handle files declared as .apk as .apk.
...
fixes https://github.com/fiatjaf/khatru/issues/50
2025-06-03 18:29:39 -03:00
Bitkarrot
1a5b498fb8
Update blossom.md ( #42 )
...
fix type 'Jut' to 'Just'
2025-05-09 15:15:59 -03:00
sudocarlos
b6da555807
blossom: return content-type in handleUpload() ( #46 )
2025-05-09 08:41:46 -03:00
sudocarlos
1ab44ab897
blossom: implement BUD-05 without optimizations ( #45 )
...
* blossom: implement BUD-05 without optimizations
* blossom: add redirect function, handle /media with 307 redirect to /upload
* blossome: remove duplicate /upload handle
* blossom: add content-length header to handleHasBlob()
* blossom: add content-type header to handleHasBlob()
* blossom: remove blossomRedirect() and use http.Redirect() for handleMedia() instead
v0.18.1
2025-05-08 10:29:26 -03:00
fiatjaf
3da898cec7
blossom: implement BUD-04
...
closes https://github.com/fiatjaf/khatru/issues/43
2025-05-06 00:44:45 -03:00
fiatjaf
cfbe484784
docs: show fox.
2025-04-28 15:45:07 -03:00
fiatjaf
583f712fe4
admin: normalize urls for nip86 checking.
v0.18.0
2025-04-17 08:02:25 -03:00
Jon Staab
28b1061166
Reject deleted events
2025-04-16 18:55:36 -03:00
Jon Staab
25f19ce46e
Store and serve delete events
2025-04-16 18:55:28 -03:00
fiatjaf
33545587b6
make it so ephemeral events respond with ok:false if no one is listening.
v0.17.8
2025-04-14 09:24:34 -03:00
Kay
214371f8bd
refactor(adding): check kind range with proper function.
2025-04-13 09:05:23 -03:00
fiatjaf
fbb40f3b74
use .Find() instead of .GetFirst() everywhere.
2025-04-04 23:07:18 -03:00
fiatjaf
d97a2f1cf2
initialScan()
v0.17.7
2025-04-04 17:55:16 -03:00
fiatjaf
c9a7d60543
remove event from expiration manager if it is deleted.
v0.17.6
2025-04-03 23:11:47 -03:00
fiatjaf
2bb6d4d29a
simplify WriteMessage, remove the defer since it's not needed.
2025-04-03 23:10:39 -03:00
fiatjaf
2292ce4a30
add missing return in repost protected clause.
2025-04-03 23:10:11 -03:00
fiatjaf
2ae219a34c
add khatru.IsInternal() for dealing with internal calls specifically in QueryEvents()
2025-04-03 23:06:57 -03:00
fiatjaf
8c9394993b
reject reposts that embed nip70 protected events.
...
in accordance with new stuff added to nip70 that makes some sense.
2025-03-28 18:08:49 -03:00
fiatjaf
850497956c
include checkid length check from @pippellia-btc
v0.17.5
2025-03-24 15:57:20 -03:00
andrewheadricke
28ce6cfb7a
ensure suspected blossom request hash does not have slashes in it
2025-03-24 15:23:00 -03:00
fiatjaf
f47282c745
get rid of base64x temporarily since it doesn't work on arm64.
v0.17.4
2025-03-19 15:02:56 -03:00
fiatjaf
f72dea346f
rename menu item on docs to say "blossom".
2025-03-17 13:38:35 -03:00
fiatjaf
51632dcc9f
update blossom example to use a different database.
...
closes https://github.com/fiatjaf/khatru/issues/36
2025-03-17 13:36:41 -03:00
andrewheadricke
6cc2477e89
fix blossom upload < 50bytes
2025-03-15 01:58:07 -03:00
fiatjaf
581c4ece28
updating go-nostr to fix sonic parser bug.
v0.17.3
2025-03-14 20:10:52 -03:00
fiatjaf
596bca93c3
go-nostr MessageParser string transition.
2025-03-12 00:53:19 -03:00
fiatjaf
650d9209c3
policies: nip70 enforcer.
v0.17.2
2025-03-11 17:42:27 -03:00
fiatjaf
0d736cff82
fix blossom authorization decoder.
v0.17.1
2025-03-11 17:32:12 -03:00
fiatjaf
44ed6f519d
use NewMessageParser() that allows sonic to be opted in with tags.
2025-03-11 17:32:04 -03:00
fiatjaf
db832d4255
use sonic json parser and other minor performance improvements.
v0.17.0
2025-03-07 21:47:34 -03:00
fiatjaf
625bde38c5
update go-nostr so CountEnvelope only has one filter, which simplies COUNT handling a lot, specially with HLL.
v0.16.0
2025-03-07 10:11:58 -03:00
fiatjaf
7c6031f4e5
resolve relative icon and banner urls in nip11 handler.
2025-02-23 18:21:23 -03:00
ZigBalthazar
6e224b9437
nip-86: stats, grant/revoke admin, listallowedevents and listdisallowedkinds
2025-02-19 12:50:21 -03:00
Kay
e9030a355c
nip-86: add generic handler.
2025-02-10 09:27:52 -03:00
fiatjaf
a6ed7bced0
do not cancel subscription context on eose, only on subscription close.
2025-02-09 20:46:53 -03:00