Changelog

Platform Evolution

Tracking the milestones, updates, and architectural shifts of thehmars news portal.

Portal Update: July 25, 2026

v0.0.3: Hybrid SSR Upgrade, Resilient Pagination, and Automated Search Indexing

This release introduces a major architectural upgrade from full Static Site Generation (SSG) to Hybrid Server-Side Rendering (SSR). This change optimizes build times while preserving full search and detail page coverage for the historical archive of 1,700+ articles.

Architecture & Framework

  • Hybrid SSR Migration: Configured Astro with @astrojs/node (standalone mode) to statically pre-render the homepage and the top 500 articles while dynamically serving older archive articles at request-time.
  • Port and Host Binding: Resolved Render deployment port-binding conflicts by explicitly binding the Node server to host 0.0.0.0 via env overrides.
  • Dependency Resolver Bypass: Addressed strict peer dependency conflicts with the Pagefind integration by upgrading the build configuration to install packages with --legacy-peer-deps.

Pagination & Layout Alignment

  • Desks Synchronization: Restructured the /local and /local/[region] feeds to match the homepage standard (12 grid cards, 8 list rows). Removed sidebars from regional state portals for a cleaner 3-column-wide catalog.
  • Airtight Deduplication: Implemented client-side existingHrefs Set checking on astro:page-load across all landing hub templates (homepage, local hub, regional desks, category desks, and topic feeds). This prevents duplicate card injection and keeps lists clean.
  • View Transitions Restoration: Added DOM-sync state calculations that automatically fast-forward index pagination when users navigate back/forward in browser history cache.

Automated Search Indexing

  • Pagefind Search Stubs: Designed custom build-time integrations (searchStubGenerator and searchStubCleaner) in astro.config.mjs.
  • Complete Index Coverage: The generator temporarily extracts frontmatter and clean text from 1,445 dynamic posts to build HTML index stubs. Pagefind indexes these files, expanding search coverage to 2,239 total pages. Stubs are immediately deleted post-indexing to keep production builds lean.
  • Canonical Routing: Embeds canonical tags in search stubs to ensure click-throughs redirect users directly to dynamic request-time SSR routes.

Server Stability & Health Monitoring

  • Lightweight /health Endpoint: Created a dynamic endpoint at /health returning minimal JSON payloads to allow keep-alive pingers (like cron-job.org and UptimeRobot) to query the service without hitting response size limits.
  • 24/7 Inactivity Bypass: Keeps Render’s 15-minute container inactivity timer active to eliminate 30-50 second cold-start response delays for public visitors.

Monetization & Ads

  • Site-Wide Adsterra Integration: Integrated Adsterra display banner ads (300x250 iframe units) and native advertising rows across the entire website, including the homepage, category desks, and article pages.
  • Regional Desk Alignment: Subsequently expanded these ad units to the /local and /local/[region] feeds during layout optimizations to ensure complete monetization coverage across regional and state desks.

Portal Update: June 22, 2026

v0.0.3: Facebook Cleanup & Path Refactoring

This update introduces automated Facebook sharing cleanup utilities, fixes Graph API deprecations, aligns auto-share paths, and consolidates the core pipeline documentation.

📲 Facebook Sharing & Ledgers

  • Automated Cleaner Tool: Introduced clean_fb.py to recursively match active website articles, clean up orphaned records in local JSON ledgers (shared.json, pending_shares.json, articles.json), and automatically delete matching posts from the Facebook Page feed and schedule queue.
  • Graph API Deprecation Fix: Resolved deprecate_post_aggregated_fields_for_attachement errors by querying the Graph API’s attachments nested fields instead of the deprecated link parameter.

