Skip to content

osmonitor@10.6.23: Add new manifest#17942

Open
osmonitor-cmd wants to merge 1 commit into
ScoopInstaller:masterfrom
osmonitor-cmd:add-osmonitor
Open

osmonitor@10.6.23: Add new manifest#17942
osmonitor-cmd wants to merge 1 commit into
ScoopInstaller:masterfrom
osmonitor-cmd:add-osmonitor

Conversation

@osmonitor-cmd

Copy link
Copy Markdown

Add new manifest for OsMonitor Management Console (10-Day Trial Version).

Note for Reviewers:
This package uses the installer directive rather than innosetup: true because it requires administrative privileges to silently register two required MS OCX components during the installation process.

  • Use conventional PR title: <manifest-name[@version]|chore>: <general summary of the pull request>
  • I have read the Contributing Guide

@coderabbitai

coderabbitai Bot commented May 31, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

This PR adds a new JSON manifest file (bucket/osmonitor.json) to the ScoopInstaller/Extras repository. The manifest defines installer configuration for OsMonitor Server v10.6.23, including the download URL, SHA-256 hash for verification, installer command-line arguments with a directory placeholder, uninstaller configuration, the main executable binary name, and shortcut label/path settings.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Suggested labels

package-request-needed

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically identifies the main change: adding a new manifest for osmonitor at version 10.6.23.
Description check ✅ Passed The description follows the required template structure, includes both checklist items checked, provides context about the installer directive choice, and explains the technical rationale.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot added the package-request-needed Create a package request issue before raising PR. Check the criteria for a package to be accepted. label May 31, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@bucket/osmonitor.json`:
- Line 3: The new manifest (bucket/osmonitor.json) is missing a linked
package-request issue in its description/PR body; update the "description" field
or the PR body to include the required package-request URL (use the provided
template URL
https://github.com/ScoopInstaller/Extras/issues/new?labels=package-request&template=package-request.yml&title=%5BRequest%5D%3A+)
or explicitly paste the created issue number/URL so the manifest addition for
osmonitor is traceable and complies with the CONTRIBUTING guidelines.
- Around line 2-7: The package metadata hardcodes the version in "url"
(currently "https://www.os-monitor.com/OsMonitorServerSetup10.6.23.exe") but
lacks a checkver/autoupdate mapping; update the "url" to use a parameterized
version token (matching the "version" field) and add an "autoupdate" block plus
a "checkver" pattern so the updater can substitute the new version into the
download path; specifically modify the top-level "url" to reference the version
token used by the manifest and add an "autoupdate" entry that maps the version
token into the filename (and a corresponding checkver regex/source) so
OsMonitorServerSetup{version}.exe will be discovered and downloaded
automatically.
- Line 14: The manifest has invalid JSON at the string "/DIR="$dir"" — replace
it with properly escaped inner quotes (e.g., "/DIR=\\"$dir\\"" or equivalent
JSON-safe value) inside bucket/osmonitor.json and ensure the affected field uses
the corrected symbol; additionally add an autoupdate block and parameterize the
hardcoded version found in the top-level "url" (currently "10.6.23") so
autoupdate can bump versions, and if this is a new manifest include the Scoop
package-request GitHub issue link in the "description" or your PR body per Scoop
contribution guidelines.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 0da8e2bf-a709-4b42-8d7c-39d3df643cf7

📥 Commits

Reviewing files that changed from the base of the PR and between 429584c and d5d8d80.

📒 Files selected for processing (1)
  • bucket/osmonitor.json

Comment thread bucket/osmonitor.json
Comment on lines +2 to +7
"version": "10.6.23",
"description": "Centralized IT administration and network management console for enterprise LANs (10-Day Trial Version).",
"homepage": "https://www.os-monitor.com",
"license": "Shareware",
"url": "https://www.os-monitor.com/OsMonitorServerSetup10.6.23.exe",
"hash": "51f1371c90667ac4f80a7597e777260dd83e4893a70c2c7276fbc7ac8c2999fc",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Add checkver/autoupdate for the versioned download URL.

The top-level url hardcodes 10.6.23, but there is no autoupdate mapping to parameterize that path. This will break automated update flow for future releases.

Suggested structure
 {
     "version": "10.6.23",
@@
-    "url": "https://www.os-monitor.com/OsMonitorServerSetup10.6.23.exe",
+    "url": "https://www.os-monitor.com/OsMonitorServerSetup10.6.23.exe",
     "hash": "51f1371c90667ac4f80a7597e777260dd83e4893a70c2c7276fbc7ac8c2999fc",
+    "checkver": {
+        "url": "https://www.os-monitor.com",
+        "regex": "OsMonitorServerSetup([\\d.]+)\\.exe"
+    },
+    "autoupdate": {
+        "url": "https://www.os-monitor.com/OsMonitorServerSetup$version.exe"
+    },

As per coding guidelines, “If the top-level url contains a version number, ensure these paths are properly parameterized in the autoupdate block so future automated updates won't miss them.”

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"version": "10.6.23",
"description": "Centralized IT administration and network management console for enterprise LANs (10-Day Trial Version).",
"homepage": "https://www.os-monitor.com",
"license": "Shareware",
"url": "https://www.os-monitor.com/OsMonitorServerSetup10.6.23.exe",
"hash": "51f1371c90667ac4f80a7597e777260dd83e4893a70c2c7276fbc7ac8c2999fc",
"version": "10.6.23",
"description": "Centralized IT administration and network management console for enterprise LANs (10-Day Trial Version).",
"homepage": "https://www.os-monitor.com",
"license": "Shareware",
"url": "https://www.os-monitor.com/OsMonitorServerSetup10.6.23.exe",
"hash": "51f1371c90667ac4f80a7597e777260dd83e4893a70c2c7276fbc7ac8c2999fc",
"checkver": {
"url": "https://www.os-monitor.com",
"regex": "OsMonitorServerSetup([\\d.]+)\\.exe"
},
"autoupdate": {
"url": "https://www.os-monitor.com/OsMonitorServerSetup$version.exe"
},
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@bucket/osmonitor.json` around lines 2 - 7, The package metadata hardcodes the
version in "url" (currently
"https://www.os-monitor.com/OsMonitorServerSetup10.6.23.exe") but lacks a
checkver/autoupdate mapping; update the "url" to use a parameterized version
token (matching the "version" field) and add an "autoupdate" block plus a
"checkver" pattern so the updater can substitute the new version into the
download path; specifically modify the top-level "url" to reference the version
token used by the manifest and add an "autoupdate" entry that maps the version
token into the filename (and a corresponding checkver regex/source) so
OsMonitorServerSetup{version}.exe will be discovered and downloaded
automatically.

