Conversation
Implement comprehensive request tracing to identify internal and external bottlenecks: - New trace module with context managers for timing segments - DRF auto-instrumentation for permissions, serializers, querysets, throttles - External call tracking for GitHub, Cloudinary, GenLayer, reCAPTCHA - Smart logging: shows breakdown only for slow requests (>100ms) or errors - DEBUG=true shows all requests; DEBUG=false shows only 5xx errors - Removed unused functions to keep code lean and maintainable
Add request tracing and bottleneck identification
- Add StartupRequest model with document support (PDF, images, URLs) - Create read-only API endpoints for listing and detail views - Design frontend listing matching Missions component styling - Implement detail page with markdown description and document previews - Support expandable PDF/image previews with Cloudinary transformation - Display URL resources inline with chain icon and external link indicator - Configure Django admin interface for full CRUD management - Remove frontend add/edit/delete functionality (managed through admin)
…quests Implement Request for Startups feature
- Remove per-item serializer:render tracing that caused noise in list views - Output breakdown as single log entry instead of multiple lines - Aggregate duplicate segment names with count (e.g., "serializer: 80ms x10") - Rename serializer:init to just serializer for cleaner output
…eanup Clean up tracing output: reduce noise and single log entry
Replaces individual filter dropdowns (type, assigned, status) and checkbox exclusion filters with a unified search bar supporting tag-based syntax. Users can now filter submissions using queries like: - status:pending assigned:me exclude:medium.com - type:blog-post -exclude:spam has:url - from:alice min-contributions:2 sort:-created Adds three new frontend libraries: - searchParser.js: Parses GitHub-style queries into structured filters - searchToParams.js: Maps parsed filters to API parameters - StewardSearchBar.svelte: Reusable search component with autocomplete and help Extends backend filters with generic content exclusion/inclusion: - exclude_content/include_content: Search any text in notes/evidence - exclude_state: Exclude submissions with specific status - only_empty_evidence: Show only submissions without evidence URLs - exclude_username: Exclude submissions from specific users Keeps Status dropdown as quick-access filter. Syncs search query to URL for shareable links.
Remove useless automatic instrumentation of DRF methods (permissions, throttles, serializer, queryset) that measured ~0ms overhead. Replace with meaningful metrics: - db: database query time (from Django connection.queries) - ext:*: external API calls (via explicit trace_external calls) - app: application code time (calculated as total - db - external) Format breakdown as single line to simplify log aggregation and eliminate noise from 0ms segments. All request time is now accounted for: db + external + app = total. Changes: - Delete backend/tally/middleware/drf_tracing.py - Remove install_drf_tracing() call from backend/api/apps.py - Rewrite format_breakdown() to calculate app time and show single-line output - Update APILoggingMiddleware to use new format_breakdown signature
…arch-bar Implement GitHub-style search bar for steward submissions
…-logging Simplify API logging: remove DRF tracing and show app time
…egation operators - Add slug field to ContributionTypeSerializer for type filter matching - Add slugified name fallback (spaces to dashes) for type filter - Fix Evidence field reference: notes → description in content filters - Fix assigned:me filter to use userStore instead of non-existent authState.user - Add backend support for negated filters: exclude_assigned_to and exclude_contribution_type
…d-search Fix steward search filters
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.
No description provided.