Images no longer appearing in Print/PDF
Is there an existing issue for this?
- [x] I have searched the existing issues
This is not related to configuring Outline
- [x] The issue is not related to self-hosting config
Current Behavior
Whenever I press three dot menu -> "Print", the images quickly vanish and don't appear in the generated PDF.
https://github.com/user-attachments/assets/643a488d-e008-4438-b006-b4d27c2d4c06
Expected Behavior
This used to work, images used to appear in the print. I'm not sure what changed.
Steps To Reproduce
No response
Environment
- Outline: (latest as of now)
- Browser: Chrome
Anything else?
No response
I can't reproduce this issue on cloud or local development, does it happen for all images on all pages?
I also notice that the entire sidebar and some of the header buttons go missing in the background, likely related.
I have reported this issue several times, but it still has not been resolved. - #7087 #8666
The issue does not occur in the exported HTML, but it only occurs when printing the page.
@tommoor When I changed the 'Emulate CSS media type' to 'print' in DevTools, the print function seemed to work normally. However, when clicking the print button in the normal state, the page is re-rendered. During this process, images that haven't fully loaded in time may fail to print.
Would it be possible to test this scenario with network throttling or emulated network conditions to replicate slower loading times?
Next time it happens take a look in the network requests and see if there are failed requests for the images.
@tommoor Chrome browser has this issue.
as you can see, images network requests are pending status.
firefox - fine chrome/edge - has issue.
to avoid this error, simplly wait for image loading. or find other good solution.
ps. If you can't reproduce, just slow down network speed.
Nothing I do will reproduce this. One thing of note is that the images should not be reloading at all and don't in my tests – perhaps something is preventing the caching in your setup
I'm also experience this issue with chrome and edge. The mentioned workaround with "'Emulate CSS media type' to 'print' in DevTools" did work. I checked the network traffic and I don't see any image related connections when I open the print dialog.
Both my installations are behind a nginx reverse proxy. Is there anything that would help you reproduce this problem?
Same issue, Our Outline is behind Caddy (also tried behind Azure Application Gateway, same result) and images are not loading for print in Edge or in desktop edition. Everything else works nicely.
My docker compose file:
services:
outline:
image: ${OUTLINE_IMAGE}:${OUTLINE_TAG}
container_name: outline
env_file: ./.env
expose:
- "3000"
networks:
- caddy
- backend
volumes:
- outline_data:/var/lib/outline/data
depends_on:
- postgres
- redis
restart: always
deploy:
resources:
limits:
cpus: '5.0'
memory: 12G
reservations:
cpus: '3.0'
memory: 8G
labels:
caddy: "*.${BASE_DOMAIN}"
caddy.reverse_proxy: "outline:3000"
caddy.tls: "${CA_CONTACT}"
caddy.tls.dns: "cloudflare ${CF_API_TOKEN}"
caddy.tls.ca: "${CA_SERVER}"
caddy.tls.resolvers: "1.1.1.1"
caddy:
image: ${CADDY_IMAGE}:${CADDY_TAG}
container_name: caddy
env_file: ./.env
ports:
- 80:80
- 443:443
networks:
- caddy
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- caddy_data:/data
restart: always
deploy:
resources:
limits:
cpus: '2.0'
memory: 1G
reservations:
cpus: '0.25'
memory: 250M
redis:
image: ${REDIS_IMAGE}:${REDIS_TAG}
container_name: redis
env_file: ./.env
expose:
- "6379"
networks:
- backend
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 30s
retries: 3
restart: always
deploy:
resources:
limits:
cpus: '1.0'
memory: 1G
reservations:
cpus: '0.25'
memory: 250M
postgres:
image: ${POSTGRES_IMAGE}:${POSTGRES_TAG}
container_name: postgres
env_file: ./.env
command: -c 'max_connections=200'
expose:
- "5432"
networks:
- backend
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD", "pg_isready", "-d", "outline", "-U", "user"]
interval: 30s
timeout: 20s
retries: 3
restart: always
deploy:
resources:
limits:
cpus: '1.0'
memory: 1G
reservations:
cpus: '0.25'
memory: 250M
volumes:
outline_data:
driver: local
driver_opts:
type: none
o: bind
device: /var/lib/outline_data/data
postgres_data:
driver: local
driver_opts:
type: none
o: bind
device: /var/lib/postgres_data/data
caddy_data:
networks:
caddy:
backend:
My .env file (slightly redacted) and selected only relevant items. If you think you need some more ENVs then tell me which ones, did not want to paste entire file.
OUTLINE_IMAGE=outlinewiki/outline
OUTLINE_TAG=0.85
CADDY_IMAGE=redacted/foss/caddy-docker-proxy
CADDY_TAG=2.10
REDIS_IMAGE=docker.io/library/redis
REDIS_TAG=8
POSTGRES_IMAGE=docker.io/library/postgres
POSTGRES_TAG=17
# Reverse proxy related for certificate enrollment
BASE_DOMAIN=example.com
DOMAIN=wiki.${BASE_DOMAIN}
CF_API_TOKEN=redacted
[email protected]
CA_SERVER=https://acme-v02.api.letsencrypt.org/directory
CADDY_INGRESS_NETWORKS=caddy
URL=https://${DOMAIN}
COLLABORATION_URL=
CDN_URL=
FILE_STORAGE=local
FORCE_HTTPS=true
This issue seems to no longer occur on our instance after updating from 0.84.0 to 0.86.1.