-
-
Notifications
You must be signed in to change notification settings - Fork 401
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
5 changed files
with
226 additions
and
43 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,115 @@ | ||
name: Bug Report | ||
description: Please only open a bug report when you're sure that it is in fact a bug in Valetudo | ||
labels: ["bug"] | ||
body: | ||
- type: textarea | ||
id: what-is-happening | ||
attributes: | ||
label: What is happening? | ||
description: What behavior do you observe? | ||
validations: | ||
required: true | ||
|
||
- type: dropdown | ||
id: broken-or-not-as-expected | ||
attributes: | ||
label: Broken or not as expected? | ||
description: | | ||
Do you believe that that is actually broken as in<br/> | ||
> "Not behaving as it was obviously intended to behave"<br/> | ||
or is it just not as expected as in<br/> | ||
> "I've expected it to do X but it did do Y instead"<br/> | ||
? | ||
options: | ||
- Broken | ||
- Not as expected | ||
default: 2 | ||
validations: | ||
required: true | ||
|
||
- type: textarea | ||
id: what-should-be-happening | ||
attributes: | ||
label: What should be happening? | ||
description: | | ||
What would be the correct behavior?<br/> | ||
If you've previously selected "Not as expected", why did you expect that? Is it reasonable to expect that? | ||
validations: | ||
required: true | ||
|
||
- type: textarea | ||
id: how-to-reproduce | ||
attributes: | ||
label: How to reproduce | ||
description: Steps to reproduce the bug | ||
placeholder: | | ||
1. Go to '...' | ||
2. Click on '....' | ||
3. Scroll down to '....' | ||
4. See error | ||
validations: | ||
required: true | ||
|
||
- type: dropdown | ||
id: valetudo-relation | ||
attributes: | ||
label: Is this Valetudo-related? | ||
description: | | ||
Since Valetudo is not a custom firmware but just a cloud replacement running on the robot, | ||
are you sure that the issue you're seeing relates to **the code of Valetudo** and not the vendor firmware? | ||
options: | ||
- Certainly Valetudo-related | ||
- Probably Valetudo-related | ||
- Might be Valetudo-related | ||
- Could be Valetudo-related | ||
- Probably not Valetudo-related | ||
- Certainly not Valetudo-related | ||
default: 1 | ||
validations: | ||
required: true | ||
|
||
- type: input | ||
id: valetudo-version | ||
attributes: | ||
label: Please enter the Valetudo version you're using | ||
validations: | ||
required: true | ||
|
||
- type: input | ||
id: robot | ||
attributes: | ||
label: Please enter the vendor and model of robot you're using | ||
validations: | ||
required: true | ||
|
||
- type: input | ||
id: robot-firmware | ||
attributes: | ||
label: Please enter the robot's firmware version you're using | ||
validations: | ||
required: true | ||
|
||
- type: textarea | ||
id: additional-context | ||
attributes: | ||
label: Additional context | ||
description: | | ||
Anything else relevant to the situation.<br/> | ||
Think: Browser, Phone, Home Assistant version, Wi-Fi access points, Etc. | ||
validations: | ||
required: true | ||
|
||
- type: textarea | ||
id: context-reflection | ||
attributes: | ||
label: Context reflection | ||
description: Thinking about what you said above about your setup, do you see anything non-standard about it that might be troublesome and cause this? | ||
validations: | ||
required: true | ||
|
||
- type: textarea | ||
id: screenshots | ||
attributes: | ||
label: Screenshots | ||
description: If applicable, please add screenshots here | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
name: Feature request | ||
description: A request for a software feature or functionality | ||
body: | ||
- type: markdown | ||
attributes: | ||
value: | | ||
Valetudo is a mature and polished software project that has been going for 5+ years and is being used by the dev himself (me) on a daily basis.<br/> | ||
Furthermore, as you might've noticed, I'm _very_ active in the support groups and am solely responsible for writing the documentation. | ||
I do that not only because I enjoy helping respectful people and want to ensure that everything stays on the right path, | ||
but also because I believe that it is vital to hear about the issues, annoyances and roadblocks people struggle with. | ||
I think many projects subjected to growth tend to become worse _because_ the distance between the user and the developer/management/etc increases over time. | ||
I do not want that to happen which is why I'm there, helping out, listening in and keeping track of problems and ideas to further improve the project. | ||
|
||
<br/> | ||
|
||
GitHub issues don't work very well for this approach, because they're tickets and tickets need a clear resolution in a predefined timeframe.<br/> | ||
That's not how ideas and feedback work though. It's how contract work works, but I ain't no contractor. | ||
|
||
Because of that, feature requests are handled by regular human dialog and me taking (mental) notes of things that come up.<br/> | ||
So, if you have an idea, feel free to talk with me about it in the support groups. | ||
|
||
I won't lie, I'm not super excited to hear them, because, since this is a mature and polished project, | ||
most of the time, feature requests fall in one of these three categories: | ||
- "hey I see you made decision A, I'd've preferred if you'd've picked B instead" | ||
or | ||
- "I have this super niche need and I demand you to cater for it" | ||
or | ||
- "I believe that things should be this way and I'm going to scream until they are" | ||
|
||
|
||
That said, I do greatly enjoy interesting respectful productive exchange with other people as equals that respects boundaries.<br/> | ||
This is one of the gifts of doing open-source software and I'm super glad about every instance where that happens. | ||
|
||
You don't have to be a developer to take part in such an exchange, but you do have to step out of the mindset of a customer that wants something to happen. | ||
|
||
- type: checkboxes | ||
id: checkboxes | ||
attributes: | ||
label: Conclusion | ||
options: | ||
- label: I have read the text above | ||
required: true | ||
- label: Having read the text above, I understand that there is no point in opening an issue for this | ||
required: true | ||
- label: I will not click the submit button | ||
required: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
name: Robot support request | ||
description: An inquiry to ask if a robot is supported or a request to support a robot | ||
body: | ||
- type: markdown | ||
attributes: | ||
value: | | ||
The exhaustive list of supported robots can be found in the docs: | ||
https://valetudo.cloud/pages/general/supported-robots.html | ||
The following text can be found there and also in the FAQ. | ||
It is mirrored here purely for your convenience. | ||
## Robots that aren't supported | ||
While Valetudo tries its best to be generic and reuse code wherever possible, since it is not a custom firmware, | ||
the backend is basically a few huge chunks of code that are very specific to the respective vendor firmware and cloud architecture they try to emulate. | ||
|
||
Supporting any new vendors is thus quite a large task because not only requires it to write large parts of the backend | ||
again from scratch but also do the reverse engineering of data formats, authentication, communication and various functionality | ||
with no documentation from the vendor available. | ||
|
||
It's a time-consuming process that mostly involves random chance and that can only start once security vulnerabilities | ||
leading to system administrator level access on the hardware in question has been found. A similar reverse-engineering process | ||
without any documentation that is also quite time-consuming and mostly involves random chance. | ||
|
||
<br/> | ||
|
||
Valetudo only runs on the supported robots because security researcher [Dennis Giese](https://dontvacuum.me) found ways | ||
to root them. | ||
|
||
Rooting in this context means taking these locked-down IoT devices, finding and exploiting security flaws in their design | ||
and gaining permanent system administrator level access to them to allow for running additional custom software such as Valetudo | ||
and modifying the system to make the unclouding possible. | ||
|
||
These security flaws are all 0days of which we sometimes need multiple to achieve the rooting.<br/> | ||
They're also specific to one specific vendor's implementation of something on one specific piece of hardware. | ||
|
||
With a public root release, these get burned and usually quickly fixed by the vendors, making finding a working exploit chain | ||
for newer models after the release harder or sometimes even impossible. | ||
|
||
<br/> | ||
|
||
Therefore, please refrain from asking if something that isn't on this list is supported.<br/> | ||
Please do not ask if someone "tried" it. Please do not state that you would like it if something would be supported. | ||
|
||
Without explicitly mentioning this, readers often expect that something not being supported just means that | ||
no one has tried it yet, which is more akin to how e.g. running GNU+Linux on some random laptop works. | ||
|
||
Thank you for your understanding | ||
|
||
|
||
- type: checkboxes | ||
id: checkboxes | ||
attributes: | ||
label: Conclusion | ||
options: | ||
- label: I have read the text above | ||
required: true | ||
- label: Having read the text above, I understand that there is no point in opening an issue for this | ||
required: true | ||
- label: I will not click the submit button | ||
required: true |