fix(state): marker and file cleanup overwriting it's own filtering

This commit is contained in:
2026-02-19 14:22:17 +00:00
parent 8ad9917754
commit 3b21a5276e

View File

@@ -71,28 +71,31 @@ def remove_marker_from_state(marker_name: str) -> None:
def cleanup_state(max_age_seconds: float) -> None: def cleanup_state(max_age_seconds: float) -> None:
state = load_state() state = load_state()
files = state.get("files", [])
markers = state.get("markers", [])
now = datetime.datetime.now().timestamp() now = datetime.datetime.now().timestamp()
# Remove files that do not exist files = state.get("files", [])
state["files"] = [ markers = state.get("markers", [])
file for file in files
if os.path.exists(file["path"]) # First filter by existence
files = [
f for f in files
if os.path.exists(f["path"])
] ]
# Remove files and markers beyond max age # Then filter by age
state["files"] = [ files = [
file for file in files f for f in files
if now - file["timestamp"] <= max_age_seconds if now - f["timestamp"] <= max_age_seconds
] ]
markers = [
state["markers"] = [ m for m in markers
marker for marker in markers if now - m["timestamp"] <= max_age_seconds
if now - marker["timestamp"] <= max_age_seconds
] ]
state["files"] = files
state["markers"] = markers
write_state(state) write_state(state)
def create_state_file_if_needed() -> None: def create_state_file_if_needed() -> None: