Skip to content

Conversation

@RobertJoonas
Copy link
Contributor

@RobertJoonas RobertJoonas commented Jan 7, 2026

Changes

  • Add real external link construction that handles internationalized domain names
  • Imported warning bubble (without tooltip for now)
  • Query group_conversion_rate for pages to match prod behaviour
  • Update the tile component according to recent layout changes
  • Fix group hover for items in ReportList
  • Replicate React first paint inside the LiveViewPortal that is not yet connected

Tests

  • Automated tests have been adjusted

Changelog

  • This PR does not make a user-facing change

Documentation

  • This change does not need a documentation update

Dark mode

  • This PR does not change the UI

@github-actions
Copy link

github-actions bot commented Jan 7, 2026

Preview environment👷🏼‍♀️🏗️
PR-5986

@RobertJoonas RobertJoonas requested a review from zoldar January 7, 2026 11:36
Copy link
Contributor

@zoldar zoldar left a comment

Choose a reason for hiding this comment

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

Other than module/file naming mentioned in the feedback, it's looking good to me!

Copy link
Contributor

Choose a reason for hiding this comment

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

For consistency's sake, we could adjust the module name as well. Or even change that to dashboard/query_parser.ex and Plausible.Stats.Dashboard.QueryParser, respectively. When aliasing, we can always alias Plausible.Stats.Dashboard and use Dashboard.QueryParser to maintain the context, without redundant repetition of Dashboard.DashboardQueryParser. This applies to other renaming instances as well.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Agreed! 3d5ed50

<div className="mx-auto loading">
<div />
</div>
<div className={'group-has-[[data-phx-teleported]]:hidden'}>
Copy link
Contributor

Choose a reason for hiding this comment

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

Really nice improvement in UX ✨

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Actually this gets a bit tricky when we want to replace "Top Pages" -> "Conversion Pages" when filtering by a goal. As soon as the navigation event (let's say applying the goal filter) happens, the component instantly starts to load (optimistically, relying on the phx-navigation-loading class). During that optimistic loading we don't know whether the report title should be Conversion/Top pages. It requires a round-trip to the server to know whether a goal filter is applied or not.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I got the green light to revert the dynamic report title change and keep it static as it was before a couple of days ago. Before we do that though, let's make sure there's a plan to overcome the issue with hooks in a deadview. Not a blocker to this PR anyways.

@zoldar
Copy link
Contributor

zoldar commented Jan 7, 2026

Ah, and there's a failing test case for external link fn under CE when running against a consolidated site: https://github.com/plausible/analytics/actions/runs/20778435502/job/59669814176?pr=5986

@RobertJoonas RobertJoonas added this pull request to the merge queue Jan 7, 2026
Merged via the queue into master with commit 997546f Jan 7, 2026
18 checks passed
@RobertJoonas RobertJoonas deleted the fix-pages-live branch January 7, 2026 16:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants