GitHub user kgeminicdev added a comment to the discussion: Sending messages via 
email on the dashboard is not working

The URL length probably isn't the problem. `generateUrl()` doesn't put the 
dashboard state in the link. It POSTs the filters and tabs to 
`/api/v1/dashboard/<id>/permalink`, the backend stores them, and you get back a 
short URL like `https://host/superset/dashboard/p/<key>/`. The full `mailto:` 
is usually well under 200 characters, so you're nowhere near the 
~2000-character limits some clients have.

Things that actually break this:

1. **No mail handler.** Setting `window.location.href = 'mailto:...'` never 
throws. If the OS or browser has no default mail app, nothing happens and you 
get no error. Paste `mailto:[email protected]` into the address bar to check.
2. **Superset running in an iframe.** A sandboxed or cross-origin iframe can 
block the `mailto:` navigation. Chrome logs `Not allowed to launch 
'mailto:...'` in the console. If that's you, the embedding iframe needs 
`allow-top-navigation-by-user-activation` (or `allow-popups`, if you switch to 
`window.open`).
3. **The permalink request fails.** You'd see the "Sorry, something went wrong" 
toast. Look at the POST `/api/v1/dashboard/<id>/permalink` request in the 
Network tab for a 403 or 400 (share permission, CSRF, and so on).
4. **Custom copy of the component.** On recent master, `getDashboardPermalink` 
resolves to `{ key, url }` instead of a string. If you upgraded Superset but 
kept the old `generateUrl`, the email body will contain `[object Object]`. Use 
`(await getDashboardPermalink(...)).url`.

If your screenshot really does show a huge URL in the body, the link isn't 
coming from the permalink API, and something in your fork is building it.


GitHub link: 
https://github.com/apache/superset/discussions/45341#discussioncomment-18962943

----
This is an automatically sent email for [email protected].
To unsubscribe, please send an email to: 
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to