Comment thread bucket/osmonitor.json
@@ -0,0 +1,32 @@
{
"version": "10.6.23",
"description": "Centralized IT administration and network management console for enterprise LANs (10-Day Trial Version).",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Link the required package-request issue for this new manifest.

This is a newly added manifest, but the provided PR context does not show a linked issue number/URL in the description or PR body. Please add one.

Use:
https://github.com/ScoopInstaller/Extras/issues/new?labels=package-request&template=package-request.yml&title=%5BRequest%5D%3A+

Also see:

As per coding guidelines, for a newly added manifest you must include a linked package request issue in the description or PR body.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@bucket/osmonitor.json` at line 3, The new manifest (bucket/osmonitor.json) is
missing a linked package-request issue in its description/PR body; update the
"description" field or the PR body to include the required package-request URL
(use the provided template URL
https://github.com/ScoopInstaller/Extras/issues/new?labels=package-request&template=package-request.yml&title=%5BRequest%5D%3A+)
or explicitly paste the created issue number/URL so the manifest addition for
osmonitor is traceable and complies with the CONTRIBUTING guidelines.

Comment thread bucket/osmonitor.json
"/SUPPRESSMSGBOXES",
"/NORESTART",
"/SP-",
"/DIR="$dir""

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify manifest parses as valid JSON
jq . bucket/osmonitor.json

Repository: ScoopInstaller/Extras

Length of output: 124


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== Lines 1-60 of bucket/osmonitor.json =="
nl -ba bucket/osmonitor.json | sed -n '1,60p'

echo
echo "== Search for key fields in bucket/osmonitor.json =="
rg -n --hidden --no-ignore bucket/osmonitor.json -S "autoupdate|description|extract_dir|architecture\\.|^\\s*url\\s*:|\"url\"\\s*:|/OsMonitorServerSetup|DIR\\\"|\\$dir"

echo
echo "== Line ending check (CRLF vs LF) =="
python3 - <<'PY'
from pathlib import Path
p = Path("bucket/osmonitor.json")
b = p.read_bytes()
crlf = b.count(b"\r\n")
lf = b.count(b"\n")
print("bytes:", len(b))
print("CRLF count:", crlf)
print("LF count:", lf)
print("Has any bare CR (\\r not part of CRLF):", (b.count(b"\r") - crlf) > 0)
PY

Repository: ScoopInstaller/Extras

Length of output: 168


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== Exact content of bucket/osmonitor.json with line numbers (lines 1-40) =="
python3 - <<'PY'
from pathlib import Path
p = Path("bucket/osmonitor.json")
lines = p.read_text(encoding="utf-8", errors="replace").splitlines()
for i in range(1, min(41, len(lines)+1)):
    print(f"{i:>3}: {lines[i-1]}")
PY

echo
echo "== Search key fields =="
python3 - <<'PY'
from pathlib import Path
import re
text = Path("bucket/osmonitor.json").read_text(encoding="utf-8", errors="replace")
patterns = [
    r'"autoupdate"\s*:',
    r'"description"\s*:',
    r'architecture\.[^.]+\.url',
    r'(^\s*url\s*:)',
    r'/OsMonitorServerSetup',
    r'DIR\"|DIR"',
    r'\$dir\b',
    r'OsMonitorServerSetup\d+(\.\d+)*'
]
for pat in patterns:
    m = re.search(pat, text, flags=re.M)
    print(f"{pat}: {'MATCH' if m else 'no match'}")
PY

echo
echo "== Line ending check (CRLF vs LF) =="
python3 - <<'PY'
from pathlib import Path
b = Path("bucket/osmonitor.json").read_bytes()
crlf = b.count(b"\r\n")
lf = b.count(b"\n")
bare_cr = b.count(b"\r") - crlf
print("bytes:", len(b))
print("CRLF count:", crlf)
print("LF count:", lf)
print("Has bare CR:", bare_cr > 0, "(bare_cr_count=", bare_cr, ")")
PY

echo
echo "== Show raw bytes for line 14 (to pinpoint the JSON issue) =="
python3 - <<'PY'
from pathlib import Path
b = Path("bucket/osmonitor.json").read_bytes().splitlines(keepends=False)
i = 14
if i <= len(b):
    line = b[i-1]
    print("Line 14 bytes:", line)
    try:
        print("Line 14 decoded:", line.decode('utf-8', errors='replace'))
    except Exception as e:
        print("Decode error:", e)
else:
    print("File has only", len(b), "lines")
PY

Repository: ScoopInstaller/Extras

Length of output: 1708


Fix invalid JSON in bucket/osmonitor.json (line 14) + add missing autoupdate.

Line 14 contains invalid JSON string escaping ("/DIR="$dir""), so the manifest can’t parse. Update it to escape the inner quotes:

Suggested fix
-            "/DIR="$dir""
+            "/DIR=\"$dir\""

Also, there’s no autoupdate block even though the top-level url hardcodes 10.6.23; add autoupdate and parameterize the version (per Scoop autoupdate rules). If this is a newly added manifest, include the linked Scoop “package request” GitHub issue in description or the PR body (the current description has none).

Contribution docs:
https://github.com/ScoopInstaller/.github/blob/main/.github/CONTRIBUTING.md
https://github.com/ScoopInstaller/Scoop/wiki/App-Manifests

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"/DIR="$dir""
"/DIR=\"$dir\""
🧰 Tools
🪛 Biome (2.4.15)

[error] 14-14: expected , but instead found $dir

(parse)


[error] 14-14: expected , but instead found ""

(parse)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@bucket/osmonitor.json` at line 14, The manifest has invalid JSON at the
string "/DIR="$dir"" — replace it with properly escaped inner quotes (e.g.,
"/DIR=\\"$dir\\"" or equivalent JSON-safe value) inside bucket/osmonitor.json
and ensure the affected field uses the corrected symbol; additionally add an
autoupdate block and parameterize the hardcoded version found in the top-level
"url" (currently "10.6.23") so autoupdate can bump versions, and if this is a
new manifest include the Scoop package-request GitHub issue link in the
"description" or your PR body per Scoop contribution guidelines.

arvdk added a commit to arvdk/Extras that referenced this pull request Jun 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

package-request-needed Create a package request issue before raising PR. Check the criteria for a package to be accepted.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant