Skip to content

GitHub issues jasper smaller issues branch - #122

Draft
Jasper-Maris wants to merge 5 commits into
mainfrom
github-issues-jasper-smaller-issues-branch
Draft

Jasper-Maris wants to merge 5 commits into
mainfrom
github-issues-jasper-smaller-issues-branch

Conversation

@Jasper-Maris

@Jasper-Maris Jasper-Maris commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

###Changes

launchpad card resembles example cards

added slack to feedback from

#119
TODO

#120
Using beacon studio for the first time through a shared query link no longer throws a warning and redirects to the home page but keeps the user waiting for the public nodes to be fetched and builds the query.

#123
Button added, page linked to not ready yet.

#124
Numeric filter inputs now only allow numeric values and write these as numeric to the query json

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Three unresolved moderate issues remain in public-node loading, workspace lifecycle handling, and launchpad sizing.

Get a fresh assessment by requesting another Copilot review.

Pull request overview

This pull request improves shared-query startup and public-node loading, refreshes the launchpad, adds Studio navigation, and updates numeric query filters.

Changes:

  • Restyles the launchpad card and adds a Studio information link.
  • Adds public-node synchronization and loading feedback.
  • Uses numeric inputs and numeric query values for numeric filters.
  • Leaves issue #119 as a TODO.
File summaries
File Summary Review notes
src/routes/+page.svelte Updates the launchpad card layout. Moderate, 1 vote: the active card may become narrower than the 280px grid minimum; let it fill its grid track.
src/routes/+layout.svelte Starts public-node synchronization.
src/lib/stores/toasts.ts Returns toast identifiers.
src/lib/services/open-nodes-import.ts Tracks public-node readiness. Moderate, 3 votes: shared links can report public nodes missing before synchronization completes; settle this after syncOpenNodes().
src/lib/components/sidebar/AppSidebar.svelte Handles waiting and navigation.
src/lib/components/query-builder/QueryWorkspace.svelte.ts Delays missing-node warnings. Moderate, 2 votes: the failure callback can outlive the workspace and warn on the next page; cancel or lifecycle-guard it.
src/lib/components/query-builder/QueryWorkbenchPanes.svelte Passes node readiness state.
src/lib/components/query-builder/QueryBuilderNodeSelector.svelte Displays node loading status.
src/lib/components/query-builder/QueryBuilder.svelte Accepts node readiness state.
src/lib/components/query-builder/QueryActions.ts Warns while nodes load.
src/lib/components/query-builder/ParameterFilter.svelte Uses numeric filter inputs.
AGENTS.md Documents public-node startup behavior.
Review details

Suppressed comments (1)

src/routes/+page.svelte:237

  • Because the map and chart cards remain commented out, this cap makes the only active card 32.7% wide. On narrow screens, the card can become narrower than the 280px grid minimum. Let the item fill its grid track.
				max-width: 32.7%;
  • Files reviewed: 12/12 changed files
  • Comments generated: 2
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +208 to 215
void whenOpenNodesSettled().then(() => {
if (resolveRef(nodeRefFromUrl(url))) return;

addToast({
type: 'warning',
message: `This query needs the Beacon node ${url}. Add it to run the query.`
});
});
Comment on lines +36 to +56
// A saved node list means the first visit is over. Nothing to wait for.
const hasNodes = getNodes().length > 0;

const settledStore = writable(hasNodes);

/**
* True after the public list lands, or after its fetch fails.
*
* A share link names its node by URL. On a first visit the saved list is empty,
* so that name resolves to nothing until the public list lands. A page reads
* this store to hold back a "node not found" message until the app can tell.
*/
export const openNodesSettled: Readable<boolean> = readonly(settledStore);

let settle: () => void = () => {};

const settledPromise = hasNodes
? Promise.resolve()
: new Promise<void>((done) => {
settle = done;
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants