Skip to content

Conversation

@draphy
Copy link
Owner

@draphy draphy commented Jan 29, 2026

Issues

Fixes #60

Description

Removed top-level await in crypto.ts that caused failures in bundlers and runtimes that don't support it (e.g., Convex). Converted to lazy initialization pattern.

Also includes:

  • Input validation for VAPID keys, subscription fields, payload size, and TTL bounds
  • Payload padding edge case fix
  • CLI simplified to use subcommands (npx @pushforge/builder vapid)
  • npm publishing migrated to OIDC trusted publishing
  • READMEs rewritten with live demo section, comparison table, platform examples, and matching header design
  • Logo replaced with optimized webp
  • Unit tests added

How Has This Been Tested?

  • Unit tests covering crypto, payload encryption, request building, input validation, and CLI
  • Live demo verified at pushforge.draphy.org on Cloudflare Workers

Checklist

  • I have performed a self-review of my own code
  • I have added tests to cover my changes

@draphy draphy self-assigned this Jan 29, 2026
@draphy draphy added bug Something isn't working documentation Improvements or additions to documentation enhancement New feature or request Setup web Improvement Feature CI Refactor test Doc seo labels Jan 29, 2026
@linear
Copy link

linear bot commented Jan 29, 2026

@draphy draphy merged commit 2f9026d into master Jan 29, 2026
6 checks passed
@github-actions
Copy link

🎉 This PR is included in version 2.0.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

@github-actions
Copy link

🎉 This PR is included in version 2.0.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working CI Doc documentation Improvements or additions to documentation enhancement New feature or request Feature Improvement Refactor released seo Setup test web

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Remove top level await in crypto.ts

2 participants