Commit Graph

14 Commits

Author SHA1 Message Date
Shivam Patel
4ee365cfc0 Fix RSS time filters and add draggable grid layout
Normalize pub_date to ISO 8601 on insert so SQLite datetime comparisons
work correctly. Migrate existing RFC 2822 dates. Change 1h filter to 12h.
Add react-grid-layout with persistent drag/resize and reset button.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 17:51:06 -05:00
Shivam Patel
717d52bd9a Add time filter pills to RSS feed widget
Adds since query param (1h/24h/7d/30d) to the RSS API route and
a matching TimeFilterPills row in the NewsFeed UI so users can
narrow the feed to recent items.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 17:25:39 -05:00
Shivam Patel
f95e28202d Overhaul RSS feed widget: persistence, multi-feed management, search, bookmarks
- Add rss_feeds + rss_items tables with indexes and HN default seed
- Add 5-min background RSS sync loop in monitor.js with 90-day prune
- New /api/rss/feeds route for feed CRUD with immediate fetch on add
- Rewrite /api/rss route with search, feed filter, pagination, read/bookmark PATCH
- Full NewsFeed component rewrite: feed manager, search bar, filter pills,
  read/unread tracking, bookmarks, favicons, auto-refresh with new items badge
- Remove placeholder widget, NewsFeed now spans 4 cols / 3 rows
- Add rss-parser deps to Dockerfile for standalone monitor
2026-02-09 04:50:06 -05:00
Shivam Patel
e47a719d79 Fix 24h bar timezone mismatch and add time-interval uptime calculation
Bars were all grey for 24h view because SQL bucket keys (UTC) never
matched frontend keys (local timezone). Added toUTCKey() helper to
generate UTC keys for all ranges. Replaced check-counting uptime with
time-interval method for 24h/7d: time between consecutive up checks
counts as uptime, intervals involving down checks count as downtime,
uncovered time is unknown.
2026-02-09 04:15:34 -05:00
Shivam Patel
d1fd790533 Fix bar glow not rendering in Tailwind v4
Use arbitrary property syntax [box-shadow:...] instead of shadow-[...]
which only sets the CSS variable without activating the composite declaration.
2026-02-09 03:42:04 -05:00
Shivam Patel
702d61bdef Overhaul uptime monitor: time ranges, bar glow, tooltips, degraded state, immediate ping
- Add 24H/7D/30D/1Y time range selector with dynamic SQL bucketing
- Add bar glow (colored box-shadow) for up/degraded/down states
- Replace native title tooltips with positioned tooltips showing uptime % and check counts
- Add "degraded" (amber) state for buckets with mixed up/down checks
- Immediate HEAD ping on service add so status appears without 60s wait
- Taller bars (h-3 list, h-6 modal), rounded-sm, hover:scale-y-[1.3]
- Increase list bar opacity from 50% to 70%
- Add DB index on uptime_logs(service_name, timestamp)
- Extend data retention from 90 to 400 days for yearly view
2026-02-09 03:28:24 -05:00
Shivam Patel
a0612d74b1 Fix country detail panel clipped by overflow-hidden ancestors
The dropdown was rendering inside the overflow-x-auto scroll container,
which forces overflow-y to clip too, making it invisible. Lifted the
detail panel above the scroll row as a separate component, with
selected state managed by GlobeCard so only one expands at a time.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 02:46:41 -05:00
Shivam Patel
9d8d34abb3 Add globe drag interaction and visitor country flag banner
Globe can now be dragged left/right to rotate (mouse + touch), with
auto-rotation resuming from the new position on release. Visitor API
aggregates hits by country/region/city, displayed as a scrolling
flag emoji banner at the bottom of the globe card with expandable
region breakdowns.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 02:39:30 -05:00
Shivam Patel
8e18bf64b2 Add scrollable widget, expand/collapse toggle, inline name editing
- Fix overflow by making card body scrollable with thin custom scrollbar
- Add expand/collapse chevron button toggling row-span-1 to row-span-2
- Add inline name editing on hover (pencil icon) with Enter/Escape/blur
- Add PATCH /api/services endpoint for renaming with log history update
- Add rename button in detail modal

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 02:23:19 -05:00
Shivam Patel
372ff8cd22 Add uptime monitor features: fix history bars, lifetime stats, detail modal, custom services
- Fix 24-bar history rendering to always show 24 uniform segments with gray fill for missing hours
- Add lifetime uptime % and avg latency to status API
- Add clickable detail modal with expanded stats, large history bar, and service removal
- Add monitored_services DB table with CRUD API (GET/POST/DELETE)
- Monitor reads services from DB each interval, seeds defaults on first run
- Add inline form to add custom services to track
- Extend log retention from 7 days to 90 days for lifetime stats

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 02:05:22 -05:00
Shivam Patel
d5ab2db926 Wire up visitor metrics from webserver DB and fix uptime monitoring
- Read visitors from /server_storage/visitors.db (webserver's DB) instead of
  admin dash's own table; geoip lookups at query time for globe markers
- Globe card now shows 24h, 7d, and all-time unique visitor counts
- Uptime monitor: Nextcloud via host.docker.internal for Docker networking,
  Website and Gitea monitored on public domains
- UptimeCard uses real hourly history bars instead of Math.random() mock
- docker-compose: mount /server_storage:ro, add extra_hosts for Linux compat

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 00:50:40 -05:00
Akshay Kolli
6bb3cea2aa Fixed weather location 2026-02-08 03:13:24 -05:00
Akshay Kolli
dd1a2ea200 Fixed and changes 2026-02-08 03:03:53 -05:00
Akshay Kolli
3f72118348 Initial commit 2026-02-08 02:32:45 -05:00