Commit Graph

476 Commits

Author SHA1 Message Date
Michel Roegl-Brunner
4d12a51b05 fix: Auto-sync now only downloads truly new scripts
- Fixed isScriptDownloaded logic to check ALL script files before considering a script downloaded
- Modified auto-sync to filter and only process scripts that haven't been downloaded before
- Added proper logging to show how many new scripts were found vs total scripts
- Made isScriptDownloaded method public in TypeScript version

This ensures auto-sync only downloads scripts that are actually new,
not re-downloading existing scripts or processing unchanged content.
2025-10-24 12:33:00 +02:00
Michel Roegl-Brunner
e0bea6c6e0 feat: Add comprehensive auto-sync functionality
 New Features:
- Auto-sync service with configurable intervals (15min, 30min, 1hour, 6hours, 12hours, 24hours, custom cron)
- Automatic JSON file synchronization from GitHub repositories
- Auto-download new scripts when JSON files are updated
- Auto-update existing scripts when newer versions are available
- Apprise notification service integration for sync status updates
- Comprehensive error handling and logging

🔧 Technical Implementation:
- AutoSyncService: Core scheduling and execution logic
- GitHubJsonService: Handles JSON file synchronization from GitHub
- AppriseService: Sends notifications via multiple channels (Discord, Telegram, Email, Slack, etc.)
- ScriptDownloaderService: Manages automatic script downloads and updates
- Settings API: RESTful endpoints for auto-sync configuration
- UI Integration: Settings modal with auto-sync configuration options

📋 Configuration Options:
- Enable/disable auto-sync functionality
- Flexible scheduling (predefined intervals or custom cron expressions)
- Selective script processing (new downloads, updates, or both)
- Notification settings with multiple Apprise URL support
- Environment-based configuration with .env file persistence

🎯 Benefits:
- Keeps script repository automatically synchronized
- Reduces manual maintenance overhead
- Provides real-time notifications of sync status
- Supports multiple notification channels
- Configurable to match different deployment needs

This feature significantly enhances the automation capabilities of PVE Scripts Local,
making it a truly hands-off solution for script management.
2025-10-24 12:28:44 +02:00
dependabot[bot]
2f1b738164 build(deps-dev): Bump tailwindcss from 4.1.15 to 4.1.16
Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) from 4.1.15 to 4.1.16.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.1.16/packages/tailwindcss)

