tailcall icon indicating copy to clipboard operation
tailcall copied to clipboard

πŸš€ Tailcall Mini Hackathon: Bringing WASM to the Party with $2000 Bounty! πŸŽ‰

Open tusharmath opened this issue 1 year ago β€’ 18 comments

🌟 Calling All Code Wizards: Tailcall Mini Hackathon Awaits! πŸ§™β€β™‚οΈπŸ’»

We're on a quest to bring WASM to Tailcall, and we're rolling out the red carpet for developers far and wide! With a whopping $2000 bounty for the winner, this is your chance to dive into Rust, WebAssembly, and Cloudflare, and make a lasting impact. πŸ†πŸ’Ό

Your Challenge:

  • Bring WASM support to Tailcall for Cloudflare deployment.
  • Ensure no performance dip and full feature functionality.
  • Be the hero Tailcall needs!

Why You Can't Miss This:

  • $2000 Bounty: A grand prize for the winner to sweeten the deal.
  • Community and Collaboration: Join forces with fellow developers in our Discord community.
  • Gain Visibility: By starring our repository, you help boost its prominence and your own profile.
  • Real Impact: Your contribution could shape the future of API ecosystem.
  • Job Opportunity: Impress us, and you could land a job offer with Tailcall.

Join the Adventure:

  1. Star the Repository: A simple star can make a big difference. Show your support!
  2. Fork, Code, Conquer: Dive into the code and let your skills shine.
  3. Join Our Discord: Connect, collaborate, and celebrate your progress with us at https://discord.gg/Q2ZExpFCnA.

Ready to Start?

Are you ready to embark on this epic journey, claim the bounty, and etch your name in the annals of open-source history? Let's hackathon! πŸŒπŸš€πŸŽˆ


Don't just code; create a revolution. Star, join, code, and you could walk away $2000 richer! πŸ’«πŸ’°πŸŒˆ

tusharmath avatar Dec 14 '23 11:12 tusharmath

/bounty 2000$

tusharmath avatar Dec 14 '23 11:12 tusharmath

~~πŸ’Ž $2,000 bounty created by tailcallhq~~ ~~πŸ’Ž $300 bounty created by tailcallhq~~

~~πŸ™‹ If you start working on this, comment /attempt #750 along with your implementation plan~~ ~~πŸ‘‰ To claim this bounty, submit a pull request that includes the text /claim #750 somewhere in its body~~

~~πŸ“ Before proceeding, please make sure you can receive payouts in your country.~~ ~~πŸ’΅ Payment arrives in your account 2-5 days after the bounty is rewarded.~~ ~~πŸ’― You keep 100% of the bounty award.~~ ~~πŸ‘ If you go above and beyond by cleaning up or enhancing aspects beyond the scope of the PR, a tip may be awarded as a token of appreciation.~~ ~~πŸ™ Thank you for contributing to tailcallhq/tailcall!.~~ ~~πŸ™‹β€β™‚οΈ Join our discord channel if you need help.~~

~~πŸ‘‰ Add a bounty β€’ Share on socials~~

Attempt Started (GMT+0) Solution
🟒 @ayewo Dec 14, 2023, 12:07:19 PM WIP
🟒 @Rutik7066 Dec 14, 2023, 12:39:05 PM WIP
πŸ”΄ @puneetkathar1 Dec 14, 2023, 1:16:28 PM WIP
πŸ”΄ @A-N-uraag Dec 14, 2023, 3:23:21 PM WIP
🟒 @nikhilxe Dec 14, 2023, 4:54:41 PM WIP
🟒 @ssddOnTop Dec 16, 2023, 6:46:43 AM #750
🟒 @artech-git Dec 29, 2023, 3:23:14 PM WIP
🟒 @tusharmath #1041

algora-pbc[bot] avatar Dec 14 '23 11:12 algora-pbc[bot]

:loudspeaker: IMPORTANT NOTICE :loudspeaker: NOTE: We will open this issue for everyone to try, as an exception. :tada: :sparkles:

tusharmath avatar Dec 14 '23 11:12 tusharmath

/attempt #750 βœ‹

  1. What’s the deadline?
  2. How about making it FCFS?
Options

ayewo avatar Dec 14 '23 12:12 ayewo

/attempt #750

Options

Rutik7066 avatar Dec 14 '23 12:12 Rutik7066

Hi @tusharmath. Is there any deadline for this?

Rutik7066 avatar Dec 14 '23 12:12 Rutik7066

