mirror of
https://github.com/onsonr/sonr.git
synced 2025-03-10 21:09:11 +00:00
* **refactor: remove nebula static file serving** * **feat: Add login, register, and authorize sections** * **feat: implement registration form UI** * **refactor: abstract template rendering to ctx module** * **feat: add deployment target for Highway gateway** * **feat: migrate Highway gateway to Cloudflare Workers** * **feat: refactor nebula routes to components** * **chore(deps): remove unused dependencies** * **chore(deps): remove unused dependencies** * **feat: add user and relaying party entities** * **refactor: remove unused imports** * * **feat: add motion scale-in and opacity-in animations** * **refactor: move dwn and orm packages to internal** * **refactor: update imports to use relative paths** * **refactor: rename build targets for clarity** * **feat: add RelayingPartyEntity model** * **refactor: rename creds templates to credentials** * **refactor: remove unused entity model** * **refactor: move models to internal package** * **refactor: move models package to internal/orm** * **feat: implement broadcast channel context** * **feat: remove config upload step** * **feat: remove unused configuration files** * **feat: migrate authentication logic to workers** * **feat: remove cloudflared dependency** * **refactor: move client related routes to 'routes/client.go'** * **feat: implement macaroon middleware** * **refactor: move fetch package to cmd/motr** * **feat: remove auth and grant endpoints** * **docs: add conceptual descriptions to did module** <sub><a href="https://huly.app/guest/sonrhq?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsaW5rSWQiOiI2NzA4MTIyNmM3ZDZhNTZhOGY4ZGFjOTciLCJndWVzdCI6InRydWUiLCJlbWFpbCI6IiNndWVzdEBoYy5lbmdpbmVlcmluZyIsIndvcmtzcGFjZSI6InctcHJhZC1zb25yaHEtNjVlZjcyZDQtY2UyOGQ0ODJjNi00ZWY4ZDAifQ.j-w5jk5Ji-0vCkaxVaK8pDMIOhRsXmG7o6oZictoHYE">Huly®: <b>ENG-1057</b></a></sub>
45 lines
913 B
Go
45 lines
913 B
Go
//go:build js && wasm
|
|
|
|
package ctx
|
|
|
|
import (
|
|
"syscall/js"
|
|
|
|
"github.com/labstack/echo/v4"
|
|
)
|
|
|
|
type BroadcastContext struct {
|
|
echo.Context
|
|
Channel js.Value
|
|
}
|
|
|
|
func (c *BroadcastContext) BroadcastMessage(message string) {
|
|
c.Channel.Call("postMessage", message)
|
|
}
|
|
|
|
type JSHandler func(this js.Value, args []js.Value) interface{}
|
|
|
|
func UseBroadcastChannel(channelName string, handler JSHandler) echo.MiddlewareFunc {
|
|
var channel js.Value
|
|
|
|
return func(next echo.HandlerFunc) echo.HandlerFunc {
|
|
return func(c echo.Context) error {
|
|
if channel.IsUndefined() {
|
|
channel = js.Global().Get("BroadcastChannel").New(channelName)
|
|
channel.Call("addEventListener", "message", handler)
|
|
}
|
|
|
|
cc := &BroadcastContext{
|
|
Context: c,
|
|
Channel: channel,
|
|
}
|
|
return next(cc)
|
|
}
|
|
}
|
|
}
|
|
|
|
func PostBroadcastMessage(c echo.Context, message string) {
|
|
cc := c.(*BroadcastContext)
|
|
cc.BroadcastMessage(message)
|
|
}
|