@openparachute/hub 0.5.13-rc.48 → 0.5.13-rc.49

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openparachute/hub",
3
- "version": "0.5.13-rc.48",
3
+ "version": "0.5.13-rc.49",
4
4
  "description": "parachute — the local hub for the Parachute ecosystem (discovery, ports, lifecycle, soon OAuth).",
5
5
  "license": "AGPL-3.0",
6
6
  "publishConfig": {
@@ -11,8 +11,15 @@
11
11
  "bin": {
12
12
  "parachute": "src/cli.ts"
13
13
  },
14
- "workspaces": ["packages/*"],
15
- "files": ["src", "web/ui/dist", "README.md", "LICENSE"],
14
+ "workspaces": [
15
+ "packages/*"
16
+ ],
17
+ "files": [
18
+ "src",
19
+ "web/ui/dist",
20
+ "README.md",
21
+ "LICENSE"
22
+ ],
16
23
  "repository": {
17
24
  "type": "git",
18
25
  "url": "https://github.com/ParachuteComputer/parachute-hub.git"
@@ -755,5 +755,11 @@ export function findService(
755
755
  path: string = SERVICES_MANIFEST_PATH,
756
756
  ): ServiceEntry | undefined {
757
757
  if (!existsSync(path)) return undefined;
758
- return readManifest(path).services.find((s) => s.name === name);
758
+ // Lenient read on this read-side helper too — see hub#406. Without
759
+ // this, every caller that uses findService to check "is X installed?"
760
+ // crashes when ANY other row in services.json is malformed. Caught
761
+ // 2026-05-26 when /admin/setup's `isModuleInstalled(vault, ...)` call
762
+ // still 500'd after the bulk lenient-sweep because findService was
763
+ // missed.
764
+ return readManifestLenient(path).services.find((s) => s.name === name);
759
765
  }