Web Configurator source diff
File-by-file comparison of the official 2.3.3 source and the modified source.
README.md
modified
Official 2.3.3 source8,123988a7c019a34f6f65359a0980989a12d412f6c427c86d6ca595c59e3bea6ebb9
Modified source7,927c1795f127b40c37535e691b452cb2316d36cd8aa33d8cd044ab0d5045532ac93
File changes
Exact-source mode compares the original textual layout without display formatting.
upstream-web-configurator-2.3.3/README.md→modified-web-configurator-2.3.3-unfoldedtools.8/README.mdraw
| @@ -1,15 +1,18 @@ | |||
| 1 | - | # Web-Configurator — GPLv3 source release (archived) | |
| 1 | + | # Web Configurator 2.3.3 — Unfolded.Tools modified build | |
| 2 | 2 | ||
| 3 | - | This archive contains the source of the Unfolded Circle Web-Configurator 2.3.3, shipped | |
| 4 | - | in firmware 2.9.11. It is the last version shipped while the device's licence listing carried | |
| 5 | - | a GNU General Public License v3.0 entry for the Web-Configurator. | |
| 3 | + | This directory is the complete corresponding source for the unofficial | |
| 4 | + | `2.3.3-unfoldedtools.8` build used by the Unfolded.Tools Remote Simulator. It is based on | |
| 5 | + | the complete Web Configurator 2.3.3 source snapshot published by Unfolded Circle ApS and | |
| 6 | + | is licensed under `GPL-3.0-only`. See `MODIFICATIONS.md` for the dated change list. | |
| 6 | 7 | ||
| 7 | - | That notice was our mistake: the Web-Configurator was written in-house and was not intended | |
| 8 | - | for open-source release at that stage. Rather than leave it ambiguous, we are publishing the | |
| 9 | - | source. This snapshot is released under the GNU General Public License, version 3 | |
| 10 | - | (`GPL-3.0-only`), with our own artwork under CC BY 4.0 — see [Licensing](#licensing). | |
| 8 | + | The untouched official archive and extracted source are published alongside this directory. | |
| 9 | + | The modified build replaces the archive's Font Awesome Free compatibility layer with the | |
| 10 | + | locally hosted Apache-2.0 Material Symbols Sharp variable font and adds the simulator-specific | |
| 11 | + | source changes. It does not contain or depend on the compiled Web Configurator extracted from | |
| 12 | + | a physical Remote. | |
| 11 | 13 | ||
| 12 | - | Later releases of the Web-Configurator are proprietary and are not covered by this licence. | |
| 14 | + | The following upstream status and provenance information is retained because it explains the | |
| 15 | + | origin and scope of the official 2.3.3 snapshot. | |
| 13 | 16 | ||
| 14 | 17 | ## Status | |
| 15 | 18 | ||
| @@ -23,11 +26,10 @@ | |||
| 23 | 26 | ||
| 24 | 27 | ## Provenance | |
| 25 | 28 | ||
| 26 | - | This is the Web-Configurator 2.3.3 source tree with a small, deliberate set of later changes | |
| 27 | - | applied on top and a handful of files replaced: the Font Awesome Pro stylesheets swapped for | |
| 28 | - | the Free edition, the third-party licence information in Settings backported together with | |
| 29 | - | the translations that go with it. Nothing else from our development branch is here, so apart | |
| 30 | - | from the differences below this is the source of the build that shipped in firmware 2.9.11. | |
| 29 | + | The official 2.3.3 snapshot contains a small, deliberate set of later upstream changes: the | |
| 30 | + | Font Awesome Pro stylesheets were replaced with the Free edition, and the third-party licence | |
| 31 | + | information in Settings was backported together with its translations. This modified tree then | |
| 32 | + | applies the additional Unfolded.Tools changes documented in `MODIFICATIONS.md`. | |
| 31 | 33 | ||
| 32 | 34 | Internal tooling, CI configuration and internal documentation are not included; none of it | |
| 33 | 35 | is needed to build, run or modify the application. | |
| @@ -36,12 +38,11 @@ | |||
| 36 | 38 | ||
| 37 | 39 | ## Differences from the shipped bundle | |
| 38 | 40 | ||
| 39 | - | **Font Awesome.** The build shipped on the device used Font Awesome Pro under a commercial | |
| 40 | - | licence we cannot sublicense. No Font Awesome Pro material is included in this archive; it | |
| 41 | - | has been replaced with the Free edition, so `npm install && npm run build` produces a Font | |
| 42 | - | Awesome Free build. Icons that exist only in Pro are mapped to their nearest Free equivalent | |
| 43 | - | — in the stylesheets, and at runtime for icon names stored in a device configuration — so a | |
| 44 | - | number of icons look different from the shipped build. Nothing else about them changed. | |
| 41 | + | **Icons.** The build shipped on the device used Font Awesome Pro under a commercial licence. | |
| 42 | + | The official GPL source snapshot replaced it with Font Awesome Free. The Unfolded.Tools modified | |
| 43 | + | build removes Font Awesome entirely and maps the legacy icon identifiers to the locally hosted | |
| 44 | + | Material Symbols Sharp variable font. Thin, Light and Regular usages map to weights 100, 300 | |
| 45 | + | and 400; Solid maps to weight 400 with fill enabled. | |
| 45 | 46 | ||
| 46 | 47 | **The Licences page in Settings.** Settings → Licences, and the `public/licenses.md` | |
| 47 | 48 | attribution page behind it, are backported from a later development state; the shipped 2.3.3 | |
| @@ -121,28 +122,24 @@ | |||
| 121 | 122 | Requires Node 22 (see `.nvmrc`). | |
| 122 | 123 | ||
| 123 | 124 | ```shell | |
| 124 | - | # Install dependencies | |
| 125 | - | npm install | |
| 125 | + | # Install the exact dependency graph | |
| 126 | + | npm ci | |
| 126 | 127 | ||
| 127 | - | # Provide the Font Awesome Free webfont — required once, before dev or build | |
| 128 | - | mkdir -p public/configurator/fonts/fontawesome6 | |
| 129 | - | cp node_modules/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff2 \ | |
| 130 | - | node_modules/@fortawesome/fontawesome-free/webfonts/fa-solid-900.ttf \ | |
| 131 | - | public/configurator/fonts/fontawesome6/ | |
| 132 | - | ||
| 133 | - | # Start development server (http://localhost:3000) | |
| 128 | + | # Start the development server | |
| 134 | 129 | npm run dev | |
| 135 | 130 | ||
| 136 | - | # Production build | |
| 131 | + | # Generic production build | |
| 137 | 132 | BASE_URL=/configurator/ npm run build | |
| 138 | 133 | ``` | |
| 139 | 134 | ||
| 140 | - | The destination comes from `$fa-font-path` in `src/assets/vars/_variables.scss`. Vite applies | |
| 141 | - | `base` to both the stylesheet reference and the contents of `public/`, so the two always | |
| 142 | - | agree: this works unchanged whatever you set `BASE_URL` to, and `$fa-font-path` does not need | |
| 143 | - | adjusting when you serve the app from a different base path. | |
| 135 | + | The Material Symbols Sharp variable font is included at | |
| 136 | + | `src/assets/fonts/material-symbols-sharp.woff2`; no external font download or CDN is required. | |
| 137 | + | For the Unfolded.Tools project, use the canonical project-level build command instead of the | |
| 138 | + | generic command above: | |
| 144 | 139 | ||
| 145 | - | Skipping the copy leaves the app running but renders every icon as a missing-glyph box. | |
| 140 | + | ```shell | |
| 141 | + | node remote-simulator/tools/build-web-configurator-2.3.3.mjs | |
| 142 | + | ``` | |
| 146 | 143 | ||
| 147 | 144 | ### Development without a Device | |
| 148 | 145 | ||
| @@ -167,3 +164,10 @@ | |||
| 167 | 164 | ||
| 168 | 165 | Then run `npm run dev` — API and WebSocket requests will proxy to your device. | |
| 169 | 166 | ||
| 167 | + | ||
| 168 | + | ## Unfolded.Tools session base | |
| 169 | + | ||
| 170 | + | The canonical project build sets `BASE_URL=__UCVR_SESSION_BASE__/configurator/`. The | |
| 171 | + | Unfolded.Tools server replaces that placeholder in text assets with the isolated simulator | |
| 172 | + | session path before sending them to the browser. | |
| 173 | + | ||
This page compares the readable official Web Configurator 2.3.3 source with the readable 2.3.3-unfoldedtools.8 modified source. Generated build directories and dependency folders are excluded so hashed Vite filenames do not inflate the results.
Modified44
Custom only30
Upstream only16
Identical569
| Status | Path | Official bytes | Modified bytes |
|---|---|---|---|
| same | .license-reportrc | 123 | 123 |
| same | .nvmrc | 5 | 5 |
| same | .prettierignore | 1,168 | 1,168 |
| custom-only | ARTWORK.md | — | 2,870 |
| same | docker/visual/docker-compose.yml | 1,345 | 1,345 |
| modified | docker/visual/run.sh | 1,989 | 1,253 |
| same | docker/visual/visual.sh | 1,366 | 1,366 |
| same | env.d.ts | 870 | 870 |
| same | env/.env | 58 | 58 |
| same | env/.env.dev | 20 | 20 |
| same | eslint.config.mjs | 3,404 | 3,404 |
| modified | index.html | 1,180 | 724 |
| same | LICENSE | 35,148 | 35,148 |
| custom-only | LICENSES/Apache-2.0.txt | — | 11,358 |
| same | LICENSES/CC-BY-4.0.txt | 18,657 | 18,657 |
| custom-only | MODIFICATIONS.md | — | 4,360 |
| modified | package-lock.json | 294,467 | 294,018 |
| modified | package.json | 2,524 | 2,538 |
| same | playwright.config.ts | 3,443 | 3,443 |
| same | playwright.visual.config.ts | 2,269 | 2,269 |
| custom-only | public/ARTWORK.md | — | 2,870 |
| custom-only | public/assets/remote-simulator-background.svg | — | 879 |
| custom-only | public/assets/ucvr-simulator.js | — | 153,300 |
| custom-only | public/assets/unfolded-simulator-bootstrap.js | — | 1,049 |
| custom-only | public/assets/unfolded-simulator-source-integration.css | — | 4,486 |
| custom-only | public/fonts/material-symbols/LICENSE.txt | — | 11,358 |
| custom-only | public/fonts/material-symbols/NOTICE.md | — | 421 |
| same | public/fonts/poppins/poppins-latin-ext_latin-extralight.woff | 73,464 | 73,464 |
| same | public/fonts/poppins/poppins-latin-ext_latin-extralight.woff2 | 50,788 | 50,788 |
| same | public/fonts/poppins/poppins-latin-ext_latin-medium.woff | 72,764 | 72,764 |
| same | public/fonts/poppins/poppins-latin-ext_latin-medium.woff2 | 50,488 | 50,488 |
| same | public/fonts/poppins/poppins-v20-latin-ext_latin-300.woff | 14,448 | 14,448 |
| same | public/fonts/poppins/poppins-v20-latin-ext_latin-300.woff2 | 10,776 | 10,776 |
| same | public/fonts/poppins/poppins-v20-latin-ext_latin-regular.woff | 14,516 | 14,516 |
| same | public/fonts/poppins/poppins-v20-latin-ext_latin-regular.woff2 | 10,832 | 10,832 |
| same | public/fonts/space-mono/space-mono-v11-latin-ext_latin-700.woff | 30,156 | 30,156 |
| same | public/fonts/space-mono/space-mono-v11-latin-ext_latin-700.woff2 | 24,100 | 24,100 |
| same | public/fonts/space-mono/space-mono-v11-latin-ext_latin-regular.woff | 29,112 | 29,112 |
| same | public/fonts/space-mono/space-mono-v11-latin-ext_latin-regular.woff2 | 23,324 | 23,324 |
| same | public/icons/icon-fallback-mapping.json | 343 | 343 |
| same | public/icons/icon-list.json | 48,898 | 48,898 |
| same | public/icons/old-new-icon-mapping-free.json | 3,100 | 3,100 |
| same | public/icons/old-new-icon-mapping.json | 3,217 | 3,217 |
| same | public/images/add-page.svg | 3,467 | 3,467 |
| custom-only | public/images/background/login-bg-1280.jpg | — | 47,311 |
| custom-only | public/images/background/login-bg-1920.jpg | — | 116,546 |
| custom-only | public/images/background/login-bg-2500.jpg | — | 218,796 |
| custom-only | public/images/background/login-bg-phone.jpg | — | 192,867 |
| custom-only | public/images/background/login-bg-v2-1280.jpg | — | 74,569 |
| custom-only | public/images/background/login-bg-v2-1920.jpg | — | 181,844 |
| custom-only | public/images/background/login-bg-v2-2500.jpg | — | 336,104 |
| custom-only | public/images/background/login-bg-v2-phone.jpg | — | 192,867 |
| custom-only | public/images/background/login-bg-v2.jpg | — | 802,879 |
| custom-only | public/images/background/login-bg.jpg | — | 475,727 |
| same | public/images/cropper-corner.svg | 237 | 237 |
| same | public/images/customise-remote/add-entities.png | 2,506 | 2,506 |
| same | public/images/customise-remote/add-groups.png | 2,878 | 2,878 |
| same | public/images/customise-remote/configure-buttons.png | 3,191 | 3,191 |
| same | public/images/dock/dock-2.webp | 178,380 | 178,380 |
| same | public/images/dock/dock-d-c.webp | 281,806 | 281,806 |
| same | public/images/dock/dock-d-n.webp | 270,838 | 270,838 |
| same | public/images/dock/dock-s-c.webp | 298,122 | 298,122 |
| same | public/images/dock/dock-s-n.webp | 288,210 | 288,210 |
| modified | public/images/LICENSE | 1,392 | 1,909 |
| same | public/images/loading-indicator-dark.png | 2,074 | 2,074 |
| same | public/images/loading-indicator.png | 3,320 | 3,320 |
| same | public/images/quick-tips/icon-contextual.svg | 1,403 | 1,403 |
| same | public/images/remote-2-front-min.webp | 63,456 | 63,456 |
| same | public/images/remote-2-front.webp | 397,556 | 397,556 |
| custom-only | public/images/remote-3-dark-backlight-mask.png | — | 16,337 |
| modified | public/images/remote-3-dark-front-min.webp | 3,038 | 34,878 |
| modified | public/images/remote-3-dark-front.webp | 84,730 | 59,644 |
| same | public/images/remote-3-silver-front-min.webp | 3,106 | 3,106 |
| same | public/images/remote-3-silver-front.webp | 92,864 | 92,864 |
| custom-only | public/LICENSE | — | 35,148 |
| modified | public/licenses.md | 521,884 | 524,556 |
| custom-only | public/LICENSES/CC-BY-4.0.txt | — | 18,657 |
| modified | public/logo.svg | 463 | 500 |
| custom-only | public/MODIFICATIONS.md | — | 4,360 |
| custom-only | public/release.json | — | 540 |
| custom-only | public/VERSION | — | 22 |
| modified | README.md | 8,123 | 7,927 |
| same | src/api/connection/ConnectionInterface.ts | 435 | 435 |
| same | src/api/connection/ConnectionMonitor.ts | 16,876 | 16,876 |
| same | src/api/connection/index.ts | 4,582 | 4,582 |
| same | src/api/connection/monitorTypes.ts | 5,051 | 5,051 |
| same | src/api/connection/rest.ts | 6,527 | 6,527 |
| same | src/api/connection/socket.ts | 8,146 | 8,146 |
| same | src/api/connection/wakeEvents.ts | 1,444 | 1,444 |
| same | src/api/eventRouter.ts | 5,884 | 5,884 |
| modified | src/api/index.ts | 2,472 | 2,788 |
| modified | src/api/local.ts | 851 | 1,180 |
| same | src/api/monitor.ts | 1,324 | 1,324 |
| same | src/api/services/activities.ts | 6,758 | 6,758 |
| same | src/api/services/activityGroups.ts | 1,968 | 1,968 |
| same | src/api/services/authenticate.ts | 1,532 | 1,532 |
| same | src/api/services/authExternal.ts | 1,254 | 1,254 |
| same | src/api/services/backup.ts | 1,380 | 1,380 |
| same | src/api/services/BaseService.ts | 681 | 681 |
| same | src/api/services/bluetooth.ts | 2,245 | 2,245 |
| same | src/api/services/config.ts | 7,188 | 7,188 |
| same | src/api/services/docks.ts | 6,853 | 6,853 |
| same | src/api/services/factoryReset.ts | 719 | 719 |
| same | src/api/services/integrations.ts | 15,888 | 15,888 |
| same | src/api/services/ir.ts | 5,542 | 5,542 |
| same | src/api/services/logs.ts | 1,359 | 1,359 |
| same | src/api/services/macros.ts | 2,509 | 2,509 |
| same | src/api/services/profiles.ts | 4,727 | 4,727 |
| same | src/api/services/remotes.ts | 8,561 | 8,561 |
| same | src/api/services/resources.ts | 1,964 | 1,964 |
| same | src/api/services/ServiceInterface.ts | 154 | 154 |
| same | src/api/services/system.ts | 2,489 | 2,489 |
| same | src/api/services/systemUpdate.ts | 853 | 853 |
| modified | src/App.vue | 5,418 | 5,593 |
| custom-only | src/assets/_material-symbols.scss | — | 212,512 |
| same | src/assets/base/_animations.scss | 257 | 257 |
| same | src/assets/base/_base.scss | 4,258 | 4,258 |
| modified | src/assets/base/_fonts.scss | 2,327 | 2,087 |
| same | src/assets/base/_form.scss | 27,204 | 27,204 |
| same | src/assets/base/_mixins.scss | 15,279 | 15,279 |
| same | src/assets/components/_application-credentials.scss | 1,961 | 1,961 |
| same | src/assets/components/_browse-element.scss | 5,175 | 5,175 |
| same | src/assets/components/_command.scss | 10,317 | 10,317 |
| same | src/assets/components/_dialog.scss | 2,723 | 2,723 |
| same | src/assets/components/_dock.scss | 17,839 | 17,839 |
| modified | src/assets/components/_entity.scss | 15,717 | 15,905 |
| same | src/assets/components/_filter-dropdown.scss | 3,606 | 3,606 |
| same | src/assets/components/_group.scss | 0 | 0 |
| same | src/assets/components/_icon-list.scss | 5,317 | 5,317 |
| same | src/assets/components/_icon-select.scss | 1,757 | 1,757 |
| same | src/assets/components/_integration.scss | 10,036 | 10,036 |
| same | src/assets/components/_language-dropdown.scss | 3,511 | 3,511 |
| same | src/assets/components/_list-with-filter.scss | 1,921 | 1,921 |
| same | src/assets/components/_media-browse.scss | 1,825 | 1,825 |
| same | src/assets/components/_modal.scss | 15,947 | 15,947 |
| same | src/assets/components/_navbar.scss | 2,996 | 2,996 |
| same | src/assets/components/_notification.scss | 9,534 | 9,534 |
| same | src/assets/components/_param-setup.scss | 1,839 | 1,839 |
| same | src/assets/components/_profiles.scss | 4,023 | 4,023 |
| same | src/assets/components/_quick-tips.scss | 4,006 | 4,006 |
| same | src/assets/components/_remote-status.scss | 2,924 | 2,924 |
| same | src/assets/components/_resource-list.scss | 5,701 | 5,701 |
| same | src/assets/components/_resource.scss | 7,942 | 7,942 |
| same | src/assets/components/_sequence.scss | 8,362 | 8,362 |
| same | src/assets/components/_sleep-timeout.scss | 2,178 | 2,178 |
| same | src/assets/components/_touch-slider.scss | 1,773 | 1,773 |
| same | src/assets/components/_version-info.scss | 117 | 117 |
| same | src/assets/components/_vue-picture-cropper.scss | 1,234 | 1,234 |
| same | src/assets/components/_widget.scss | 12,201 | 12,201 |
| same | src/assets/components/configure-button/_button-list.scss | 12,088 | 12,088 |
| same | src/assets/components/configure-button/_button-press.scss | 4,212 | 4,212 |
| same | src/assets/components/customise-remote/_group.scss | 5,118 | 5,118 |
| same | src/assets/components/customise-remote/_modify.scss | 1,259 | 1,259 |
| same | src/assets/components/customise-remote/_options.scss | 4,344 | 4,344 |
| same | src/assets/components/entity/_add-device.scss | 13,718 | 13,718 |
| same | src/assets/components/entity/_base-entity-list.scss | 1,171 | 1,171 |
| same | src/assets/components/menus/_menu-main-desktop.scss | 3,632 | 3,632 |
| same | src/assets/components/menus/_menu-main-mobile.scss | 2,822 | 2,822 |
| same | src/assets/components/menus/_menu-profile.scss | 4,522 | 4,522 |
| same | src/assets/components/page/_page-list.scss | 7,706 | 7,706 |
| same | src/assets/components/remote/_bluetooth.scss | 395 | 395 |
| same | src/assets/components/remote/_ir-code-data-set.scss | 11,712 | 11,712 |
| same | src/assets/components/remote/_remote-button-layout.scss | 5,939 | 5,939 |
| same | src/assets/components/remote/_remote-controller.scss | 13,472 | 13,472 |
| modified | src/assets/components/remote/_ui-page.scss | 13,966 | 14,157 |
| same | src/assets/components/settings/_about-remote.scss | 3,127 | 3,127 |
| same | src/assets/components/settings/_licenses.scss | 1,651 | 1,651 |
| same | src/assets/components/settings/_software-update.scss | 3,572 | 3,572 |
| same | src/assets/components/settings/_voice-assistant.scss | 3,409 | 3,409 |
| upstream-only | src/assets/fontawesome/_animated.scss | 8,385 | — |
| upstream-only | src/assets/fontawesome/_bordered-pulled.scss | 1,056 | — |
| upstream-only | src/assets/fontawesome/_core.scss | 1,386 | — |
| upstream-only | src/assets/fontawesome/_fixed-width.scss | 183 | — |
| upstream-only | src/assets/fontawesome/_functions.scss | 2,170 | — |
| upstream-only | src/assets/fontawesome/_icons.scss | 428 | — |
| upstream-only | src/assets/fontawesome/_list.scss | 654 | — |
| upstream-only | src/assets/fontawesome/_mixins.scss | 2,447 | — |
| upstream-only | src/assets/fontawesome/_pro-styles.scss | 2,339 | — |
| upstream-only | src/assets/fontawesome/_rotated-flipped.scss | 772 | — |
| upstream-only | src/assets/fontawesome/_screen-reader.scss | 426 | — |
| upstream-only | src/assets/fontawesome/_sizing.scss | 403 | — |
| upstream-only | src/assets/fontawesome/_stacked.scss | 848 | — |
| upstream-only | src/assets/fontawesome/_variables.scss | 164,292 | — |
| upstream-only | src/assets/fontawesome/fontawesome.scss | 541 | — |
| custom-only | src/assets/fonts/material-symbols-sharp.woff2 | — | 3,196,892 |
| modified | src/assets/main.scss | 2,858 | 2,928 |
| same | src/assets/pages/_activity.scss | 5,681 | 5,681 |
| same | src/assets/pages/_entities.scss | 4,590 | 4,590 |
| same | src/assets/pages/_home.scss | 1,015 | 1,015 |
| same | src/assets/pages/_integration.scss | 1,289 | 1,289 |
| modified | src/assets/pages/_login.scss | 5,778 | 5,840 |
| same | src/assets/pages/_remote.scss | 1,907 | 1,907 |
| same | src/assets/pages/_settings.scss | 17,594 | 17,594 |
| same | src/assets/sections/_button-mapping.scss | 1,370 | 1,370 |
| same | src/assets/sections/_customise-remote.scss | 13,585 | 13,585 |
| same | src/assets/sections/_edit-page.scss | 13,421 | 13,421 |
| same | src/assets/sections/_home.scss | 8,386 | 8,386 |
| same | src/assets/sections/_interfaces.scss | 2,951 | 2,951 |
| same | src/assets/ui/_avatar.scss | 2,946 | 2,946 |
| same | src/assets/ui/_button.scss | 10,803 | 10,803 |
| same | src/assets/ui/_collapse-container.scss | 2,351 | 2,351 |
| same | src/assets/ui/_color-picker.scss | 1,152 | 1,152 |
| same | src/assets/ui/_countdown-circle.scss | 646 | 646 |
| same | src/assets/ui/_databoard.scss | 1,695 | 1,695 |
| modified | src/assets/ui/_datepicker.scss | 9,192 | 9,393 |
| same | src/assets/ui/_dropdown-menu.scss | 2,726 | 2,726 |
| same | src/assets/ui/_ent-item.scss | 6,127 | 6,127 |
| same | src/assets/ui/_error-box.scss | 975 | 975 |
| same | src/assets/ui/_grid-size.scss | 1,731 | 1,731 |
| same | src/assets/ui/_icon.scss | 4,927 | 4,927 |
| same | src/assets/ui/_info-panel.scss | 537 | 537 |
| same | src/assets/ui/_info-popup.scss | 856 | 856 |
| same | src/assets/ui/_list-loader.scss | 554 | 554 |
| same | src/assets/ui/_list-paging.scss | 2,092 | 2,092 |
| same | src/assets/ui/_process-software-update.scss | 2,004 | 2,004 |
| same | src/assets/ui/_progress-bar.scss | 280 | 280 |
| same | src/assets/ui/_responsive-table.scss | 1,651 | 1,651 |
| same | src/assets/ui/_setup-item.scss | 4,837 | 4,837 |
| same | src/assets/ui/_tab-menu.scss | 2,398 | 2,398 |
| same | src/assets/ui/_table.scss | 276 | 276 |
| same | src/assets/ui/_v-overflow-indicator.scss | 1,827 | 1,827 |
| modified | src/assets/ui/_v-select.scss | 15,634 | 15,927 |
| modified | src/assets/vars/_variables.scss | 2,753 | 2,816 |
| same | src/components/activity-group/ActivityGroupList.vue | 4,979 | 4,979 |
| same | src/components/activity-group/ActivityGroupListItem.vue | 2,190 | 2,190 |
| same | src/components/activity-group/AddActivityGroup.vue | 11,845 | 11,845 |
| same | src/components/activity-group/EditActivityGroupSettings.vue | 16,923 | 16,923 |
| same | src/components/activity/ActivityList.vue | 5,821 | 5,821 |
| same | src/components/activity/ActivityListItem.vue | 2,191 | 2,191 |
| same | src/components/activity/ActivityRemote.vue | 39,151 | 39,151 |
| same | src/components/activity/AddActivity.vue | 15,700 | 15,700 |
| same | src/components/activity/EditActivityInterfaces.vue | 8,208 | 8,208 |
| same | src/components/activity/EditActivitySequences.vue | 24,598 | 24,598 |
| modified | src/components/activity/EditActivitySettings.vue | 25,422 | 25,474 |
| same | src/components/configure-button/ButtonList.vue | 22,088 | 22,088 |
| same | src/components/configure-button/ButtonListItem.vue | 5,254 | 5,254 |
| same | src/components/configure-button/ButtonPress.vue | 6,387 | 6,387 |
| same | src/components/configure-button/EditButtonListItem.vue | 18,358 | 18,358 |
| same | src/components/customise-remote/CustomiseRemoteAddEntities.vue | 5,302 | 5,302 |
| same | src/components/customise-remote/CustomiseRemoteAddGroups.vue | 2,447 | 2,447 |
| same | src/components/customise-remote/CustomiseRemoteOptions.vue | 8,463 | 8,463 |
| same | src/components/customise-remote/CustomiseRemotePageList.vue | 15,230 | 15,230 |
| same | src/components/customise-remote/CustomiseRemotePages.vue | 6,251 | 6,251 |
| same | src/components/customise-remote/SectionCustomiseRemote.vue | 6,405 | 6,405 |
| same | src/components/dock/AddDock.vue | 30,877 | 30,877 |
| same | src/components/dock/DockIllustration.vue | 947 | 947 |
| same | src/components/dock/DockList.vue | 2,553 | 2,553 |
| same | src/components/dock/DockListItem.vue | 2,991 | 2,991 |
| same | src/components/dock/edit/ChangePass.vue | 3,858 | 3,858 |
| same | src/components/dock/edit/EditPort.vue | 11,787 | 11,787 |
| same | src/components/dock/edit/FactoryReset.vue | 1,396 | 1,396 |
| same | src/components/dock/edit/FirmwareUpdate.vue | 12,192 | 12,192 |
| same | src/components/dock/edit/WifiSettings.vue | 3,276 | 3,276 |
| same | src/components/dock/EditDock.vue | 18,461 | 18,461 |
| same | src/components/driver/EditDriverConnection.vue | 3,594 | 3,594 |
| same | src/components/elements/AppDialog.vue | 3,609 | 3,609 |
| same | src/components/elements/AppModal.vue | 3,687 | 3,687 |
| same | src/components/elements/device/DeviceMeta.vue | 497 | 497 |
| same | src/components/elements/DeviceTime.vue | 1,517 | 1,517 |
| same | src/components/elements/entity/AddDevice.vue | 8,844 | 8,844 |
| same | src/components/elements/entity/BaseEntityList.vue | 11,294 | 11,294 |
| same | src/components/elements/entity/BaseEntityListItem.vue | 4,381 | 4,381 |
| modified | src/components/elements/entity/EditEntity.vue | 12,489 | 12,541 |
| same | src/components/elements/entity/EntityListFiltered.vue | 15,713 | 15,713 |
| modified | src/components/elements/entity/EntityListItem.vue | 7,296 | 7,348 |
| same | src/components/elements/entity/IncludedEntities.vue | 11,268 | 11,268 |
| same | src/components/elements/FilterDropdown.vue | 12,595 | 12,595 |
| same | src/components/elements/group/AddGroup.vue | 10,637 | 10,637 |
| same | src/components/elements/group/EditGroup.vue | 9,880 | 9,880 |
| same | src/components/elements/group/GroupListFiltered.vue | 11,692 | 11,692 |
| same | src/components/elements/group/GroupListItem.vue | 1,598 | 1,598 |
| same | src/components/elements/icon/IconImage.vue | 1,133 | 1,133 |
| same | src/components/elements/icon/IconSelect.vue | 4,269 | 4,269 |
| same | src/components/elements/icon/LoadImage.vue | 440 | 440 |
| same | src/components/elements/icon/SelectedIcon.vue | 2,262 | 2,262 |
| same | src/components/elements/LanguageDropdown.vue | 7,107 | 7,107 |
| same | src/components/elements/ListApplicationCredentials.vue | 3,311 | 3,311 |
| same | src/components/elements/ListWithFilter.vue | 1,978 | 1,978 |
| same | src/components/elements/LogoutDialog.vue | 1,355 | 1,355 |
| same | src/components/elements/MenuMainDesktop.vue | 4,222 | 4,222 |
| same | src/components/elements/MenuMainMobile.vue | 2,599 | 2,599 |
| same | src/components/elements/ModalMinimal.vue | 2,015 | 2,015 |
| same | src/components/elements/ModalSecondary.vue | 4,303 | 4,303 |
| modified | src/components/elements/NavBar.vue | 12,227 | 12,314 |
| same | src/components/elements/NotificationBase.vue | 9,124 | 9,124 |
| same | src/components/elements/param/ParamSetupBoolean.vue | 889 | 889 |
| same | src/components/elements/param/ParamSetupColorTemp.vue | 971 | 971 |
| same | src/components/elements/param/ParamSetupEnum.vue | 1,488 | 1,488 |
| same | src/components/elements/param/ParamSetupRegex.vue | 2,604 | 2,604 |
| same | src/components/elements/param/ParamSetupSelection.vue | 2,611 | 2,611 |
| modified | src/components/elements/QuickEditModal.vue | 14,247 | 14,301 |
| same | src/components/elements/RemoteStatus.vue | 16,546 | 16,546 |
| same | src/components/elements/resources/IconList.vue | 12,854 | 12,854 |
| same | src/components/elements/resources/ResourceList.vue | 8,326 | 8,326 |
| same | src/components/elements/resources/ResourceUpload.vue | 15,780 | 15,780 |
| same | src/components/elements/SelectVoiceAssistant.vue | 2,609 | 2,609 |
| same | src/components/elements/SelectVoiceAssistantProfile.vue | 4,321 | 4,321 |
| same | src/components/elements/VersionInfo.vue | 201 | 201 |
| same | src/components/elements/widget/AddWidget.vue | 7,213 | 7,213 |
| same | src/components/home/QuickTips.vue | 1,389 | 1,389 |
| same | src/components/home/SectionHome.vue | 12,029 | 12,029 |
| same | src/components/integration/add/ConnectExternalScreen.vue | 9,323 | 9,323 |
| same | src/components/integration/add/field/BrokenField.vue | 366 | 366 |
| same | src/components/integration/add/field/CheckboxField.vue | 1,180 | 1,180 |
| same | src/components/integration/add/field/DropdownField.vue | 2,238 | 2,238 |
| same | src/components/integration/add/field/LabelField.vue | 1,014 | 1,014 |
| same | src/components/integration/add/field/NumberField.vue | 1,696 | 1,696 |
| same | src/components/integration/add/field/PasswordField.vue | 1,032 | 1,032 |
| same | src/components/integration/add/field/TextareaField.vue | 1,062 | 1,062 |
| same | src/components/integration/add/field/TextField.vue | 1,169 | 1,169 |
| same | src/components/integration/add/form/ConfigurationForm.vue | 2,156 | 2,156 |
| same | src/components/integration/add/form/ConfirmationForm.vue | 1,293 | 1,293 |
| same | src/components/integration/add/SetupScreen.vue | 38,375 | 38,375 |
| same | src/components/integration/AddIntegration.vue | 5,569 | 5,569 |
| same | src/components/integration/EditIntegration.vue | 32,627 | 32,627 |
| same | src/components/integration/ImportCustomIntegration.vue | 4,175 | 4,175 |
| modified | src/components/integration/IntegrationList.vue | 4,672 | 2,042 |
| modified | src/components/integration/IntegrationListItem.vue | 3,927 | 4,227 |
| same | src/components/macro/AddMacro.vue | 12,177 | 12,177 |
| same | src/components/macro/EditMacroSequence.vue | 13,672 | 13,672 |
| same | src/components/macro/EditMacroSettings.vue | 12,384 | 12,384 |
| same | src/components/macro/MacroList.vue | 5,465 | 5,465 |
| same | src/components/macro/MacroListItem.vue | 1,872 | 1,872 |
| same | src/components/page/PageList.vue | 24,569 | 24,569 |
| same | src/components/profile/EditProfile.vue | 9,185 | 9,185 |
| same | src/components/profile/ManageProfiles.vue | 2,193 | 2,193 |
| same | src/components/profile/MenuProfile.vue | 10,281 | 10,281 |
| same | src/components/remote-controller/AddIrCode.vue | 24,500 | 24,500 |
| same | src/components/remote-controller/AddRemoteBt.vue | 23,845 | 23,845 |
| same | src/components/remote-controller/AddRemoteIr.vue | 24,964 | 24,964 |
| same | src/components/remote-controller/DeviceRemote.vue | 34,828 | 34,828 |
| same | src/components/remote-controller/EditRemoteInterfaces.vue | 8,167 | 8,167 |
| modified | src/components/remote-controller/EditRemoteSettings.vue | 37,386 | 37,436 |
| same | src/components/remote-controller/ImportIrCode.vue | 7,447 | 7,447 |
| same | src/components/remote-controller/RemoteButtonLayout.vue | 2,289 | 2,289 |
| same | src/components/remote-controller/RemoteController.vue | 27,152 | 27,152 |
| same | src/components/remote-controller/RemoteNav.vue | 2,344 | 2,344 |
| same | src/components/sequence/AddCommand.vue | 10,320 | 10,320 |
| same | src/components/sequence/SequenceCommandParam.vue | 4,720 | 4,720 |
| same | src/components/sequence/SequenceItem.vue | 19,438 | 19,438 |
| same | src/components/settings/AdminPassword.vue | 2,872 | 2,872 |
| same | src/components/settings/ApplicationCredentials.vue | 7,905 | 7,905 |
| same | src/components/settings/FactoryReset.vue | 3,150 | 3,150 |
| same | src/components/settings/PowerSaving.vue | 5,781 | 5,781 |
| modified | src/components/settings/SettingsAbout.vue | 9,322 | 11,569 |
| same | src/components/settings/SettingsDevelopment.vue | 5,732 | 5,732 |
| same | src/components/settings/SettingsDisplay.vue | 7,264 | 7,264 |
| same | src/components/settings/SettingsGeneral.vue | 13,413 | 13,413 |
| same | src/components/settings/SettingsLicenses.vue | 4,358 | 4,358 |
| same | src/components/settings/SettingsLocalization.vue | 6,288 | 6,288 |
| same | src/components/settings/SettingsLogs.vue | 8,351 | 8,351 |
| same | src/components/settings/SettingsOptionButton.vue | 3,502 | 3,502 |
| same | src/components/settings/SoftwareUpdate.vue | 21,472 | 21,472 |
| same | src/components/settings/SoundHaptic.vue | 3,272 | 3,272 |
| same | src/components/settings/UserInterface.vue | 85 | 85 |
| same | src/components/settings/VoiceControl.vue | 6,571 | 6,571 |
| same | src/components/settings/WifiBluetooth.vue | 10,947 | 10,947 |
| same | src/components/touch-slider/ConfigTouchSlider.vue | 19,364 | 19,364 |
| same | src/components/touch-slider/EntitySelect.vue | 4,045 | 4,045 |
| same | src/components/ui/ColorPicker.vue | 8,901 | 8,901 |
| same | src/components/ui/CommandField.vue | 2,157 | 2,157 |
| same | src/components/ui/CommandParam.vue | 6,929 | 6,929 |
| same | src/components/ui/CommandSelect.vue | 11,951 | 11,951 |
| same | src/components/ui/ComponentButtonIcon.vue | 612 | 612 |
| same | src/components/ui/ComponentButtonMedia.vue | 2,658 | 2,658 |
| same | src/components/ui/ComponentButtonSelect.vue | 4,446 | 4,446 |
| same | src/components/ui/ComponentButtonSensor.vue | 4,200 | 4,200 |
| same | src/components/ui/ComponentButtonText.vue | 554 | 554 |
| same | src/components/ui/CountdownCircle.vue | 706 | 706 |
| same | src/components/ui/DatePicker.vue | 4,743 | 4,743 |
| same | src/components/ui/DropdownMenu.vue | 3,882 | 3,882 |
| same | src/components/ui/ErrorBox.vue | 1,258 | 1,258 |
| same | src/components/ui/FilterTabs.vue | 1,153 | 1,153 |
| same | src/components/ui/GridItemEdit.vue | 39,636 | 39,636 |
| same | src/components/ui/GridSize.vue | 5,702 | 5,702 |
| same | src/components/ui/InfoPanel.vue | 654 | 654 |
| same | src/components/ui/InfoPopup.vue | 3,574 | 3,574 |
| same | src/components/ui/ListLoader.vue | 439 | 439 |
| same | src/components/ui/ListPaging.vue | 5,308 | 5,308 |
| same | src/components/ui/MediaBrowse.vue | 22,647 | 22,647 |
| same | src/components/ui/ProfileAvatar.vue | 2,621 | 2,621 |
| same | src/components/ui/ProgressBar.vue | 281 | 281 |
| same | src/components/ui/RemoteCommandSelect.vue | 2,783 | 2,783 |
| same | src/components/ui/setup/SetupBoolean.vue | 950 | 950 |
| same | src/components/ui/setup/SetupColorTemp.vue | 1,470 | 1,470 |
| same | src/components/ui/setup/SetupEnum.vue | 1,267 | 1,267 |
| same | src/components/ui/setup/SetupMs.vue | 1,305 | 1,305 |
| same | src/components/ui/setup/SetupNumber.vue | 2,054 | 2,054 |
| same | src/components/ui/setup/SetupRegex.vue | 3,317 | 3,317 |
| same | src/components/ui/setup/SetupSelection.vue | 16,928 | 16,928 |
| same | src/components/ui/TabMenu.vue | 2,939 | 2,939 |
| same | src/components/ui/UCCodeInput.vue | 6,223 | 6,223 |
| same | src/components/ui/UCColorTemp.vue | 836 | 836 |
| same | src/components/ui/UCInput.vue | 6,014 | 6,014 |
| same | src/components/ui/UCRange.vue | 7,461 | 7,461 |
| same | src/components/ui/UCSearch.vue | 2,431 | 2,431 |
| same | src/components/ui/UCSelect.vue | 14,608 | 14,608 |
| same | src/components/ui/UCStepper.vue | 1,395 | 1,395 |
| same | src/components/ui/UCToggle.vue | 1,909 | 1,909 |
| same | src/components/ui/WidgetEntitySelect.vue | 5,603 | 5,603 |
| same | src/composables/activities.ts | 11,752 | 11,752 |
| same | src/composables/authHelpers.ts | 2,761 | 2,761 |
| same | src/composables/chunkRecovery.ts | 5,220 | 5,220 |
| same | src/composables/components.ts | 2,981 | 2,981 |
| same | src/composables/cookieHandler.ts | 945 | 945 |
| same | src/composables/dataHelper.ts | 7,173 | 7,173 |
| same | src/composables/date.ts | 1,279 | 1,279 |
| same | src/composables/device.ts | 927 | 927 |
| same | src/composables/dockValidation.ts | 1,561 | 1,561 |
| same | src/composables/downloadFile.ts | 453 | 453 |
| same | src/composables/dropdownPosition.ts | 3,521 | 3,521 |
| modified | src/composables/entity.ts | 4,376 | 4,425 |
| same | src/composables/error.ts | 4,682 | 4,682 |
| same | src/composables/fileHelper.ts | 456 | 456 |
| same | src/composables/gitInfo.ts | 153 | 153 |
| modified | src/composables/icon.ts | 2,394 | 825 |
| same | src/composables/imageLoader.ts | 1,241 | 1,241 |
| same | src/composables/irCode.ts | 2,082 | 2,082 |
| same | src/composables/listing.ts | 2,519 | 2,519 |
| modified | src/composables/menuItems.ts | 2,764 | 3,279 |
| same | src/composables/modal.ts | 6,697 | 6,697 |
| same | src/composables/quickTips.ts | 964 | 964 |
| same | src/composables/remote/editor.ts | 5,583 | 5,583 |
| same | src/composables/remote/editorCrud.ts | 14,758 | 14,758 |
| same | src/composables/remote/editorDrag.ts | 11,631 | 11,631 |
| same | src/composables/remote/editorGrid.ts | 5,422 | 5,422 |
| same | src/composables/remote/editorPopups.ts | 4,371 | 4,371 |
| same | src/composables/remote/editorSelection.ts | 1,070 | 1,070 |
| same | src/composables/remote/properties.ts | 916 | 916 |
| same | src/composables/requestCoalescer.ts | 2,070 | 2,070 |
| same | src/composables/resources.ts | 6,571 | 6,571 |
| modified | src/composables/router.ts | 6,471 | 7,089 |
| same | src/composables/segments.ts | 8,927 | 8,927 |
| same | src/composables/select/iconList.ts | 538 | 538 |
| same | src/composables/select/options.ts | 2,678 | 2,678 |
| same | src/composables/sequence.ts | 3,462 | 3,462 |
| same | src/composables/setupFieldType.ts | 2,576 | 2,576 |
| same | src/composables/storeCache.ts | 3,250 | 3,250 |
| same | src/composables/textHelper.ts | 707 | 707 |
| same | src/composables/timing.ts | 887 | 887 |
| same | src/composables/translatedProperty.ts | 8,773 | 8,773 |
| same | src/composables/urlHelper.ts | 789 | 789 |
| same | src/composables/windowDimension.ts | 740 | 740 |
| same | src/directives/clickOutside.ts | 1,520 | 1,520 |
| same | src/directives/markdownTools.ts | 282 | 282 |
| same | src/directives/overflowIndicator.ts | 7,306 | 7,306 |
| same | src/i18next/da_DK.json | 73,564 | 73,564 |
| same | src/i18next/de_CH.json | 73,993 | 73,993 |
| same | src/i18next/de_DE.json | 78,734 | 78,734 |
| same | src/i18next/en_US.json | 70,687 | 70,687 |
| same | src/i18next/es_ES.json | 78,833 | 78,833 |
| same | src/i18next/fi_FI.json | 76,201 | 76,201 |
| same | src/i18next/fr_FR.json | 78,178 | 78,178 |
| same | src/i18next/hu_HU.json | 79,476 | 79,476 |
| same | src/i18next/index.ts | 5,085 | 5,085 |
| same | src/i18next/it_IT.json | 76,982 | 76,982 |
| same | src/i18next/nl_NL.json | 76,510 | 76,510 |
| same | src/i18next/no_NO.json | 73,322 | 73,322 |
| same | src/i18next/pl_PL.json | 59,111 | 59,111 |
| same | src/i18next/pt_PT.json | 77,149 | 77,149 |
| same | src/i18next/sv_SE.json | 75,183 | 75,183 |
| same | src/main.ts | 2,421 | 2,421 |
| same | src/shims-vue.d.ts | 145 | 145 |
| custom-only | src/simulator/config.ts | — | 1,179 |
| same | src/stores/activities.ts | 14,837 | 14,837 |
| same | src/stores/activityGroups.ts | 7,588 | 7,588 |
| same | src/stores/appState.ts | 5,998 | 5,998 |
| same | src/stores/auth.ts | 8,557 | 8,557 |
| same | src/stores/authExternal.ts | 1,917 | 1,917 |
| same | src/stores/bluetooth.ts | 2,997 | 2,997 |
| same | src/stores/config.ts | 9,991 | 9,991 |
| same | src/stores/docks.ts | 12,117 | 12,117 |
| same | src/stores/integrations.ts | 37,289 | 37,289 |
| same | src/stores/ir.ts | 3,652 | 3,652 |
| same | src/stores/logs.ts | 1,042 | 1,042 |
| same | src/stores/macros.ts | 7,479 | 7,479 |
| same | src/stores/messages.ts | 4,495 | 4,495 |
| same | src/stores/profile.ts | 5,087 | 5,087 |
| same | src/stores/profiles.ts | 4,981 | 4,981 |
| same | src/stores/remotes.ts | 14,146 | 14,146 |
| same | src/stores/systemBase.ts | 4,101 | 4,101 |
| same | src/stores/systemUpdate.ts | 1,380 | 1,380 |
| same | src/types/activity.ts | 8,035 | 8,035 |
| same | src/types/activityGroup.ts | 937 | 937 |
| same | src/types/app.ts | 229 | 229 |
| same | src/types/backup.ts | 58 | 58 |
| same | src/types/bluetooth.ts | 1,416 | 1,416 |
| same | src/types/command.ts | 1,000 | 1,000 |
| same | src/types/config.ts | 7,200 | 7,200 |
| same | src/types/dock.ts | 4,015 | 4,015 |
| same | src/types/draggable.ts | 695 | 695 |
| same | src/types/enums.ts | 10,705 | 10,705 |
| same | src/types/externalToken.ts | 546 | 546 |
| same | src/types/flashMessages.ts | 1,091 | 1,091 |
| same | src/types/grid.ts | 452 | 452 |
| same | src/types/group.ts | 259 | 259 |
| same | src/types/integrationInstance.ts | 7,508 | 7,508 |
| same | src/types/ir.ts | 1,567 | 1,567 |
| same | src/types/logs.ts | 427 | 427 |
| same | src/types/macro.ts | 1,767 | 1,767 |
| same | src/types/media.ts | 285 | 285 |
| same | src/types/menu.ts | 109 | 109 |
| same | src/types/page.ts | 325 | 325 |
| same | src/types/profile.ts | 851 | 851 |
| same | src/types/remote.ts | 3,227 | 3,227 |
| same | src/types/resources.ts | 824 | 824 |
| same | src/types/rest.ts | 326 | 326 |
| same | src/types/segments.ts | 352 | 352 |
| same | src/types/systemBase.ts | 1,169 | 1,169 |
| same | src/types/ui.ts | 497 | 497 |
| same | src/types/update.ts | 810 | 810 |
| same | src/types/websocket.ts | 2,185 | 2,185 |
| same | src/utils/remoteUtils.ts | 3,401 | 3,401 |
| custom-only | src/utils/state.ts | — | 802 |
| same | src/views/activities-macros/ActivitiesMacrosView.vue | 8,956 | 8,956 |
| same | src/views/activities-macros/EditActivityGroupView.vue | 437 | 437 |
| same | src/views/activities-macros/EditActivityView.vue | 3,784 | 3,784 |
| same | src/views/activities-macros/EditMacroView.vue | 2,840 | 2,840 |
| same | src/views/entities/DevicesEntities.vue | 12,631 | 12,631 |
| same | src/views/entities/EditEntityView.vue | 380 | 380 |
| same | src/views/entities/EditRemoteView.vue | 3,267 | 3,267 |
| same | src/views/HomeView.vue | 1,531 | 1,531 |
| modified | src/views/integrations/DevicesIntegrations.vue | 7,246 | 2,723 |
| same | src/views/integrations/EditDockView.vue | 353 | 353 |
| same | src/views/integrations/EditIntegrationView.vue | 416 | 416 |
| modified | src/views/LoginView.vue | 5,504 | 5,287 |
| modified | src/views/settings/SettingsView.vue | 3,077 | 3,554 |
| same | test/activities.test.ts | 1,537 | 1,537 |
| same | test/activityPickerListIsolation.test.ts | 4,527 | 4,527 |
| same | test/authFlow.test.ts | 9,318 | 9,318 |
| same | test/authHelpers.test.ts | 4,443 | 4,443 |
| same | test/bluetoothSlots.test.ts | 8,325 | 8,325 |
| same | test/carouselRender.test.ts | 2,374 | 2,374 |
| same | test/chunkRecovery.test.ts | 6,156 | 6,156 |
| same | test/clickOutsideDirective.test.ts | 3,313 | 3,313 |
| same | test/configBootstrap.test.ts | 2,135 | 2,135 |
| same | test/configuredEntityStateLive.test.ts | 5,050 | 5,050 |
| same | test/connectionMonitor.test.ts | 17,747 | 17,747 |
| same | test/cookieHandler.test.ts | 1,356 | 1,356 |
| same | test/cropperRender.test.ts | 2,350 | 2,350 |
| same | test/dataHelper.test.ts | 6,817 | 6,817 |
| same | test/dockValidation.test.ts | 10,897 | 10,897 |
| same | test/draggableRender.test.ts | 1,382 | 1,382 |
| same | test/dropdownPosition.test.ts | 2,797 | 2,797 |
| same | test/e2e/__screenshots__/login-linux.png | 348,170 | 348,170 |
| same | test/e2e/__screenshots__/select-open-linux.png | 121,810 | 121,810 |
| same | test/e2e/__screenshots__/settings-general-linux.png | 63,323 | 63,323 |
| same | test/e2e/__screenshots__/settings-localization-linux.png | 54,807 | 54,807 |
| same | test/e2e/activityGroupPicker.spec.ts | 1,727 | 1,727 |
| same | test/e2e/activityInterfacesDrag.spec.ts | 2,183 | 2,183 |
| same | test/e2e/activityPages.spec.ts | 1,835 | 1,835 |
| same | test/e2e/bluetoothSlots.spec.ts | 2,253 | 2,253 |
| same | test/e2e/chunkRecovery.spec.ts | 2,638 | 2,638 |
| same | test/e2e/escDismiss.spec.ts | 4,963 | 4,963 |
| same | test/e2e/fixtures/app.ts | 2,176 | 2,176 |
| same | test/e2e/fixtures/globalSetup.ts | 817 | 817 |
| same | test/e2e/fixtures/globalTeardown.ts | 104 | 104 |
| same | test/e2e/fixtures/seed.ts | 6,826 | 6,826 |
| same | test/e2e/fixtures/simulator.ts | 3,522 | 3,522 |
| same | test/e2e/includedEntityState.spec.ts | 2,941 | 2,941 |
| same | test/e2e/integrations.spec.ts | 3,350 | 3,350 |
| same | test/e2e/language.spec.ts | 7,242 | 7,242 |
| same | test/e2e/licenses.spec.ts | 8,828 | 8,828 |
| same | test/e2e/mandatoryFieldGating.spec.ts | 6,035 | 6,035 |
| same | test/e2e/nameFieldSelection.spec.ts | 5,760 | 5,760 |
| same | test/e2e/overlayClosePaths.spec.ts | 2,093 | 2,093 |
| same | test/e2e/previewFeatures.spec.ts | 3,641 | 3,641 |
| same | test/e2e/pushedChildState.spec.ts | 2,021 | 2,021 |
| same | test/e2e/smoke.spec.ts | 3,552 | 3,552 |
| same | test/e2e/uiEditorGrid.spec.ts | 5,707 | 5,707 |
| same | test/e2e/visual.screenshot.css | 830 | 830 |
| same | test/e2e/visual.spec.ts | 3,683 | 3,683 |
| same | test/editIntegrationEntityChange.test.ts | 7,606 | 7,606 |
| same | test/entity.test.ts | 2,917 | 2,917 |
| same | test/escPopupWiring.test.ts | 4,706 | 4,706 |
| same | test/eventRouter.test.ts | 9,795 | 9,795 |
| same | test/helpers/fakeConnection.ts | 6,925 | 6,925 |
| same | test/icon.test.ts | 3,142 | 3,142 |
| same | test/includedEntityState.test.ts | 7,762 | 7,762 |
| same | test/integrationEntityTypes.test.ts | 1,351 | 1,351 |
| same | test/integrationsPerTypeGetters.test.ts | 3,419 | 3,419 |
| same | test/interfacesPanelResilience.test.ts | 4,718 | 4,718 |
| same | test/IrCode.test.ts | 4,015 | 4,015 |
| same | test/irLearnReadiness.test.ts | 2,090 | 2,090 |
| same | test/languagePersistence.test.ts | 2,739 | 2,739 |
| modified | test/licenseGenerator.test.ts | 14,078 | 14,180 |
| modified | test/licensesArtifact.test.ts | 9,732 | 9,683 |
| same | test/listing.test.ts | 3,275 | 3,275 |
| same | test/mediaWidgetCompact.test.ts | 3,991 | 3,991 |
| same | test/mergeEventPayload.test.ts | 2,382 | 2,382 |
| same | test/modalDismissal.test.ts | 8,205 | 8,205 |
| same | test/overlayRegistryParity.test.ts | 10,121 | 10,121 |
| same | test/pagedFetchService.test.ts | 5,194 | 5,194 |
| same | test/pagedFetchStore.test.ts | 5,013 | 5,013 |
| same | test/pagedListIdentity.test.ts | 10,846 | 10,846 |
| same | test/paginationCountLive.test.ts | 8,965 | 8,965 |
| same | test/previewFeatureTexts.test.ts | 3,632 | 3,632 |
| same | test/remoteEditor.test.ts | 19,139 | 19,139 |
| same | test/remoteEditorDrag.test.ts | 7,977 | 7,977 |
| same | test/remoteUtils.test.ts | 7,229 | 7,229 |
| same | test/requestCoalescer.test.ts | 2,941 | 2,941 |
| same | test/sequence.test.ts | 3,731 | 3,731 |
| same | test/settingsAboutLicensesRow.test.ts | 5,414 | 5,414 |
| same | test/settingsLicenses.test.ts | 7,626 | 7,626 |
| same | test/setupSelection.test.ts | 8,264 | 8,264 |
| same | test/storeCache.test.ts | 4,257 | 4,257 |
| same | test/tabMenu.test.ts | 3,127 | 3,127 |
| same | test/templateRefRenderReads.test.ts | 3,748 | 3,748 |
| same | test/translatedProperty.test.ts | 13,862 | 13,862 |
| same | test/ucselect.test.ts | 10,458 | 10,458 |
| same | test/ucselectMultiple.test.ts | 3,752 | 3,752 |
| same | test/wsEventsStage1.test.ts | 10,670 | 10,670 |
| same | test/wsTransport.test.ts | 8,441 | 8,441 |
| same | tools/create-custom-install.sh | 982 | 982 |
| upstream-only | tools/fontawesome-convert.mjs | 4,258 | — |
| same | tools/git-tag.py | 5,057 | 5,057 |
| same | tools/git-version.sh | 3,125 | 3,125 |
| same | tools/patches/@esbuild/darwin-arm64@0.28.1/LICENSE | 1,069 | 1,069 |
| same | tools/patches/@esbuild/linux-x64@0.28.1/LICENSE | 1,069 | 1,069 |
| same | tools/patches/@esbuild/linux-x64@0.28.1/SOURCE.md | 401 | 401 |
| same | tools/patches/@humanfs/types@0.15.0/LICENSE | 11,357 | 11,357 |
| same | tools/patches/@humanfs/types@0.15.0/SOURCE.md | 344 | 344 |
| same | tools/patches/@pkgr/core@0.3.6/LICENSE | 1,069 | 1,069 |
| same | tools/patches/@rollup/rollup-darwin-arm64@4.62.2/LICENSE | 35,231 | 35,231 |
| same | tools/patches/@rollup/rollup-linux-x64-gnu@4.62.2/LICENSE | 35,231 | 35,231 |
| same | tools/patches/@rollup/rollup-linux-x64-gnu@4.62.2/SOURCE.md | 385 | 385 |
| same | tools/patches/@rollup/rollup-linux-x64-musl@4.62.2/LICENSE | 35,231 | 35,231 |
| same | tools/patches/@rollup/rollup-linux-x64-musl@4.62.2/SOURCE.md | 385 | 385 |
| same | tools/patches/agent-base@6.0.2/LICENSE | 1,125 | 1,125 |
| same | tools/patches/boolbase@1.0.0/LICENSE | 751 | 751 |
| same | tools/patches/eastasianwidth@0.2.0/LICENSE | 1,043 | 1,043 |
| same | tools/patches/esrecurse@4.3.0/LICENSE | 1,403 | 1,403 |
| same | tools/patches/git-describe@4.1.1/LICENSE | 1,071 | 1,071 |
| same | tools/patches/git-describe@4.1.1/SOURCE.md | 430 | 430 |
| same | tools/patches/https-proxy-agent@5.0.1/LICENSE | 1,101 | 1,101 |
| same | tools/patches/https-proxy-agent@5.0.1/SOURCE.md | 421 | 421 |
| same | tools/patches/imurmurhash@0.1.4/LICENSE | 1,090 | 1,090 |
| same | tools/patches/keyv@4.5.4/LICENSE | 546 | 546 |
| same | tools/patches/natural-compare@1.4.0/LICENSE | 1,087 | 1,087 |
| same | tools/patches/saxes@6.0.0/LICENSE | 3,011 | 3,011 |
| same | tools/patches/spdx-exceptions@2.5.0/LICENSE | 1,053 | 1,053 |
| same | tools/patches/spdx-exceptions@2.5.0/SOURCE.md | 333 | 333 |
| same | tools/patches/spdx-license-ids@3.0.23/LICENSE | 7,049 | 7,049 |
| same | tools/patches/spdx-license-ids@3.0.23/SOURCE.md | 395 | 395 |
| same | tools/patches/stackback@0.0.2/LICENSE | 1,088 | 1,088 |
| same | tools/patches/stackback@0.0.2/SOURCE.md | 443 | 443 |
| modified | tools/README.md | 5,444 | 5,461 |
| same | tools/release.json | 431 | 431 |
| same | tools/simulator/sim.sh | 3,335 | 3,335 |
| same | tools/templates/app-license-gpl.md | 1,359 | 1,359 |
| modified | tools/templates/licenses-footer.md | 18,420 | 22,078 |
| modified | tools/templates/licenses-header.md | 417 | 1,466 |
| modified | tools/transform-license-checker.js | 12,350 | 12,503 |
| same | tsconfig.app.json | 396 | 396 |
| same | tsconfig.config.json | 392 | 392 |
| same | tsconfig.json | 193 | 193 |
| same | tsconfig.vitest.json | 510 | 510 |
| modified | version.txt | 7 | 22 |
| same | vite.config.mts | 3,542 | 3,542 |