[BUG]

Describe the bug
Floorplan preview in card configuration not working properly.
Everytime you edit a line, or even just press enter for a new blank line, another floorplan svg is added on the right in the preview until you cannot see what is going on.
It was working and I am pretty new to Home Assistant, I removed all other HACS packages but still have the problem.
My Yaml is generated from a python script because of the many duplicates.
To Reproduce
Steps to reproduce the behavior:

Go to code editor of floorplan card
place cursor at the end of yaml code
press enter
for each press, another svg picture gets addded

Expected behavior
Only one floorplan svg is show and mimics the code
Screenshots

Desktop (please complete the following information):
Windows with latest Chrome
Share configuration
Please share:
YAML: `type: custom:floorplan-card
full_height: true
config:
image: /local/floorplan/Floorplan.svg
stylesheet: /local/floorplan/home.css
log_level: info
console_log_level: info
defaults:
hover_action: hover-info
hold_action: more-info
rules:
      - entity: light.kuche_plug
        element: light.kuche_plug
        tap_action: toggle
        double_tap: more.info
        state_action:
         - service: floorplan.class_set
           service_data:
             element: glow.kuche_plug
             class: '${(entity.state === "on") ? "light-on" : "light-off"}'

      - entity: light.wohnzimmer_1
        element: light.wohnzimmer_1
        state_action:
          - service: floorplan.style_set
            service_data:
              element: glow.${entity.entity_id.substring(6)}
              style: >-
                opacity: ${ entity.state === 'on' ? (entity.attributes.brightness
                / 255) : '0' }
          - service: floorplan.style_set
            service_data:
              element: glow.${entity.entity_id.substring(6)}
              style: >-
                fill: ${(entity.attributes.color_mode === ("xy" || !"color_temp")
                ) ? "rgb(" + entity.attributes.rgb_color + ")" : "rgb(" +
                util.color.kelvinToRGB(entity.attributes.color_temp_kelvin) + ")"}
        tap_action: toggle
        double_tap_action:
          action: fire-dom-event
          browser_mod:
            service: browser_mod.popup
            data:
              title: light.wohnzimmer_1
              content:
                type: horizontal-stack
                cards:
                  - type: custom:light-entity-card
                    entity: light.wohnzimmer_1
                    persist_features: true
                    consolidate_entities: true

      - entity: light.wohnzimmer_2
        element: light.wohnzimmer_2
        state_action:
          - service: floorplan.style_set
            service_data:
              element: glow.${entity.entity_id.substring(6)}
              style: >-
                opacity: ${ entity.state === 'on' ? (entity.attributes.brightness
                / 255) : '0' }
          - service: floorplan.style_set
            service_data:
              element: glow.${entity.entity_id.substring(6)}
              style: >-
                fill: ${(entity.attributes.color_mode === ("xy" || !"color_temp")
                ) ? "rgb(" + entity.attributes.rgb_color + ")" : "rgb(" +
                util.color.kelvinToRGB(entity.attributes.color_temp_kelvin) + ")"}
        tap_action: toggle
        double_tap_action:
          action: fire-dom-event
          browser_mod:
            service: browser_mod.popup
            data:
              title: light.wohnzimmer_2
              content:
                type: horizontal-stack
                cards:
                  - type: custom:light-entity-card
                    entity: light.wohnzimmer_2
                    persist_features: true
                    consolidate_entities: true

      - entity: light.wohnzimmer_3
        element: light.wohnzimmer_3
        state_action:
          - service: floorplan.style_set
            service_data:
              element: glow.${entity.entity_id.substring(6)}
              style: >-
                opacity: ${ entity.state === 'on' ? (entity.attributes.brightness
                / 255) : '0' }
          - service: floorplan.style_set
            service_data:
              element: glow.${entity.entity_id.substring(6)}
              style: >-
                fill: ${(entity.attributes.color_mode === ("xy" || !"color_temp")
                ) ? "rgb(" + entity.attributes.rgb_color + ")" : "rgb(" +
                util.color.kelvinToRGB(entity.attributes.color_temp_kelvin) + ")"}
        tap_action: toggle
        double_tap_action:
          action: fire-dom-event
          browser_mod:
            service: browser_mod.popup
            data:
              title: light.wohnzimmer_3
              content:
                type: horizontal-stack
                cards:
                  - type: custom:light-entity-card
                    entity: light.wohnzimmer_3
                    persist_features: true
                    consolidate_entities: true

      - entity: light.wohnzimmer_panels
        element: light.wohnzimmer_panels
        state_action:
          - service: floorplan.style_set
            service_data:
              element: glow.${entity.entity_id.substring(6)}
              style: >-
                opacity: ${ entity.state === 'on' ? (entity.attributes.brightness
                / 255) : '0' }
          - service: floorplan.style_set
            service_data:
              element: glow.${entity.entity_id.substring(6)}
              style: >-
                fill: ${(entity.attributes.color_mode === ("xy" || !"color_temp")
                ) ? "rgb(" + entity.attributes.rgb_color + ")" : "rgb(" +
                util.color.kelvinToRGB(entity.attributes.color_temp_kelvin) + ")"}
        tap_action: toggle
        double_tap_action:
          action: fire-dom-event
          browser_mod:
            service: browser_mod.popup
            data:
              title: light.wohnzimmer_panels
              content:
                type: horizontal-stack
                cards:
                  - type: custom:light-entity-card
                    entity: light.wohnzimmer_panels
                    persist_features: true
                    consolidate_entities: true

      - entity: light.diele_panel
        element: light.diele_panel
        state_action:
          - service: floorplan.style_set
            service_data:
              element: glow.${entity.entity_id.substring(6)}
              style: >-
                opacity: ${ entity.state === 'on' ? (entity.attributes.brightness
                / 255) : '0' }
          - service: floorplan.style_set
            service_data:
              element: glow.${entity.entity_id.substring(6)}
              style: >-
                fill: ${(entity.attributes.color_mode === ("xy" || !"color_temp")
                ) ? "rgb(" + entity.attributes.rgb_color + ")" : "rgb(" +
                util.color.kelvinToRGB(entity.attributes.color_temp_kelvin) + ")"}
        tap_action: toggle
        double_tap_action:
          action: fire-dom-event
          browser_mod:
            service: browser_mod.popup
            data:
              title: light.diele_panel
              content:
                type: horizontal-stack
                cards:
                  - type: custom:light-entity-card
                    entity: light.diele_panel
                    persist_features: true
                    consolidate_entities: true

      - entity: light.flur_panel
        element: light.flur_panel
        state_action:
          - service: floorplan.style_set
            service_data:
              element: glow.${entity.entity_id.substring(6)}
              style: >-
                opacity: ${ entity.state === 'on' ? (entity.attributes.brightness
                / 255) : '0' }
          - service: floorplan.style_set
            service_data:
              element: glow.${entity.entity_id.substring(6)}
              style: >-
                fill: ${(entity.attributes.color_mode === ("xy" || !"color_temp")
                ) ? "rgb(" + entity.attributes.rgb_color + ")" : "rgb(" +
                util.color.kelvinToRGB(entity.attributes.color_temp_kelvin) + ")"}
        tap_action: toggle
        double_tap_action:
          action: fire-dom-event
          browser_mod:
            service: browser_mod.popup
            data:
              title: light.flur_panel
              content:
                type: horizontal-stack
                cards:
                  - type: custom:light-entity-card
                    entity: light.flur_panel
                    persist_features: true
                    consolidate_entities: true

      - entity: light.hobbyraum_panel
        element: light.hobbyraum_panel
        state_action:
          - service: floorplan.style_set
            service_data:
              element: glow.${entity.entity_id.substring(6)}
              style: >-
                opacity: ${ entity.state === 'on' ? (entity.attributes.brightness
                / 255) : '0' }
          - service: floorplan.style_set
            service_data:
              element: glow.${entity.entity_id.substring(6)}
              style: >-
                fill: ${(entity.attributes.color_mode === ("xy" || !"color_temp")
                ) ? "rgb(" + entity.attributes.rgb_color + ")" : "rgb(" +
                util.color.kelvinToRGB(entity.attributes.color_temp_kelvin) + ")"}
        tap_action: toggle
        double_tap_action:
          action: fire-dom-event
          browser_mod:
            service: browser_mod.popup
            data:
              title: light.hobbyraum_panel
              content:
                type: horizontal-stack
                cards:
                  - type: custom:light-entity-card
                    entity: light.hobbyraum_panel
                    persist_features: true
                    consolidate_entities: true

      - entity: light.schlafzimmer_enrave
        element: light.schlafzimmer_enrave
        state_action:
          - service: floorplan.style_set
            service_data:
              element: glow.${entity.entity_id.substring(6)}
              style: >-
                opacity: ${ entity.state === 'on' ? (entity.attributes.brightness
                / 255) : '0' }
          - service: floorplan.style_set
            service_data:
              element: glow.${entity.entity_id.substring(6)}
              style: >-
                fill: ${(entity.attributes.color_mode === ("xy" || !"color_temp")
                ) ? "rgb(" + entity.attributes.rgb_color + ")" : "rgb(" +
                util.color.kelvinToRGB(entity.attributes.color_temp_kelvin) + ")"}
        tap_action: toggle
        double_tap_action:
          action: fire-dom-event
          browser_mod:
            service: browser_mod.popup
            data:
              title: light.schlafzimmer_enrave
              content:
                type: horizontal-stack
                cards:
                  - type: custom:light-entity-card
                    entity: light.schlafzimmer_enrave
                    persist_features: true
                    consolidate_entities: true

      - entity: light.bad_xamento
        element: light.bad_xamento
        state_action:
          - service: floorplan.style_set
            service_data:
              element: glow.${entity.entity_id.substring(6)}
              style: >-
                opacity: ${ entity.state === 'on' ? (entity.attributes.brightness
                / 255) : '0' }
          - service: floorplan.style_set
            service_data:
              element: glow.${entity.entity_id.substring(6)}
              style: >-
                fill: ${(entity.attributes.color_mode === ("xy" || !"color_temp")
                ) ? "rgb(" + entity.attributes.rgb_color + ")" : "rgb(" +
                util.color.kelvinToRGB(entity.attributes.color_temp_kelvin) + ")"}
        tap_action: toggle
        double_tap_action:
          action: fire-dom-event
          browser_mod:
            service: browser_mod.popup
            data:
              title: light.bad_xamento
              content:
                type: horizontal-stack
                cards:
                  - type: custom:light-entity-card
                    entity: light.bad_xamento
                    persist_features: true
                    consolidate_entities: true

      - entity: light.wc_xamento
        element: light.wc_xamento
        state_action:
          - service: floorplan.style_set
            service_data:
              element: glow.${entity.entity_id.substring(6)}
              style: >-
                opacity: ${ entity.state === 'on' ? (entity.attributes.brightness
                / 255) : '0' }
          - service: floorplan.style_set
            service_data:
              element: glow.${entity.entity_id.substring(6)}
              style: >-
                fill: ${(entity.attributes.color_mode === ("xy" || !"color_temp")
                ) ? "rgb(" + entity.attributes.rgb_color + ")" : "rgb(" +
                util.color.kelvinToRGB(entity.attributes.color_temp_kelvin) + ")"}
        tap_action: toggle
        double_tap_action:
          action: fire-dom-event
          browser_mod:
            service: browser_mod.popup
            data:
              title: light.wc_xamento
              content:
                type: horizontal-stack
                cards:
                  - type: custom:light-entity-card
                    entity: light.wc_xamento
                    persist_features: true
                    consolidate_entities: true

      - element: area.makergear
        state_action:
        - service: floorplan.text_set
          service_data:
            element: debug_text
            text: "test"
        - service: floorplan.style_set
          service_data:
            element: slider.makergear
            style: >
              >  var start_time = new Date(states['sensor.octoprint_start_time_makergear'].state);
              var end_time = new Date(states['sensor.octoprint_estimated_finish_time_makergear'].state);
              var percentage = (Date.now() - start_time) / (end_time - start_time);
              return `transform-origin: right center; transform-box:fill-box;
              transform: scaleX(${percentage})`;
        - service: floorplan.style_set
          service_data:
            element: printer.makergear
            style: >-
              fill: ${(states['sensor.octoprint_current_state_makergear'].state === "Operational") ? "rgb(200,0,0)" : "rgb(0,0,100)"}
        tap_action:
          action: fire-dom-event
          browser_mod:
            service: browser_mod.popup
            data:
              title: makergear
              content:
                type: vertical-stack
                cards:
                  - type: entity
                    entity: sensor.octoprint_estimated_finish_time_makergear
                  - type: picture-glance
                    entities:
                      - entity: sensor.octoprint_current_state_makergear
                        show_state: true
                      - entity: sensor.octoprint_job_percentage_makergear
                        show_state: true
                      - entity: sensor.octoprint_estimated_finish_time_makergear
                        show_state: true
                      - entity: sensor.octoprint_actual_tool0_temp_makergear
                        show_state: true
                      - entity: sensor.octoprint_actual_bed_temp_makergear
                        show_state: true
                    camera_image: camera.octoprint_camera_makergear

      - element: area.prusa_black
        state_action:
        - service: floorplan.text_set
          service_data:
            element: debug_text
            text: "test"
        - service: floorplan.style_set
          service_data:
            element: slider.prusa_black
            style: >
              >  var start_time = new Date(states['sensor.octoprint_start_time_prusa_black'].state);
              var end_time = new Date(states['sensor.octoprint_estimated_finish_time_prusa_black'].state);
              var percentage = (Date.now() - start_time) / (end_time - start_time);
              return `transform-origin: right center; transform-box:fill-box;
              transform: scaleX(${percentage})`;
        - service: floorplan.style_set
          service_data:
            element: printer.prusa_black
            style: >-
              fill: ${(states['sensor.octoprint_current_state_prusa_black'].state === "Operational") ? "rgb(200,0,0)" : "rgb(0,0,100)"}
        tap_action:
          action: fire-dom-event
          browser_mod:
            service: browser_mod.popup
            data:
              title: prusa_black
              content:
                type: vertical-stack
                cards:
                  - type: entity
                    entity: sensor.octoprint_estimated_finish_time_prusa_black
                  - type: picture-glance
                    entities:
                      - entity: sensor.octoprint_current_state_prusa_black
                        show_state: true
                      - entity: sensor.octoprint_job_percentage_prusa_black
                        show_state: true
                      - entity: sensor.octoprint_estimated_finish_time_prusa_black
                        show_state: true
                      - entity: sensor.octoprint_actual_tool0_temp_prusa_black
                        show_state: true
                      - entity: sensor.octoprint_actual_bed_temp_prusa_black
                        show_state: true
                    camera_image: camera.octoprint_camera_prusa_black

      - element: area.prusa_orange
        state_action:
        - service: floorplan.text_set
          service_data:
            element: debug_text
            text: "test"
        - service: floorplan.style_set
          service_data:
            element: slider.prusa_orange
            style: >
              >  var start_time = new Date(states['sensor.octoprint_start_time_prusa_orange'].state);
              var end_time = new Date(states['sensor.octoprint_estimated_finish_time_prusa_orange'].state);
              var percentage = (Date.now() - start_time) / (end_time - start_time);
              return `transform-origin: right center; transform-box:fill-box;
              transform: scaleX(${percentage})`;
        - service: floorplan.style_set
          service_data:
            element: printer.prusa_orange
            style: >-
              fill: ${(states['sensor.octoprint_current_state_prusa_orange'].state === "Operational") ? "rgb(200,0,0)" : "rgb(0,0,100)"}
        tap_action:
          action: fire-dom-event
          browser_mod:
            service: browser_mod.popup
            data:
              title: prusa_orange
              content:
                type: vertical-stack
                cards:
                  - type: entity
                    entity: sensor.octoprint_estimated_finish_time_prusa_orange
                  - type: picture-glance
                    entities:
                      - entity: sensor.octoprint_current_state_prusa_orange
                        show_state: true
                      - entity: sensor.octoprint_job_percentage_prusa_orange
                        show_state: true
                      - entity: sensor.octoprint_estimated_finish_time_prusa_orange
                        show_state: true
                      - entity: sensor.octoprint_actual_tool0_temp_prusa_orange
                        show_state: true
                      - entity: sensor.octoprint_actual_bed_temp_prusa_orange
                        show_state: true
                    camera_image: camera.octoprint_camera_prusa_orange

`

