Skip to content

schedule performance enhancement v2#3483

Draft
Saksham-Sirohi wants to merge 3 commits intofossasia:devfrom
Saksham-Sirohi:performance-enhancement-part-2
Draft

schedule performance enhancement v2#3483
Saksham-Sirohi wants to merge 3 commits intofossasia:devfrom
Saksham-Sirohi:performance-enhancement-part-2

Conversation

@Saksham-Sirohi
Copy link
Copy Markdown
Collaborator

Enhancements to schedule rendering

Copilot AI review requested due to automatic review settings May 7, 2026 09:34
@github-project-automation github-project-automation Bot moved this to Backlog in Eventyay Next May 7, 2026
Copy link
Copy Markdown
Contributor

@sourcery-ai sourcery-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry @Saksham-Sirohi, you have reached your weekly rate limit of 500000 diff characters.

Please try again later or upgrade to continue using Sourcery

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR aims to improve schedule rendering performance by reducing initial page payloads, caching expensive schedule JSON/meta computations server-side, and fetching expanded session/speaker details on demand from the API.

Changes:

  • Inline a non-enriched schedule JSON payload into agenda pages (schedule/talk/speaker) and add server-side caching + cache warming on schedule release.
  • Refactor/extend schedule export/QR-code URL helpers and move exporter menu construction into shared frontend utilities.
  • Reduce API query overhead by making submission prefetching conditional on expand= fields.

Reviewed changes

Copilot reviewed 22 out of 22 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
app/eventyay/webapp/schedule/vite.config.wc.js Adjust build chunking and enable sourcemaps for schedule web component build.
app/eventyay/webapp/schedule/src/utils.js Add helpers to compute exporters and build export menu items.
app/eventyay/webapp/schedule/src/lib.js Re-export new utility helpers from the schedule library entrypoint.
app/eventyay/webapp/schedule/src/components/TalkDetail.vue Render answers/resources from expanded API payload; add API fetch fallback.
app/eventyay/webapp/schedule/src/components/SpeakerDetail.vue Render speaker answers and fetch speaker API payload when missing.
app/eventyay/webapp/schedule/src/components/SessionModal.vue Prefer API-provided description/resources and reuse shared export menu builder.
app/eventyay/webapp/schedule/src/App.vue Pre-fetch initial talk API payload in talk view; include resources in session detail fetch; compute exporters helper.
app/eventyay/webapp/schedule-editor/vite.config.js Enable sourcemaps for schedule editor build.
app/eventyay/common/middleware/event.py Adjust event queryset prefetch/select_related set (add cfp).
app/eventyay/base/models/schedule.py Add QR-code map helpers; add submission_codes filter to build_data; refactor QR-code generation.
app/eventyay/api/views/submission.py Make prefetching conditional based on expanded fields to reduce query load.
app/eventyay/api/serializers/question.py Expose is_public on the base Question serializer (remove from orga-only serializer).
app/eventyay/api/auth/permission.py Change default API permission behavior for anonymous SAFE requests.
app/eventyay/agenda/views/widget.py Reuse new QR-code map helpers for widget QR endpoints.
app/eventyay/agenda/views/utils.py Add cached schedule JSON builders (full/talk/speaker) and cache public exporter metadata.
app/eventyay/agenda/views/talk.py Switch talk page to use slim per-talk schedule JSON builder.
app/eventyay/agenda/views/speaker.py Add slim per-speaker schedule JSON builder to speaker page context.
app/eventyay/agenda/views/schedule.py Inline/caches schedule JSON/meta and cache schedule meta JSON for released schedules.
app/eventyay/agenda/templates/agenda/speaker.html Inline schedule JSON and remove enrich-data attribute.
app/eventyay/agenda/templates/agenda/schedule.html Inline schedule JSON and remove enrich-data attribute.
app/eventyay/agenda/tasks.py Add Celery task to warm schedule JSON caches after schedule release.
app/eventyay/agenda/apps.py Hook schedule release signal to invalidate caches and enqueue cache warming.

Comment thread app/eventyay/webapp/schedule/src/components/SessionModal.vue Outdated
Comment thread app/eventyay/webapp/schedule/src/components/TalkDetail.vue
Comment thread app/eventyay/webapp/schedule/vite.config.wc.js
Comment thread app/eventyay/webapp/schedule-editor/vite.config.js
Comment thread app/eventyay/api/auth/permission.py
Comment thread app/eventyay/api/auth/permission.py
Comment thread app/eventyay/agenda/apps.py
Comment thread app/eventyay/agenda/apps.py Outdated
Comment thread app/eventyay/agenda/tasks.py
Comment thread app/eventyay/agenda/tasks.py Outdated
@Saksham-Sirohi Saksham-Sirohi force-pushed the performance-enhancement-part-2 branch from b741b36 to c1ec597 Compare May 8, 2026 06:40
Copilot AI review requested due to automatic review settings May 8, 2026 06:45
@Saksham-Sirohi Saksham-Sirohi force-pushed the performance-enhancement-part-2 branch from c1ec597 to bb359d7 Compare May 8, 2026 06:45
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Backlog

Development

Successfully merging this pull request may close these issues.

2 participants