Skip to content

fix(ci): resolve Python SDK and dashboard build failures#9

Closed
Copilot wants to merge 3 commits intomainfrom
copilot/merge-main-without-breaking-functionality
Closed

fix(ci): resolve Python SDK and dashboard build failures#9
Copilot wants to merge 3 commits intomainfrom
copilot/merge-main-without-breaking-functionality

Conversation

Copy link
Copy Markdown

Copilot AI commented Feb 25, 2026

📋 Description

Fixes four build/test failures preventing CI from passing on main.

  • Python SDK — missing python-dotenv dep: config.py imports from dotenv import load_dotenv but the package wasn't declared in pyproject.toml
  • Python SDK — langchain fallback imports incomplete: except ImportError block only stubbed BaseChatMessageHistory and BaseRetriever, leaving BaseMessage, HumanMessage, AIMessage, Document, CallbackManagerForRetrieverRun undefined → NameError at import
  • Python SDK — sqlite3.Row has no .get(): compute_tag_match_score called mem.get("tags") on Row objects, failing all three omnibus tests with AttributeError
  • Dashboard — Google Fonts unreachable in Docker/CI: next/font/google fetches fonts at build time; replaced with local geist npm package via geist/font/sans and geist/font/mono

🔄 Type of Change

  • 🐛 Bug fix (non-breaking change which fixes an issue)
  • ✨ New feature (non-breaking change which adds functionality)
  • 💥 Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • 📚 Documentation update
  • 🎨 Style/UI changes
  • ♻️ Code refactoring
  • ⚡ Performance improvements
  • 🧪 Test updates
  • 🔧 Build/CI changes

🧪 Testing

  • I have tested this change locally
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes

Verified:

  • npm run build passes for both packages/openmemory-js and dashboard
  • npx tsx tests/test_omnibus.ts — all phases pass
  • pytest tests/test_omnibus.py -v — 3/3 pass (previously 0/3)

📱 Screenshots (if applicable)

N/A

🔍 Code Review Checklist

  • Code follows the project's coding standards
  • Self-review of the code has been performed
  • Code is properly commented, particularly in hard-to-understand areas
  • Changes generate no new warnings
  • Any dependent changes have been merged and published

🚀 Deployment Notes

Dashboard now uses the geist npm package for fonts instead of runtime Google Fonts fetching. Font rendering is identical — same Geist typeface, just bundled locally.

📋 Additional Context

The sqlite3.Row fix uses bracket access with try/except (KeyError, IndexError) rather than converting rows to dicts, keeping it consistent with the existing Row-based access pattern throughout the codebase.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • fonts.googleapis.com
    • Triggering command: /home/REDACTED/work/_temp/ghcca-node/node/bin/node node /home/REDACTED/work/OpenMemory/OpenMemory/dashboard/node_modules/.bin/next build (dns block)

If you need me to access, download, or install something from one of these locations, you can either:


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot AI and others added 2 commits February 25, 2026 05:55
Co-authored-by: russellbrenner <5236354+russellbrenner@users.noreply.github.com>
…Row compat, use local Geist fonts

- Add missing python-dotenv dependency to Python SDK pyproject.toml
- Fix langchain connector missing fallback imports when langchain_core not installed
- Fix compute_tag_match_score to handle sqlite3.Row objects (no .get() method)
- Switch dashboard from next/font/google to local geist package for offline/Docker builds

Co-authored-by: russellbrenner <5236354+russellbrenner@users.noreply.github.com>
Copilot AI changed the title [WIP] Merge changes from main into repository safely fix(ci): resolve Python SDK and dashboard build failures Feb 25, 2026
Copilot AI requested a review from russellbrenner February 25, 2026 06:00
russellbrenner pushed a commit that referenced this pull request Feb 26, 2026
Upstream changes (9 commits, 6 unique):
- Add Siray embedding provider (JS + Python SDKs)
- Improve Docker reliability (bookworm-slim base, inline Node healthcheck)
- Add dashboard service profile gating (docker compose --profile ui)
- Fix SQLite path in .env.example for Docker volume alignment
- Add Doppler compose wrapper and dashboard build-time env vars
- Fix dashboard to load memories without requiring NEXT_PUBLIC_API_KEY

Fork PR integration (#8, #9):
- Add python-dotenv to Python SDK dependencies
- Fix sqlite3.Row compat in Python hsg.py compute_tag_match_score
- Add langchain connector fallback imports for missing deps
- Switch dashboard fonts from Google Fonts to local geist package

All omnibus tests pass (TS 3/3, Python 3/3). Dashboard builds clean.

https://claude.ai/code/session_01AvLytv3nsAZWqiDqxEKBfh
@russellbrenner russellbrenner deleted the copilot/merge-main-without-breaking-functionality branch March 6, 2026 14:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants