Commit Graph

27492 Commits (2fb5b47332aacac5a0d4cc05d52401447a78b74c)

Author SHA1 Message Date
Isaac Connor 2fb5b47332
Merge pull request #4596 from connortechnology/system_jwt
feat: add option to use system-installed jwt-cpp
2026-03-05 08:33:07 -05:00
Isaac Connor a13d618946
Merge pull request #4643 from IgorA100/patch-412820
Fix: More correct processing of the stream after hiding and then displaying the Watch page
2026-03-05 08:32:23 -05:00
Isaac Connor 3cbd67eb4b
Merge pull request #4679 from ZoneMinder/copilot/fix-build-failure-zm-no-curl
fix: add HAVE_LIBCURL preprocessor guards to fix ZM_NO_CURL=ON build
2026-03-05 08:31:03 -05:00
Isaac Connor 720a322376
Merge pull request #4646 from IgorA100/patch-900470
Feat: Manage MSE mode for Go2RTC, not just RTSP2Web.
2026-03-05 08:30:26 -05:00
IgorA100 1f3b641382
No additional check for "this.video" is required; simply adding "this.visibilityCheck = false;" (video-stream.js) 2026-03-05 15:55:00 +03:00
IgorA100 8a24846f34
Update web/skins/classic/views/js/watch.js
Recommended by Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-05 10:26:44 +03:00
IgorA100 436b220e30
Use play() on the VIDEO tag, but not from MonitorStream to avoid recursion (MonitorStream.js) 2026-03-05 10:05:42 +03:00
IgorA100 da47c57929
Merge branch 'master' into patch-900470 2026-03-05 09:50:50 +03:00
copilot-swe-agent[bot] 149eba0d10 refactor: move HAVE_LIBCURL guards inside class definitions as stubs
Instead of wrapping entire class declarations and usage sites in
#if HAVE_LIBCURL, each inner class (AmcrestAPI, RTSP2WebManager,
Go2RTCManager, JanusManager) now has the guard inside the class body
with #else stubs. This makes zm_monitor.cpp completely free of
HAVE_LIBCURL guards.

Stub behaviour when curl is absent:
- isHealthy() returns true (avoids recreation loop in Poll)
- isAlarmed() returns false (no spurious triggers)
- check_*() returns 1 (no-op, avoids re-add loop in Poll)
- all other methods are no-ops / return 0

refs #4967

Co-authored-by: connortechnology <925519+connortechnology@users.noreply.github.com>
2026-03-05 02:41:06 +00:00
Isaac Connor ef7e986118
Apply suggestion from @Copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-04 21:37:16 -05:00
Isaac Connor 8df9e204f2
Merge pull request #4680 from ZoneMinder/copilot/fix-1-38-1-monitor-crash
fix: segfault in nph-zms when monitor has no FPS configured
2026-03-04 21:35:28 -05:00
Isaac Connor eb43cc7221
Merge pull request #4681 from ZoneMinder/copilot/remove-conflicting-time-fields
fix: remove conflicting minTime/maxTime fields from montage review download
2026-03-04 21:29:22 -05:00
copilot-swe-agent[bot] 2dfb79975d fix: prevent segfault when MPEG stream codec fails to open
Co-authored-by: connortechnology <925519+connortechnology@users.noreply.github.com>
2026-03-05 02:15:08 +00:00
copilot-swe-agent[bot] d9c9b4087e fix: add HAVE_LIBCURL preprocessor guards to fix ZM_NO_CURL=ON build
Wraps all libcurl usage in #if HAVE_LIBCURL / #endif guards, matching
the existing pattern used for HAVE_LIBVLC and HAVE_LIBVNC.

Files changed:
- src/zm_monitor.h: guard curl include, 4 inner class declarations,
  4 manager member pointers, check_janus() decl, EventPollerHealthy()
- src/zmc.cpp: guard curl_global_init/cleanup calls
- src/zm_monitor.cpp: guard initializer list, instantiation, destructor,
  Poll(), Analyse(), Poller thread condition, and Close() teardown
