Conversation
Fix Loading State in Newsfeed
hearing held checks
* Spruced up phone verification modals * Additional tweak to phone verification modal * Updated verify section of profile page to show both email and phone verification * Added verify account section to edit profile page and refactored * used feature flag to show new or legacy verify account section appropriately on profile page * fixed formatting * minor style adjustment
…d, we mainly need to know when it starts and when it ends (#2111)
* Merge pull request #51 from hyphacoop/visual-system-refinement Refine MAPLE visual system and shared surfaces * Apply visual tokens to search pages and shared components * Fix bill search typecheck * Format search and hearing components * Align ballot question browse search controls * Merge pull request #55 from hyphacoop/ballot-questions-2024-fix Ballot question 2024 data * Merge pull request #56 from hyphacoop/fix-sync-script-validation Skip stale-doc validation in ballot question sync * Merge pull request #57 from hyphacoop/fix-bq-search-responsiveness Fix ballot question search responsiveness for medium and mobile * Merge pull request #61 from hyphacoop/fix/ballot-question-count-scope Fix ballot question bill count scope * Merge pull request #60 from hyphacoop/docs/ballot-questions-field-descriptions docs: add ballot question field reference * Merge pull request #58 from hyphacoop/homepage-redesign Homepage refresh and design polish * Merge pull request #59 from hyphacoop/ballot-question-alert-flag Add ballot question alert flag * Merge pull request #63 from hyphacoop/fix/ballot-question-notification-test Fix ballot question notification test statuses * Make ballot question frontend strings translatable * Remove unused homepage assets * Update ballot question i18n tests * Fix referendum title i18n namespace * Reorganize ballot question i18n into dedicated namespace * Migrate remaining components to ballotquestions namespace * Update 24-firearms-referendum.yaml * Add ballotquestions namespace to serverSideTranslations * Fix formatting --------- Co-authored-by: vincent <vincentcharlebois@gmail.com>
…timony (#2119) * fixing bug on testimony detail page so users must verify email before submitting testimony * added redirect from submit testimony page to profile page for users that are not email verified
* allow date to be nullable on billHistory items * formatting
* initial page * header and stat blocks * bottom columns placement * Sidebar folder * set up tabs * tab title colors * fill in stat blocks * minor cleanup * cleanup 2 * feature flags * cleanup page * remove user from page * update translations * cleanup * cleanup2
* Mocking out real firebase calls for YourLegislators component so Storybook doesn't make real API calls * Adding firebase mocks to prevent erroneous calls to a real Firebase instance from the Storybook server - includes a default state for auth calls and a note in the README about when to override
…s-flag Remove showLLMFeatures feature flag
… search - createVectorIndexer.ts: write FieldValue.vector(embedding) instead of plain number[]; plain arrays are invisible to the vector index - backfill-embeddings.ts: same fix; update skip logic to detect real VectorValues (toArray()) vs plain arrays so existing plain-array docs are regenerated rather than silently skipped - migrate-embeddings-to-vector.ts: new one-time migration script that re-wraps the 8,762 existing plain-array embeddings as VectorValue in place (no Vertex AI calls); already run against digital-testimony-dev - mcp-server: upgrade firebase-admin 11→13 (bundles @google-cloud/ firestore 7.11.6) so findNearest() is available at runtime Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Replace raw doc.data() spread with shapeBill/shapeBallotQuestion helpers that strip DocumentText, Cosponsors[], CommitteeRecommendations[], RollCalls[], Attachments[], full history[], and BillHistory URL - Add relevanceScore (1 - cosine distance) via distanceResultField - Add includeFullText param (default false) to opt into DocumentText - Add legislationType filter to exclude committee study orders - Expose both summary and pinslip as separate fields - Deduplicate and sort by relevanceScore in search_policies - Update tool descriptions to document new params Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add shapeTestimony() helper mirroring shapeBill/shapeBallotQuestion - Converts raw distance field to relevanceScore, strips vector_embedding - Returns 300-char contentPreview by default; full content with includeFullText - Add includeFullText param to TestimonySearchSchema - Update tool description to document new behaviour Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- New index-http.ts: Express server using StreamableHTTPServerTransport in stateless mode (fresh server+transport per POST /mcp request) - hybridAuthMiddleware wired in before MCP handler - DISABLE_AUTH=true env var bypasses auth for local dev - GET /health endpoint (no auth) for liveness checks - GET /mcp returns 405 with explanation (stateless, POST only) - HOST/PORT configurable via env; HOST=0.0.0.0 for Cloud Run - Existing stdio index.ts untouched - Added start:http and dev:http npm scripts Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Lets a signed-in user get their Firebase ID token for testing the local MCP HTTP server. Shows token in a copyable textarea, displays expiry, and includes the exact curl command to use against localhost:3001. Not linked from any nav — visit /dev/token directly. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…nt key docs - Replace curl snippet with Claude Code .mcp.json config example - Add expiry callout and refresh instructions - Add agent key explanation for persistent integrations - Add subheading and info box styles Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Exclude mcp-server/ from root tsconfig.json — it is a self-contained package with its own tsconfig and zod version; the root tsc was resolving zod@3.20.2 from root node_modules rather than the package- local 3.25+, causing incompatibility with @modelcontextprotocol/sdk 1.29 - Cast (FieldValue as any).vector() in backfill-embeddings.ts and migrate-embeddings-to-vector.ts — @google-cloud/firestore@5.0.2 does not include type definitions for FieldValue.vector() (added in v7.x), though the method exists at runtime in firebase-admin@12 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Remove unnecessary GOOGLE_APPLICATION_CREDENTIALS secret from createVectorIndexer runWith() — ADC is automatic on GCP (comment #1) - Remove insecure query-param token fallback from hybridAuthMiddleware; only accept Authorization: Bearer header (comment #4) - Export shapeBill/shapeTestimony/shapeBallotQuestion for testability - Add jest test suite for mcp-server following functions/ conventions: - mcp-server/jest.config.js (ts-jest preset, firebase-admin moduleNameMapper) - mcp-server/tools.test.ts (18 tests covering all three shape helpers: field inclusion/exclusion, relevanceScore computation, full-text flag, missing-field defaults, latestAction) - mcp-server/auth.test.ts (9 tests: missing header, no Bearer prefix, valid Firebase token, active/inactive agent keys, unknown token, query-param fallback rejected) - Add jest/ts-jest/@types/jest devDependencies to mcp-server/package.json Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…privacy
tools.ts:
- search_bills / search_policies: add topic, committee, primarySponsor
post-filters; fetch 4× candidate set when filters active
- search_testimony: add authorDisplayName filter gated on public===true
so private-profile users cannot be searched by name
- shapeBill: expose currentCommittee {id, name}
- shapeTestimony: remove public flag from output; anonymize authorDisplayName
and authorRole for private-profile users (content remains — it is public
legislative record per Firestore rules)
- Add list_topics (static TOPICS_BY_CATEGORY taxonomy), list_committees,
list_sponsors tools with optional court filter
- Document pagination limitation in limit parameter description
- Inline TOPICS_BY_CATEGORY constant (mirrors functions/src/bills/types.ts)
tools.test.ts:
- Add tests for currentCommittee exposure in shapeBill
- Add tests for privacy anonymization in shapeTestimony:
public flag absent from output, author masked when public===false,
content preserved for private-profile testimony
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… bills
- Add court parameter to search_bills, search_testimony, search_policies,
list_committees, list_sponsors; defaults to CURRENT_COURT (194)
- CURRENT_COURT read from CURRENT_COURT env var with 194 fallback; source
of truth is functions/src/shared/constants.ts → currentGeneralCourt
- Bills scoped by court via collection path (generalCourts/{court}/bills)
— a true pre-filter using the existing COLLECTION_GROUP vector index,
no new composite index required
- Testimony uses court as pre-filter (court + vector composite index added
to firestore.indexes.json) for general search; falls back to post-filter
when combined with billId/ballotQuestionId/authorDisplayName filters
to avoid proliferating composite indexes
- Ballot questions not filtered by court (organised by electionYear, not GC)
- Remove dedup logic from search_policies — bills (H1234) and ballot
questions (25-12) have structurally distinct IDs, no overlap possible;
add comment explaining this
- Update search_policies description to remove 'deduplicated'
- Document CURRENT_COURT in .env.example
- Add court + vector composite index for publishedTestimony to
firestore.indexes.json
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add authorDisplayName + public + vector_embedding composite index for the author display name filter path in search_testimony. The court, billId, and ballotQuestionId composite indexes were already present. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
search_bills queries collection("generalCourts/{court}/bills") directly,
which requires COLLECTION scope. The existing COLLECTION_GROUP index does
not satisfy direct collection queries.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
MAPLE MCP server creation for RAG workflows
* Restore TestimonyCalloutSection to homepage * fix(prettier): Run prettier --------- Co-authored-by: Danchen <37356721+HDC432@users.noreply.github.com>
* color correction * color correction
- Extract embedded text from bill PDFs when DocumentText is missing - Add backfill tooling and documentation for repairing existing bills Co-authored-by: Mephistic <deathbyfiresermon@gmail.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
1 Skipped Deployment
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changelog