* refactor: move .env to .env.example
* refactor(labrinth): allow setting SMTP port and TLS
This will help setting up labrinth for local development. You can now use a mock SMTP server such as smtp4dev. The TLS options will stay the same as before if set to `true`, and disabled when `false`.
Depends on #2883
* chore(labrinth): lint
* chore(labrinth): conflicts
* chore(labrinth): conflicts
* fix: use TLS port by default
Co-authored-by: AlexTMjugador<me@alegon.dev>
Co-authored-by: Alejandro González <7822554+AlexTMjugador@users.noreply.github.com>
Signed-off-by: Erb3 <49862976+Erb3@users.noreply.github.com>
* fix(labrinth): correct deafult SMTP port in .env
* feat(labrinth): expose all SMTP TLS settings
Replaced if/else with a switch statement. The new values for `SMPT_TLS` are `none`, `opportunistic_start_tls`, `requires_start_tls`, `tls`. When none of these values are supplied, it defaults to full TLS (`tls`), and throws a warning.
Resolves PR review
* fix(labrinth): correct SMTP TLS example .env setting
Signed-off-by: Erb3 <49862976+Erb3@users.noreply.github.com>
* fix(labrinth) SMTP tls env var check
Co-authored-by: Alejandro González <7822554+AlexTMjugador@users.noreply.github.com>
Signed-off-by: Erb3 <49862976+Erb3@users.noreply.github.com>
---------
Signed-off-by: Erb3 <49862976+Erb3@users.noreply.github.com>
Co-authored-by: Alejandro González <7822554+AlexTMjugador@users.noreply.github.com>
* Allow servers to be unprovisioned without issuing a refund
for very specific weird circumstances where a server gets stuck/etc; useful for support
* still create a charge
* Fix compile
* Fixes error when an admin tries transferring project ownership
* Fixes error when trying to delete a user when they previously have a transaction
Co-authored-by: Jai Agrawal <18202329+Geometrically@users.noreply.github.com>
* Fix not being able to connect to local friends socket
* Start basic work on tunneling protocol and move some code into a common crate
* Commonize message serialization logic
* Serialize Base62Ids as u64 when human-readability is not required
* Move ActiveSockets tuple into struct
* Make CI run when rust-common is updated
CI is currently broken for labrinth, however
* Fix theseus-release.yml to reference itself correctly
* Implement Labrinth side of tunneling
* Implement non-friend part of theseus tunneling
* Implement client-side except for socket loop
* Implement the socket loop
Doesn't work though. Debugging time!
* Fix config.rs
* Fix deadlock in labrinth socket handling
* Update dockerfile
* switch to workspace prepare at root level
* Wait for connection before tunneling in playground
* Move rust-common into labrinth
* Remove rust-common references from Actions
* Revert "Update dockerfile"
This reverts commit 3caad59bb474ce425d0b8928d7cee7ae1a5011bd.
* Fix Docker build
* Rebuild Theseus if common code changes
* Allow multiple connections from the same user
* Fix test building
* Move FriendSocketListening and FriendSocketStoppedListening to non-panicking TODO for now
* Make message_serialization macro take varargs for binary messages
* Improve syntax of message_serialization macro
* Remove the ability to connect to a virtual socket, and disable the ability to listen on one
* Allow the app to compile without running labrinth
* Clippy fix
* Update Rust and Clippy fix again
---------
Co-authored-by: Jai A <jaiagr+gpg@pm.me>