Skip to content

Conversation

@github-actions
Copy link
Contributor

@github-actions github-actions bot commented Aug 11, 2025

πŸš€ Integration from develop to staging

πŸ“Š Summary

  • Commits: 3 new commits
  • Created: 2025-08-11 09:31:46 UTC
  • Auto-generated: This PR was automatically created by the integration workflow

πŸ“ Recent Commits

  • chore: add changeset for VuePivottable props fixes (f4122ad)%0A- fix: resolve VuePivottable required props and type issues (97cdf74)%0A- fix: prevent VuePivottableUi code execution when using VuePivottable (3842dc1)

πŸ” What happens next?

  1. Review the changes in this PR
  2. Run any necessary QA tests
  3. When approved and merged, the staging workflow will:
    • Check for changesets
    • If found, create beta releases
    • Automatically create a PR to main

⚑ Notes

  • This PR will be automatically updated with new commits to develop
  • Multiple features can accumulate in this single PR
  • fix: correct PR body formatting for Recent Commits section (d9edef8)
  • chore: add changeset for VuePivottable props fixes (f4122ad)
  • fix: resolve VuePivottable required props and type issues (97cdf74)
  • fix: prevent VuePivottableUi code execution when using VuePivottable (3842dc1)\n\n### πŸ”„ Last Updated: 2025-08-12 16:30:12 UTC
    New commits: 13

πŸ“ Recent Commits

  • Merge pull request fix: optimize memory usage and remove unnecessary codeΒ #293 from vue-pivottable/fix/memory-leak-issue-270 (b4bd857)
  • chore: add changeset for main.ts import fix (a80fab8)
  • fix: correct main.ts import reference (8855683)
  • Merge branch 'develop' into fix/memory-leak-issue-270 (793c219)
  • refactor: optimize memory usage and clean up codebase (3e85eb1)
  • fix: force component recreation on each refresh to prevent memory accumulation (3649f40)
  • fix: correct PivotData memoization to detect data changes (c9e3152)
  • fix: implement comprehensive memory leak prevention (b91d6f1)
  • fix: resolve critical memory leak and renderer undefined errors (e7c8074)
  • fix: correct PR body formatting for Recent Commits section (d9edef8)
  • chore: add changeset for VuePivottable props fixes (f4122ad)
  • fix: resolve VuePivottable required props and type issues (97cdf74)
  • fix: prevent VuePivottableUi code execution when using VuePivottable (3842dc1)

Seungwoo321 and others added 3 commits August 11, 2025 18:07
- Remove unnecessary composables export from index.ts
- Add proper default props to VPivottable component
- Fix isolation between VuePivottable and VuePivottableUi components
- Reduce bundle size by removing unused code

Fixes #undefined - TypeError when using VuePivottable without aggregators

πŸ€– Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
- Make aggregatorName, renderers, rendererName optional in DefaultPropsType
- Add proper defaults in VPivottable component
- Fix TSVExportRenderers to handle undefined aggregatorName
- Resolve Vue warn messages for missing required props

Fixes missing required props warnings when using VuePivottable

πŸ€– Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
- Add changeset for patch release addressing component isolation and prop issues
- Includes fixes for undefined errors and missing required prop warnings

πŸ€– Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
- Apply sed command to decode %0A line breaks in PR creation
- Ensure Recent Commits section displays properly with line breaks
- Align formatting with PR update functionality

πŸ€– Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
@github-actions github-actions bot changed the title πŸ”„ Integrate develop β†’ staging πŸ”„ Integrate develop β†’ staging (4 commits) Aug 11, 2025
Seungwoo321 and others added 9 commits August 11, 2025 18:34
- Fix memory leak in VPivottableUi by implementing proper PivotData memoization
- Replace inefficient watchEffect with controlled recreation based on structure changes
- Add deep cleanup to break circular references between PivotData and aggregators
- Fix renderer undefined error (Issue #269) by adding default TableRenderer
- Add null safety check for renderer access
- Optimize PivotData creation to only occur when essential properties change

Fixes #269, #270

πŸ€– Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
- Enhanced aggregator cleanup to break all closure references
- Added markRaw to prevent reactivity on large data arrays
- Implemented component key cycling to prevent accumulation
- Deep cleanup of all PivotData properties including function closures
- Break circular references in row/col totals and allTotal aggregators

Expected: Memory usage should stay below 50MB after 750 refreshes
Previous: 466MB memory growth, now should be <50MB

πŸ€– Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
**Root Cause Identified:**
- pivotDataKey only checked dataLength, not actual data changes
- Same length data (1000 records) resulted in no PivotData recreation
- Old data accumulated without cleanup for 800+ refreshes

**Fix:**
- Include actual data reference in pivotDataKey computation
- Now detects when new data array is generated (same length, different content)
- Forces PivotData recreation and cleanup on each refresh

**Expected Result:**
Memory should reset to baseline (~43MB) on each refresh instead of accumulating

πŸ€– Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
…umulation

**Root Cause Found:**
- JSON.stringify(dataReference) was creating massive string overhead (24MB β†’ 1018MB)
- Component Key was fixed at 0, preventing component destruction/recreation
- Memory accumulated because same component instance reused indefinitely

**Solution:**
- Remove complex memoization logic that was causing string bloat
- Use simple computed(() => new PivotData(state)) for reactivity
- Force component recreation with :key="pivot-${refreshCount}"
- Each refresh destroys previous component and creates clean instance
- Clean up unused imports (shallowRef, watchEffect, onUnmounted)

**Expected Result:**
Memory should stay stable around baseline instead of accumulating

πŸ€– Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
- Remove unnecessary test files and move to project root
- Optimize useMaterializeInput with shallowRef for large data
- Add proper cleanup in onUnmounted hooks
- Use toRaw() in PivotData creation to reduce reactivity overhead
- Remove unused usePivotModelHistory and useDraggableMemoryFix
- Simplify main.ts to use App.vue directly
- Remove deep watch to prevent performance issues
Fixed undefined SimpleApp reference to use App component.

πŸ€– Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
πŸ€– Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
fix: optimize memory usage and remove unnecessary code
@github-actions github-actions bot changed the title πŸ”„ Integrate develop β†’ staging (4 commits) πŸ”„ Integrate develop β†’ staging (13 commits) Aug 12, 2025
@Seungwoo321 Seungwoo321 merged commit 6d6b733 into staging Aug 12, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants