Skip to content
This repository was archived by the owner on Oct 1, 2026. It is now read-only.

Integrate camera testing, schedule time zones and retention preview - #59

Merged
KalyteraSystems merged 13 commits into
mainfrom
codex/merge-validation-20260930
Sep 30, 2026
Merged

KalyteraSystems merged 13 commits into
mainfrom
codex/merge-validation-20260930

Conversation

@KalyteraSystems

@KalyteraSystems KalyteraSystems commented Sep 30, 2026 •

Copy link
Copy Markdown
Owner

Result

Integrates completed feature PRs #45 (test saved camera profiles), #50 (explicit schedule time zone), and #57 (retention preview and visible partial failures) against current main while preserving the authors' commits. GitHub requires up-to-date feature branches; this owned integration branch meets that requirement without changing contributor branches.

Review found a scheduling regression: a weekly schedule without a time window threw instead of retaining its previous whole-day behavior. The integration restores that behavior. The new regression test failed with InvalidOperationException before the fix and now checks Monday coverage plus the following week's boundary.

Validation

Combined source, transferred with Git archive to an isolated Linux directory: locked restore PASS; Release build zero warnings/errors; all 170 tests passed (123 IPCamLapse, 47 embedded OpenCamInterop), none skipped; format verification PASS; dependency audit reported no known vulnerabilities. Original PR Windows/Ubuntu checks were green; this PR reruns both platforms on the complete merge result.

No real camera, installation, network or live data was changed.

Closes #25. Closes #33. Closes #34. Integrates #45, #50 and #57.

Status for the owner

Ready for source merge after current CI passes, under the owner's request to finish and merge pending work.

iibaranov-IG and others added 13 commits September 8, 2026 08:29
Addresses both review findings.

Deletion no longer treats a false existence check as proof of absence.
Directory.Exists and File.Exists return false when the lookup itself
fails as well as when the path is missing, so guarding each delete on
one meant a failed lookup skipped the delete and still counted a
completed deletion, dropping a session that was still on disk.

Deletes are now attempted unconditionally: a missing path is a no-op,
and a genuine failure surfaces as an exception rather than as silence.
Existence checks moved after the deletes, where they confirm the
postcondition #34 asks for -- both metadata and directory gone before
this counts. Anything left behind is reported as a failed ID and the
session stays in memory for a later run to retry.

The cleanup POST stored DeletedBytes, a long, in TempData. The default
Razor Pages serializer rejects that type, so persisting TempData on the
redirect threw and the POST returned 500 even for a zero-byte result.
It now crosses as an invariant-culture string and is parsed back the
same way in the view.

Regression coverage, each confirmed failing against the previous code:
failed metadata lookup, failed directory lookup, a silent delete that
leaves the file behind, and a POST/redirect test that goes through the
real TempData provider.
@KalyteraSystems KalyteraSystems changed the title Complete explicit schedule time zones and preserve whole-day schedules Integrate camera testing, schedule time zones and retention preview Sep 30, 2026
@KalyteraSystems
KalyteraSystems merged commit 543eb74 into main Sep 30, 2026
6 checks passed
@KalyteraSystems
KalyteraSystems deleted the codex/merge-validation-20260930 branch October 1, 2026 06:16
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

4 participants