CSS -> default home.css
SVG-file

Additional context
As mentioned above, it was working for 2 days, but suddenly stopped after I added more stuff to the svg and yaml code.

We don't have preview support as is. 😊

Hi @luke321
Just as a test, how about if you remove all of the rules from the YAML? In other words, using the bare minimum YAML, does the issue still occur? Also, will be easier for us to try and reproduce.

Hi @pkozul
Thanks for getting back to me, yes it does still occur. It's very odd, the preview in the code editor works fine, but only for the top svg. As soon as I edit anything in the editor field a new SVG gets appended.
Also as I mentioned, this behaviour is new and everything worked without a hinge in the beginning.

@pkozul Yes i am running v1.0.34 and the latest problem, the issue persists across chrome, edge and the iOS app.

Wouldn’t this likely be an issue with HA frontend and not floorplan?
@luke321 when you actually view your floorplan is it working correctly?

@OzGav You are probably right, the odd thing is that it started happen without any known update to me.
Yes everything works correctly after closing the Code Editor.

Same for me. Any update in the card config results in an additional floorplan rendered

Ok I think I know where is the problem. Will try to fix it and if the fix works I'll send PR

Hello everyone
I’m still experiencing the same issue in version 1.0.35. Editing my floorplan is incredibly painful because duplicated images cause my browser to slow down and/or crash when I make too many changes at the same time. To work around this issue, I tend to add a character to my SVG file name path so that it fails to open and I can edit the YAML without any hassle.
@pkozul what is the status of PR #303?
Thanks

@OzGav do you use the UI editor to add the card or pure yaml file/configuration? It happens only on UI editor preview pane - once the card is added on the page everything is fine.
If you look at the code it is clear that whenever the config changes the SVG element is appended to the HTML and it is never removed. Maybe I have missed some of the code which is doing it but I don't think so (if there is please point it to me - maybe there will be a better way to fix it than what I have done in my PR)

Yeah I just use a text editor to edit the yaml file

@RadekHvizdos : I've requested him to take a look. Else I'll run through it, and release it as a pre-release. Have you tested the branch by yourself? :)

@RadekHvizdos : Did you have a chance to test it yourself?

Not yet. I will test it later this week. I am currently traveling.

That's fair. I'll give it a go.
Before:

Also thank you to @luke321 too. That's a great description of the bug, and how to reproduce it.
After:

Ignore the errors. I'll push it as part of 1.0.37.


Question: Are the magnetic USB-C safe?

I've read that magnetic USB-C is not compliant, and I've heard of a couple of people who have had issues. Has anyone here had any issues? If so are there any alternatives?
I'm specifically referring to non compliance with USB-C specifications as mentioned in this thread https://www.reddit.com/r/UsbCHardware/comments/motlhn/magnetic_usbc_cables_are_not_recommended/

I have two Cheapino V2s with magnetic connectors, and so far, I haven’t had any issues with them. So I'm not sure what you're referring to @Batres3

@soul-wish sorry I wasn't very clear I updated the message

Did not have any issues... Was a guy at reddit which I suspected might have some bad magnetic usb-c cables(his board was heating up...), but he never replied back...)
Ive been using mine(branded "Elough") for years without issues, I love them!
Only time there was a problem was when a diode leg got stuck shorting the pads. Did not cause any damaged, just removed it...

Ok! I think it should generally be ok to use magnetic cables with keyboards because of the extremely low power draw, still wanted to bring this up just so people know.
Also, thanks for adding the warning @tompi !


Will you release the Sleigh grammar files?

Hello there,
Will you release the Sleigh grammar files referenced everywhere in the project?

ghidra/sleigh/grammar/BaseLexer.g
ghidra/sleigh/grammar/BooleanExpression.g
ghidra/sleigh/grammar/DisplayLexer.g
ghidra/sleigh/grammar/DisplayParser.g
ghidra/sleigh/grammar/SemanticLexer.g
ghidra/sleigh/grammar/SemanticParser.g
ghidra/sleigh/grammar/SleighCompiler.g
ghidra/sleigh/grammar/SleighEcho.g
ghidra/sleigh/grammar/SleighParser.g

Thank you!

Yes! See Ghidra/Framework/SoftwareModeling/src/main/antlr in the repo.

Thanks! I didn't expect it to be that fast. 😄
@nsadeveloper789 Could you also take a look at this issue please?


[Storage] [Typing] [Blob] _container_client.py

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-storage-blob


feat(tutorial): complete step 3 Boeblingen

Closes #
{{short description}}
Changelog
New

{{new thing}}

Changed

{{change thing}}

Removed

{{removed thing}}

@git-mischa Looks fantastic 🔝! I've recorded your completion of step 3.


SAA-1481 increasing available memory in dev to stop out of memory errors.

Need to bump the available memory in dev.  Starting to see out of memory errors as more data makes its way into the service.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (84f0d66) 86.73% compared to head (14cedd0) 86.73%.

Additional details and impacted files
@@            Coverage Diff            @@
##               main     #742   +/-   ##
=========================================
  Coverage     86.73%   86.73%
  Complexity     3476     3476
=========================================
  Files           359      359
  Lines         11881    11881
  Branches       1002     1002
=========================================
  Hits          10305    10305
  Misses         1100     1100
  Partials        476      476

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


[docs] added a note about g++ versions for macOS users

Closed #1369.
Next release will be built with g++-8.

@StrikerRUS
It seems these documents are still gcc7:
https://github.com/Microsoft/LightGBM/tree/master/R-package#install
https://github.com/Microsoft/LightGBM/blob/master/docs/Installation-Guide.rst#macos
should we fix them too ?

@guolinke To be honest, I don't think we should alter instructions about compiling of LightGBM. I mean, it still works perfectly even if compiled with gcc-4 (like at our Travis with Linux). The problem was when someone wanted to use old precompiled binaries with new compiler. The main idea is to compile and use with the same compiler, no matter new or old one it is.
What do you think? How to formulate it clearer?

We need to ask someone with mac about it. Or test at Travis. I can only say that export CXX=g++ doesn't work when we run before it brew install gcc (I already checked it). It seems that it expects concrete version to link and I may be mistaken but I read about that g++ is symlinked to AppleClang.

@guolinke What do you think about just adding these words (or something similar)?
# export CXX=g++-7 CC=gcc-7  # for macOS (replace 7 with version of gcc installed on your machine)


/run/secrets/ HTTPS certs are now in pem format

I had to merge this sooner than I would have liked https://github.com/me-box/databox/issues/64
There is now a pem formatted cert in /run/secrets/DATABOX.pem
This should save you having to juggle the json into files ;-)
Can you move over to the new secrets so I can remove the old one?
Cheers
Tosh

Wrong store !!


The not-technically-required Text plugin is in practice required

Theoretically, you can create a django CMS project without having the Text plugin or an editor such as CKEditor installed.
In practice though, if you get to the Welcome to django CMS page and try to use the page creation wizard, you will get a TemplateDoesNotExist at /cms_wizard/create/: cms/plugins/widgets/ckeditor.html error (naturally).

Hi,
I had the same problem with my installation. When I added the 'djangocms_text_ckeditor', to installed apps in settings.py, the issue vanished.

The idea was always to simplify the core, we should aim to make djangocms-text-ckeditor an optional package.

