Merged
Conversation
…data
- game_service: don't overwrite NOT NULL review fields with None when Steam
API returns no data; preserve existing values on update, default to 0 on create
- automation: session.rollback() after each failed step so a crash in scan
doesn't corrupt the session and block entry processing
- automation: log step failures to notification_service so errors are visible
in the dashboard activity feed, not only in server logs
…e.utc) Migrated 52 call sites across 21 files to use the timezone-aware datetime.now(timezone.utc) as required by Python 3.12+. SQLAlchemy callable defaults updated to lambda: datetime.now(timezone.utc). Also updated README changelog for v3.0.4. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ation Replaced datetime.utcnow() with datetime.now(timezone.utc) in all test files. Fixed test_core_events mock to patch datetime.now instead of datetime.utcnow, and updated the expected isoformat timestamp to include +00:00 offset. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…match All mapped DateTime columns now use timezone=True so SQLAlchemy returns timezone-aware datetimes, compatible with datetime.now(timezone.utc). No migration needed — SQLite DDL is unchanged (DATETIME). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… read SQLite stores datetimes as naive strings and strips timezone info on read. DateTime(timezone=True) alone does not fix this. TZDateTime wraps DateTime and calls .replace(tzinfo=timezone.utc) in process_result_value so all model fields return timezone-aware datetimes, making them compatible with datetime.now(timezone.utc) comparisons. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…_time Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Previously on: [push, pull_request] caused 4 runs per PR (2 jobs x 2 triggers). Now push only fires on master; PRs use pull_request only. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
in het chore/fix: datetime timezone migration + CI fix (v3.0.4)
What changed
Bug fix
for a game — review fields (
review_score,total_positive, etc.)now fall back to
0instead ofNoneDatetime migration (Python 3.12+)
datetime.utcnow()withdatetime.now(timezone.utc)across 21 source files and 19 test filesTZDateTimeTypeDecorator — SQLite strips timezone info on read,this decorator re-attaches
utcviaprocess_result_valueTZDateTimeCI
push+pull_requesttriggers).Push trigger now limited to
masteronly.Test plan
pytest)docker-publish.yml### Bug fixes