Skip to content

Add searchable text, profiler insights, pinned events & auto-projects#317

Merged
butschster merged 1 commit into
masterfrom
feature/dev-companion-backend
Mar 27, 2026
Merged

Add searchable text, profiler insights, pinned events & auto-projects#317
butschster merged 1 commit into
masterfrom
feature/dev-companion-backend

Conversation

@butschster
Copy link
Copy Markdown
Member

@butschster butschster commented Mar 27, 2026

Summary

  • Searchable text: toSearchableText() on all event type mappers (Sentry, Profiler, Inspector, Smtp, Monolog, HttpDumps), exposed in preview API and WS broadcasts
  • Profiler insights: Summary endpoint (GET /api/profiler/{id}/summary) with slowest function, memory hotspot, most-called. Comparison endpoint (GET /api/profiler/compare) with side-by-side diff
  • Pinned events: is_pinned column + migration, POST/DELETE /api/event/{uuid}/pin, deleteAll/deleteByPK skip pinned events
  • Auto-projects: StoreEventHandler auto-creates projects when project key doesn't exist
  • Upsert optimization: Replaced ORM SELECT+INSERT with raw INSERT/UPDATE in EventRepository

Test plan

  • Verify searchable_text appears in preview API and WS broadcasts for all event types
  • Test profiler summary and comparison endpoints with real profile data
  • Test pin/unpin endpoints and verify pinned events survive clear
  • Test auto-project creation by sending events with new project keys
  • Run vendor/bin/phpunit — all tests pass

🤖 Generated with Claude Code

… and upsert optimization

Backend improvements for the dev companion feature set:

- Stage 1: Add toSearchableText() to EventTypeMapperInterface and all mappers (Sentry, Profiler, Inspector, Smtp, Monolog, HttpDumps). Add searchable_text to preview resource and WS broadcast. Replace ORM SELECT+INSERT with raw INSERT/UPDATE upsert.
- Stage 4: Profiler summary endpoint (GET /api/profiler/{id}/summary) with slowest function, memory hotspot, most-called. Profile comparison endpoint (GET /api/profiler/compare) with side-by-side diff.
- Stage 5: Auto-create projects in StoreEventHandler when project key doesn't exist.
- Stage 6: Pinned events — is_pinned column, migration, pin/unpin API (POST/DELETE /api/event/{uuid}/pin), deleteAll/deleteByPK skip pinned events.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@butschster butschster merged commit 0f5ba14 into master Mar 27, 2026
1 of 7 checks passed
@butschster butschster deleted the feature/dev-companion-backend branch March 27, 2026 18:47
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.

1 participant