Home weekly pulse row#1918
Conversation
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request integrates a new 'Weekly Pulse' feature into the application's homepage, offering authenticated desktop and tablet users a personalized and concise overview of their recent viewing habits. The feature aims to provide quick, actionable insights into user engagement through a combination of key statistics and dynamically chosen graphical representations, enhancing the user experience by making personal data more accessible and understandable. Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. Footnotes
|
|
|
Overall Grade |
Security Reliability Complexity Hygiene Coverage |
Code Review Summary
| Analyzer | Status | Updated (UTC) | Details |
|---|---|---|---|
| JavaScript | Apr 3, 2026 10:23a.m. | Review ↗ | |
| Test coverage | Apr 3, 2026 10:23a.m. | Review ↗ |
Code Coverage Summary
| Language | Line Coverage (Overall) |
|---|---|
| Aggregate | 81.2% [▲ up 0.7% from main] |
| Javascript | 81.2% [▲ up 0.7% from main] |
➟ Additional coverage metrics may have been reported. See full coverage report ↗
There was a problem hiding this comment.
Code Review
This pull request introduces a new 'Weekly Pulse' statistics section to the client application, including new localization keys across multiple languages, a new query for user comments, and several Svelte components and utility functions for displaying and calculating user activity statistics and dynamic graphs. Review comments suggest improving type safety in userCommentsQuery.ts by explicitly validating API response types, refactoring the icon rendering logic in WeeklyPulse.svelte for better maintainability, and adhering to style guide conventions for constant naming in PulseGraph.svelte and function parameter handling in pulseGraphs.ts and useWeeklyPulse.ts.
d95c7c7 to
606e470
Compare
seferturan
left a comment
There was a problem hiding this comment.
For this I'd say let's leverage an existing library for charts: https://charts.carbondesignsystem.com/introduction
We can add our own wrappers to them in features/charts
606e470 to
78a4938
Compare
6f96233 to
6cb519a
Compare
6cb519a to
1b8aece
Compare
|
@rudf0rd, any update on this? 😅 |
1b8aece to
bde99a3
Compare
47c38f0 to
00a4553
Compare
Add a weekly pulse dashboard showing stat cells with relevance-scored ranking, five graph types (daily bars, week trend, ratings distribution, peak hours, shows vs movies), icon tooltips, skeleton loading state, and adaptive 7-column grid layout. Includes hooks for activity history, ratings, and comments data via the query layer, pure utility functions for stat computation and graph data generation, and test coverage.
Add i18n message keys for stat labels, graph titles, delta indicators, time buckets, rating average, and icon tooltips. Includes translations for all 20 supported locales.
…driven layout - Add CSS variables for responsive pulse card sizing via dynamic-item-count/dynamic-card-width mixins - Create unified scoring system (pulseItem.ts) that normalizes stat and graph scores to a common scale - Interleave stats and graphs by interest score with max 2 consecutive graphs constraint - Support multiple graphs on widescreen, CSS overflow-hidden clips what doesn't fit - Deprioritize redundant stats (e.g. plays == episodes) instead of filtering them out - Wrap pulse section in SectionList with classList prop for consistent header/collapse behavior - Extract PulseIcon component following WellKnownLogo pattern - Use Card component for stat cells and graphs with layout CSS variable sizing - Hoist SVG constants, eliminate magic numbers, deduplicate daysInWeek constant
Extract inline delta pill from PulseCell into a dedicated PulseDeltaTag component backed by StemTag. Use semantic CSS variables for icon styling, DRY up icon rendering with a snippet, and unexport internal scoreStat.
Switch pulse dashboard to flex-wrap layout with span-aware graph sizing. Add mobile/tablet responsive breakpoints that limit visible items by unit cost. Remove device-level RenderFor guard since the component now handles its own responsiveness.
- Extract 5 graph subcomponents: DailyBars, WeekTrend, WatchClock, ShowsMovies, Ratings - Remove redundant auth guard wrapping WeeklyPulse on home page - Drop compact tooltip variant from PulseCell (arrow rendering bug) - Remove wrapper div in PulseDeltaTag, use align-items on parent - Fix light mode: use theme-aware vars for dot stroke and bar tracks - Fix label overflow with text-overflow ellipsis
replace custom activity history queries with useUser().history which provides watchedDates arrays via the minimal endpoints. removes sumHours stat (no runtime data available from history). deletes activityHistoryParams.ts.
scoreStat was parsing formatted display strings back to numbers via Number(stat.value.replace(/,/g, '')) which breaks for compact notation like "4.2K". adds rawValue: number to PulseStat and uses it directly in scoring functions.
use correct --height-pulse-list var in SectionList, add shareReplay(1) to items observable matching useStreak pattern, fix cross-feature relative import in useUserComments to use $lib/ alias.
00a4553 to
b4799ba
Compare
seferturan
left a comment
There was a problem hiding this comment.
I added some minor fixups:
- Feature flagged
- Support for drilled down version in drawer
- A simplified 'no scroll' on larger screens
- Split up some code in separate files.







Scene Setting: A Clear Description
This PR introduces Weekly Pulse, a compact stats dashboard that appears on the home page for authenticated desktop/tablet users, right between "Continue Watching" and "Start Watching." It answers the question: "What did my week look like?"
Show, Don't Tell: Screenshots and Videos
In addition to the above, a decision tree will show the most interesting stats based on the user's activity.
Testing: The Dress Rehearsal
I get dem tests!