Skip to content

Add bounty notification support with geobrowser entity links#1

Merged
0xNeoDev merged 6 commits into
mainfrom
feat/bounty-notifications
Apr 9, 2026
Merged

Add bounty notification support with geobrowser entity links#1
0xNeoDev merged 6 commits into
mainfrom
feat/bounty-notifications

Conversation

@0xNeoDev
Copy link
Copy Markdown
Owner

@0xNeoDev 0xNeoDev commented Apr 9, 2026

Summary

  • Align TypeScript types with Rust BountyData payload: add space_name to BaseEvent, bounty_name/curator_name to bounty interfaces, make proposal_id optional on allocated/payout events
  • Linkify entity and space ID fields in Discord embeds as clickable geobrowser.io links
  • Add @geoprotocol/geo-sdk dependency
  • Migrate to Cloudflare Workers (Hono env bindings, wrangler.toml)
  • Upgrade biome config to 2.4.9 and apply formatting
  • Add bunfig.toml with 14-day minimumReleaseAge supply chain hardening (@geoprotocol/geo-sdk excluded)

Test plan

  • All 16 tests pass (bun test) — 6 new bounty-specific tests
  • tsc --noEmit passes
  • biome check . passes
  • Verify Discord embed rendering with a real webhook URL

0xNeoDev added 6 commits April 9, 2026 11:07
Move from process.env to Hono env bindings for Cloudflare Workers
compatibility. Pass discordWebhookUrl as a parameter to handleEvent
instead of reading it from a module-level constant.
Align TypeScript types with Rust BountyData: add space_name to
BaseEvent, bounty_name/curator_name to bounty interfaces, make
proposal_id optional on allocated/payout events. Linkify entity and
space IDs in Discord embeds to geobrowser.io. Add @geoprotocol/geo-sdk
dependency. Add 6 bounty-specific tests.
@0xNeoDev 0xNeoDev merged commit 14446d6 into main Apr 9, 2026
2 checks passed
@0xNeoDev 0xNeoDev deleted the feat/bounty-notifications branch April 9, 2026 18:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant