You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Control.php improvements:
- Use ctype_digit() instead of is_numeric() for undo row validation
Prevents accepting floats (1.9), scientific notation (1e3), or negatives (-1)
- Update popular destinations only when jobs actually start
Move updatePopularDestinations() to job execution (not queue creation)
Prevents tracking popularity for cancelled/failed jobs
- Add null coalescing operators (??) for $_POST['source'] and $_POST['target']
Avoids PHP notices when parameters are missing
- Optimize invalid JSON scanning to avoid O(n²) complexity
Replace array_shift() loop with index-based scan and single array_slice()
Log once with count instead of spamming per entry
- Prevent path traversal in 'stop' mode
Use basename() to strip directory components and prevent ../escapes
Only delete if filename is not empty
Browse.page improvements:
- Add rationale comments for FOLDER_EXPAND_DELAY and NAVIGATION_BUFFER
- Use requestAnimationFrame() instead of setTimeout() in resetFileTree()
Semantically correct for DOM operations, waits for browser render cycle
0 commit comments