PostHog / PostHog/posthog.com

Bug Report: /careers URL does not change when you select a role

Open
#20,229 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug website
Dominant language
TypeScript
Stars
1.1k
Forks
907
Avg merge
1d 16h
Merged PRs (30d)
430

Description

Report

On /careers, the open roles list is a master-detail view: you select a role on the left and its summary shows on the right. The URL stays at /careers for every role.

To reproduce:

  1. Open /careers.
  2. Select a role other than the first one in the list.
  3. Copy the URL from the address bar and open it in a new tab.

The reader gets the first role in the list, not the role you selected. This makes it impossible to share a link to a specific role from the careers page.

Technical info

The role selection is component state in src/components/Careers/JobListings/index.tsx (selectedJob). Nothing writes the selected role to the URL. Per-role pages exist already (for example /careers/product-engineer, created in gatsby/createPages.ts from the AshbyJobPosting slug), so the target URLs are available — only the sync from the list is missing.

Expected outcome, or solution

When you select a role, the URL becomes a direct link to that role's job page (for example /careers/product-engineer), so the address bar is always shareable. Any query string, such as UTM parameters, must be kept — the "Read more" button already does this with the stored queryString value.

A possible fix is window.history.replaceState on selection, the same pattern /events uses. Draft PR #20198 has an implementation.

Why: Raised in Slack — the URL does not update as you move between roles, so job posts cannot be shared widely.


Created with PostHog from a Slack thread

Contributor guide

No contributing guide indexed for this repository

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.

Research direction

Start in src/components/Careers/JobListings/index.tsx and compare its selectedJob handling with the URL update pattern used by /events. Check gatsby/createPages.ts and draft PR #20198 to understand the existing per-role paths, then verify that selecting a role preserves query parameters and that the resulting URL opens the selected job.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend, web-dev
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.