Commit Graph

362 Commits

Author SHA1 Message Date
xuu 2818d54383 fix: vuln check results (#195)
Reviewed-on: https://git.mills.io/saltyim/saltyim/pulls/195
Reviewed-by: James Mills <james@mills.io>
Co-authored-by: xuu <me@sour.is>
Co-committed-by: xuu <me@sour.is>
2024-03-03 16:49:21 +00:00
James Mills 85ed56db8d
Fixed a spot I missed with a remaining go-app import 2023-07-16 10:42:38 +10:00
James Mills cb7441efa7
Fix Dockerfile to remove non-existent internal/web paths 2023-04-23 20:01:03 +10:00
James Mills 4289174761
Update version of kaniko used to build docker images 2023-04-23 20:00:19 +10:00
James Mills 376de27023 Split out the PWA into its own repository (#194)
Co-authored-by: James Mills <prologic@shortcircuit.net.au>
Reviewed-on: https://git.mills.io/saltyim/saltyim/pulls/194
2023-04-23 09:31:43 +00:00
James Mills 97e1ae2a65 Upgrade msgbus to v0.1.21 (#193)
Fixes #24

Co-authored-by: James Mills <prologic@shortcircuit.net.au>
Reviewed-on: https://git.mills.io/saltyim/saltyim/pulls/193
2023-04-23 02:37:59 +00:00
James Mills 11973f1257
Trigger CI 2023-03-27 00:54:29 +10:00
James Mills d5c9b6d825
Fix client.Read() context usage 2023-03-12 15:17:57 +10:00
James Mills 60abd2fae6
Fix Docker image 2023-03-12 14:43:50 +10:00
xuu f351c73319 fix: use default client for testing (#191)
Co-authored-by: Jon Lundy <me@sour.is>
Reviewed-on: https://git.mills.io/saltyim/saltyim/pulls/191
Reviewed-by: James Mills <james@mills.io>
Co-authored-by: xuu <xuu@noreply@mills.io>
Co-committed-by: xuu <xuu@noreply@mills.io>
2023-03-05 22:05:24 +00:00
James Mills 778133f763
Fix typo 2023-02-28 08:47:14 +10:00
James Mills ae26edfa42
Rename package to go.salty.im/saltyim 2023-02-28 08:37:50 +10:00
James Mills 15a64de828 Fix CI by using my local exec runner(s) (#190)
Co-authored-by: James Mills <1290234+prologic@users.noreply.github.com>
Reviewed-on: https://git.mills.io/saltyim/saltyim/pulls/190
2023-01-28 07:07:19 +00:00
lyse c67f5c69b2 Fix typos (#186)
Disclaimer: I have no idea what I'm looking at.

Some tests fail, but I believe they have nothing to do with my changes
(fingers crossed). `make certs` doesn't work, I don't have `minica`
installed and don't want to litter my system with even more stuff. It's
bad enough that I got a shitload of Go dependencies downloaded when
running `make test`.

Co-authored-by: Lysander Trischler <twtxt@lyse.isobeef.org>
Reviewed-on: https://git.mills.io/saltyim/saltyim/pulls/186
Reviewed-by: James Mills <james@mills.io>
Co-authored-by: lyse <lyse@noreply@mills.io>
Co-committed-by: lyse <lyse@noreply@mills.io>
2023-01-27 23:24:19 +00:00
James Mills f3b7f14e5e Add .Blobs() service object to the client for easier usage of the Blob API (#184)
Co-authored-by: James Mills <1290234+prologic@users.noreply.github.com>
Reviewed-on: https://git.mills.io/saltyim/saltyim/pulls/184
2023-01-27 23:20:49 +00:00
James Mills ba77f9e32c Refactor read options with functional options for easier usage (#183)
Co-authored-by: James Mills <1290234+prologic@users.noreply.github.com>
Reviewed-on: https://git.mills.io/saltyim/saltyim/pulls/183
2023-01-27 23:19:52 +00:00
James Mills 57970ff67f Add resolver tests (#182)
Co-authored-by: James Mills <1290234+prologic@users.noreply.github.com>
Reviewed-on: https://git.mills.io/saltyim/saltyim/pulls/182
2023-01-27 23:14:03 +00:00
James Mills 36f9b25ec9 Add format tests (#181)
Co-authored-by: James Mills <1290234+prologic@users.noreply.github.com>
Reviewed-on: https://git.mills.io/saltyim/saltyim/pulls/181
2023-01-27 23:13:51 +00:00
James Mills 09a513e2ec Fix CI (hopefully) by splitting our build and test (#185)
Co-authored-by: James Mills <1290234+prologic@users.noreply.github.com>
Reviewed-on: https://git.mills.io/saltyim/saltyim/pulls/185
2023-01-27 14:44:14 +00:00
James Mills 14857206cb Add client e2e integration tests (#180)
Co-authored-by: James Mills <1290234+prologic@users.noreply.github.com>
Reviewed-on: https://git.mills.io/saltyim/saltyim/pulls/180
2023-01-26 22:30:16 +00:00
James Mills 8cdda7118d Fix tests (#179)
Co-authored-by: James Mills <1290234+prologic@users.noreply.github.com>
Reviewed-on: https://git.mills.io/saltyim/saltyim/pulls/179
2023-01-26 04:27:20 +00:00
James Mills ddd16c202f Add blob service and support for signing and verifying HTTP requests (#178)
Alternative to #177

The way this works is:

Client:

- Client creates a normal `net/http.Request{}` object using the `Request()` function in `utils.go`. The `http.Request{}` object is then signed using the Client's Ed25519 private key.
- The HTTP Method and Path (_note this is important_) are hashed, as well as the request body (if any) using the FNV128a hashing algorithm.
- This hash is then signed by the Client's's Ed25519 private key.
- The resulting signature is then encoded to Base64 (_standard encoding_) and added to the HTTP headers as a `Signature:` header.
- In addition the Client's Ed25519 public key is added to the HTTP headers as `Signer:`

Server:

- The server calculates the same FNV128a hash of the HTTP Request Method and Path and the body (if any)
- The server decodes the HTTP header `Signature:`
- The server then uses the Client's Ed25519 public key in the HTTP header `Signer:` to verify the signature of the `Signature:` HTTP header which gives us back the original FNV128a hash the Client calculated for the request.
- The server then compares the Client's hash with the expected hash to see if they compare equally.

Co-authored-by: James Mills <1290234+prologic@users.noreply.github.com>
Co-authored-by: Jon Lundy <jon@xuu.cc>
Reviewed-on: https://git.mills.io/saltyim/saltyim/pulls/178
Reviewed-by: xuu <xuu@noreply@mills.io>
2023-01-25 23:05:29 +00:00
James Mills 96d8afcbef
Add package level docs 2023-01-14 12:48:22 +10:00
James Mills 2e3907a3b3
Add doc strings for all the thigns 2023-01-14 12:46:47 +10:00
James Mills ae2199bff4
Fix version handling 2023-01-14 12:05:29 +10:00
James Mills 03c863c028
Fix version output when no version is injected (i.e: go install) 2023-01-14 10:38:53 +10:00
James Mills a42f9e85ec
Add an improved version string contianing the commit timestamp 2023-01-14 10:27:14 +10:00
James Mills 95663345d4 Adds support for multiple chats (#174)
Closes #146

See attached screenshots.

Co-authored-by: James Mills <prologic@shortcircuit.net.au>
Co-authored-by: James Mills <1290234+prologic@users.noreply.github.com>
Reviewed-on: https://git.mills.io/saltyim/saltyim/pulls/174
Reviewed-by: xuu <xuu@noreply@mills.io>
2023-01-11 22:58:07 +00:00
James Mills 801493a85b
Update logo 2022-10-24 14:40:30 +10:00
xuu 318c3275b5 fix: Make register lookup broker if default to blank (#175)
Co-authored-by: Jon Lundy <jon@xuu.cc>
Reviewed-on: https://git.mills.io/saltyim/saltyim/pulls/175
Reviewed-by: James Mills <james@mills.io>
Co-authored-by: xuu <xuu@noreply@mills.io>
Co-committed-by: xuu <xuu@noreply@mills.io>
2022-10-15 21:45:13 +00:00
James Mills 37135ce6af
Fix possible nil map from State.Load() 2022-10-05 13:21:55 +10:00
James Mills 7c149128b4
Fix README logo by centering it 2022-09-25 13:00:55 +10:00
James Mills c91603b11c
Fix logo extension 2022-09-25 12:58:48 +10:00
James Mills 2d6abaf918
Fix README (Fixes #74) 2022-09-25 12:52:51 +10:00
James Mills 5253269b19 Fix consistent coloring of nicks using taigrr's colorhash library (#173)
Fixes #81

Co-authored-by: James Mills <prologic@shortcircuit.net.au>
Reviewed-on: https://git.mills.io/saltyim/saltyim/pulls/173
2022-09-25 02:29:27 +00:00
Aoi Koizumi (古泉 あおい) bc12377edb
Add OpenBSD instructions, based on my personal setup. Update docs/Deployment.md
Signed-off-by: Aoi Koizumi (هڈ¤و³‰ مپ‚مپٹمپ„) <koizumi.aoi@kyoko [dash]
project [dot] wer [dot] ee>
2022-08-27 12:25:23 +10:00
James Mills 2b32d9539f
fix: Fix links to Deployment and Development guides in README 2022-06-12 12:52:03 +10:00
James Mills b227f57b7a
feat: Add development guide with screenshots and refactor docs 2022-06-12 12:49:19 +10:00
James Mills 7420ff47cc
Update PWA 2022-05-23 00:10:37 +10:00
James Mills c145c27325
Update CHANGELOG for 0.0.22 2022-05-14 01:01:00 +10:00
James Mills 8a18428b87
Fix regression in 330701d causing register to no longe rwork 2022-05-14 01:00:15 +10:00
James Mills cea7e7fcf6
Update CHANGELOG for 0.0.21 2022-05-07 08:50:44 +10:00
James Mills 9c5fec5caf Fix bug when endpoint is invalid or not configured proeprly and fails lookup (#171)
Fixes #169

This now behaves like this:

```
/Users/prologic/Projects/saltyim/saltyim # ./salty-chat write prologic@mills.io test
WARN[0000] error looking up user endpoint                error="error looking up user testing123@shortcircuit.net.au: non-2xx response received: 404 Not Found"
error initializing client: unable to find your endpoint for testing123@shortcircuit.net.au
/Users/prologic/Projects/saltyim/saltyim #
```

Co-authored-by: James Mills <prologic@shortcircuit.net.au>
Reviewed-on: https://git.mills.io/saltyim/saltyim/pulls/171
Reviewed-by: m u t e f a l l <mutefall@noreply@mills.io>
2022-05-06 22:44:06 +00:00
James Mills dc432abdc3 Fix handling for invalid or no endpoint passed to make-user (#170)
See #169 which this patch partially fixes one issue found but not the most critical one (hence this PR does not close the issue)

Co-authored-by: James Mills <prologic@shortcircuit.net.au>
Reviewed-on: https://git.mills.io/saltyim/saltyim/pulls/170
Reviewed-by: m u t e f a l l <mutefall@noreply@mills.io>
2022-05-06 21:48:07 +00:00
James Mills 09826d2caa
Update CHANGELOG for 0.0.20 2022-05-02 12:26:27 +10:00
James Mills ee86b96ee5
Fix goreleaser config 2022-05-02 12:24:32 +10:00
James Mills 9727105c4b
Update CHANGELOG for 0.0.20 2022-05-02 12:19:31 +10:00
mlctrez 504c66f7c1 make outbox.state same as client.state to allow persisting last message retrieved (#168)
After testing quite a bit on the saltyim/app client, I tracked down why all outbox messages were being pulled every time a new client starts up.

I believe the outbox client state should be shared with the parent client to allow the last message retrieved from the oubox to be persisted.

Co-authored-by: mlctrez <mlctrez@gmail.com>
Reviewed-on: https://git.mills.io/saltyim/saltyim/pulls/168
Reviewed-by: James Mills <james@mills.io>
Co-authored-by: mlctrez <mlctrez@noreply@mills.io>
Co-committed-by: mlctrez <mlctrez@noreply@mills.io>
2022-04-29 21:59:40 +00:00
m u t e f a l l 12fc010ce7 docker swarm deployment and dns documentation (#167)
this changeset addresses the need for a simple docker swarm deployment and setup of dns records on cloudflare.

Co-authored-by: m u t e f a l l <mutefall@noreply.mills.io>
Reviewed-on: https://git.mills.io/saltyim/saltyim/pulls/167
Reviewed-by: James Mills <james@mills.io>
Co-authored-by: m u t e f a l l <mutefall@noreply@mills.io>
Co-committed-by: m u t e f a l l <mutefall@noreply@mills.io>
2022-04-26 01:44:51 +00:00
James Mills af206c0ace
Fix certs Makefile target for local dev and fix alternate subject name 2022-04-15 18:11:46 +10:00