- Moved definition of `NostrMessage` into `messages` module
- Moved definition of `NostrEvent` into `messages` module
App
- Use `dnostr.messages` module
Client
- Use `dnostr.messages` module
Listener
- Use `dnostr.messages` module
Relays
- Use `dnostr.messages` module
- Added re-usable template mixin `LoggerSetup` to setup a logger and enable the debugging mode when the `-ddbg` flag is used during build time
Client
- Use `LoggerSetup`
Relays
- Use `LoggerSetup`
Ap
- Use `LoggerSetup`
- Added some testing relays
- Construct a new `NostrCLient` instance with `relay1`
- Post an event
NostrClient
- Constructor now takes in an array of `NostrRelay`s
- Implemented `goOnline()` which locks the relay list, starts each relay and unlocks the relay list
- Renamed `post(NostrPost)` to `event(NostrEVent)`
- Removed `createPost()`
- `NostrEvent` -> `NostrMessage` and `NostrPost` -> `NostrEvent`
- Updated `NostrEvent`'s `publicKey to `private`
- Updated `NostrEvent`'s constructor to `public`
- Added `serialize()` override
Relays
- Reconnections are still broken
- Added `connLock` to lock the web socket when dealing with reconections
- Overhauled the `attemptConnection(int)` code
- Added `setListener()`
- Ensured that `unsubcribe()`, `subscribe()` and `event()` all call `ensureConnected()` first
- `event(NostrMessage)` now sends the JSON
Listener
- Added `NostrListener` interface
- Added `gogga` as depdendency
App
- Now using the `gogga` library for logging
NostrRelay
- Now using the `gogga` library for logging
- Added a connect timeout
- `event()` now is `event(NostrEvent)` and takes in the event
NostrClient
- When running through relays to make a post call `relay.event(post)` with the post to post to said relay
- Added skeleton code for a nostr relay which will attempt to reconnect till a connection is achieved on the first try
NostrClient
- Represents a nostr client with a list of relays and associated cryptographic keys
NostrPost
- Represents a post
App
- Added some testing code to test web sockets