6
1
mirror of https://git.mills.io/saltyim/saltyim.git synced 2024-06-25 00:08:26 +00:00
Commit Graph

36 Commits

Author SHA1 Message Date
James Mills
85ed56db8d
Fixed a spot I missed with a remaining go-app import 2023-07-16 10:42:38 +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
ae26edfa42
Rename package to go.salty.im/saltyim 2023-02-28 08:37:50 +10: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
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
832fb124fe Improve the registration process, add feedback to the PWA's UX adn use an API for registration (#147)
Co-authored-by: James Mills <prologic@shortcircuit.net.au>
Reviewed-on: https://git.mills.io/saltyim/saltyim/pulls/147
Reviewed-by: xuu <xuu@noreply@mills.io>
Co-authored-by: James Mills <james@mills.io>
Co-committed-by: James Mills <james@mills.io>
2022-04-04 16:04:38 +00:00
James Mills
f3a847674c Add support for state for Service{} (#142)
Co-authored-by: James Mills <prologic@shortcircuit.net.au>
Reviewed-on: https://git.mills.io/saltyim/saltyim/pulls/142
2022-04-04 03:42:54 +00:00
James Mills
e8110e2a86 Use the new and improved with write-ahead-log (wal) support (#136)
Improves how inbox indices are peristed, hopefully much better now as the topic sequences are now a proper monotonic increasing integer, messages survive crashes/resrarts and so forth.

- [] Remove the `go.mod` replace directive after https://git.mills.io/prologic/msgbus/pulls/33 is merged

cc @xuu

Co-authored-by: James Mills <prologic@shortcircuit.net.au>
Reviewed-on: https://git.mills.io/saltyim/saltyim/pulls/136
Reviewed-by: xuu <xuu@noreply@mills.io>
2022-04-03 16:45:59 +00:00
James Mills
3fccb3ae5f Add Avatar service and cli for updating avatar on a broker (#116)
This PR also:

- Tidies up the default options and config
- Tidies up the service user code

Co-authored-by: James Mills <prologic@shortcircuit.net.au>
Reviewed-on: https://git.mills.io/saltyim/saltyim/pulls/116
2022-04-02 02:59:39 +00:00
xuu
b11d14a274 fix: avatar, add logging (#109)
Co-authored-by: xuu <me@sour.is>
Reviewed-on: https://git.mills.io/saltyim/saltyim/pulls/109
2022-03-31 21:19:45 +00:00
James Mills
764180a658 Fix Send() and ProxySend() (#105)
Co-authored-by: James Mills <prologic@shortcircuit.net.au>
Reviewed-on: https://git.mills.io/saltyim/saltyim/pulls/105
Reviewed-by: xuu <xuu@noreply@mills.io>
2022-03-31 10:40:40 +00:00
James Mills
95be492208 Add support for sender interfaces and the pwa to fallback to sending via a broker as fallback (#101)
Co-authored-by: James Mills <prologic@shortcircuit.net.au>
Reviewed-on: https://git.mills.io/saltyim/saltyim/pulls/101
Reviewed-by: xuu <xuu@noreply@mills.io>
2022-03-31 03:46:12 +00:00
James Mills
57a6ff5ec1 Add support for performing lookups via the broker we were served from (#99)
Depends on #95

Co-authored-by: James Mills <prologic@shortcircuit.net.au>
Reviewed-on: https://git.mills.io/saltyim/saltyim/pulls/99
2022-03-31 00:51:38 +00:00
mlctrez
969a263d06 support for contacts, multiple chat threads, and persistence (#77)
Co-authored-by: James Mills <prologic@shortcircuit.net.au>
Co-authored-by: James Mills <james@mills.io>
Co-authored-by: mlctrez <mlctrez@gmail.com>
Reviewed-on: https://git.mills.io/saltyim/saltyim/pulls/77
Co-authored-by: mlctrez <mlctrez@noreply@mills.io>
Co-committed-by: mlctrez <mlctrez@noreply@mills.io>
2022-03-28 21:49:01 +00:00
James Mills
5e22d087ee Make the service bot actually work finally (#73)
Co-authored-by: James Mills <prologic@shortcircuit.net.au>
Reviewed-on: https://git.mills.io/saltyim/saltyim/pulls/73
Reviewed-by: xuu <xuu@noreply@mills.io>
2022-03-27 05:25:09 +00:00
James Mills
bcbf7eeedc Fix daemon name :D (#72)
Co-authored-by: James Mills <prologic@shortcircuit.net.au>
Reviewed-on: https://git.mills.io/saltyim/saltyim/pulls/72
2022-03-27 03:04:47 +00:00
James Mills
5420bcde15 Fix svc bot so it attempts reconnect until successful (#70)
Co-authored-by: James Mills <prologic@shortcircuit.net.au>
Reviewed-on: https://git.mills.io/saltyim/saltyim/pulls/70
Reviewed-by: xuu <xuu@noreply@mills.io>
Co-authored-by: James Mills <james@mills.io>
Co-committed-by: James Mills <james@mills.io>
2022-03-27 02:11:40 +00:00
Jon Lundy
da56689e4d fix: stuff 2022-03-26 14:42:39 -06:00
James Mills
55f0823ad3 Fix CreateConfig() to be idempotent 2022-03-27 03:11:23 +10:00
James Mills
368577c99e Fix svc user (bot) so it actually starts 2022-03-27 02:59:23 +10:00
James Mills
3f025d1ebb Code cleanup 2022-03-27 01:55:44 +10:00
James Mills
f5d022df56 Code cleanup 2022-03-27 01:31:17 +10:00
James Mills
fb2c94dbb8 Properly log the Base RL 2022-03-27 01:19:40 +10:00
James Mills
072799a94d Code cleanup 2022-03-27 01:09:07 +10:00
xuu
38a6d71644 xuu/bot (#64)
Co-authored-by: Jon Lundy <jon@xuu.cc>
Co-authored-by: James Mills <prologic@shortcircuit.net.au>
Reviewed-on: https://git.mills.io/saltyim/saltyim/pulls/64
Co-authored-by: xuu <xuu@noreply@mills.io>
Co-committed-by: xuu <xuu@noreply@mills.io>
2022-03-26 14:43:05 +00:00
James Mills
323f09ff5c Add optional support for setting up a TLS listener with Let's Encrypt support (#61)
Same as https://git.mills.io/yarnsocial/yarn/pulls/785

Co-authored-by: James Mills <prologic@shortcircuit.net.au>
Reviewed-on: https://git.mills.io/saltyim/saltyim/pulls/61
2022-03-26 01:42:40 +00:00
James Mills
55d0fe7d51 Add ConfigHandler() to serve p builtin /.well-known/salty/:config configs for users (#60)
Co-authored-by: James Mills <prologic@shortcircuit.net.au>
Reviewed-on: https://git.mills.io/saltyim/saltyim/pulls/60
2022-03-25 14:42:56 +00:00
James Mills
eafc9f0865 Fix CORS support 2022-03-25 23:10:48 +10:00
James Mills
5c1fd1077b WIP: Fix for Mobile Safari 2022-03-25 16:49:42 +10:00
mlctrez
61e3b8e6bd initial work on configuration page 2022-03-24 13:39:38 -05:00
mlctrez
edcbecde11 initial goapp-mdc integration work 2022-03-24 13:38:41 -05:00
James Mills
02842fd49c pwa: Playing around with material design 2022-03-24 13:37:18 -05:00
James Mills
85613a4646 Fixed some missing routes for the PWA 2022-03-22 11:26:24 +10:00
James Mills
ce5ffbd687 Excempt /inbox/* from CSRF 2022-03-22 10:05:00 +10:00
James Mills
be4b4a5e9d Add a basic structure for a go-app PWA + integrated Broker (#36)
Co-authored-by: James Mills <prologic@shortcircuit.net.au>
Co-authored-by: Jon Lundy <jon@xuu.cc>
Reviewed-on: https://git.mills.io/prologic/saltyim/pulls/36
2022-03-21 22:27:35 +00:00