Files
transaction-tracker/pyproject.toml
Aaron Guise 59c0bbde0c
Some checks failed
create-release / build (push) Successful in 35s
CI / release (release) Failing after 1m31s
fix(tracker): is_processed now checks expires_at, not just file existence 🐛
Previously is_processed() returned True for any record file that existed,
relying entirely on cleanup_expired() (called at __init__) to delete stale
files. Because cleanup runs at container startup — before Akahu transactions
are fetched — any record that expired exactly on that startup would be deleted
and then immediately missed, letting the duplicate through.

Fix: is_processed() reads the expires_at field from the JSON and returns False
if the record has expired, regardless of whether cleanup has run.

Also adds migrate_ttl.py script to retroactively extend expires_at on existing
records that were written under a shorter TTL, and bumps version to 0.1.3.
2026-06-15 22:20:47 +12:00

23 lines
418 B
TOML

[project]
name = "transaction-tracker"
version = "0.1.3"
description = ""
authors = [
{name = "Aaron Guise",email = "aaron@guise.net.nz"}
]
readme = "README.md"
requires-python = ">=3.9,<3.14"
dependencies = [
]
[build-system]
requires = ["poetry-core>=2.0.0,<3.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.poetry.group.dev.dependencies]
pytest = "^8.3.5"
coveragepy = "^1.6.0"
setuptools = "^80.7.1"