added icon, renamed 2025 to 2026, fixed rollouts#373
Conversation
There was a problem hiding this comment.
Pull request overview
Updates HackDavis Hub branding/content from 2025 → 2026 (icon + copy + links) and adjusts the rollouts “time protected display” flow to normalize rollout times and change client-side availability behavior.
Changes:
- Add/update favicon assets and global metadata (description + icon path).
- Update 2025 → 2026 references (tracks copy + Devpost links).
- Refactor rollout availability logic across server action + client hooks/components.
Reviewed changes
Copilot reviewed 9 out of 12 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| public/icons/icon.ico | Existing icon asset (referenced previously in metadata). |
| public/icons/icon-hd26.ico | Adds new 2026 icon asset used by metadata. |
| app/(pages)/_globals/metadata.json | Updates site description to 2026 and points to new icon. |
| app/_data/tracks.ts | Updates track copy to reference 2026 hackers. |
| mocks/tracks.ts | Updates mocked track copy to reference 2026 hackers. |
| app/(pages)/(hackers)/_components/ProjectInfo/SubmissionInfo/SubmissionSteps/DevpostSubmission/SubmissionTips.tsx | Updates Devpost URL to 2026. |
| app/(pages)/(hackers)/_components/DOE/Hacking/IndexHeroContentHacking.tsx | Updates Devpost URL to 2026. |
| app/(api)/_actions/rollouts/checkFeatureAvailability.tsx | Normalizes rollout/rollback times to numbers and computes availability. |
| app/(pages)/_hooks/useFeatureAvailability.ts | Refactors client hook shape and caching behavior for rollout availability. |
| app/(pages)/_hooks/useTimeTrigger.ts | Changes effect deps (suppresses exhaustive-deps) for time-trigger hook. |
| app/(pages)/_components/TimeProtectedDisplay/ClientTimeProtectedDisplay.tsx | Updates client-gated rendering behavior for rollouts. |
| package-lock.json | Bumps caniuse-lite version. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
app/(pages)/_components/TimeProtectedDisplay/ClientTimeProtectedDisplay.tsx
Show resolved
Hide resolved
app/(pages)/_components/TimeProtectedDisplay/ClientTimeProtectedDisplay.tsx
Show resolved
Hide resolved
app/(pages)/_components/TimeProtectedDisplay/ClientTimeProtectedDisplay.tsx
Outdated
Show resolved
Hide resolved
…361-change-2025-mentions-to-2026
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 8 out of 11 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 8 out of 11 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| </span> | ||
| </p> | ||
| <a href="https://hackdavis-2025.devpost.com/"> | ||
| <a href="https://hackdavis-2026.devpost.com/"> |
There was a problem hiding this comment.
The year "2025" should be updated to "2026" in the displayed date text to match other year updates in this PR. This appears in multiple hero components but was only updated in the Devpost URL here. The date "APRIL 19-20 2025" is shown to users at line 31.
| [rollout] | ||
| ); |
There was a problem hiding this comment.
The fetchAvailability callback has rollout in its dependency array, which creates a circular dependency issue. When fetchAvailability is called and updates rollout, it causes fetchAvailability to be recreated (since it depends on rollout), which then triggers the useEffect on line 37-39 again (since it depends on fetchAvailability). This can lead to unnecessary re-fetches. Consider removing rollout from the dependency array or restructuring the logic to avoid this circular dependency.
No description provided.