alpha
Login
or
Join now
geofox.org
/
publisher
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
A small go app to cross-post/publish to various social platforms.
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Overview
Issues
Pulls
Pipelines
publisher
/
internal
/
nostr
/
at
main
6 files
Geoffrey Richard
feat(nostr): emit per-relay progress via context sink
4mo ago
5a976461
nostr.go
feat(nostr): emit per-relay progress via context sink
4 months ago
nostr_test.go
Add quote/reply/repost of existing posts (Interact tab) Paste a post URL (Bluesky/Mastodon) or a Nostr identifier into the new Interact tab to reply to, repost, or quote an existing post. Publisher resolves the source, previews it, detects what the post allows (reply/quote restrictions), and performs the action — with a "try anyway" override. - internal/resolve: URL/identifier → platform detection → SourceRef with a preview and per-action capabilities. Bluesky via getPosts (viewer flags), Mastodon via search-resolve (quote_approval/visibility), Nostr via relay fetch (open protocol; NIP-70 note). Threads is preview-excluded (no URL→id API) but is a valid quote fan-out target. - Client primitives: Bluesky repost record / quote embed / reply-root; Mastodon reblog + native quote (4.5+); Nostr NIP-10 external-author replies, NIP-18 reposts (kind 6/16) and quote (q-tag + nostr: mention). - dispatch.Interact reuses the post/target/history/retry model. Reply and repost act only on the source platform; quote does a native quote there plus a link-quote (commentary + URL; njump.me for Nostr) to each selected fan-out platform. New POST /api/resolve and POST /api/interact. - store: additive interaction descriptor; history shows a reply/quote/repost badge linking to the source. Existing posting and auto-threading paths are unchanged (additive only).
5 months ago
progress_emit_test.go
feat(nostr): emit per-relay progress via context sink
4 months ago
reply_test.go
Add quote/reply/repost of existing posts (Interact tab) Paste a post URL (Bluesky/Mastodon) or a Nostr identifier into the new Interact tab to reply to, repost, or quote an existing post. Publisher resolves the source, previews it, detects what the post allows (reply/quote restrictions), and performs the action — with a "try anyway" override. - internal/resolve: URL/identifier → platform detection → SourceRef with a preview and per-action capabilities. Bluesky via getPosts (viewer flags), Mastodon via search-resolve (quote_approval/visibility), Nostr via relay fetch (open protocol; NIP-70 note). Threads is preview-excluded (no URL→id API) but is a valid quote fan-out target. - Client primitives: Bluesky repost record / quote embed / reply-root; Mastodon reblog + native quote (4.5+); Nostr NIP-10 external-author replies, NIP-18 reposts (kind 6/16) and quote (q-tag + nostr: mention). - dispatch.Interact reuses the post/target/history/retry model. Reply and repost act only on the source platform; quote does a native quote there plus a link-quote (commentary + URL; njump.me for Nostr) to each selected fan-out platform. New POST /api/resolve and POST /api/interact. - store: additive interaction descriptor; history shows a reply/quote/repost badge linking to the source. Existing posting and auto-threading paths are unchanged (additive only).
5 months ago
source.go
web: fixed-viewport app shell + Edit-split; api: live operator identity (v1.1.0) - Viewport: lock to a native app shell — body is a 100dvh flex column with overflow hidden, the glass top/bottom bars are non-scrolling, and <main> is the only scroll region; pinch/double-tap/focus zoom disabled. - Edit-split: the thread-review sheet can reshape segments (break-at-caret, merge-up) with live per-segment counts, saved back into the draft as \n---\n markers that internal/thread honors verbatim on send. - Live operator identity: new internal/identity service aggregates each platform's own profile (bluesky getProfile, mastodon verify_credentials, threads /me, nostr kind-0 + npub) concurrently, cached + fail-soft, exposed at GET /api/identity; the composer swaps placeholder avatar/name/handles for the real profile after boot. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
4 months ago
source_test.go
Add quote/reply/repost of existing posts (Interact tab) Paste a post URL (Bluesky/Mastodon) or a Nostr identifier into the new Interact tab to reply to, repost, or quote an existing post. Publisher resolves the source, previews it, detects what the post allows (reply/quote restrictions), and performs the action — with a "try anyway" override. - internal/resolve: URL/identifier → platform detection → SourceRef with a preview and per-action capabilities. Bluesky via getPosts (viewer flags), Mastodon via search-resolve (quote_approval/visibility), Nostr via relay fetch (open protocol; NIP-70 note). Threads is preview-excluded (no URL→id API) but is a valid quote fan-out target. - Client primitives: Bluesky repost record / quote embed / reply-root; Mastodon reblog + native quote (4.5+); Nostr NIP-10 external-author replies, NIP-18 reposts (kind 6/16) and quote (q-tag + nostr: mention). - dispatch.Interact reuses the post/target/history/retry model. Reply and repost act only on the source platform; quote does a native quote there plus a link-quote (commentary + URL; njump.me for Nostr) to each selected fan-out platform. New POST /api/resolve and POST /api/interact. - store: additive interaction descriptor; history shows a reply/quote/repost badge linking to the source. Existing posting and auto-threading paths are unchanged (additive only).
5 months ago