* initial change
* nav highlighting
* icon change
* deeeedoooop
* text
* show version number on all pages
* icon
* remove unused code
* add knip
* formatting
* remove unused code
* types fix
* remove notion completely from the codebase.
* update test for new url structure
* clean up the fucking shop boys
* make a "create job" factory and use that
* moar factories
* formatting
* feat(shared): add glassdoor to job source model
* feat(jobspy): support glassdoor site in scraper and discovery
* feat(pipeline): include glassdoor in source selection and API schema
* feat(ui): add glassdoor toggle to jobspy settings and run estimates
* test/docs: cover glassdoor jobspy integration end-to-end
* fix(jobspy): make glassdoor always-on without settings toggle
* fix(jobspy): fallback glassdoor when location is country-level
* refactor(jobspy): drop direct pandas usage in wrapper
* feat(pipeline): gate glassdoor by supported countries
* fix(jobspy): restore pandas output and keep glassdoor disable copy
* fix(jobspy): map country-level glassdoor searches to city fallbacks
* feat(ui): require glassdoor city for country-level runs
* initial commit
* use colours!
* match by scoring
* scroll job card into view
* introduce @ based 'locks' to restrict search to specific statuses
* clear lock states on close
* split up component
* inline pill
* resuse job row content
* fix intro anim
* larger size, instruction
* refactor existing search feature
* lock colour border
* if active, clear active on escape
* remove query param
* documenration update
* scoring logic
* check exists before scroll
* status dot and checkbox occupy the same space!
* initial commit
* accordionising
* merge extra cards
* visual highlight
* everybody becomes an accordion
* bugbashing
* text area
* split up tailoring editor
* feat: enhance `parseTailoredSkills` to support legacy string arrays and add comprehensive tests for parsing logic.