Skip to content

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 16 Sep 14:16
· 188 commits to main since this release

TaskTick 0.1.1

Fixes LAN sign-in and removes the setup steps around it.

A self-hosted instance is normally reached on several addresses at once —
localhost, a LAN IP, a NAS hostname, a Tailscale name — while APP_URL can only
hold one. The auth origin check accepted only that one, so registration failed
with "Invalid origin" on every other address. That was the first screen a user
saw, which made a LAN deployment effectively unusable.

A private-network origin is now accepted automatically. This is safe rather
than merely convenient: the browser sets the Origin header and page script
cannot forge it, so a hostile public page always presents a public origin and
is still refused. A public hostname behind a reverse proxy is named explicitly
through BETTER_AUTH_TRUSTED_ORIGINS.

Setup is now zero-config. There is no .env file to create and no secret to
generate: the container creates its own signing secret on first boot and
persists it to the data volume, reusing it on every later start. docker
compose up -d is the whole installation.

Also in this release:

  • The healthcheck is declared once, by the image, rather than duplicated in
    docker-compose.yml.
  • Subscription links use the address you actually browsed to when APP_URL was
    left at its default, instead of pointing at localhost.
  • The entrypoint no longer uses set -o pipefail, which POSIX sh lacks and
    dash rejects — it worked on Alpine and would have failed elsewhere.
  • .env.example is entirely commented out. An uncommented placeholder secret
    is worse than none: it looks configured, and that value is published here.
    The server now warns loudly if it detects one.

Verified: 542 unit tests, plus 94 API, 14 page-render and 23 auth-origin checks
against a running server. The origin suite asserts both directions — that LAN
addresses are accepted AND that public ones, including 192.168.1.50.evil.com,
are still refused.

Still unverified, unchanged from 0.1.0: the published image has never been run
by a human, no live CalDAV provider has been exercised against it, and no real
iOS device pass has been done.


Full Changelog: https://github.com/ksmarty/tasktick/commits/v0.1.1