Skip to content

Add classic icon support and enhance rank calculation logic - #23

Open
korpseluv wants to merge 5 commits into
cutting-edgefrom
main
Open

Add classic icon support and enhance rank calculation logic#23
korpseluv wants to merge 5 commits into
cutting-edgefrom
main

Conversation

@korpseluv

Copy link
Copy Markdown
Owner

Summary

What does this PR change?
test

Why

Why is this change needed?

Testing

  • npm run build
  • Manual check (screenshots optional)

Security / privacy

  • No secrets added
  • No new replay parsing/network behavior without opt-in
  • No new endpoints exposed in production unintentionally

Notes

Anything reviewers should know.

* Deep stats cards are now fully clickable

* Update favicon links in nuxt.config.ts to use .ico format

* Adjust position of event indicator in graph for improved visibility

* Enhance badge styling for improved visibility and accessibility

* Add tab management and URL fragment synchronization for improved navigation

* Refactor URL fragment handling for tab navigation to simplify mappings and improve synchronization

* Refactor chart interaction to improve SVG coordinate mapping for accurate graph hover functionality

* a
* Deep stats cards are now fully clickable

* Update favicon links in nuxt.config.ts to use .ico format

* Adjust position of event indicator in graph for improved visibility

* Enhance badge styling for improved visibility and accessibility

* Add tab management and URL fragment synchronization for improved navigation

* Refactor URL fragment handling for tab navigation to simplify mappings and improve synchronization

* Refactor chart interaction to improve SVG coordinate mapping for accurate graph hover functionality

* a
* Deep stats cards are now fully clickable

* Update favicon links in nuxt.config.ts to use .ico format

* Adjust position of event indicator in graph for improved visibility

* Enhance badge styling for improved visibility and accessibility

* Add tab management and URL fragment synchronization for improved navigation

* Refactor URL fragment handling for tab navigation to simplify mappings and improve synchronization

* Refactor chart interaction to improve SVG coordinate mapping for accurate graph hover functionality

* a

* Update environment configuration to use runtime OSU target user for fallback user

* Add allowedHosts configuration for dev server tunnel preview
Added the GNU Affero General Public License version 3 to the project.
Add GNU Affero General Public License v3
Copilot AI review requested due to automatic review settings January 28, 2026 08:16

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Updates the app’s icon handling and UI behavior, while also introducing configuration for dev-server tunneling and adding an AGPL license.

Changes:

  • Switches Nuxt head favicon references to /favicon.ico and adds Vite server.allowedHosts configuration.
  • Enhances the main app page with hash-synced tab navigation and improved SVG hover coordinate mapping.
  • Adds an AGPL-3.0 LICENSE, updates the PR template checklist, and extends .env.example.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
nuxt.config.ts Updates favicon links and configures Vite dev server allowed hosts.
app/app.vue Adds URL-hash tab syncing and improves rank history hover alignment; makes deep score cards keyboard-focusable/clickable.
LICENSE Introduces AGPL-3.0 licensing text.
.github/PULL_REQUEST_TEMPLATE.md Adds npm run typecheck to the testing checklist.
.env.example Documents new NUXT_PUBLIC_OSU_TARGET_USER and NUXT_ALLOWED_HOSTS env vars.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread nuxt.config.ts
{ rel: 'icon', type: 'image/png', href: '/icon.png' },
{ rel: 'apple-touch-icon', href: '/icon.png' }
{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' },
{ rel: 'apple-touch-icon', href: '/favicon.ico' }

Copilot AI Jan 28, 2026

Copy link

Choose a reason for hiding this comment

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

rel="apple-touch-icon" points to /favicon.ico (ICO). iOS expects a PNG for Apple touch icons and may ignore ICOs, leading to missing home screen icons. Consider pointing this to a PNG (e.g., an apple-touch-icon.png in /public) and keep /favicon.ico just for the browser favicon.

Suggested change
{ rel: 'apple-touch-icon', href: '/favicon.ico' }
{ rel: 'apple-touch-icon', href: '/icon.png' }

Copilot uses AI. Check for mistakes.
Comment thread LICENSE
Comment on lines +1 to +3
GNU AFFERO GENERAL PUBLIC LICENSE
Version 3, 19 November 2007

Copilot AI Jan 28, 2026

Copy link

Choose a reason for hiding this comment

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

This PR adds an AGPL-3.0 license file, which is a significant repo-level change, but the PR title/description don’t mention a licensing change. Please confirm this license change is intentional and update the PR description (and any related docs like README) accordingly so reviewers understand the scope/impact.

Copilot uses AI. Check for mistakes.
Comment thread app/app.vue
Comment on lines +1177 to +1178
@click="score.deep_stats && openDetail(score)"
@keyup.enter="score.deep_stats && openDetail(score)"

Copilot AI Jan 28, 2026

Copy link

Choose a reason for hiding this comment

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

The clickable deep-stats card uses role="button" + tabindex="0" but only handles Enter (@keyup.enter). For keyboard accessibility it should also activate on Space (typically on keydown.space with preventDefault), or preferably be a real <button>/<a> element. Also, deepScores is already filtered to score.deep_stats, so the score.deep_stats && guards here are redundant.

Suggested change
@click="score.deep_stats && openDetail(score)"
@keyup.enter="score.deep_stats && openDetail(score)"
@click="openDetail(score)"
@keyup.enter="openDetail(score)"
@keydown.space.prevent="openDetail(score)"

Copilot uses AI. Check for mistakes.
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.

2 participants