Skip to content

Reports open instead of download #1148

Description

@TheSpyder

Description

Downloading a report has a variety of different behaviours, as browsers try to show file types they support:

  • PDF opens (all browsers)
  • Excel downloads (all browsers)
  • CSV opens on Safari (in plain text, ugh) but downloads on Chrome/Firefox
  • ODS downloads (all browsers)

I believe this is because the content-disposition header is set to inline instead of attachment. The header does include a filename, it's just set to not "download" as the button indicates.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Content-Disposition

Steps To Reproduce

  1. Create a PDF report (or CSV if using Safari).
  2. Click download
  3. File does not download

Curl result:

$ curl -I 'https://<myserver>/storage/exports/time-entries-report-2026-07-03_12-30-15-eb4c84d8-78d1-41d1-9005-84ae0e26cfed.pdf?expires=1783082116&signature=<removed>'
HTTP/2 200
server: openresty
date: Fri, 03 Jul 2026 12:30:24 GMT
content-type: application/pdf
content-length: 118366
cache-control: max-age=0, must-revalidate, no-cache, no-store, private
content-disposition: inline; filename=time-entries-report-2026-07-03_12-30-15-eb4c84d8-78d1-41d1-9005-84ae0e26cfed.pdf
content-security-policy: default-src 'none'; style-src 'unsafe-inline'; sandbox
strict-transport-security: max-age=63072000;includeSubDomains; preload
x-served-by: <myserver>

Self-hosted or Cloud?

Self-Hosted

Version of solidtime: (for self-hosted)

Version v0.15.1 Build ab9f6e6

solidtime self-hosting guide: (for self-hosted)

https://docs.solidtime.io/self-hosting/guides/docker

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions