Skip to content

AI Slop 2.0#32

Merged
antonkorotkov merged 47 commits into
masterfrom
refactoring
Apr 30, 2026
Merged

AI Slop 2.0#32
antonkorotkov merged 47 commits into
masterfrom
refactoring

Conversation

@antonkorotkov
Copy link
Copy Markdown
Owner

@antonkorotkov antonkorotkov commented Mar 12, 2026

Summary

Major architectural rewrite of Elastron, bumping the app from 1.7.0 → 2.0.0. The renderer was migrated from a Rollup-bundled Svelte SPA to a SvelteKit (adapter-node) server forked by Electron at runtime, and Elasticsearch logic moved out of the main process into proper backend-for-frontend HTTP routes. Along the way: SSH tunneling, a query playground, cluster monitoring, multi-window support, ES9 client, list virtualization, and a comprehensive Vitest test suite.

Architecture

  • Build system: Rollup → Vite + SvelteKit (vite.config.js, svelte.config.js, adapter-node).
  • Process model: main.js now fork()s the built SvelteKit server (build/index.js) on a free port discovered via get-port, polls it until ready, then loadURLs it. No more file:// loading; the renderer always talks to a real local Node HTTP server.
  • Preload / IPC hardening: removed nodeIntegration: true / contextIsolation: false; introduced preload.js with a narrow contextBridge surface and explicit channel allowlists (header-doubleclick, check-for-updates, window:new, update_available, update_downloaded).
  • Backend-for-frontend: all Elasticsearch operations moved out of app/requests-node-proxy.js and into SvelteKit +server.js routes under src/routes/api/elastic/** (alias, allocation, cluster, document, index, indices, nodes, request, search, shards, test, tunnel).
  • Persistence: local-storage replaced with electron-store, surfaced to the renderer via a typed store:get / store:set IPC wrapper.
  • Source layout: everything moved under src/lib/... with $lib imports; legacy app/, public/, src/api/, src/store/, src/workspace/ trees removed; public/ → static/.

Features

  • SSH tunneling for connections (src/lib/server/tunnel.js, tunnelManager, ssh2) with tunnel/open and tunnel/close API routes and a SshTunnelFields UI in the connection dialog (closes implementing connections via ssh tunnel #41).
  • Cluster monitoring workspace: overview + nodes pages with uplot-based time-series charts (src/lib/workspace/monitoring/**).
  • API Playground with a templates drawer and key/value editor (src/lib/workspace/playground/**).
  • Multi-window support via a window:new IPC channel and route suffix in createWindow.
  • Elasticsearch 9 support: both clients bundled as aliases (elasticsearch8, elasticsearch9); createClient(connection) in src/lib/server/elastic.js selects by connection.version.
  • List virtualization for indices/shards via @tanstack/svelte-virtual (VirtualTable.svelte).
  • Auto-refresh for indices/shards lists (AutoRefreshButtonGroup).
  • Default table sorting, dark-mode polish, and various styling fixes.
  • Connections management UI rebuilt (ManageConnectionsDialog.svelte, ConnectDialog.svelte).
  • GA4 wired in via PUBLIC_GA_ID build-time env.
  • Removed the old elasticdump-based import/export workspace.

Tooling & quality

  • Vitest + jsdom + @testing-library/svelte introduced; ~70 new *.test.js / *.svelte.test.js files covering store modules, server helpers (elastic, tunnel), API surface, and most components.
  • ESLint upgraded to v10; eslint.config.mjs updated for the new layout.
  • Electron upgraded to v41 (from v36); Node 20 → 22 in CI.
  • release.yml: macOS job re-enabled with proper code signing (MAC_CERTIFICATE / CSC_LINK); PUBLIC_GA_ID plumbed through Linux/macOS/Windows builds.
  • Docs: new AGENTS.md and CLAUDE.md describing the process model and store conventions; README refreshed with new screenshots and feature list.

@antonkorotkov antonkorotkov self-assigned this Mar 12, 2026
@antonkorotkov antonkorotkov marked this pull request as ready for review April 1, 2026 07:43
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR migrates the app from the legacy Rollup + single-page Svelte entrypoint to a SvelteKit-based renderer (with route-based pages and SvelteKit server endpoints acting as a backend-for-frontend), while also modernizing state/storage, adding monitoring/playground surfaces, and introducing a Vitest test suite.

Changes:

  • Replace legacy src/main.js/src/App.svelte + Storeon router workspace with SvelteKit routes/layouts and new UI components under src/lib/**.
  • Add SvelteKit server endpoints under src/routes/api/elastic/** backed by a shared Elasticsearch client helper (src/lib/server/elastic.js).
  • Introduce Vitest + Testing Library tests across stores and UI components, plus new Vite/SvelteKit configuration.

Reviewed changes

Copilot reviewed 208 out of 258 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
vite.config.js Adds Vite config for SvelteKit + Testing Library + Vitest environment globs.
updater.js Adds/relocates Electron auto-updater helper to repo root.
svelte.config.js Adds SvelteKit config (adapter-node) and path aliases.
static/global.css Adjusts .scrollable overflow behavior for the new table layout approach.
src/workspace/WorkSpace.svelte Removes legacy workspace router-based container.
src/workspace/index/Index.svelte Removes legacy index page/tab container (replaced by SvelteKit routes/layout).
src/workspace/import-export/components/TypeSelector.svelte Removes legacy Import/Export UI (feature appears removed/reworked).
src/workspace/import-export/components/RemoteIndexSelector.svelte Removes legacy Import/Export remote index selector.
src/workspace/import-export/components/Options.svelte Removes legacy Import/Export options editor.
src/workspace/import-export/components/OptionItem.svelte Removes legacy Import/Export option row.
src/workspace/import-export/components/LogOutput.svelte Removes legacy Import/Export log output UI.
src/workspace/import-export/components/LogFilterCheckbox.svelte Removes legacy Import/Export log filter control.
src/workspace/import-export/components/LogControls.svelte Removes legacy Import/Export log controls UI.
src/workspace/import-export/components/Log.svelte Removes legacy Import/Export log wrapper.
src/workspace/import-export/components/FileSelector.svelte Removes legacy IPC-backed file picker component.
src/workspace/import-export/components/DirSelector.svelte Removes legacy IPC-backed directory picker component.
src/workspace/dashboard/Dashboard.svelte Removes legacy dashboard tabbed container (replaced by SvelteKit dashboard routes/layout).
src/utils/helpers.js Removes legacy helpers location (replaced by src/lib/utils/helpers.js).
src/store/routes.js Removes Storeon router module (routing moved to SvelteKit).
src/store/history.js Removes legacy local-storage backed history module (replaced by src/lib/store/history.js).
src/store/app.js Removes legacy app module (replaced by src/lib/store/app.js).
src/smoke.test.js Adds a basic Vitest smoke test.
src/routes/search/+page.svelte Adds SvelteKit Search page wiring to src/lib/workspace/search.
src/routes/playground/+page.svelte Adds SvelteKit Playground page wiring.
src/routes/monitoring/overview/+page.svelte Adds SvelteKit Monitoring overview page wiring.
src/routes/monitoring/nodes/+page.svelte Adds SvelteKit Monitoring nodes page wiring.
src/routes/monitoring/+page.js Adds default Monitoring redirect route.
src/routes/monitoring/+layout.svelte Adds Monitoring layout wrapper integrating MonitoringLayout.
src/routes/index/+page.svelte Adds empty /index page placeholder for layout-driven index UI.
src/routes/index/+layout.svelte Adds Index section layout with IndexSelector and tab navigation via nested routes.
src/routes/index/[index]/settings/+page.svelte Adds Index Settings tab route.
src/routes/index/[index]/overview/+page.svelte Adds Index Overview tab route.
src/routes/index/[index]/mapping/+page.svelte Adds Index Mapping tab route.
src/routes/index/[index]/aliases/+page.svelte Adds Index Aliases tab route.
src/routes/index/[index]/+page.js Adds redirect from /index/:index to /index/:index/overview.
src/routes/dashboard/shards/+page.svelte Adds Dashboard Shards route wiring.
src/routes/dashboard/indices/+page.svelte Adds Dashboard Indices route wiring.
src/routes/dashboard/allocation/+page.svelte Adds Dashboard Allocation route wiring.
src/routes/dashboard/+page.js Adds default Dashboard redirect route.
src/routes/dashboard/+layout.svelte Adds Dashboard layout including DashboardTabs.
src/routes/api/elastic/test/+server.js Adds API endpoint to test Elasticsearch connectivity through server helper.
src/routes/api/elastic/shards/+server.js Adds API endpoint for _cat/shards.
src/routes/api/elastic/search/uri/+server.js Adds API endpoint for URI querystring search.
src/routes/api/elastic/search/body/+server.js Adds API endpoint for body search.
src/routes/api/elastic/request/+server.js Adds generic API endpoint for arbitrary transport requests.
src/routes/api/elastic/nodes/stats/+server.js Adds API endpoint for node stats.
src/routes/api/elastic/indices/+server.js Adds API endpoint for _cat/indices.
src/routes/api/elastic/index/wipe/+server.js Adds API endpoint for delete-by-query wipe.
src/routes/api/elastic/index/settings/+server.js Adds API endpoint for updating index settings.
src/routes/api/elastic/index/open/+server.js Adds API endpoint to open index.
src/routes/api/elastic/index/mapping/+server.js Adds API endpoint for mapping updates (supports properties-only vs per-type paths).
src/routes/api/elastic/index/get/+server.js Adds API endpoint to fetch index info.
src/routes/api/elastic/index/delete/+server.js Adds API endpoint to delete index.
src/routes/api/elastic/index/create/+server.js Adds API endpoint to create index.
src/routes/api/elastic/index/close/+server.js Adds API endpoint to close index.
src/routes/api/elastic/index/clone/+server.js Adds API endpoint to clone index.
src/routes/api/elastic/document/update/+server.js Adds API endpoint to update document fields.
src/routes/api/elastic/document/index/+server.js Adds API endpoint to index/put a document.
src/routes/api/elastic/document/delete/+server.js Adds API endpoint to delete a document.
src/routes/api/elastic/cluster/stats/+server.js Adds API endpoint for cluster stats.
src/routes/api/elastic/cluster/health/+server.js Adds API endpoint for cluster health.
src/routes/api/elastic/allocation/+server.js Adds API endpoint for _cat/allocation.
src/routes/api/elastic/alias/delete/+server.js Adds API endpoint to delete an alias.
src/routes/api/elastic/alias/create/+server.js Adds API endpoint to create/update an alias.
src/routes/+page.js Adds root redirect to the dashboard route.
src/routes/+layout.svelte Adds global app layout (Storeon provider, hydration, GA config, header/footer, modal, notifications).
src/routes/+layout.js Disables prerendering for the app layout.
src/main.js Removes legacy Svelte SPA entrypoint.
src/lib/workspace/search/SearchControls.svelte.test.js Adds tests for SearchControls stats and view toggles.
src/lib/workspace/search/Search.svelte.test.js Adds render-smoke test for Search tab.
src/lib/workspace/search/Search.svelte Switches JSONEditor to lazy-loaded dynamic import for bundle/runtime compatibility.
src/lib/workspace/search/profiling/Shard.svelte.test.js Adds tests for profiling Shard component.
src/lib/workspace/search/profiling/Shard.svelte Adds keyed each-block for shard searches list.
src/lib/workspace/search/profiling/Search.svelte.test.js Adds render-smoke test for profiling Search component.
src/lib/workspace/search/profiling/Search.svelte Adds keyed each-blocks for query/collector lists.
src/lib/workspace/search/profiling/Query.svelte.test.js Adds render-smoke test for profiling Query component.
src/lib/workspace/search/profiling/Query.svelte Adds keyed each-blocks for breakdown/children recursion lists.
src/lib/workspace/search/profiling/index.js Introduces helper utilities for profiling (timing conversions, coloring, ES-version aware accessors).
src/lib/workspace/search/profiling/Collector.svelte.test.js Adds render-smoke test for profiling Collector component.
src/lib/workspace/search/profiling/Collector.svelte Adds keyed each-block for collector recursion list.
src/lib/workspace/search/profiling/Aggregations.svelte.test.js Adds render-smoke test for profiling Aggregations component.
src/lib/workspace/search/profiling/Aggregations.svelte Adds keyed each-block for aggregation list.
src/lib/workspace/search/ProfileTable.svelte Adds keyed each-block for affected shards accordion.
src/lib/workspace/search/EditControls.svelte.test.js Adds render-smoke test for new EditControls component.
src/lib/workspace/search/EditControls.svelte Adds extracted edit-document controls with update/reindex/cancel actions.
src/lib/workspace/playground/KeyValueList.svelte.test.js Adds tests for Playground key/value editor.
src/lib/workspace/playground/KeyValueList.svelte Adds key/value list editor for Playground headers/params.
src/lib/workspace/monitoring/overview/Overview.svelte.test.js Adds tests for Monitoring overview UI.
src/lib/workspace/monitoring/nodes/Nodes.svelte.test.js Adds tests for Monitoring nodes charts (with ResizeObserver/uPlot mocks).
src/lib/workspace/monitoring/MonitoringTabs.svelte.test.js Adds tests for Monitoring tab navigation.
src/lib/workspace/monitoring/MonitoringTabs.svelte Adds monitoring tab bar component driven by $page.url.pathname.
src/lib/workspace/monitoring/MonitoringLayout.svelte.test.js Adds tests for monitoring layout controls (auto-refresh toggle).
src/lib/workspace/index/tabs/Templates.svelte.test.js Adds tests for Templates placeholder tab.
src/lib/workspace/index/tabs/Templates.svelte Adds Templates placeholder content.
src/lib/workspace/index/tabs/Status.svelte.test.js Adds tests for Status placeholder tab.
src/lib/workspace/index/tabs/Status.svelte Adds Status placeholder content.
src/lib/workspace/index/tabs/Settings.svelte.test.js Adds tests for Settings tab buttons/editor presence.
src/lib/workspace/index/tabs/Settings.svelte Refactors Settings tab to use shared JsonEditor component and fixes error message text.
src/lib/workspace/index/tabs/Monitoring.svelte.test.js Adds tests for Index Monitoring placeholder tab.
src/lib/workspace/index/tabs/Monitoring.svelte Adds Index Monitoring placeholder content.
src/lib/workspace/index/tabs/Mapping.svelte.test.js Adds tests for Mapping tab buttons/editor presence.
src/lib/workspace/index/tabs/Mapping.svelte Refactors Mapping tab to use shared JsonEditor component.
src/lib/workspace/index/tabs/Index.svelte.test.js Adds tests for Index overview action buttons.
src/lib/workspace/index/tabs/Index.svelte Refactors Index tab to use JsonEditor component and SvelteKit navigation helpers.
src/lib/workspace/index/tabs/AliasTableCell.svelte.test.js Adds tests for alias table cell rendering/actions.
src/lib/workspace/index/tabs/AliasTableCell.svelte Adds alias table cell renderer with View/Update/Delete actions.
src/lib/workspace/index/tabs/Aliases.svelte.test.js Adds tests for Aliases tab table rendering.
src/lib/workspace/index/tabs/Aliases.svelte Ensures index info is fetched on mount and refactors derived rows generation.
src/lib/workspace/dashboard/shards/Shards.svelte.test.js Adds tests for Shards dashboard controls and refresh action.
src/lib/workspace/dashboard/shards/Shards.svelte Migrates shards table rendering to VirtualTable and refines sorting/search handling.
src/lib/workspace/dashboard/indices/Indices.svelte.test.js Adds tests for Indices dashboard controls.
src/lib/workspace/dashboard/indices/Indices.svelte Migrates indices table rendering to VirtualTable and refines sorting/search handling.
src/lib/workspace/dashboard/indices/Cell.svelte.test.js Adds tests for indices cell rendering (health label, index link).
src/lib/workspace/dashboard/indices/Cell.svelte Updates index link generation to use SvelteKit resolve() and improves markup.
src/lib/workspace/dashboard/DashboardTabs.svelte.test.js Adds tests for dashboard tab navigation links.
src/lib/workspace/dashboard/DashboardTabs.svelte Adds dashboard tab bar component driven by $page.url.pathname.
src/lib/workspace/dashboard/allocation/Allocation.svelte.test.js Adds tests for Allocation dashboard controls.
src/lib/workspace/dashboard/allocation/Allocation.svelte Migrates allocation table rendering to VirtualTable and refines sorting/search handling.
src/lib/utils/storage.test.js Adds unit tests for electron-backed storage wrapper.
src/lib/utils/storage.js Adds storage abstraction over window.electron.ipcRenderer.store.
src/lib/utils/onlineCheck.js Adds online/offline listener helper used by layout hydration.
src/lib/utils/helpers.js Reintroduces helper utilities under src/lib/utils/ for SvelteKit imports.
src/lib/store/server.js Adds server store module for Elasticsearch version info.
src/lib/store/search.js Switches search persistence to electron-store via setStorage and adds hydrate handler.
src/lib/store/notifications.test.js Adds tests for notifications store behavior/deduplication.
src/lib/store/notifications.js Adds notifications store module (add/delete/shift + connected/disconnected hooks).
src/lib/store/internet.test.js Adds tests for internet online/offline store module.
src/lib/store/internet.js Adds internet store module for online/offline state.
src/lib/store/index.js Updates store composition (removes router/importExport; adds monitoring/playground modules).
src/lib/store/history.test.js Adds tests for connection history normalization/deduplication and size cap.
src/lib/store/history.js Adds new history store module backed by setStorage, with normalization and dedupe.
src/lib/store/elasticsearch/shards.js Adds default sorting initialization when shards are fetched.
src/lib/store/elasticsearch/indices.test.js Adds tests for indices store init/update/disconnected behavior.
src/lib/store/elasticsearch/indices.js Adds default sorting initialization when indices are fetched.
src/lib/store/elasticsearch/index.js Adds index store module for selected index + fetching info.
src/lib/store/elasticsearch/allocation.js Adds default sorting initialization when allocation is fetched.
src/lib/store/connection.test.js Adds tests for connection store hydration/update/clear.
src/lib/store/connection.js Refactors connection store to hydrate externally and persist via setStorage; tracks ES version.
src/lib/store/app.test.js Adds tests for app theme state and hydrate/toggle behavior.
src/lib/store/app.js Adds app store module using setStorage and hydrate handler.
src/lib/server/elastic.js Adds shared server-side Elasticsearch client factory and request handler wrapper.
src/lib/header/OnlineIndicator.svelte.test.js Adds tests for online/offline indicator rendering.
src/lib/header/OnlineIndicator.svelte Adds online/offline indicator bound to Storeon internet state.
src/lib/header/Header.svelte.test.js Adds tests for header navigation links and connection/version display.
src/lib/header/Header.svelte Adds new header with SvelteKit route links, connection modal loader, and IPC hooks.
src/lib/footer/Footer.svelte.test.js Adds tests for footer content and theme toggle control.
src/lib/footer/Footer.svelte Fixes package.json import path and minor markup formatting.
src/lib/components/tables/Table.svelte.test.js Adds tests for table empty state and row rendering.
src/lib/components/tables/Table.svelte Refactors table props and derived CellRenderer/sorting handling.
src/lib/components/tables/RowCell.svelte.test.js Adds tests for default row cell rendering.
src/lib/components/tables/RowCell.svelte Simplifies RowCell props to only what it uses.
src/lib/components/tables/Column.svelte.test.js Adds tests for Column header uppercase rendering.
src/lib/components/tables/Column.svelte Adds Column header component.
src/lib/components/pagination/Pagination.svelte.test.js Adds tests for pagination rendering and navigation callbacks.
src/lib/components/pagination/Pagination.svelte Refactors pagination UI to use buttons and improves derived logic.
src/lib/components/notifications/Success.svelte.test.js Adds tests for success notification rendering.
src/lib/components/notifications/Success.svelte Adds success notification component.
src/lib/components/notifications/Notifications.svelte.test.js Adds tests for notifications list rendering.
src/lib/components/notifications/Notifications.svelte Adds notifications list container bound to store state.
src/lib/components/notifications/Notification.svelte.test.js Adds tests for error/success notification rendering.
src/lib/components/notifications/Notification.svelte Adds auto-dismiss notification wrapper with transitions and delete action.
src/lib/components/notifications/Error.svelte.test.js Adds tests for error notification rendering.
src/lib/components/notifications/Error.svelte Adds error notification component.
src/lib/components/modal/ViewAliasFilterDialog/ViewAliasFilterDialog.svelte.test.js Adds tests for alias filter viewer dialog rendering.
src/lib/components/modal/ViewAliasFilterDialog/ViewAliasFilterDialog.svelte Adds dialog to view alias filter JSON.
src/lib/components/modal/Modal.svelte.test.js Adds smoke test for modal mounting/context.
src/lib/components/modal/Modal.svelte Refactors modal provider (state defaults, sizing, context setup, render semantics).
src/lib/components/modal/EditAliasDialog/EditAliasDialog.svelte.test.js Adds tests for edit-alias dialog form rendering.
src/lib/components/modal/EditAliasDialog/EditAliasDialog.svelte Lazily loads JSONEditor for alias editing.
src/lib/components/modal/CreateIndexDialog/CreateIndexDialog.svelte.test.js Adds tests for create-index dialog rendering.
src/lib/components/modal/CreateIndexDialog/CreateIndexDialog.svelte Lazily loads JSONEditor for index settings editor and normalizes form markup.
src/lib/components/modal/CreateAliasDialog/CreateAliasDialog.svelte.test.js Adds tests for create-alias dialog rendering.
src/lib/components/modal/CreateAliasDialog/CreateAliasDialog.svelte Lazily loads JSONEditor for alias filter editor and normalizes form markup.
src/lib/components/modal/ConnectionDialog/ManageConnectionsDialog.svelte.test.js Adds tests for manage connections dialog behavior.
src/lib/components/modal/ConnectionDialog/Headers.svelte.test.js Adds tests for headers list rendering.
src/lib/components/modal/ConnectionDialog/Headers.svelte Adds stable keyed each-block for header items.
src/lib/components/modal/ConnectionDialog/HeaderItem.svelte.test.js Adds tests for header item input rendering.
src/lib/components/modal/ConnectionDialog/HeaderItem.svelte Adds header row item component (name/value + delete).
src/lib/components/modal/ConnectionDialog/ConnectDialog.svelte.test.js Adds tests for connect dialog behavior and IPC new-window action.
src/lib/components/modal/CloneIndexDialog/CloneIndexDialog.svelte.test.js Adds tests for clone index dialog rendering.
src/lib/components/modal/CloneIndexDialog/CloneIndexDialog.svelte Adds clone index dialog (form + API call + refresh actions).
src/lib/components/JsonEditor.svelte.test.js Adds smoke test for JsonEditor wrapper.
src/lib/components/JsonEditor.svelte Adds reusable JSONEditor wrapper with dynamic import and bindable editor handle.
src/lib/components/inputs/IndexSelector.svelte.test.js Adds basic render test for IndexSelector.
src/lib/components/inputs/IndexSelector.svelte Adds IndexSelector built on AdvancedDropdown and indices store data.
src/lib/components/inputs/ConnectionSelector.svelte.test.js Adds basic render test for ConnectionSelector.
src/lib/components/inputs/ConnectionSelector.svelte Adds ConnectionSelector built on AdvancedDropdown and history store.
src/lib/components/inputs/AdvancedDropdown.svelte.test.js Adds basic render test for AdvancedDropdown.
src/lib/components/inputs/AdvancedDropdown.svelte Refines props formatting and updates inverted selector CSS selector.
src/lib/components/buttons/IconButton.svelte.test.js Adds tests for IconButton rendering/click/loading/title.
src/lib/components/buttons/IconButton.svelte Adds IconButton component with hover/focus styling behavior.
src/lib/components/buttons/ButtonTinyBasic.svelte.test.js Adds tests for ButtonTinyBasic rendering/click/loading.
src/lib/components/buttons/ButtonTinyBasic.svelte Adds small semantic UI button component with theme inversion support.
src/header/Header.svelte Removes legacy header tied to Storeon router and ipc-renderer wrapper.
src/components/tabs/TabLink.svelte Removes legacy tabs link component.
src/components/tabs/TabContent.svelte Removes legacy tabs content component.
src/App.svelte Removes legacy top-level SPA App container.
src/app.html Adds SvelteKit app HTML template with stylesheet links and window.global shim.
src/api/ipc-renderer.js Removes legacy renderer-side IPC helper (replaced by preload.js bridge).
rollup.config.js Removes legacy Rollup build config.
README.md Updates screenshots and documents new features and scripts (test/lint).
public/index.html Removes legacy static HTML entrypoint.
preload.js Adds Electron preload bridge exposing limited IPC channels and storage APIs.
eslint.config.mjs Adds ignores for build artifacts and generated output.
app/updater.js Removes old updater implementation under app/.
app/requests-node-proxy.js Removes legacy axios-based Node proxy (replaced by SvelteKit API routes).
app/ipc-main.js Removes legacy IPC main wrapper.
app/dumper/dumper.js Removes legacy Import/Export dumper integration.
AGENTS.md Adds contributor/agent guide for the new SvelteKit + Electron architecture.
.gitignore Adds ignores for SvelteKit/Electron build output and release artifacts.
.github/workflows/release.yml Injects PUBLIC_GA_ID env into build steps for releases.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/routes/+page.js
Comment thread src/routes/dashboard/+page.js
Comment thread src/routes/monitoring/+page.js
Comment thread src/lib/header/Header.svelte
Comment thread src/lib/server/elastic.js
Comment thread src/lib/server/elastic.js
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 223 out of 270 changed files in this pull request and generated 3 comments.

Comments suppressed due to low confidence (1)

src/lib/components/pagination/Pagination.svelte:96

  • These pagination controls are <button> elements but don’t specify type="button". If this component is ever rendered inside a <form>, the default type="submit" can cause unintended form submissions when users paginate. Add type="button" to each button here.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/lib/components/modal/ConnectionDialog/ConnectDialog.svelte
Comment thread src/lib/server/elastic.js
Comment thread src/lib/components/JsonEditor.svelte Outdated
@antonkorotkov antonkorotkov merged commit 9603b6d into master Apr 30, 2026
1 check passed
@antonkorotkov antonkorotkov deleted the refactoring branch April 30, 2026 17:11
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