Skip to content

Beta#6

Merged
ddrayko merged 30 commits into
mainfrom
beta
Jun 23, 2026
Merged

Beta#6
ddrayko merged 30 commits into
mainfrom
beta

Conversation

@ddrayko

@ddrayko ddrayko commented Jun 23, 2026

Copy link
Copy Markdown
Member

No description provided.

ddrayko added 30 commits June 23, 2026 13:11
- Correct nested resources path (data.attributes.resources)
- Use PTERO_URL config instead of hardcoded panel URL
- Fix current_state access on frontend
- Fix express-rate-limit 'trustLevel' option name to 'trustProxy'
  which rendered rate limiting ineffective behind reverse proxies
- Add radix 10 to all parseInt() calls across server, db, routes,
  and activity modules to prevent NaN and legacy octal behavior
- Add missing await to all logActivity() calls in auth and servers
  routes to prevent fire-and-forget promise rejections
- Add process.exit(1) to unhandledRejection handler to match
  uncaughtException behavior (Node >= 15 deprecates silent
  unhandled rejections)
- Remove 'npm i && ' prefix from start/dev scripts to avoid
  unnecessary dependency reinstallation on every restart
- Sync package.json version (0.9.8) with UI footer text
- Rename duplicate @Keyframes slideUp to slideUpFromBelow in
  cookie-banner to prevent overriding the toast animation
- Pin cap-widget CDN to major version 1 instead of @latest to
  prevent unexpected breaking changes in production
- Guard login debug console.log statements behind NODE_ENV check
  to prevent leaking user email and password hash fragment in
  production logs (GDPR/security concern)
- Remove unused Google AdSense script from index.html (no ad units
  exist anywhere in the application)
- Remove 'unsafe-eval' from script-src CSP (no eval usage in code)
- Remove AdSense-related domains (pagead2.googlesyndication.com,
  googleads.g.doubleclick.net) from CSP directives
… style

- Add isNaN guard on all parseInt(req.params.id, 10) calls so
  non-numeric IDs return 400 instead of cryptic API errors
- Replace wasteful hourly setInterval in scheduler with smart
  next-midnight setTimeout (23/24 wasted runs eliminated)
- Add proper await to initial scheduler run
- Add missing .btn-danger:hover style for UX consistency
- Move hardcoded nest IDs [5,6,7] from services/pyrodactyl.js to
  config/pyrodactyl.js as NEST_IDS for better maintainability
- Add 5-minute TTL to nodeCache to prevent stale node data from
  being served indefinitely after panel configuration changes
- @1 was invalid since cap-widget has no 1.x.x releases (only 0.1.x),
  causing jsdelivr to serve text/plain which was blocked by nosniff
- Add a thin drag handle on the right edge of the sidebar
- Drag to resize between 180px and 600px
- Width persists across page loads via localStorage
- Resizer highlights on hover/drag with accent color
- Hidden on mobile where sidebar is off-screen by default
- Click the sidebar logo to collapse/expand sidebar
- Collapsed mode shows only icons (60px width)
- Logo image remains visible, text hidden
- Nav items show only SVG icons, text hidden via font-size:0
- User avatar visible, name/email hidden
- Resizer disabled in collapsed mode
- State persisted in localStorage (zh_sidebar_collapsed)
- Restores previous width on expand
- Logout button (#logout-btn) hidden in collapsed mode
- Separator, empty divs, and version text hidden in collapsed mode
- Only avatar icon remains centered at bottom
- Border-top removed from footer when collapsed
- Removed bottom padding so avatar sits at the very bottom edge
- Logout icon kept visible in collapsed mode (was hidden before)
- Cleaned up collapsed footer layout
- Added !important on #logout-btn display:none to override inline style
- Save sidebar width before toggling collapsed class so restore works correctly
- Ensure restored width always has 'px' suffix
@ddrayko ddrayko merged commit b8f295f into main Jun 23, 2026
1 check passed
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.

1 participant