28 Commits

Author SHA1 Message Date
phundrak e08210e52d docs: clarify documentation
Publish Docker Images / coverage-and-sonar (push) Successful in 10m21s
Publish Docker Images / build-docker (push) Successful in 7m37s
Publish Docker Images / push-docker (push) Successful in 21s
2026-06-06 16:10:58 +02:00
phundrak 3679c7e8cd feat(starttls): remove opportunistic value
This commit removes the `Opportunistic` value from the struct `StartTls`.
This value was strictly equivalent to `Always` and could potentially
cause confusion.
2026-06-06 16:10:58 +02:00
phundrak 3c86e9eb36 fix(server): fix TOCTOU race condition in tests 2026-06-06 15:49:19 +02:00
phundrak c700d65b34 style: format code
Publish Docker Images / push-docker (push) Has been cancelled
Publish Docker Images / build-docker (push) Has been cancelled
Publish Docker Images / coverage-and-sonar (push) Has been cancelled
2026-06-06 15:49:19 +02:00
phundrak fc8dc805a9 feat(RateLimit): add Retry-After header for 429 errors 2026-06-06 15:49:19 +02:00
phundrak 5b6dd0c4f7 fix(health): move test to dedicated test mod 2026-06-06 15:49:19 +02:00
phundrak b29a095a38 refactor(RateLimitConfig): replace magic values with struct method 2026-06-06 15:49:19 +02:00
phundrak 85621d9364 feat(contact): sanitize user-submitted data 2026-06-06 15:49:19 +02:00
phundrak 5baa73d272 fix: typo 2026-06-06 15:33:45 +02:00
phundrak ff6aa10d91 feat(logs): only activate json or pretty logs one at a time 2026-06-06 15:33:45 +02:00
phundrak 598af596c7 refactor: simplify code 2026-06-06 15:33:45 +02:00
phundrak 9f576d7509 fix(contact): sanatize user-supplied data in logs 2026-06-06 15:33:45 +02:00
phundrak 2216d7da58 fix(logs): make tracing target consistent 2026-06-06 15:33:45 +02:00
phundrak d4fdc2f468 refactor: better value cloning 2026-06-06 15:33:33 +02:00
phundrak dcb3dc60a4 fix(RateLimit): apply rate limiting based on client IP 2026-06-06 15:33:33 +02:00
phundrak b38e6110d2 feat(settings): proper CORS in production
If the backend starts in production mode with no `frontend_url` is set,
immediately panic and stop.
2026-06-06 15:33:33 +02:00
phundrak afd399b84f feat(SMTP): disallow unencrypted SMTP with credentials 2026-06-02 01:50:31 +02:00
phundrak b923f3bdb0 feat(OpenAPI): disable Swagger and OpenAPI specs in prod 2026-06-02 01:50:31 +02:00
phundrak 67b2e64b32 fix(contact): ignore empty honeypot values even if String exists 2026-02-04 20:53:18 +01:00
phundrak ce28426075 chore: rename project to bakit
Publish Docker Images / build-and-publish (push) Successful in 13m40s
2025-11-20 11:01:55 +01:00
phundrak c46ab8397c style: fix some clippy errors
Publish Docker Images / build-and-publish (push) Has been cancelled
2025-11-20 10:51:48 +01:00
phundrak 797ab461ab feat: send confirmation email to sender
When users submit a contact form, they now receive a confirmation
email acknowlledging receipt of their message. The backend also
continues to send a notification email to the configured recipient.

If the backend fails to send the acknowledgement email to the sender,
it will assume the email is not valid and will therefore not transmit
the contact request to the configured recipient.

Changes:
- Refactor `send_email()` to `send_emails()` that sends two emails:
  - Confirmation email from the submitter
  - Notification email to the configured recipient
- Add `From<T>` implementations of various errors for new error type
  `ContactError`.
- Errors now return a translation identifier for the frontend.
2025-11-16 02:12:21 +01:00
phundrak 71c4cf1061 chore: separate backend from frontend
Publish Docker Images / build-and-publish (push) Failing after 9m29s
2025-11-15 14:07:12 +01:00
phundrak 668e1e2a96 chore: delete backend
Initially, the backend was meant to cache calls to the GitHub API.
However, I decided to just cache them in the sessionStorage of the
visitor’s browser instead.
2023-03-22 11:46:09 +01:00
phundrak 924d3cced2 docs(backend): Document some functions and structures
Signed-off-by: Lucien Cartier-Tilet <lucien@phundrak.com>
2023-03-15 16:37:59 +01:00
phundrak 3448672fec chore(backend): cleaner code
Signed-off-by: Lucien Cartier-Tilet <lucien@phundrak.com>
2023-03-15 16:37:57 +01:00
phundrak a1f29c71f6 chore(backend): clearer names for some structures
Signed-off-by: Lucien Cartier-Tilet <lucien@phundrak.com>
2023-03-15 16:37:52 +01:00
phundrak 7f217641f0 feat(backend): add initial backend
Backend as is can query GitHub for the information that will be
necessary later on in the frontend's pages. It does not cache this
information yet though.

Signed-off-by: Lucien Cartier-Tilet <lucien@phundrak.com>
2023-02-09 12:13:51 +01:00