Goal
The goal is to bootstrap the project, familiarize ourselves with some of the technical details and constraints, and to build a functional prototype for the Receiver launcher. The prototype should be opened and closed using a floating launch button and we should be able to pass the user's connected wallet to the iframe.
Overview
Relay Receiver is implemented as an iframe that points at relay.cc. Most of the application functionality is implemented in the Relay repo. The functionality required in this repo is:
- window management
- communication between the Receiver window and the host site
Some technical preferences/details:
- This project and library should be pretty light and I'd like to keep things as straightforward as possible.
- Window management is a pretty straightforward global state kind of thing.
React.Context would probably work but I'd be ok with using zustand because I don't like Context and zustand is great.
- Vanilla CSS is probably ideal
comlink for the iframe to host site communication. comlink is small, battle-tested, and we're already using it in xmtp-hooks
- There's two primary kinds of data that need to flow between the host and the
iframe: open/close events and the user's connected wallet. I can/will provide more details about wallets.
References
Spec
More info coming soon.
Goal
The goal is to bootstrap the project, familiarize ourselves with some of the technical details and constraints, and to build a functional prototype for the Receiver launcher. The prototype should be opened and closed using a floating launch button and we should be able to pass the user's connected wallet to the
iframe.Overview
Relay Receiver is implemented as an
iframethat points atrelay.cc. Most of the application functionality is implemented in the Relay repo. The functionality required in this repo is:Some technical preferences/details:
React.Contextwould probably work but I'd be ok with usingzustandbecause I don't likeContextandzustandis great.comlinkfor theiframeto host site communication.comlinkis small, battle-tested, and we're already using it in xmtp-hooksiframe: open/close events and the user's connected wallet. I can/will provide more details about wallets.References
comlinkhttps://github.com/GoogleChromeLabs/comlinkSpec
More info coming soon.