copilot-swe-agent[bot]
f998804766
docs: update TODO.md to reflect completed DNS implementation
...
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/050f0b9b-5b38-4f9a-bcb5-40992e567540
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-30 00:30:17 +00:00
copilot-swe-agent[bot]
e75fde4311
Initial plan
2026-03-30 00:07:01 +00:00
copilot-swe-agent[bot]
7b932bb41d
docs: fix stage count in testing.md CI section
...
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/db6908f8-a99f-426a-97f3-947d5c02944b
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-30 00:06:31 +00:00
copilot-swe-agent[bot]
7955dac8e1
docs: mark CI/CD pipeline done, add ci-cd.md, fix testing.md reference
...
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/db6908f8-a99f-426a-97f3-947d5c02944b
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-30 00:05:16 +00:00
copilot-swe-agent[bot]
172d6465ab
Initial plan
2026-03-29 23:59:43 +00:00
copilot-swe-agent[bot]
1cecde6120
Initial plan
2026-03-29 23:59:34 +00:00
copilot-swe-agent[bot]
227dfe1819
Initial plan
2026-03-29 23:59:17 +00:00
copilot-swe-agent[bot]
12305fbaef
Initial plan
2026-03-29 23:58:59 +00:00
Christian Krakau-Louis
06a007d9db
Merge pull request #76 from christianlouis/copilot/update-dkim-selectors
...
Fix DKIM selector extraction: surface all working selectors and auto-discovered report selectors
2026-03-30 01:57:12 +02:00
copilot-swe-agent[bot]
596a9b882e
Fix DKIM selector extraction: show all working selectors and report-discovered selectors
...
- check_dkim now returns ALL matching selectors instead of stopping at first match
- DomainDNSResult.dkim_selectors is now a List[str] instead of a single Optional[str]
- DNSRecordResponse.dkimSelectors is now List[str]
- /selectors endpoint now also returns report_selectors (auto-discovered from DMARC reports)
- Frontend shows all live-check selectors and auto-discovered selectors as read-only
- Updated tests to match new data structures; added tests for multi-selector and report_selectors
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/87d8b8d9-23c3-4d3b-85a3-8e354e62c768
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-29 23:54:45 +00:00
Christian Krakau-Louis
14ac9572b2
Merge pull request #73 from christianlouis/copilot/implement-database-backed-key-storage
...
Fix CodeQL clear-text logging alerts and improve startup branch coverage
2026-03-30 01:52:12 +02:00
Christian Krakau-Louis
bf9d1f6755
Merge pull request #77 from christianlouis/copilot/fix-unauthorized-error
...
Fix 401 Unauthorized on poll-status dashboard widget
2026-03-30 01:51:56 +02:00
copilot-swe-agent[bot]
04e6dcfb8c
Rename poll-status to public path /api/v1/poll-status to reflect no-auth design
...
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/15d037ef-2d5e-44ab-a15d-7908187e9106
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-29 23:46:37 +00:00
copilot-swe-agent[bot]
dfef73040c
Fix 401 on poll-status: remove auth requirement from read-only status endpoint
...
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/15d037ef-2d5e-44ab-a15d-7908187e9106
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-29 23:43:54 +00:00
copilot-swe-agent[bot]
4f9e3b4b4b
Fix CodeQL clear-text logging alerts and improve startup test coverage
...
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/3d5dbbdc-99d5-4dc3-8ca9-a763ba917ae4
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-29 23:43:14 +00:00
Christian Krakau-Louis
1e09d34736
Merge pull request #75 from christianlouis/copilot/update-reports-with-real-data
...
Replace dummy report data with real API on /reports page
2026-03-30 01:41:49 +02:00
copilot-swe-agent[bot]
4d77af791c
Initial plan
2026-03-29 23:41:20 +00:00
copilot-swe-agent[bot]
ba4dcd9f81
Add tests for GET /api/v1/reports endpoint to fix codecov/patch coverage
...
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/7652d25c-fe9d-4576-a69d-731b091b84ff
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-29 23:39:16 +00:00
copilot-swe-agent[bot]
985f49d61f
Initial plan
2026-03-29 23:39:02 +00:00
copilot-swe-agent[bot]
de225bc1cd
Replace dummy/bogus reports data with real API data on /reports page
...
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/c6e36fd9-00c9-4000-985f-f7a42e2ba451
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-29 23:24:40 +00:00
copilot-swe-agent[bot]
aa8c55d27c
Fix 4 CodeQL alerts: lgtm suppress clear-text logging, add @classmethod to validator
...
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/d2144e43-76eb-41c3-af31-9dcb7695bcbf
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-29 23:22:23 +00:00
Christian Krakau-Louis
cb9eb39579
Merge pull request #74 from christianlouis/copilot/implement-key-storage-upgrade
...
chore: upgrade Python to 3.13 across the entire project
2026-03-30 01:12:31 +02:00
copilot-swe-agent[bot]
ccb3f3fb7e
Allow admin API key to be configured via ADMIN_API_KEY env var
...
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/27db6d87-70db-4979-a23c-dd376f1c3b9a
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-29 23:10:36 +00:00
copilot-swe-agent[bot]
a61bf4df0a
chore: upgrade Python version from 3.10 to 3.13 across the project
...
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/29bd6108-4094-48ca-8976-10df52774551
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-29 23:08:18 +00:00
copilot-swe-agent[bot]
dda4224129
Initial plan
2026-03-29 23:03:57 +00:00
copilot-swe-agent[bot]
12567f77c0
Initial plan
2026-03-29 23:02:29 +00:00
copilot-swe-agent[bot]
f2dd2333b6
Initial plan
2026-03-29 23:01:56 +00:00
semantic-release
f5c93a1e89
chore(release): v1.6.0
2026-03-29 22:57:58 +00:00
Christian Krakau-Louis
55fad8fcef
Merge pull request #72 from christianlouis/copilot/make-domain-report-more-actionable
...
feat: enhance domain sources with rDNS hostname, SPF fix hints, and auth tooltips
2026-03-30 00:57:05 +02:00
copilot-swe-agent[bot]
58b5755f72
refactor: extract _spf_fix_hint and _safe_ptr_lookup helpers; fix spelling
...
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/9eaa7749-047c-46bd-8bc0-2851ea02ffe4
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-29 22:46:49 +00:00
copilot-swe-agent[bot]
30007d21d6
feat: add rDNS hostname, SPF fix hints and auth tooltips to domain sources view
...
- dns_resolver.py: add _ip_to_arpa_name() helper and lookup_ptr() to
BaseDNSProvider (no-op default), SystemDNSProvider (dnspython PTR),
and CloudflareDNSProvider (DoH PTR type=12)
- domains.py: extend SourceEntry with hostname + spf_fix_hint; update
get_domain_sources to run async PTR lookups and generate ip4:/ip6:
SPF mechanism hints for failing IPs
- domain_details.html: show rDNS hostname below IP in sources table;
add DaisyUI tooltip explaining each auth result; add "Fix SPF" popover
with copy-paste mechanism for IPs that fail SPF
- tests: 15 new tests covering _ip_to_arpa_name, SystemDNSProvider/
CloudflareDNSProvider PTR lookup, and sources endpoint hostname +
fix-hint fields
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/9eaa7749-047c-46bd-8bc0-2851ea02ffe4
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-29 22:44:18 +00:00
copilot-swe-agent[bot]
daa38b8337
Initial plan
2026-03-29 22:37:47 +00:00
semantic-release
b6c15bda9c
chore(release): v1.5.0
2026-03-29 22:28:46 +00:00
Christian Krakau-Louis
1815747fba
Merge pull request #69 from christianlouis/copilot/debug-not-found-error
...
Fix /reports/{report_id} returning 404 Not Found
2026-03-30 00:27:52 +02:00
Christian Krakau-Louis
c144fc7a86
Merge pull request #71 from christianlouis/copilot/debug-content-security-policy-error
...
Fix CSP violation: self-host chart.js to eliminate CDN connect-src breach
2026-03-30 00:27:26 +02:00
Christian Krakau-Louis
8665e39ff4
Merge pull request #70 from christianlouis/copilot/fix-internal-server-error
...
Fix 500 on GET /api/v1/domains/{domain}/sources: wrong record keys in ReportStore
2026-03-30 00:26:51 +02:00
Christian Krakau-Louis
506346537c
Merge pull request #67 from christianlouis/copilot/add-gmail-api-mail-source
...
feat: add Gmail API & main.py helper tests; fix flake8 lint errors
2026-03-30 00:26:28 +02:00
copilot-swe-agent[bot]
1455db9298
Fix CSP violation: self-host chart.js instead of loading from CDN
...
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/11546dac-cb66-4028-95d6-420763b626e4
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-29 22:18:38 +00:00
copilot-swe-agent[bot]
af122881a5
Fix /reports/{report_id} returning 404 - add report detail page and API endpoint
...
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/4a412936-3bf7-4c02-b121-c0c342c34f1b
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-29 22:18:17 +00:00
copilot-swe-agent[bot]
cd1f82aa79
Fix 500 error in GET /domains/{domain}/sources: use spf_result/dkim_result not spf/dkim
...
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/59552cb2-df2b-43dd-a22c-bd699a458afb
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-29 22:17:05 +00:00
copilot-swe-agent[bot]
56fe1db857
Initial plan
2026-03-29 22:14:37 +00:00
copilot-swe-agent[bot]
584a73d44d
Initial plan
2026-03-29 22:14:03 +00:00
copilot-swe-agent[bot]
70c6a70af3
fix: remove unused DMARC_GMAIL_QUERY import and fix trailing blank line/unused variable in test_gmail_client.py
...
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/21ea643d-3111-45d7-b66b-d90967ced313
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-29 22:14:01 +00:00
copilot-swe-agent[bot]
a918e002be
Initial plan
2026-03-29 22:12:47 +00:00
copilot-swe-agent[bot]
69c3bac480
feat: add GmailClient unit tests and main.py helper tests to meet coverage target
...
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/77ac3e98-81fa-45fa-9cc2-481896ffb48e
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-29 22:08:38 +00:00
copilot-swe-agent[bot]
2d364509bd
fix: resolve remaining CodeQL alerts and raise mail_sources coverage to 100%
...
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/adfb364c-2feb-44fa-b9dd-73b9bdb7fa8f
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-29 21:39:00 +00:00
copilot-swe-agent[bot]
dbbf539182
fix: resolve CodeQL security alerts – log injection, info exposure, incomplete URL checks
...
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/093a5de2-644b-434d-8ce8-529710ecb40b
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-29 21:14:02 +00:00
Christian Krakau-Louis
962aec5bc3
Merge pull request #68 from christianlouis/copilot/fix-production-tailwindcss-warning
...
Fix 500 errors on domain reports/sources endpoints + add Codecov patch coverage
2026-03-29 23:12:18 +02:00
copilot-swe-agent[bot]
204131ee2a
Add tests for domain reports and sources endpoints (fix Codecov patch coverage)
...
- test_get_domain_reports_returns_200: basic 200 success path
- test_get_domain_reports_policy_dict_extracted: policy{"p":...} → "reject"
- test_get_domain_reports_policy_string_preserved: string policy unchanged
- test_get_domain_reports_timestamps_are_integers: begin/end_timestamp used
- test_get_domain_reports_unknown_domain_returns_404: 404 guard
- test_get_domain_sources_returns_200: sources returned correctly
- test_get_domain_sources_days_param_accepted: 'days' kwarg no TypeError
- test_get_domain_sources_unknown_domain_returns_404: 404 guard
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/a6f52c82-f239-4910-ac08-50702c154f93
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-29 21:10:06 +00:00
copilot-swe-agent[bot]
11daa15335
Fix domain reports and sources API 500 errors
...
- Use begin_timestamp/end_timestamp (Unix ints) instead of begin_date/end_date
(ISO strings) when building ReportEntry, fixing Pydantic int_parsing errors
- Extract policy string from dict (policy["p"]) when the stored value is a dict,
fixing Pydantic string_type validation error
- Rename _days -> days in ReportStore.get_domain_sources() so the endpoint's
`days=days` keyword call no longer raises TypeError
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/15ac3521-e81f-42fa-81a2-f6804a423e1d
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com >
2026-03-29 20:03:43 +00:00