️ Auto-Share Refactoring

  • Partitioned News Paths: Aligned facebook_publisher.py and scrape_news.py to read and write articles dynamically from the new partitioned directory structures (src/content/news/[scope]/) instead of the deprecated src/content/blog/ path.
  • Trigger Alignment: Updated .github/workflows/facebook_share.yml to trigger deployments and staggered sharing workflows on changes under src/content/news/**.

📚 Documentation & Orchestrator Sync

  • Engine Doc Consolidation: Moved detailed phase design guides (phase_1.md through phase_5.md) and ARCHITECTURE.md to the core infra engine repository under docs/ and integrated links in the engine’s main README.
  • Worker Scope Isolation: Rewrote SOURCES.md in each worker repository (theHmars-local, theHmars-national, theHmars-global) to exclusively document feed registries belonging to that worker’s active geographic tier.
  • Run Schedule Exposure: Documented the central pipeline orchestrator cron run schedule (executing daily at 05:53, 13:53, and 21:53 IST) in both the website and engine README files.

Portal Update: June 22, 2026

v0.0.2: Pipeline Resilience & Duplicate Resolution

This update introduces critical stability fixes to the automated crawling, deduplication, and production pipelines, and resolves content duplication issues.

Content & Deduplication

  • Duplicate Clean Up: Inspected and removed 13 duplicate markdown posts from the news archive to maintain high editorial quality.
  • Improved Deduplication Sorting: Updated the deduplication agent logic to sort posts alphabetically before checking historical content.
  • Log Persistence: Updated .gitignore to track url logs in data/1/3 across scopes to persist crawled URL histories across workflows.

Workflow & Pipeline Optimization

  • Actions Execution Order: Reordered GitHub workflows to checkout the website repository before running the curation engine, ensuring deduplication runs against accurate live state.
  • Production Limiter: Modified the writer agent with a --limit option to allow controlled production targets (e.g. 1 article limit).
  • Preflight Tooling Fixes: Added automatic start-time reset to prevent timeouts on delayed runs and resolved missing assembler.py file copy errors.

Portal Update: June 13, 2026

thehmars: News Portal V1 & Strategic Rebrand

The project has transitioned from a personal journal to a high-volume, professional news outlet named thehmars. This update introduces a hierarchical news architecture, automated content pipelines, and a complete design overhaul.

🌿 Rebranding & Identity

  • Identity Shift: Rebranded from BatchNode to thehmars, a news portal dedicated to global and Northeast Indian reporting.
  • Visual Identity: Deployed a “White & Red” editorial theme.
  • Custom Assets: Created a new “TH” SVG favicon and social sharing assets.
  • Branding Logic: Unified all components to use the the<span class="text-red-600">hmars</span> branding pattern.

News Portal Architecture

  • Hierarchical Taxonomy: Reorganized content into International, National, Local, and Editorial categories.
  • Regional Desks: Implemented a segmented Local news system covering 8 Northeast India states (Manipur, Mizoram, Assam, etc.) with dedicated hubs.
  • Flat Routing: Optimized SEO by removing the /blog prefix; articles now reside at /[id] and hubs at /[category].
  • Headline Mosaic: Deployed a dynamic, non-duplicating grid system for homepage and category hubs.
  • Topic Discovery: Introduced a new /topics system for cross-category reporting.

Content Intelligence

  • Article Sidebar: Added a sticky dual-column layout for reports featuring Source Desk identification and Related Content discovery.
  • Dynamic TOC: Implemented an automatic Table of Contents for long-form news reports.
  • SEO & Schema: Integrated JSON-LD NewsArticle structured data and optimized robots.txt.
  • Archive System: Unified historical records under /archives with advanced filtering by category, region, and tag.

Automation & Backend

  • News Scraper Pipeline: Migrated 130+ high-quality reports from major outlets (BBC, The Hindu, EastMojo) to seed the portal.
  • GitHub Actions Roadmap: Laid groundwork for .github/workflows/scrape.yml to automate 4x daily updates.
  • Supabase Sync: Confirmed integration with Supabase Free Tier for supporter tracking and dynamic metadata.
  • Razorpay Live: Finalized technical configuration for live payment processing.

🎨 UI & Design System

  • Editorial Crimson Theme: Applied a sophisticated red accent system (#DC2626) across the interface.
  • UI Symmetry: Achieved vertical and horizontal symmetry between navigation elements and content feeds.
  • Rounded UI Patterns: Updated Sub-Header and card components with rounded-pill and ultra-tight alignment styles.
  • Contact Refinement: Updated the contact system with Formspree AJAX integration and custom success modals.

Experimental Hub

Notice & Guidelines

Welcome to thehmars. This is an experimental, automated news portal. Please note:

•

Raw Feeds: Content is scraped and posted automatically; no manual editing or fact-checking is performed.

•

Desktop First: Optimized for standard monitor sizes. Mobile devices may encounter layout offsets.

•

W.I.P.: Donation and newsletter systems are temporarily paused during active internal upgrades.

Spot a bug, want to contribute, or interested in a setup like this? Reach out via the contact form.