Comments (13)
Sorry for the trouble, and thanks for trying! I’ll report back here if we learn anything on this problem.
from framework.
Are you seeing any errors or failed requests in either the preview server console, or in your browser’s console?
from framework.
I'm not getting any errors or anything in the console. I did notice that for the dataset that isn't loading, after clearing the cache and restarting the server, I'm seeing it send more GET requests to the problematic file the first time and fewer the second time, when the issue starts to present. I switched the hash to ellipses to save space below.
Load 1:
HEAD /_file/data/problematic.parquet?sha=...
GET /_file/data/problematic.parquet?sha=...
GET /_file/data/problematic.parquet?sha=...
GET /_file/data/problematic.parquet?sha=...
GET /_file/data/problematic.parquet?sha=...
GET /_file/data/problematic.parquet?sha=...
Load 2 (fewer calls to problematic.parquet):
HEAD /_file/data/problematic.parquet?sha=...
GET /_file/data/problematic.parquet?sha=...
GET /_file/data/problematic.parquet?sha=...
GET /_file/data/problematic.parquet?sha=...
GET /_file/data/problematic.parquet?sha=...
I'll continue to look into this to see if I can create a fully reproducible example. I've tried subsetting columns and rows of the files with issue to see if I can identify a specific column type or value in the data that is causing issues, but nothing has jumped out so far.
from framework.
I kept checking into this to find a minimally reproducible example. I've tested the process below on two computers just to be sure. I grabbed the 'weather.parquet' file from this page:
https://observablehq.com/@cmudig/duckdb-client
And I'm using this markdown file:
---
theme: dashboard
title: Example dashboard
toc: false
sql:
w: ./data/weather.parquet
---
```sql id=tbl2 display
select * from w limit 1
```
If I start the server with npm run dev, the page loads and everything looks great.
Then if I adjust the query to:
select * from w limit 2
and save, the page live reloads and now I see two rows as expected.
However, then if I manually refresh the browser using ctrl+r, the table returns to "no results" and fails until I clear the cache.
In addition, any query I run against the 'weather' dataset now fails with "no results" until I clear the cache - even restarting the server doesn't help. So it seems like my manual refresh might be the issue.
I'm coming to framework having used Observable in the Quarto implementation, so I'm probably just refreshing the page out of habit. Is this a bug, or should I just 100% avoid using anything but the live preview?
from framework.
I’m afraid I’m not able to reproduce.
Screen.Recording.2024-06-17.at.6.45.44.PM.mov
There shouldn’t be any issue with manually reloading the page. The fact that clearing the cache fixes the issue suggests that this may be a browser issue. If you’re willing, you could try updating or re-installing your browser, resetting your browser settings, uninstalling any extensions, or trying a different browser.
Since I can’t reproduce and can’t investigate further, I’m going to close this issue. But if you have any other hints, I’d be happy to take another look.
from framework.
Thanks for your help and for taking a look. Here's a similar setup on my screen with Chrome, Chrome in Incognito Mode, and Edge so you can see it live.
2024-06-18.02-58-06.mp4
from framework.
Browser extensions are disabled in incognito tabs, so the fact that it works in the incognito tab suggests that a browser extension may be at fault. Did you try disabling browser extensions as I mentioned?
from framework.
I just went through and double checked and reset both Chrome and Edge to their default settings and removed any extensions and unfortunately the problem persists.
I tried Firefox and oddly it does not seem to have the same problem.
Thanks again for checking into it. If I use arrow files instead the issue goes away, so I can continue to use framework.
from framework.
I'm just making a quick update here to note that the issue is likely related to duckdb-wasm:
Users noted there as well that the issue could not be reproduced on a Mac.
from framework.
@brichards920 - I am experiencing the same issue. I'd love to explore this a bit with you if I may.
Some documentation seem to suggest this is a Chrome on Windows issue. I did notice that when I run Observable in Firefox, or I start Chrome in Incognito mode, the problem goes away. What browser / OS are you using?
How are you generating the Parquet file? I am using Google BigQuery as my primary data source, with a Python data loader that uses Pandas to query BigQuery, and saving the Parquet file with df.to_parquet()
from framework.
@massyn my situation sounds like it is the same - I'm on Windows and I can see the issue in Chrome and Edge. I confirmed this on two separate computers before posting the issue to try to rule out odd settings on one of them.
Using incognito mode in Chrome or using Firefox fixes the issue. That would be OK for me during development, but I share my outputs with a fair number of viewers who are all on a Windows/Chrome setup and it wouldn't be reasonable to ask them to use those workarounds.
I originally encountered the issue generating parquet files in R using arrow::write_parquet. When I was putting together this issue I was concerned that my workflow for generating the parquet files might be the problem, but I was able to reproduce it with 'weather.parquet' from here as well: https://observablehq.com/@cmudig/duckdb-client
from framework.
Hi @mbostock - I'd like to ask that you reopen this issue. Both @brichards920 and myself are experiencing this issue, and it would help to have a place where we can work together to isolate this problem.
I have established a test project using the weather.parquet
file from your website, and I was able to produce the same behaviour as reported by @brichards920 .
The project can be viewed here
When it shows up
- When using
Google Chrome
onWindows
Workarounds
- Use
Firefox
(or any other browser that's not Chromium based) - Run Google Chrome in
Incognito
mode. - Use a different data file (
json
works, even thought the file is much bigger).
Some observations
- Looking at the browser dev tools, I notice that on first load, the weather.5d8516c3.parquet file is read from the site, and it works. On refresh, it reads the file from
disk cache
, and then it fails. - On incognito mode, it also changes to "disk cache" but somehow keeps working.
- The behaviour experienced is similar to that mentioned here duckdb/duckdb-wasm#1658.
It is likely that this is a DuckDB issue.
from framework.
I can reopen the issue but it’s unlikely we’ll be able to fix it if it’s an issue in DuckDB-Wasm. Probably better to upvote and follow duckdb/duckdb-wasm#1658.
from framework.
Related Issues (20)
- Keep the inspector open on update HOT 1
- Error after stopping the dev server when run in an npm workspace HOT 1
- Is is possible to send a static version by email?
- "Analyzing web logs" example page is erroring HOT 3
- Allow JSX’s import source (`npm:react`) to be configured
- Serialize asynchronous evaluation to improve performance HOT 2
- cleanUrls set to false do not change the home page link HOT 1
- Framework Cache not Initializing
- Importing `@google-cloud/bigquery` fails in JS snippets
- The SVG from Observable is not well read by Microsoft Word. HOT 1
- Show a warning when the preview server is disconnected
- Automatically add pages in a directory in the Config file without having to specify each one. HOT 4
- Preview Crash Due to Temporary Files Created by Vim HOT 1
- Should code be minimized HOT 5
- react/jsx should work with view HOT 3
- Timezone Trouble with DuckDB and Observable plot
- Broken link for responsive display documentation
- Generalizable creation of reactive inputs and their selected values
- How to make Framework HIPAA-compliant?
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 framework.