Skip to main content
Glama

DollhouseMCP

by DollhouseMCP
SESSION_NOTES_2025-10-03-AFTERNOON-V1916-RELEASE.md9.43 kB
# Session Notes - October 3, 2025 (Afternoon) **Date**: October 3, 2025 **Time**: 2:15 PM - 3:30 PM (75 minutes) **Focus**: Release v1.9.16 to production **Outcome**: ✅ Merged to main, ⚠️ NPM publish and GitHub Release pending ## Session Summary Successfully completed the release process for v1.9.16 (Platform-agnostic MCP client documentation + SonarCloud fixes). Merged PR #1238 to main with all CI checks passing, synced back to develop, but encountered issues with NPM publishing to public registry. Need follow-up session to complete NPM publish and create GitHub Release. --- ## What Was Accomplished ### 1. Release Preparation ✅ - Stashed experimental capability index resource work (not for this release) - Updated README chunks with v1.9.16 release notes - Bumped version to 1.9.16 in package.json and package-lock.json - Created comprehensive release notes: `docs/releases/RELEASE_NOTES_v1.9.16.md` - Build succeeded, tests passed (excluding pre-existing GitHubRateLimiter flaky tests) ### 2. Development Cleanup ✅ - Removed clutter files from root directory: - `pr_body_update.md` - `test-memory-edit.js` - `test-output.md` - `security-audit-report.md` ### 3. Release Branch & PR ✅ - Created `release/v1.9.16` branch from develop - Created PR #1238: "Release v1.9.16 - Platform-agnostic MCP client documentation + SonarCloud fixes" - Comprehensive PR description with full release details ### 4. Critical Test Fix ✅ **Problem**: GitHubRateLimiter tests failing with "Aborting after 100000 timers" - GitHubRateLimiter sets up 5-minute `setInterval()` in constructor - Tests used `jest.runAllTimers()` which tries to run infinite intervals - Jest aborts after 100,000 timers **Solution**: One-line fix - Replaced all `jest.runAllTimers()` with `jest.runOnlyPendingTimers()` (9 occurrences) - `runOnlyPendingTimers()` only runs currently scheduled timers without interval rescheduling - Committed to release branch: `fix(test): Replace runAllTimers with runOnlyPendingTimers` ### 5. CI Validation ✅ All checks passed on PR #1238: - ✅ Test (ubuntu, macos, windows, Node 20.x) - ✅ Docker Build & Test (linux/amd64, linux/arm64) - ✅ Docker Compose Test - ✅ Security Audit - ✅ SonarCloud Code Analysis (PASSING) - ✅ CodeQL Analysis - ✅ Claude Code Review - ✅ Validate Build Artifacts ### 6. Merge to Main ✅ - PR #1238 merged to main successfully - Release branch deleted - Fast-forward merge (clean, no conflicts) ### 7. Tag Management ✅ - Original tag v1.9.16 was on develop commit `11f83629` - Moved tag to main merge commit `b2a91000` (latest) - Pushed updated tag to remote ### 8. Sync Back to Develop ✅ - Merged main back to develop - Included GitHubRateLimiter test fix - Pushed to origin/develop --- ## Release Content: v1.9.16 ### 📚 Documentation (Main Focus) **Platform-Agnostic MCP Client Documentation** (#1236, #1237) - Added "MCP Client Compatibility" section explicitly stating stdio transport compatibility - Listed Claude Desktop, Claude Code, Gemini, and other MCP clients as supported - Updated all "Configure Claude Desktop" headers → "Configure Your MCP Client" - Changed "Claude Desktop integration" → "MCP client integration" throughout - New comprehensive guide: `docs/guides/MCP_CLIENT_SETUP.md` (551 lines) - Updated troubleshooting to be platform-agnostic **Workflow Documentation** (#1235) - Added workflow examples for efficient issue handling - Created `docs/development/workflow-examples/` directory **Code Comments** - `src/config/ConfigManager.ts:11` - OAuth comment updated - `src/portfolio/PortfolioManager.ts:177` - Logging comment updated ### 🧹 Code Quality (19 SonarCloud Issues) - **S7723**: Array constructor modernization (15 issues) - #1233 - Replaced `new Array(length)` → `Array.from({ length })` - **S7758**: String method modernization (4 fixed, 2 false positives) - #1234 - **Cleanup**: Removed temporary SonarCloud scripts (#1232) - mark-hotspots.sh, mark-crypto-hotspots.sh, etc. - Updated .gitignore patterns ### 📊 Impact - ✅ Removes artificial barrier for Gemini and other MCP client users - ✅ 19 SonarCloud issues resolved - ✅ Maintains Claude Desktop as primary example while being inclusive --- ## Issues Encountered ### 1. NPM Publishing Status ⚠️ **GitHub Packages**: ✅ Published successfully - Workflow "Publish to GitHub Packages" succeeded - Published to `https://npm.pkg.github.com/@DollhouseMCP/mcp-server` - Second run failed with expected error: `409 Conflict - Cannot publish over existing version` **Public NPM Registry**: ⚠️ NOT YET PUBLISHED - `npm view @dollhousemcp/mcp-server version` returns `1.9.15` - v1.9.16 not yet available on public NPM - No automated workflow found for public NPM publishing - Likely requires manual `npm publish` or GitHub Release trigger ### 2. GitHub Release ⚠️ **Status**: NOT YET CREATED - Tag v1.9.16 exists on main - Latest release still shows v1.9.15 - Need to create GitHub Release from tag v1.9.16 - Release notes already prepared in `docs/releases/RELEASE_NOTES_v1.9.16.md` --- ## Next Session Priorities ### Critical: Complete Release Process 1. **Publish to Public NPM** - Option 1: Manual `npm publish` from main branch - Option 2: Trigger via GitHub Release creation - Verify version appears on https://www.npmjs.com/package/@dollhousemcp/mcp-server 2. **Create GitHub Release** - Create release from tag v1.9.16 - Use content from `docs/releases/RELEASE_NOTES_v1.9.16.md` - Title: "Release v1.9.16 - Platform-agnostic MCP client documentation + SonarCloud fixes" - Check if this triggers NPM publish workflow 3. **Investigate Publishing Workflow** - Why isn't there an automated NPM publish workflow? - Only "Publish to GitHub Packages" workflow exists - Check if GitHub Releases should trigger NPM publish - Document the correct release process ### Optional: Resume Experimental Work - Unstash capability index resource injection work - Review and decide if it should go into next release --- ## Key Files Modified ### Release Documentation - `docs/releases/RELEASE_NOTES_v1.9.16.md` (new, 100 lines) - `docs/readme/chunks/07-changelog-recent.md` (updated) - `docs/readme/chunks/11-changelog-full.md` (updated, 25 lines added) ### Documentation Changes - `README.md` (25 lines added) - `README.github.md` (25 lines added) - `docs/guides/MCP_CLIENT_SETUP.md` (new, 551 lines) - `docs/development/SESSION_NOTES_2025-10-03-PLATFORM-AGNOSTIC-DOCS.md` (new, 246 lines) - `docs/development/workflow-examples/` (new directory with examples) ### Code Quality - Test files with Array constructor modernization (15 files) - `test/__tests__/unit/utils/GitHubRateLimiter.test.ts` (9 lines changed - test fix) - `.gitignore` (cleanup patterns added) ### Version Files - `package.json` (version: 1.9.16) - `package-lock.json` (version: 1.9.16) ### Removed Clutter - `pr_body_update.md` - `test-memory-edit.js` - `test-output.md` - `security-audit-report.md` - `mark-*.sh` scripts (6 files) - `hotspots.json` --- ## Git State ### Branches - **main**: `b2a91000` - Merge commit for v1.9.16 - **develop**: `ace9f91b` - Synced with main + test fix - **release/v1.9.16**: Deleted after merge ### Tags - **v1.9.16**: Points to `b2a91000` (main merge commit) - Located on main branch - Pushed to remote ### PRs - **#1238**: Merged and closed - **#1237**: Merged to develop (via #1238) --- ## Commands Reference ### Check NPM Version ```bash npm view @dollhousemcp/mcp-server version ``` ### Create GitHub Release ```bash gh release create v1.9.16 \ --title "Release v1.9.16 - Platform-agnostic MCP client documentation + SonarCloud fixes" \ --notes-file docs/releases/RELEASE_NOTES_v1.9.16.md ``` ### Manual NPM Publish (if needed) ```bash git checkout main git pull origin main npm run build npm publish ``` --- ## Key Learnings ### 1. GitHubRateLimiter Test Issue - `jest.runAllTimers()` incompatible with `setInterval()` in code under test - Always use `jest.runOnlyPendingTimers()` when testing code with intervals - Simple one-line fix resolved Extended Node Compatibility failures ### 2. Release Process Gaps - Automated publishing only covers GitHub Packages, not public NPM - Need to document complete release process including NPM publish - GitHub Release creation may trigger additional workflows ### 3. Tag Management - Tags should point to merge commits on main, not pre-merge commits - Moving tags requires: delete local, delete remote, recreate, push --- ## Statistics - **Time**: 75 minutes - **PRs Merged**: 1 (#1238) - **Commits**: 4 (release commit, cleanup, test fix, sync) - **Files Changed**: 45 files (+2,181/-764) - **Documentation Added**: ~1,000 lines - **Code Quality**: 19 SonarCloud issues resolved - **Tests**: All passing (2,323 tests, >96% coverage) - **CI Checks**: 14/14 passing --- ## Context for Next Session **Release Status**: 90% Complete - ✅ Code merged to main - ✅ Tag created and pushed - ✅ Develop synced - ✅ GitHub Packages published - ⚠️ Public NPM not yet published - ⚠️ GitHub Release not yet created **Immediate Action Required**: Complete NPM publish and GitHub Release creation **Experimental Work Stashed**: Capability index resource injection - can resume later --- *Session completed: October 3, 2025 at 3:30 PM* *Next session: Complete NPM publish and GitHub Release for v1.9.16*

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/DollhouseMCP/DollhouseMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server