- src/zm_monitor_amcrest.cpp: wrap implementation in HAVE_LIBCURL guard
- src/zm_monitor_janus.cpp: wrap implementation in HAVE_LIBCURL guard
- src/zm_monitor_rtsp2web.cpp: wrap implementation in HAVE_LIBCURL guard
- src/zm_monitor_go2rtc.cpp: wrap implementation in HAVE_LIBCURL guard

Verified: builds succeed with both ZM_NO_CURL=ON and ZM_NO_CURL=OFF

refs #4967

Co-authored-by: connortechnology <925519+connortechnology@users.noreply.github.com>
2026-03-05 02:13:59 +00:00
copilot-swe-agent[bot] ec1571aac7 fix: remove conflicting minTime/maxTime fields from montage review download
The download was failing because click_download() sent both the form's
filter (containing StartDateTime terms) AND separate minTime/maxTime
fields. In download.php, the has_term check only looked for 'DateTime'
not 'StartDateTime', so a duplicate conflicting constraint was added.

Remove the redundant minTime/maxTime/minTimeSecs/maxTimeSecs from
click_download() since the filter already carries the time range.
Remove the dead/conflicting handling in download.php.

refs #4774

Co-authored-by: connortechnology <925519+connortechnology@users.noreply.github.com>
2026-03-05 02:08:10 +00:00
copilot-swe-agent[bot] c9dc2934a0 Initial plan 2026-03-05 02:03:44 +00:00
copilot-swe-agent[bot] 956d51b79e Initial plan 2026-03-05 02:00:54 +00:00
copilot-swe-agent[bot] 3b43638610 Initial plan 2026-03-05 02:00:13 +00:00
Isaac Connor efe6bf341b
Update web/js/MonitorStream.js
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-04 20:51:02 -05:00
Isaac Connor fcbdc60d12
Update web/skins/classic/views/js/watch.js
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-04 20:50:21 -05:00
Isaac Connor 389d44ae95
Update web/skins/classic/views/js/watch.js
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-04 20:49:59 -05:00
Isaac Connor 3de87e224a
Merge pull request #4617 from nabbi/remove-makemaker-perl-install
build: replace Perl ExtUtils::MakeMaker with native CMake install
2026-03-04 20:34:46 -05:00
Isaac Connor 2b33bdcd5e Fix missing _ 2026-03-04 17:50:35 -05:00
Isaac Connor b1067e0084
Merge pull request #4616 from ZoneMinder/copilot/refactor-filepath-handling
Refactor EventStream::sendFrame to use reusable filepath member
2026-03-04 17:44:13 -05:00
Isaac Connor f61a2e0a6b
Merge branch 'master' into copilot/refactor-filepath-handling 2026-03-04 17:34:44 -05:00
Isaac Connor 08edd36191
Merge pull request #4651 from IgorA100/patch-387655
Fix: PanZoom. When scale > 1, prevent the player from responding to image clicks
2026-03-04 17:27:15 -05:00
Isaac Connor a5483ae301 Fix eslint 2026-03-04 16:59:33 -05:00
Isaac Connor 3120233f3f Merge branch 'master' of github.com:ZoneMinder/zoneminder 2026-03-04 16:51:20 -05:00
Isaac Connor 44acdd9b95 fix: guard ModelId access with property_exists in Monitor::Model()
Prevents 'Undefined property' PHP warning when the Monitor object was
loaded from a database that doesn't yet have the ModelId column. Matches
the existing property_exists pattern used later in the same method.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 16:50:40 -05:00
Isaac Connor 3dce095a10
Merge pull request #4639 from IgorA100/patch-885163
Fix: Solving the MUTED issue when using video-rtc.js & Added an "onplay" event triggered when playback starts
2026-03-04 16:46:50 -05:00
Isaac Connor 0a8cc452b5
Merge pull request #4667 from pliablepixels/feature/custom-model-training
feat: Add custom model training annotation UI
2026-03-04 16:46:06 -05:00
Isaac Connor 48a556fac6
Merge branch 'master' into feature/custom-model-training 2026-03-04 16:45:54 -05:00
Isaac Connor 58cfcc4960
Merge pull request #4670 from IgorA100/patch-64749
Chore: Optimized saving of "navbar_type" in session and cookies (index.php)
2026-03-04 14:45:42 -05:00
Isaac Connor a59f897697
Merge pull request #4678 from Simpler1/cyrillic_c
fix: Replace Cyrillic с with a Latin c
2026-03-04 11:43:06 -05:00
Simpler1 6ca5998952 fix: Replace uppercase cyrillic С with latin C 2026-03-04 11:39:13 -05:00
Simpler1 3a7d40b650 fix: Replace Cyrillic с with a Latin c 2026-03-04 11:13:23 -05:00
IgorA100 a9e332bdbe
Correction as recommended by "copilot" (index.php) 2026-03-04 18:11:11 +03:00
Isaac Connor 863fac4d72 docs: add zma event re-analysis utility documentation
Add dedicated documentation page for the zma binary covering synopsis,
all command-line options, operating modes (update-existing vs create-events),
save-analysis functionality, and usage examples. Add zma entry to the
components page and user guide toctree.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 09:47:26 -05:00
Isaac Connor f9085b7ae0 fix: add missing unistd.h include in zma.cpp for FreeBSD build
getpid() requires explicit inclusion of <unistd.h> on FreeBSD where
transitive includes from other headers are not guaranteed.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 09:23:38 -05:00
Isaac Connor 667548dc43 fix: remove unused catch parameter in logger.js to satisfy eslint
The catch block for the strict-mode arguments.callee TypeError
doesn't need the exception object since the failure is expected.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 09:09:42 -05:00
Isaac Connor a3e80c6daa Merge branch 'master' of github.com:ZoneMinder/zoneminder 2026-03-04 08:58:37 -05:00
Isaac Connor 4717734119
Merge pull request #4676 from IgorA100/patch-615904
Moved "waitUntil" from MonitorStream.js and now use "waitUntil" to wait until the stream becomes active (skin.js)
2026-03-04 08:57:05 -05:00
Isaac Connor 174e7ce14e
Update web/skins/classic/js/skin.js
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-04 08:55:59 -05:00
Isaac Connor 93bd86d264
Merge pull request #4677 from IgorA100/patch-492091
When switching monitors, we first destroy the current VolumeSlider and only then change its ID, and not vice versa (watch.js)
2026-03-04 08:11:38 -05:00
IgorA100 cf2819fcc7
When switching monitors, we first destroy the current VolumeSlider and only then change its ID, and not vice versa (watch.js) 2026-03-04 15:23:11 +03:00
IgorA100 c50f795e61
Removed "waitUntil" since it's now in skin.js (MonitorStream.js) 2026-03-04 14:41:52 +03:00
IgorA100 3d66b9efd6
Moved "waitUntil" from MonitorStream.js and now use "waitUntil" to wait until the stream becomes active (skin.js)
I also added an argument to "waitUntil" to specify the wait timeout.
2026-03-04 14:32:15 +03:00
Pliable Pixels ca74d11e03 fix: address review feedback on training PR
- Replace manual eventData construction with $Event->to_json()
- Remove unused zm_session_start()/session_write_close() from training view
- Delete zm_update-1.39.1.sql migration (zmupdate.pl -f handles Config
  entries via ConfigData.pm)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 16:59:19 -05:00
Isaac Connor e72423c7f0 fix: add SSL certificate verification fallback to base Control class
When cameras use HTTPS with self-signed or invalid certificates, LWP's
default SSL verification causes connection failures. Add automatic
fallback to all three HTTP methods (get, put, post) in the base Control
class: if a request fails with an SSL/certificate error, disable
verification and retry. Once disabled, the relaxed setting persists for
the rest of the control session via the ssl_verify_disabled flag.

This follows the pattern already used in Dahua.pm and
TapoC520WS_ONVIF.pm but applies it universally so all control modules
benefit without needing individual SSL handling.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 12:44:19 -05:00
Isaac Connor 4260cee91d fix: restrict eslint 9 flat config to .js and .js.php files only
ESLint 9 ignores the --ext flag, so the old --ext .js.php,.js had no
effect. The flat config's **/*.*php glob matched all .php files, not
just .js.php. Add explicit files pattern to the main config block and
narrow the PHP override from **/*.*php to **/*.js.php. Remove the
now-ignored --ext flag from CI and docs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 07:09:05 -05:00