@riddix/hamh 2.0.42 → 2.0.43
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/README.md +57 -35
- package/dist/backend/cli.js +294 -167
- package/dist/frontend/assets/{index-COXfpHPr.js → index-eVn09I6J.js} +154 -154
- package/dist/frontend/index.html +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -37,7 +37,7 @@ of port forwarding etc.
|
|
|
37
37
|
|
|
38
38
|
| Channel | Branch | Current Version | Description |
|
|
39
39
|
|---------|--------|-----------------|-------------|
|
|
40
|
-
| **Stable** | `main` | v2.0.
|
|
40
|
+
| **Stable** | `main` | v2.0.43 | Production-ready, recommended for most users |
|
|
41
41
|
| **Alpha** | `alpha` | v2.1.0-alpha.x | Pre-release with new features, for early adopters |
|
|
42
42
|
| **Testing** | `testing` | v4.1.0-testing.x | ⚠️ **Highly unstable!** Experimental features, may break |
|
|
43
43
|
|
|
@@ -52,13 +52,27 @@ of port forwarding etc.
|
|
|
52
52
|
## 🎉 What's New
|
|
53
53
|
|
|
54
54
|
<details>
|
|
55
|
-
<summary><strong>📦 Stable Features (v2.0.
|
|
55
|
+
<summary><strong>📦 Stable Features (v2.0.43)</strong> - Click to expand</summary>
|
|
56
56
|
|
|
57
|
-
**New in v2.0.
|
|
57
|
+
**New in v2.0.43:**
|
|
58
58
|
|
|
59
|
-
-
|
|
59
|
+
- 🤖 Vacuum `currentArea` updates when cleaning is started outside HAMH ([#281](https://github.com/RiDDiX/home-assistant-matter-hub/issues/281))
|
|
60
|
+
- 📡 Sensor reactors mark themselves offline when HA disconnects, so updates reach controllers on reconnect ([#327](https://github.com/RiDDiX/home-assistant-matter-hub/issues/327))
|
|
61
|
+
- 🪟 Lift+tilt window coverings pick a valid Matter Type ([#323](https://github.com/RiDDiX/home-assistant-matter-hub/issues/323))
|
|
62
|
+
- 🪟 Cover `device_class=window` maps to Rollershade ([#312](https://github.com/RiDDiX/home-assistant-matter-hub/issues/312))
|
|
63
|
+
- 🧹 UWANT and Xiaomi sweep/mop labels recognised, mop usage routed via `mode.vacuum_mop` ([#322](https://github.com/RiDDiX/home-assistant-matter-hub/issues/322))
|
|
64
|
+
- 🤖 Vacuum identify falls back to a sibling identify button when `vacuum.locate` is unsupported ([#320](https://github.com/RiDDiX/home-assistant-matter-hub/issues/320))
|
|
65
|
+
- ❄️ HA-auto AC `systemMode` stays put when `hvac_action` is idle, ha-auto-only ACs no longer expose Matter Auto ([#309](https://github.com/RiDDiX/home-assistant-matter-hub/issues/309))
|
|
66
|
+
- 🌡️ Climate setpoints snap to the entity `target_temp_step` ([#321](https://github.com/RiDDiX/home-assistant-matter-hub/issues/321))
|
|
67
|
+
- 🛰️ matter.js controller traffic captured in `/api/logs`
|
|
68
|
+
- 🇯🇵 Japanese translation by [@kimera257](https://github.com/kimera257) ([#325](https://github.com/RiDDiX/home-assistant-matter-hub/pull/325))
|
|
69
|
+
- 📝 Docs note for the iPhone-only stuck-on-updating vacuum workaround ([#287](https://github.com/RiDDiX/home-assistant-matter-hub/issues/287))
|
|
70
|
+
|
|
71
|
+
**Previously in v2.0.42 (hotfix release):**
|
|
72
|
+
|
|
73
|
+
- 🇯🇵 Aqara bridge registration no longer stalls, root `softwareVersionString` now matches the numeric `softwareVersion` ([#316](https://github.com/RiDDiX/home-assistant-matter-hub/issues/316))
|
|
60
74
|
- ❄️ Climate `auto` mode is clamped to `heat`/`cool` on devices without an `AutoMode` base ([#319](https://github.com/RiDDiX/home-assistant-matter-hub/issues/319))
|
|
61
|
-
- 🌀 Per-entity `disableClimateFanControl` mapping flag
|
|
75
|
+
- 🌀 Per-entity `disableClimateFanControl` mapping flag, falls back to `ThermostatDevice` when controllers like Aqara don't recognise `RoomAirConditioner` (`0x0072`) ([#318](https://github.com/RiDDiX/home-assistant-matter-hub/issues/318))
|
|
62
76
|
- 🗺️ Vacuum service area `selectedAreas` is kept after dispatch instead of being cleared
|
|
63
77
|
|
|
64
78
|
**Previously in v2.0.41:**
|
|
@@ -68,13 +82,13 @@ of port forwarding etc.
|
|
|
68
82
|
| 🌡️ Google Home AC offline fix | `DeadFrontBehavior` on climate OnOff cluster so RoomAirConditioner stops showing offline on Google Home ([#302](https://github.com/RiDDiX/home-assistant-matter-hub/issues/302)) |
|
|
69
83
|
| 🪟 Cover device_class mapping | Map HA `garage`/`gate`/`window`/`awning`/etc. to the matching Matter WindowCovering type so voice commands hit the right device type ([#304](https://github.com/RiDDiX/home-assistant-matter-hub/issues/304)) |
|
|
70
84
|
| 📺 LG TV commissioning patch | Local patch on matter.js 0.16.11 to accept long NOC operational cert serials ([#305](https://github.com/RiDDiX/home-assistant-matter-hub/issues/305)) |
|
|
71
|
-
| 💡 Alexa brightness-reset behind flag | Old Alexa brightness-reset heuristic moved behind `alexaPreserveBrightnessOnTurnOn`, default off
|
|
85
|
+
| 💡 Alexa brightness-reset behind flag | Old Alexa brightness-reset heuristic moved behind `alexaPreserveBrightnessOnTurnOn`, default off, Apple Home "set room to 100%" works again ([#306](https://github.com/RiDDiX/home-assistant-matter-hub/issues/306)) |
|
|
72
86
|
| 🌀 Google Home fan speed | Uses `fan.set_percentage` so already-on fans pick up speed changes from Google Home ([#308](https://github.com/RiDDiX/home-assistant-matter-hub/issues/308)) |
|
|
73
87
|
| ❄️ Climate auto mode | Expose Matter Auto mode when HA reports `auto` in `hvac_modes` ([#309](https://github.com/RiDDiX/home-assistant-matter-hub/issues/309)) |
|
|
74
88
|
| 🆔 Server-mode root identity | Root identity now applies as a single transaction, so controllers don't drop devices mid-swap ([#311](https://github.com/RiDDiX/home-assistant-matter-hub/issues/311)) |
|
|
75
|
-
| 🪟 Lift-only blinds | No more `TiltBlindTiltOnly` on covers without tilt
|
|
89
|
+
| 🪟 Lift-only blinds | No more `TiltBlindTiltOnly` on covers without tilt, fixes Alexa routines for roller blinds ([#312](https://github.com/RiDDiX/home-assistant-matter-hub/issues/312)) |
|
|
76
90
|
| 🏷️ Per-entity `disableClimateOnOff` | Turn off the OnOff cluster on climate endpoints per entity for controllers that prefer mode-only control |
|
|
77
|
-
| 🔢 `serialNumberSuffix` per bridge | Append a suffix to every entity serial
|
|
91
|
+
| 🔢 `serialNumberSuffix` per bridge | Append a suffix to every entity serial, useful if controllers like Aqara cache stale device data |
|
|
78
92
|
| 📝 `protocolLogLevel` option | Quiet matter.js logs independently from the app log level |
|
|
79
93
|
| 🖥️ Bridge HW/SW version strings | HA device-registry `hw_version`/`sw_version` now show up in Matter BasicInformation on server-mode endpoints |
|
|
80
94
|
| 🎨 Extended color light: XY + enhancedColorMode | XY feature added as mandatory, `enhancedColorMode` mirrors `colorMode` |
|
|
@@ -87,7 +101,7 @@ of port forwarding etc.
|
|
|
87
101
|
**Reliability & resilience:** parallel bridge stop in `stopAll`/`restartAll`, parallel HA registry fetches, serialized bridge start/stop lifecycle, serialized `updateStates` with plugin listener detach, HA reconnect retry on transient network errors, 30s timeout on `sendMessagePromise`, port-conflict reject on web-api start, graceful shutdown on `/api/backup/restart`, `AppEnvironment` disposal on SIGINT, stale optimistic state sweep, pending debouncer clear, healthcheck 401 fix under basic auth, deep-equal entity attribute comparison, overlap guard for auto-refresh, safer mireds conversion, aligned `colorMode` publishing, surfaced bridge import errors, corrected thermostat running state for unknown modes + drying, unified Node version across Dockerfiles, sourcemaps excluded from npm tarball, unused deps dropped (rxjs, strip-color, lodash), unused `config-validator` utility removed.
|
|
88
102
|
|
|
89
103
|
**Previously in v2.0.39 & v2.0.40 (hotfix releases):**
|
|
90
|
-
- Fixed crash loop on startup caused by Node 22 native WebSocket dropping connections ([#297](https://github.com/RiDDiX/home-assistant-matter-hub/issues/297), [#299](https://github.com/RiDDiX/home-assistant-matter-hub/issues/299))
|
|
104
|
+
- Fixed crash loop on startup caused by Node 22 native WebSocket dropping connections ([#297](https://github.com/RiDDiX/home-assistant-matter-hub/issues/297), [#299](https://github.com/RiDDiX/home-assistant-matter-hub/issues/299)), affects both aarch64 (RPi) and amd64
|
|
91
105
|
- Fixed service initialization errors being silently swallowed, causing the process to hang instead of exiting
|
|
92
106
|
- Registry fetch now waits for WebSocket reconnect between retries and has increased retry tolerance
|
|
93
107
|
- Fixed `select`, `input_select`, `siren` domains showing as unsupported in filter preview ([#298](https://github.com/RiDDiX/home-assistant-matter-hub/issues/298))
|
|
@@ -134,7 +148,7 @@ of port forwarding etc.
|
|
|
134
148
|
<details>
|
|
135
149
|
<summary><strong>🧪 Alpha Features (v2.1.0-alpha.x)</strong> - Click to expand</summary>
|
|
136
150
|
|
|
137
|
-
**Alpha is currently level with Stable (v2.0.
|
|
151
|
+
**Alpha is currently level with Stable (v2.0.43).** All alpha work up to the latest pre-release has been promoted into v2.0.43. New alpha work continues from the next pre-release tag onward and will appear here as development progresses.
|
|
138
152
|
|
|
139
153
|
</details>
|
|
140
154
|
|
|
@@ -161,7 +175,7 @@ of port forwarding etc.
|
|
|
161
175
|
<summary><strong>📜 Previous Stable Versions</strong> - Click to expand</summary>
|
|
162
176
|
|
|
163
177
|
### v2.0.40
|
|
164
|
-
Filter preview domain fix
|
|
178
|
+
Filter preview domain fix, `select`, `input_select`, `siren` now show as supported ([#298](https://github.com/RiDDiX/home-assistant-matter-hub/issues/298))
|
|
165
179
|
|
|
166
180
|
### v2.0.39
|
|
167
181
|
Node 22 WebSocket crash loop fix ([#297](https://github.com/RiDDiX/home-assistant-matter-hub/issues/297), [#299](https://github.com/RiDDiX/home-assistant-matter-hub/issues/299)), service init error surfacing, registry retry hardening, support link added
|
|
@@ -205,7 +219,7 @@ Vacuum mop intensity, vacuum auto-detection, Roborock room auto-detect, live ent
|
|
|
205
219
|
### v2.0.24
|
|
206
220
|
Dashboard landing page, composed devices, bridge wizard feature flags, entity autocomplete, light transitions, live diagnostics, vacuum suction level, thermostat auto-resume, vacuum docked state, memory leak fix
|
|
207
221
|
|
|
208
|
-
### v2.0.19
|
|
222
|
+
### v2.0.19-v2.0.23
|
|
209
223
|
Bridge templates, live filter preview, entity diagnostics, multi-bridge bulk operations, entity health indicators, diagnostic export, EntityLabel/DeviceLabel filters, Power & Energy Measurement, Event domain (GenericSwitch)
|
|
210
224
|
|
|
211
225
|
### v2.0.17 / v2.0.18
|
|
@@ -347,26 +361,26 @@ configuration options, known issues, limitations and guides.
|
|
|
347
361
|
## 🔧 Network Troubleshooting
|
|
348
362
|
|
|
349
363
|
<details>
|
|
350
|
-
<summary><strong>⚠️ "No Response" / Connection Drops
|
|
364
|
+
<summary><strong>⚠️ "No Response" / Connection Drops, Common Network Causes</strong> (click to expand)</summary>
|
|
351
365
|
|
|
352
366
|
### The Problem
|
|
353
367
|
|
|
354
|
-
Your Matter devices suddenly show **"No Response"** (Apple Home), **"Unavailable"** (Google Home), or become **unresponsive** after some time
|
|
368
|
+
Your Matter devices suddenly show **"No Response"** (Apple Home), **"Unavailable"** (Google Home), or become **unresponsive** after some time, even though the bridge is still running and other controllers (e.g., Alexa) continue to work fine.
|
|
355
369
|
|
|
356
370
|
### Root Cause: Network Equipment Blocking mDNS/Multicast
|
|
357
371
|
|
|
358
|
-
Matter relies heavily on **mDNS (multicast DNS)** for device discovery and reachability. Many routers, access points, and managed switches have features that **filter, throttle, or block multicast traffic
|
|
372
|
+
Matter relies heavily on **mDNS (multicast DNS)** for device discovery and reachability. Many routers, access points, and managed switches have features that **filter, throttle, or block multicast traffic**, which breaks Matter communication silently.
|
|
359
373
|
|
|
360
|
-
> **💡 This was confirmed and documented thanks to the excellent systematic testing by [@omerfaruk-aran](https://github.com/omerfaruk-aran) in [#129](https://github.com/RiDDiX/home-assistant-matter-hub/issues/129).** The issue was traced to a TP-Link Archer AX50 (in AP mode) sitting between the Apple TV and the network
|
|
374
|
+
> **💡 This was confirmed and documented thanks to the excellent systematic testing by [@omerfaruk-aran](https://github.com/omerfaruk-aran) in [#129](https://github.com/RiDDiX/home-assistant-matter-hub/issues/129).** The issue was traced to a TP-Link Archer AX50 (in AP mode) sitting between the Apple TV and the network, its default settings were blocking/limiting mDNS/Bonjour traffic over time.
|
|
361
375
|
|
|
362
376
|
### What to Check on Your Network Equipment
|
|
363
377
|
|
|
364
|
-
1. **IGMP Snooping
|
|
365
|
-
2. **Multicast Optimization / Multicast Enhancement
|
|
366
|
-
3. **AP Isolation / Client Isolation
|
|
367
|
-
4. **mDNS / Bonjour Forwarding
|
|
368
|
-
5. **DHCP Server on secondary devices
|
|
369
|
-
6. **Firmware Updates
|
|
378
|
+
1. **IGMP Snooping**, Disable or configure it to allow mDNS (`224.0.0.251` / `ff02::fb`)
|
|
379
|
+
2. **Multicast Optimization / Multicast Enhancement**, Disable (often called "Airtime Fairness" or "Multicast to Unicast")
|
|
380
|
+
3. **AP Isolation / Client Isolation**, Must be **disabled** so devices on the same network can communicate
|
|
381
|
+
4. **mDNS / Bonjour Forwarding**, Enable if available (some enterprise APs have this)
|
|
382
|
+
5. **DHCP Server on secondary devices**, Disable DHCP on access points / switches that are NOT your main router (multiple DHCP servers cause IP conflicts)
|
|
383
|
+
6. **Firmware Updates**, Update your router/AP firmware, as multicast handling is frequently improved
|
|
370
384
|
|
|
371
385
|
### Affected Equipment (Known Cases)
|
|
372
386
|
|
|
@@ -390,14 +404,14 @@ Matter relies heavily on **mDNS (multicast DNS)** for device discovery and reach
|
|
|
390
404
|
```
|
|
391
405
|
--mdns-network-interface eth0
|
|
392
406
|
```
|
|
393
|
-
(or `end0`, `enp0s18`, etc
|
|
407
|
+
(or `end0`, `enp0s18`, etc., check your system)
|
|
394
408
|
|
|
395
409
|
### Network Topology Tips
|
|
396
410
|
|
|
397
411
|
- **Keep the path simple**: Avoid placing access points or managed switches between your Matter bridge (Home Assistant) and your Home Hub (HomePod/Apple TV)
|
|
398
412
|
- **Use wired connections** where possible for Home Hubs and the Home Assistant host
|
|
399
413
|
- **Same subnet**: All Matter devices, controllers, and the bridge must be on the same Layer 2 network / subnet
|
|
400
|
-
- **IPv6**: Matter requires IPv6
|
|
414
|
+
- **IPv6**: Matter requires IPv6, do not disable it. For VLAN setups, configure **ULA addresses** (`fd00::/8`), not just link-local (`fe80::`). See [Troubleshooting](https://home-assistant-matter-hub.riddix.dev/guides/connectivity-issues#ipv6) and [Discussion #39](https://github.com/RiDDiX/home-assistant-matter-hub/discussions/39)
|
|
401
415
|
|
|
402
416
|
</details>
|
|
403
417
|
|
|
@@ -405,7 +419,7 @@ Matter relies heavily on **mDNS (multicast DNS)** for device discovery and reach
|
|
|
405
419
|
|
|
406
420
|
## Migration from t0bst4r
|
|
407
421
|
|
|
408
|
-
Migrating from the original `t0bst4r/home-assistant-matter-hub` is
|
|
422
|
+
Migrating from the original `t0bst4r/home-assistant-matter-hub` is easy. **Your Matter fabric connections and paired devices will be preserved!**
|
|
409
423
|
|
|
410
424
|
### Home Assistant Add-on
|
|
411
425
|
|
|
@@ -457,22 +471,29 @@ Your volume mounts stay the same - no data migration needed.
|
|
|
457
471
|
|
|
458
472
|
This project thrives thanks to the amazing community! Special thanks to everyone who contributes by reporting bugs, suggesting features, and helping others.
|
|
459
473
|
|
|
474
|
+
> Note: GitHub doesn't surface contributors on this repo because it's still a fork of the original. The list below is maintained by hand.
|
|
475
|
+
|
|
460
476
|
### 🏆 Top Contributors
|
|
461
477
|
|
|
478
|
+
Newest first.
|
|
479
|
+
|
|
462
480
|
| Contributor | Contributions |
|
|
463
481
|
|-------------|---------------|
|
|
464
|
-
| [@
|
|
482
|
+
| [@Yllelder](https://github.com/Yllelder) | 🌐 **Translator** - Spanish translation ([#314](https://github.com/RiDDiX/home-assistant-matter-hub/pull/314)) |
|
|
483
|
+
| [@MStankiewiczOfficial](https://github.com/MStankiewiczOfficial) | 🌐 **Translator** - Polish translation ([#288](https://github.com/RiDDiX/home-assistant-matter-hub/pull/288)) |
|
|
484
|
+
| [@aetasoul](https://github.com/aetasoul) | 🤖 **Code Contributor** - Immediate force sync on startup to beat stale Alexa queues ([#282](https://github.com/RiDDiX/home-assistant-matter-hub/pull/282)) |
|
|
485
|
+
| [@omerfaruk-aran](https://github.com/omerfaruk-aran) | 🌐 Turkish translation ([#260](https://github.com/RiDDiX/home-assistant-matter-hub/pull/260)) + 🔧 Network debugging for "No Response" issues ([#129](https://github.com/RiDDiX/home-assistant-matter-hub/issues/129)) |
|
|
486
|
+
| [@gustavakerstrom](https://github.com/gustavakerstrom) | 🤖 **Code Contributor** - Custom fan speed mapping ([#226](https://github.com/RiDDiX/home-assistant-matter-hub/pull/226)), template description fix ([#215](https://github.com/RiDDiX/home-assistant-matter-hub/pull/215)) |
|
|
487
|
+
| [@AmineDjeghri](https://github.com/AmineDjeghri) | 📝 Migration instructions for the addon data folder ([#171](https://github.com/RiDDiX/home-assistant-matter-hub/pull/171)) |
|
|
488
|
+
| [@markgaze](https://github.com/markgaze) | 🤖 **Code Contributor** - Ecovacs Deebot room support ([#118](https://github.com/RiDDiX/home-assistant-matter-hub/pull/118)) |
|
|
489
|
+
| [@codyc1515](https://github.com/codyc1515) | 🥇 **Top Reporter** - Climate/thermostat bugs (#52, #24, #21, #20), README badge & install steps ([#285](https://github.com/RiDDiX/home-assistant-matter-hub/pull/285)), binary sensor classes ([#66](https://github.com/RiDDiX/home-assistant-matter-hub/pull/66)), fan control init ([#10](https://github.com/RiDDiX/home-assistant-matter-hub/pull/10)) |
|
|
490
|
+
| [@AymericLeFeyer](https://github.com/AymericLeFeyer) | 📝 README YouTube video link |
|
|
491
|
+
| [@depahk](https://github.com/depahk) | 📝 Migration docs ([#32](https://github.com/RiDDiX/home-assistant-matter-hub/pull/32)) |
|
|
465
492
|
| [@Hatton920](https://github.com/Hatton920) | 🤖 **Vacuum Expert** - Intensive testing of Robot Vacuum Server Mode, Apple Home & Siri validation |
|
|
466
|
-
| [@
|
|
493
|
+
| [@razzietheman](https://github.com/razzietheman) | 🥈 **Active Tester** - Bridge icons (#101), sorting (#80), feature requests (#31, #30), extensive UI/UX feedback |
|
|
467
494
|
| [@SH1FT-W](https://github.com/SH1FT-W) | 💎 **Sponsor** + Vacuum room selection feature request (#49) |
|
|
468
|
-
| [@
|
|
495
|
+
| [@Chrulf](https://github.com/Chrulf) | 🔍 Google Home brightness debugging (#41), detailed logs & testing |
|
|
469
496
|
| [@Fettkeewl](https://github.com/Fettkeewl) | 🐛 Script import bug (#26), Alias feature request (#25) |
|
|
470
|
-
| [@razzietheman](https://github.com/razzietheman) | 🥈 **Active Tester** - Bridge icons (#101), sorting (#80), feature requests (#31, #30), extensive UI/UX feedback |
|
|
471
|
-
| [@markgaze](https://github.com/markgaze) | 🤖 **Code Contributor** - Ecovacs Deebot room support ([#118](https://github.com/RiDDiX/home-assistant-matter-hub/pull/118)) |
|
|
472
|
-
| [@omerfaruk-aran](https://github.com/omerfaruk-aran) | 🔧 **Network Debugging Expert** - Systematic mDNS/multicast root cause analysis for "No Response" issues ([#129](https://github.com/RiDDiX/home-assistant-matter-hub/issues/129)) |
|
|
473
|
-
| [@gustavakerstrom](https://github.com/gustavakerstrom) | 🤖 **Code Contributor** - Template description display fix ([#215](https://github.com/RiDDiX/home-assistant-matter-hub/pull/215)) |
|
|
474
|
-
| [@aetasoul](https://github.com/aetasoul) | 🤖 **Code Contributor** - Immediate force sync on startup to beat stale Alexa queues ([#282](https://github.com/RiDDiX/home-assistant-matter-hub/pull/282)) |
|
|
475
|
-
| [@Yllelder](https://github.com/Yllelder) | 🌐 **Translator** - Spanish translation ([#314](https://github.com/RiDDiX/home-assistant-matter-hub/pull/314)) |
|
|
476
497
|
|
|
477
498
|
<details>
|
|
478
499
|
<summary><strong>📋 Issue Tracker - All Contributors</strong> (click to expand)</summary>
|
|
@@ -516,7 +537,7 @@ Thank you to everyone who helps improve this project by reporting issues!
|
|
|
516
537
|
|
|
517
538
|
### 💖 Sponsors
|
|
518
539
|
|
|
519
|
-
> **Donations are completely voluntary!** This project exists because of passion for open source, not money. Thank you to everyone who has supported it
|
|
540
|
+
> **Donations are completely voluntary!** This project exists because of passion for open source, not money. Thank you to everyone who has supported it, it truly means a lot! ❤️
|
|
520
541
|
|
|
521
542
|
🥇 **First Sponsor:** [@thorsten-gehrig](https://github.com/thorsten-gehrig)
|
|
522
543
|
|
|
@@ -568,3 +589,4 @@ Your support helps cover hosting costs and motivates continued development. Than
|
|
|
568
589
|
</div>
|
|
569
590
|
|
|
570
591
|
---
|
|
592
|
+
|