From 290daf51e269597b56ca6aa03d98a1b75b34fb9b Mon Sep 17 00:00:00 2001 From: KavyanshKhaitan2 Date: Fri, 11 Sep 2026 06:45:30 +0530 Subject: [PATCH 1/3] Fix docker build failure from broken static image URL in dashboard.html The Tailwind arbitrary-value class used a path relative to 'static/images/twisted_logo.png', which resolves relative to the compiled CSS file's own location (static/css/dist/styles.css), not STATIC_URL. whitenoise's collectstatic then failed trying to resolve css/dist/static/images/twisted_logo.png. Using an absolute /static/ path fixes it. Co-Authored-By: Claude Sonnet 5 --- twisted/twisted_site/templates/client/dashboard.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/twisted/twisted_site/templates/client/dashboard.html b/twisted/twisted_site/templates/client/dashboard.html index 62c1ec4..2c1faf4 100644 --- a/twisted/twisted_site/templates/client/dashboard.html +++ b/twisted/twisted_site/templates/client/dashboard.html @@ -4,7 +4,7 @@
+ class="fixed inset-0 z-0 bg-[url('/static/images/twisted_logo.png')] pointer-events-none select-none my-auto justify-self-center opacity-60 bg-contain bg-scale scale-95 drop-shadow-lg shadow-primary" />
{% if user.profile.is_staff %} From 6dc694bf4a89732320b46c930040af7b32167cfc Mon Sep 17 00:00:00 2001 From: KavyanshKhaitan2 Date: Fri, 11 Sep 2026 06:38:42 +0530 Subject: [PATCH 2/3] Journal logs --- twisted/twisted_site/views/client/journal.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/twisted/twisted_site/views/client/journal.py b/twisted/twisted_site/views/client/journal.py index cffcaaa..351d0d5 100644 --- a/twisted/twisted_site/views/client/journal.py +++ b/twisted/twisted_site/views/client/journal.py @@ -5,7 +5,8 @@ from django.shortcuts import get_object_or_404, redirect, render from django.views import View -from twisted_site.models import Journal, Project, TemplateContext +from ...models import Journal, Project, TemplateContext +from ...slack import log_to_channel HACKATIME_MAX_LOGGABLE_MINUTES = 6 * 60 IMAGE_REGEX = r"!\[([^\]]*)\]\([^)]+\)" @@ -77,6 +78,8 @@ def post(self, request: HttpRequest, project_id: int) -> HttpResponse: context={"content": content}, ) + log_to_channel(f":haiku: *New journal for {project.project_name}!\n- {journal.time_logged} minutes") + journal = Journal( project=project, type="hackatime", @@ -224,6 +227,6 @@ def post(self, request: HttpRequest, journal_id: int) -> HttpResponse: if journal.type != "untracked": return redirect("dashboard") - _ = journal.delete() + journal.delete() return self.get(request, journal_id=None, context={"success": True}) From 14af5b24c74f4829489d366e7440315bac6f964c Mon Sep 17 00:00:00 2001 From: KavyanshKhaitan2 Date: Fri, 11 Sep 2026 06:47:33 +0530 Subject: [PATCH 3/3] Update gitignore --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 98a633c..87264dc 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,5 @@ twisted/*.sqlite3 .env twisted/.env + +.logs \ No newline at end of file