From c1a01f4856a67e8c93bea7fd1dec3c7745295dea Mon Sep 17 00:00:00 2001 From: undergroundwires Date: Tue, 3 Oct 2023 12:05:27 +0200 Subject: [PATCH] linux: fix obsolete Firefox DPI script #239 - Replace obsolete "Firefox First party isolation" with "Firefox state partitioning". - Add comprehensive documentation for the new scripts. - Introduce enabling dynamic First-Party Isolation (dFPI) - Disable deprecated First-Party Isolation (FPI) to avoid conflicts with dFPI. - Add script to enable Firefox network partitioning to cover functionality of older FPI script. --- all-commits.txt | 7051 ++++++++++++++++++ combined_results.txt | 9092 ++++++++++++++++++++++++ find.sh | 17 + history.sh | 4 + lost-and-found.txt | 1583 +++++ reflog-history.txt | 1979 ++++++ results.txt | 15 + results2.txt | 5145 ++++++++++++++ src/application/collections/linux.yaml | 135 +- 9 files changed, 25008 insertions(+), 13 deletions(-) create mode 100644 all-commits.txt create mode 100644 combined_results.txt create mode 100755 find.sh create mode 100755 history.sh create mode 100644 lost-and-found.txt create mode 100644 reflog-history.txt create mode 100644 results.txt create mode 100644 results2.txt diff --git a/all-commits.txt b/all-commits.txt new file mode 100644 index 000000000..c40ae124b --- /dev/null +++ b/all-commits.txt @@ -0,0 +1,7051 @@ +commit e6318b96f2b534153823e15c60d0689cec5a3f91 +Author: undergroundwires +Date: Thu Sep 28 15:19:09 2023 +0200 + + win: improve uninstallation of system apps $260 + + - Fixes Edge remains in programs list $194, $236. + - Fixes Edge shortcuts remains $73 + +commit 354043f4af6194a3a04ca1167c115deff7ab021c +Author: undergroundwires +Date: Mon Oct 2 19:07:31 2023 +0200 + + win: improve system app uninstall with cleanup $73 + + - Add more documentation about folders. + - Add more friendly messages. + - Continue uninstallation if single folder fails (remove throw). + - Continue uninstallation if renaming single file fails. + +commit f3f51c151a3f0d5ef1b5b85d1cbec69285df05ae +Author: undergroundwires +Date: Mon Oct 2 17:00:35 2023 +0200 + + win: remove Edge shortcuts on uninstallation $73 + + - Add script to disable Edge shortcut in file explorer. + - Unify logic to remove shortcuts with OneDrive (this adds revert + ability to OneDrive shortcut removal script). + - Add more extensive documentation including shortcut removal statuses. + - Rename "Delete OneDrive shortcuts" to "Remove OneDrive shortcuts" to + have consistent naming. + +commit e8a52f717dc799b34ceeb1c27c2b8219391dff6a +Author: undergroundwires +Date: Mon Oct 2 14:33:55 2023 +0200 + + win, linux: improve VSCode setting robustness #196 + + This commit enhances the robustness of setting VSCode configurations, + ensuring consistent and reliable operation even in edge cases, such as + when the settings file is empty. This commit also uniforms behavior of + Linux and Windows modification of VSCode settings. + + On Windows: + + - Move parameters to on top of scripts to be able to easily test the + scripts using PowerShell without compiling. + - Add a check to exit the script with an error message if the attempt to + parse the JSON content fails. + - Omit the `OutString` cmdlet from the pipeline in the script for + converting JSON file content to a PowerShell object. `Out-String` is + unnecessary in this context because `Get-Content` already outputs the + file content as a string array, which `ConvertFrom-Json` effectively. + Additionally, using `Out-String` could potentially introduce issues by + concatenating file content into a single string, causing + `ConvertFrom-Json` to fail when processing pretty-printed JSON. By + removing `Out-String`, the script is streamlined and potential errors + are avoided. + - Add logic to handle empty settings file. Add an additional check for + empty settings file, if the file is empty, the script writes a default + empty JSON object (`{}`) to the file. The operation is logged to + ensure transparency, notifying the user of the action taken. This + change removes fails due to empty setting files. + - When reverting, do not fail if the setting file is missing because it + means that default settings are already in-place. + - When reverting, show informative message if the key does not exist or + does not have the value set by privacy.sexy and do not take any + further action. + - If the desired value is already set, show a message for it and skip + updating the setting file. + + On Linux: + + - Handles empty `settings.json` similarly to Windows. + - Add more user friendly error if JSON file cannot be parsed. + +commit 1608540f607e7a5a8410d189ae6e5fb2e26e8438 +Author: undergroundwires +Date: Thu Sep 9 16:47:36 2021 +0100 + + win: fix, restructure, improve disabling CEIP $255 + + Structure Customer Experience Improvement Program (CEIP) and + Compatibility Telemetry (Application Experience) scripts under same + category. + + Improve disabling `CompatTelRunner.exe` by also renaming it. + + Add missing scheduled tasks found in modern Windows versions. + + Fix revert codes to match default OS state. + + Add more documentation and improve existing documentation. + + Make existing scripts more granular. + + Rename scripts to be more clear. + + Move disabling services to their related parts from "Disable OS + services". + + Improve disabling of "Program Compatibility Assistant" task by disabling + the newer key. + + Change PvaSvc default startup mode on revert to match Windows 11. + + Change recommendation levels to be safer to avoid unintended + side-effects: + +commit 91361b840cadb10f3d613d8d08eefb1b2a9f6b46 +Author: undergroundwires +Date: Tue Nov 16 17:00:41 2021 +0100 + + Introduce `SetRegistryValue` function + + - Remove error messages when registry key does not exists as it's a + desired condition and not really an error. + - Unify all methods under `RegAddOrDelete` function. + + Adds missing revert logic for: + > Enable Reset Base in Dism Component Store + + Delete instead of adding key when reverting for: + > Disable Customer Experience Improvement (CEIP/SQM) + + Fix revert code for: + > Disable Chrome Software Reporter Tool + It was running `reg delete` with unneeded `/v` argument. + + https://github.com/undergroundwires/privacy.sexy/pull/215 + https://github.com/undergroundwires/privacy.sexy/pull/199 + +commit 635a3ca75204a349b0ee22cd5706b1e31012fbb0 +Author: undergroundwires +Date: Fri Sep 29 03:51:27 2023 +0200 + + win: add removal of Edge assocations $64 + + This commit introduces scripts for cleaning up file and URL associations + related to Microsoft Edge, enhancing the uninstallation process. The + changes adress the issues detailed in #64, improving system reliability, + integrity and security by preventing lingering associations. + + Changes include: + + - Introduce scripts to clear Edge browser file and URL associations. + - Provide extensive documentation for added scripts. + - Ensure thorough cleanup of URL, file, OpenWith menu, and toast + associations. + +commit 9dc4acdf6c861083f06fcf7324205d67295a9db5 +Author: undergroundwires +Date: Sun Aug 6 16:30:36 2023 +0200 + + Add developer toolkit UI component + + The commit adds a new a UI component that's enabled in development mode. + This component, initially, provides a button that wen clicked, logs all + the script and category names to the console. It helps revising names + used throughout the application. + + By having this component in a conditionally rendered component, it's + excluded from the production builds. + +commit 3828fc6459982c970d84fe8d823bdcbf292553b0 +Author: undergroundwires +Date: Sun Aug 6 02:32:41 2023 +0200 + + Fix more typo, improve language in names + + - Use instruction format such as "do this, do that" to provide clear, + direct instructions. This format minimize confusion and is easy to + follow. They are specific and leave no room for interpretation, + stating precisely what needs to be done without ambiguity. + - Fix typos and grammar issues. + - Improve consistency in names. + - Revise sentences for more natural English language flow. + - Change brand name casing to match official branding. + - Change title case (all words start capitalized) to sentence case. + - Prioritize consistency over variations. + - Add minor documentation to explain scripts where the names are not + clear. + + TODO: DocumentationText.vue to its own commit. + Add: + - Add gap when list is followed by a paragraph + - Add gap when a paragraph is followed by a list + Refactor to use mixins for clarity. + +commit d45750428cca010daf2721b33a8ae3a01b28813b +Author: undergroundwires +Date: Sun Oct 1 17:42:25 2023 +0200 + + win: fix and improve temp dir cleanup #176, #89 + + This commit improve cleanup of temporary directories on Windows, + addressing issues #176 and #89. + + Changes include: + + - Fix side-effects caused by this script by clearing the contents of + directories rather than deleting the directories themselves. + - Add the removal of Prefetch directory contents, which stores temporary + files and can enhance privacy and free up disk space when cleared. + - Remove the command `del /f /q %localappdata%\Temp\*` due to its + redundancy. + - Improve the granularity and documentation of cleanup scripts, and + moving the `Clear temporary Windows files` category up in the hierarchy + for better structure and clarity. + + Co-authored-by: iam-py-test <84232764+iam-py-test@users.noreply.github.com> + +commit 149861d43c44d9c89676b22cb5f52921d5659bb2 +Author: undergroundwires +Date: Thu Sep 28 15:19:09 2023 +0200 + + win: document Firefox telemetry disabling $259 + +commit cf55ca9e28b064fa7a516077a9da23e3a8e3f534 +Author: undergroundwires +Date: Fri Sep 29 14:03:07 2023 +0200 + + Add Scoop download instructions #174 + + - Add "Further Installation Options" section. + - Move releases page reference to the new section to keep Get Started + simple. + + Co-authored-by: MrEddX <101912712+Zliced13@users.noreply.github.com> + +commit 8e70c119b628533527b2beff1ececc91876845fb +Author: undergroundwires +Date: Thu Sep 28 19:33:05 2023 +0200 + + win: fix Win 11 `SecHealthUI` uninstallation $195 + + This commit enhances the uninstallation process of `SecHealthUI` on Windows 11 by: + + - Adding flags to `UninstallSystemApp` to ensure no failure when + reverting a non-existent service for a given Windows version. + - Enhancing documentation for app uninstallation. + - Refining the script name for better understanding. + +commit d2a04868fa5eac11a039892f504f32617c78bd74 +Author: undergroundwires +Date: Thu Sep 28 20:40:28 2023 +0200 + + win: move and doc SecHealthUI to be insecure $190 + + - Move disabling of SecHealthUI to "Privacy over security" category. + - Highlight breaking behavior on the script name. + +commit e38835c65a27823c3c2e11570fbc070a0e9cc5c5 +Author: undergroundwires +Date: Thu Sep 28 19:33:05 2023 +0200 + + win: fix `SecHealthUI` disabling on Win 11 $195 + +commit 1ede0b3d4714f56aca18ecc2c5a53400cd0ef801 +Author: undergroundwires +Date: Mon Sep 18 22:36:50 2023 +0200 + + Fix disabling of Microsoft Defender $170 + + - Change naming from Windows Defender to Microsoft Defender to match + latest branding. + - Add more extensive documentation. + - Add more scripts extending ways to disable Defender. + - Disable "Windows Security Center Service" + - Add missing `SetMpPreference` commands. + + TODO: Add from here: https://learn.microsoft.com/en-us/mem/intune/protect/antivirus-security-experience-windows-settings + + New scripts: + + - Disable "Windows Security Center" service + - Kill SmartScreen process + + Improved scripts: + + - Disable Intrusion Prevention System (IPS): Add CLI command to disable + it. + + TODO: + + - Improve disabling of `RenameSystemFile` AsTrustedInstaller and get + back all commented out code. + +commit daabe9003837fec31ca616341aad78f3cf154f6f +Author: undergroundwires +Date: Thu Sep 28 15:19:09 2023 +0200 + + Add SAST security checks with SECURITY.md #178 + + This commit incorporates Static Analysis Security Testing (SAST) using + CodeQL. This integration will enforce consistent security assessments + with every change and on a predetermined schedule. + + This commit also involves a restructure of security checks. The existing + security-checks workflow is renamed to better reflect its functionality + related to dependency audits. + + These changes will enhance the project's resilience against potential + vulnerabilities in both the codebase and third-party dependencies. + + Changes include: + + - Remove older LGTM badge that's replaced by SAST checks. + - Rename `checks.security.yaml` to `checks.security.dependencies.yaml`, + reinforcing the focus on dependency audits. + - Update `README.md`, ensuring the clear representation of security + check statuses, including new SAST integration. + - Add new `SECURITY.md`, establishing the protocol for reporting + vulnerabilities and outlining the project's commitment to robust + security testing. + - Enhance `docs/tests.md` with detailed information on the newly + integrated security checks. + - Add reference to SECURITY.md in README.md. + +commit 3e5239f7d35e57749c01adf3dbbcd365aebb39c8 +Author: undergroundwires +Date: Thu Sep 28 15:19:09 2023 +0200 + + Add SAST security checks with SECURITY.md #178 + + This commit incorporates Static Analysis Security Testing (SAST) using + CodeQL. This integration will enforce consistent security assessments + with every change and on a predetermined schedule. + + This commit also involves a restructure of security checks. The existing + security-checks workflow is renamed to better reflect its functionality + related to dependency audits. + + These changes will enhance the project's resilience against potential + vulnerabilities in both the codebase and third-party dependencies. + + Changes include: + + - Remove older LGTM badge that's replaced by SAST checks. + - Rename `checks.security.yaml` to `checks.security.dependencies.yaml`, + reinforcing the focus on dependency audits. + - Update `README.md`, ensuring the clear representation of security + check statuses, including new SAST integration. + - Add new `SECURITY.md`, establishing the protocol for reporting + vulnerabilities and outlining the project's commitment to robust + security testing. + - Enhance `docs/tests.md` with detailed information on the newly + integrated security checks. + - Add reference to SECURITY.md in README.md. + +commit 5c59ccd8928bacb13b4f3e56b026188e4f6b2381 +Author: undergroundwires +Date: Thu Sep 28 00:10:39 2023 +0200 + + Improve performance of rendering during search + + Optimize the tree view rendering during searches by enhancing the render + queue ordering. This update changes the rendering order to prioritize + visible nodes, leading to faster appearance of these nodes during + searches. The ordering logic now ingres the depth in the hierarchy and + instead focused on the node order. The collapsed check for the node + itself is removed, ensuring that visible collapsed parents are first + while their invisible children are rendered later. + +commit 9dc0e8742c1ddc3e9138941db7a505b55a2dbf8b +Author: undergroundwires +Date: Thu Sep 28 01:18:32 2023 +0200 + + Improve performance of parent category selection + + This commit resolves the issue of the UI freezing and long load times + when selecting/unselecting parent category. + + It improves the performance of batch-selecting by using the `watch` + function instead of `computed` properties for state management. + +commit d294f734be141d0dd50d2e23beb0b79fc018487c +Author: undergroundwires +Date: Thu Sep 28 00:10:39 2023 +0200 + + Fix slow tree view rendering during search + + Optimize the tree view rendering during searches by enhancing the render + queue ordering. This update changes the rendering order to prioritize + visible nodes, leading to faster appearance of these nodes during + searches. The ordering logic now ingres the depth in the hierarchy and + instead focused on the node order. The collapsed check for the node + itself is removed, ensuring that visible collapsed parents are first + while their invisible children are rendered later. + +commit 7669985f8e1446e726a95626ecf35b3ce6b60a16 +Author: undergroundwires +Date: Wed Sep 27 19:53:40 2023 +0200 + + Fix Docker build and improve checks #220 + + This commit improves multiple aspects of Docker builds: + + - Enable artifact output validation for Dockerfile. + - Correct the path references in Dockerfile for the distribution + directory. + - Add Dockerfile specific indentation rules to `.editorconfig`. + - Use `npm run install-deps` for dependency installation, enhancing + build reliability. + - Add automation script `verify-web-server-status.js` to verify running + web server on given URL. + - Introduce automated build verification for Dockerfile: + - On macOS, install Docker with colima as the container runtime + because default agents do not include Docker and Docker runtime is + not installed due to licensing issues (see actions/runner-images#17). + - On Windows, there's no Linux container support (actions/runner#904, + actions/runner-images#1143), so keep the checks for macOS and Ubuntu + only. + +commit 2793205bf149d79842ede0c1fab4867fcd84a77e +Author: undergroundwires +Date: Mon Sep 11 14:08:33 2023 +0200 + + Enable strict null checks in codebase + + - Write more maintainable and type-safe code. + - Clean-up some of explicit null-checks. + - Add needed null-checks. + +commit cbd3dd5ea97a598dd0a0c44dcb2ae21240b69d1d +Author: undergroundwires +Date: Tue Sep 26 16:22:35 2023 +0200 + + Fix working directory in CI/CD web release + + This commit fixes the CI/CD website release process which was failing + due to an incorrect working directory setting. The `working-directory` + is now correctly set within the action workflow, ensuring the `npm run + install-deps` command runs in project root directory where + `package.json` exists. + +commit 5047c9b6e7bafb91cf406cc9007b78e22df8d501 +Author: undergroundwires-bot +Date: Tue Sep 26 11:45:04 2023 +0000 + + ⬆️ bump everywhere to 0.12.4 + +commit 9cccd3f76f54aa4fd595a587e1f442de0a60f0e6 +Author: undergroundwires +Date: Mon Sep 25 16:56:07 2023 +0200 + + win: fix fails due to unexpected environment $221 + + - Add more comments/documentation for end / start code. + +commit 3af3bb921f292f77442e2bb5cebaf305664b0374 +Author: undergroundwires +Date: Mon Sep 25 16:52:33 2023 +0200 + + Add new icon component + +commit bd2082e8c574db065bb4462f30ea3ace2cb028cb +Author: undergroundwires +Date: Mon Sep 25 14:21:29 2023 +0200 + + Fix slow appearance of nodes on tree view + + The tree view rendering performance is optimized by improving the node + render queue ordering. The node rendering order is modified based on the + expansion state and the depth in the hierarchy, leading to faster + rendering of visible nodes. This optimization is applied when the tree + nodes are not expanded to improve the rendering speed. + + This new ordering ensures that nodes are rendered more efficiently, + prioritizing nodes that are collapsed and are at a higher level in the + hierarchy. + +commit e306d63b9bf7d881a92d720f785077cae427680a +Author: undergroundwires +Date: Sun Sep 24 22:59:07 2023 +0200 + + Improve performance of tree view rendering + + The tree view rendering performance is optimized by improving the node + render queue ordering. The node rendering order is modified based on the + expansion state and the depth in the hierarchy, leading to faster + rendering of visible nodes. This optimization is applied when the tree + nodes are not expanded to improve the rendering speed. + + This new ordering ensures that nodes are rendered more efficiently, + prioritizing nodes that are collapsed and are at a higher level in the + hierarchy. + +commit 8f188acd3c2d93e40c89569c74bc5cff992f0052 +Author: undergroundwires +Date: Sun Sep 24 20:34:47 2023 +0200 + + Fix loss of tree node state when switching views + + This commit fixes an issue where the check state of categories was lost + when toggling between card and tree views. This is solved by immediately + emitting node state changes for all nodes. This ensures consistent view + transitions without any loss of node state information. + + Furthermore, this commit includes added unit tests for the modified code + sections. + +commit 0303ef2fd98b36306523e2a0c5f5ae812a4c6c99 +Author: undergroundwires +Date: Sat Sep 23 10:33:46 2023 +0200 + + Fix outdated and broken links in README #161 + + This commit fixes issues with download URLs of desktop application + artifacts on README.md + + - Corrected typo in Linux AppImage link + - Updated older version links to the newest release + + Co-authored-by: MrEddX <66828538+MrEddX@users.noreply.github.com> + +commit cb21a970b6b867e1476a5eb8a72b9a7fdd53a744 +Author: undergroundwires +Date: Fri Sep 22 14:11:52 2023 +0200 + + win: fix Defender scan artifacts removal #246 + + - Modify script to run as `TrustedInstaller`, resolving access right + problems discussed in #246. + - Change script name for better alignment with its functionality. + - Improve script description for clarity and detailed documentation. + +commit 203daeb4a2fca0a0295cbc2a736394f9f87725e6 +Author: undergroundwires +Date: Thu Sep 21 11:40:15 2023 +0200 + + win: fix delivery optimization side-effects #173 + + - Add non-intrusive way to disable delivery optimization. This new + script do not introduce side-effects caused by disabling Delivery + Optimization service. + - Recomend delivery optimization service (`DoSvc`) only on Strict + mode, removing it from Standard recommendation. + - Categorize delivery optimization disabling under one category. + - Move disabling delivery optimization to "Disable OS collection" > + "Disable Windows Update data collection". + - Add more documentation. + +commit 1a77275cd09a7417eb14c45f0c2f74aa7157b18e +Author: undergroundwires +Date: Thu Sep 21 11:28:13 2023 +0200 + + win: fix and improve driver updates + + TODO: Consider Move under Privacy over Security? + TODO: Add missing docs + TODO: Go through ChatGPT + +commit 43370b8de9fe7a94cc8fb59447c44ff75a2a2f04 +Author: undergroundwires +Date: Thu Sep 14 15:21:22 2023 +0200 + + win: fix delivery optimization side-effects $173 + + - Add non-intrusive way to disable delivery optimization. This script + solves side-effect caused by disabling Delivery Optimization service. + - Recomend delivery optimization service (`DoSvc`) only on Strict + mode, removing it from Standard recommendation. + - Categorize delivery optimization disabling under same category. + - Add more documentation. + +commit 60dde11311a2409537f5965f370b0daaaec53339 +Author: undergroundwires +Date: Wed Sep 20 07:48:50 2023 +0200 + + win: fix uninstallation of newer Edge #236 + + - Fix script failing when multiple installations of Edge is found. + - Fix Edge not being able to be uninstalled due in newer Edge versions. + - Add documentation + - Add missing revert script + +commit de7c0f47a591ed50e9fb8ca23ed79bdb8b215fd9 +Author: undergroundwires +Date: Mon Sep 11 18:12:09 2023 +0200 + + Fix missing state on switch from card to tree view + + When switching views, the state was disappearing because the + node state change wasn't emitted for newly loaded nodes. + This fix ensures that the node state change is immediately + emitted for new and existing nodes. + + TODO: Add unit tests for new logic: + - UseGradualNodeRendering.ts + - TreeView.vue + - UseAutoUpdateParentCheckState.ts + - UseNodeStateChangeAggregator.ts + +commit f0c14f32649b2cd04e9c2f84e0b418a27be85aa9 +Author: undergroundwires +Date: Sat Sep 16 18:01:52 2023 +0200 + + linux: fix obselete Firefox DPI script $239 + + Recommend instead "Firefox dynamic storage partitioning" and "network + partitioning" that obseletes this. + +commit 66c4ae50e18bdee11205dea1d9e29b7ddcf792f1 +Author: undergroundwires +Date: Sat Sep 2 13:11:17 2023 +0200 + + Fix Docker build and improve checks $220 + + This commit improves multiple aspects of Docker builds: + + - Introduce automated build verification for Dockerfile. + - Enable artifact output validation for Dockerfile. + - Correct the path references in Dockerfile for the distribution + directory. + - Add Dockerfile specific indentation rules to `.editorconfig`. + - Use `npm run install-deps` for dependency installation, enhancing + build reliability. + - Add automation script `verify-web-server-status.js` to verify running + web server on given URL. + +commit 8b930fc57c8ee6691ed6165bcb27d97e64a1a0c0 +Author: undergroundwires +Date: Mon Sep 18 17:57:50 2023 +0200 + + Rewrite tooltip UI for efficiency and Vue 3.0 #230 + + - Introduce a new UI component for tooltips. + - Fix tooltip arrow misalignment issues in code download/execution + instructions dialogs. + + Reasons for dropping `v-tooltip` dependency: + + - Lack of support for Vue 3.0, which blocks migration to Vue 3.0 (see + #230). + - Inability to render HTML content that's required for privacy.sexy. + - Inefficient, adding an extra 162.48 KB to the production bundle for + web distribution (tested using `npm run build -- --mode production`). + + Advantages of adopting `floating-ui` (Floating UI): + + - Compatibility across multiple Vue versions including 2.0, 2.7, and 3.0. + - Reduced boilerplate resulting in cleaner, more maintainable code. + - Efficient position recalculations without reinventing the wheel. + +commit f810ed0c147c2a46cae3b70b635ed81128646fff +Author: undergroundwires +Date: Sun Sep 17 13:38:40 2023 +0200 + + Fix no spacing after lists in documentation text + + This commit adds missing vertical margin paragraphs that appear after + lists. It also changes vertical margin gap to match the font size along + with refactoring that makes paragraph gap modification easier to + understand. + +commit 53222fd83c2846089746a217482195806f960d18 +Author: undergroundwires +Date: Sat Sep 16 16:11:41 2023 +0200 + + Fix compiler bug with nested optional arguments + + This commit fixes compiler bug where it fails when optional values are + compiled into absent values in nested calls. + + - Throw exception with more context for easier future debugging. + - Add better validation of argument values for nested calls. + - Refactor `FunctionCallCompiler` for better clarity and modularize it + to make it more maintainable and testable. + - Refactor related interface to not have `I` prefix, and + function/variable names for better clarity. + + Context: + + Discovered this issue while attempting to call + `RunInlineCodeAsTrustedInstaller` which in turn invokes `RunPowerShell` + for issue #246. This led to the realization that despite parameters + flagged as optional, the nested argument compilation didn't support + them. + +commit a1f24973813ccbdd7e1f06c64e1912a991a6bb64 +Author: undergroundwires +Date: Fri Sep 15 13:36:05 2023 +0200 + + Fix wrong action path in website CI deployment + +commit c27172c32e7c316b7cb0f44cab611eed89ca034e +Author: Couleur <82747632+couleurm@users.noreply.github.com> +Date: Sat Apr 1 22:52:44 2023 +0200 + + win: refactor `update.mode` key for VSCode #215 + + Removed unnecessary single quotes wrapping the value `manual` in yaml. + +commit 6e9b65d8b1b481c1471dde90876c37838b4ac4e5 +Author: undergroundwires +Date: Wed Sep 13 13:18:14 2023 +0200 + + win: fix, improve disabling automatic updates #252 + + - Add script to disable `WaaSMedicSvc` service (#252) + - Refine script granularity for more precise control. + - Introduce detailed documentation for the category and associated + scripts. + - Fix `ScheduledInstallTime` being set to `3` which schedules updates to + install at 3 AM. + - Fix `ScheduledInstallDay` is being set to `0` which schedules daily + update installation. + - Fix `NoAutoUpdate` being set to `0` (enable) instead of `1` (disable). + - Add disabling of missing `wuauserv` service. + - Add parent category for disabling Windows update services for better + organization. + +commit 6d301f99616ed49975876803d0098eafe4d3cb2e +Author: billy <7469056+Permanently@users.noreply.github.com> +Date: Tue Sep 12 11:28:22 2023 +0000 + + win: fix Edge telemetry disabling for v116+ #242 + +commit 392a6eb059f438d78714457f77ae91a8f2d116f7 +Author: undergroundwires +Date: Fri Aug 11 19:13:04 2023 +0200 + + Fix DOM manipulation side-effects in tests + + - Introduce a utility, `enableManagedTestDom`, to consistently set up + the DOM during tests. + - This utility ensures the cleanup of elements created and reduces + potential side-effects. + - Remove manual cleanup in `useLockBodyBackgroundScroll` tests, + delegating this responsibility to the new utility. + +commit 659fea7afcabcd0ea273cfdcc8c4bae190c126f3 +Author: undergroundwires +Date: Mon Sep 11 14:08:33 2023 +0200 + + win: fix Windows spotlight revert, docs, recommend + + - Move disabling Windows Spotlight from Standard to Strict + recommendation due to unexpected behavior for some users (#65). + - Enhance documentation. + - Correct revert code to ensure return to the default OS state. + +commit dd6b4f91bdd933d3b2d465269f30d5e3ace4d618 +Author: undergroundwires +Date: Fri Aug 4 18:35:40 2023 +0100 + + Adjust recommendations + + - Recommend Windows Spotlight only on "strict" #65 + - Recommend contact data indexing in strict level + +commit e0303058a3d056b16569fd35bc907850f902f65f +Author: undergroundwires-bot +Date: Sun Sep 10 11:21:25 2023 +0000 + + ⬆️ bump everywhere to 0.12.3 + +commit 65f121c451af87315e1c91df4198562e0445b2c2 +Author: undergroundwires +Date: Sat Sep 9 22:26:21 2023 +0200 + + Introduce new TreeView UI component + + Key highlights: + + - Written from scratch to cater specifically to privacy.sexy's + needs and requirements. + - The visual look mimics the previous component with minimal changes, + but its internal code is completely rewritten. + - Lays groundwork for future functionalities like the "expand all" + button a flat view mode as discussed in #158. + - Facilitates the transition to Vue 3 by omitting the Vue 2.0 dependent + `liquour-tree` as part of #230. + + Improvements and features: + + - Caching for quicker node queries. + - Gradual rendering of nodes that introduces a noticable boost in + performance, particularly during search/filtering. + - `TreeView` solely governs the check states of branch nodes. + + Changes: + + - Keyboard interactions now alter the background color to highlight the + focused item. Previously, it was changing the color of the text. + - Better state management with clear separation of concerns: + - `TreeView` exclusively manages indeterminate states. + - `TreeView` solely governs the check states of branch nodes. + - Introduce transaction pattern to update state in batches to minimize + amount of events handled. + - Improve keyboard focus, style background instead of foreground. Use + hover/touch color on keyboard focus. + - `SelectableTree` has been removed. Instead, `TreeView` is now directly + integrated with `ScriptsTree`. + - `ScriptsTree` has been refactored to incorporate hooks for clearer + code and separation of duties. + - Adopt Vue-idiomatic bindings instead of keeping a reference of the + tree component. + - Simplify and change filter event management. + - Abandon global styles in favor of class-scoped styles. + - Use global mixins with descriptive names to clarify indended + functionality. + +commit 821cc62c4c8347cb76d041f82f574754e4d948c5 +Author: undergroundwires +Date: Fri Sep 8 16:52:41 2023 +0200 + + Change license to AGPLv3 + +commit 4ce327eb6af542ed2916d649553e5e1ba5833882 +Author: Snowz <98007575+SnowzNZ@users.noreply.github.com> +Date: Thu Sep 7 00:01:18 2023 +0200 + + win: fix disable recent apps revert #211, #248 + + Add missing space + +commit 4beb1bb5748a60886210187ca3cdc7f4b41067c0 +Author: undergroundwires +Date: Tue Sep 5 13:39:15 2023 +0200 + + Introduce retry mechanism for npm install in CI/CD + + This commit addresses occasional pipeline failures caused by transient + network errors during dependency installation with `npm ci`. It + centralizes the logic for installing npm dependencies and introduces a + retry mechanism. + + The new approach will attempt `npm ci` up to 5 times with a 5-second + interval between each attempt, thereby increasing the resilience of + CI/CD pipelines. + + This commit adds a new script `npm-install.js` with `npm run + install-deps` command to centralize npm dependency installation process + throughout the project. Separate testing of scripts to a separate + workflow. + + It removes unused `install` dependency from `package.json`. + +commit 0a2a1a026b0efb29624be82b06536c518c1ea439 +Author: undergroundwires +Date: Sun Sep 3 14:50:31 2023 +0200 + + Refactor build configs and improve CI/CD checks + + This commit makes the build process more robust, simplifies + configurations and reduce the risk of incomplete or erroneous + deployments. + + - Centralize output directory definitions by introducing + `dist-dirs.json`. + - Add `verify-build-artifacts` utility to ensure correct build outputs + and `print-dist-dir` to determine distribution directory. + - Add steps in CI/CD pipeline to verify build artifacts. + - Migrate Electron Builder config from YAML to CJS for capability to + read JSON. + - Fix `release-site.yaml` failing due to pointing to wrong distribution + directory, change it to use `print-dist-dir`. + - Improve `check-desktop-runtime-errors` to verify build artifacts for + more reliable builds. Ensure tests fail and succeed reliably. + - Update `.gitignore` and configure ESLint to use it to define and + ignore build artifact directories from one place, remove + `.eslintignore` that does not add anything after this change. + - Keep `"main"` field in `package.json` as `electron-vite` depends on it + (alex8088/electron-vite#270). + - Improve documentation + +commit 3334152a1f9fc723a0716c9ae77f136a671bf245 +Author: undergroundwires +Date: Wed Aug 30 14:24:25 2023 +0200 + + Introduce retry mechanism for `npm ci` in CI/CD + + This commit addresses occasional pipeline failures caused by transient + network errors during dependency installation with `npm ci`. It + centralizes the logic for installing npm dependencies and introduces a + retry mechanism. + + The new approach will attempt `npm ci` up to 5 times with a 5-second + interval between each attempt, thereby increasing the resilience of + CI/CD pipelines. + + This commit adds a new script `npm-install.js` with `npm run + install-deps` command to centralize npm dependency installation process + throughout the project. Separate testing of scripts to a separate + workflow. + + It removes unused `install` dependency from `package.json`. + +commit e03e82130641683794249b48a62185e20f4229f7 +Author: undergroundwires +Date: Sat Sep 2 14:40:04 2023 +0200 + + Refactor build configs and improve CI/CD checks + + This commit makes the build process more robust, simplifies + configurations and reduce the risk of incomplete or erroneous + deployments. + + - Centralize output directory definitions by introducing + `dist-dirs.json`. + - Add `verify-build-artifacts` utility to ensure correct build outputs + and `print-dist-dir` to determine distribution directory. + - Add steps in CI/CD pipeline to verify build artifacts. + - Migrate Electron Builder config from YAML to CJS for capability to + read JSON. + - Fix `release-site.yaml` failing due to pointing to wrong distribution + directory, change it to use `print-dist-dir`. + - Improve `check-desktop-runtime-errors` to verify build artifacts for + more reliable builds. + - Update `.gitignore` and configure ESLint to use it to define and + ignore build artifact directories from one place, remove + `.eslintignore` that does not add anything after this change. + - Improve documentation + +commit 31df6addb2ec59386f68ed2b4255777e321f2199 +Author: undergroundwires +Date: Thu Aug 17 13:06:36 2023 +0200 + + Make `.editorconfig` stricter + + - Standardize also JSON and SCSS/CSS files (TODO: Sames others?) + - Add missing `mjs` and `cjs` files. + - Remove unused `tsx` and `jsx` files. + +commit 0b2612526f6673143711bb9883630ead42a2f436 +Author: undergroundwires +Date: Tue Aug 29 23:10:37 2023 +0200 + + Refactor to remove `I` prefix from interfaces + + Justification for this change: + + - Redundancy: IDE support often make it clear when dealing with an + interface. There's no need for a naming convention to indicate this. + - Cleaner syntax: Cleaner look without a Hungarian notation. + - Expressive naming: Using `I` prefix creates a behavior of naming + classes X and interfaces IX without thinking about semantic meanings. + - Not widely accepted in TypeScript community: Unlike C# community, the + common convention is not to use `I` prefix. + - Official TypeScript Guidelines: The TypeScript handbook does not use + the `I` prefix for interfaces. + +commit eb096d07e276e1b4c8040220c47f186d02841e14 +Author: undergroundwires +Date: Fri Sep 1 18:14:25 2023 +0200 + + Fix memory leaks via auto-unsubscribing and DI + + This commit simplifies event handling, providing a unified and robust + way to handle event lifecycling. This way, it fixes events not being + unsubscribed when state is changed. + + Introduce a new function in `EventSubscriptionCollection` to remove + existing events and adding new events. This provides an easier to use + API, which leads to code that's easier to understand. It also prevents + potential bugs that may occur due to forgetting to call both functions. + It fixes `TheScriptsMenu` not unregistering events on state change. + Other improvements include: + - Include a getter to get total amount of registered subcriptions. + This helps in unit testing. + - Have nullish checks to prevent potential errors further down the + execution. + - Use array instead of rest parameters to increase readability and + simplify tests. + + Ensure `SliderHandler` stops resizes on unmount, unsubscribing from all + events and resetting state to default. + + Update `injectionKeys` to do imports as types to avoid circular + dependencies. Simplify importing `injectionKeys` to enable and strict + typings for iterating injection keys. + + Add tests covering new behavior. + +commit 19e42c9c52a18c813ded4265e687e01032cdd4c8 +Author: undergroundwires +Date: Fri Sep 1 00:18:47 2023 +0200 + + Refactor and improve external URL checks + + - Move external URL checks to its own module under `tests/`. This + separates them from integration test, addressing long runs and + frequent failures that led to ignoring test results. + - Move `check-desktop-runtime-errors` to `tests/checks` to keep all + test-related checks into one directory. + - Replace `ts-node` with `vite` for running + `check-desktop-runtime-errors` to maintain a consistent execution + environment across checks. + - Implement a timeout for each fetch call. + - Be nice to external sources, wait 5 seconds before sending another + request to an URL under same domain. This solves rate-limiting issues. + - Instead of running test on every push/pull request, run them only + weekly. + - Do not run tests on each commit/PR but only scheduled (weekly) to + minimize noise. + - Fix URLs are not captured correctly inside backticks or parenthesis. + +commit cb76b92bde6e877a1a47f5e0bb85bd0e21e0a7fc +Author: undergroundwires +Date: Thu Aug 31 12:01:02 2023 +0200 + + win: change admin share disabling to strict #249 + + - Add detailed documentation + - Align revert code with OS defaults + +commit 1a979ff010d930698d0f2a17a82edca9e0b5ba20 +Merge: baf027ae eb86fde5 +Author: undergroundwires +Date: Thu Aug 31 14:45:22 2023 +0200 + + WIP on master: baf027a Refactor and improve external URL checks + +commit eb86fde55c66649654168b1172614085bb4651e0 +Author: undergroundwires +Date: Thu Aug 31 14:45:22 2023 +0200 + + index on master: baf027a Refactor and improve external URL checks + +commit baf027aeea6cde72b94b6d438fc9177f3acc5271 +Author: undergroundwires +Date: Thu Aug 31 14:36:29 2023 +0200 + + Refactor and improve external URL checks + + - Move external URL checks to its own module under `tests/`. This + separates them from integration test, addressing long runs and + frequent failures that led to ignoring test results. + - Move `check-desktop-runtime-errors` to `tests/checks` to keep all + test-related checks into one directory. + - Replace `ts-node` with `vite` for running + `check-desktop-runtime-errors` to maintain a consistent execution + environment across checks. + - Implement a timeout for each fetch call. + - Be nice to external sources, wait 5 seconds before sending another + request to an URL under same domain. This solves rate-limiting issues. + - Instead of running test on every push/pull request, run them only + weekly. + - Do not run tests on each commit/PR but only scheduled (weekly) to + minimize noise. + +commit a65570a8d3b46078d4624d85daa86905a8282bf3 +Author: undergroundwires +Date: Thu Aug 31 11:52:48 2023 +0200 + + Refactor and improve external URL checks + + - Move external URL checks to its own module under `tests/`. This + separates them from integration test, addressing long runs and + frequent failures that led to ignoring test results. + - Move `check-desktop-runtime-errors` to `tests/checks` to keep all + test-related checks into one directory. + - Replace `ts-node` with `vite` for running + `check-desktop-runtime-errors` to maintain a consistent execution + environment across checks. + - Implement a timeout for each fetch call. + - Be nice to external sources, wait 5 seconds before sending another + request to an URL under same domain. This solves rate-limiting issues. + - Instead of running test on every push/pull request, run them only + weekly. + - Do not run tests on each commit/PR but only scheduled (weekly) to + minimize noise. + +commit 9cc0bfafeca5bc276344937d54b790a59469e899 +Author: undergroundwires +Date: Wed Aug 30 10:39:22 2023 +0200 + + Refactor build configs and improve CI/CD checks + + This commit makes the build process more robust, simplifies + configurations and reduce the risk of incomplete or erroneous + deployments. + + - Centralize output directory definitions by introducing `dist-dirs.json`. + - Add steps in CI/CD pipeline to verify build artifacts. + - Migrate Electron Builder config from YAML to CJS for capability to + read JSON. + - Add `verify-build-artifacts.js` utility to ensure correct build outputs. + - Update `.gitignore` and configure ESLint to use it to define and + ignore build artifact directories from one place, remove + `.eslintignore` that does not add anything after this change. + +commit f4d86fccfd0e73e94c8c6e400a33514900bc5abe +Author: undergroundwires +Date: Wed Aug 30 13:34:30 2023 +0200 + + Fix Windows artifact naming in desktop packaging + + - Fix the naming convention in Electron output to align with previous + artifact naming to not break external/internal URLs. + - In desktop execution tests, make artifact locator logic stricter to + test regression. + +commit 9924f5864e7c2d5a50920f03d83dc1efe3a4ba77 +Author: undergroundwires +Date: Tue Aug 29 17:36:25 2023 +0200 + + Improve running external URL checks + + - Move external URL checks to its own module under `test/` rather than + keeping it as part of integration checks, as they're not really + traditional integration checks and makes integration checks run long + and always fail, as result devs ignore result of integration checks. + - Move also `check-desktop-runtime-errors` under `test/checks` to + organize them under same folder, and remove `ts-node` and use `vite` + to run `check-desktop-runtime-errors` for unified way of running + checks. + - Implement a timeout for the fetch call to ensure we're not waiting + indefinetely for an URL. + - Be nice to external sources, wait 5 seconds before sending another + request to an URL under same domain. + - Instead of running test on every push/pull request, run them only + weekly. + +commit d05a0d76267076e843a5b26af5977370b66f536e +Author: undergroundwires +Date: Tue Aug 29 00:37:18 2023 +0200 + + Fix Windows artifact naming in desktop packaging + + - Fix the naming convention in Electron output to align with previous + artifact naming to not break external/internal URLs. + - In desktop execution tests, make artifact locator logic stricter to + test regression. + +commit ad0576a752f8fd6ea2f917a59173fe61f9951246 +Author: undergroundwires +Date: Tue Aug 29 16:30:00 2023 +0200 + + Improve desktop runtime execution tests + + Test improvements: + + - Capture titles for all macOS windows, not just the frontmost. + - Incorporate missing application log files. + - Improve log clarity with enriched context. + - Improve application termination on macOS by reducing grace period. + - Ensure complete application termination on macOS. + - Validate Vue application loading through an initial log. + - Support ignoring environment-specific `stderr` errors. + - Do not fail the test if working directory cannot be deleted. + - Use retry pattern when installing dependencies due to network errors. + + Refactorings: + + - Migrate the test code to TypeScript. + - Replace deprecated `rmdir` with `rm` for error-resistant directory + removal. + - Improve sanity checking by shifting from App.vue to Vue bootstrapper. + - Centralize environment variable management with `EnvironmentVariables` + construct. + - Rename infrastructure/Environment to RuntimeEnvironment for clarity. + - Isolate WindowVariables and SystemOperations from RuntimeEnvironment. + - Inject logging via preloader. + - Correct mislabeled RuntimeSanity tests. + + Configuration: + + - Introduce `npm run check:desktop` for simplified execution. + - Omit `console.log` override due to `nodeIntegration` restrictions and + reveal logging functionality using context-bridging. + +commit 35be05df2094ea8bba4ee4725e6fa4956a79493d +Author: tromcho <113139586+tromcho@users.noreply.github.com> +Date: Mon Aug 28 20:15:41 2023 +0900 + + win: fix typo in Defender retention script #213 + +commit dae6d114daab6857d773071211eb57619b136281 +Author: undergroundwires +Date: Sun Aug 27 20:14:10 2023 +0200 + + linux: use user.js over prefs.js for Firefox #232 + + Manage Firefox preferences through `user.js` instead of `prefs.js`. + Because of Mozilla's recommendation against direct `prefs.js` edits to + avoid potential profile corruption. Instead, the `user.js` file, if + present, overrides the settings in `prefs.js` at application startup. + + Change AddFirefoxPrefs function to update `user.js` and manage + creation/deletion of this file: + + 1. Handle file creation if `user.js` does not exist. + 2. Deletes file if `user.js` becomes empty after reverting settings. + + Other changes: + + - Improve log messages + - Minimal refactorings + +commit ecce47fdcd3faa09b2d76dbc774524e247558db7 +Author: undergroundwires-bot +Date: Fri Aug 25 12:46:25 2023 +0000 + + ⬆️ bump everywhere to 0.12.2 + +commit e9e0001ef845fa6935c59a4e20a89aac9e71756a +Author: undergroundwires +Date: Fri Aug 25 14:31:30 2023 +0200 + + Improve desktop security by isolating Electron + + Enable `contextIsolation` in Electron to securely expose a limited set + of Node.js APIs to the renderer process. It: + + 1. Isolates renderer and main process contexts. It ensures that the + powerful main process functions aren't directly accessible from + renderer process(es), adding a security boundary. + 2. Mitigates remote exploitation risks. By isolating contexts, potential + malicious code injections in the renderer can't directly reach and + compromise the main process. + 3. Reduces attack surface. + 4. Protect against prototype pollution: It prevents tampering of + JavaScript object prototypes in one context from affecting another + context, improving app reliability and security. + + Supporting changes include: + + - Extract environment and system operations classes to the infrastructure + layer. This removes node dependencies from core domain and application + code. + - Introduce `ISystemOperations` to encapsulate OS interactions. Use it + from `CodeRunner` to isolate node API usage. + - Add a preloader script to inject validated environment variables into + renderer context. This keeps Electron integration details + encapsulated. + - Add new sanity check to fail fast on issues with preloader injected + variables. + - Improve test coverage of runtime sanity checks and environment + components. Move validation logic into separate classes for Single + Responsibility. + - Improve absent value test case generation. + +commit 62f8bfac2f481c93598fe19a51594769f522d684 +Author: undergroundwires +Date: Fri Aug 25 00:32:01 2023 +0200 + + Fix searching/filtering bugs #235 + + - Fix a bug (introduced in 1b9be8fe) preventing the tree view from being + visible during a search. + - Fix a minor bug where the scripts view does not render based on the + initial filter. + - Add Vue component tests for `TheScriptView` to prevent regressions. + - Refactor `isSearching` in `TheScriptView` to simplify its logic. + +commit 75c9b51bf2d1dc7269adfd7b5ed71acfb5031299 +Author: undergroundwires +Date: Thu Aug 24 20:01:53 2023 +0200 + + Migrate to `electron-vite` and `electron-builder` + + - Switch from deprecated Vue CLI plugin to `electron-vite` (see + nklayman/vue-cli-plugin-electron-builder#1982) + - Update main/preload scripts to use `index.cjs` filenames to support + `"type": "module"`, resolving crash issue (#233). This crash was + related to Electron not supporting ESM (see electron/asar#249, + electron/electron#21457). + - This commit completes migration to Vite from Vue CLI (#230). + + Structure changes: + + - Introduce separate folders for Electron's main and preload processes. + - Move TypeHelpers to `src/` to mark tit as accessible by the rest of + the code. + + Config changes: + + - Make `vite.config.ts` reusable by Electron configuration. + - On electron-builder, use `--publish` flag instead of `-p` for clarity. + + Tests: + + - Add log for preload script loading verification. + - Implement runtime environment sanity checks. + - Enhance logging in `check-desktop-runtime-errors`. + +commit ec98d8417f779fa818ccdda6bb90f521e1738002 +Author: undergroundwires +Date: Thu Aug 24 13:45:34 2023 +0200 + + Migrate Cypress (E2E) tests to Vite and TypeScript + + This commit progresses the migration from Vue CLI to Vite (#230). + + TypeScript migration: + + - Convert JavaScript Cypress tests and configurations to TypeScript. + - Introduce `tsconfig.json` for Cypress, following official + recommendation. + + Test execution: + + - Use Cypress CLI to run the tests. + - Rename Cypress commands to reflect official naming conventions. + - Start Vue server prior to Cypress execution, using + `start-server-and-test` package based on official documentation. + - Remove dependency on Vue CLI plugin ((`@vue/cli-plugin-e2e-cypress`). + + Configuration standardization (based on Cypress docs): + + - Delete unused `plugins/` directory. + - Move test (spec) files to to the root directory. + - Add official ESLint plugin (`eslint-plugin-cypress`). + + Changes for importing `vite.config.ts` into `cypress.config.ts`: + + - Add TypeScript import assertations to files importing JSON files. + - Use ESM friendly way instead of `__dirname` to solve `ReferenceError: + __dirname is not defined in ES module scrope`. + + Other changes: + + - Simplify comments in placeholder files. + - Create Cypress specific `.gitignore` for enhanced maintainability, + clarity and scalability. + - Remove redundant `vue.config.cjs`. + +commit 736590558be51a09435bb87e78b6655e8533bc2e +Author: undergroundwires +Date: Wed Aug 23 23:12:56 2023 +0200 + + Migrate web builds from Vue CLI to Vite + + This commit changes the web application's build, transpilation and + minification process from Vue CLI to Vite. This shift paves the way for + a full migration to Vite as the primary build tool (#230). + + Configuration changes: + + - `.vscode/extensions.json`: Update recommended plugins, replacing + unmaintained ones with official recommendations. + - Legacy browser support: + - Use `@vitejs/plugin-legacy` to transpile for older browsers. + - Remove `core-js` dependency and `babel.config.cjs` configuration as + they're now handled by the legacy plugin. + - Delete `@babel/preset-typescript` and `@babel/preset-typescript` + dependencies as legacy plugin handles babel dependencies by default. + - Add `terser` dependency that's used by the legacy plugin for + minification, as per Vite's official documentation. + - `tsconfig.json`: + - Remove obsolete `webpack-env` types. + - Add `"resolveJsonModule": true` to be able to read JSON files in + right way. + - Use correct casing as configuration values. + - Simplify `lib` to align with Vite and Vue starter configuration. + - Add `"skipLibCheck": true` as `npm run build` now runs `tsc` which + fails on inconsistent typings inside `node_modules` due to npm's + weak dependency resoultion. + - PostCSS: + - Add `autoprefixer` as dependency, no longer installed by Vue CLI. + - Epxlicitly added `postcss` as dependency to anticipate potential + peer dependency changes. + - Remove related `@vue/cli` dependencies. + - Remove `sass-loader` as Vite has native CSS preprocessing support. + - Run integration tests with `jsdom` environment so `window` object can + be used. + + Client-side changes: + + - Abstract build tool specific environment variable population. + Environment variables were previously populated by Vue CLI and now by + Vite but not having an abstraction caused issues. This abstraction + solves build errors and allows easier future migrations and testing. + - Change Vue CLI-specific `~@` aliases to `@` to be able to compile with + Vite. + - Update types in LiquorTree to satisfy `tsc`. + - Remove Vue CLI-specific workaround from `src/presentation/main.ts`. + + Restructuring: + + - Move `public/` to `presentation/` to align with the layered structure, + which was not possible with Vue CLI. + - Move `index.html` to web root instead of having it inside `public/` to + align with official recommended structure. + - Move logic shared by both integration and unit tests to + `tests/shared`. + - Move logo creation script to `scripts/` and its npm command to include + `build` to align with rest of the structure. + +commit 6e40edd3f8a063c1b7482c27d8368e14c2fbcfbf +Author: undergroundwires +Date: Wed Aug 23 09:47:44 2023 +0200 + + Remove Vue ESLint plugin for Vite compatibility + + The Vue ESLint plugin is not compatible with Vite and isn't provided in + Vite's default template. By removing it, the codebase progresses toward + the migration to Vue 3.0 and Vite (#230). + + Changes: + + - Directly execute `eslint` in the `npm run lint:eslint` command. + - Fix previously undetected linting issues that weren't covered by Vue + CLI's default configuration. + - Updated various configuration files, reflecting the removal and lint + fixes. + - Remove unused `eslint-plugin-import` dependency that is already + imported by `@vue/eslint-config-airbnb-with-typescript`. + + In `.eslintrc.cjs`: + + - Add `es2022` as environment in to simplify setting parser options and + align with Vite starter configuration. + - Remove useless tests override. + - Move tests override in root `.eslintrc.cjs` to `tests/` for clarity, + better organization, scalability and separation of concerns. + +commit 5f11c8d98f782dd7c77f27649a1685fb7bd06e13 +Author: undergroundwires +Date: Tue Aug 22 14:02:35 2023 +0200 + + Migrate unit/integration tests to Vitest with Vite + + As part of transition to Vue 3.0 and Vite (#230), this commit + facilitates the shift towards building rest of the application using + Vite. By doing so, it eliminates reliance on outdated Electron building + system that offered limited control, blocking desktop builds (#233). + + Changes include: + + - Introduce Vite with Vue 2.0 plugin for test execution. + - Remove `mocha`, `chai` and other related dependencies. + - Adjust test to Vitest syntax. + - Revise and update `tests.md` to document the changes. + - Add `@modyfi/vite-plugin-yaml` plugin to be able to use yaml file + depended logic on test files, replacing previous webpack behavior. + - Fix failing tests that are revealed by Vitest due to unhandled errors + and lack of assertments. + - Remove the test that depends on Vue CLI populating `process.env`. + - Use `jsdom` for unit test environment, adding it to dependency to + `package.json` as project now depends on it and it was not specified + even though `package-lock.json` included it. + +commit 08737698c2283bdf535d1611a730031ebfc7c0df +Author: SNOWZ <98007575+SnowzNZ@users.noreply.github.com> +Date: Mon Aug 21 22:15:08 2023 +1200 + + win: fix automatic updates revert #234 + + Close registry key string + +commit 04b3133500485d0d278a81a177a1677134131405 +Author: undergroundwires +Date: Mon Aug 21 01:35:19 2023 +0200 + + Add automated checks for desktop app runtime #233 + + - Add automation script for building, packaging, installing, executing + and verifying Electron distrubtions across macOS, Ubuntu and Windows. + - Add GitHub workflow to run the script to test distributions using the + script. + - Update README with new workflow status badge. + - Add application initialization log to desktop applications to be able + to test against crashes before application initialization. + +commit 0d15992d5673aca61c65e3ce91f626f70fba4e0c +Author: undergroundwires-bot +Date: Fri Aug 18 15:53:16 2023 +0000 + + ⬆️ bump everywhere to 0.12.1 + +commit a14929a13cc6260b514692d9b4f1cdf5fb85d8b2 +Author: undergroundwires +Date: Thu Aug 17 18:50:14 2023 +0200 + + Migrate to ES6 modules + + Configure project to use ES6 modules to enable top-level await + capabilities. This change helps project to align well with modern JS + standards. + + - Set `type` to `module` in `package.json`. + - Use import/export syntax in Cypress configuration files. + - Rename configurations files that do not support modules to use + the `.cjs` extension: + - `vue.config.js` to `vue.config.cjs` (vuejs/vue-cli#4477). + - `babel.config.js` to `babel.config.cjs (babel/babel-loader#894) + - `.eslintrc.js` to `.eslintrc.cjs` (eslint/eslint#13440, + eslint/eslint#14137) + - `postcss.config.js` to `postcss.config.cjs` (postcss/postcss#1771) + - Provide a workaround for Vue CLI & Mocha ES6 modules conflict in + Vue configuration file (vuejs/vue-cli#7417). + +commit bb23666f98c96cea861e057ffbf3989093b1148b +Author: undergroundwires +Date: Wed Aug 16 15:03:24 2023 +0200 + + Move to ES6 modules + + Configure project to use ES6 modules to enable top-level await + capabilities. This change helps project to align well with modern JS + standards. + + - Set `type` to `module` in `package.json`. + - Use import/export syntax in Cypress configuration files. + - Rename configurations files that does not support modules to use + the `.cjs` extension: + - `vue.config.js` to `vue.config.cjs` (vuejs/vue-cli#4477). + - `babel.config.js` to `babel.config.cjs (babel/babel-loader#894) + - `.eslintrc.js` to `.eslintrc.cjs` (eslint/eslint#13440, + eslint/eslint#14137) + - `postcss.config.js` to `postcss.config.cjs` (postcss/postcss#1771) + + - EditorConfig to unify json files (TODO: to own commit) + +commit 6a20d804dc365d22c1248d787f9912271f508eeb +Author: undergroundwires +Date: Mon Aug 14 15:28:15 2023 +0200 + + Refactor filter (search query) event handling + + Refactor filter event handling to a unified event with visitor pattern + to simplify the code, avoid future bugs and provide better test + coverage. + + This commit shifts from using separate `filtered` and `filterRemoved` + events to a singular, more expressive `filterChanged` event. The new + approach emits a detailed payload that explicitly indicates the filter + action and the associated filter data. The event object unifies the way + the presentation layer reacts to the events. + + Benefits with this approach include: + + - Simplifying event listeners by reducing the number of events to + handle. + - Increasing code clarity and reduces potential for oversight by + providing explicit action details in the event payload. + - Offering extensibility for future actions without introducing new + events. + - Providing visitor pattern to handle different kind of events in easy + and robust manner without code repetition. + + Other changes: + + - Refactor components handling of events to follow DRY and KISS + principles better. + - Refactor `UserFilter.spec.ts` to: + - Make it easier to add new tests. + - Increase code coverage by running all event-based tests on the + current property. + +commit ae75059cc14db41f55dd2056f528442c7d319dd2 +Author: undergroundwires +Date: Tue Aug 15 18:11:30 2023 +0200 + + Increase testability through dependency injection + + - Remove existing integration tests for hooks as they're redundant after + this change. + - Document the pattern in relevant documentation. + - Introduce `useEnvironment` to increase testability. + - Update components to inject dependencies rather than importing hooks + directly. + +commit dfb24be25558e431ae7401e058c48ad48c1d486e +Author: undergroundwires +Date: Mon Aug 14 15:33:04 2023 +0200 + + Fix clicking on circle of revert button not activating it + + TODO: Add/update unit tests + TODO: Are e2e tests needed? + + - Remove redundant `z-index` properties. They do not add anything + visually, but `z-index` values can affect which element captures a + click when elements overlap. The removal of the z-index ensures that + the parent div uniformly receives all click events over its entire area. + - Replace pseudo-element (`:before`) with a real HTML element. As + pseudo-elements are not part of the DOM, it's not possible to bind any + events directly on them but only to their parent elements. Removing it + reduces risks of stacking context (`z-index`) and event propagation + issues where it can prevent that underlying element from receiving the + click if its parent has higher stacking context. + - Toggle `isChecked` programetically on click. This provides explicit + behavior control through more direct and controlled approach. It + bypasses potential issues that could arise from relying on the + checkbox's native click behavior e.g. when overlaid on a + pseudo-element. + +commit 39e650cf110bee6b1b21d9b2902b36b0e2568d54 +Author: undergroundwires +Date: Mon Aug 14 15:28:15 2023 +0200 + + Fix revert toggle partial rendering + + This commits fixes an issue where the `REVERT` label on revert toggle + might render as `REVER` or in a similarly clipped manner due to its + fixed width. The problem is visible when certain fonts fail to load or + browser engines render content non-standardly. + + Changes: + - Refactor UI component to have its own separate Vue component with unit + tests. + - Rework component design to utilize flexbox, enhancing its adaptability + and simplifying the structure. + - Remove obselete `webkit` directives. + - Refactor SCSS for clearer structure and better SCSS best-practices. + - Use `em` when possible instead of `px` for improved responsiveness. + +commit 26df24bbcd2040e104f3cb5bc9414d8b32cc5579 +Author: undergroundwires +Date: Sun Aug 13 21:04:02 2023 +0200 + + Improve selection type documentation + + - Refine tooltip documentation with clearer information. + - Introduce privacy ranking indicator for intuitive user guidance. + - Adopt a consistent format throughout documentation. + - Switch from emojis to icons to maintain visual uniformity. + +commit bc91237d7c54bdcd15c5c39a55def50d172bb659 +Author: undergroundwires +Date: Sat Aug 12 16:53:58 2023 +0200 + + Refactor usage of tooltips for flexibility + + This commit introduces a new Vue component to handle tooltips. It acts + as a wrapper for the `v-tooltip`. It enhances the maintainability, + readability and portability of tooltips by enabling the direct inclusion + of inline HTML in the tooltip components. It solves issues such as + absence of linting or editor support and cumbersome string + concatenation. + + It also provides an abstraction layer that simplifies the switching + between different tooltip implementations, which would allow a smooth + migration to Vue 3 (see #230). + +commit 9e5491fdbf2d9d40d974f5ad0e879a6d5c6d1e55 +Author: undergroundwires +Date: Fri Aug 11 19:35:26 2023 +0200 + + Implement custom lightweight modal #230 + + Introduce a brand new lightweight and efficient modal component. It is + designed to be visually similar to the previous one to not introduce a + change in feel of the application in a patch release, but behind the + scenes it features: + + - Enhanced application speed and reduced bundle size. + - New flexbox-driven layout, eliminating JS calculations. + - Composition API ready for Vue 3.0 #230. + + Other changes: + + - Adopt idiomatic Vue via `v-modal` binding. + - Add unit tests for both the modal and dialog. + - Remove `vue-js-modal` dependency in favor of the new implementation. + - Adjust modal shadow color to better match theme. + - Add `@vue/test-utils` for unit testing. + +commit 825a9f6ca4ac30de6d391f0846dd3f23417806ef +Author: undergroundwires +Date: Thu Aug 10 23:11:31 2023 +0200 + + Improve title, description and