Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Feature Request: ctrl-click to open in new window on react based pages

Open Beginner friendly
#1,587 0 comments 0 reactions 1 assignee View on GitHub

Maintainers usually reply within 1 day

@morozov-av is already working on this.

Since Oct 8, 2026.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
75/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Active
Tech stack
react, typescript
Domain
frontend

Research direction

First, locate the React components that render top-level navigation links and buttons in the Runestone Academy frontend. Add a click handler that checks for Ctrl key presses, and uses the substring comparison described in the issue to decide if the target is a new top-level page: if so, open the link in a new tab instead of navigating in the current page. Test the fix by ctrl-clicking both same-page and cross-page navigation links to confirm correct behavior.

Written by the indexing model from the issue text.

Description

enhancement

Is your feature request related to a problem? Please describe.
I often want to leave the page I am on up while I open a link in a new tab. The react pages treat Ctrl-click like click and always changes the current page, even for something that is a top level navigation change.

Describe the solution you'd like
Buttons that function as top level links should try to handle ctrl-click by opening in a new window.

I think if neither current nor new URL are a substring of the other we could assume it is a new top level destination.

https://runestone.academy/assignment/instructor/grader
to
https://runestone.academy/assignment/instructor/grader/293802
is same page. As would be the other direction because one URL is a substring of the other.

https://runestone.academy/assignment/instructor/grader
to
https://runestone.academy/assignment/instructor/builder
is different page.

Dominant language
TypeScript
Stars
68
Forks
118
Avg merge
1d 12h
Merged PRs (30d)
24

Getting set up

  • Ships a Dockerfile or Docker Compose file
  • No pull request template
  • No contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from RunestoneInteractive/rs

All issues in RunestoneInteractive/rs

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.