@@ -1630,6 +1630,8 @@ pub fn get_vscode_project_stats_in_range(
16301630}
16311631
16321632/// Aggregate per-domain statistics for a date range, excluding ignored domains.
1633+ /// `ended_at` is stored as UTC RFC3339; convert to local date before comparing
1634+ /// with the user-facing local date range.
16331635pub fn get_browser_domain_stats (
16341636 conn : & Connection ,
16351637 start_date : & str ,
@@ -1641,7 +1643,8 @@ pub fn get_browser_domain_stats(
16411643 COUNT(1) as visit_count,
16421644 MAX(ended_at) as last_visited_at
16431645 FROM browser_sessions
1644- WHERE ended_at >= ?1 AND ended_at < date(?2, '+1 day')
1646+ WHERE date(ended_at, 'localtime') >= ?1
1647+ AND date(ended_at, 'localtime') <= ?2
16451648 AND host NOT IN (SELECT host FROM browser_ignored_domains)
16461649 AND host != ''
16471650 GROUP BY host
@@ -1674,8 +1677,8 @@ pub fn get_browser_domain_stats_for_hour(
16741677 COUNT(1) as visit_count,
16751678 MAX(ended_at) as last_visited_at
16761679 FROM browser_sessions
1677- WHERE substr(ended_at, 1, 10 ) = ?1
1678- AND substr(ended_at, 12, 2 ) = ?2
1680+ WHERE strftime('%Y-%m-%d', ended_at, 'localtime' ) = ?1
1681+ AND strftime('%H', ended_at, 'localtime' ) = ?2
16791682 AND host NOT IN (SELECT host FROM browser_ignored_domains)
16801683 AND host != ''
16811684 GROUP BY host
@@ -1768,7 +1771,7 @@ pub fn get_browser_domain_today_seconds(conn: &Connection, host: &str, date: &st
17681771 let res: i64 = conn. query_row (
17691772 "SELECT COALESCE(SUM(duration_seconds), 0)
17701773 FROM browser_sessions
1771- WHERE host = ?1 AND ended_at >= ?2 AND ended_at < date(?2 , '+1 day') " ,
1774+ WHERE host = ?1 AND date(ended_at , 'localtime') = ?2 " ,
17721775 params ! [ host, date] ,
17731776 |row| row. get ( 0 ) ,
17741777 ) ?;
0 commit comments