- Remove PROMPT.md (AI scaffolding artifact)
- Add .claude/settings* to .gitignore
- Commit .mcp.json (MCP server config)
- Fix ArtifactHub URLs (headlamp/tns-csi path)
- Fix tarball name (tns-csi-VERSION.tar.gz) in all install docs
- Update version URLs from v0.1.0/v0.2.0 to v0.2.4
- Update test count from 67 to 159 across 12 files
- Update Node.js version from 20 to 22
- Add CHANGELOG entry for v0.2.4
- Update testing.md with full test file inventory and CI description
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Update appVersion to 0.12.0 (current latest tns-csi release). Add a
release workflow step that fetches the latest fenio/tns-csi release tag
and updates appVersion automatically on each plugin release.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
headlamp-plugin package names the tarball from package.json "name" field
which is "tns-csi", producing tns-csi-VERSION.tar.gz.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add .eslintrc.json (was missing, causing lint to always fail)
- Move useMemo above early return in OverviewPage to fix rules-of-hooks
- Remove unused imports in OverviewPage
- Add checks:write permission to test job for dorny/test-reporter
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Split CI into parallel lint/typecheck/test jobs with build gating on all
three. Add JUnit test reporter for PR visibility. Bump Node 20 to 22.
Replace inline npx commands with npm run scripts. Add CI gate and
concurrency control to Release workflow. Harden tarball validation.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add 92 new tests across 8 test files covering DriverStatusCard,
SnapshotsPage, PVCDetailSection, StorageClassesPage, VolumesPage,
MetricsPage, OverviewPage, and BenchmarkPage. Includes shared
test-helpers.tsx with fixtures and a lightweight CommonComponents
mock. Total tests: 67 → 159.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Release tarballs were committed to the repo. Remove them and add a
.gitignore to prevent it from happening again.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The registerAppBarAction call was removed in v0.2.1 (96ea9e1) but the
component file was left behind. Nothing imports it.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
tns-csi driver does not write pool directly into volumeAttributes; it
writes datasetName (e.g. "tank/pvc-abc123"). Extract the pool as the
first path segment so the Pool column populates correctly.
Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
- TnsCsiDataContext: pool stats fetch was outside the outer try block due
to a brace mismatch introduced when adding TrueNAS API integration;
this caused the entire fetchAsync function to throw a syntax-level
error, breaking the OverviewPage
- StorageClassColumns (PV): replace non-populating Pool column with
Dataset column (tns-csi driver writes datasetName, not pool, into
PV volumeAttributes)
Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Documents architecture, key constants, code conventions, and
explains why background agents should be avoided for open-ended
research in favor of main-session tool use + scoped agent delegation.
Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>