You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Encountering an issue where canvases are not being included in the Slack export.
Looked through related issues but didn't find a resolution, let us know if we can provide any additional information (or if this is due to foolish user error)...
Important
Thank you to all the contributors for this great program! 🙌
1. Expected Behavior ✔️
Tip
Example Slack channel with Canvas and File
Running slackdump export against a Slack channel will export all messages, files, and canvases in that channel:
➜ slackdump list channels | grep example
C09LMSB1G2V - #example
➜ slackdump export C09LMSB1G2V
INFO export completed
└ output: slackdump_20251113_140139.zip
➜ slackdump view slackdump_20251113_140139.zip
2. Actual Behavior ❌
Caution
Messages and Files are exported successfully, but attempting to view the Canvas results in a 500 error with seeker can't seek response
slackdump view Logs
slackdump view slackdump_20251113_110931.zip
2025-11-13 11:37:18 INFO opening archive
├ source: slackdump_20251113_110931.zip
└ flags: ....E.z.
▓ Slackdump Viewer is loading files [0s]
2025-11-13 11:37:18 INFO listening on addr: 127.0.0.1:8080
2025/11/13 11:37:19 "GET http://127.0.0.1:8080/ HTTP/1.1" from 127.0.0.1:61446 - 200 10064B in 483.209µs
2025/11/13 11:37:19 "GET http://127.0.0.1:8080/favicon.ico HTTP/1.1" from 127.0.0.1:61446 - 200 10064B in 192.375µs
2025-11-13 11:37:21 ERROR error rendering block
├ error: missing handler fortype canvas calledin renderer.(*Slack).rteSection
├ block_type: rich_text
└ message_ts: 1760377833.583569
{
"type": "rich_text",
"block_id": "EGdT4",
"elements": [
{
"type": "rich_text_section",
"elements": [
{
"type": "text",
"text": "Liam Beckman made updates to a canvas tab: "
},
{
"type": "canvas",
"Raw": "{\n \"type\": \"canvas\",\n \"Raw\": \"{\\\"type\\\":\\\"canvas\\\",\\\"Raw\\\":\\\"{\\\\\\\"type\\\\\\\":\\\\\\\"canvas\\\\\\\",\\\\\\\"file_id\\\\\\\":\\\\\\\"F09L9068RRQ\\\\\\\"}\\\"}\"\n }"
}
]
}
]
}
2025-11-13 11:37:21 INFO error flushing stderr: sync /dev/stderr: inappropriate
│ ioctl for device
2025/11/13 11:37:21 "GET http://127.0.0.1:8080/archives/C09LMSB1G2V HTTP/1.1" from 127.0.0.1:61446 - 200 7633B in 2.794417ms
2025/11/13 11:37:23 "GET http://127.0.0.1:8080/slackdump/file/F09SLJFU6LT/example.txt HTTP/1.1" from 127.0.0.1:61446 - 200 14B in 13.373084ms
2025/11/13 11:37:25 "GET http://127.0.0.1:8080/slackdump/file/F09L9068RRQ/Example_Canvas HTTP/1.1" from 127.0.0.1:61446 - 500 18B in 193.125µs
3. Environment ⚙️
Slackdump 3.1.9 (commit: Homebrew) built on: 2025-11-09T03:03:46Z
Overview 🌀
Encountering an issue where canvases are not being included in the Slack export.
Looked through related issues but didn't find a resolution, let us know if we can provide any additional information (or if this is due to foolish user error)...
Important
Thank you to all the contributors for this great program! 🙌
1. Expected Behavior ✔️
Tip
Example Slack channel with Canvas and File
Running
slackdump exportagainst a Slack channel will export all messages, files, and canvases in that channel:2. Actual Behavior ❌
Caution
Messages and Files are exported successfully, but attempting to view the Canvas results in a
500error withseeker can't seekresponseslackdump viewLogsslackdump view slackdump_20251113_110931.zip 2025-11-13 11:37:18 INFO opening archive ├ source: slackdump_20251113_110931.zip └ flags: ....E.z. ▓ Slackdump Viewer is loading files [0s] 2025-11-13 11:37:18 INFO listening on addr: 127.0.0.1:8080 2025/11/13 11:37:19 "GET http://127.0.0.1:8080/ HTTP/1.1" from 127.0.0.1:61446 - 200 10064B in 483.209µs 2025/11/13 11:37:19 "GET http://127.0.0.1:8080/favicon.ico HTTP/1.1" from 127.0.0.1:61446 - 200 10064B in 192.375µs 2025-11-13 11:37:21 ERROR error rendering block ├ error: missing handler for type canvas called in renderer.(*Slack).rteSection ├ block_type: rich_text └ message_ts: 1760377833.583569 { "type": "rich_text", "block_id": "EGdT4", "elements": [ { "type": "rich_text_section", "elements": [ { "type": "text", "text": "Liam Beckman made updates to a canvas tab: " }, { "type": "canvas", "Raw": "{\n \"type\": \"canvas\",\n \"Raw\": \"{\\\"type\\\":\\\"canvas\\\",\\\"Raw\\\":\\\"{\\\\\\\"type\\\\\\\":\\\\\\\"canvas\\\\\\\",\\\\\\\"file_id\\\\\\\":\\\\\\\"F09L9068RRQ\\\\\\\"}\\\"}\"\n }" } ] } ] } 2025-11-13 11:37:21 INFO error flushing stderr: sync /dev/stderr: inappropriate │ ioctl for device 2025/11/13 11:37:21 "GET http://127.0.0.1:8080/archives/C09LMSB1G2V HTTP/1.1" from 127.0.0.1:61446 - 200 7633B in 2.794417ms 2025/11/13 11:37:23 "GET http://127.0.0.1:8080/slackdump/file/F09SLJFU6LT/example.txt HTTP/1.1" from 127.0.0.1:61446 - 200 14B in 13.373084ms 2025/11/13 11:37:25 "GET http://127.0.0.1:8080/slackdump/file/F09L9068RRQ/Example_Canvas HTTP/1.1" from 127.0.0.1:61446 - 500 18B in 193.125µs3. Environment ⚙️
4. Additional Resources 📚