Commit Graph

3 Commits

Author SHA1 Message Date
CanbiZ (MickLesk)
0f2f6240d6 resolve all ESLint errors, TypeScript 6 compatibility, and dependency upgrades (#543)
* fix: use optional chaining for WebSocket state checks and improve error handling in remote command execution

* chore(deps): update Next.js, Vitest, and ESLint dependencies; clean up eslint-disable comments

* chore: add vite as a dependency in package.json

---------

Co-authored-by: ProxmoxVE Developer <dev@localhost>
2026-03-31 22:26:53 +02:00
CanbiZ (MickLesk)
e19f946c6a PB 503 retry, IPv6 validation, download concurrency, little performance improvements (#534)
* fix: PB 503 retry, IPv6 validation, download concurrency

- Add withPbRetry() with exponential backoff for PocketBase queries
  that return 503/429 under concurrent tRPC request load (#527)
- Accept IPv6 addresses in gateway and DNS resolver fields (#524)
- Batch loadMultipleScripts in groups of 5 with Promise.allSettled
  and inter-batch delay to avoid GitHub rate limits (#523)

Closes #527, Closes #524, Closes #523

* perf: increase staleTime, disable refetchOnWindowFocus, use httpBatchLink

- staleTime 30s → 5min: script metadata rarely changes, avoids
  constant re-fetches on every navigation
- refetchOnWindowFocus: false: prevents all queries from re-firing
  when switching tabs or clicking back into the window
- httpBatchLink instead of httpBatchStreamLink: responses arrive as
  single JSON payload instead of streamed chunks, reducing overhead
  for the typical small tRPC payloads

* fix: address TypeScript linting issues and improve error handling across multiple files

* fix: resolve TypeScript linting issues by updating error handling and filtering logic

---------

Co-authored-by: ProxmoxVE Developer <dev@localhost>
2026-03-31 21:51:29 +02:00
CanbiZ (MickLesk)
e2a950da58 feat: cache logos locally, show config_path, rename Sync button (#511)
- logoCacheService.ts: download script logos to public/logos/ for local serving
- cache-logos.ts: build-time script caching 500+ logos from PocketBase
- scripts.ts router: resolve local logo paths, resyncScripts now caches logos
- autoSyncService.js: cache logos during background auto-sync
- ScriptDetailModal: show config_path per install method
- ResyncButton: renamed 'Sync Json Files' to 'Sync Scripts'
- GeneralSettingsModal: updated auto-sync description text
- .gitignore: ignore public/logos/ and data/*.db
2026-03-17 16:35:03 +01:00