homebridge-tsvesync 1.0.112 → 1.0.113
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/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,55 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.0.113 (2025-08-28)
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
- **🚨 CRITICAL STABILITY FIX - v1.0.112 Crash Resolution**: Fixed crash issue introduced in v1.0.112 while maintaining Core 200S air quality fix
|
|
7
|
+
- **🐛 The v1.0.112 Problem**: Attempted to return original function directly for bypassed methods, but this caused crashes when:
|
|
8
|
+
- The function value might be undefined or not properly bound
|
|
9
|
+
- Direct returns could break the proxy chain or cause type errors
|
|
10
|
+
- Bypassed methods lost proper execution context leading to runtime failures
|
|
11
|
+
- **✅ The v1.0.113 Solution**: Now returns a **synchronous wrapper function** instead of direct return:
|
|
12
|
+
```javascript
|
|
13
|
+
// SAFE: Always returns a callable function
|
|
14
|
+
return function(...args) { // NOT async!
|
|
15
|
+
return value.apply(target, args);
|
|
16
|
+
};
|
|
17
|
+
```
|
|
18
|
+
- **🎯 Benefits**:
|
|
19
|
+
- Always returns a callable function (prevents crashes)
|
|
20
|
+
- Synchronous wrapper ensures `hasFeature()` returns `boolean`, not `Promise<boolean>`
|
|
21
|
+
- Properly binds execution context with `apply()`
|
|
22
|
+
- Maintains Core 200S air quality fix from v1.0.112
|
|
23
|
+
- **📱 Impact**: Eliminates crashes while preserving correct air quality detection for all devices
|
|
24
|
+
|
|
25
|
+
### Changed
|
|
26
|
+
- **Enhanced Proxy Safety**: Improved bypass method handling in API proxy architecture
|
|
27
|
+
- Replaced potentially unsafe direct function returns with guaranteed synchronous wrappers
|
|
28
|
+
- Maintained performance benefits of bypassing rate limiting for configuration methods
|
|
29
|
+
- Ensured all bypassed methods return proper types (boolean, number, string) not Promises
|
|
30
|
+
- Improved code robustness and error prevention in proxy chain
|
|
31
|
+
|
|
32
|
+
### Dependencies
|
|
33
|
+
- Updated tsvesync from 1.0.112 to 1.0.113 for version synchronization
|
|
34
|
+
|
|
35
|
+
### HomeKit Integration Notes
|
|
36
|
+
- **🎉 STABLE OPERATION**: This release resolves the crashes introduced in v1.0.112
|
|
37
|
+
- **✅ Core 200S Still Fixed**: The Core 200S air quality phantom service fix remains active and working
|
|
38
|
+
- **⚠️ RECOMMENDED UPDATE**: Critical stability fix - highly recommended for all v1.0.112 users
|
|
39
|
+
- **🔄 No Manual Action**: Simply update and restart Homebridge - all functionality preserved
|
|
40
|
+
|
|
41
|
+
### Breaking Changes
|
|
42
|
+
- **None**: This is a critical stability fix with no API or configuration changes
|
|
43
|
+
|
|
44
|
+
### Migration Notes
|
|
45
|
+
- **🚀 Immediate Update Recommended**: Update from v1.0.112 to v1.0.113 to resolve crash issues
|
|
46
|
+
- **📋 Verification Steps**:
|
|
47
|
+
1. Update the plugin to v1.0.113
|
|
48
|
+
2. Restart Homebridge completely
|
|
49
|
+
3. Verify stable operation without crashes
|
|
50
|
+
4. Confirm Core 200S devices still work without phantom air quality services
|
|
51
|
+
- **⚡ Same Functionality**: All features from v1.0.112 maintained with improved stability
|
|
52
|
+
|
|
3
53
|
## 1.0.112 (2025-08-28)
|
|
4
54
|
|
|
5
55
|
### Fixed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-proxy.d.ts","sourceRoot":"","sources":["../../src/utils/api-proxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"api-proxy.d.ts","sourceRoot":"","sources":["../../src/utils/api-proxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAkPxD,eAAO,MAAM,uBAAuB,aACxB,MAAM,YACN,MAAM,YACN,MAAM,UACR,OAAO,WACN,OAAO,WACP,MAAM,iBACA,YAAY,eACd,eAAe,WACnB;IACP,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE;QAChB,OAAO,EAAE,OAAO,CAAC;QACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;KAC5B,CAAA;CACF,KACA,MA6BF,CAAC"}
|
package/dist/utils/api-proxy.js
CHANGED
|
@@ -157,8 +157,6 @@ const createRateLimitedProxy = (target, rateLimiter, deviceId) => {
|
|
|
157
157
|
}
|
|
158
158
|
return value;
|
|
159
159
|
}
|
|
160
|
-
// Check if this method should bypass rate limiting entirely
|
|
161
|
-
const methodName = prop.toString();
|
|
162
160
|
// Methods that bypass all rate limiting and debouncing
|
|
163
161
|
const bypassMethods = [
|
|
164
162
|
// Getters and internal methods
|
|
@@ -174,11 +172,14 @@ const createRateLimitedProxy = (target, rateLimiter, deviceId) => {
|
|
|
174
172
|
// Feature detection and configuration methods (don't make API calls)
|
|
175
173
|
'hasFeature', 'getMaxFanSpeed', 'isFeatureSupportedInCurrentMode'
|
|
176
174
|
];
|
|
177
|
-
|
|
175
|
+
const methodName = prop.toString();
|
|
176
|
+
// For bypass methods, return a simple wrapper that calls the original synchronously
|
|
178
177
|
if (bypassMethods.includes(methodName)) {
|
|
179
|
-
return
|
|
178
|
+
return function (...args) {
|
|
179
|
+
return value.apply(target, args);
|
|
180
|
+
};
|
|
180
181
|
}
|
|
181
|
-
//
|
|
182
|
+
// Return a proxied async function that applies rate limiting
|
|
182
183
|
return async function (...args) {
|
|
183
184
|
// Methods that should only be rate limited (no debouncing)
|
|
184
185
|
const noDebounceAPIMethods = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-proxy.js","sourceRoot":"","sources":["../../src/utils/api-proxy.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"api-proxy.js","sourceRoot":"","sources":["../../src/utils/api-proxy.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "homebridge-tsvesync",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.113",
|
|
4
4
|
"description": "Homebridge plugin for VeSync devices including Levoit air purifiers, humidifiers, and Etekcity smart outlets",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -98,7 +98,7 @@
|
|
|
98
98
|
"axios": "^1.6.5",
|
|
99
99
|
"dotenv": "^16.3.1",
|
|
100
100
|
"js-yaml": "^4.1.0",
|
|
101
|
-
"tsvesync": "1.0.
|
|
101
|
+
"tsvesync": "1.0.113"
|
|
102
102
|
},
|
|
103
103
|
"devDependencies": {
|
|
104
104
|
"@types/jest": "^29.5.11",
|
package/src/utils/api-proxy.ts
CHANGED
|
@@ -197,9 +197,6 @@ const createRateLimitedProxy = (target: any, rateLimiter: RateLimiter, deviceId?
|
|
|
197
197
|
return value;
|
|
198
198
|
}
|
|
199
199
|
|
|
200
|
-
// Check if this method should bypass rate limiting entirely
|
|
201
|
-
const methodName = prop.toString();
|
|
202
|
-
|
|
203
200
|
// Methods that bypass all rate limiting and debouncing
|
|
204
201
|
const bypassMethods = [
|
|
205
202
|
// Getters and internal methods
|
|
@@ -216,12 +213,16 @@ const createRateLimitedProxy = (target: any, rateLimiter: RateLimiter, deviceId?
|
|
|
216
213
|
'hasFeature', 'getMaxFanSpeed', 'isFeatureSupportedInCurrentMode'
|
|
217
214
|
];
|
|
218
215
|
|
|
219
|
-
|
|
216
|
+
const methodName = prop.toString();
|
|
217
|
+
|
|
218
|
+
// For bypass methods, return a simple wrapper that calls the original synchronously
|
|
220
219
|
if (bypassMethods.includes(methodName)) {
|
|
221
|
-
return
|
|
220
|
+
return function(...args: any[]) {
|
|
221
|
+
return value.apply(target, args);
|
|
222
|
+
};
|
|
222
223
|
}
|
|
223
224
|
|
|
224
|
-
//
|
|
225
|
+
// Return a proxied async function that applies rate limiting
|
|
225
226
|
return async function(...args: any[]) {
|
|
226
227
|
// Methods that should only be rate limited (no debouncing)
|
|
227
228
|
const noDebounceAPIMethods = [
|