forked from DigiLive/mushroom-strategy
Release v2.3.0 (#195)
Adds: - Strategy: - SceneCard: Support for Stateful scenes. Closes #190. - ValveCard: A card to control an entity of the valve domain. Closes #192. - LockView: A view for entities of the lock domain. Closes #171. - Modules: - RegistryFilter: Advanced filtering and sorting of Home Assistant registries. - Auxiliaries: Generic utility functions. - Debug: Centralized logging and debug level management. - Tooling: - ESLint configuration for linting. - Prettier configuration for code formatting. Removes: - Redundant types and interface annotations. - Redundant legacy and unused modules. - Localization constant from the `Helper` module in favor of a new `localize` utility. Refactors: - References regarding change of repository owner. - Auxiliary functions are moved from the `Helper` module to `Auxiliaries` module. - `Helper` module is renamed to `Registry` for centralized state and registry management. - `ControllerCard` is renamed to `HeaderCard`. - Doc-blocks and comments are updated for clarity and consistency. - The file tree is restructured for improved clarity, modularity, and scalability. - Third party type definitions are updated and cleaned up. - Issue and Pull Request templates. Optimizations: - Parallelization of dynamic imports for views and cards. - Improved error handling and logging throughout the codebase. - Sanitization of HASS registries after import. - Enforced stricter and simplified types and interfaces. - Localization now available at global scope. Fixes: - Wrong type in configuration of `HeaderCard`. - Translation files: Resolved key inconsistencies. - Removed unnecessary namespaces from types. - Typos and Grammar. - Explicit use of `any` types. - Turn off all entities of a domain with a chip tap action. - Rendering too small HASS area cards. - Count of active vacuums. Bumps: - Mushroom Strategy - home-assistant-js-websocket - superstruct - ts-loader - ts-node - typescript - webpack - webpack-cli
This commit is contained in:
1 parent
1bfda2ca22
commit
a5ec18823d
136 files changed
+7074
-4364
No files matched your search
@@ -1,34 +0,0 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve
|
||||
title: ''
|
||||
labels: bug
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Describe the bug**
|
||||
A clear and concise description of what the bug is.
|
||||
|
||||
**Versions**
|
||||
* Mushroom-Strategy:
|
||||
* HACS:
|
||||
* Mushroom:
|
||||
* Home Assistant:
|
||||
|
||||
**To Reproduce**
|
||||
Steps to reproduce the behavior:
|
||||
|
||||
1. Go to '…'
|
||||
2. Click on '…'
|
||||
3. Scroll down to '…'
|
||||
4. See error
|
||||
|
||||
**Expected behavior**
|
||||
A clear and concise description of what you expected to happen.
|
||||
|
||||
**Screenshots**
|
||||
If applicable, add screenshots to help explain your problem.
|
||||
|
||||
**Additional context**
|
||||
Add any other context about the problem here.
|
||||
@@ -0,0 +1,103 @@
|
||||
name: Bug Report
|
||||
description: File a bug report to help us improve the project.
|
||||
labels: ["bug"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thank you for taking the time to report a bug!
|
||||
Please fill out the requested information to help us understand and reproduce the issue.
|
||||
|
||||
- type: input
|
||||
id: what-happened
|
||||
attributes:
|
||||
label: What happened?
|
||||
description: Briefly describe the bug you encountered.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: reproduce
|
||||
attributes:
|
||||
label: Steps to reproduce
|
||||
description: Please provide clear and concise steps to reproduce the issue. Be as detailed as possible.
|
||||
placeholder: |
|
||||
1. ...
|
||||
2. ...
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: versions
|
||||
attributes:
|
||||
label: Versions
|
||||
description: Please provide the versions you use of the items below
|
||||
placeholder: |
|
||||
- Mushroom Dashboard:
|
||||
- Lovelace Mushroom:
|
||||
- Home Assistant:
|
||||
value: |
|
||||
- Mushroom Dashboard:
|
||||
- Lovelace Mushroom:
|
||||
- Home Assistant:
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
id: environment
|
||||
attributes:
|
||||
label: Environment
|
||||
description: What environment were you using when you encountered the bug?
|
||||
options:
|
||||
- "Web Browser (specify name and version)"
|
||||
- "Mobile Application (specify OS and version)"
|
||||
- "Other (please specify, including version)"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
id: environment-version
|
||||
attributes:
|
||||
label: Environment and Version
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: textarea
|
||||
id: expected-behavior
|
||||
attributes:
|
||||
label: Expected Behavior
|
||||
description: What did you expect to happen?
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: actual-behavior
|
||||
attributes:
|
||||
label: Actual Behavior
|
||||
description: What actually happened?
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: error-logs
|
||||
attributes:
|
||||
label: Error Logs (if applicable)
|
||||
description: If you encountered any error messages or logs, please include them here.
|
||||
render: plain text
|
||||
|
||||
- type: textarea
|
||||
id: additional-information
|
||||
attributes:
|
||||
label: Additional Information
|
||||
description: Please provide any other relevant information or attachments that might help in understanding the issue.
|
||||
placeholder: |
|
||||
Add additional information or drop files here.
|
||||
|
||||
- type: checkboxes
|
||||
id: terms
|
||||
attributes:
|
||||
label: Guidelines
|
||||
description: By submitting this issue, you agree to abide by our [contribution guidelines](blob/main/CONTRIBUTING.md).
|
||||
options:
|
||||
- label: I have read and agree to the guidelines.
|
||||
required: true
|
||||
@@ -0,0 +1,8 @@
|
||||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: Wiki
|
||||
url: https://github.com/DigiLive/mushroom-strategy/wiki
|
||||
about: Please consult to Wiki for more information about the strategy and how to configure it.
|
||||
- name: Discussions
|
||||
url: https://github.com/DigiLive/mushroom-strategy/discussions
|
||||
about: Discuss any other topic about the strategy over here.
|
||||
@@ -1,20 +0,0 @@
|
||||
---
|
||||
name: Feature request
|
||||
about: Suggest an idea for this project
|
||||
title: ''
|
||||
labels: enhancement
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Is your feature request related to a problem? Please describe.**
|
||||
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
||||
|
||||
**Describe the solution you'd like**
|
||||
A clear and concise description of what you want to happen.
|
||||
|
||||
**Describe alternatives you've considered**
|
||||
A clear and concise description of any alternative solutions or features you've considered.
|
||||
|
||||
**Additional context**
|
||||
Add any other context or screenshots about the feature request here.
|
||||
@@ -0,0 +1,88 @@
|
||||
name: Feature Request
|
||||
description: Suggest a new feature or improvement for the project.
|
||||
labels: ["enhancement"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thank you for taking the time to suggest a new feature!
|
||||
Please provide as much detail as possible so we can understand your idea and its potential impact.
|
||||
|
||||
- type: input
|
||||
id: feature-title
|
||||
attributes:
|
||||
label: Feature Title
|
||||
description: Briefly and clearly describe your proposed feature.
|
||||
placeholder: e.g., Add support for...
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: what-is-it
|
||||
attributes:
|
||||
label: What is the feature?
|
||||
description: Describe the feature in detail. What would it do? How would it work?
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: problem-it-solves
|
||||
attributes:
|
||||
label: What problem does this feature solve?
|
||||
description: Explain the user need or pain point that this feature addresses. Why is it important?
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: proposed-solution
|
||||
attributes:
|
||||
label: Proposed Solution (Optional)
|
||||
description: |
|
||||
If you have specific ideas on how this feature could be implemented, please share them here.
|
||||
Include any technical details or UI/UX suggestions.
|
||||
|
||||
- type: dropdown
|
||||
id: affected-area
|
||||
attributes:
|
||||
label: Affected Area (Optional)
|
||||
description: If this feature primarily relates to a specific part of the project, please indicate it.
|
||||
options:
|
||||
- User Interface (UI)
|
||||
- User Experience (UX)
|
||||
- Performance
|
||||
- Security
|
||||
- Documentation
|
||||
- Other (please specify below)
|
||||
default: 0
|
||||
|
||||
- type: input
|
||||
id: affected-area-other
|
||||
attributes:
|
||||
label: Other Affected Area (if selected above)
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: textarea
|
||||
id: alternatives-considered
|
||||
attributes:
|
||||
label: Alternatives Considered (Optional)
|
||||
description: |
|
||||
Have you considered any alternative solutions or workarounds?
|
||||
If so, please describe them and why you think this proposed feature is better.
|
||||
|
||||
- type: textarea
|
||||
id: mockups-designs
|
||||
attributes:
|
||||
label: Mockups or Designs (Optional)
|
||||
description: |
|
||||
If you have any mockups, wireframes, or design ideas to illustrate your feature,
|
||||
you can describe them here or attach them to the issue.
|
||||
|
||||
- type: checkboxes
|
||||
id: terms
|
||||
attributes:
|
||||
label: Guidelines
|
||||
description: By submitting this issue, you agree to abide by our [contribution guidelines](blob/main/CONTRIBUTING.md).
|
||||
options:
|
||||
- label: I have read and agree to the guidelines.
|
||||
required: true
|
||||
@@ -1,43 +1,13 @@
|
||||
Please click the `Preview` tab and select the type of Pull Request you are submitting.
|
||||
|
||||
- [Bug Fix](?expand=1&template=bugfix.md)
|
||||
- [Feature](?expand=1&template=feature.md)
|
||||
|
||||
> [!NOTE]
|
||||
> Follow the instructions inside the brackets and remove them.
|
||||
> In the Title field above, Provide a succinct and descriptive title for the pull request, e.g., "Improve caching mechanism for API calls"
|
||||
> The above types do not apply to any translation itself.
|
||||
> To add or fix a translation, select a type below.
|
||||
>
|
||||
> Follow the commit guidelines as described at https://github.com/DigiLive/gitChangelog/wiki/1-Introduction
|
||||
> - [Translation Contribution](?expand=1&template=translation.md)
|
||||
|
||||
## Description
|
||||
|
||||
[Provide a detailed explanation of the changes you have made. Include the reasons behind these changes and any relevant context. Link any related issues.]
|
||||
|
||||
## Type of Change
|
||||
|
||||
_Put an `x` in all boxes that apply_
|
||||
- [ ] New feature (non-breaking change which adds functionality)
|
||||
- [ ] Bug fix (non-breaking change which fixes an issue)
|
||||
- [ ] Hot fix (corrects a major software bug or fault and should released as quickly as possible.)
|
||||
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
|
||||
- [ ] Documentation update
|
||||
- [ ] Refactoring
|
||||
- [ ] Security patch
|
||||
- [ ] UI/UX improvement
|
||||
|
||||
## Testing
|
||||
|
||||
[Detail the testing you have performed to ensure that these changes function as intended. Include information about any added tests.]
|
||||
|
||||
## Impact
|
||||
|
||||
[Discuss the impact of your changes on the project. This might include effects on performance, new dependencies, or changes in behaviour.]
|
||||
|
||||
## Additional Information
|
||||
|
||||
[Any additional information that reviewers should be aware of.]<br>
|
||||
[E.g.: Add (before/after) images when visual changes are applied.]
|
||||
|
||||
## Checklist
|
||||
|
||||
_Put an `x` in all boxes that apply_
|
||||
- [ ] My code adheres to the [coding and style guidelines](https://github.com/AalianKhan/mushroom-strategy/blob/main/CONTRIBUTING.md) of the project.
|
||||
- [ ] I have performed a self-review of my own code.
|
||||
- [ ] I have commented my code, particularly in hard-to-understand areas.
|
||||
- [ ] I have made corresponding changes to the documentation.
|
||||
- [ ] My changes generate no new warnings.
|
||||
> [!CAUTION]
|
||||
> Any Pull Request that does not follow the above types will be rejected.
|
||||
@@ -0,0 +1,67 @@
|
||||
# Bug Fix Pull Request
|
||||
|
||||
Thank you for contributing to the project by fixing this bug!
|
||||
Please fill out the following information to help us review your pull request.
|
||||
|
||||
---
|
||||
|
||||
### Bug Summary
|
||||
|
||||
Explain why this fix is needed and what problem it solves.
|
||||
If it relates to an existing issue, please link it.
|
||||
See [Linking a pull request to an issue](https://docs.github.com/en/issues/tracking-your-work-with-issues/using-issues/linking-a-pull-request-to-an-issue).
|
||||
|
||||
[Briefly describe the bug you are fixing]
|
||||
|
||||
---
|
||||
|
||||
### Motivation and Context
|
||||
|
||||
Explain why this bug needs to be fixed and the impact it has on the project or users.
|
||||
|
||||
[Your explanation here]
|
||||
|
||||
---
|
||||
|
||||
### List of Changes
|
||||
|
||||
[Provide a concise list of the main changes introduced by this pull request to fix the bug.]
|
||||
|
||||
- ...
|
||||
|
||||
### Steps to Reproduce (if not covered in the linked issue)
|
||||
|
||||
If the steps to reproduce the bug are not clearly outlined in the linked issue, please provide them here:
|
||||
|
||||
1. ...
|
||||
2. ...
|
||||
|
||||
### Expected Behavior (if not covered in the linked issue)
|
||||
|
||||
Describe what the expected behavior should have been before the bug occurred.
|
||||
|
||||
[Your description of the expected behavior]
|
||||
|
||||
### Actual Behavior (if not covered in the linked issue)
|
||||
|
||||
Describe the actual behavior that occurred due to the bug.
|
||||
|
||||
[Your description of the actual behavior]
|
||||
|
||||
---
|
||||
|
||||
### Wiki Updates
|
||||
|
||||
[If this bug fix requires any updates to the Wiki, please provide details here.]
|
||||
|
||||
---
|
||||
|
||||
### Agreements
|
||||
|
||||
Please confirm the following by inserting an `x` between the brackets:
|
||||
|
||||
- [ ] My code adheres to the [contribution guidelines](blob/main/CONTRIBUTING.md) of the project.
|
||||
- [ ] My changes generate no new warnings.
|
||||
- [ ] I have performed a self-review of my own code.
|
||||
- [ ] I have commented my code, particularly in hard-to-understand areas.
|
||||
- [ ] I have made corresponding changes to the documentation.
|
||||
@@ -0,0 +1,44 @@
|
||||
# Feature Pull Request
|
||||
|
||||
Thank you for contributing to the project!
|
||||
Please fill out the following information to help us review your pull request.
|
||||
|
||||
---
|
||||
|
||||
### Feature Summary
|
||||
|
||||
[Briefly describe the feature you are proposing]
|
||||
|
||||
---
|
||||
|
||||
### Motivation and Context
|
||||
|
||||
Explain why this feature is needed and what problem it solves.
|
||||
If it relates to an existing issue, please link it.
|
||||
See [Linking a pull request to an issue](https://docs.github.com/en/issues/tracking-your-work-with-issues/using-issues/linking-a-pull-request-to-an-issue).
|
||||
|
||||
[Your explanation here]
|
||||
|
||||
---
|
||||
|
||||
### List of Changes
|
||||
|
||||
[Provide a concise list of the main changes introduced by this pull request.]
|
||||
|
||||
- ...
|
||||
|
||||
### Wiki Updates
|
||||
|
||||
[If this bug feature requires any updates to the Wiki, please provide details here.]
|
||||
|
||||
---
|
||||
|
||||
### Agreements
|
||||
|
||||
Please confirm the following by inserting an `x` between the brackets:
|
||||
|
||||
- [ ] My code adheres to the [contribution guidelines](blob/main/CONTRIBUTING.md) of the project.
|
||||
- [ ] My changes generate no new warnings.
|
||||
- [ ] I have performed a self-review of my own code.
|
||||
- [ ] I have commented my code, particularly in hard-to-understand areas.
|
||||
- [ ] I have made corresponding changes to the documentation.
|
||||
@@ -0,0 +1,71 @@
|
||||
# Translation Contribution Pull Request
|
||||
|
||||
Thank you for contributing to the project's internationalization efforts!
|
||||
Please fill out the following information to help us review your translation changes.
|
||||
|
||||
---
|
||||
|
||||
### Type of Translation Contribution
|
||||
|
||||
Please select the type of contribution:
|
||||
|
||||
- [ ] Adding a new language translation
|
||||
- [ ] Fixing errors or improving an existing translation
|
||||
- [ ] Updating an existing translation with new strings
|
||||
|
||||
---
|
||||
|
||||
### Target Language
|
||||
|
||||
Please specify the language you are adding or modifying:
|
||||
|
||||
[List the target language here]
|
||||
|
||||
---
|
||||
|
||||
### Motivation and Context
|
||||
|
||||
Explain why this translation (addition, fix, or update) is needed.
|
||||
- For fixes, please describe the original error.
|
||||
- For updates, briefly explain the context of the new strings.
|
||||
|
||||
[Your explanation here]
|
||||
|
||||
---
|
||||
|
||||
### Scope of Changes
|
||||
|
||||
Please describe the scope of your translation changes.
|
||||
Which parts of the project are affected by these translations?
|
||||
|
||||
[Describe the affected areas]
|
||||
|
||||
---
|
||||
|
||||
### List of Changes
|
||||
|
||||
Provide a concise list of the main changes you've made in this pull request.
|
||||
If it's a large update, you can highlight key areas.
|
||||
|
||||
- ...
|
||||
|
||||
---
|
||||
|
||||
### Considerations for Reviewers
|
||||
|
||||
Are there any specific areas you would like reviewers to pay extra attention to?
|
||||
For example, specific terminology, cultural nuances, or consistency with existing translations.
|
||||
|
||||
[Any specific instructions for reviewers]
|
||||
|
||||
---
|
||||
|
||||
### Agreements
|
||||
|
||||
Please confirm the following:
|
||||
|
||||
- [ ] My code adheres to the [contribution guidelines](blob/main/CONTRIBUTING.md) of the project.
|
||||
- [ ] I have reviewed the existing translations for consistency.
|
||||
- [ ] I have used appropriate terminology and followed any project-specific translation guidelines.
|
||||
- [ ] I have tested the translations to the best of my ability.
|
||||
- [ ] My changes generate no new warnings or errors related to internationalization.
|
||||
@@ -1,8 +1,8 @@
|
||||
name: HACS validation
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
jobs:
|
||||
hacs:
|
||||
name: HACS Action
|
||||
|
||||
@@ -18,40 +18,40 @@ jobs:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [18.x]
|
||||
node-version: [ 18.x ]
|
||||
|
||||
# Checkout Repository
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
token: ${{ secrets.WORKFLOW_GIT_ACCESS_TOKEN }}
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
token: ${{ secrets.WORKFLOW_GIT_ACCESS_TOKEN }}
|
||||
|
||||
# Build steps
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
# Build steps
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
|
||||
- name: Node Install
|
||||
run: npm ci
|
||||
- name: Node Install
|
||||
run: npm ci
|
||||
|
||||
- name: Build Distribution
|
||||
run: |
|
||||
npm run build
|
||||
- name: Build Distribution
|
||||
run: |
|
||||
npm run build
|
||||
|
||||
- name: Check for file changes
|
||||
id: checkDiff
|
||||
run: |
|
||||
git diff --quiet . || echo "changed=true" >> $GITHUB_OUTPUT
|
||||
- name: Check for file changes
|
||||
id: checkDiff
|
||||
run: |
|
||||
git diff --quiet . || echo "changed=true" >> $GITHUB_OUTPUT
|
||||
|
||||
# Commit and push all changed files.
|
||||
# Must only affect files that are listed in "paths-ignore".
|
||||
- name: GIT Commit Distribution Build
|
||||
# Only run on main branch push (e.g., pull request merge).
|
||||
if: github.event_name == 'push' && steps.checkDiff.outputs.changed == 'true'
|
||||
run: |
|
||||
git config --global user.name "${{ env.CI_COMMIT_AUTHOR }}"
|
||||
git config --global user.email "ci_activity@noreply.github.com"
|
||||
git add dist
|
||||
git commit -m "${{ env.CI_COMMIT_MESSAGE }}"
|
||||
git push
|
||||
# Commit and push all changed files.
|
||||
# Must only affect files that are listed in "paths-ignore".
|
||||
- name: GIT Commit Distribution Build
|
||||
# Only run on a main branch push (e.g., pull request merge).
|
||||
if: github.event_name == 'push' && steps.checkDiff.outputs.changed == 'true'
|
||||
run: |
|
||||
git config --global user.name "${{ env.CI_COMMIT_AUTHOR }}"
|
||||
git config --global user.email "ci_activity@noreply.github.com"
|
||||
git add dist
|
||||
git commit -m "${{ env.CI_COMMIT_MESSAGE }}"
|
||||
git push
|
||||
Reference in new issue
Block a user