Autocomplete options are quite slow when they are simple static (unchanging) sets of values

The autocomplete parameter option allows for both static and dynamic options. From using the sync table, it’s noticeably slow to load the autocomplete options even when they are static, which degrades the usability when there are many params to select.

Based on simple testing it seems to be up to 10 seconds cold start, and then 2-3 seconds each other time after opening the menu.

2 Likes

I agree, it also seems there’s no caching happening for autocomplete

1 Like

The problem is that even when they are static, it requires a round trip to the server to get the static values as well. I agree the performance should be much better to what it is right now.

There are many instances of Coda server round trips being absurdly slow for a modern system. This is the case with doing api calls through a pack as well. Nearly unusable for many use cases. Coda has confirmed several times that the slowness is as designed, not a bug.

Thank you everyone for the direct feedback, it’s healthy for us to hear it! The cold start time is an issue for all Pack executions, but since parameter autocomplete can often be the first interaction it is where users can feel it most acutely.

For two-way sync property options (similar to parameter autocomplete) we actually found a way to bake the static values into the schema so there is no delay, and the experience is quite nice. We could look to see if someone similar could be done with parameter autocomplete, but it may be that the infrastructure isn’t as compatible.

It does appear that we aren’t caching the autocomplete executions, which could be one easy improvement to make. I’ll pass all of this feedback on to the Packs product and engineering team for consideration.

2 Likes

+1 on this. I’d love if it worked like this:

autocomplete is a hardcoded array of strings or {display, value} objects — bake in, don’t query the server.
autocomplete is a function — do the request.

In my latest pack, Formula tables, I have autocomplete for a choice of orientation: rows or columns. Those are always the two options and there is no reason to query them ever.