Cross-doc not syncing canvas images (among other things)

I’ve noticed that cross-doc will discard everything except text in canvas columns. Here is an example with an image, but I’ve noticed that it will also ignore an embedded table.
Screenshot 2023-02-27 at 13.06.11

Screenshot 2023-02-27 at 13.06.20

Even after I manually change the receiving column type to “canvas” the behaviour stays the same, probably because the imported column type is “text”.
Screenshot 2023-02-27 at 13.12.08

In this simple example it doesn’t seem like a big problem, but for me it basically means we should avoid using canvas if we plan to use cross-doc.

Is this a bug, a limitation, or is cross-doc implementation for canvas not finished yet?

6 Likes

I thought I would avoid this issue by using the “Ad row” function from the cross-doc pack but it has the same problem, it only copies text from canvas columns and ignores other contents.

It seems to me that the cross-doc pack was not updated to handle canvas columns completely.

@Shaina_Torgerson can you please check if this is a bug or an incomplete implementation, and when can we expect a possible fix?

1 Like

I am encountering this as well. Even using the Coda API, I can see the markdown (using ‘rich’ for the valueFormat) for canvas columns does not include embedded screenshots, they are completely filtered out. This is a show stopper for an implementation of ours. Are there any workarounds one can provide?

3 Likes

@orth my workaround was to make an additional column that transforms the canvas column into JSON using
thisRow.[name_of_canvas_column]._Merge() + ""

You still won’t be able to directly embed images, rather you have to embed images using a url. You can publicly host the image somewhere and use that url, or get the public url from a coda image. I made an image table and then get the url like this
ParseJSON(_Merge(thisRow.Image) + " ", "#/publicUrl").First()
(there is a delay until the url becomes available).

Then you need to add the new JSON column to your cross-doc table so it’s visible in the other document.

In the other document you the need to reconstruct the canvas column using
ParseJSON('{"o":' + thisRow.[name_of_json_column] + '}')._Deref_Object("o")
don’t forget to set the column type to canvas.

This is hobbled together from various posts on the coda forums, so you can search around for more info.

Of course keep in mind this is a workaround and might break in the future. Also, it will only transfer styling and (url embedded) images, and not other objects such as tables.

1 Like

I just ran into this problem and copy pasting doesn’t seem to work either.
I wish to give my team a canvas in every task so they can be creatively unhindered by the system, but at the same time I’d like to have a backup for system updates and such.

It seems like this is only a problem with files uploaded inside the doc.

1 Like

Hey there! I just set up tables that i sync across folders/docs. Just realized that the images in our canvas are not synced which is a show stoper as they are an essential part of the briefings we write using a table structure.

How can we get canvas images synced? We love the canvas as it allows to quickly and freely add more context.

Thank you!

2 Likes

Is there a way to make this happen / synch images in cross tables?

1 Like

Missing the ability to edit text in a cross-doc canvas column.

4 Likes

December 2024 and still the same behavior, cross-doced tables eat up images.
I have not noticed it documented anywhere, so I happily built a structure of linked docs, filled it with data… and now I need to revert back to sync pages, compromising on security.
(By the way, one of the reasons to split up the doc into multiple access-point to the same data was the still unresolved avatar behavior, where anyone can look click someone else’s avatar in the upper right corner and teleport to places they are not supposed to be, e.g. hidden pages, and see, what they are not supposed to see.)

2 Likes

Yes please, this would really make things easier to sync pre-built canvases across pages.

1 Like

Mar 2026 and this problem still exists. After 3 YEARS.

With all the flurry of new communication from Coda’s new Community Manager, it’s no wonder I am dubious and cynical that it will actually mean anything when these kinds of (basic) functionality still aren’t working after YEARS.

They keep asking anew for feedback about what to do with coda, but they have YEARS of posts in these forums detailing (often basic) requirements that remain unaddressed.

2 Likes

@Ruggy-Joesten … do you have any feedback to give the community regarding these kinds of requests / bugs / requirements that have been languishing in the forums for YEARS.

Rather than simply asking for new feedback, could you please address the feedback that has been given over and over again.

1 Like

My understanding/speculation is that Coda is working on a fundamental change that should address this.

They are building a “a database layer”, which can be accessed from any doc. I assume that functionality will to a large extent replace both Cross doc and Sync table functionality.

2 Likes

Hey Robin,

Totally fair question, and I’m glad you raised it.

One of the first things I dug into when I came on was exactly this: a significant amount of valuable product feedback and feature requests has built up over time, spread across the forum, old Slack threads, emails, and other channels. With the acquisition and some turnover on the community team, a lot of those insights ended up scattered in ways that made them hard to act on.

Consolidating that into a clear, single source of truth is a top priority for me right now, so the product team can actually review it, engage with it, and make informed decisions from it.

I hear you on the frustration of watching requests sit without clear follow-up. I can’t promise every older request will make it onto the roadmap, but I can promise that getting these signals organized, visible, and in front of the right decision-makers is a core part of my role. You should start to see movement on that soon.

And genuinely, thank you for continuing to push on this. That kind of persistence is often exactly what it takes to surface the right priorities internally.

4 Likes

Thanks for your reply Ruggy.

I really hope that this renewed communication from coda bears fruit.

One of the biggest complaints from the community over the years has been the lack of communication, most particularly in relation to the lack of a roadmap. So please, once you have consolidated all of that feedback from the last few years, please post that consolidated list to the community along with feedback for each point as to where it is sitting within coda, even if that feedback is that there won’t be any action on a particular request - what’s important is that we know there’s not going to be any action so that we can then take any necessary steps.

Frankly I think coda is exceptionally fortunate that so many long-timers have stuck around because they see the still-to-be-realised potential of coda. For myself I have dipped in and out over the years because of the lack of progress and communication and how frustrating it can be - it’s particularly frustrating when compared with how competing companies do it (eg. Notion, Capacities etc), with their frequent communication and clear roadmaps. I (and just about everyone I think) have never understood coda’s secrecy. Shishir’s postings along the lines of “I have so many great ideas I can’t tell you about ….” coupled with months and years of nothing actually appearing, I find particularly galling.

Anyway, thanks again for your reply. I truly hope your activity here on the forums is a positive portent that things will change. :crossed_fingers:

Best regards,

Robin

3 Likes