Comments (13)
I've noticed that too, possibly has to do with the PR I did awhile back. Will take a look on Wednesday when I'm back at work.
from tabletop.
Just ran into the same issue. Passing option prettyColumnNames: false
fixes the loop error, but obviously breaks functions relying on specific column names.
from tabletop.
Apologies for the huge delay in getting back to this; I'll be doing some stuff with Flatware this weekend and will try to take a look.
from tabletop.
@Aendrew - it looks like the latest version of flatware does not sync using pretty column names (the data saved on AWS has underscores stripped and all column names set to lowercase). Could this have something to do with the issue? It also seems that fetchPrettyColumns
is never actually calling loadPrettyColumns
. Could it be that requestData()
is not handing off the proper object to the callback function?
Please excuse me if these are obvious questions and thanks for looking into this!
from tabletop.
@danswick Could very well be. TBH, it seems like an issue more with the new version of Sheets than anything; all my change did was tell the app to try the updated Sheets path based on env var. Have you tried setting FLATWARE_USE_OLD_SHEETS=true
(defaults to false
)?
from tabletop.
@Aendrew Just gave that a shot with no luck. Still getting non-pretty column names and the endless loop.
Regular old tabletop is working fine, including properly formatted column names, but column names are 'de-prettified' once they go through flatware.
Thanks again!
from tabletop.
Just tried a brand-new install of Flatware using 1.4.0 — confirming prettyColumns
is totally broken. I've never really used that option, so not sure how to fix it; I retract what I said earlier, seems more like an issue with Tabletop itself.
from tabletop.
Update: I get the following error when I try to replicate the issue via the NodeJS REPL:
TypeError: Cannot read property 'entry' of undefined
at Object.Tabletop.loadSheets (/Users/aendrew/Sites/tabletop/src/tabletop.js:308:34)
at Request._callback (/Users/aendrew/Sites/tabletop/src/tabletop.js:248:18)
at Request.self.callback (/Users/aendrew/Sites/tabletop/node_modules/request/index.js:142:22)
at Request.emit (events.js:110:17)
at Request.<anonymous> (/Users/aendrew/Sites/tabletop/node_modules/request/index.js:856:14)
at Request.emit (events.js:129:20)
at IncomingMessage.<anonymous> (/Users/aendrew/Sites/tabletop/node_modules/request/index.js:808:12)
at IncomingMessage.emit (events.js:129:20)
at _stream_readable.js:908:16
console.log'ing out the function argument returns:
<?xml version="1.0" encoding="UTF-8"?>\n<Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>FF1D335488BA3641</RequestId><HostId>S4ILNAhC75PlHcHNDzhWJ5LPh2mpIt1Qmj8gOo21Y5NEXlPvtZwb1ysEXLiPJKVvXTcVkcQ8Kc4=</HostId></Error>
Adding a "Everyone" view permission changes that to:
<?xml version="1.0" encoding="UTF-8"?>\n<Error><Code>NoSuchKey</Code><Message>The specified key does not exist.</Message><Key>feeds/worksheets/1PCeMMB6ty9KGbnvCwobSZOGv2rJ0z9-qt6JA5TBzodU/public/basic</Key><RequestId>9992E64FE86D64ED</RequestId><HostId>YxBcxymu0B2sw+4Gu4gKh6hplad7UzQXk3OvqouaXuvvMLbGMMZNxwbkoJbPldfqTiE40/OrvFQ=</HostId></Error>
Nevermind; it seems the "proxy" option just does not work in NodeJS. I get the same errors regardless of whether prettyColumns
is enabled or not.
Update2: Seems the root of the issue is like @danswick diagnosed — loadPrettyColumns
isn't loading. To backtrack for like the third time — it seems the issue is specifically with Flatware.
from tabletop.
^^ Please see the above issue on Flatware. According to the Tabletop readme, an extra request is necessary to get the pretty column names, and I'm pretty sure that Flatware doesn't do that yet.
from tabletop.
Oh wow, thanks for digging so deep into this, @Aendrew. Your diagnosis makes perfect sense.
from tabletop.
Thanks times a million for all of that @Aendrew! I'm taking a look now, hopefully we can get this all sorted out.
from tabletop.
As of this brand-new moment, prettyColumnNames
will default to false
if you're using a proxy (although you can override it). While we were at it, I also updated Flatware to use TLS instead of SSLv3, which Amazon has deprecated, so you might want to update even if you're passing in false
.
from tabletop.
Good to know! Thanks for the new release!
from tabletop.
Related Issues (20)
- How do I access the data in a specific sheet? HOT 1
- Spreadsheet with 2 sheets seems to randomly display one or the other HOT 1
- Is this still maintained? HOT 1
- Is there any way to make sub properties of the JSON objects? HOT 1
- Objects are columns, not rows HOT 2
- Unable to use postProcess with beforeReady
- Use with Webpack and other asset bundlers creates a bloated package HOT 3
- TypeError: undefined is not a function (near '...}).then(function (data, tab...') HOT 1
- compatibility with bootstrap.js/popper?
- stops at empty rows HOT 1
- Trouble accessing specific sheet data HOT 2
- error while putting sheet url HOT 2
- Cannot read property 'length' of undefined or CORS HOT 2
- Google sheets data export only for paid version? HOT 2
- Question: is there a way to save to a spreadsheet using tabletop? HOT 1
- Tabletop becoming obsolete :-( HOT 10
- The new PapaParse solution yields "No 'Access-Control-Allow-Origin' header" error HOT 17
- ¡Thanks Tabletop!
- Is tabletop still dying? HOT 18
- 404 on the Google sheet feeds HOT 13
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tabletop.