I have some SpikeGLX recordings (old Phase 3A files, appVersion=20190413) where the firstSample key is absent from the .meta files, which causes a KeyError at this line in spikeglxrawio.py. This is odd because the SpikeGLX metadata guides document firstSample as a "Common to All Files" field across all phases (3A, 3B1, 3B2, 20, 30+).
The fix itself is straightforward (default to 0, matching SpikeGLX's own DataFile::firstCt() fallback), and I can upload files to GIN so we have regression tests. Still, I wanted to bring this up first for context since I could not figure out why the field is missing. I also asked Jennifer Colonell on the Neuropixels Discord to see if she has more information.