---
updated-dependencies:
- dependency-name: tailwindcss
  dependency-version: 4.1.16
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-24 10:28:06 +00:00
Michel Roegl-Brunner
3639dd231a Merge pull request #234 from community-scripts/dependabot/npm_and_yarn/prisma-6.18.0
build(deps-dev): Bump prisma from 6.17.1 to 6.18.0
2025-10-24 12:26:46 +02:00
Michel Roegl-Brunner
86f55069e6 Merge pull request #237 from community-scripts/update/tools.func
fix: Container ID display not showing after whiptail input and update tools.func
2025-10-24 09:21:51 +02:00
Michel Roegl-Brunner
5faa7f3646 remove debian 2025-10-24 09:20:00 +02:00
Michel Roegl-Brunner
bc52256301 fix: Container ID display not showing after whiptail input
- Move echo statement outside whiptail output capture block
- Fix output redirection interference with Container ID display
- Ensure Container ID is properly displayed regardless of user input
- Consolidate duplicate echo statements into single display
2025-10-24 09:19:34 +02:00
Michel Roegl-Brunner
9e66cdd7ea Cleanup 2025-10-24 08:51:05 +02:00
dependabot[bot]
931c9cedf1 build(deps-dev): Bump prisma from 6.17.1 to 6.18.0
Bumps [prisma](https://github.com/prisma/prisma/tree/HEAD/packages/cli) from 6.17.1 to 6.18.0.
- [Release notes](https://github.com/prisma/prisma/releases)
- [Commits](https://github.com/prisma/prisma/commits/6.18.0/packages/cli)

---
updated-dependencies:
- dependency-name: prisma
  dependency-version: 6.18.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-23 19:26:58 +00:00
Michel Roegl-Brunner
83a51db265 Merge pull request #230 from community-scripts/dependabot/npm_and_yarn/eslint-config-next-16.0.0 2025-10-23 13:39:24 +02:00
Michel Roegl-Brunner
1b09d1494e Merge pull request #231 from community-scripts/dependabot/npm_and_yarn/superjson-2.2.3 2025-10-23 13:38:56 +02:00
dependabot[bot]
02fe842995 build(deps): Bump superjson from 2.2.2 to 2.2.3
Bumps [superjson](https://github.com/blitz-js/superjson) from 2.2.2 to 2.2.3.
- [Release notes](https://github.com/blitz-js/superjson/releases)
- [Commits](https://github.com/blitz-js/superjson/commits)

---
updated-dependencies:
- dependency-name: superjson
  dependency-version: 2.2.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-22 19:27:06 +00:00
dependabot[bot]
a464c845c2 build(deps-dev): Bump eslint-config-next from 15.5.6 to 16.0.0
Bumps [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next) from 15.5.6 to 16.0.0.
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/commits/v16.0.0/packages/eslint-config-next)

---
updated-dependencies:
- dependency-name: eslint-config-next
  dependency-version: 16.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-22 19:27:00 +00:00
Michel Roegl-Brunner
5a69f58770 Merge pull request #226 from community-scripts/dependabot/npm_and_yarn/types/node-24.9.1 2025-10-21 21:54:35 +02:00
dependabot[bot]
48c243f624 build(deps-dev): Bump @types/node from 24.9.0 to 24.9.1
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 24.9.0 to 24.9.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 24.9.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-21 19:28:07 +00:00
github-actions[bot]
7af0717b1b chore: add VERSION v0.4.7 (#225)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-21 14:34:32 +00:00
Michel Roegl-Brunner
9977d390ac fix update.sh and env.example 2025-10-21 16:30:56 +02:00
Michel Roegl-Brunner
ea5e801718 fix update.sh and env.example 2025-10-21 15:46:58 +02:00
Michel Roegl-Brunner
7d54481f75 fix update.sh and env.example 2025-10-21 15:41:50 +02:00
Michel Roegl-Brunner
fbc6a9362e fix update.sh and env.example 2025-10-21 15:34:11 +02:00
Michel Roegl-Brunner
6b534474c4 Fix update.sh 2025-10-21 14:34:51 +02:00
Michel Roegl-Brunner
5bfbaca732 Fix update.sh 2025-10-21 14:33:24 +02:00
github-actions[bot]
a3d0141950 chore: add VERSION v0.4.6 (#220)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-21 11:21:33 +00:00
Michel Roegl-Brunner
529cb92e3c Fix Update 2025-10-21 13:16:14 +02:00
Michel Roegl-Brunner
b175c709f0 Fix update 2025-10-21 11:00:12 +02:00
Michel Roegl-Brunner
bf908eef66 Merge pull request #215 from community-scripts/dependabot/npm_and_yarn/npm_and_yarn-fd296dbd23 2025-10-21 07:09:55 +02:00
dependabot[bot]
4adf052db4 build(deps-dev): Bump vite in the npm_and_yarn group across 1 directory
Bumps the npm_and_yarn group with 1 update in the / directory: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `vite` from 7.1.9 to 7.1.11
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.1.11/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 7.1.11
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-20 22:11:33 +00:00
dependabot[bot]
2158ea42ba build(deps-dev): Bump @tailwindcss/postcss from 4.1.14 to 4.1.15 (#214) 2025-10-20 23:16:58 +02:00
dependabot[bot]
5fc1205ca5 build(deps-dev): Bump tailwindcss from 4.1.14 to 4.1.15 (#213) 2025-10-20 23:16:45 +02:00
Michel Roegl-Brunner
d928058f97 Merge pull request #212 from community-scripts/dependabot/npm_and_yarn/types/node-24.9.0 2025-10-20 23:16:31 +02:00
dependabot[bot]
11e1704116 build(deps-dev): Bump jsdom from 27.0.0 to 27.0.1 (#211) 2025-10-20 23:16:19 +02:00
dependabot[bot]
26829ce355 build(deps-dev): Bump typescript-eslint from 8.46.1 to 8.46.2 (#210) 2025-10-20 23:16:06 +02:00
dependabot[bot]
deffba0969 build(deps-dev): Bump @types/node from 24.8.1 to 24.9.0
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 24.8.1 to 24.9.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 24.9.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-20 19:48:08 +00:00
github-actions[bot]
56a8b0dac9 chore: add VERSION v0.4.6 (#207)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-20 14:17:16 +00:00
Michel Roegl-Brunner
162f497923 Merge pull request #206 from community-scripts/fix/toggle-visibility-improvement
fix: improve toggle slider visibility with better contrast and blue ON state
2025-10-20 16:14:40 +02:00
Michel Roegl-Brunner
1ea6021c8a fix: improve toggle slider visibility with better contrast and blue ON state
- Darkened OFF state background (gray-300/gray-700)
- Added border to track for better definition
- Enhanced knob contrast with shadow
- Changed ON state to vibrant blue (blue-500/blue-600) for better visibility
- Makes toggle states immediately distinguishable at a glance
2025-10-20 16:13:24 +02:00
Michel Roegl-Brunner
86e614e43f Merge pull request #205 from community-scripts/fix/184
fix/184 script filtering count discrepancy
2025-10-20 16:10:58 +02:00
auto-bot
43cd215996 fix: improve toggle slider visibility with better contrast and blue ON state
- Darkened OFF state background (gray-300/gray-700)
- Added border to track for better definition
- Enhanced knob contrast with shadow
- Changed ON state to vibrant blue (blue-500/blue-600) for better visibility
- Makes toggle states immediately distinguishable at a glance
2025-10-20 16:10:25 +02:00
auto-bot
9ad9440b0f fix: resolve script filtering count discrepancy
- Map 'turnkey' script type to 'ct' category in filtering logic
- Fixes issue where filtering by all 4 types showed 398/399 instead of 399/399
- Applied to both DownloadedScriptsTab and ScriptsGrid components
- TurnKey script is LXC-related so mapping to 'ct' is appropriate
2025-10-20 16:03:29 +02:00
Michel Roegl-Brunner
fcb9aafc8d Merge pull request #204 from community-scripts/fix/185
fix/185: normalize script matching to handle underscore vs hyphen differences
2025-10-20 16:00:34 +02:00
auto-bot
266ff5a79f fix: normalize script matching to handle underscore vs hyphen differences
- Add normalizeId helper to compare local filenames with script slugs/names
- Include install_basenames from install_methods for robust matching
- Fix false 'Not Downloaded' status for PVE Host scripts like 'PVE LXC Execute Command'
- Update DownloadedScriptsTab and ScriptsGrid to use normalized comparisons
- Resolves issue where scripts with underscores in filenames (e.g., pbs_microcode.sh)
  weren't matching JSON slugs with hyphens (e.g., pbs-microcode)
2025-10-20 15:59:45 +02:00
auto-bot
adccee027c chore(ci): mirror upstream JSONs in release workflow and defer push 2025-10-20 15:30:35 +02:00
Michel Roegl-Brunner
ec38ab9c7a Merge pull request #203 from community-scripts/feat/global-esc-close
fix/194 Add global Escape-to-close for custom modals
2025-10-20 15:08:15 +02:00
Michel Roegl-Brunner
cacd4b3f86 feat(modal): add global ESC-to-close via ModalStackProvider; wire all modals; keep danger/auth/loading protected; allow ESC even when typing; fix lint 2025-10-20 14:43:58 +02:00
Michel Roegl-Brunner
f3c68bf351 feat(scripts): always show Newest carousel regardless of filters; allow duplicates when filters active (#195) (#202) 2025-10-20 14:26:23 +02:00
Michel Roegl-Brunner
f8d3b5b166 Merge pull request #201 from community-scripts/fix/orphan-cleanup-race
fix: harden orphan cleanup to avoid false deletions
2025-10-20 14:19:04 +02:00
Michel Roegl-Brunner
e4de9cc8f6 fix(installed-scripts): prevent false orphan deletions by awaiting SSH command completion and parsing combined output; add 15s timeout and warnings for diagnostics 2025-10-20 14:16:23 +02:00
Michel Roegl-Brunner
cc8fd3ea3a Merge pull request #200 from community-scripts/fix/197
fix/197: enforce numeric ssh_port end-to-end; harden UI input; coerce in API/DB
2025-10-20 14:16:02 +02:00
Michel Roegl-Brunner
5a73a30a92 fix(server): enforce numeric ssh_port end-to-end; harden UI input; coerce in API/DB; fix runtime handler import 2025-10-20 14:12:18 +02:00
Michel Roegl-Brunner
2b5882393c Merge pull request #199 from community-scripts/fix/198
fix/198: logging improvements and API handlers
2025-10-20 14:03:52 +02:00