Django CMS Admin Style tests are based on the assumption that CKEditor is installed (https://github.com/django-cms/djangocms-admin-style/blob/b11e87d6cb6765e449ce40e27a965ab43a1d8bbe/tests/requirements/base.txt)
This could be related to templating issue appearing in widgets. I will investigate further and update findings here.

Django CMS Admin Style tests are based on the assumption that CKEditor is installed (https://github.com/django-cms/djangocms-admin-style/blob/b11e87d6cb6765e449ce40e27a965ab43a1d8bbe/tests/requirements/base.txt)
This could be related to templating issue appearing in widgets. I will investigate further and update findings here.

On further research this is (at least partially) down to the reliance on the 'TextPlugin' provided by djangocms_text_ck_editor.
https://github.com/django-cms/djangocms-text-ckeditor/blob/7d578cdf799aab9c01d18558776720d7693aca4c/djangocms_text_ckeditor/cms_plugins.py#L173
Taking a look at an appropriate replacement for this, current outcome of removing ckeditor is failures=3, errors=133

WIP PR, still a couple of test failures to be resolved: https://github.com/django-cms/django-cms/pull/6972


Adding a description for hosting interfaces package.

Fixes: https://github.com/aspnet/Hosting/issues/193
@Eilon

:shipit:


Add Signalgo for Bridge Deployer

It's not here.

It's already supported, it's called signal

Oh, so signal will deploy signalgo at this time? Sorry then :D


Docs / minimal CI update for Humble

Bug fix
Fixed bug
Yet another doc / CI update for Humble! Minimal version to avoid introducing too much changes i.e. in the docker build workflow.
Currently WIP checking CI.

Nightly fail is due to it trying to build the simulation / demos packages after the rename but the renaming PRs not being merged yet.
If there is any further issue with the nightly builds after the renaming it will be addressed in a future PR.

her issue with the nightly builds after the renaming it will be addressed in a future P

For reference https://github.com/open-rmf/rmf_demos/pull/155
Is it only needed the sign-off of the last commit to getting it merged?


Fix incorrect artifact version label

Problem description
Flink connector is now enabled to support Flink 1.7.x with scala version 2.12. However the final build artifact reflects the naming convention as pravega-connectors-flink_2.11 which should be changed to pravega-connectors-flink_2.12.
Problem location
build configuration
Suggestions for an improvement

closed https://github.com/pravega/flink-connectors/pull/227


Patch 1

added log-extension by increasing the log size and number of logfiles.  This is essential, since loglevel=debug averages at about 40-60minutes until rotating and discarding after 3 logfiles per default
added sync-freelist=false option for users who grow beyond > 30 channels. Context detail can be found here, but from many many runners I know, going beyond 30 channels with freelist basically degrades your node performance, until at >50 it becomes almost non responsive.

Good input to better manange the log files. But the template file is no longer the place to set the initial values - most is happening here https://github.com/raspiblitz/raspiblitz/blob/b3a14cfc356fdf753bbf496b9465cb88190f0621/home.admin/config.scripts/lnd.install.sh#L305
And for v1.11.0 we already changed to debuglevel=info to reduce logs and tested it so far. So I pushed this to a later release to be refactored and then have a long testing period.
Also marking some TODOS:

remove old templates, create all from script (see above)
test new log settings


Is it possible to set color based on setEnabled?

I'm trying to use a ColorStateList based on one of your previous answers but no luck so far.
MaterialSpinnerAdapter adapter = (MaterialSpinnerAdapter) spinner.getListView().getAdapter(); spinner.setTextColor(Color.BLUE); adapter.setTextColor(Color.GREEN);

Sorry for the much delayed reply. What do you mean "based on setEnabled"?


Helm?

Have you considered authoring a Helm chart for making this turn key? I'm happy to help.

@andrewrothstein I'm working on that a bit as well.  The addition of RBAC roles in 1.6 has thrown us for a loop and helm charts are really helpful.
Are you planning to fork this repo or create a separate one for the helm chart?

Your call. Would ultimately like to get it merged into https://github.com/kubernetes/charts.

I would agree.  I'm working on the configmap piece now and should have something relatively usable in the next week or so.  Still a bit new to the whole helm thing so it's taking a bit longer.

I think I'm going to do this with a gitvolume for the dags.  Does that seem like a good idea?  Have other suggestions?  We could always implement other dag backends for NFS, AWS, etc, but I'd like to start somewhere.

I'm airflow novice so bear with me. The scheduling of DAGs would seem to be a separate concern from launching the infrastructure / processes that constitute an airflow backend. I'd consider the scheduling of DAGs as a follow on concern to building a Helm chart to wire up the airflow backend. Ideally the airflow backend will be discoverable within k8s such that 'schedule a DAG' is more of k8s one shot job rather than an infrastructural configuration activity. The lifecycle of the back end is different from that of any individual DAG so I'd model them separately.

Absolutely.  We wrote a function that will schedule docker containers within kubernetes but that's outside of the scope of this issue.
I was just talking about the type of volume that we should create to ensure the dags are pulled and shared between all of the containers.

I have written logic to apply dag and plugin configmaps to volume mounts on each airflow deployment as a part of the dag/plugin deployment process. The one issue I have run into is that while the volume mounts are updated almost immediately when the configmap changes are applied, the airflow webserver does not refresh the list of DAGs and show the new DAGs that have been added. Is there a good solution to update the webserver?

We were using a sidekick container to pull the dags from a git repo and mount that as the volume.  So in our case, we really aren't updating them as often.  I guess my thought is you would use an NFS share or something similar if you were going to be doing active dag development.  Regarding the webserver... even clicking the refresh icon isn't bringing them up?  We've found it sometimes takes the webserver a bit to register the changes.
We did create a configmap for the airflow.cfg file so all of the services could find each other.  That config map is also responsible for setting the fernet key.  Currently, it creates the secrets for the DB password but that could be changed based on any suggestions.
How did you do configmaps for your dags?
The last part we are working on is with the scheduler restarting.  There are a few issues that were opened regarding kubernetes doing the crash loop backoff and we need to modify the entrypoint file to keep the scheduler from restarting so much.

what repo are you doing this development out of?

About the scheduling part, maybe you followed, but there is this promising PR :)
I'll also need an helm chart soonish, and I'll PR the official repo.
If you have any code to share, it would be perfect timing :)
Thanks!

I'm planning to work on this 😃
@pierreozoux Hi, have you by any chance written any code to share?

My priorities have been shuffled :) I think I'll come back to this in January. Sorry :/

@pierreozoux Thanks for the reply. No worry - I wish I will come up with something to share with you 😉

May I help on this subject? I'm interesting in integrating Airflow in our Kubernetes cluster, if I may do something to help you, please tell me

@Stibbons Hi, thanks for the proposal 👍
I'd greatly appreciate any kind of contribution but probably the most helpful at this stage would be a basic helm chart.
More concretely, even just a translation of https://github.com/mumoshu/kube-airflow/blob/master/airflow.all.yaml into a idiomatic helm chart like seen in https://github.com/kubernetes/charts/tree/master/stable would be greatly appreciated.

Yes, that's my idea as well. First an helm chart for the basic celery airflow, and then a variant with these great patches :)

Hi, everyone. JFYI but see @gsemet's awesome work at https://github.com/kubernetes/charts/pull/3959!

I finally merged the PR @gsemet has kindly submitted.
But he maintains his own fork and a helm chart far better than me!
So, I'll keep this repository for mostly for a reference for a while.
But I believe - the general direction should be treat @gsemet's work as the primary, and contribute any missing parts(if any. probably nothing) to his k8s chart and eventually obsolete this as superseded by it.

Hello. For information we moved toward the official helm repository on this PR: kubernetes/charts/incubator/airflow. For motivated people there are still some issues to fix before official merge on kubernetes/charts !


Create Destination Rules UI in the EXT

Description

Introduces a place to inject EXT Busola views to replace old UI with EXT (add new resources to next to DRs). It uses the logic from previous PR.
Fixes an error that breaks the old UI when port traffic policies for subsets are defined
Introduces DR EXT view with all its details

Related issue(s)
Resolves https://github.com/kyma-project/busola/issues/1730
Is blocked by / requires https://github.com/kyma-project/busola/pull/1798 to work (vars in ext schema feature)

/test pre-busola-integration-test-k3s-cluster


Revert "Revert "refactor(apps/prod/tekton/configs/tasks): auto bump the patch version for branch checkout""

Reverts PingCAP-QE/ee-ops#1018

/approve


KAFKA-17544: Fix for loading big files while performing load tests

JIRA: KAFKA-17544
When performing perf tests, we can specify a payload using the --payloadFile parameter. This file is utilized during the load/performance testing process. However, if the file is large, it may result in the following error:
Exception in thread "main" java.lang.NegativeArraySizeException: -1040351534
	at java.base/java.lang.String.<init>(String.java:568)

This issue is highlighted in java docs as well.
Moving the file loading logic to java.util.Scanner and using useDelimiter method for splitting the strings.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@chia7712 can you check this out.


isAuthenticated returning false for newly signed up user before email verification is done

Hello,
I recently started using @auth0/auth0-react and I am experiencing the following issue for a newly signed up user ( email confirmation pending).

isAuthenticated returns false for a newly signed up user

The log summary in Auth0 dashboard indicates
Type: Failed Login
Description: Please verify your email before logging in.

The user object returned in undefined

In my App.js file, I have the following check before I return the Routes which is right now resulting in an infinite redirect loop for a newly signed up user until the email is verified/
  if (!isAuthenticated) return loginWithRedirect();     return <Routes></Routes>;
The earlier implementation using react-auth0-spa.js used to return isAuthenticated=true & the user object with email_verified=false for a newly signed up user which would allow me to conditionally redirect the user to a page asking to verify his/her email address to proceed.
Another solution to this would be to block the user right at the login screen ( throw a validation error ) if the email address is not verified - is there any option in the dashboard for enabling such a behavior?
Please do help to navigate this scenario.
thanks in advance.

turned off the force email verification rule in the dashboard and it worked just fine.
thankyou!


gettext: 0.22.4 -> 0.22.5

https://savannah.gnu.org/news/?id=10597
update fixes a number of gnome packages
https://lists.gnu.org/archive/html/bug-gettext/2024-02/msg00016.html
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[x] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.
@emilazy

This PR was incomplete, see https://github.com/NixOS/nixpkgs/pull/360044


[fix][broker][PIP-195] Don't clean up BucketDelayedDeliveryTracker when all consumer disconnect

PIP: #16763

Motivation
In #14740, we clean the delayed message tracker when all consumer disconnect to avoid adding duplicated messages,
but BucketDelayedDeliveryTracker uses bitmap to avoid adding duplicated messages. So we don't clean up BucketDelayedDeliveryTracker, otherwise we will lose the bucket snapshot.
Modifications

Don't clean up BucketDelayedDeliveryTracker when all consumer disconnect
Clear missing lastMutableBucketQueue when clear lastMutableBucket
Improve logs
Add test

Verifying this change

[x] Make sure that the change passes the CI checks.

(Please pick either of the following options)
This change is a trivial rework / code cleanup without any test coverage.
(or)
This change is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)

Added integration tests for end-to-end deployment with large payloads (10MB)
Extended integration test for recovery after broker failure

Documentation

[ ] doc
[ ] doc-required
[x] doc-not-needed
[ ] doc-complete

Matching PR in forked repository
PR in forked repository:

/pulsarbot run-failure-checks


⚠ Cioos National CKAN Sitemap has degraded performance

In 83dc7a4, Cioos National CKAN Sitemap (https://catalogue.cioos.ca/sitemap/sitemap-1.xml) experienced degraded performance:

HTTP code: 200
Response time: 6703 ms

Resolved: Cioos National CKAN Sitemap performance has improved in fdbe5f9 after 8 minutes.


Placeholders

Dan wants placeholders in first two chapters. Also, noticing that there are differences between these two in one of the notebooks in chapter 11. Wasn't able to resolve, hoping you can

OK. Looking at that notebook in Chapter 11 – did you want to change something about it? (I'm guessing that it's not involved in this placeholder work; and, its changes just appear to be in the metadata from Jupyter.)

Yes, exactly. I don't want to change anything

Amanda Kube, MS, PhD
Preceptor in Data Science
Data Science Institute
The University of Chicago
5801 S Ellis Ave
Chicago, IL 60637
@.***

From: Jesse London @.>
Sent: Tuesday, November 15, 2022 4:48:26 PM
To: chicago-cdac/textbook-datascience-1 @.>
Cc: Amanda Kube @.>; Author @.>
Subject: Re: [chicago-cdac/textbook-datascience-1] Placeholders (PR #30)
OK. Looking at that notebook in Chapter 11 – did you want to change something about it? (I'm guessing that it's not involved in this placeholder work; and, its changes just appear to be in the metadata from Jupyter.)
—
Reply to this email directly, view it on GitHubhttps://urldefense.com/v3/__https://github.com/chicago-cdac/textbook-datascience-1/pull/30*issuecomment-1315969992__;Iw!!BpyFHLRN4TMTrA!4o9saoHP7EFSdM79vfKkduak3Udh_SAoo6byBDahCIAZzbyLmfj-yC0FHQpG8R-lHdsf90volfHl_3pUefCeGUgNRw$, or unsubscribehttps://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/AECO4RCAM5VSRQRRI5KY5XLWIQHLVANCNFSM6AAAAAASBEBHTY__;!!BpyFHLRN4TMTrA!4o9saoHP7EFSdM79vfKkduak3Udh_SAoo6byBDahCIAZzbyLmfj-yC0FHQpG8R-lHdsf90volfHl_3pUefDtlXjIDw$.
You are receiving this because you authored the thread.Message ID: @.***>

OK sure. I can just revert that one file then and it's all good.

FYI: It looks like perhaps the issue is that your fork's main ("master") branch is far out of sync with this repo's. Otherwise this all seems great – you're using branches on your fork, etc.
For example in your fork's checkout:

If you don't have this repository configured:
git remote add upstream git@github.com:chicago-cdac/textbook-datascience-1.git

(…And I'll refer to it as upstream regardless.)

Fetch this repository's changesets:
git fetch upstream

Reset your fork's master branch to match that of this repository – (discarding anything in that branch of your fork that's not in this repository!)
git checkout master
git reset --hard upstream/master
git push --force origin master

As a result, whereas your fork now says that it's ahead and/or behind this repository's master branch, it should then say that it's up-to-date.

And I hope that helps!

OK! That took some doing but I believe it's all good now. The end result is of course that this won't change anything in chapter 11 (and won't bring in 40 or so unrelated changesets).
I'll merge it in but if you can please take a look to confirm it looks correct to you.
(And if you're able to clean up your fork that might help a great deal.)
Thanks!


Working example

Does anyone have an example of this code in its working form?
I'm interested to download this Django micro pyramid blog but I am curious to see what it looks like, so I'm hoping someone can share a screenshot of the finished product.

I will get few uploaded tomorrow

I will get few uploaded tomorrow

I hope it's done ASAP !

I hope it's done ASAP !


Support for refined library

This PR adds support for refined types

I think that adding support for iron might also be great


Add save() and load() methods to manage ROSS results

This PR is a remake from PR #703. One can check the discussion history by accessing the previous link.
Adds abstract classes "Results" and "ST_Results" that holds a generic save() and load() methods.
The other classes will inherit these methods from "Results" and "ST_Results". It avoids redundancies by repetition of functions with the same functionality.
The user will be able to save the results of a given analysis and load it later, avoiding the need to re-run the entire analysis, which could be costly.
Example of how to use it:
        >>> # Example running a stochastic unbalance response
        >>> from tempfile import tempdir
        >>> from pathlib import Path
        >>> import ross.stochastic as srs

        >>> # Running an example
        >>> rotors = srs.st_rotor_example()
        >>> freq_range = np.linspace(0, 500, 31)
        >>> n = 3
        >>> m = np.random.uniform(0.001, 0.002, 10)
        >>> p = 0.0
        >>> results = rotors.run_unbalance_response(n, m, p, freq_range)

        >>> # create path for a temporary file
        >>> file = Path(tempdir) / 'results.toml'
        >>> results.save(file)

        >>> # Loading file
        >>> results2 = srs.ST_ForcedResponseResults.load(file)
        >>> results2.magnitude.all() == results.magnitude.all()
        True

I'll work on a test file to these classes. I need a guarantee that all analyzes are saved and loaded correctly. Please, don't merge it yet.

@raphaeltimbo,
I had to remove the argument lti from ModalResults  because it was not trivial to save a StateSpaceContinuous and it was not being used anywhere else in ModalResults.
It was called in time_response like modal.lti, but it was unnecessary to run the modal analysis to get the lti. So, I changed it to call directly the method itself lti = self._lti(speed) instead.


Allow to pass the Recorder config file through CLI options

If we cannot pass the Recorder configuration file through command line arguments to the Recorder, this blocks integrations forking a new JVM to launch the Recorder from using that configuration file.

Not needed after all.


Router should have default 404 handler

When a request goes through the router for which there is no route defined, a very cryptic message is thrown. We should at least provide some sort of default handling of an unrecognized request.

The router does support the match-all syntax which can be added as the last entry to catch all routes that do not match. It is how itty-router is implemented. Would that be sufficient in this case.
router.all("*", ...)

I personally think that there should be no default route handling because there are cases where I would want to use a router to be triggered only on specific routes.

I suppose that would be sufficient. I simply found it surprising that the router wasn't catching unknown routes, but if we give the user a good way to do this (and display it prominently in the docs, that is probably good enough.

I think there are two ways of approaching this:

The Router should provide the same behavior as popular/common routers provided by other frameworks of the particular language (JS/TS here).
The Router should provide the same behavior across all Spin SDKs.

Initially, I thought option 2 would be the best way to go. Option 2 would be especially useful for developers using multiple languages to craft Spin applications.
On the flip side, option 1 would smoothen the adoption for JS developers, because they expect the router to behave in a certain way.


draw markers on webcam video by human

is it possible using ar.js to draw arrow markers or other objects on webcam input where two peoples connected using webrtc?
Sample project
https://www.teamviewer.com/en/solutions/augmented-reality-remote-support/#getstarted

It is a nice idea, I have already thought myself to something similar. This is not achievable with AR.js for now, but I would suggest to not rely on AR.js that is marker based/ location based/ NFT in the future.
For this kind of project you will need to draw stuff, I don't see much the point to use marker. Or maybe I have mislead :) You could have build such experience without markers, and without AR.js.

Thanks for fast reply... Even don't know where from to start search ... ARCore , Best is to have some js library


[Feature Request] Support hostname canonicalization

The ssh_config(5) manual page discusses several options related to canonicalizing hostnames. The most fundamental of them is CanonicalizeHostname, which is described as follows:

https://man.openbsd.org/ssh_config#CanonicalizeHostname
Controls whether explicit hostname canonicalization is performed. The default, no, is not to perform any name rewriting and let the system resolver handle all hostname lookups. If set to yes then, for connections that do not use a ProxyCommand or ProxyJump, ssh(1) will attempt to canonicalize the hostname specified on the command line using the CanonicalDomains suffixes and CanonicalizePermittedCNAMEs rules. If CanonicalizeHostname is set to always, then canonicalization is applied to proxied connections too.
If this option is enabled, then the configuration files are processed again using the new target name to pick up any new configuration in matching Host and Match stanzas. A value of none disables the use of a ProxyJump host.

As an example, my university has a server called Loki. If I were to use the following configuration:
Host loki.trentu.ca
        ServerAliveInterval 60
        ServerAliveCountMax 2

Host loki
        User matthew
        CanonicalizeHostname yes
        CanonicalDomains yorku.ca carleton.ca trentu.ca

Then running ssh loki would have SSH performing the following:

Match with Host loki.

User ← matthew
CanonicalizeHostname ← yes
CanonicalDomains ← yorku.ca carleton.ca trentu.ca

Since CanonicalizeHostname is enabled, attempt to find a canonical host:

Attempt to canonicalize with loki.yorku.ca; fails.
Attempt to canonicalize with loki.carleton.ca; fails.
Attempt to canonicalize with loki.trentu.ca; succeeds.

Re-parse the SSH configuration file as if I'd typed ssh loki.trentu.ca.
Match with Host loki.trentu.ca

ServerAliveInterval ← 60
ServerAliveCountMax ← 2

Which should give our final configuration as:
User matthew
HostName loki.trentu.ca
CanonicalizeHostname yes
CanonicalDomains yorku.ca carleton.ca trentu.ca
ServerAliveInterval 60
ServerAliveCountMax 2

If everything goes well, both SSHConfig.parse(...).compute('loki') and ssh -G loki should spit out the same things for these options. Sadly, this is not the case, as you can see below (grep to stop ssh -G from spitting out all 100+ defaults):

It may be worth noting that this does not happen recursively; I can't have loki re-parse to find loki.trentu.ca to then re-parse and find loki.trentu.ca.othersite.co.uk, since loki.trentu.ca is already canonical and there is no need to run it again.

I am more than willing to be the one to take this on as a PR. It seems like it should be trivial to implement, at least for compute. I am not sure how or if it even should affect the other functions such as find, append, and prepend. But, again, after some discussion, I'm happy to implement this feature.
Cheers.

Thanks for this feature request Matthew, very comprehensive writing! I think this needs to be a new api such as .canonicalize because it introduces actual hostname handshaking to finalize the ssh config. .compute on the other hand, will not be able to carry out this task because it is synchronous.
The canonicalization process is a bit out of the original scope of this library, as it just parses ssh config text and provide several api to quickly compute the result config, only text to AST and AST to object. But I think it is ok to add it, since it seems no third party libraries is need, will be very happy to receive a pull request about this feature.

Awesome! I'll start tinkering. I actually didn't think about just making it a separate .canonicalize method; I was thinking of making it an overload on compute that would take canonicalize as a separate boolean parameter to conditionally return a promise. That'd work as far as not changing the public-facing API goes, but it would probably be clunkier to implement. A separate method could just call this.compute.

Second thought about the new api, it looks like I've already added some child process calls while implementing exec criteria of Match. I think it's ok to add another while implementing canonical criteria.

What do you think about doing it with an overload? It could be made a part of compute, but without introducing a breaking change for previous consumers, and also without introducing a whole new API.
type MaybePromise<T> = T | Promise<T>;

class SSHConfig extends Array<Line> {
  // ...

  // with just the one param, or with false passed, returns the record as normal
  public compute(host: string, canonicalize?: false): Record<string, string | string[]>;
  public compute(options: MatchOptions, canonicalize?: false): Record<string, string | string[]>;

  // with true passed as the second argument, it now returns a promise
  public compute(host: string, canonicalize: true): Promise<Record<string, string | string[]>>;
  public compute(options: string, canonicalize: true): Promise<Record<string, string | string[]>>;

  // implementation signature stays hidden from consumers, but returns record | promise<record>
  public compute(params: string | MatchOptions, canonicalize = false): MaybePromse<Record<string, string | string[]>> {
    if (canonicalize !== true) {
      // ...
      // method as it is
      // ...
    } else {
      return new Promise((resolve, reject) => {
        // pseudocode
        const firstPass = this.compute(params, false);
        if (needsCanonicalize(firstPass)) actualHost = canonicalize(firstPass.Hostname);
        const secondPass = this.compute(actualHost, false);
        resolve({ ...secondPass, ...firstPass });
      });
    }
  }

  // ...
}

The only way this would be a breaking change is if some consumers of the library were passing an unused true into compute.

agree

I'm not sure an explicit canonicalize argument is best. It should at least be an object to allow future options to be set backwards compatibly.
But is there a use case for such fine grained control? I'd expect most users of .compute to be expecting whatever SSH would compute the config to be. The interesting choice for this library is whether to be purely syntactical, or perform execs and lookups and whatnot.
For implementation, the specific logic in OpenSSH puts it after the first pass, and triggers the second pass
https://github.com/openssh/openssh-portable/blob/e535fbe2af893046c28adfcd787c1fdbae36a24a/ssh.c#L1189-L1230
This should be a little easier to model now that we support two passes
https://github.com/cyjake/ssh-config/blob/6cde6d3fe81753ae80694caae35b279ad025c78a/src/ssh-config.ts#L208-L212

yep, if it can be implemented with implicit multiple pass, we can keep using .compute() without extra flag

The only problem with doing it implicitly is that it would be impossible to determine the return type statically (for TypeScript).
Canonicalizing a hostname requires a DNS lookup, which is async and means we need to return a Promise<Record>. However, if hostname canonicalization doesn't need to happen, we could simply return the Record directly. That means that, if desired, consumers who don't need canonicalization don't need to deal with Promises or async code at all.
But if we're going to do the canonicalization implicitly (like OpenSSH does[^1]), making it impossible to denote with TypeScript whether or not it'll return a Promise, then I think really there are two options:

Change .compute() to always return Promise<Record>; or
Change .compute() to return Record | Promise<Record>, and leave it up to the consumer to figure out if they need to await or not.

The former makes more sense to me, since it just denotes that .compute() is an asynchronous operation in general. The downside is that the API would no longer be backwards compatible. If you're okay with changing the API to always return a Promise, then I support the implicit pass and converting .compute() to async. Otherwise, that was the rationale behind the explicit/opt-in flag: in that case, the old .compute(string) -> Record signature remains intact for those that don't want to deal with async.
[^1]: They're in C with access to syscalls and stuff like getaddrinfo so their version has no async to worry about—so we can't follow their example.

There is already the spawnSync for an exec match, which can take an arbitrary amount of time. Wouldn't it be fine to do the canoncialisation synchronously as well?
I think just adding an async variant of compute (or making compute async in a breaking change, with the old method renamed to computeSync) would be the better way to introduce it, without associating async-ness with a particular argument or SSH config field.

Yes, I think it would be totally fine to do canonicalization synchronously as well. But... is it even possible to do a DNS lookup synchronously with JavaScript? Node provides one with a callback and one that returns a promise in the DNS module.
The documentation for dns.lookup say that it calls getaddrinfo(3) directly, makes it seem like our best bet for accurately porting over OpenSSH's functionality. But after a quick skim, I can't find a mention in the documentation for the DNS module for how perform the lookup synchronously.
Aside from that, I like the idea of compute() and computeSync(). It matches Node's naming conventions.

Oh sorry, I didn't realise there wasn't a sync variant of the lookup. Yeah, that makes things hard. If there's no way to do it, could it just be a documented limitation of the computeSync variant if we go that path?

I just did some Googling, since Node says it just uses libuv to convert the synchronous getaddrinfo into an async interface... so surely there's some way to de-async it. Which... there is! ...but, it needs to use some C++ code to interact with Node-API. I think anything that adds node-gyp or a C++ compiler as a dependency to an SSH config library is serious overkill.
So, yeah, I think just documenting that computeSync doesn't support the hostname stuff (or any other async stuff in the future) is the best we could do 😄

We can spawnSync('nslookup', [hostname]) then handle the returned output buffer accordingly. In general, I think a major version bump for the compute/computSync duo with dns.lookup() as default is worthy.

That's perfect! I figured we'd have to use dns.lookup() instead of spawning a secondary process because dig (what I usually use on *nix) isn't available on Windows. But it looks like nslookup is available everywhere. I had never heard of it before.

@matthew-e-brown @BenjaminGrayNp1 are you guys working on this? If not I think  I can have this feature implemented this week.

I keep meaning to get into it on the weekends but with my next semester quickly approaching I haven't found the time. Go for it 😁


option to close find-cursor?

Hello, I have created a launcher to launch the cursor whenever I want others to see my cursor on Skype. However, I don't see an easy way to close it once I am finished "pointing". I know I can kill it in the terminal, but each time I launch it, it is assigned a different ID number. How can I close the application with one click or universal command?

There's no real option to do that, and it wouldn't be easy to add either as IPC is kinda hard. It wouldn't be very different from pkill find-cursor anyway, so I recommend to just use that.
You can use a little script to check if there is a find-cursor process and kill it, or start a new one in the background if there isn't:
if pgrep find-cursor; then
    pkill find-cursor
else
    find-cursor -r0 &
fi

If you map this to a key in your WM then it should work like a "toggle" key.

Thank you. This works. Great script, keep it up.Sent from my Samsung Galaxy smartphone.
-------- Original message --------From: Martin Tournoij<EMAIL_ADDRESS>Date: 5/26/20  2:16 PM  (GMT+01:00) To: arp242/find-cursor<EMAIL_ADDRESS>Cc: dianat100<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [arp242/find-cursor] option to close find-cursor? (#20)
There's no real option to do that, and it wouldn't be easy to add either as IPC is kinda hard. It wouldn't be very different from pkill find-cursor anyway, so I recommend to just use that.
You can use a little script to check if there is a find-cursor process and kill it, or start a new one in the background if there isn't:
if pgrep find-cursor; then
pkill find-cursor
else
find-cursor -r0 &
fi
If you map this to a key in your WM then it should work like a "toggle" key.
—You are receiving this because you authored the thread.Reply to this email directly, view it on GitHub, or unsubscribe.
[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/arp242/find-cursor/issues/20#issuecomment-633987997",
"url": "https://github.com/arp242/find-cursor/issues/20#issuecomment-633987997",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]

Cheers, I added it to the README.


Add workspace functions for HuaweiCloud provider

Create and delete workspace networking resources
Add HUAWEICLOUD SDK package into setup.py and requirements.txt
Add HUAWEICLOUD default config files, and update schema.

Related-with: #1011

@kiwik  Thank you for the code.
I will start to review it and share my feedbacks soon.

@kiwik Thank you for the code. I will start to review it and share my feedbacks soon.

Thank you

I have fixed all of you questions, feel free to review latest patch set, thank you. @jerrychenhf

Rebase on latest upstream main, resolve merge conflicts.

Thanks @kiwik for the updates! I will review ASAP.

Thanks @kiwik  for the work!
The code looks great. I will commit.


SentryAuthenticationProvider problem

SentryAuthenticationProvider isn't using the $userId attribute and always returns null
Fixed in #10

Fix in 0.2.14. Thanks!

Fix in 0.2.14. Thanks!


SubscriptionDataSource.Rest Polling Daily for Hourly Resolution

Expected Behavior
The OnData event should Poll the GetSource Function every hour in case SubscriptionDataSource.Rest api is used for getting the data.
Actual Behavior
Even after specifying, minute or hour as resolution, the URL is being polled daily instead due to which the daily bars are going in OnData.
Potential Solution
Based on the resolution specified for the universe the SubscriptionDataSource.Rest api should be polled every resolution time step.
Reproducing the Problem
Following is the Custom Data using algorithm. If you add a breakpoint at return of GetSource, You will notice the execution is coming at it on daily level rather than Hourly frequency
`class CustomDataStock(QCAlgorithm):
def Initialize(self):
    self.SetStartDate(2020, 1, 1)
    self.SetEndDate(2020, 1, 31)
    self.SetCash(100000)
    self.reso = Resolution.Hour
    self.UniverseSettings.Resolution = self.reso

    # Define the symbol and "type" of our generic data:
    self.appleEquity = self.AddEquity("APPL", self.reso, Market.NSE,True,1,False).Symbol
    self.apple = self.AddData(CustomStock, self.appleEquity, self.reso).Symbol
    self.prices = []

class Stock(PythonData):
def GetSource(self, config, date, isLiveMode):
     return SubscriptionDataSource(<URL>, SubscriptionTransportMedium.Rest)

`
System Information
Windows 10
Python 3.6.8
Checklist

[x] I have completely filled out this template
[x] I have confirmed that this issue exists on the current master branch
[x] I have confirmed that this is not a duplicate issue by searching issues

[x] I have provided detailed steps to reproduce the issue

Hey @abhi555shek!
I'm supposing this is a live trading issue. Can't seem to reproduce it, tested using Resolution.Minute and GetSouce and the rest call are triggered every minute, note that the date sent in to the GetSource method is just the date component (minutes/hours/etc are not set). The following is the algorithm I used:
def Initialize(self):
    self.SetStartDate(2020, 1, 1)
    self.SetEndDate(2020, 1, 31)
    self.reso = Resolution.Minute
    self.UniverseSettings.Resolution = self.reso

    # Define the symbol and "type" of our generic data:
    self.appleEquity = self.AddEquity("APPL", self.reso, Market.USA,True,1,False).Symbol
    self.apple = self.AddData(CustomStock, self.appleEquity, self.reso).Symbol
    self.prices = []
class CustomStock(PythonData):
def GetSource(self, config, date, isLiveMode):
     return SubscriptionDataSource("https://www.SomeAddress.com", SubscriptionTransportMedium.Rest)

def Reader(self, config, line, date, isLiveMode):
    return None

Note that for backtesting the behavior is different: it will only make a new request when the source address has changed in a daily manner, maybe this could explain the behavior seen? This is currently by design, for each tradable date it will refresh the source and make the rest request if the source address has changed

Martin, I am using the api for backtesting purpose using the database. The api address is like
http://xxx.xx.xx.xx:5342//. So for every iteration via GetSource, the url will change as per the timestamp but the issue is the execution increases the date everytime it comes into the GetSource even for minute and hourly resolutions.
For e.g. Resolution = Hour
Iteration 1: Date = (2020,1,1)
Iteration 2: Date = (2020,1,2)  (I expected the second iteration at same date (2020,1,1) with time increased by one hour as this is the resolution time step and api should provide only one data point)

I second this problem ^

I found a similar problem using
self.UniverseSettings.Resolution = Resolution.Hour
The following code reproduce the error using LEAN locally and does not happen using quantconnect backtest nodes
Backtest with expected behaviour
Code to reproduce (also can be found in quantconnect backtest)
from AlgorithmImports import *

class Bugreport(QCAlgorithm):
    _ondatacalls = 0

    def Initialize(self):
        self.SetStartDate(2021, 4, 1)  # Set Start Date
        self.SetEndDate(2021, 5, 1)  # Set End Date
        self.SetCash(100000)  # Set Strategy Cash

        self._selection = []

        self.UniverseSettings.Resolution = Resolution.Hour
        self.AddUniverse(self._coarse_selection)

    def _coarse_selection(self, coarse):
        if len(self._selection) == 0:
            self._selection = [Symbol.Create(
                "BTCUSD", SecurityType.Crypto, Market.Bitfinex)]
        return self._selection

    def OnData(self, data):
        """OnData event is the primary entry point for your algorithm. Each new data point will be pumped in here.
            Arguments:
                data: Slice object keyed by symbol containing the stock data
        """
        self._ondatacalls += 1
        self.Debug("On Data " + str(self._ondatacalls))
        if not self.Portfolio.Invested:
            each_percent = 1/len(self._selection)
            for symbol in self._selection:
                self.SetHoldings(symbol, each_percent)
            self.Debug("Purchased Stock")
        if self.Portfolio.Invested:
            self.Liquidate()
            self.Debug("Sold Stock")

Log generated by executing this with lean, version 1.0.71
2021-11-16T10:53:23.8022580Z TRACE:: Config.Get(): Configuration key not found. Key: data-directory - Using default value: ../../../Data/
2021-11-16T10:53:23.8213624Z TRACE:: Config.Get(): Configuration key not found. Key: version-id - Using default value:
2021-11-16T10:53:23.8218257Z TRACE:: Config.Get(): Configuration key not found. Key: cache-location - Using default value: /Lean/Data
2021-11-16T10:53:23.8225670Z TRACE:: Engine.Main(): LEAN ALGORITHMIC TRADING ENGINE v<IP_ADDRESS> Mode: DEBUG (64bit) Host: Daniel
2021-11-16T10:53:23.8474271Z TRACE:: Engine.Main(): Started 10:53 AM
2021-11-16T10:53:23.8575641Z TRACE:: Config.Get(): Configuration key not found. Key: lean-manager-type - Using default value: LocalLeanManager
2021-11-16T10:53:23.9018833Z TRACE:: JobQueue.NextJob(): Selected /LeanCLI/main.py
2021-11-16T10:53:24.0846459Z TRACE:: Config.GetValue(): scheduled-event-leaky-bucket-capacity - Using default value: 120
2021-11-16T10:53:24.0851892Z TRACE:: Config.GetValue(): scheduled-event-leaky-bucket-time-interval-minutes - Using default value: 1440
2021-11-16T10:53:24.0854539Z TRACE:: Config.GetValue(): scheduled-event-leaky-bucket-refill-amount - Using default value: 18
2021-11-16T10:53:24.1030477Z TRACE:: Config.Get(): Configuration key not found. Key: job-organization-id - Using default value:
2021-11-16T10:53:24.1039909Z TRACE:: Config.Get(): Configuration key not found. Key: data-permission-manager - Using default value: DataPermissionManager
2021-11-16T10:53:24.1450094Z TRACE:: AlgorithmManager.CreateTokenBucket(): Initializing LeakyBucket: Capacity: 120 RefillAmount: 18 TimeInterval: 1440
2021-11-16T10:53:24.1535518Z TRACE:: Config.GetValue(): algorithm-manager-time-loop-maximum - Using default value: 20
2021-11-16T10:53:24.2251567Z TRACE:: TextSubscriptionDataSourceReader.SetCacheSize(): Setting cache size to 71582788 items
2021-11-16T10:53:24.7306008Z TRACE:: Config.GetValue(): algorithm-creation-timeout - Using default value: 90
2021-11-16T10:53:24.7367156Z TRACE:: PythonInitializer.Initialize(): start...
2021-11-16T10:53:26.5212960Z TRACE:: PythonInitializer.Initialize(): ended
2021-11-16T10:53:26.5268363Z TRACE:: AlgorithmPythonWrapper(): Python version 3.6.8 |Anaconda, Inc.| (default, Dec 30 2018, 01:25:33)
[GCC 7.3.0]: Importing python module main
2021-11-16T10:53:29.2271960Z TRACE:: AlgorithmPythonWrapper(): main successfully imported.
2021-11-16T10:53:29.2307767Z TRACE:: AlgorithmPythonWrapper(): Creating IAlgorithm instance.
2021-11-16T10:53:29.2400971Z TRACE:: Config.GetValue(): api-data-update-period - Using default value: 1
2021-11-16T10:53:29.5477663Z TRACE:: Config.GetValue(): mute-python-library-logging - Using default value: True
2021-11-16T10:53:29.5907907Z TRACE:: LocalObjectStore.Initialize(): Storage Root: /Storage/QCAlgorithm. StorageFileCount 100. StorageLimitMB 5
2021-11-16T10:53:29.6224006Z TRACE:: BacktestingSetupHandler.Setup(): Setting up job: Plan: Free, UID: 171157, PID: 814184126, Version: <IP_ADDRESS>, Source: WebIDE
2021-11-16T10:53:29.6341580Z TRACE:: Config.Get(): Configuration key not found. Key: security-data-feeds - Using default value:
2021-11-16T10:53:29.8453817Z TRACE:: Config.GetValue(): data-feed-max-work-weight - Using default value: 400
2021-11-16T10:53:29.8466594Z TRACE:: Config.GetValue(): data-feed-workers-count - Using default value: 12
2021-11-16T10:53:29.8473210Z TRACE:: WeightedWorkScheduler(): will use 12 workers and MaxWorkWeight is 400
2021-11-16T10:53:29.8487892Z DEBUG:: DataManager.AddSubscription(): Added QC-UNIVERSE-COARSE-USA-6FD84044-7580-41B7-B9DD-5FAECE9386EA,QC-UNIVERSE-COARSE-USA-6FD84044-7580-41B7-B9DD-5FAECE9386EA,Daily,CoarseFundamental,Trade,Adjusted,Internal. Start: 4/1/2021 4:00:00 AM. End: 5/2/2021 3:59:59 AM
2021-11-16T10:53:29.8704312Z TRACE:: Config.GetValue(): show-missing-data-logs - Using default value: False
2021-11-16T10:53:29.8890086Z TRACE:: BaseSetupHandler.SetupCurrencyConversions():
Symbol      Quantity    Conversion = Value in USD
USD: $      100000.00 @       1.00 = $100000.0
-------------------------------------------------
CashBook Total Value:                $100000.0

2021-11-16T10:53:29.8990856Z TRACE:: SetUp Backtesting: User: 171157 ProjectId: 814184126 AlgoId:<PHONE_NUMBER>
2021-11-16T10:53:29.8997814Z TRACE:: Dates: Start: 04/01/2021 End: 05/01/2021 Cash: ¤100,000.00
2021-11-16T10:53:29.9036455Z TRACE:: BacktestingResultHandler(): Sample Period Set: 11.16
2021-11-16T10:53:29.9135501Z TRACE:: Config.GetValue(): forward-console-messages - Using default value: True
2021-11-16T10:53:29.9171060Z TRACE:: JOB HANDLERS:
2021-11-16T10:53:29.9180718Z TRACE::          DataFeed:     QuantConnect.Lean.Engine.DataFeeds.FileSystemDataFeed
2021-11-16T10:53:29.9190486Z TRACE::          Setup:        QuantConnect.Lean.Engine.Setup.ConsoleSetupHandler
2021-11-16T10:53:29.9194049Z TRACE::          RealTime:     QuantConnect.Lean.Engine.RealTime.BacktestingRealTimeHandler
2021-11-16T10:53:29.9220354Z TRACE::          Results:      QuantConnect.Lean.Engine.Results.BacktestingResultHandler
2021-11-16T10:53:29.9225877Z TRACE::          Transactions: QuantConnect.Lean.Engine.TransactionHandlers.BacktestingTransactionHandler
2021-11-16T10:53:29.9230747Z TRACE::          Alpha:        QuantConnect.Lean.Engine.Alphas.DefaultAlphaHandler
2021-11-16T10:53:29.9238488Z TRACE::          ObjectStore:  QuantConnect.Lean.Engine.Storage.LocalObjectStore
2021-11-16T10:53:29.9240831Z TRACE::          History Provider:     QuantConnect.Lean.Engine.HistoricalData.SubscriptionDataReaderHistoryProvider
2021-11-16T10:53:29.9713727Z TRACE:: Event Name "Daily Sampling", scheduled to run at 4/1/2021 4:00:00 AM (UTC)...
2021-11-16T10:53:29.9736854Z TRACE:: AlgorithmManager.Run(): Begin DataStream - Start: 4/1/2021 12:00:00 AM Stop: 5/1/2021 11:59:59 PM
2021-11-16T10:53:29.9805053Z TRACE:: Debug: Launching analysis for<PHONE_NUMBER> with LEAN Engine v<IP_ADDRESS>
2021-11-16T10:53:30.0739610Z DEBUG:: DataManager.SubscriptionManagerGetOrAdd(): subscription already added: BTCUSD,BTCUSD,Hour,TradeBar,Trade,Adjusted
2021-11-16T10:53:30.0831640Z DEBUG:: DataManager.SubscriptionManagerGetOrAdd(): subscription already added: BTCUSD,BTCUSD,Hour,QuoteBar,Quote,Adjusted
2021-11-16T10:53:30.0921373Z DEBUG:: DataManager.AddSubscription(): Added BTCUSD,BTCUSD,Hour,TradeBar,Trade,Adjusted. Start: 4/1/2021 4:00:00 AM. End: 5/2/2021 3:59:59 AM
2021-11-16T10:53:30.0950839Z DEBUG:: DataManager.AddSubscription(): Added BTCUSD,BTCUSD,Hour,QuoteBar,Quote,Adjusted. Start: 4/1/2021 4:00:00 AM. End: 5/2/2021 3:59:59 AM
2021-11-16T10:53:30.1312651Z DEBUG:: UniverseSelection.ApplyUniverseSelection(): 4/1/2021 4:00:00 AM: SecurityChanges:  Added: BTCUSD E3
2021-11-16T10:53:30.1411722Z DEBUG:: DataManager.RemoveSubscription(): Removed BTCUSD,BTCUSD,Hour,TradeBar,Trade,Adjusted
2021-11-16T10:53:30.1418767Z DEBUG:: Synchronizer.SubscriptionFinished(): Finished subscription:BTCUSD,BTCUSD,Hour,TradeBar,Trade,Adjusted at 4/1/2021 4:00:00 AM UTC
2021-11-16T10:53:30.1424380Z DEBUG:: DataManager.RemoveSubscription(): Removed BTCUSD,BTCUSD,Hour,QuoteBar,Quote,Adjusted
2021-11-16T10:53:30.1428895Z DEBUG:: Synchronizer.SubscriptionFinished(): Finished subscription:BTCUSD,BTCUSD,Hour,QuoteBar,Quote,Adjusted at 4/1/2021 4:00:00 AM UTC
2021-11-16T10:53:30.1784255Z DEBUG:: DataManager.AddSubscription(): Added SPY,SPY,Hour,TradeBar,Trade,Adjusted,Internal. Start: 3/31/2021 4:00:00 AM. End: 5/2/2021 3:59:59 AM
2021-11-16T10:53:30.1826009Z TRACE:: UniverseSelection.AddPendingInternalDataFeeds(): Adding internal benchmark data feed SPY,SPY,Hour,TradeBar,Trade,Adjusted,Internal
2021-11-16T10:53:30.5014442Z DEBUG:: DataManager.RemoveSubscription(): Removed SPY,SPY,Hour,TradeBar,Trade,Adjusted,Internal
2021-11-16T10:53:30.5028571Z DEBUG:: Synchronizer.SubscriptionFinished(): Finished subscription:SPY,SPY,Hour,TradeBar,Trade,Adjusted,Internal at 4/1/2021 4:00:00 AM UTC
2021-11-16T10:53:30.5549958Z TRACE:: ScheduledEvent.Daily Sampling: Firing at 2021-04-01 04:00:00 UTC Scheduled at 2021-04-01 04:00:00 UTC
2021-11-16T10:53:30.5590425Z DEBUG:: BaseResultsHandler.SamplePerformance(): 4:00 AM >0
2021-11-16T10:53:30.5673383Z TRACE:: ScheduledEvent.Daily Sampling: Next event: 2021-04-02 04:00:00 UTC
2021-11-16T10:53:30.6139361Z TRACE:: ScheduledEvent.Daily Sampling: Firing at 2021-04-02 04:00:00 UTC Scheduled at 2021-04-02 04:00:00 UTC
2021-11-16T10:53:30.6146712Z DEBUG:: BaseResultsHandler.SamplePerformance(): 4:00 AM >0
2021-11-16T10:53:30.6210677Z TRACE:: ScheduledEvent.Daily Sampling: Next event: 2021-04-03 04:00:00 UTC
2021-11-16T10:53:30.6312150Z TRACE:: ScheduledEvent.Daily Sampling: Firing at 2021-04-03 04:00:00 UTC Scheduled at 2021-04-03 04:00:00 UTC
2021-11-16T10:53:30.6320185Z DEBUG:: BaseResultsHandler.SamplePerformance(): 4:00 AM >0
2021-11-16T10:53:30.6323658Z TRACE:: ScheduledEvent.Daily Sampling: Next event: 2021-04-04 04:00:00 UTC
2021-11-16T10:53:30.6327402Z TRACE:: ScheduledEvent.Daily Sampling: Firing at 2021-04-04 04:00:00 UTC Scheduled at 2021-04-04 04:00:00 UTC
2021-11-16T10:53:30.6330621Z DEBUG:: BaseResultsHandler.SamplePerformance(): 4:00 AM >0
2021-11-16T10:53:30.6341979Z TRACE:: ScheduledEvent.Daily Sampling: Next event: 2021-04-05 04:00:00 UTC
2021-11-16T10:53:30.6352116Z TRACE:: ScheduledEvent.Daily Sampling: Firing at 2021-04-05 04:00:00 UTC Scheduled at 2021-04-05 04:00:00 UTC
2021-11-16T10:53:30.6426279Z DEBUG:: BaseResultsHandler.SamplePerformance(): 4:00 AM >0
2021-11-16T10:53:30.6432916Z TRACE:: ScheduledEvent.Daily Sampling: Next event: 2021-04-06 04:00:00 UTC
2021-11-16T10:53:30.6487686Z TRACE:: ScheduledEvent.Daily Sampling: Firing at 2021-04-06 04:00:00 UTC Scheduled at 2021-04-06 04:00:00 UTC
2021-11-16T10:53:30.6493025Z DEBUG:: BaseResultsHandler.SamplePerformance(): 4:00 AM >0
2021-11-16T10:53:30.6500241Z TRACE:: ScheduledEvent.Daily Sampling: Next event: 2021-04-07 04:00:00 UTC
2021-11-16T10:53:30.6509224Z TRACE:: ScheduledEvent.Daily Sampling: Firing at 2021-04-07 04:00:00 UTC Scheduled at 2021-04-07 04:00:00 UTC
2021-11-16T10:53:30.6534755Z DEBUG:: BaseResultsHandler.SamplePerformance(): 4:00 AM >0
2021-11-16T10:53:30.6580361Z TRACE:: ScheduledEvent.Daily Sampling: Next event: 2021-04-08 04:00:00 UTC
2021-11-16T10:53:30.6586570Z TRACE:: ScheduledEvent.Daily Sampling: Firing at 2021-04-08 04:00:00 UTC Scheduled at 2021-04-08 04:00:00 UTC
2021-11-16T10:53:30.6610222Z DEBUG:: BaseResultsHandler.SamplePerformance(): 4:00 AM >0
2021-11-16T10:53:30.6627067Z TRACE:: ScheduledEvent.Daily Sampling: Next event: 2021-04-09 04:00:00 UTC
2021-11-16T10:53:30.6632532Z TRACE:: ScheduledEvent.Daily Sampling: Firing at 2021-04-09 04:00:00 UTC Scheduled at 2021-04-09 04:00:00 UTC
2021-11-16T10:53:30.6635761Z DEBUG:: BaseResultsHandler.SamplePerformance(): 4:00 AM >0
2021-11-16T10:53:30.6638459Z TRACE:: ScheduledEvent.Daily Sampling: Next event: 2021-04-10 04:00:00 UTC
2021-11-16T10:53:30.6664221Z TRACE:: ScheduledEvent.Daily Sampling: Firing at 2021-04-10 04:00:00 UTC Scheduled at 2021-04-10 04:00:00 UTC
2021-11-16T10:53:30.6686626Z DEBUG:: BaseResultsHandler.SamplePerformance(): 4:00 AM >0
2021-11-16T10:53:30.6703555Z TRACE:: ScheduledEvent.Daily Sampling: Next event: 2021-04-11 04:00:00 UTC
2021-11-16T10:53:30.6709043Z TRACE:: ScheduledEvent.Daily Sampling: Firing at 2021-04-11 04:00:00 UTC Scheduled at 2021-04-11 04:00:00 UTC
2021-11-16T10:53:30.6716868Z DEBUG:: BaseResultsHandler.SamplePerformance(): 4:00 AM >0
2021-11-16T10:53:30.6722222Z TRACE:: ScheduledEvent.Daily Sampling: Next event: 2021-04-12 04:00:00 UTC
2021-11-16T10:53:30.6725405Z TRACE:: ScheduledEvent.Daily Sampling: Firing at 2021-04-12 04:00:00 UTC Scheduled at 2021-04-12 04:00:00 UTC
2021-11-16T10:53:30.6764323Z DEBUG:: BaseResultsHandler.SamplePerformance(): 4:00 AM >0
2021-11-16T10:53:30.6793107Z TRACE:: ScheduledEvent.Daily Sampling: Next event: 2021-04-13 04:00:00 UTC
2021-11-16T10:53:30.6840651Z TRACE:: ScheduledEvent.Daily Sampling: Firing at 2021-04-13 04:00:00 UTC Scheduled at 2021-04-13 04:00:00 UTC
2021-11-16T10:53:30.6845128Z DEBUG:: BaseResultsHandler.SamplePerformance(): 4:00 AM >0
2021-11-16T10:53:30.6855707Z TRACE:: ScheduledEvent.Daily Sampling: Next event: 2021-04-14 04:00:00 UTC
2021-11-16T10:53:30.6861299Z TRACE:: ScheduledEvent.Daily Sampling: Firing at 2021-04-14 04:00:00 UTC Scheduled at 2021-04-14 04:00:00 UTC
2021-11-16T10:53:30.6864573Z DEBUG:: BaseResultsHandler.SamplePerformance(): 4:00 AM >0
2021-11-16T10:53:30.6868261Z TRACE:: ScheduledEvent.Daily Sampling: Next event: 2021-04-15 04:00:00 UTC
2021-11-16T10:53:30.6876186Z TRACE:: ScheduledEvent.Daily Sampling: Firing at 2021-04-15 04:00:00 UTC Scheduled at 2021-04-15 04:00:00 UTC
2021-11-16T10:53:30.6879042Z DEBUG:: BaseResultsHandler.SamplePerformance(): 4:00 AM >0
2021-11-16T10:53:30.6883413Z TRACE:: ScheduledEvent.Daily Sampling: Next event: 2021-04-16 04:00:00 UTC
2021-11-16T10:53:30.6888824Z TRACE:: ScheduledEvent.Daily Sampling: Firing at 2021-04-16 04:00:00 UTC Scheduled at 2021-04-16 04:00:00 UTC
2021-11-16T10:53:30.6891966Z DEBUG:: BaseResultsHandler.SamplePerformance(): 4:00 AM >0
2021-11-16T10:53:30.6895402Z TRACE:: ScheduledEvent.Daily Sampling: Next event: 2021-04-17 04:00:00 UTC
2021-11-16T10:53:30.6899315Z TRACE:: ScheduledEvent.Daily Sampling: Firing at 2021-04-17 04:00:00 UTC Scheduled at 2021-04-17 04:00:00 UTC
2021-11-16T10:53:30.6931575Z DEBUG:: BaseResultsHandler.SamplePerformance(): 4:00 AM >0
2021-11-16T10:53:30.6974899Z TRACE:: ScheduledEvent.Daily Sampling: Next event: 2021-04-18 04:00:00 UTC
2021-11-16T10:53:30.6980202Z TRACE:: ScheduledEvent.Daily Sampling: Firing at 2021-04-18 04:00:00 UTC Scheduled at 2021-04-18 04:00:00 UTC
2021-11-16T10:53:30.7017156Z DEBUG:: BaseResultsHandler.SamplePerformance(): 4:00 AM >0
2021-11-16T10:53:30.7021361Z TRACE:: ScheduledEvent.Daily Sampling: Next event: 2021-04-19 04:00:00 UTC
2021-11-16T10:53:30.7024888Z TRACE:: ScheduledEvent.Daily Sampling: Firing at 2021-04-19 04:00:00 UTC Scheduled at 2021-04-19 04:00:00 UTC
2021-11-16T10:53:30.7060529Z DEBUG:: BaseResultsHandler.SamplePerformance(): 4:00 AM >0
2021-11-16T10:53:30.7063887Z TRACE:: ScheduledEvent.Daily Sampling: Next event: 2021-04-20 04:00:00 UTC
2021-11-16T10:53:30.7068549Z TRACE:: ScheduledEvent.Daily Sampling: Firing at 2021-04-20 04:00:00 UTC Scheduled at 2021-04-20 04:00:00 UTC
2021-11-16T10:53:30.7070771Z DEBUG:: BaseResultsHandler.SamplePerformance(): 4:00 AM >0
2021-11-16T10:53:30.7073381Z TRACE:: ScheduledEvent.Daily Sampling: Next event: 2021-04-21 04:00:00 UTC
2021-11-16T10:53:30.7101048Z TRACE:: ScheduledEvent.Daily Sampling: Firing at 2021-04-21 04:00:00 UTC Scheduled at 2021-04-21 04:00:00 UTC
2021-11-16T10:53:30.7123875Z DEBUG:: BaseResultsHandler.SamplePerformance(): 4:00 AM >0
2021-11-16T10:53:30.7127600Z TRACE:: ScheduledEvent.Daily Sampling: Next event: 2021-04-22 04:00:00 UTC
2021-11-16T10:53:30.7149493Z TRACE:: ScheduledEvent.Daily Sampling: Firing at 2021-04-22 04:00:00 UTC Scheduled at 2021-04-22 04:00:00 UTC
2021-11-16T10:53:30.7154456Z DEBUG:: BaseResultsHandler.SamplePerformance(): 4:00 AM >0
2021-11-16T10:53:30.7164993Z TRACE:: ScheduledEvent.Daily Sampling: Next event: 2021-04-23 04:00:00 UTC
2021-11-16T10:53:30.7171353Z TRACE:: ScheduledEvent.Daily Sampling: Firing at 2021-04-23 04:00:00 UTC Scheduled at 2021-04-23 04:00:00 UTC
2021-11-16T10:53:30.7175400Z DEBUG:: BaseResultsHandler.SamplePerformance(): 4:00 AM >0
2021-11-16T10:53:30.7180242Z TRACE:: ScheduledEvent.Daily Sampling: Next event: 2021-04-24 04:00:00 UTC
2021-11-16T10:53:30.7184909Z TRACE:: ScheduledEvent.Daily Sampling: Firing at 2021-04-24 04:00:00 UTC Scheduled at 2021-04-24 04:00:00 UTC
2021-11-16T10:53:30.7189009Z DEBUG:: BaseResultsHandler.SamplePerformance(): 4:00 AM >0
2021-11-16T10:53:30.7192247Z TRACE:: ScheduledEvent.Daily Sampling: Next event: 2021-04-25 04:00:00 UTC
2021-11-16T10:53:30.7195702Z TRACE:: ScheduledEvent.Daily Sampling: Firing at 2021-04-25 04:00:00 UTC Scheduled at 2021-04-25 04:00:00 UTC
2021-11-16T10:53:30.7199427Z DEBUG:: BaseResultsHandler.SamplePerformance(): 4:00 AM >0
2021-11-16T10:53:30.7205144Z TRACE:: ScheduledEvent.Daily Sampling: Next event: 2021-04-26 04:00:00 UTC
2021-11-16T10:53:30.7215074Z TRACE:: ScheduledEvent.Daily Sampling: Firing at 2021-04-26 04:00:00 UTC Scheduled at 2021-04-26 04:00:00 UTC
2021-11-16T10:53:30.7217725Z DEBUG:: BaseResultsHandler.SamplePerformance(): 4:00 AM >0
2021-11-16T10:53:30.7220986Z TRACE:: ScheduledEvent.Daily Sampling: Next event: 2021-04-27 04:00:00 UTC
2021-11-16T10:53:30.7225158Z TRACE:: ScheduledEvent.Daily Sampling: Firing at 2021-04-27 04:00:00 UTC Scheduled at 2021-04-27 04:00:00 UTC
2021-11-16T10:53:30.7227685Z DEBUG:: BaseResultsHandler.SamplePerformance(): 4:00 AM >0
2021-11-16T10:53:30.7231865Z TRACE:: ScheduledEvent.Daily Sampling: Next event: 2021-04-28 04:00:00 UTC
2021-11-16T10:53:30.7238322Z TRACE:: ScheduledEvent.Daily Sampling: Firing at 2021-04-28 04:00:00 UTC Scheduled at 2021-04-28 04:00:00 UTC
2021-11-16T10:53:30.7242943Z DEBUG:: BaseResultsHandler.SamplePerformance(): 4:00 AM >0
2021-11-16T10:53:30.7251751Z TRACE:: ScheduledEvent.Daily Sampling: Next event: 2021-04-29 04:00:00 UTC
2021-11-16T10:53:30.7282948Z TRACE:: ScheduledEvent.Daily Sampling: Firing at 2021-04-29 04:00:00 UTC Scheduled at 2021-04-29 04:00:00 UTC
2021-11-16T10:53:30.7305429Z DEBUG:: BaseResultsHandler.SamplePerformance(): 4:00 AM >0
2021-11-16T10:53:30.7310763Z TRACE:: ScheduledEvent.Daily Sampling: Next event: 2021-04-30 04:00:00 UTC
2021-11-16T10:53:30.7319471Z TRACE:: ScheduledEvent.Daily Sampling: Firing at 2021-04-30 04:00:00 UTC Scheduled at 2021-04-30 04:00:00 UTC
2021-11-16T10:53:30.7323835Z DEBUG:: BaseResultsHandler.SamplePerformance(): 4:00 AM >0
2021-11-16T10:53:30.7327318Z TRACE:: ScheduledEvent.Daily Sampling: Next event: 2021-05-01 04:00:00 UTC
2021-11-16T10:53:30.7333391Z DEBUG:: DataManager.RemoveSubscription(): Removed QC-UNIVERSE-COARSE-USA-6FD84044-7580-41B7-B9DD-5FAECE9386EA,QC-UNIVERSE-COARSE-USA-6FD84044-7580-41B7-B9DD-5FAECE9386EA,Daily,CoarseFundamental,Trade,Adjusted,Internal
2021-11-16T10:53:30.7371761Z DEBUG:: Synchronizer.SubscriptionFinished(): Finished subscription:QC-UNIVERSE-COARSE-USA-6FD84044-7580-41B7-B9DD-5FAECE9386EA,QC-UNIVERSE-COARSE-USA-6FD84044-7580-41B7-B9DD-5FAECE9386EA,Daily,CoarseFundamental,Trade,Adjusted,Internal at 5/1/2021 4:00:00 AM UTC
2021-11-16T10:53:30.7382040Z TRACE:: ScheduledEvent.Daily Sampling: Firing at 2021-05-01 04:00:00 UTC Scheduled at 2021-05-01 04:00:00 UTC
2021-11-16T10:53:30.7390493Z DEBUG:: BaseResultsHandler.SamplePerformance(): 4:00 AM >0
2021-11-16T10:53:30.7420515Z TRACE:: ScheduledEvent.Daily Sampling: Next event: 2021-05-02 04:00:00 UTC
2021-11-16T10:53:30.7428184Z TRACE:: Synchronizer.GetEnumerator(): Exited thread.
2021-11-16T10:53:30.7443985Z TRACE:: AlgorithmManager.Run(): Firing On End Of Algorithm...
2021-11-16T10:53:30.7539936Z DEBUG:: BaseResultsHandler.SamplePerformance(): 4:00 AM >0
2021-11-16T10:53:30.7544283Z TRACE:: Engine.Run(): Exiting Algorithm Manager
2021-11-16T10:53:30.7565910Z TRACE:: FileSystemDataFeed.Exit(): Start. Setting cancellation token...
2021-11-16T10:53:30.7639486Z TRACE:: FileSystemDataFeed.Exit(): Exit Finished.
2021-11-16T10:53:30.7646428Z TRACE:: DefaultAlphaHandler.Exit(): Exiting...
2021-11-16T10:53:30.7735932Z TRACE:: DefaultAlphaHandler.Exit(): Ended
2021-11-16T10:53:30.7742672Z TRACE:: BacktestingResultHandler.Exit(): starting...
2021-11-16T10:53:30.7748622Z TRACE:: BacktestingResultHandler.Exit(): Saving logs...
2021-11-16T10:53:30.7839639Z TRACE:: Debug: Algorithm Id:(1713821531) completed in 0.83 seconds at 0k data points per second. Processing total of 7 data points.
2021-11-16T10:53:30.7912421Z TRACE:: Debug: Your log was successfully created and can be retrieved from: /Results/1713821531-log.txt
2021-11-16T10:53:30.7915010Z TRACE:: StopSafely(): waiting for 'Result Thread' thread to stop...
2021-11-16T10:53:30.7918000Z TRACE:: BacktestingResultHandler.Run(): Ending Thread...
2021-11-16T10:53:31.0060958Z TRACE:: Config.GetValue(): regression-update-statistics - Using default value: False
2021-11-16T10:53:31.0068640Z TRACE::
STATISTICS:: Total Trades 0
STATISTICS:: Average Win 0%
STATISTICS:: Average Loss 0%
STATISTICS:: Compounding Annual Return 0%
STATISTICS:: Drawdown 0%
STATISTICS:: Expectancy 0
STATISTICS:: Net Profit 0%
STATISTICS:: Sharpe Ratio 0
STATISTICS:: Probabilistic Sharpe Ratio 0%
STATISTICS:: Loss Rate 0%
STATISTICS:: Win Rate 0%
STATISTICS:: Profit-Loss Ratio 0
STATISTICS:: Alpha 0
STATISTICS:: Beta 0
STATISTICS:: Annual Standard Deviation 0
STATISTICS:: Annual Variance 0
STATISTICS:: Information Ratio 0
STATISTICS:: Tracking Error 0
STATISTICS:: Treynor Ratio 0
STATISTICS:: Total Fees $0.00
STATISTICS:: Estimated Strategy Capacity $0
STATISTICS:: Lowest Capacity Asset
STATISTICS:: Fitness Score 0
STATISTICS:: Kelly Criterion Estimate 0
STATISTICS:: Kelly Criterion Probability Value 0
STATISTICS:: Sortino Ratio<PHONE_NUMBER>4264337593543950335
STATISTICS:: Return Over Maximum Drawdown<PHONE_NUMBER>4264337593543950335
STATISTICS:: Portfolio Turnover 0
STATISTICS:: Total Insights Generated 0
STATISTICS:: Total Insights Closed 0
STATISTICS:: Total Insights Analysis Completed 0
STATISTICS:: Long Insight Count 0
STATISTICS:: Short Insight Count 0
STATISTICS:: Long/Short Ratio 100%
STATISTICS:: Estimated Monthly Alpha Value $0
STATISTICS:: Total Accumulated Estimated Alpha Value $0
STATISTICS:: Mean Population Estimated Insight Value $0
STATISTICS:: Mean Population Direction 0%
STATISTICS:: Mean Population Magnitude 0%
STATISTICS:: Rolling Averaged Population Direction 0%
STATISTICS:: Rolling Averaged Population Magnitude 0%
STATISTICS:: OrderListHash d41d8cd98f00b204e9800998ecf8427e
2021-11-16T10:53:31.0071573Z TRACE:: BacktestingResultHandler.SendAnalysisResult(): Processed final packet
2021-11-16T10:53:31.0077223Z TRACE:: Engine.Run(): Disconnecting from brokerage...
2021-11-16T10:53:31.0104903Z TRACE:: Engine.Run(): Disposing of setup handler...
2021-11-16T10:53:31.0111220Z TRACE:: Engine.Main(): Analysis Completed and Results Posted.
2021-11-16T10:53:31.0119918Z TRACE:: Engine.Main(): Packet removed from queue:<PHONE_NUMBER>
2021-11-16T10:53:31.0124962Z TRACE:: LeanEngineSystemHandlers.Dispose(): start...
2021-11-16T10:53:31.0131715Z TRACE:: LeanEngineSystemHandlers.Dispose(): Disposed of system handlers.
2021-11-16T10:53:31.0138802Z TRACE:: LeanEngineAlgorithmHandlers.Dispose(): start...
2021-11-16T10:53:31.0288538Z TRACE:: LeanEngineAlgorithmHandlers.Dispose(): Disposed of algorithm handlers.

As you can see in the logs there is no On Data debug logs, nor the algorithm produce any order where the code is buying at the beginning of an hour an selling in the next, Using crypto which is near immediate
Using AddUniverseSelection the issue cannot be reproduced, seems to be only happening when using Resolution.Hour with AddUniverse on local
HTH

Closing as we could not repeat the issue


TSX / TypeScriptReact commenting does not work

Pressing ctrl+/ does not comment out the highlighted block on .tsx files but does on .ts files.

to me even on .ts files doesn't work. 5 years later

Now I think sublime is bad.


Fix performance card title alignment issues

Screenshots:
Before:

After:

/lgtm

/override ci/prow/odf-console-e2e-aws

/override ci/prow/lint


Feature/transactional licence form

Changes in this PR:
This PR  implements the new "transactional licence"  / "computational analysis licence" application form - scoping it within  a new django app for clarity (As it's rather unwieldy and doesn't really interface with the 'judgments' app at all).
It's using django forms and Formtools wizard to handle state in multistage forms.
The form results will are sent to the TNA microsoft dynamics instance via email (See transactional_licence_form/utils.py for the gory details, currently).
The actual interactive form is not yet linked from the "introductory" pages, there is a downloadable word document provided instead, so that we can ship the improved introductory content while we do any final amends to the form. Once we're ready to ship the whole thing we just need to change one link url in step2.html  which i will comment below to highlight.
Screenshots
This video shows the stopgap "downloadable application form" flow
https://github.com/nationalarchives/ds-caselaw-public-ui/assets/75584408/d40d4a2d-11d8-4464-8b06-fa46bbb7f299
When we're ready to release the interactive form, it will appear like this:

Jira linked card new data reuse pages:https://national-archives.atlassian.net/jira/software/projects/FCL/boards/136?selectedIssue=FCL-83
[ ] REQUIRES ENV TO BE UPDATED with Amazon SES credentials (see config/settings/base.py)

The codeclimate errors are worth a quick look at since it's new code.

[19:17:10] (feature/transactional-licence-form) [tim@bananastand:~/src/dxw/ds-caselaw-public-ui]$ pre-commit run --all-files
trim trailing whitespace.................................................Passed
fix end of files.........................................................Passed
check yaml...............................................................Passed
black....................................................................Passed
isort....................................................................Passed
flake8...................................................................Passed
djLint formatting for Django.............................................Passed
djLint linting for Django................................................Passed
prettier.................................................................Passed
[19:17:42] (feature/transactional-licence-form) [tim@bananastand:~/src/dxw/ds-caselaw-public-ui]$ git fetch && git status
remote: Enumerating objects: 41, done.
remote: Counting objects: 100% (41/41), done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 41 (delta 33), reused 40 (delta 32), pack-reused 0
Unpacking objects: 100% (41/41), 6.12 KiB | 895.00 KiB/s, done.
From github.com:nationalarchives/ds-caselaw-public-ui
   451f6bf..9cf779b  FCL32/remove-date-error-validation-on-filter-submission -> origin/FCL32/remove-date-error-validation-on-filter-submission
On branch feature/transactional-licence-form
Your branch is up to date with 'origin/feature/transactional-licence-form'.

nothing to commit, working tree clean

Absolutely no idea what is going on with the CI wrt the linter and translations, will investigate further on Thursday.

@dragon-dxw codeclimate errors fixed!


tk: fix x64 darwin build

update replace -framework -> -weak_framework to remove reference to UniformTypeIdentifiers
https://hydra.nixos.org/build/279564344
staging doesn't need the fix because x64 darwin is on sdk 11

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[x] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.
@emilazy

This came up in https://github.com/NixOS/nixpkgs/pull/357222 – might be better to just use the macOS 11 SDK for Tk across the board and drop the condition?

This came up in #357222 – might be better to just use the macOS 11 SDK for Tk across the board and drop the condition?

sure. this change probably breaks tk-8_5 anyway. will remove condition, and build tk-8_5, tk-9 and tk-8_6.

This came up in #357222 – might be better to just use the macOS 11 SDK for Tk across the board and drop the condition?

sure. this change probably breaks tk-8_5 anyway. will remove condition, and build tk-8_5, tk-9 and tk-8_6.

ok. tk-9_0 builds but tcl-8_5 fails due to a compile error so left as broken -- it's trying to typedef ptrdiff_t to an int which seems bad given that it should be 64 bits so there might be other issues.

eh. I think moving to apple-sdk_11 is a breaking change for some users on x64 darwin so went with the first option. given that 8.5 and 9.0 are already listed as broken the change doesn't effect them.

I think this should be for staging-next-24.11.  Right now nix-review-tools-reports says that ~1.4k builds is blocked by this.

I think this should be for staging-next-24.11. Right now nix-review-tools-reports says that ~1.4k builds is blocked by this, and I don't expect this PR rebuilds anything but the broken build.

fixed