The Wire · Showcase
SOURCE.DOT.NET PROXY LAYER BROKEN, SOURCEBROWSER GETS MAJOR OVERHAUL
By RepoJournal · Filed · About .NET
source.dot.net is serving HTTP 500s and stale assets because the proxy layer exposes bugs that local-disk deployments never catch, and SourceBrowser just got a significant upgrade that's likely its last.
The proxied index serving defects [1] stem from a single root cause: Azure blob storage serving paths that local deployments never exercise, which is why the new SourceBrowser deployment [2] only broke production. One specific failure: `Helpers.ProxyRequestAsync` unconditionally converts null ContentHash to Base64, crashing on `SolutionExplorer.html` [3]. The overwrite files shadowing the fresh index are the second blow [3], serving 28KB stale CSS and empty HTML placeholders instead of the new 45KB chrome. The good news: SourceBrowser just absorbed 42 commits of feature work from the maintained fork [2], and this update to the latest upstream is likely the last time that'll be necessary since the original repo is soft-archived. Meanwhile, the nav-pane improvements [4] add per-subfolder repo filtering for the VMR via `GenerateVmrRepoTags`, letting source.dot.net's 26 repos stay behind a single URL while filter tags route searches to originating repos. On the extensions side, OpenTelemetry GenAI semantic conventions now have agentic workflows [5] that auto-scan upstream and maintain an evergreen draft PR, removing manual sync work.
Action items
- → Deploy proxy layer null-check fix and rebuild blob storage index with fresh chrome before next source.dot.net sync dotnet/source-indexer [immediate]
- → Verify SolutionExplorer.html serves without 500 in proxied mode after deployment dotnet/source-indexer [immediate]
- → Monitor agentic workflow runs for OpenTelemetry alignment; expect automation to catch spec drift dotnet/extensions [monitor]
References
- [1] Fix source.dot.net proxied-index serving (500, .js, references, SolutionExplorer) ↗ dotnet/source-indexer
- [2] Update to latest sourcebrowser and port a large number of additional features from tannergooding/sourcebrowser ↗ dotnet/source-indexer
- [3] Refresh stale index overwrite chrome for new SourceBrowser ↗ dotnet/source-indexer
- [4] Nav-pane layout, filtering, and lazy Solution Explorer improvements ↗ dotnet/source-indexer
- [5] Add agentic workflows that keep Microsoft.Extensions.AI aligned with OpenTelemetry GenAI semantic-conventions ↗ dotnet/extensions