Add Timelog: show the timer in the tab title and simplify the code

This is the first commit of the project, at the state that runs on
timelog.minhtrannhat.com.

Changes in this state:
- Remove redundant UI text from the sidebar, timer and insights pages.
- Show the remaining time and tag in the browser tab title while a
  session runs.
- Put the shared record type and the due and end helpers in
  src/shared/record.ts.
- Remove the startup tag migration and the one-time Forest import
  script. The live data does not need them.
- Remove unused CSS, Playwright ignore rules and duplicate helpers.
- Do not track Forest CSV exports, because they contain private data.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
minhtrannhatandClaude Opus 5.5 committed 2026-11-05 00:42:58 -05:00
commit a6ca255835
38 files changed
+2069

No files matched your search

+36
View File
@@ -0,0 +1,36 @@
services:
web:
build:
context: .
dockerfile: Dockerfile.web
restart: unless-stopped
environment:
WEB_PORT: "3000"
WEB_HOST: 0.0.0.0
API_ORIGIN: http://api:3001
ports:
- "127.0.0.1:8092:3000"
depends_on:
- api
api:
build:
context: .
dockerfile: Dockerfile.api
restart: unless-stopped
environment:
API_PORT: "3001"
API_HOST: 0.0.0.0
DB_PATH: /data/timelog.sqlite
PUBLIC_ORIGIN: ${PUBLIC_ORIGIN}
GITHUB_CLIENT_ID: ${GITHUB_CLIENT_ID}
GITHUB_CLIENT_SECRET: ${GITHUB_CLIENT_SECRET}
GITHUB_ALLOWED_ID: ${GITHUB_ALLOWED_ID}
VAPID_PUBLIC_KEY: ${VAPID_PUBLIC_KEY}
VAPID_PRIVATE_KEY: ${VAPID_PRIVATE_KEY}
VAPID_SUBJECT: ${VAPID_SUBJECT}
volumes:
- timelog_data:/data
volumes:
timelog_data: