driverclient 0.2.9__tar.gz → 0.2.10__tar.gz

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.
Files changed (23) hide show
  1. {driverclient-0.2.9 → driverclient-0.2.10}/PKG-INFO +1 -1
  2. {driverclient-0.2.9 → driverclient-0.2.10}/pyproject.toml +1 -1
  3. {driverclient-0.2.9 → driverclient-0.2.10}/src/driverclient/__init__.py +1 -1
  4. {driverclient-0.2.9 → driverclient-0.2.10}/src/driverclient/ops/resolve.py +11 -0
  5. {driverclient-0.2.9 → driverclient-0.2.10}/.gitignore +0 -0
  6. {driverclient-0.2.9 → driverclient-0.2.10}/README.md +0 -0
  7. {driverclient-0.2.9 → driverclient-0.2.10}/src/driverclient/__main__.py +0 -0
  8. {driverclient-0.2.9 → driverclient-0.2.10}/src/driverclient/config.json +0 -0
  9. {driverclient-0.2.9 → driverclient-0.2.10}/src/driverclient/config.py +0 -0
  10. {driverclient-0.2.9 → driverclient-0.2.10}/src/driverclient/core/__init__.py +0 -0
  11. {driverclient-0.2.9 → driverclient-0.2.10}/src/driverclient/core/hardware.py +0 -0
  12. {driverclient-0.2.9 → driverclient-0.2.10}/src/driverclient/core/http.py +0 -0
  13. {driverclient-0.2.9 → driverclient-0.2.10}/src/driverclient/core/hwid.py +0 -0
  14. {driverclient-0.2.9 → driverclient-0.2.10}/src/driverclient/core/proc.py +0 -0
  15. {driverclient-0.2.9 → driverclient-0.2.10}/src/driverclient/events.py +0 -0
  16. {driverclient-0.2.9 → driverclient-0.2.10}/src/driverclient/main.py +0 -0
  17. {driverclient-0.2.9 → driverclient-0.2.10}/src/driverclient/ops/__init__.py +0 -0
  18. {driverclient-0.2.9 → driverclient-0.2.10}/src/driverclient/ops/automate.py +0 -0
  19. {driverclient-0.2.9 → driverclient-0.2.10}/src/driverclient/ops/capture.py +0 -0
  20. {driverclient-0.2.9 → driverclient-0.2.10}/src/driverclient/ops/diagnose.py +0 -0
  21. {driverclient-0.2.9 → driverclient-0.2.10}/src/driverclient/ops/install.py +0 -0
  22. {driverclient-0.2.9 → driverclient-0.2.10}/src/driverclient/ops/scan.py +0 -0
  23. {driverclient-0.2.9 → driverclient-0.2.10}/src/driverclient/py.typed +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: driverclient
3
- Version: 0.2.9
3
+ Version: 0.2.10
4
4
  Summary: Driver Server client with an embeddable connector for config injection at runtime.
5
5
  Project-URL: Homepage, https://example.com/driverclient
6
6
  Author-email: Raja Sanaullah <sanaullah@99technologies.com>
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "driverclient"
7
- version = "0.2.9"
7
+ version = "0.2.10"
8
8
  description = "Driver Server client with an embeddable connector for config injection at runtime."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -25,7 +25,7 @@ from driverclient.main import run as _run
25
25
 
26
26
  __all__ = ["DriverClient", "ClientEvent"]
27
27
 
28
- __version__ = "0.2.9"
28
+ __version__ = "0.2.10"
29
29
 
30
30
 
31
31
  class DriverClient:
@@ -82,6 +82,16 @@ def _query_repo(scan_result: ScanResult, cfg: dict, force: bool) -> ResolveResul
82
82
  hwid_groups = [
83
83
  ids for ids in (hwid_mod.matchable_ids(d.hwids) for d in scan_result.devices) if ids
84
84
  ]
85
+ # Canonical ids of devices whose CURRENT driver is a Windows INBOX driver.
86
+ # The server uses this to offer the repo OEM instead of treating the inbox
87
+ # driver's Windows-build version (e.g. 10.0.19041.x) as "newer" than the OEM
88
+ # version (false-stale) and skipping the install. Without it, deleting an OEM
89
+ # driver → Windows binds its inbox fallback → repo never reinstalls the OEM.
90
+ inbox_ids = [
91
+ hwid_mod.canonicalize(i)
92
+ for d in scan_result.devices if getattr(d, "is_inbox", False)
93
+ for i in hwid_mod.matchable_ids(d.hwids)
94
+ ]
85
95
  # Version map ALSO keyed by the canonical ids the server matches on, so its
86
96
  # already-current / stale check lands (raw keys kept for back-compat).
87
97
  canon_versions = {
@@ -102,6 +112,7 @@ def _query_repo(scan_result: ScanResult, cfg: dict, force: bool) -> ResolveResul
102
112
  "firmware_version": scan_result.firmware_version,
103
113
  "hwids": scan_result.all_hwids,
104
114
  "hwid_groups": hwid_groups,
115
+ "inbox_hwids": inbox_ids,
105
116
  "installed_versions": {**scan_result.installed_versions, **canon_versions},
106
117
  "force": force or cfg.get("force_resolve", False),
107
118
  }
File without changes
File without changes