xyzo / help

← Back to Map

User demographics, top popular stories & news sources, community contributions, and real-time AI problem tracking.

πŸ”₯ Most Popular Articles

User Clicks & Views
Loading articles...

🌐 User Geography & Origins

Unique Visitors
Loading visitors...

πŸ—ΊοΈ Visitor Locations

Global
β›Ά Click to expand

πŸ“Š Daily Unique Visitors

Last 30 Days
Loading daily stats...

πŸ“° Top Popular News Sources

User Reach
Loading sources...

🀝 Top Community Helpers

Fixes, Votes & Reports
Loading contributors...

🌍 Global Coverage

Languages & Countries
Loading coverage data...

πŸŽ™οΈ Audio News

Podcasts & Radio
Loading audio data...
πŸ€– XYZO Neural Problem Tracker & Common Issue Search Gemma-4 AI Neural Engine

Continuously monitors and synthesizes common user reports, client JS exceptions, zero-result search gaps, and location fix suggestions into actionable problem clusters.

Loading AI problem clusters...

Activity by Type (24h)

Batched news_interactions. Click a row for recent raw events.

Loading...

Locations & Community

Recent Activity

Loading...

Trending Cities & Top Locations

Cities with the most user activity in the last 24 hours.

Loading locations...

Recent Searches

Loading searches...

Visitor Traffic & Geography

Visitors by Country

Loading...

Recent Visitors by City

Loading...

Recent Visitor Log

Loading...

Coverage Gaps

Cities with high user interest but low article coverage.

Loading...

Real-time view of workers, AI activity, system performance, and live logs.

Auto-refresh: ON

Worker Pool Status

Loading worker status...

Active Jobs

Loading active jobs...

Recent AI Activity

Articles extracted, categorized, and geocoded in the last hour.

Loading recent activity...

Discovery Status

Loading discovery status...

Search Activity (1h)

Loading recent searches...

System Performance & Resource Usage

Operations by Resource Usage

Loading...

Slowest Operations (24h)

Loading...

API Endpoint Response Times

Loading...

System Logs & Admin Replies

Loading logs...

Post Reply

Source Rankings & Quality

Loading rankings...

Manage & Search Active Sources

Submit a News Website

Paste any news website URL and we'll automatically find its RSS feed and add it.

Discover New Sources

Search the internet for RSS feeds and news websites using AI discovery.

Coverage Requests

User-submitted requests for news coverage in specific areas.

Loading coverage requests...

Quality Reports

User-reported issues with articles.

Loading reports...

πŸ€– AI Flag Reports

Flags analyzed by AI with auto-fix actions.

Loading AI flags...

Community Requests

Loading requests...

πŸ“° Source Suggestions

User-submitted news source URLs for review. Approve to add to the source database.

Loading source suggestions...

πŸ› System Errors

Client-side JavaScript errors captured from user sessions. AI analyzes these periodically to identify patterns and suggest fixes.

Loading errors...

Inspect browser environment, screen capabilities, session state, and API latency.

Browser
Detecting...
Screen & Viewport
Detecting...
WebGL Graphics
Detecting...
Network Status
Detecting...

πŸ’» System & Client Environment

Loading browser environment...

πŸ’Ύ Local Storage & Session State

Loading storage details...

⚑ API Connection & Latency Tester

Click "Run API Latency Test" to check network latency.

πŸ› Submit Bug Report with Auto-Attached System Diagnostics

πŸ› Bug Fixes & Changelog

Fixed Search Clear Restores All Markers
Date: 2026-09-04
Issue: After searching for something (e.g., "health"), clicking the X to clear would keep showing only health-related markers instead of restoring all markers from the viewport.
Root Cause: The clearSearch() function was clearing event markers but keeping the existing pinMarkers (which contained only search results). It wasn't re-fetching viewport pins.
Fix: Modified clearSearch() to call pinMarkers.clear() before fetchPinsForViewport(), ensuring fresh viewport pins are loaded when search is cleared.
Fixed Category Filter Case Sensitivity Bug
Date: 2026-09-04
Issue: Category filters stored in localStorage could have mixed case (e.g., "Tech"), causing the filter matching to fail since marker categories are always lowercased. This resulted in markers not showing even when their category was filtered.
Root Cause: toggleCategoryFilter() stored keys as-is, and loadCategoryFilters() didn't validate against known legend keys.
Fix: Modified toggleCategoryFilter() to always store lowercased keys. Modified loadCategoryFilters() to validate against known LEGEND_GROUPS keys and reject unknown categories. Added CATEGORY_ROLLUPS constant to define parent-to-subcategory mappings.
Fixed Missing CATEGORY_ROLLUPS Definition
Date: 2026-09-04
Issue: JavaScript error: ReferenceError: CATEGORY_ROLLUPS is not defined when trying to filter markers by category.
Root Cause: The CATEGORY_ROLLUPS constant was referenced in syncLayers() but never defined.
Fix: Added the CATEGORY_ROLLUPS constant at the top of app.js, mapping parent buckets (like "technology") to their subcategories (["ai", "cybersecurity", "gaming", "telecom"]).
Fixed Popup Too Large on Mobile
Date: 2026-09-04
Issue: Clicking markers on mobile devices showed popups that were too large for the screen.
Fix: Added CSS media queries for .popup-inner at 600px and 480px breakpoints to constrain popup width to calc(100vw - 48px) and limit max-height. Also added mobile-specific styles for feedback dialog.
Fixed Missing /api/pins/map Route
Date: 2026-09-04
Issue: Map pins not loading - console showed "pins/map fetch failed 400". The frontend calls /api/pins/map for world/continent view but this route was missing from the API.
Fix: Added the /api/pins/map endpoint to api/src/routes/pins.ts - a lightweight endpoint that returns only the fields needed for canvas rendering.
Fixed Feedback Dialog Missing CSS
Date: 2026-09-04
Issue: The feedback dialog (triggered when clicking "Fix" on a story) had no CSS styling defined.
Fix: Added complete CSS for .feedback-dialog and related classes to the stylesheet, matching the visual language of the quick-flag dialog.
Fixed Coverage & Discover Buttons Not Working
Date: 2026-09-04
Issue: Clicking the "Coverage" button (search cities and discover news coverage) did nothing. The "Discover" button also had no functionality.
Root Cause: Neither coverage-btn nor discover-btn had any event listeners attached in app.js. The buttons were defined in index.html but not wired up.
Fix: Added event handlers for both buttons. The Coverage button now opens the Coverage panel with city search functionality (via /api/locations/search), allowing users to fly to cities and discover news. The Discover button opens the Explore Region panel.
πŸ“ Note: Bug reports can also be submitted using the form above. For technical details and test cases, see XYZO Test Suite.

πŸš€ System Restarts & Deployments

A log of service restarts, deployments, and configuration changes. Events are recorded automatically at startup and when configuration changes are made.

Filter:
Loading restart history…
🌍

XYZO β€” Map the World in Real Time

Visualizing global information on a live interactive map.

Our Mission

XYZO is building the most comprehensive, real-time map of global news ever created. We ingest, analyze, and geolocate news from thousands of sources across every continent.

Author & Creator β€” Asher πŸ‘‹

Hi, I'm Asher, the author and creator of xyzo.org.

Feel free to contact me if you have any questions, or if you'd like to help or collaborate on our AI & geolocation algorithms, search code, or have specific UI recommendations!

Facebook (asherisme) LinkedIn (asherisme)
Open Standalone About Page β†’