2636 Commits

Author SHA1 Message Date
alexsparkes
64538d0170 fix(beta-release): show only commits not yet in main to prevent giant changelogs 2026-04-23 23:15:07 +01:00
alexsparkes
e123e06bdd fix(dropdown): remove duplicate closeDropdown declaration from merge artifact 2026-04-23 23:09:57 +01:00
alexsparkes
facc95e8dd Merge remote-tracking branch 'origin/dev' into beta 2026-04-23 23:05:24 +01:00
alexsparkes
29fd7181c7 feat(workflows): add auto-deploy to Chrome Web Store on release
- submit.yml: rewrite with release:[released] trigger, upgrade to BPP v3
  (no Puppeteer/Chrome setup needed), chrome-only, environment: production gate
- submit-beta.yml: new workflow, release:[prereleased] trigger, submits to
  Chrome trustedTesters channel, environment: beta gate
- both keep workflow_dispatch as manual fallback for re-runs
- hotfix releases automatically trigger submit.yml via the [released] event

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-23 22:51:32 +01:00
alexsparkes
55a4b31e30 fix(version-bump): adopt PR-triggered workflow from main and fix sed -i and manifest version bugs
- switch from workflow_dispatch to PR-closed trigger (aligns with main's automation approach)
- fix sed -i '' (macOS syntax) → sed -i (GNU/Linux compatible for Ubuntu runners)
- add stable_version output to strip pre-release suffix before writing to manifests
  (Chrome/Firefox/Safari extension manifests reject semver pre-release strings)
- keep token in checkout step for push permissions

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-23 22:07:51 +01:00
alexsparkes
a3ca7ad9e9 fix(workflows): fix IS_PRERELEASE bug, hotfix changelog, dependabot target, back-merge automation, lint gate, and manifest version mismatch
- fix version-bump.yml: IS_PRERELEASE was never defined, breaking iterative beta versioning (7.x.x-beta.1 → 7.x.x-beta.2)
- fix hotfix-release.yml: move changelog generation before merge so git log captures commits correctly
- fix dependabot.yml: was empty; now targets dev branch to keep Dependabot PRs in the normal dev→beta→main flow
- fix automerge.yml: remove continue-on-error from lint step so lint failures block Dependabot auto-merge; pin bun-version to 1.3.1
- fix production-release.yml: add automated back-merge of main→beta and main→dev after each production release
- fix manifest/chrome.json and manifest/firefox.json: version was 7.6.0, mismatched package.json 7.6.1

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-23 22:03:19 +01:00
David Ralph
6cb142b1b3 fix(welcome): import assets as ES modules to fix broken images in production builds
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-08 22:46:23 +01:00
David Ralph
69d91cc6f1 fix(date): preserve zero-padding when using MDY and YMD date formats
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-08 22:39:54 +01:00
alexsparkes
1ef65fb5d2 fix: resolve QA bugs across settings, reminder banner, and modal layout
- Replace all querySelector('.reminder-info') calls with EventBus.emit('showReminder')
  across 14 files — prevents crashes when the element is not mounted
- Move ReminderInfo from inside the sidebar to the top of the right content column
  so it no longer obscures sidebar navigation
- Fix reminder not showing for non-hot-reload settings (Slider hook violation where
  useT() was called inside a requestAnimationFrame callback)
- Skip reminder for LocationSearch since it already emits a hot-reload refresh event
- Suppress reminder for settings with hot-reload (no page refresh needed)
- Fix modal content overflowing right edge: replace width:100%!important on
  .modalTabContent with flex:1 + min-width:0 + overflow-x:hidden
- Fix ReminderInfo refresh button being too small
- Fix sidebar collapse animation using max-width transition instead of width:0
- Fix PhotoInformation showing 0x0 resolution and Unknown Location before image loads
- Fix Wikipedia disambiguation links for quote authors by returning null from
  getAuthorLink (Wikidata links used when available)
- Bail early in useSuggestedPacks when offline mode is enabled

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 10:19:50 +01:00
David Ralph
b98478ef68 feat(tests): add basic cypress for welcome and widgets 2026-02-08 23:59:23 +00:00
alexsparkes
031d980301 fix: Prevent duplicate installations in install function 2026-02-08 19:47:31 +00:00
alexsparkes
04e5e26141 Update background options and migrations 2026-02-08 19:41:16 +00:00
alexsparkes
6c6542c08b fix: Enhance deep link handling in Discover component and update RouterBridge for collection navigation 2026-02-07 22:56:34 +00:00
alexsparkes
8c4ea4cf6a fix: Update modal sidebar active color for improved visibility 2026-02-07 22:32:12 +00:00
alexsparkes
e938eef740 fix: Refactor event handling in LocationSearch and streamline modal navigation logic in Modals 2026-02-07 22:28:56 +00:00
alexsparkes
8a28a27282 fix: Improve location retrieval logic in WeatherWidget and enhance selection behavior in LocationSearch 2026-02-07 22:25:54 +00:00
alexsparkes
96e51c96cf fix: Enhance photo pack data structure and improve button layout in PhotoInformation component 2026-02-07 22:19:45 +00:00
alexsparkes
8758188521 fix: Prevent main modal from appearing on top of welcome modal during transitions 2026-02-07 22:01:04 +00:00
alexsparkes
ad7963f8f5 fix: Implement fallback to en_GB in translation retrieval for improved language handling 2026-02-07 21:28:55 +00:00
alexsparkes
bce58afa66 fix: Update modal prop names for consistency in CustomSettings component 2026-02-07 21:19:05 +00:00
alexsparkes
ce085b4457 fix: Correct path for achievement locale loaders and improve loader retrieval logic 2026-02-07 21:10:17 +00:00
alexsparkes
2a35b55cff fix: Correct parameter key usage in fetchFromProvider function for settings handling 2026-02-07 20:49:16 +00:00
alexsparkes
864579de84 feat: Enhance ItemSettingsModal with smoother opening and closing transitions 2026-02-07 20:33:48 +00:00
alexsparkes
9e75be2b89 feat: Enhance PhotoInformation component with metadata display and improved styling; update QuoteInfoModal navigation behavior 2026-02-07 19:33:35 +00:00
alexsparkes
59ceb40a32 feat: Update Quote component and styles for improved visibility and user experience 2026-02-07 19:04:22 +00:00
alexsparkes
348485a724 feat: Update warning message in QuoteInfoModal for improved clarity on data sourcing 2026-02-07 14:54:48 +00:00
alexsparkes
4ad799da3b feat: Add QuoteInfoModal for displaying detailed quote information and integrate it with the Quote component 2026-02-07 14:53:35 +00:00
alexsparkes
f891a16350 feat: Enhance AuthorInfo component with link support and add ErrorElement for improved error handling 2026-02-07 13:48:31 +00:00
alexsparkes
2d7e1ad97a feat: Update refresh handlers to include language and other settings for improved state management 2026-02-07 13:23:06 +00:00
alexsparkes
4d56bbb2c1 feat: Refactor install function to streamline settings and photo handling 2026-02-07 12:47:13 +00:00
alexsparkes
3af0b63a17 feat: Move useT hook initialization to ItemCard and Items components 2026-02-07 12:31:22 +00:00
alexsparkes
1b664ba23e feat: Enhance ItemCard button styles and add install counter with event listener 2026-02-07 12:28:06 +00:00
alexsparkes
eb3af777f5 feat: Implement install functionality for suggested packs and enhance state management 2026-02-07 12:19:47 +00:00
alexsparkes
bbca4b9c7b feat: Enhance item toggle functionality to support item ID retrieval 2026-02-07 12:08:02 +00:00
alexsparkes
553d5001f6 feat: Update navigation to item detail pages and enhance item ID handling 2026-02-07 12:04:24 +00:00
alexsparkes
cf3237f337 feat: Migrate to React Router v7 and refactor navigation
- Added react-router for improved routing and navigation.
- Replaced hash-based navigation with React Router's navigate function.
- Introduced RouterBridge to manage deep linking and legacy navigation.
- Updated components to utilize useNavigate and useLocation hooks.
- Refactored modal handling to integrate with React Router.
- Removed updateHash utility to prevent conflicts with React Router's history management.
- Created routes configuration for application structure and lazy loading.
- Ensured backward compatibility with existing deep link data structure.
2026-02-07 11:48:09 +00:00
alexsparkes
9e336b0582 feat: enhance deep linking functionality in MainModal and Discover components 2026-02-07 11:18:57 +00:00
alexsparkes
474b4ae237 feat(marketplace): Add suggested packs feature to marketplace
- Introduced new SuggestedPacks component to display trending quote and photo packs.
- Implemented useSuggestedPacks hook for fetching and caching suggested packs from the marketplace.
- Updated localization files for multiple languages to include new strings for suggested packs.
- Added explore all button to navigate to the marketplace category page.
2026-02-07 11:02:29 +00:00
alexsparkes
5cbcee522b feat: enhance item toggle functionality to refresh API pack cache on state change 2026-02-07 10:25:41 +00:00
alexsparkes
d31bde91cf feat: implement navigation history management in MainModal 2026-02-06 23:34:27 +00:00
alexsparkes
6231a4aa2d feat: update hash on subSection change and enhance breadcrumb navigation handling 2026-02-06 23:14:44 +00:00
alexsparkes
c23bd1a0e8 feat: enhance photo pack attribution handling and improve API integration 2026-02-06 22:43:15 +00:00
alexsparkes
74565fbeb9 feat: implement marketplace handler registration and refactor default packs installation 2026-02-06 22:09:04 +00:00
alexsparkes
62f7e20f8e feat: implement default photo packs installation and update settings handling 2026-02-06 20:43:54 +00:00
alexsparkes
0af00072f1 feat: add font size to dropdown and location search components; improve fallback handling in background loading and achievements translation 2026-02-06 19:14:47 +00:00
alexsparkes
dbd3eb11ae refactor: remove WelcomeLoader component and update Suspense fallback in Modals 2026-02-06 17:33:24 +00:00
alexsparkes
3c53d0322e feat: implement lazy loading for components and add loading states for improved user experience 2026-02-06 17:30:55 +00:00
alexsparkes
dbfe7e52b5 feat: enhance translation handling by adding fallback mechanism and loading translations dynamically 2026-02-06 16:41:02 +00:00
alexsparkes
5532d02603 feat: update font weight to bold for greeting, quote, and clock components; add TypeScript LSP plugin settings 2026-02-06 15:26:34 +00:00
alexsparkes
1c2a43ae7f docs: update CLAUDE.md to provide clearer guidance on project structure and development practices 2026-02-06 12:24:19 +00:00