{
  "interval": {
    "intervalStart": "2025-08-09T00:00:00.000Z",
    "intervalEnd": "2025-08-10T00:00:00.000Z",
    "intervalType": "day"
  },
  "repository": "elizaos/eliza",
  "overview": "From 2025-08-09 to 2025-08-10, elizaos/eliza had 1 new PRs (1 merged), 0 new issues, and 4 active contributors.",
  "topIssues": [
    {
      "id": "I_kwDOMT5cIs7BtcsO",
      "title": "Add MCP plugin docs",
      "author": "linear",
      "number": 5654,
      "repository": "elizaos/eliza",
      "body": "",
      "createdAt": "2025-07-21T20:17:24Z",
      "closedAt": "2025-08-09T16:22:04Z",
      "state": "CLOSED",
      "commentCount": 0
    }
  ],
  "topPRs": [
    {
      "id": "PR_kwDOMT5cIs6i54EL",
      "title": "fix: (project-starter) replace mock.module with spyOn for consistent logger testing",
      "author": "yungalgo",
      "number": 5748,
      "body": "## Description\r\n\r\nThis PR fixes failing component tests in the project-starter template by replacing `mock.module` with `spyOn` for logger mocking.\r\n\r\n## Problem\r\n\r\nThe project-starter template had 3 test files using `mock.module('@elizaos/core')` which completely replaced the logger module, breaking Pino's structured logging behavior. This caused tests to fail when expecting structured log calls like:\r\n\r\n```typescript\r\nlogger.info({ keys: Object.keys(params) }, 'MESSAGE_RECEIVED param keys');\r\n```\r\n\r\n## Solution\r\n\r\nReplace `mock.module` with `spyOn` in the following files:\r\n- `src/__tests__/events.test.ts`\r\n- `src/__tests__/error-handling.test.ts`\r\n- `src/__tests__/config.test.ts`\r\n\r\nThis aligns with the testing approach used in all other starter templates and preserves the original logger behavior while still allowing test assertions.\r\n\r\n## Testing\r\n\r\n- ✅ All component tests now pass (`elizaos test --type component`)\r\n- ✅ Verified consistency across all starter templates\r\n- ✅ No behavior changes to the actual plugin code\r\n\r\n## Impact\r\n\r\nThis is a test-only fix with no impact on runtime behavior. It ensures developers creating new projects with `elizaos create` will have all tests passing out of the box (as a follow-up to PR #5705 )\n\n<!-- This is an auto-generated comment: release notes by coderabbit.ai -->\n\n## Summary by CodeRabbit\n\n* **Tests**\n  * Updated test setup to use spies on logger methods instead of full module mocks, simplifying logger interception during testing.\n  * Enhanced event handler tests to verify structured logging calls with specific object formats.\n  * Improved clarity and maintainability of logger-related test assertions.\n\n<!-- end of auto-generated comment: release notes by coderabbit.ai -->",
      "repository": "elizaos/eliza",
      "createdAt": "2025-08-09T22:43:19Z",
      "mergedAt": "2025-08-11T03:28:45Z",
      "additions": 38,
      "deletions": 57
    },
    {
      "id": "PR_kwDOMT5cIs6io9Oe",
      "title": "allow iframes when web ui is enabled in production",
      "author": "wookosh",
      "number": 5735,
      "body": "# Risks\r\n\r\n- Low: Allows iframes from self if web ui is enabled in production.\r\n\r\n# Background\r\n\r\nCurrently in production, any panels exposed by plugins are blocked. This is because plugin panels are exposed using an iframe. with frame-src = 'none' these panels do not work. \r\n\r\nIf the Web UI is enabled, the admin needs iframes to expose panels provided by plugins. using frame-src = 'self' allows iframes only from the same domain. \r\n\r\n## What does this PR do?\r\n\r\n- This PR checks if the web ui is enabled in production, and if it is, allow iframes to come from self to unblock plugin panels.\r\n\r\n## Why are we doing this? Any context or related work?\r\n- Obviously if a user has explicitly enabled the web ui using `ELIZA_UI_ENABLE` they want the web ui exposed and if they want the ui exposed, they will also implicitly want all their plugins to work as well. \r\n\r\n# Documentation changes needed?\r\n\r\n- no documentation changes required\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n1) in your `.env` file, set the following:\r\nNODE_ENV=production\r\nELIZA_UI_ENABLE=true\r\n\r\n2) install any plugin that exposes a panel in the admin such as `@elizaos/plugin-knowledge`\r\n3) Observe that the panel is accessible\r\n\r\n\r\n## Discord username\r\nwookosh\r\n",
      "repository": "elizaos/eliza",
      "createdAt": "2025-08-07T18:24:37Z",
      "mergedAt": "2025-08-09T02:07:49Z",
      "additions": 1,
      "deletions": 1
    }
  ],
  "codeChanges": {
    "additions": 1,
    "deletions": 1,
    "files": 1,
    "commitCount": 7
  },
  "completedItems": [
    {
      "title": "allow iframes when web ui is enabled in production",
      "prNumber": 5735,
      "type": "other",
      "body": "# Risks\r\n\r\n- Low: Allows iframes from self if web ui is enabled in production.\r\n\r\n# Background\r\n\r\nCurrently in production, any panels exposed by plugins are blocked. This is because plugin panels are exposed using an iframe. with frame-src ",
      "files": [
        "packages/server/src/index.ts"
      ]
    }
  ],
  "topContributors": [
    {
      "username": "yungalgo",
      "avatarUrl": "https://avatars.githubusercontent.com/u/113615973?u=92e0f29f7e2fbb8ce46ed13c51f692ca803de02d&v=4",
      "totalScore": 16.424522287201754,
      "prScore": 16.084522287201754,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0.33999999999999997,
      "summary": "yungalgo: Focused on refactoring and bug fixes, specifically addressing a test-related issue in elizaos/eliza via PR #5748, which involved modifying 5 test files."
    },
    {
      "username": "ChristopherTrimboli",
      "avatarUrl": "https://avatars.githubusercontent.com/u/27584221?u=0d816ce1dcdea8f925aba18bb710153d4a87a719&v=4",
      "totalScore": 5,
      "prScore": 0,
      "issueScore": 0,
      "reviewScore": 5,
      "commentScore": 0,
      "summary": "ChristopherTrimboli: Focused on bugfix work, contributing 1 commit that modified 1 file with minimal changes (+1/-1 lines), and provided 1 approval review."
    }
  ],
  "newPRs": 1,
  "mergedPRs": 1,
  "newIssues": 0,
  "closedIssues": 1,
  "activeContributors": 4
}