use datetime.now(timezone.utc) when updating an investigation timestamp
extend the timezone timestamp regression tests to cover InvestigationService.update()
Before / after
Before, InvestigationService.update() assigned last_updated_at with a naive UTC datetime.utcnow() value, while nearby service timestamp paths now use timezone-aware UTC values.
After, investigation updates store an aware UTC datetime, keeping the service layer consistent.
I also attempted python -m pytest flowsint-core\tests\services\test_timezone_timestamps.py. With PYTHONPATH=flowsint-core\src, collection reached project imports but stopped because this local workspace is missing passlib.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
## 📋 Pull Request Information
**Original PR:** https://github.com/reconurge/flowsint/pull/155
**Author:** [@Ghraven](https://github.com/Ghraven)
**Created:** 6/3/2026
**Status:** ✅ Merged
**Merged:** 6/3/2026
**Merged by:** [@dextmorgn](https://github.com/dextmorgn)
**Base:** `main` ← **Head:** `fix-investigation-aware-timestamp`
---
### 📝 Commits (1)
- [`60cfa16`](https://github.com/reconurge/flowsint/commit/60cfa16b8df674b72b567f43990d19d3b849df66) fix: use aware timestamp for investigation updates
### 📊 Changes
**2 files changed** (+27 additions, -2 deletions)
<details>
<summary>View changed files</summary>
📝 `flowsint-core/src/flowsint_core/core/services/investigation_service.py` (+2 -2)
📝 `flowsint-core/tests/services/test_timezone_timestamps.py` (+25 -0)
</details>
### 📄 Description
## Summary
- use `datetime.now(timezone.utc)` when updating an investigation timestamp
- extend the timezone timestamp regression tests to cover `InvestigationService.update()`
## Before / after
Before, `InvestigationService.update()` assigned `last_updated_at` with a naive UTC `datetime.utcnow()` value, while nearby service timestamp paths now use timezone-aware UTC values.
After, investigation updates store an aware UTC datetime, keeping the service layer consistent.
## Verification
- `python -m py_compile flowsint-core\src\flowsint_core\core\services\investigation_service.py flowsint-core\tests\services\test_timezone_timestamps.py`
I also attempted `python -m pytest flowsint-core\tests\services\test_timezone_timestamps.py`. With `PYTHONPATH=flowsint-core\src`, collection reached project imports but stopped because this local workspace is missing `passlib`.
---
<sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
📋 Pull Request Information
Original PR: https://github.com/reconurge/flowsint/pull/155
Author: @Ghraven
Created: 6/3/2026
Status: ✅ Merged
Merged: 6/3/2026
Merged by: @dextmorgn
Base:
main← Head:fix-investigation-aware-timestamp📝 Commits (1)
60cfa16fix: use aware timestamp for investigation updates📊 Changes
2 files changed (+27 additions, -2 deletions)
View changed files
📝
flowsint-core/src/flowsint_core/core/services/investigation_service.py(+2 -2)📝
flowsint-core/tests/services/test_timezone_timestamps.py(+25 -0)📄 Description
Summary
datetime.now(timezone.utc)when updating an investigation timestampInvestigationService.update()Before / after
Before,
InvestigationService.update()assignedlast_updated_atwith a naive UTCdatetime.utcnow()value, while nearby service timestamp paths now use timezone-aware UTC values.After, investigation updates store an aware UTC datetime, keeping the service layer consistent.
Verification
python -m py_compile flowsint-core\src\flowsint_core\core\services\investigation_service.py flowsint-core\tests\services\test_timezone_timestamps.pyI also attempted
python -m pytest flowsint-core\tests\services\test_timezone_timestamps.py. WithPYTHONPATH=flowsint-core\src, collection reached project imports but stopped because this local workspace is missingpasslib.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.