Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Using Public Link on click behavior Results in Dashboard Not Found #28269

Closed
dhodge250 opened this issue Feb 13, 2023 · 7 comments
Closed

Using Public Link on click behavior Results in Dashboard Not Found #28269

dhodge250 opened this issue Feb 13, 2023 · 7 comments
Labels
Embedding/Public Simple public iframe embeds Embedding/Static Static embedding, previously known as signed embedding Priority:P2 Average run of the mill bug .Team/Embedding Type:Bug Product defects

Comments

@dhodge250
Copy link

Describe the bug
We have created a singular main reporting dashboard with multiple sub-dashboards connected to the questions in main using Public links. The main dashboard is embedded in our company website for access by non-technical business users. Since upgrading to v0.45.2.1, clicking on a question on the main dashboard no longer takes us to the linked sub-dashboard. Instead, the Not Found image is displayed after clicking on the linked question.

Logs
After clicking on a question from the main dashboard, these are the only log messages that are created:

[4474b2ba-e6b3-46f8-8b89-bd6d89f3ebe8] 2023-02-13T08:13:15-08:00 DEBUG metabase.server.middleware.log GET /api/session/properties 200 10.1 ms (4 DB calls) App DB connections: 0/15 Jetty threads: 5/50 (2 idle, 0 queued) (112 total active threads) Queries in flight: 0 (0 queued)
[4474b2ba-e6b3-46f8-8b89-bd6d89f3ebe8] 2023-02-13T08:13:15-08:00 DEBUG metabase.server.middleware.log GET /api/user/current 200 8.5 ms (9 DB calls) App DB connections: 0/15 Jetty threads: 6/50 (2 idle, 0 queued) (112 total active threads) Queries in flight: 0 (0 queued)
[4474b2ba-e6b3-46f8-8b89-bd6d89f3ebe8] 2023-02-13T08:13:15-08:00 DEBUG metabase.server.middleware.log GET /api/database 200 4.6 ms (3 DB calls) App DB connections: 0/15 Jetty threads: 5/50 (2 idle, 0 queued) (112 total active threads) Queries in flight: 0 (0 queued)

There are no error messages that are generated, and no other messages are logged.

To Reproduce
Steps to reproduce the behavior:

  1. Embed a Metabase dashboard in a website that's on the same domain as the Metabase server
  2. Set the click behavior of a Metabase question in the embedded dashboard to Go to a custom destination, and use the Public link of another dashboard as the URL to link to
  3. After applying the click behavior to the Metabase question in the embedded dashboard, click on the question in the embedded dashboard
  4. See the results of the click action

Expected behavior
When the question in an embedded Metabase dashboard is linked to another dashboard using a Public link, and that question is clicked, we expect the linked dashboard to load in the embedded window.

Screenshots
Below are screenshots of the configuration of the Metabase question, and the result of clicking on the question from the embedded dashboard (names and identifiable information have been removed from the screenshots):
Metabase_Link
Metabase_NotFound

Information about your Metabase Installation:

You can get this information by going to Admin -> Troubleshooting.

  • Your browser and the version: Firefox 109.0.1, Microsoft Edge 110.0.1587.41
  • Your operating system: Windows 10.19044.2486
  • Your databases: Oracle 19c
  • Metabase version: v0.45.2.1
  • Metabase hosting environment: Unknown, but I'm guessing Docker
  • Metabase internal database: Postgres

Severity
This issue is blocking the usage of Metabase by our non-technical business users (20+ people) through the embedded dashboard. Our technical users (3 people) can still access the required dashboards directly through the Metabase site. We currently have not given the 20+ users access to our Metabase instance yet as we are still testing out the application.

Additional context
We only started experiencing this issue after upgrading from v.0.40.x.x to v.0.45.2.1.

If I click on a linked question on the Metabase dashboard from directly within the Metabase site (not through the embedded dashboard), the Public link dashboard loads in Metabase, but the left-side drawer window does not disappear and I am not able to scroll through the dashboard (see screenshot below). I have to refresh the window in order to view the dashboard correctly.

This issue is also not happening to any specific Public link dashboard, but rather all of them.

Metabase_Dashboard

@paoliniluis
Copy link
Contributor

Do you have configured the URL you're configuring in the public link in settings->general?

@dhodge250
Copy link
Author

Yes, I can confirm under the Settings->Public Sharing section the Public links for the affected dashboards are all there.

Metabase_Config

@paoliniluis
Copy link
Contributor

May I rephrase my question again: the url you have in settings->admin-> general, is it the same as the one your instance is responding?

@dhodge250
Copy link
Author

I understand now. Yes the Site URL configured under Settings->Admin->General is the same URL as our instance is using.

@paoliniluis
Copy link
Contributor

Interesting finding, thanks

@paoliniluis paoliniluis changed the title Using Public Link Results in Dashboard Not Found Using Public Link on click behavior Results in Dashboard Not Found Feb 15, 2023
@paoliniluis paoliniluis added Embedding/Public Simple public iframe embeds Embedding/Static Static embedding, previously known as signed embedding Priority:P2 Average run of the mill bug and removed .Needs Triage labels Feb 15, 2023
@likeshumidity
Copy link
Contributor

Additional notes:

  • A signed embedded dashboard that has click behavior with a link to a public URL does not behave as expected
  • When the link is clicked, Not found is shown, but if the iframe is reloaded, the public embed URL loads correctly

Repro steps:

  1. Create Question A as Sample Data > Accounts

  2. Create Question B as a duplicate of Question A

  3. Add Question A to Dashboard A with filters for Created At Date and Plan

  4. Add Question B to Dashboard B with filters for Created At Date and Plan

  5. Publish signed embedding URL for Dashboard A

  6. Enable public embedding for Dashboard B

  7. Edit Dashboard A to add a click behavior to go to a custom destination that is the URL for dashboard B to the Plan column like http://localhost:1466/public/dashboard/ee461ba3-17ac-40a3-b012-7e3e24ee8d4f?single_date={{CREATED_AT}}&plan={{column:PLAN}}
    image

  8. Embed Dashboard A using signed embedding

  9. Open the embedded Dashboard A
    image

  10. click a value in the Plan column that should load the public Dashboard B URL with the two parameters

  11. See the Not found error

  12. Right-click inside the iframe and click Reload Frame
    image

  13. See that the public URL for Dashboard B is loaded and is working correctly
    image

@WiNloSt
Copy link
Member

WiNloSt commented Feb 22, 2024

Duplicate of #38640, fixed by #38647

I followed the repro from this comment which is pretty much #38640. And couldn't repro this anymore since it's fixed by #38647

@WiNloSt WiNloSt closed this as completed Feb 22, 2024
@darksciencebase darksciencebase closed this as not planned Won't fix, can't repro, duplicate, stale Apr 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Embedding/Public Simple public iframe embeds Embedding/Static Static embedding, previously known as signed embedding Priority:P2 Average run of the mill bug .Team/Embedding Type:Bug Product defects
Projects
None yet
Development

No branches or pull requests

6 participants