/attempt #750

Options

puneetkathar1 avatar Dec 14 '23 13:12 puneetkathar1

/attempt #750

Options

A-N-uraag avatar Dec 14 '23 15:12 A-N-uraag

/attempt #750 βœ‹

  1. What’s the deadline?
  2. How about making it FCFS?
Options

Can we collaborate on this?

nikhilxe avatar Dec 14 '23 16:12 nikhilxe

/attempt #750 βœ‹

  1. What’s the deadline?
  2. How about making it FCFS?
Options

Can we collaborate on this?

@ayewo

nikhilxe avatar Dec 14 '23 18:12 nikhilxe

@tusharmath As discussed in issue #381, the primary challenge in achieving WebAssembly (WASM) compatibility lies with the use of Tokio. Tokio, being designed for asynchronous I/O operations and threading, is not directly compatible with the WebAssembly environment.

The specific concern is that the entire logic of the tailcall functionality relies on Tokio, making it incompatible with the constraints of WASM. I'm seeking your input and suggestions on potential approaches to address this compatibility issue. Do you have any recommendations or alternative strategies for adapting the code to make it WASM-compatible without relying on Tokio?

puneetkathar1 avatar Dec 14 '23 18:12 puneetkathar1

Can we collaborate on this?

@nikhilxe Too late! I've already accepted someone else's offer to collaborate.

ayewo avatar Dec 14 '23 19:12 ayewo

There is no deadline. Whoever finishes it first shall get the prize :)

@puneetkathar1 There are going to be parts that will need to be abstracted away specially for wasm compatibility. The meat of the application doesn't change much. Tokio is basically used only in the egress ie http client and we swap that with any client that's support by wasm. The ingress will be powered by cloudflare's SDK, so nothing to worry there.

tusharmath avatar Dec 15 '23 12:12 tusharmath

/attempt #750

Options

ssddOnTop avatar Dec 16 '23 06:12 ssddOnTop

Hello @ssddOnTop

I've encountered several errors while attempting to run wasm-pack build in the above commit by you. I understand that you've made some changes to the libraries, and I'm curious to know if the functionality in the desktop version remains consistent.

I was trying to work on this too, my approach was to experiment with WASM version, ensuring that the desktop version remains unchanged. I would greatly appreciate any insights or guidance you can provide regarding your approach to handling these aspects.

puneetkathar1 avatar Dec 17 '23 10:12 puneetkathar1

Hello @ssddOnTop

I've encountered several errors while attempting to run wasm-pack build in the above commit by you. I understand that you've made some changes to the libraries, and I'm curious to know if the functionality in the desktop version remains consistent.

I was trying to work on this too, my approach was to experiment with WASM version, ensuring that the desktop version remains unchanged. I would greatly appreciate any insights or guidance you can provide regarding your approach to handling these aspects.

The normal version matches main branch exactly and passes all teats. I have WASM function working separately.

Edit: you should run the wasm-pack build command in workers directory instead of root dir.

ssddOnTop avatar Dec 17 '23 11:12 ssddOnTop

/attempt #750

Options

artech-git avatar Dec 29 '23 15:12 artech-git

πŸ’‘ @ssddOnTop submitted a pull request that claims the bounty. You can visit your bounty board to reward.

algora-pbc[bot] avatar Feb 03 '24 08:02 algora-pbc[bot]

πŸŽ‰πŸŽˆ @ssddOnTop has been awarded $2,000! 🎈🎊

algora-pbc[bot] avatar Feb 03 '24 09:02 algora-pbc[bot]

/tip 300$ @ssddOnTop

tusharmath avatar Feb 03 '24 09:02 tusharmath

πŸŽ‰πŸŽˆ @ssddOnTop has been awarded $300! 🎈🎊

algora-pbc[bot] avatar Feb 03 '24 09:02 algora-pbc[bot]

shouldn't this be closed @tusharmath?

wesleymatosdev avatar Feb 05 '24 16:02 wesleymatosdev

There is some related work that's pending. I thought of releasing the bounty a little sooner as a token of appreciation πŸ™‚

tusharmath avatar Feb 05 '24 16:02 tusharmath

Action required: Issue inactive for 30 days. Status update or closure in 7 days.

github-actions[bot] avatar Mar 06 '24 17:03 github-actions[bot]

Issue closed after 7 days of inactivity.

github-actions[bot] avatar Mar 13 '24 17:03 github-actions[bot]