feat: send email notifications for missed messages

- New cron job in cluster
- Handle presence and other concerns
- Toggle in app to disable email notifications
- Handles other edge cases such as cooldown period
- Simple html email with simple message

Closes #117
This commit is contained in:
talksik
2026-04-09 14:15:34 -07:00
parent 6fe5af8d8d
commit 51c4c6c822
25 changed files with 725 additions and 29 deletions
+20
View File
@@ -0,0 +1,20 @@
# golang two stage build
FROM golang:1.25 AS first-stage
WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download && go mod verify
COPY . .
WORKDIR /app/cmd/emailnotifierjob
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o main
RUN ls
FROM alpine:latest AS second-stage
WORKDIR /app
COPY --from=first-stage /app/cmd/emailnotifierjob .
RUN echo "copied over binary to production stage"
CMD ["./main"]