Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

getFileContents returns an object even with format: 'text' specified for json files #267

Closed
mofojed opened this issue Aug 9, 2021 · 4 comments

Comments

@mofojed
Copy link

mofojed commented Aug 9, 2021

Steps to Reproduce:

  1. Connect to a webdav client that has a simple JSON file, eg. simple-array.json: ["a", "b", "c"]
  2. Use the client to retrieve the contents as a string:
const content = await client.getFileContents('./simple-array.json', { format: 'text' });
console.log('Content type is', typeof content);
  1. Check the console log

Expected Results:
3) Content type is string printed to the console

Actual Results:
3) Content type is object printed to the console. The returned contents are not a string.

mofojed added a commit to mofojed/web-client-ui that referenced this issue Aug 9, 2021
I still don't like this workaround because you're not getting the raw file contents.
Needs an upstream fix: perry-mitchell/webdav-client#267
@perry-mitchell
Copy link
Owner

Good catch! Just reproduced this. It is indeed a bug, and probably due to the underlying request library I'm using.

@perry-mitchell
Copy link
Owner

Issue was with axios being buggy as heck - axios/axios#811

I'll be removing axios in the next major version..

@perry-mitchell
Copy link
Owner

Publishing as 4.6.1

@mofojed
Copy link
Author

mofojed commented Aug 16, 2021

Awesome, thanks for the quick response!

mofojed added a commit to mofojed/web-client-ui that referenced this issue Aug 23, 2021
Now need to import it - I think should be able to do that through updateWorkspaceData and just setting the new layout config, then having DashboardContainer to a prevProps.layoutConfig !== layoutConfig check and updating the layout if necessary.

WIP import layout

Not working correctly right now, dashboard is updating too frequently

Export/Import layout testing functionality

WIP load the first layout from the layouts folder

WIP hydrate the makeModel

This will probably change up when I've split out the dashboard plugins, but it's fine here for now

WIP hydrate ChartPanel tab

The way we are hydrating panels isn't great yet. Still need lots of cleanup, and need to make sure the session initializes even without a ConsolePanel present. Lots to cleanup, but coming along!

Move session initialization to AppInit instead of ConsolePanel

- In Application Mode, we may not have a ConsolePanel
- Just initialize the session before the layout is loaded

Add a workaround when getting a file with JSON contents

I still don't like this workaround because you're not getting the raw file contents.
Needs an upstream fix: perry-mitchell/webdav-client#267

WIP add panels menu - currently has hardcoded items

JSAPI currently doesn't report which objects are available

Move the Export/Import layout buttons to the WidgetList

... might still rename it PanelList

Bring layout initialization up to AppInit

Cleans it up a little bit

Clean up styling of export/import buttons

- Icons/styling doesn't look perfect yet, I'll ask Don when he gets back how to do the circle behind the arrow
- Background colour doesn't match the spec yet, but it's the same colour as the controls menu. Will confirm with Don

NEXT: empty dashboard screen

Add the empty dashboard view

- Button to autofill objects
- Hint pointing to panels menu

Clean up tests

Still have a few TODOs to do, but all the tests currently pass

Clean up based on self-review

- Remove unused redux actions
- Clean up some other code

Point to the new layouts directory

Added reset layout functionality

Cleaned up app init a little bit

Now you can reset your layout to the default easily.

Fix linting errors

Fix missing layout storage issue

Subscribe to field updates

Now the connection has the field updates to get the list of variables from

Clean up to match Nate's latest spec, add some unit tests

Update packages/code-studio/src/main/LayoutStorage.ts

Co-authored-by: vbabich <vladimir.babich@gmail.com>

Remove kludge for fetching webdav content

It is no longer required

Clean up based on review

- Rename session to sessionWrapper
- Fix a couple of spelling errors

Update based on Nate's latest changes

Need to fetch based on widget id rather than name...

Add error listener on connection

Add additional error handling based on Colin's updates

Remove `getTable` and `getFigure` from DhSession definition

There is only `getObject` now.

Fix up sorting of panels, dashboard not coming back from empty

Update the error message

Fix up how fonts are pre-loaded

Now they're done in AppInit, so while loading the workspace. Also listen for when fonts are finished loading before loading the rest of the app.

Fix how charts are opened

There's still a problem with the chart opening though...

Fix up the order of arguments in ChartModelFactory
mofojed added a commit to mofojed/web-client-ui that referenced this issue Aug 23, 2021
I still don't like this workaround because you're not getting the raw file contents.
Needs an upstream fix: perry-mitchell/webdav-client#267
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants