Homeassistant automations will not move shades when triggered

Hello
I'm having a very strange issue that I've tried everything to resolve.  From both the MQTT and HACS integration in home assistant, by calling the shades from the cover open/close or esp somfy open/close service the same result happens.
When I operate the shades from the Lovelace UI or entity screen the shades work perfectly.  Additionally when I am configuring an automation to call the shades when a button is pressed it works when I press the "Run" menu in the automation screen.  However, when the automation is actually triggered the motor does not move. The strange thing is if you open the entity it shows the shade is either opening / closing but it doesn't move the motor.
This happens via both integrations (MQTT & HACS).  I've tried just about everything including creating a script that calls the open/close command and having the automation trigger that script and it is the same result.  Works from the browser when pressing run but when the automation runs it does not move the motor, just the UI in HA and ESPSomfy shows the motor moving.
I've updated to the latest firmware/software and hacs versions. This is the only thing holding me back from finally getting rid of our somfy mylink and having an awesome integration.
Attached is my ESPSomfy backup.
ESPSomfyRTS 2023-11-04T21_52_48.backup.zip
Thank you so much in advance for your help.
Dan

That is very odd.  From every direction except one the motor responds correctly.  Let's make sure we are working from only one interface so please go into the Network section and uncheck the Enable MQTT client checkbox.   One other thing.  Please set the TX power back to 10dBm on the radio config.  I am pretty sure the E07 modules max out at 10dBm.
Which service are you using?  There are two that simply change the position of the motor but do not send the command to move it.

I have had a similar issue. My current solution is to set the shades to a "different" location, delay for a second, then go to the intended location. See my code below:
  - service: cover.set_cover_position
    target:
      entity_id: cover.bedroom_shade
    data:
      position: 2
  - delay:
      seconds: 1
  - service: cover.close_cover
    target:
      entity_id: cover.bedroom_shade
    data: {}

That is so weird are there any errors in the HA logs?

What I noticed was that cover.bedroom_shade would already shown as "closed" if i tried to call it without that, causing nothing to happen. I never checked HA logs. It seemed like it would send it but nothing would happen?
Unless i did the above

OK it just happened again! Yeah it doesn't seem to like working in this script:
goodnight:
  alias: "Goodnight"
  description: "Turns off most things in the house when. Takes guests into consideration."
  icon: "mdi:moon-waning-crescent"
  mode: restart
  fields:
    transition:
      description: "The transition time for lights"
      example: "2"
      default: 2
      selector:
        number:
          min: 0
          max: 60
    blinds:
      description: "Close blinds"
      example: false
      default: false
      selector:
        boolean:
    thunderstorms:
      description: "Start bedroom thunderstorms"
      example: false
      default: false
      selector:
        boolean:
    guests_override:
      description: "Guests override"
      example: false
      default: false
      selector:
        boolean:
  variables:
    transition: "{{ transition | default(5) }}"
    guests: "{{ guests_override | default(bool(states('sensor.guest_mode'))) }}"
    blinds: "{{ blinds | default(false) }}"
    thunderstorms: "{{ thunderstorms | default(false) }}"
  sequence:
    - parallel:
      - service: script.dining_room_lightstrip_daily_plan
      - service: light.turn_off
        data:
          entity_id:
            - light.bedroom_lights
            - light.bathroom_lights
            - light.closet_lights
          transition: "{{ transition }}"
      - service: fan.turn_off
        data:
          entity_id: fan.bedroom_ceiling_fan
      - service: media_player.turn_off
        continue_on_error: true
        target:
          entity_id: media_player.bedroom_sony_bravia_tv
      - if:
          - alias: "Close blinds"
            condition: template
            value_template: "{{ blinds }}"
        then:
          # - service: cover.set_cover_position
          #   target:
          #     entity_id: cover.bedroom_shade
          #   data:
          #     position: 2
          # - delay:
          #     seconds: 1
          - service: cover.close_cover
            target:
              entity_id: cover.bedroom_shade
      - if:
          - alias: "Start thunderstorms"
            condition: template
            value_template: "{{ thunderstorms }}"
        then:
          - parallel:
            - service: script.sonos_bedroom_thunderstorms
      - if:
          - alias: "No guests"
            condition: template
            value_template: "{{ not guests }}"
        then:
          - parallel:
            - service: light.turn_off
              data:
                entity_id: light.goodnight_lights
                transition: "{{ transition }}"
            - service: fan.turn_off
              data:
                entity_id: group.all_fans
            - service: media_player.turn_off
              continue_on_error: true
              target:
                entity_id:
                  - media_player.x_denon_avr_x3500h

And here is what the integration looks like, even though my shade is still fully open:

There is also nothing in HA logs about this

What is this in the log.  This entire sequence is going on within about 6 seconds but the transition from Homekit is likely still occurring.

The log has no entries related to this.
And I don't have any other conflicting schedules. For this test I ran the script directly from Developer Tools -> Services

So why is there a reference to Homekit calling set_cover_position?  I circled it in the picture above.  I do not see an open prior to that close and the final state on the screen is closed.

OH I get your question now. So I have this shade/cover exposed to Homekit/Siri via HA and ESPSomfy. While was running this test via 'Developer Tools -> Services' I would just use Siri to open it back all the way to rerun the test. So they were run in sequence (and manually) to make sure the cover was fully open (both in real life and in HA) before the next test.

Its weird because Homekit actually closed the shade not open it.  It sent 100% to ESPSomfy RTS.  There is some goofiness with that integration when it comes to covers.  I have seen it say that it was closing in Homekit when HA said it was opening.  Then if you reverse it in the code it open when it is closing.   Removing it from Homekit and adding it back fixed it.  I don't know if this is Homekit or the integration that is goofy.

Gotcha, weird. Yeah I mean I found this happening regardless of how I "opened" it, I just happened to use HomeKit this time, that is strange though

I'm just trying to figure out why this is happening to you and not me.  It is very odd that any movement would be registered from the component since HA does not have any control over the entity.  This is all controlled by ESPSomfy RTS and positions come directly from that.   There should be no way that HA would change the position without being notified by it.  I'll set up and try your yaml to see if I can make it happen.

Yeah I agree, its very strange. Happy to try more things if you send my way. Or if there is something I can add to configuration to make more logs appear let me know

Yes turn on debug logging for the integration.  This will add any exceptions and messages to the homeassistant.log.

This is all I get with it on:
2023-11-07 17:04:03.425 DEBUG (MainThread) [custom_components.espsomfy_rts.controller] Manually updated espsomfy_rts data
2023-11-07 17:04:03.435 DEBUG (MainThread) [custom_components.espsomfy_rts.controller] Manually updated espsomfy_rts data
2023-11-07 17:04:03.637 DEBUG (MainThread) [custom_components.espsomfy_rts.controller] Manually updated espsomfy_rts data
2023-11-07 17:04:03.852 DEBUG (MainThread) [custom_components.espsomfy_rts.controller] Manually updated espsomfy_rts data
2023-11-07 17:04:04.092 DEBUG (MainThread) [custom_components.espsomfy_rts.controller] Manually updated espsomfy_rts data
2023-11-07 17:04:04.275 DEBUG (MainThread) [custom_components.espsomfy_rts.controller] Manually updated espsomfy_rts data
2023-11-07 17:04:04.485 DEBUG (MainThread) [custom_components.espsomfy_rts.controller] Manually updated espsomfy_rts data
2023-11-07 17:04:04.713 DEBUG (MainThread) [custom_components.espsomfy_rts.controller] Manually updated espsomfy_rts data
2023-11-07 17:04:04.909 DEBUG (MainThread) [custom_components.espsomfy_rts.controller] Manually updated espsomfy_rts data
2023-11-07 17:04:05.141 DEBUG (MainThread) [custom_components.espsomfy_rts.controller] Manually updated espsomfy_rts data
2023-11-07 17:04:05.338 DEBUG (MainThread) [custom_components.espsomfy_rts.controller] Manually updated espsomfy_rts data
2023-11-07 17:04:05.547 DEBUG (MainThread) [custom_components.espsomfy_rts.controller] Manually updated espsomfy_rts data
2023-11-07 17:04:05.762 DEBUG (MainThread) [custom_components.espsomfy_rts.controller] Manually updated espsomfy_rts data
2023-11-07 17:04:05.969 DEBUG (MainThread) [custom_components.espsomfy_rts.controller] Manually updated espsomfy_rts data
2023-11-07 17:04:06.032 ERROR (MainThread) [homeassistant.components.braviatv.coordinator] Command error:
2023-11-07 17:04:06.188 DEBUG (MainThread) [custom_components.espsomfy_rts.controller] Manually updated espsomfy_rts data
2023-11-07 17:04:06.393 DEBUG (MainThread) [custom_components.espsomfy_rts.controller] Manually updated espsomfy_rts data
2023-11-07 17:04:06.606 DEBUG (MainThread) [custom_components.espsomfy_rts.controller] Manually updated espsomfy_rts data
2023-11-07 17:04:06.828 DEBUG (MainThread) [custom_components.espsomfy_rts.controller] Manually updated espsomfy_rts data
2023-11-07 17:04:07.033 DEBUG (MainThread) [custom_components.espsomfy_rts.controller] Manually updated espsomfy_rts data
2023-11-07 17:04:07.246 DEBUG (MainThread) [custom_components.espsomfy_rts.controller] Manually updated espsomfy_rts data
2023-11-07 17:04:07.454 DEBUG (MainThread) [custom_components.espsomfy_rts.controller] Manually updated espsomfy_rts data
2023-11-07 17:04:07.673 DEBUG (MainThread) [custom_components.espsomfy_rts.controller] Manually updated espsomfy_rts data
2023-11-07 17:04:07.880 DEBUG (MainThread) [custom_components.espsomfy_rts.controller] Manually updated espsomfy_rts data
2023-11-07 17:04:08.094 DEBUG (MainThread) [custom_components.espsomfy_rts.controller] Manually updated espsomfy_rts data
2023-11-07 17:04:08.303 DEBUG (MainThread) [custom_components.espsomfy_rts.controller] Manually updated espsomfy_rts data
2023-11-07 17:04:08.520 DEBUG (MainThread) [custom_components.espsomfy_rts.controller] Manually updated espsomfy_rts data

And heres the latest stuff it's done:

Yeah that's not much help other than it is receiving the socket information to update the state.  I assume the shade was moving during that period.

Nope, it was stationary and stayed open the whole time. This was me trying to run it via the script

Did it move in the ESPSomfy RTS UI?

Here is a video of me running the script, its popup in the UI, an the ESPSomfy RTS UI.
Notes:

The first two times I run close via the script and even thought the UI in HA and in ESPSomfy RTS both show it closing it is not.
The third time I tap the close button on the middle screen (which is the HA UI) and it does close.

Oh you need to go to the virtual remote and send the sensor command to clear the windy condition.  The warning symbol indicates that it is windy and will make the shade operate to protect the shade.

Gotcha! I appreciate that, couldn't figure out what it was 😅
The same issue persists once thats cleared, but yeah, good to know!

It will exist for about 40 minutes.

wanted to resurface this with answers in line.  I’m dying to use this integration and get rid of mylink once and for all.  If I can just get the shades to move when triggered from automation or script we will be golden.

I just realized that I do not have a backup from you. I have one from @hyperfive but not yours.
Also, lets restate the issue since I see in the video the response sent over the socket where it emitted the command for down out of the radio when the automation is triggered.

Is this a mains or battery powered motor?

battery

Does the motor move reliably and correctly when you press up, down, and my from the ESPSomfy RTS UI?

yes it works perfectly

Does the motor move reliably and correctly when you press up, down, and stop on the HA entity?

yes it works perfectly

Is there any other hub, link, or integration connected to the motor?

yes the mylink is still connected. I had to leave it in place to keep the buttons working in the house.  I tried removing the integration and unplugging the device with no luck

Please supply a backup file and click the reboot button on ESPSomfy RTS. Let's make sure that windy condition was actually cleared. When one of these sensors exist it sends that frame repeatedly after the wind condition clears. Go into the virtual remote, select the motor from the dropdown, ensure the checkboxes are not checked, then press the Sensor button about 10 times at a 1 second interval.

For obvious reasons the transceiver cannot talk to more than one motor at a time.  It is only one radio and even if you had more than one radio the signal would be clobbered by each of the radios talking at the same time.  If you have your automation to run in parallel then this is a problem and you should not do this when triggering the device.  HA will simply call each of the services without waiting for the last one to finish sending on the radio.
For the device activation on the same device do not set them to be parallel as HA does not honor the await on the call to the device before sending the next one.  It will not wait for the movement to finish it only waits until it has sent all the bits it needs to send to the motor ~170ms.

I'm only doing this on one shade at a time.  It's a single shade button for a single room :(  I just tried it again after updating firmware and it still doesn't work from automations / scripts.  works perfectly from the ESPSomfy UI / Homeassistant Lovelace but will not work from being called as a service / automation / script.
I would be willing to pay for this to be fixed.  Please let me know anything I can possibly do to get this resolved.
Thanks
Dan

@hyperfive I have to be missing something here.  The other user here had something understandable as the wind protection was turned on from the virtual remote.  This does not allow the motor to close until the windy condition is cleared or the command is repeated within the cooling off time for the motor.
However, in your case I installed you backup, created a time trigger to close the bedroom shade and the shade obeyed the command by sending the appropriate radio signals to close the bedroom shade.  Here is what I set up but perhaps I am looking in the wrong place or I don't have a clear understanding of what is going on.  At exactly 9:53 the bedroom shade closed and the signal was picked up by all the other receivers on my network.

I just happened to stumble on this issue, but I think I might have another case of it. I had assumed it was because the one blind I have setup is the furthest from the device (about 40-50 feet as the crow flies, but like 4-5 interior walls in the way). That blind has always had troubles due to how far it is from the devices (the ESPSomfy-RTS is supposed to replace a Bond Bridge right next to it).
In any case, the symptoms seem similar in that it works from the ESPSomfy-RTS/Homeassistant UI, but doesn't work from the automations. I'll try setting up some of the other blinds in the house on ESPSomfy-RTS and check back when I get a minute.

@hyperfive I have to be missing something here. The other user here had something understandable as the wind protection was turned on from the virtual remote. This does not allow the motor to close until the windy condition is cleared or the command is repeated within the cooling off time for the motor.
However, in your case I installed you backup, created a time trigger to close the bedroom shade and the shade obeyed the command by sending the appropriate radio signals to close the bedroom shade. Here is what I set up but perhaps I am looking in the wrong place or I don't have a clear understanding of what is going on. At exactly 9:53 the bedroom shade closed and the signal was picked up by all the other receivers on my network.

All signs point to it should be working.  I’ve tried everything on multiple blinds and it has the same response.
Everything shows that it’s functioning except the blind doesn’t receive the command.
If we can do a FaceTime or screen share for 10 minutes I can show you everything in real time including logs.  As well as everything I tried to fix it.
To confirm I will pay you for you time.  I want to contribute to this incredible project.  All I need to do is get it to work from my keypads around my house.

I just happened to stumble on this issue, but I think I might have another case of it. I had assumed it was because the one blind I have setup is the furthest from the device (about 40-50 feet as the crow flies, but like 4-5 interior walls in the way). That blind has always had troubles due to how far it is from the devices (the ESPSomfy-RTS is supposed to replace a Bond Bridge right next to it).
In any case, the symptoms seem similar in that it works from the ESPSomfy-RTS/Homeassistant UI, but doesn't work from the automations. I'll try setting up some of the other blinds in the house on ESPSomfy-RTS and check back when I get a minute.

Thank you, Please do!  I have tried everything to resolve this and I’m sure it’s something simple.

Have any of you tried the simple case that I created above where the service is not called from another script?  It is odd that when I create this automation from the HA UI it uses UUID for the device and entity ids.
alias: New Automation
description: ""
trigger:
  - platform: time
    at: "09:53:00"
condition: []
action:
  - device_id: 8dfd516b6dd1e8fec2dc29da68673e1b
    domain: cover
    entity_id: abc4b5b8a2bb7a2cff4d5ea2f70f33e0
    type: close
mode: single

Have any of you tried the simple case that I created above where the service is not called from another script?

I tried both ways. Neither made a difference.

It is odd that when I create this automation from the HA UI it uses UUID for the device and entity ids.
alias: New Automation
description: ""
trigger:
  - platform: time
    at: "09:53:00"
condition: []
action:
  - device_id: 8dfd516b6dd1e8fec2dc29da68673e1b
    domain: cover
    entity_id: abc4b5b8a2bb7a2cff4d5ea2f70f33e0
    type: close
mode: single

This example, however, might have been the thing I was missing. I was using the "Call service" action. The automations didn't work with the "Call service" action. Seeing that YAML example above, I switch it to "Device" action. And now the automation seems to work.
in YAML, the diff was something like:
  alias: New Automation
  description: ""
  trigger:
    - platform: time
      at: "09:53:00"
  condition: []
  action:
-   - service: cover.set_cover_tilt_position
-     data:
-       tilt_position: 50
-     target:
-       device_id: 01e73960c23837dbede25c376410b9ad
+   - device_id: 836b9207cb6035b4d6288dd174bb97bf
+     domain: cover
+     entity_id: 013b65d62424e3808c7b2b28753a3713
+     type: set_tilt_position
+     position: 50
  mode: single

The device_id changed in this diff. Maybe that was the whole problem (using the incorrect device). But, it was the same behavior whether I used the Area with the blind, the Device of the blind, or the Entity of the blind.
Perhaps said in a different way that might be clearer to others, the change that got things to work for me was moving from calling a service on the cover.<whatever> to using the ESPSomfy RTS device and selecting the appropriate blind. I'm not sure why or how it's different, but this has worked in my limited testing so far. I'll try to update after living with it for a while.

Just setup four more blinds. So far it seems okay. I'll let it go for a few days, and check back.

Hi, so I tested this and it works :)  It is still not working from the Lutron Pico switches but I will go and attempt to identify why this isn't working.  Will post back results shortly.
Do you happen to know what the issue is why they are not working from either the esp somfy custom servicer or the cover open / close built in service?
Here is the code that I used that worked
`alias: Debug ESP Somfy Shade
description: ""
trigger:

platform: time
at: "17:45:00"
condition: []
action:
device_id: 331990c4581d85b6915d1ff618d59e2f
domain: cover
entity_id: f7c89277194b705c6c6edebb7ac6bfe2
type: open
mode: single
`

The issue for this is simple now that you figured it out.  While the service exists on the device, the entity is always the target.  There is no such thing as open or closed on the device since there are many entities on that device it needs to know which one.
While it is understandable the services are attached to the hub (aka Device) and the targets are always the entity in the hub model.

Unfortunately it’s not working except from the time trigger.  It seems to be something the way the integration is being triggered. There is definitely something unusual with your specific driver as I have hundreds of devices and automations and I’ve never had this issue.
Here is an example of log event of what isn’t working.  It shows in the rts ui that it works but the shade doesn’t move.
Bedroom Shade RTS  is opening triggered by automation Pico - Bedroom Shade  triggered by event 'lutron_caseta_button_event'

I didn't get the attachment.  Perhaps you forgot to include it.   Anyhow, I will try to replicate this by triggering from another event.  To be certain, you are not calling any of the set_current* services as these are designed to not move the motor.   I am not that well versed in the automations side of HA and I set the services up using the half-documented services.yml example.   It was a trial with lots of errors.

Can I get the yml for the automation Pico - Bedroom Shade.  Messed around with triggering based upon the state of other items but had success triggering the close_shade and open_shade services and device commands with everything I did.  We have to be missing something here.
Unfortunately, there are multiple issues being discussed in this thread.  So far we have the following.

One user had the windy override set on their shade.  This of course (depending on the motor function) raises the lift of the shade no matter what.  It also requires sending the command more than once in a period to get the motor to respond (override)
Another user was calling the service without specifying the entity.  This will not work as the device does not have an implementation of the services.  Odd that HA allowed that to be configured but I suspect there is some generic implementation on the base cover device because it is not always a hub implementation.
Then there is your case where it almost appears that the set_current_position service is being called.  In this instance the expectation is to change the position in ESPSomfy RTS without engaging the radio.  This is for things like gate limits or locks where the state is changed based upon an endstop device as well as timing.  Endstop commands will also be received when a wind or sun sensor is linked to the motor.

I think I need to try to set up your sequence with a generic device since I do not have a pico to try it with.  I have tried it by calling the service from the devtools and triggering it from another device and it worked fine.

I am closing this for now.  There have been a lot of updates since this was opened some of them focused on the services.  If this is still an issue lets start over with a new issue.

Hi, I hope this might help others. I also had issue only if using an automation triggered by Pico Remote. Every other Trigger were working fine.
I simply add a 500ms delay before calling the service to open/close the shade and now everything seems to work fine. Maybe they are on similar RF frequency that might cause interference.

The pico does transmit in the 433 range.  This can make the motor receiver wait for inter frame silence.  Another way to combat this is to add a repeat command for the ESPSomfy shade definition.


Add conversion for uncurried effect functions

I was gonna add assert testing for this but I ran into #91 for that specific package.

Blocked by #116 again. Since I discovered the bug while working on this PR, I'll just add it here as well 😅

Otherwise, the code looks good.


[nuspell] Update to 5.1.0

Describe the pull request

What does your PR fix?
Updates nuspell to 5.1.0

Which triplets are supported/not supported? Have you updated the CI baseline?
As before, Yes

Does your PR follow the maintainer guide?

Yes

Thanks for the update!


Blazor Server EF Core guidance and sample

[EDIT by guardrex to add the 'fixes']
Fixes #16558
This PR provides a sample application and guidance for using EF Core in Blazor Server apps.

Pinging for review ...

@JeremyLikness ... Recommend hitting the Resolve conversation buttons ☝ for the ones that are done. After any remaining concerns are resolved and closed, I'll take a look at the text for the grammar+style nits (we have a lot of little repo rules here).

@danroth27 @SteveSandersonMS Can you also help review this?

Any updates?

I'm ready when they are. After engineering signoff, I'll make quick grammar+style pass, ping u to check those updates, then we can get this merged.

I've pinged @danroth27 on this and he's given a thumbs up, so I imagine he's going to help here.

Ok @danroth27 a few changes, ready for review. I hope we're close!

simplified guidance to recommend the factory
changed the project to use SQLite so it can run anywhere
created a 5.0 sample
changed the text to be version specific

Jeremy

@guardrex  who should I ping to finish this?

@danroth27 (for approval of the last round of updates) and @SteveSandersonMS (to answer the question ☝)
I'll make my pass on it, then @JeremyLikness can make sure that I didn't break anything.

@JeremyLikness I'll get on this Friday morning for a quick UE pass ... grammar nits and bits. I'll ping you for a final look before merging tomorrow.

@JeremyLikness ...

We use "whole-topic versioning" by convention, so I made that update here. You'll see two versions of the whole topic now on the PR. This approach can be a bit of a pain at times when a change needs to be made in multiple spots, but it's dead easy to make mods for a single version, add a new version, and drop versions when a framework version goes out of support.
We don't place (many) remarks in samples due to a localization constraint ... code comments don't get translated (yet). I'll open a follow-up issue to deal with that later.
Some of these updates are merely suggestions, but it's so much faster for me to float them on the commit than to place a gazillion GH suggestions on the PR. You can reverse something that you feel was better as long as it doesn't break one of the repo conventions and bring down the wrath of the :pray: doc server gods :pray: on us. :smile:
We usually link and describe the sample app earlier. Readers may pull it down immediately and then refer to it as they read the topic. I moved it up. I left it in a section has you had it.
I'll work Drop EF Core content from the Blazor DI topic (dotnet/AspNetCore.Docs #19051) as soon as we merge this.

Finally, there are other review requests without response. My inclination is to go ahead and get this merged. Do you want to re-ping others and wait for them to respond? :ear:
I won't merge this until I've heard back that you're ready to go.

@guardrex I've addressed all of the comments I'm aware of. If there are additional I say let's get this published and we can update it as needed. Thanks!

I agree. This one needs to be surfaced asap. I'll shoot it in now, merge to live, and inspect it on the live site just to make sure that it's all good. I'll work that other issue sometime today.


Hover buttons are incorrect size when navigation closed

Microsoft PowerToys version
0.45.0
Running as admin

[X] Yes

Area(s) with issue?
Settings
Steps to reproduce
Close the navigation in PowerToys Settings.
Hover over the buttons for each PowerToy.
✔ Expected Behavior
The button widths for the PowerToys in the Navigation should match the hamburger button width when the navigation is closed.
❌ Actual Behavior
The button widths are not correct - they are shorter than the icon.

Other Software
No response

Duplicate of #13002


one crashe in ippserver when processing Cancel-Jobs operation

Hi, I have found that this crash has not been fixed correctly and is still present in latest github version. issues/190
The following is the  poc and reproduction.
use nc to replay:nc <IP_ADDRESS> 316 < ./poc.raw
poc.zip

Technically a config problem, but added a check:
[master 72aba98] Fix crash bug (Issue #273)


Reduce minimum required dart version

The package current needs flutter 3.24.3 which is latest at the moment of writing, but the plugin doesn't use any dart or flutter feature that it needs 3.24.3 as the minimum version. Same goes for the saf_util package. Can it be lowered so we can use it in our project?

@Chiggy-Playz
The pubspec.yaml has the following version requirements:
environment:
  sdk: ">=2.18.0 <4.0.0"
  flutter: ">=2.5.0"

Where did you find the flutter 3.24.3 requirement?

My bad, I was supposed to create this issue in the saf_util repository, which has sdk: ^3.5.3. I got this when I ran flutter pub get:
Resolving dependencies...
The current Dart SDK version is 3.5.1.

Because mime_flutter depends on saf_util >=0.0.2 which requires SDK version >=3.5.3 <4.0.0, version solving failed.

You can try the following suggestion to make the pubspec resolve:
* Try using the Flutter SDK version: 3.24.3. *

My flutter version:
Flutter 3.24.1 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 5874a72aa4 (8 weeks ago) • 2024-08-20 16:46:00 -0500
Engine • revision c9b9d5780d
Tools • Dart 3.5.1 • DevTools 2.37.2

I'm closing this issue and opening up a new one saf_util, sorry.


fix(java): detect unshimmed sdkman

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

16 of 16 (100.0%)  changed or added relevant lines in 2 files are covered.
66 unchanged lines in 5 files lost coverage.
Overall coverage decreased (-5.05%) to 72.8%

Files with Coverage Reduction
New Missed Lines
%

tool.js
3
80.53%

node.js
7
66.07%

golang.js
9
58.82%

python.js
21
14.71%

java.js
26
63.64%

Totals

Change from base Build<PHONE_NUMBER>:
-5.05%

Covered Lines:
393

Relevant Lines:
515

💛  - Coveralls


command line options now use OsStrings

This is a fix for a change introduced by https://github.com/gtk-rs/gio/commit/efc6c902b6198c02282254dbe2ea891311b70c23.
The solution is not too clean, but there's not a lot we can do as long as https://github.com/rust-lang/rust/issues/49802 hasn't landed.

Thanks, go ahead and merge this :)


adding smart cities notebook

In this notebook, developers will find different concepts around "clients" (ProjectClient, ImageClient, VideoClient, ModelClient, etc). Additionally, we will show them how they can trigger multiple training processes for standard and quantized models, and also show the capability to select the preferred model and use it in the local deployment.
Notes:
1- I am still facing an issue with the selection process, since I cannot get the FP32 model I cannot deploy it in multiple HW.
2- For running the inference part, please use the video in this link, I am still having some problems saving that in my repo.
parking-lot-squence_time.mp4: https://drive.google.com/file/d/1Z2uQ63wkge8iw7tgGStDG6FvEyhi4dTS/view?usp=sharing
@ljcornel Thanks for your support in reviewing this notebook.

As a workaround for the missing FP32 deployment you can request the training job with enable_pot_optimization=False
training_client.train_task(algorithm=algorithm, task=task, enable_pot_optimization=False
Then when the training is complete use the API endpoint for requesting an optimisation job like this...
project_client = ProjectClient(session=geti.session, workspace_id=geti.workspace_id)
project = project_client.get_project_by_name(project_name=project_name)

model_client = ModelClient(session=geti.session, workspace_id=geti.workspace_id, project=project)

#all groups = all algos
model_groups = model_client.get_all_model_groups()

for model_group in model_groups:
    model = model_client._get_model_detail(model_group.id, model_group.models[0].id) #[0] to get the latest version
    url = f'workspaces/{geti.workspace_id}/projects/{project.id}/model_groups/{model_group.id}/models/{model.id}/optimize'
    data = dict()
    data['enable_pot_optimization'] = True
    data['enable_nncf_optimization'] = False
    reply = model_client.session.get_rest_response(url, 'POST', 'json', data=data)
    print(reply)

Closed in favour of pr #304


More verbose output at setup

The current output of the setup is as follows:
Run ilammy/msvc-dev-cmd@v1
  with:
    sdk: 8.1
    toolset: 14.11
    arch: x64
Configured Developer Command Prompt

My compiler has following output:
 C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Platforms\Win32\PlatformToolsets\v140\Toolset.targets(34,5): error MSB8036: The Windows SDK version 8.1 was not found. Install the required version of Windows SDK or change the SDK version in the project property pages or by right-clicking the solution and selecting "Retarget solution". [D:\a\clink\clink\.build\vs2015\clink_app_common.vcxproj]

Not sure how to proceed here. The full GitHub action workflow is available at https://github.com/koppor/clink/pull/2.

Maybe, it's because of some Visual Studio 2015 issue (refs #7). With VS 2019, it works:
      - uses: ilammy/msvc-dev-cmd@v1
        with:
          sdk: "8.1"
          toolset: "14.16"

Hm... First of all, for avoidance of doubt, this action does not install Visual Studio or toolchains, it only locates the installed ones. If the combination or SDK/toolset/architecture is not available on the runner then it can't be enabled using msvc-dev-cmd.
Windows runners provided by GitHub do not include VS2015. Only VS2019 (in windows-2019 aka windows-latest) and VS2017 (in windows-2016) are currently available. If you need older versions then you'd need to either use your own runners where it is preinstalled (it seems to be kinda popular), or somehow install VS or missing components during the build.

Hm... First of all, for avoidance of doubt, this action does not install Visual Studio or toolchains, it only locates the installed ones.

Maybe the determined location could be output. Thus, one could (indirectly) learn that something is not available.

Okay, this finally has been published in v1.5.0 (also available as the default v1) 🎉


Zod literal message translation error

Hi,
I'm trying to use zod, zod-i18n, react and formik, but when having  object like
...
fieldName: z.literal("nie"),
...

The error adds " before and after the literal value.
In case of english it results in Invalid literal value, expected "nie"
Same when I checked in polish, and spanish.

https://www.i18next.com/translation-function/interpolation#unescape
Put - to the variable portion of the translation data.


The "waiting for green" bot doesn't work on the plugins repo (doesn't recognise "submit-queue" check)

See e.g. https://github.com/flutter/plugins/pull/3665#issuecomment-791614547.

The "waiting for green" won't submit a PR that have failing checks and in this case "submit-queue" is failing.
According to the submit-queue button the tree is closed because https://github.com/flutter/plugins/runs/2036525291 is failing "analyze:stable" test.
Is this working as intended?

"submit-queue" on the plugins repo is like "flutter-build" on the framework repo.

I'm not sure I fully understand what the problem is.  "waiting for green" didn't submit the PR because submit-queue is failing which seems the correct behavior.
Is this bug about the submit-queue not being updated or maybe the githubbot removing the label?

When I do this in flutter/flutter, if the tree is red (as shown by flutter-build) the bot just waits until it's green, and then lands it. That's more or less the only reason to have the label in the first place as far as I can tell. :-)
On flutter/plugins, the bot doesn't seem to wait until the tree is green (as shown by submit-queue), it just says "the tree wasn't green" and then gives up. But if I have to wait until the tree is green to set the label, I might as well just merge it myself. :-)

Thanks for the explanation, now I get it.
The following list is missing the "submit-queue" check:
https://cs.opensource.google/flutter/cocoon/+/master:app_dart/lib/src/request_handlers/check_for_waiting_pull_requests.dart;l=253?q=waiting&ss=flutter%2Fcocoon

PR ready for review: https://github.com/flutter/cocoon/pull/1104
If you are not in a rush to land your PR I'd like to use it to test the fix. What do you think?

SGTM

https://github.com/flutter/plugins/pull/3665 is the PR where i saw this, FWIW.

The PR was merged correctly but the submit-queue check was already green. I'll close the bug for now but please reopen if you find the problem again.


Add tuple.mul

This allows for (1, 2) * 3. The python documentation states that multiplying by a negative number should result in an empty sequence (https://docs.python.org/3.7/library/stdtypes.html#common-sequence-operations, Note 2). 3 * (1, 2) doesn't seem to work as the reverse operators don't seem to work at the moment(even after adding __rmul__ method).

Super!


Not a toy OS anymore

With the release of the release candidate it would seems that this repository has been somewhat quiet, but the fact is that there has been a lot of progress lately on other areas of NodeOS (and I'm not talking only about the new 700 stargazers or the repercussion on Twitter of the project and the publication of several articles on Internet... ;-) ) like my bachelor thesis or the rewrite of nsh (still in progress, but when I get to rid the stdin problems it will be really awesome :-D ) and specially thanks to the work of @lite20, @Coretool and @formula1 here on the issues but also on projects like noGUI (keep rocking guys!!! ;-) ).
But last February 29th (what a charismatic date ;-) ) something "magic" happened, that by the way while I'm writting this there are some spies asking me for details ;-)
The suggestion of @Xe about using an independent C-based init process didn't worked as expected but at least it helped to have an init process that shutdown gracefully the system when no more processes are running.
But I was thinking: Node.js can run on regular Linux systems, so something happens between starting the system init and executing Node.js that allow latest ones to run correctly that was not needed before. Maybe the kernel filesystems like /proc or more probably /sys (that I was not using before)? So trying to isolate it I made a copy of my Ubuntu initrd.img file and included it Node.js and its needed libraries. Later booted my computer using it and disabling my hard disk to force to keep into the initram and there I was able to run Node.js. Cool! Time to clean the init script. Mount root partition, NFS, parsing Linux command line... at the end I get only three suspects: the mounting of /sys, /proc and /dev filesystems, of course.
But I was afraid. What if I was wrong? What if by removing them Node.js still runs on the Ubuntu initram? Could be the problem be somewhere else? And ironically, that would have been the time I most enjoyed something doesn't work :-P After checking it found the culprit: /dev, the system devices filesystem. WTF? What could have changed on v8 that makes uses of the system devices that's missing and makes it consume the full CPU? Anyway I didn't wanted to fix the Ubuntu initram but instead to make NodeOS to boot with newer versions by mounting /dev before executing Node.js, so now that I have an independent init process that would be a good candidate to do it. Just a couple of lines, and check that everything was working. Ok, let's go for the real deal. Use Node.js 0.12.10 (one of the closests to the 0.11.14 one used by NodeOS) as I was using on my tests with the Ubuntu initram? No, let's go crazy, run before walk, fail with a lot of noise and use the latest 4.3.1 stable. And after 30 minutes compiling... magic:

NodeOS barebones layer. Using Node.js 4.3.1. For real
I don't have words to explain that moment beyond the fact my cat run scaried and my parents though I got insane :-P One year and a half looking back for a bug... that would turn mad to anybody :-P
After the exctatic moment and some well gained nice tea drinking (not pun intended, I still don't sell hats :-P ), I needed to update all the NodeOS dependencies that use a compiled module due to the fact I was using outdated ones that were compatible with Node.js 0.11.14. Really a lot (8 of them just only on the NodeOS organization...). It was greatly useful the previous work done by @heavyk (since I've never used nan before), and after two days now we have NodeOS fully working with Node.js 4.3.1 and ready for the upcoming ones :-)
There are not prebuild images yet because the build process has got to be really huge and fat and the CI server is not capable to manage so much downloads and compiling steps. I'm thinking about moving to another more capable alternative, but there are also son discussions and pull-requests to remove some functionality from the build process and move it to another independent projects that could more easily be tested and generated and also get it faster to generate NodeOS itself by using prebuild binaries.
Anyway, the code is already available in master branch, and whatever direction the project carry on from now, keep this sentence in your mind: NodeOS is not a toy OS anymore, and it's very capable to be used on production environments for real use cases from now on. F*ck yeah B-)

YEAAAH! Freedom! I've been waiting for this day for so long. Looking back on all the investigation and testing we've done, I've only been here for a short while but it's been energizing. Looking forward to the future of the project!
Long live Node! Long live JS!

there are also son discussions and pull-requests to remove some functionality from the build process

So those were the commits you wanted to make first! I'll go ahead and make the adjustments and update that PR. I've taken the npm name 'qemu' for the package.

So those were the commits you wanted to make first!

Yes, that's it! :-D I wanted to publish this first since you were removing QEmu from the build process and I wanted to have something working without having risking experiments on it. Now we can safely remove it and work on create the new qemu npm package :-)

Yeah ! You/We/Who ever did it ! ;-)

Can someone please update the docker image so we can see that least version by running:
sudo docker run -t -i nodeos/nodeos

:-)

Can someone please update the docker image so we can see that least version by running:
sudo docker run -t -i nodeos/nodeos
:-)

I could give it a try, but the fact is that I think Docker still don't support OverlayFS and FUSE filesystems inside containers, so since they are a fundamental part of NodeOS probably you would only be able to check out barebones and maybe initramfs layers on Docker instead of a full-fledged system... I would recommend you to generate yourself a QEmu image (at least until we got them working again).

Yeah ! You/We/Who ever did it ! ;-)

Yeah, all of you have helped me a lot, a sincere thank you :-) If it's not because you have been there, probably a long time ago I would have give it up and start working on another thing :-P

That was an exciting read :)

That was an exciting read :)

I'm happy you liked it :-)

Congrats! excited to see all the progress NodeOS is making.

And... well, we have just been published on Barrapunto, spanish version of Slashdot and the most important tech news site ^^

And... well, we have just been published on Barrapunto, spanish version of Slashdot and the most important tech news site ^^

Duuude! Fantastic!

\o/

@nooitaf I agree :stuck_out_tongue:


LetsEncryptChallengeApprovalMiddleware not processing

MagicPrefix has an ending slash, which results in the expression evaluating to false.
https://github.com/ffMathy/FluffySpoon.AspNet.LetsEncrypt/issues/28

Thank you so much for this! It'll be released in an hour or so (maybe 2 hours before it shows up on NuGet).


String dance

Right now, “Reset search after” is crippling the training/learning process. (And it’s enabled by default, so this probably affects a lot of people.) Possible solutions:

Keep the matched string until the interface is dismissed or the selection is explicitly cleared
Rip out the “Reset search after” feature entirely
Add a yet another string (a 4th?) to keep track of the abbreviation until the interface is dismissed

I’ve attempted 1. Thoughts?
The first commit fixes a bug I ran across while working on this. (You couldn’t clear the selection when using the comma trick unless the current object was in the collection.) Seemed like the best solution.
Fixes #2301

Sorry, the code changes doesn't make that clear to me, how is it crippling it ?

It wipes the abbreviation from existence before you have a chance to do anything that would trigger saveMnemonic.

Sorry, I still don't get it. Isn't wiping the abbreviation the point of resetting the search ?

Hard to say for sure, but I think there’s a reason for three or more strings to track what the user typed. I think the point of resetting the search is to allow you to start a new search, and that still works (by clearing searchString).
What it doesn’t do (with my changes) is clear the matchedString. So if the reset timer clears things, but the user hasn’t done anything yet, they still have an opportunity to set defaults in the results, and saveMnemonic still has enough information to do its job if they run an action or something.

Ok, I think I understand. The reset timer can fire while the user is doing nothing, which will clear the search string without deselecting the found object. Then, if you tried to manipulate mnemonics for that object, you'd have no way to know what was typed in the first place, hence the crippling.
I'm not sure how to go about it (it just makes the learning process be execution-only, albeit if you pause for too long you would get that behavior anyway). I'd favor 2, actually, because User Input is King™, and the delete key now should make it explicit.
Also, I'm wondering : what did we change to cause that behavior to happen ? Reset Search has been around for quite some time, and I can't remember anything recent that could have cause it to go so badly...

Force-pushed a much simpler fix. Thanks.
This reintroduces the potentially confusing behavior where the search can be reset via timer or by tabbing to another pane, but there’s no visual indication. I’ll take that over losing almost all mnemonics.
And for what it’s worth @tiennou, I have no objection to ripping out the reset timer but I want to get a fix out ASAP. I’ll ask about it in Slack.


Add an option to change default group ownership of the '/var/run/memcached' directory and of the '/var/run/memcached/memcached.sock' file (Feature request)

Please consider adding an option in the memcached.conf configuration file, to allow us to change the default group ownership of the /var/run/memcached directory and of the /var/run/memcached/memcached.sock file created by Memcached when configured to use Unix sockets. I know that for security reasons, the default ownership which is memcache:memcache is considered the best, but there are users that use Memcached for WordPress object caching, and the best method in this case is to configure Memcached to use Unix sockets instead of TCP connections on port 11211. It works much faster with Unix sockets. Yet, in this case, the web server user, www-data has to be the group owner of the /var/run/memcached directory and has to have read and write access to the /var/run/memcached/memcached.sock file, otherwise caching won't work. So, please consider adding an option in the memcached.conf file to allow administrators to change the default group ownership for the mentioned directory and socket file. Thank you!
For the moment I manually changed ownership and permissions like this:
chown -R memcache:www-data /var/run/memcached
chmod 2755 /var/run/memcached

Also, in the /etc/memcached.conf file I added the -a 770 option to make Memcached create the socket file with 770 permissions. I also had to create a script to change the ownership and permissions after startup, because after reboot they were changed back to default.

Hey,
memcached itself can't do much with this, since it's creating the file after it drops root privileges, slightly dangerous otherwise.
-a, --unix-mask=<mask>    access mask for UNIX socket, in octal (default: 700)

you could set the mask to let it be world-writeable rather than www-data. not great for a shared service but, probably not shared in this instance?
or you can add memcache to www-data's group list?

Thank you for your reply. Ok, if Memcached is creating the socket file after dropping root privileges it means it can't be configured to create the file with www-data as the group owner. I'll keep using the method that I described above to set the right ownership for the /var/run/memcached directory and for the /var/run/memcached/memcached.sock file.
Thank you for developing and maintainig Memcached. Keep up the good work.
It's a pity that many people use Redis for object caching thinking that if Redis is newer, it means it's better. Unfortunately, in the tech world like anywhere else people confuse 'newer' with 'better'. In my experience Memcached is much better than Redis because it's more lightweight, faster and multithreaded.

Thank you for your reply. Ok, if Memcached is creating the socket file after dropping root privileges it means it can't be configured to create the file with www-data as the group owner. I'll keep using the method that I described above to set the right ownership for the /var/run/memcached directory and for the /var/run/memcached/memcached.sock file.
Thank you for developing and maintainig Memcached. Keep up the good work.
It's a pity that many people use Redis for object caching thinking that if Redis is newer, it means it's better. Unfortunately, in the tech world like anywhere else people confuse 'newer' with 'better'. In my experience Memcached is much better than Redis because it's more lightweight, faster and multithreaded.


Device Tile presented as Switch Instead of Fan

Thx for the great plugin !
Since the recent Go To functionality update, the Roborock grouped tile is presented as a switch instead of a fan (which greatly helps to visualy differentiate it).
Is there a way to have them presented as a fan ?

Im experiencing the same issue!

Can confirm - service type is set to Fan. But it appears the tile is showing the status of presence on the dock rather than the fan.
i.e. the accessories are grouped with the presence set as the main item.

Really strange behaviour. Mine displays as as switch as well. For now the only fix I found was to show it as separate accessories -- though that might not be wat you want...

How did you show as seperate accessories?

Can you confirm v0.27.0 fixed these issues, please?

Seems to work for me (though it has been a fan since I needed to reinstall the plugin). Curious if this fixes the issue for other people.


Trigger prod bundle for v0.17.3

Issue #, if available:
Description of changes:
Trigger prod bundle for v0.17.3
Documentation added/planned (if applicable):
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/lgtm

/approve


operator project-quay (3.9.0-nightly.20230615)

Add 3.9.0-nightly.20230615 to community operators

/merge possible

/merge possible

/merge possible


Update Github UI on ok-to-test comment event

This will allow repository owner to make a PR ready to test by sending ok-to-test comment event and update Github UI accordingly when there is no matching Pipelinerun in .tekton directory.
SRVKP-4345

this code is security sensitive let's make sure to review this thoroughly


Is it possible to remove bootstrap dependency?

Is it possible to remove bootstrap dependency?

This is useless to me with bootstrap. Could we get some styling hooks so we can style without this dependency?

I've made Bootstrap optional in https://github.com/valor-software/ng2-select/pull/375 by adding inputs for overriding the Bootstrap css classes.


Increase signup's ticket expires at to 30 days

https://nhost.atlassian.net/browse/NHOST-612

@elitan

@elitan good to go?

Yes


Error:  Install fails when npm installing in folder name that contains a space

@FeelyChau
As the title says, error occurs when npm installing in a folder name that contains a space.
Here's the error leading up to it when folder name is test 1:
npm ERR! code 1
npm ERR! path /home/anon/Desktop/test 1/node_modules/@pipcook/boa
npm ERR! command failed
npm ERR! command sh -c /tmp/preinstall678932627.sh
npm ERR! sh "command -v rm"
npm ERR! /bin/rm
npm ERR! sh "command -v make"
npm ERR! /usr/bin/make
npm ERR! sh "command -v tar"
npm ERR! /bin/tar
npm ERR! sh "command -v wget"
npm ERR! /usr/bin/wget
npm ERR! make: Entering directory '/home/anon/Desktop/test 1/node_modules/@pipcook/boa/pybind11'
npm ERR! rm -rf "/home/anon/Desktop/test 1/node_modules/@pipcook/boa/pybind11/src"
npm ERR! mkdir -p "/home/anon/Desktop/test 1/node_modules/@pipcook/boa/pybind11/downloads"
npm ERR! [ -f "/home/anon/Desktop/test<EMAIL_ADDRESS>] || wget -O "/home/anon/Desktop/test<EMAIL_ADDRESS>https://github.com/pybind/pybind11/archive/v2.4.3.tar.gz
npm ERR! md5sum --quiet --check checksums
npm ERR! tar -C "/home/anon/Desktop/test 1/node_modules/@pipcook/boa/pybind11/downloads" -xf "/home/anon/Desktop/test<EMAIL_ADDRESS>npm ERR! mv "/home/anon/Desktop/test<EMAIL_ADDRESS>"/home/anon/Desktop/test 1/node_modules/@pipcook/boa/pybind11/src"
npm ERR! # apply patches
npm ERR! patch -u -b src/include/pybind11/pytypes.h -i patches/2.4.3-fix-object-destruct.patch
npm ERR! patching file src/include/pybind11/pytypes.h
npm ERR! rm -rf "/home/anon/Desktop/test 1/node_modules/@pipcook/boa/pybind11/src"
npm ERR! mkdir -p "/home/anon/Desktop/test 1/node_modules/@pipcook/boa/pybind11/downloads"
npm ERR! [ -f "/home/anon/Desktop/test<EMAIL_ADDRESS>] || wget -O "/home/anon/Desktop/test<EMAIL_ADDRESS>https://github.com/pybind/pybind11/archive/v2.4.3.tar.gz
npm ERR! md5sum --quiet --check checksums
npm ERR! tar -C "/home/anon/Desktop/test 1/node_modules/@pipcook/boa/pybind11/downloads" -xf "/home/anon/Desktop/test<EMAIL_ADDRESS>npm ERR! mv "/home/anon/Desktop/test<EMAIL_ADDRESS>"/home/anon/Desktop/test 1/node_modules/@pipcook/boa/pybind11/src"
npm ERR! # apply patches
npm ERR! patch -u -b src/include/pybind11/pytypes.h -i patches/2.4.3-fix-object-destruct.patch
npm ERR! patching file src/include/pybind11/pytypes.h
npm ERR! make: Leaving directory '/home/anon/Desktop/test 1/node_modules/@pipcook/boa/pybind11'
npm ERR! sh "curl https://repo.anaconda.com/miniconda/Miniconda3-<IP_ADDRESS>-Linux-x86_64.sh > Miniconda3-<IP_ADDRESS>-Linux-x86_64.sh"
npm ERR! sh "rm -rf /home/anon/Desktop/test<EMAIL_ADDRESS>npm ERR! sh "sh ./Miniconda3-<IP_ADDRESS>-Linux-x86_64.sh -f -b -p /home/anon/Desktop/test<EMAIL_ADDRESS>npm ERR! ERROR: did not recognize option<EMAIL_ADDRESS>please try -h

@yorkie @FeelyChau @NHibiki @steveoni
This is a breaking bug. Is this repo still maintained?

See what I have commented here: https://github.com/alibaba/pipcook/issues/958#issuecomment-1471994862:

Boa depends on the Miniconda3-<IP_ADDRESS> which doesn't support installing on a folder with spaces

I tried to fix the install scripting issue in Boa itself yesterday, but found out that finally miniconda also doesn't support installation directories with spaces, so possible solutions are as follows:

Upgrade the Miniconda to higher version which supports folder with spaces
Remove the spaces from your directory

Because the first solution involves the upgrade of dependencies, it will take a long time for us to upgrade and release, so I looked at your installation directory(/home/anon/Desktop/test 1/node_modules). As for your problem, the easiest way is to modify your directory.


Traefik reverse proxy

Hi,
Here is a sample conf for using your mailserver with traefik.
Regards,
z.

Thanks. I need some more time to test web security guidelines listed on :

https://www.hardenize.com/
https://www.ssllabs.com/ssltest
https://securityheaders.io
https://observatory.mozilla.org

with Traefik reverse proxy.
Wonderfall's boring-nginx had some security features that traefik did not have enabled by default.  I will look unrolled/secure, Traefik use this middleware to manage the web security layer.

What exactly do you need ?
Maybe I can help.

I can look this over during my upcoming break as well.

What exactly do you need ?

I will use Traefik not only for this docker image but also for a forum that I maintain in parallel. This forum need some specific frontend rules to determine how incoming requests are forwarded to the backend. I have to understand how everything works before to push this.
And I'll be on vacation for Christmas holidays.

Maybe I can help.

You can try to get a good score on the websites I mentioned above and share your configuration in this pull request 😃
Happy Christmas 🎅🎄


Draggable thumb goes off the view

Really appreciate the awesome work!!
The issue might be a corner case. Here is a gif of the issue.

It is understandable that, the draggable thumb is where user must be pressing and dragging. But the pan responder is set on the outer View, so it is very much possible to touch anywhere on the outer view and drag. This actually opens the gateway for the issue.
When the user start dragging from outside, the outBounds method will return true and prevents setting pan value inside onStartShouldSetPanResponderCapture. The outBounds call  inside onPanResponderMove also returns true but pageX and pageY has been changing the all way along.
Was wondering if there was any particular reason why the pan responder is set on the outer view, and not the image itself ?
Here is a reproducible demo if you would like to try.
Thanks!

Hello,
I am having same issue.

In order to get a full saturation color, you want to be able to hug the thumb to the outside of the image, putting the handler on the image means it stops responding toward the edge because your interaction has left the image.

Hello, I have the same issue
It seems like more you make it smaller, more the thumb is inaccurate
Am I doing something wrong?
<ColorWheel
    initialColor="#FFFFFF"
    onColorChange={color => console.log({color})}
    onColorChangeComplete={color => console.log({color})}
    style={{alignSelf:'center', width: Dimensions.get('window').width * 1}}
/>

ivantacca, are you using the github version or the npm version?, some issues have been fixed on github and are not on npm. Which should include this issue.

ivantacca, are you using the github version or the npm version?, some issues have been fixed on github and are not on npm. Which should include this issue.

I am using the PR made by RNTop
https://github.com/netbeast/react-native-color-wheel/blob/524050e4462fdf22dcd48727d545f7afe14c973a/ColorWheel.js
because the npm version gave me the Invariant Violation issue


adding witivio connector

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR has modified HISTORY.rst describing any customer-facing, functional changes. Note that this does not include changes only to help content. (see Modifying change log).

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: NicolasHumann sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


Update tested AGP versions

from 7.4.1 to 7.4.2
from 8.1.0-alpha05 to 8.1.0-alpha07

@bot-gradle test AST, AFT, APT

I've triggered the following builds for you:

AllSmokeTestsPullRequestFeedback build
AllFunctionalTestsPullRequestFeedback build
AllPerformanceTestsReadyForRelease build

@bot-gradle test and merge

Your PR is queued. See the queue page for details.

I've triggered a build for you.


Add Santanaraj Esguerra to Contributors List

@akiyamamio16, I’d urge you to continue contributing to other open source projects.
We also have a slack team to help/mentor people trying to contribute to open source projects.
You can join the team by going to https://firstcontributions.herokuapp.com


[Epic] Implement Cat List page

Cat List
We need to implement totally new page about cat as a service.
The API: https://cataas.com/

[x] Add new list item in main page
[ ] Once user clicks on the item redirect to CatList page
[ ] Cat List page should have list with all possible tags
[ ] Once user taps on tag we open new page where we show all cats within the tag.
[ ] If user taps on any cat we show the image with concrete tag, the request.

Technical Implementation
UI

[x] Create new files CatTagsListView and CatTagsListViewModel
[x] Add new list item in main page which will open empty CatTagsListView

CatTagsListView has the simple list of cat tags which must be fetched from https://cataas.com/api/tags. See section API for more details. Once user taps on any tag we need to open the detail page, so:

[ ] Create the CatTagsDetailView and CatTagsDetailViewModel
[ ] We are showing each each cat category as a separate section. Each section should contain: owner information and all tags within the category.
[ ] Tapping on tag we show the image with concrete tag

Models
DTOs

[ ] Create CatTagDetailDTO under Services/DTOs

struct CatTagDetailDTO: Codable {
    let id: String
    let tags: [String]
    let owner: String
    let createdAt: String
    let updatedAt: String

    enum CodingKeys: String, CodingKey {
        case id = "_id"
        case tags, owner, createdAt, updatedAt
    }
}

Business Models

[ ] Create new model named CatTagDetail under Services/BusinessModels. The model should have basic properties.

struct CatTagDetail {
  let owner: String?
  let tags: [String]
  let createdAt: String
  let updatedAt: String
}

API

[ ] Create CatListService in Network/Services folder
[ ] Create CatTagMapper under Network/Mappers
[ ] Create endpoint getCatTags() -> AnyPublisher<[String], Error> it should return the array of tags. The url: https://cataas.com/api/tags
[ ] Create endpoint getCatTagsDetail(tag: String) -> Future<CatTag, Error>. The url: https://cataas.com/api/cats?tags=cute
[ ] Whenever user taps on each cat details tag we need to use ImageLoader to load the image in the app

1st Sprint
1st PR

Create new files CatTagsListView and CatTagsListViewModel
Add new list item in main page which will open empty CatTagsListView

2nd PR

Create model CatTag with name property
Create array of models in viewmodel
Show this array in view

Sprint 2
Leftovers from previous sprint:

Rename CatTagDetail to CatTag

Pull Request 1 - Create service
You can always check RedditService for references.

Create CatListService file, we will need one protocol CatListServing and class CatListService. It can be in the same file.
Add function in CatListServing, func getCatTags() -> AnyPublisher<[CatTag], Error>
Define catTagApiURL constant which will have a value https://cataas.com/api/
Implement same function in CatListService 👇

func getCatTags() -> AnyPublisher<[CatTag], Error> {
    let request = Endpoint<[String]>(baseURL: catTagApiURL)
        .appendingPathParameter("tags")
        .usingDefaultParameters()

    return try! request
        .usingMethod(.GET)
        .build()
        .asFuture()
        .map {
             CatTag(name: $0)
        }
        .eraseToAnyPublisher()
}

Pull Request 2 - Show real cat tags

Add service property in viewmodel
Remove fake data from array of CatTag
Create function getCatTags() in viewmodel  and call CatListService's new function you have implemented above.
Check how RedditViewModel calls service function. You will need to change  receiveCompletion and receiveValue callbacks.

Pull Request 3 - Show loading and error states

Add new @Published properties in viewmodel: isLoading, hasError
Whenever getCatTags() is called we need to set isLoading to true
Whenever we receive the response (receiveCompletion or receiveValue is called) we need to set it back to false
Whenever error happens we need to set hasError to true, otherwise false.