GitHub issues jasper smaller issues branch - #118
Conversation
…l fix for warning on available data tables.
There was a problem hiding this comment.
🟡 Changes recommended
The query builder can still break when the node returns zero tables, which can set selected table state to undefined.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
This PR addresses several small UX and correctness issues in Beacon Studio. It adds a beta info toast, curates tables on public demo nodes, fixes node/table mismatches during async loads, and enables horizontal scrolling in wide tables.
Changes:
- Filter available tables for specific public nodes via a hardcoded allow-list, and improve default table fallback logic.
- Show a one-time 20-second beta info toast on the home page.
- Improve table horizontal overflow behavior in the table explorer and shared
DataTablecomponent styles.
File summaries
| File | Description |
|---|---|
| src/routes/visualisations/table-explorer/+page.svelte | Allow flex children to shrink so horizontal overflow can work correctly. |
| src/routes/+page.svelte | Add one-time beta info toast on mount. |
| src/lib/services/open-nodes.ts | Define allow-listed tables for specific public nodes. |
| src/lib/components/visualisation/DataTable.svelte | Enable horizontal scrolling for wide tables by adjusting table sizing and nowrap behavior. |
| src/lib/components/query-builder/QueryBuilder.svelte | Guard against stale async results and improve default table selection fallback. |
| src/lib/beacon-api/client.ts | Filter /api/tables results for curated public-node tables. |
Review details
- Files reviewed: 6/6 changed files
- Comments generated: 3
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| if (node?.url !== requestedUrl) return; | ||
|
|
||
| // A node can have no default table configured, so this is an offer, not a | ||
| // requirement. Fall back to the first table when it fails or is unusable. | ||
| let default_table: string | undefined; | ||
|
|
||
| try { | ||
| default_table = await client.getCachedDefaultTable(); | ||
| } catch (error) { | ||
| console.warn('Could not read the default table of the Beacon node.', error); | ||
| } | ||
|
|
||
| if (node?.url !== requestedUrl) return; | ||
|
|
||
| if (!default_table || !tables.includes(default_table)) { | ||
| default_table = tables[0]; | ||
| } | ||
|
|
| /** | ||
| * Temporary fix: the tables to show for a public node, keyed by normalized URL. | ||
| * A public node can hold tables not meant for the demo, so the data-tables page | ||
| * shows only this set for these nodes. Remove once the public list carries its | ||
| * own table set. | ||
| */ |
| message: | ||
| 'Beacon Studio is still in Beta stage, please provide any feedback by clicking "Feedback" in the bottom left corner.' | ||
| }); |
There was a problem hiding this comment.
🟡 Changes recommended
The schema-access allowlist gap and reactive palette issue remain unresolved; unused markup should also be removed.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Review details
- Files reviewed: 15/15 changed files
- Comments generated: 3
- Review effort level: Lite
| const solidPalette = $derived.by(() => { | ||
| const palette = draft?.style.palette; | ||
| if (palette && getColormap(palette).solid) return palette; | ||
| return DEFAULT_SOLID_PALETTE_ID; |
| <!-- <span class="pending" title={PENDING_HINT}> | ||
| <Button variant="link" disabled>View all examples</Button> | ||
| </span> | ||
| </span> --> |
Keeping track of issues closed
DO NOT MERGE UNTIL REQUESTED.
fixed
#97
list of allowed tables for wod and era5. auto selects first table in query builder if default table is unavailable
#98
info toast for 20s on mount with message about beta verison
#115
data table was being matched on active node instead of the node from the shared query
#111
Horizontal scrolling added to table explorer when columns exceed available table width
#66
Scatterplot and cross section plot are now able to draw when no z value is selected. default color set to blue, only solid colors are available.
some other minor changes