Feature Request: Vec3,vec4 Color Picker

I use this plugin every single day for my Glsl daily and just love it. The one thing I'm really missing is the color picker from glslCanvas.....I also love the float sliders, but hey....I just love the color picker more.
Would there be any chance of integrating a color picker?

I'm loving this so far....

https://code.visualstudio.com/api/extension-guides/webview
Could this help for making a float component?

The feature you linked only displays webviews on a separate tab (some examples are: this GL canvas extension and the markdown preview), I looked into using it, but the user experience is just terrible and slow, the pickers need to be placed in-line or over the code to be useful in any way.
What we need is the code inset feature, that is the vscode#66418 PR I mentioned above, and that is still under development.

Ahhh yeah.... Figured as much. I got there following that link and threw it in real quick. I does look like some progress on that inset feature has been made in the last few weeks. I saw something in my searching about it

Hey guys! Does this help at all? Looks like inset Webview's at a line number

Yes, that's the inset feature we're waiting for, it's in beta test on the Insiders build of vscode

🎉 Huray!

Wow i love this

Is there a way to turn off this feature?
In my case, this harms the readability a lot.


How to enable localtunnel or ngrok (or something for tunnel)

I love this image, but can't for the life of me figure out how to enable ngrok or localtunnel in the setup so that I can show clients previews of local sites over the internet. Please help, thanks!

Since the containers bind to ports on the host, any time I've needed to use ngrok, I've run it on the host, rather than in docker.

Once you have wp-local-docker up and running (and you can see WP running on localhost) you can do ngrok http 80
Once started, it will give you output like
Forwarding                    http://abc123.ngrok.io -> localhost:80
Forwarding                    https://abc123.ngrok.io -> localhost:80

and you should be able to access the site at the provided ngrok.io address. If you already went through the WordPress install, it will probably try and redirect you to localhost or a custom host name if you have it in your hosts file, so make sure to either do a search/replace, or else do the WordPress setup from the ngrok domain to get the correct site url in the database.

So, would I add that in the docker-compose file to make sure ngrok is always running when the container is running?

I've never run ngrok in a container, I usually just run it on the host (my laptop)

Do you just make sure it's always running? Wouldn't it break the container if not running?

The container will run either way and bind to your local machine's port 80. Running ngrok just forwards traffic from the internet to your machine

I thought you had to change the site url in the config file

Shouldn't need to change any URLs in the config file.. nginx is set up to listen to any url on port 80. The only place you might need to change it is if your wp_options table doesn't have the ngrok url.


Scary warning on host report email

The host report this month triggered a warning in gmail:

If we can figure out why this is happening and fix it, we should, as it's pretty offputting.

Using Gmail and haven't got this warning.

same

Closing. I don't see actionable here. Let's keep our eyes open and report it if this happens again.


Add atomic store and load. Seems we need it

Signed-off-by: Ronald G. Minnich<EMAIL_ADDRESS>

You should also remove the riscv implementations.


FYI: Custom Climate Template

Not a bug.... I just want this to be recorded somewhere as it looks like a perfect companion for Bepacom
One of the challenges with Bepacom from my experience is mapping the entities that it creates to a HA Climate template.. But it seems an old climate template addition has been revived and can be added via HACS.
https://github.com/litinoveweedle/hass-template-climate
I have been setting this up over the last couple of days, at the moment I have managed to get it reading everything perfectly well. But I am still stuck getting it to write back, although I know the issue is somewhere with my configuration and the way Bepacom is handling the multistates.
Anyway, hope this is of benefit for everyone.
(Greyseal you can close this issue, but atleast if people search they will come across it)

Awesome, thanks for sharing!
If you're having difficulty writing, maybe I can help out.
Feel free to share the config and I'll see if anything sticks out.

Sorry it took me a while to get back, I needed to get the fence finished before rainy season started... quite literaly I did the last coat of paint yesterday and it started raining today!!
Everything below seems to be working ok, in terms of reading and representing all of the data inside HA correctly. Except the write back...
There is one odd point with the Daikins, ON/OFF is seperate from the mode. So you can see in the HVAC mode template I have it first checking if the unit is turned off, then elseif the actual mode as it should be running is OFF is false.
Going through this process what I do not is different is the numbers in the Bepacom States are different from directly looking at the D-BACS interface. How are the numbers derived in Bepacom?
Also you will see that so far I am only trying to set fan speed, the plan is to get that working and then replicate to the other aspects, then finally to the other AC units.
`climate:

platform: climate_template
unique_id: l2_ac_office
name: L2_AC_Office
hvac_modes:

"dry"
"off"
"cool"
"fan_only"
swing_modes:
"off"
"vertical"
fan_modes:
"auto"
"low"
"medium"
"high"
min_temp: 24
max_temp: 30

current_temperature_template: "{{ states('sensor.bacnet_roomtemp_020') }}"
target_temperature_template: "{{ states('number.bacnet_tempadjust_020') }}"
hvac_mode_template: "{% if states('binary_sensor.bacnet_thermostatus_020') == 'off' %}off{% elif states('sensor.bacnet_airconmodestatus_020') == '1' %}cool{% elif  states('sensor.bacnet_airconmodestatus_020') == '3'%}fan{% elif  states('sensor.bacnet_airconmodestatus_020') == '5'%}dry{% else %}off{% endif %}"
fan_mode_template: "{% if states('sensor.bacnet_airflowratestatus_020') == '4' %}auto{% elif  states('sensor.bacnet_airflowratestatus_020') == '1'%}low{% elif  states('sensor.bacnet_airflowratestatus_020') == '3'%}medium{% elif  states('sensor.bacnet_airflowratestatus_020') == '2'%}high{% else %}off{% endif %}"
set_fan_mode:

service: climate.set_fan_mode
target:
entity_id: select.bacnet_airflowratecommand_020
data:
#fan_mode: "{{ fan_mode }}"
#fan_mode: >-
{% if fan_mode == '1' %}
low
{% elif fan_mode == '2' %}
medium
{% elif fan_mode == '3' %}
high
{% elif fan_mode == '4' %}
auto
{% endif %}
fan_mode: >-
{% if fan_mode == 'low' %}
1
{% elif fan_mode == 'medium' %}
3
{% elif fan_mode == 'high' %}
2
{% elif fan_mode == 'auto' %}
4
{% endif %}

quite literaly I did the last coat of paint yesterday and it started raining today!!

Right on time!
I tried my hand at a little test setup and got the following working:
climate:
  - platform: climate_template
    name: Bedroom Aircon
    hvac_modes:
      - "off"
      - "cool"
      - "heat"
    min_temp: 16
    max_temp: 30
    target_temperature_template: "{{ states('number.roomcontroller_simulator_setpoint_1') }}"
    current_temperature_template: "{{ states('sensor.roomcontroller_simulator_temperature_indoor') }}"
    hvac_mode_template: "{% if states('select.roomcontroller_simulator_state') == 'Stop' %}off{% elif states('select.roomcontroller_simulator_state') == 'Chiller' %}cool{% elif  states('select.roomcontroller_simulator_state') == 'Heater'%}heat{% endif %}"

    set_hvac_mode: # send the climates current state to esphome.
      - service: select.select_option
        target:
          entity_id: select.roomcontroller_simulator_state
        data:
          option: "{% if hvac_mode == 'off' %}Stop{% elif hvac_mode == 'cool' %}Chiller{% elif hvac_mode == 'heat' %}Heater{% endif %}"

    set_temperature:
      - service: number.set_value
        data:
          value: "{{ temperature }}"
        target:
          entity_id: number.roomcontroller_simulator_setpoint_1

I think for your configuration at the select action, you're using a fan_mode key where option should be used.
For the options, you need to make sure it's a string. All select entities use strings as their options.
From this example, you can substitute Stop, Chiller and Heater with 1, 2 and 3 and it should work as well. Just depends on what value belongs to what mode, but I'm sure that's noted in Daikin documentation.

Perfect thank you for that, it is now nearly working perfectly.!
My only challenge is "Off" as that is represented by a different entity to the modes, but I will need to create something fancy for that...its a job for me to explore tonight :). Essentially creating a new entity that merges Off/Cool/Dry/Fan
    set_hvac_mode: # send the climates current state
      - service: select.select_option
        target:
          entity_id:  select.bacnet_airconmodecommand_020
        data:
          option: "{% if hvac_mode == 'cool' %}1{% elif hvac_mode == 'fan_only' %}3{% elif hvac_mode == 'dry' %}5{% endif %}"

    set_fan_mode: # send the climates current state
      - service: select.select_option
        target:
          entity_id: select.bacnet_airflowratecommand_020
        data:
          option: "{% if fan_mode == 'low' %}1{% elif fan_mode == 'medium' %}2{% elif fan_mode == 'high' %}3{% elif fan_mode == 'auto' %}4{% endif %}"

    set_temperature:
      - service: number.set_value
        data:
          value: "{{ temperature }}"
        target:
          entity_id: number.bacnet_tempadjust_020

Ah I see what you did, I have adapted this to my setup and its working perfectly. Thanks very much!!!
Belown is a sample from one of the ACs; hopefully it is useful for someone.
climate:
  - platform: climate_template
    unique_id: l1_ac_parents
    name: L1_AC_parents
    icon_template: mdi:air-conditioner
    hvac_modes:
      - "dry"
      - "off"
      - "cool"
      - "fan_only"
    swing_modes:
      - "off"
      - "vertical"
    fan_modes:
      - "auto"
      - "low"
      - "medium"
      - "high"
    min_temp: 24
    max_temp: 30

    current_temperature_template: "{{ states('sensor.bacnet_roomtemp_001') }}"
    target_temperature_template: "{{ states('number.bacnet_tempadjust_001') }}"
    hvac_mode_template: "{% if states('binary_sensor.bacnet_startstopstatus_001') == 'off' %}off{% elif states('sensor.bacnet_airconmodestatus_001') == '1' %}cool{% elif  states('sensor.bacnet_airconmodestatus_001') == '3'%}fan{% elif  states('sensor.bacnet_airconmodestatus_001') == '5'%}dry{% else %}off{% endif %}"
    fan_mode_template: "{% if states('sensor.bacnet_airflowratestatus_001') == '4' %}auto{% elif  states('sensor.bacnet_airflowratestatus_001') == '1'%}low{% elif  states('sensor.bacnet_airflowratestatus_001') == '3'%}medium{% elif  states('sensor.bacnet_airflowratestatus_001') == '2'%}high{% else %}off{% endif %}"

    set_hvac_mode: # send the climates current state.
      - service: select.select_option
        target:
          entity_id:  select.bacnet_airconmodecommand_001
        data:
          option: "{% if hvac_mode == 'cool' %}1{% elif hvac_mode == 'fan_only' %}3{% elif hvac_mode == 'dry' %}5{% elif hvac_mode == 'off' %}1{% endif %}"
      - service: "{% if hvac_mode == 'off' %}switch.turn_off{% else %}switch.turn_on{% endif %}"
        target:
          entity_id:  switch.bacnet_startstopcommand_001
    set_fan_mode: # send the climates current state.
      - service: select.select_option
        target:
          entity_id: select.bacnet_airflowratecommand_001
        data:
          option: "{% if fan_mode == 'low' %}1{% elif fan_mode == 'medium' %}2{% elif fan_mode == 'high' %}3{% elif fan_mode == 'auto' %}4{% endif %}"
    set_temperature:
      - service: number.set_value
        data:
          value: "{{ temperature }}"
        target:
          entity_id: number.bacnet_tempadjust_001


on-success / on-transaction no longer firing on widget

The 'progress bar' updates with the correct amount but on-success doesn't seem to work.

I forgot that this is just because I was sending from/to the same address.


feat: expose shutdownmanager image to EnvoyGageway API

This PR exposes shutdown manager image to EnvoyGageway API, so it can be populated via a helm value.
Part of :https://github.com/envoyproxy/gateway/issues/3000 https://github.com/envoyproxy/gateway/issues/2808

thanks for adding this !
minor comment around typo, but this looks good !
as part of this fix, we need to make two more changes

remove existing logic around shutdown versions using build flags https://github.com/envoyproxy/gateway/blob/9a626f262317b90946219d7f85069221cce2c4b6/internal/cmd/version/version.go#L24
cc @davidalger
by default, always make sure we set EnvoyGateway.Shutdown.Image in helm

is this something you want to tackle in this PR or follow up ?

remove existing logic around shutdown versions using build flags
gateway/internal/cmd/version/version.go

The default image version is displayed in the envoy-gateway version command, as the ENVOY_PROXY_VERSION does. Or should we remove the version info for both the ShutdownManager and the Envoy Proxy?

When is this likely to get released?  I've just had to roll back to 0.6 because our k8s clusters have a gatekeeper rule that blocks images that are not from our private repo.  Without this fix to override the shutdown-manager image, I'm stuck :(


Internal server error causes by bad datamodel

User error causes internal server error:
❯ DEBUG=* prisma deploy
  config CWD /Users/jasonkuhrt/projects/personal/gql-experiments/prisma-stitch/prisma +0ms
  config HOME /Users/jasonkuhrt +1ms
  config definitionDir /Users/jasonkuhrt/projects/personal/gql-experiments/prisma-stitch/prisma +1ms
  config definitionPath /Users/jasonkuhrt/projects/personal/gql-experiments/prisma-stitch/prisma/prisma.yml +0ms
  cli { isGlobal: true } +0ms
  StatusChecker setting status checker +0ms
  cli command id deploy +5ms
  cli:plugincache Got plugin from cache +0ms
  cli:plugincache /Users/jasonkuhrt/Library/Caches/prisma/plugins.json +1ms
  cli:plugincache Got plugin from cache +0ms
  cli:plugincache /Users/jasonkuhrt/Library/Caches/prisma/plugins.json +0ms
  plugins findCommand prisma-cli-core +0ms
  plugin requiring command +0ms
  cli-engine:plugins:manager requiring /Users/jasonkuhrt/.config/yarn/global/node_modules/prisma-cli-core +0ms
  portfinder:defaultHosts exports._defaultHosts is: [ '<IP_ADDRESS>', '<IP_ADDRESS>', '::1', 'fe80::1', 'fe80::1471:9054:af6:6cc8', '<IP_ADDRESS>', 'fe80::90d0:3fff:fe4b:6181', 'fe80::4e2f:549:9ad3:d620', 'fe80::2e80:9d30:d1a:5038', 'fe80::aede:48ff:fe00:1122' ] +0ms
  cli-engine:plugins:manager required +881ms
  plugin required command +884ms
  Environment saving global rc +0ms
  StatusChecker setting status checker +1s
  prisma definition making cluster here +0ms
  client Initializing cluster client +0ms
  deploy checking verions +0ms
  deploy checking if project exists +34ms
  client Sending query to cluster local +37ms
  client http://localhost:4466/management +0ms
  client
  client       query($name: String! $stage: String!) {
  client         project(name: $name stage: $stage) {
  client           name
  client           stage
  client         }
  client       }
  client      +0ms
  client { name: 'core', stage: 'dev' } +0ms
  client { project: { name: 'core', stage: 'dev' } } +57ms

Deploying service `core` to stage `dev` to server `local`...  client Sending query to cluster local +3ms
  client http://localhost:4466/management +0ms
  client       mutation($name: String!, $stage: String! $types: String! $dryRun: Boolean $secrets: [String!], $subscriptions: [FunctionInput!], $force: Boolean) {
  client         deploy(input: {
  client           name: $name
  client           stage: $stage
  client           types: $types
  client           dryRun: $dryRun
  client           secrets: $secrets
  client           subscriptions: $subscriptions
  client           force: $force
  client         }) {
  client           errors {
  client             type
  client             field
  client             description
  client           }
  client           warnings {
  client             type
  client             field
  client             description
  client           }
  client           migration {
  client             ...MigrationFragment
  client           }
  client         }
  client       }
  client
  client fragment MigrationFragment on Migration {
  client   revision
  client   steps {
  client     type
  client     __typename
  client     ... on CreateEnum {
  client       name
  client       ce_values: values
  client     }
  client     ... on CreateField {
  client       model
  client       name
  client       cf_typeName: typeName
  client       cf_isRequired: isRequired
  client       cf_isList: isList
  client       cf_isUnique: unique
  client       cf_relation: relation
  client       cf_defaultValue: default
  client       cf_enum: enum
  client     }
  client     ... on CreateModel {
  client       name
  client     }
  client     ... on CreateRelation {
  client       name
  client       leftModel
  client       rightModel
  client     }
  client     ... on DeleteEnum {
  client       name
  client     }
  client     ... on DeleteField {
  client       model
  client       name
  client     }
  client     ... on DeleteModel {
  client       name
  client     }
  client     ... on DeleteRelation {
  client       name
  client     }
  client     ... on UpdateEnum {
  client       name
  client       newName
  client       values
  client     }
  client     ... on UpdateField {
  client       model
  client       name
  client       newName
  client       typeName
  client       isRequired
  client       isList
  client       isUnique: unique
  client       relation
  client       default
  client       enum
  client     }
  client     ... on UpdateModel {
  client       name
  client       um_newName: newName
  client     }
  client   }
  client }
  client
  client      +0ms
  client { name: 'core',
  client   stage: 'dev',
  client   types: 'type User {\n  id: ID! @unique\n  email: String! @unique\n  channels: [MedicalEpisode!]! @relation(name: "MedicalEpisodes")\n  messages: [ChatMessage!]!\n}\n\ntype Channel {\n  id: ID! @unique\n  created_at: DateTime!\n  users: [User!]!\n  messages: [Message!]!\n}\n\ntype Message {\n  id: ID! @unique\n  sent_at: DateTime!\n  channel: Channel!\n  content: String!\n  author: User!\n}\n\n',
  client   dryRun: undefined,
  client   secrets: null,
  client   subscriptions: [],
  client   force: undefined } +7ms
 !
Error: Whoops. Looks like an internal server error. Search your server logs for request ID: local:management:cjil3v0e200080788wsdy1ot4: {"response":{"data":{"deploy":null},"errors":[{"message":"Whoops. Looks like an internal server error.  Removing it leads to a proper error message:
❯ DEBUG=* prisma deploy
  config CWD /Users/jasonkuhrt/projects/personal/gql-experiments/prisma-stitch/prisma +0ms
  config HOME /Users/jasonkuhrt +2ms
  config definitionDir /Users/jasonkuhrt/projects/personal/gql-experiments/prisma-stitch/prisma +0ms
  config definitionPath /Users/jasonkuhrt/projects/personal/gql-experiments/prisma-stitch/prisma/prisma.yml +0ms
  cli { isGlobal: true } +0ms
  StatusChecker setting status checker +0ms
  cli command id deploy +5ms
  cli:plugincache Got plugin from cache +0ms
  cli:plugincache /Users/jasonkuhrt/Library/Caches/prisma/plugins.json +0ms
  cli:plugincache Got plugin from cache +1ms
  cli:plugincache /Users/jasonkuhrt/Library/Caches/prisma/plugins.json +0ms
  plugins findCommand prisma-cli-core +0ms
  plugin requiring command +0ms
  cli-engine:plugins:manager requiring /Users/jasonkuhrt/.config/yarn/global/node_modules/prisma-cli-core +0ms
  portfinder:defaultHosts exports._defaultHosts is: [ '<IP_ADDRESS>', '<IP_ADDRESS>', '::1', 'fe80::1', 'fe80::1471:9054:af6:6cc8', '<IP_ADDRESS>', 'fe80::90d0:3fff:fe4b:6181', 'fe80::4e2f:549:9ad3:d620', 'fe80::2e80:9d30:d1a:5038', 'fe80::aede:48ff:fe00:1122' ] +0ms
  cli-engine:plugins:manager required +474ms
  plugin required command +477ms
  Environment saving global rc +0ms
  StatusChecker setting status checker +863ms
  prisma definition making cluster here +0ms
  client Initializing cluster client +0ms
  deploy checking verions +0ms
  deploy checking if project exists +38ms
  client Sending query to cluster local +41ms
  client http://localhost:4466/management +0ms
  client
  client       query($name: String! $stage: String!) {
  client         project(name: $name stage: $stage) {
  client           name
  client           stage
  client         }
  client       }
  client      +0ms
  client { name: 'core', stage: 'dev' } +0ms
  client { project: { name: 'core', stage: 'dev' } } +62ms

Deploying service `core` to stage `dev` to server `local`...  client Sending query to cluster local +2ms
  client http://localhost:4466/management +0ms
  client       mutation($name: String!, $stage: String! $types: String! $dryRun: Boolean $secrets: [String!], $subscriptions: [FunctionInput!], $force: Boolean) {
  client         deploy(input: {
  client           name: $name
  client           stage: $stage
  client           types: $types
  client           dryRun: $dryRun
  client           secrets: $secrets
  client           subscriptions: $subscriptions
  client           force: $force
  client         }) {
  client           errors {
  client             type
  client             field
  client             description
  client           }
  client           warnings {
  client             type
  client             field
  client             description
  client           }
  client           migration {
  client             ...MigrationFragment
  client           }
  client         }
  client       }
  client
  client fragment MigrationFragment on Migration {
  client   revision
  client   steps {
  client     type
  client     __typename
  client     ... on CreateEnum {
  client       name
  client       ce_values: values
  client     }
  client     ... on CreateField {
  client       model
  client       name
  client       cf_typeName: typeName
  client       cf_isRequired: isRequired
  client       cf_isList: isList
  client       cf_isUnique: unique
  client       cf_relation: relation
  client       cf_defaultValue: default
  client       cf_enum: enum
  client     }
  client     ... on CreateModel {
  client       name
  client     }
  client     ... on CreateRelation {
  client       name
  client       leftModel
  client       rightModel
  client     }
  client     ... on DeleteEnum {
  client       name
  client     }
  client     ... on DeleteField {
  client       model
  client       name
  client     }
  client     ... on DeleteModel {
  client       name
  client     }
  client     ... on DeleteRelation {
  client       name
  client     }
  client     ... on UpdateEnum {
  client       name
  client       newName
  client       values
  client     }
  client     ... on UpdateField {
  client       model
  client       name
  client       newName
  client       typeName
  client       isRequired
  client       isList
  client       isUnique: unique
  client       relation
  client       default
  client       enum
  client     }
  client     ... on UpdateModel {
  client       name
  client       um_newName: newName
  client     }
  client   }
  client }
  client
  client      +0ms
  client { name: 'core',
  client   stage: 'dev',
  client   types: 'type User {\n  id: ID! @unique\n  email: String! @unique\n  channels: [MedicalEpisode!]!\n  messages: [ChatMessage!]!\n}\n\ntype Channel {\n  id: ID! @unique\n  created_at: DateTime!\n  users: [User!]!\n  messages: [Message!]!\n}\n\ntype Message {\n  id: ID! @unique\n  sent_at: DateTime!\n  channel: Channel!\n  content: String!\n  author: User!\n}\n\n',
  client   dryRun: undefined,
  client   secrets: null,
  client   subscriptions: [],
  client   force: undefined } +15ms
  client { deploy: { errors: [ [Object], [Object] ], warnings: [], migration: null } } +102ms
 118ms

Errors:

  User
    ✖ The field `channels` has the type `[MedicalEpisode!]!` but there's no type or enum declaration with that name.
    ✖ The field `messages` has the type `[ChatMessage!]!` but there's no type or enum declaration with that name.

Deployment canceled. Please fix the above errors to continue deploying.
Read more about deployment errors here: https://bit.ly/prisma-force-flag
Exiting with code: 1

Thanks for the report. Can you share the exact datamodel you're setting up in your file system? You mention @relation(name: \"MedicalEpisodes\") but I can only see @relation(name: "MedicalEpisodes") in the deploy mutation.
Also, can you share the internal server error logs for id local:management:cjil3v0e200080788wsdy1ot4? 🙂

@marktani Sorry somehow missed your reply. Will follow up next time I get back into this.


Update gitignore for mepo update

Soon, mepo will have the ability to checkout subrepos as repo, repo@, or @repo. This commit updates the .gitignore files to support this flexibility.

This all looks good to me, although the build looks to be failing.

@gmao-esherman Ugh. we need #55 in first. I'll ping tom.

@gmao-esherman Okay. now it should work 🤞🏼


Reread modified global Item var on Sales Line

In OnValidate of No on Sales Line we used to change something on the entered Item No and reread the global variable Item.
If we didn't do this Item.GET("No."), we would get the error 'Another use has modified the record ...'.
So in events:
LOCAL [EventSubscriber] OnBeforeValidate_Quantity_SalesLine(VAR Rec : Record "Sales Line";VAR xRec : Record "Sales Line";CurrFieldNo : Integer)
WITH Rec DO BEGIN
      lrecItem.GET("No.");
      DoSomething()
      lrecItem.MODIFY;
      Item.GET("No."); // reread global var

However Item.GET("No."); isn't possible cause we have no access to the global var Item.
There is however the local function GetItem, but this only performs the actual get when the No has changed.
LOCAL GetItem()
TESTFIELD("No.");
IF "No." <> Item."No." THEN
  Item.GET("No.");

We want to always reread the global var Item.
Any ideas on how to solve this?
For now we have solved it by putting the IF "No." <> Item."No." THEN in comment in GetItem.
Using NAV2018CU3

Hi @SirBETE,
are you still looking for help on this one, or did you find an answer in the meantime? :-)

Hello @JesperSchulz ,
If it's possible yes.
At the moment it hasn't a high priority.
We are preparing a customer's db with the upgrade to extensions.
Although the upgrade itself won't be requested for a while, we would still need a solution for this.
So that when we upgrade, we don't have to request enhancements/events anymore.


Zombie retrieves much less resources than Firefox

`
const Browser = require('zombie');
const bb = new Browser();
bb.on('response', function(request, response) {
console.log('Request URL: ' + request.url);
});
bb.visit('https://www.sogou.com/', function(){});
`
Using the above script to log the url of the resources retrieved,
only a few lines were logged(the html document and some js files).
While in Firefox(using Firebug) to visit https://www.sogou.com/ there are about 20 resources retrieved,
including pictures and css files and so on.
I wonder why Zombie retrieved so few resources than Firefox?
BTW: change the url https://www.sogou.com/ to other urls are also the same case.

Zombie doesn't render anything, it will not load images, fonts, etc.


Zwave fails: libopenzwave.so.1.4 not found

Home Assistant release with the issue: 0.82.0

Last working Home Assistant release (if known): 0.81.6
Operating environment (Hass.io/Docker/Windows/etc.): Python venv on Ubuntu 16.04, per the advanced directions and using a fresh venv build

Component/platform: zwave

Description of problem:
Zwave fails to start
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):

usb_path: /dev/ttyUSB0
polling_interval: 30000
network_key: !secret zwave_netkey
device_config:
  sensor.2gig_technologies_ct101_thermostat_iris_relative_humidity:
    ignored: false
    polling_intensity: 1
  sensor.2gig_technologies_ct101_thermostat_iris_temperature:
    ignored: false
    polling_intensity: 1
  climate.2gig_technologies_ct101_thermostat_iris_cooling_1:
    ignored: false
    polling_intensity: 1
  climate.2gig_technologies_ct101_thermostat_iris_heating_1:
    ignored: false
    polling_intensity: 1

Traceback (if applicable):
2018-11-10 22:30:48 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry Z-Wave (import from configuration.yaml) for zwave
Traceback (most recent call last):
  File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/config_entries.py", line 244, in async_setup
    result = await component.async_setup_entry(hass, self)
  File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/components/zwave/__init__.py", line 262, in async_setup_entry
    from openzwave.option import ZWaveOption
  File "/srv/homeassistant/lib/python3.5/site-packages/openzwave/option.py", line 29, in <module>
    import libopenzwave
ImportError: libopenzwave.so.1.4: cannot open shared object file: No such file or directory

Additional information:

I'm still getting this error on 0.82.1:
2018-11-25 02:27:40 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry Z-Wave (import from configuration.yaml) for zwave Traceback (most recent call last):   File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/config_entries.py", line 244, in async_setup     result = await component.async_setup_entry(hass, self)   File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/components/zwave/__init__.py", line 262, in async_setup_entry     from openzwave.option import ZWaveOption   File "/srv/homeassistant/lib/python3.5/site-packages/openzwave/option.py", line 29, in <module>     import libopenzwave ImportError: libopenzwave.so.1.4: cannot open shared object file: No such file or directory
Any ideas what's going wrong?

Turns out compiling its own libopenzwave fails if there's already an extant copy in /usr/local/lib64/. If you run into this, execute sudo rm /usr/local/lib64/libopenzwave.so* from the terminal and retry.


assertion failure: spirv-opt: Assertion `c->AsBoolConstant() || c->AsNullConstant()' failed.

Running ./command in the attachment should reproduce the problem.
Brief summary: running spirv-opt (debug build) with arguments:
--simplify-instructions --compact-ids --ccp
leads to the following error (numbers have been replaced with _ to avoid duplicates):
spirv-opt: source/opt/ccp_pass.cpp:_: spvtools::opt::SSAPropagator::PropStatus spvtools::opt::CCPPass::VisitBranch(spvtools::opt::Instruction*, spvtools::opt::BasicBlock**) const: Assertion `c->AsBoolConstant() || c->AsNullConstant()' failed.
SPIRV-Tools v2018.7-dev v2018.6-94-geaa351a5
Found using GraphicsFuzz.
0627.zip

Looks like it is the same as #2220.


It seems only the named router will work when using custom paths

Version
@nuxtjs/i18n: "7.0.1"
nuxt: ^2.15.0
@nuxtjs/i18n configuration
modules: [
    [
      "@nuxtjs/i18n",
      {
        locales: [
          {
            code: "en",
            iso: "en-GB",
            file: "en-GB.js",
            name: "ENG"
          },
          {
            code: "nl",
            iso: "nl-NL",
            file: "nl-NL.js",
            name: "NL"
          }
        ],
        lazy: true,
        langDir: "lang/",
        detectBrowserLanguage: false,
        defaultLocale: "nl",
        vueI18n: {
          fallbackLocale: "nl"
        },
        parsePages: false,
        pages: {
          "product/_id": {
            nl: "/producten/:id?",
            en: "/product/:id?"
          },
          "user/profile/index": {
            nl: "/gebruiker/profiel",
            en: "/user/profile"
          }
        }
      }
    ]
  ]

What is Expected?
localePath('/product/123')" work when using custom paths
What is actually happening?
localePath('/product/123')" path route : failed,
but  localePath({ name: 'product-id', params: { id: '123' } }) named route : work.
reproducible repo
https://codesandbox.io/s/test-nuxt-i18n-6n9se

There was a similar bug that was fixed before (https://github.com/nuxt-community/i18n-module/issues/641) but I guess it only  covered the case of non-dynamic routes. For dynamic routes the https://github.com/nuxt-community/i18n-module/issues/984 might be actually required.

There was a similar bug that was fixed before (#641) but I guess it only covered the case of non-dynamic routes. For dynamic routes the #984 might be actually required.

Thanks @rchl , Can you have a check at my reproducible repo (https://codesandbox.io/s/test-nuxt-i18n-6n9se), it seems not working for neither non-dynamic routes nor dynamic routes.

It appears that the logic introduced in the #641 fix only works if passing the path of the default locale. In your case it's nl so it doesn't match when you use /user/profile.
To really fix it we would need to aforementioned feature implemented.
BTW. Your custom paths for the product/_id route should be:
          "product/_id": {
            nl: "/producten/:id?",
            en: "/product/:id?"
          },

hi @rchl , thanks. yeah, it works well with the default locale. And thank you for pointing out my mistake.

Closing this as v7 is not being actively worked on (critical hotfixes only), if this still applies to v8 and later please open a new issue!


Add webpack-bundle-analyzer

https://github.com/th0r/webpack-bundle-analyzer
Possibly under a flag --output-stats or something similar. Already made a POC since I needed to check the bundle sizes. It's pretty neat for checking module / bundle sizes. Just wanted to discuss if we should implement it by default and in what way we want to expose it.
What I did was expose .next/stats.json to be consumed by the webpack-bundle-analyzer cli.
webpack-bundle-analyzer .next/stats.json inside of a project.
cc @arunoda @nkzawa

This would be awesome 👍

@samjbmason added an example instead #1110

This is great but it only displays stats for main.js and common.js, which is not very useful as far as I can tell. I'd be much more interested in seeing stats for each page bundle but I'm not sure how this example can be modified in order to accomplish that. In looking through stats.json it seems to me that what we really want to analyze are the entrypoints (which contain references to the chunks), but webpack-bundle-analyzer only processes assets. Any ideas? I don't have enough time to dig any deeper right now, sorry :/
By the way if I manually edit my stats.json assets to include the chunks from entrypoints I'm able to see exactly what I want to see, but this is a lame hack.
webpack-bundle-anylyzer's analyzer.js:
https://github.com/th0r/webpack-bundle-analyzer/blob/master/src/analyzer.js#L28

Hi @dizlexik
I see the exact opposite: only stats for each entrypoint, and no info about app.js. Do you know what change since your last entry, and how to get infos about the main bundle?

@damusnet Arunoda updated the example just yesterday 😄 cc @arunoda

@damusnet could you create a new issue to track this?

Thanks @timneutkens for getting back to me so quickly!
Looking more closely at @arunoda latest change, I noticed the delete compilation.assets[name]. Making the same change in my Next.js version allows me to see all chunks perfectly! Problem solved.
👍

Awesome! Should this be default @damusnet?

@timneutkens Yes. You get all chunks in the report, and can toggle them on/off in the web UI.
I was under the impression the change in #2393 was the new default, which would be a good thing.

@timneutkens app.js is not shown on analyzer, and it can be the biggest file on the bundle. Is there a reason to do that? Is it possible to analyse it too?


Using existing pptx as a reference

Hi Leonid!
Thank you for your work here, your package is working very fast and smoothly.
Correct me if I am wrong but I realized you can only resume from a saved session if it has been already processed beforehand.
After manually modifying the presentation which was produced with odin-slides, the changes I had made were not taken into account in the next iterations.
Would it be possible to use an existing external PPTX as a starting point without deleting slides?

I'm glad to hear that you're finding the package's speed and smooth performance impressive. It's great that you've identified a situation where resuming from a saved session doesn't account for manual changes to the pptx file. Your observation is accurate, and the reason for this lies in the current approach, where only the processed content is saved and reprocessed in subsequent iterations. While I might revisit this design choice in future updates, for now, the recommended approach is to utilize the tool to generate a solid draft and then proceed to make any necessary manual adjustments.
On another note, it's valuable to discuss scenarios that prompt the need for manual modifications to the pptx file. If these modifications involve adding figures or implementing design changes, the previously mentioned approach is most effective. However, when the goal is to create a presentation based on the content of an existing pptx file, an alternative strategy could involve exporting the manually edited PPTX file into a Word document. In lieu of resuming from a saved session, considering the Word document as a point of reference could prove beneficial.
I will update the readme to clarify this better and perhaps include a video demonstration.

@Ashoka74 I get your point now. I agree that there are some great benefits to using an existing external PPTX as a starting point. In addition to that, the possibility of recognizing and adopting text modifications made manually to the PPTX file can greatly enhance further revisions carried out by odin-slides. I'm excited to explore this idea further.
I'll set aside some time during the upcoming weekends to make the necessary amendments and see how this approach can improve the workflow. Your input is much appreciated.


Wingsuit Migration

Fixed the build command in netlify settings for  ilo-ui-twig-develop. I didn't change it for the others because it would break the build until this branch is merged.
@justintemps let us know if we should update the build command for those sites as well or you can do it. (Just need to remove the non existing react:install and twig:install commands from the build command)

Thanks @bashlk great if you could do it.

@justintemps Corrected the build command for all the storybook sites. Build might now fail until the new changes are merged to main.


Make macros more idiomatic.

There is no guide on how to make good macros yet, but here is how one can achieve a combination of optional structures - like you did with some N x N macro permutation on your property accessor macro.
I just added this test as a guide: property_accessors.phpt
Inlined example:
<?php
macro {
    private T_VARIABLE·variable {
        ·repeat
        (
            ·either
            (
                ·chain
                (
                    get,
                    ·optional(·chain(·token(':'), ·ns()·_))·getter_return_type,
                    ·between(·token('{'), ·layer(), ·token('}'))·getter_body
                )
                ·getter
                ,
                ·chain
                (
                    set,
                    ·token('('),
                    ·layer()·setter_args,
                    ·token(')'),
                    ·optional(·chain(·token(':'), ·ns()·_))·setter_return_type,
                    ·between(·token('{'), ·layer(), ·token('}'))·setter_body
                )
                ·setter
            )
        )
        ·accessors
    };
} >> {
    private T_VARIABLE·variable;
    ·accessors ··· {
        ·setter ?··· {
            private function ··concat(__set_ ··unvar(T_VARIABLE·variable))(·setter_args) ·setter_return_type {
                ·setter_body
            }
        }
        ·getter ?··· {
            private function ··concat(__get_ ··unvar(T_VARIABLE·variable))() ·getter_return_type {
                ·getter_body
            }
        }
    }
}

It takes care of variable ordering of getter, setter.
You can add other types of accessors without producing N x N macros
I took the liberty to rework the setter feature in order so there is no hidden $value variable
No need to use ·unsafe unless the expansion is really intentionally outputting something that could clash with the scope, like a literal $var or goto label.

I absolutely love this idiomatic syntax. To be honest, I understand very little of how the Yay syntax works, so what probably took you minutes to figure out and express would have taken me far longer. I've replaced the previous macros with a modified version of this new macro.
I'm going to stay away from the type hints, for now. I'd far rather pair them with a type hint on the property (like private string $name), and generally prefer succinct code over typed code, in these macros. That's not to say your version is bad - just something different from what I had in mind...
Thank you for all the hard work you've put into Yay, by the way! :)


Add building ponyup images

We want:

latest (we should discuss if we want to call this master)
release
TAG where TAG is something like 0.1.0 for each tagged release

We need to decide for all our applications where the images should be built. Autobuilds on dockerhub that are slow to get done or built on circleci which is much faster but requires a bit more configuration on our part.

@SeanTAllen should be open up similar issues on our other application repos like stable/corral? This seems like it needs to be a more general discussion.

Discussed in zulip. Doing on circleci.
We do need to discuss latest vs master.

Partially addressed by #28


mx.std() doesn't exist?   [BUG]

Describe the bug
mx.std() doesn't exist?
To Reproduce
import mlx.core as mx
mx.array([1,2,3]).std()

AttributeError: 'array' object has no attribute 'std'
Expected behavior
https://ml-explore.github.io/mlx/build/html/python/_autosummary/mlx.core.std.html
Desktop (please complete the following information):

OS Version: MacOS 14.1.2
Version 0.17.2

Additional context
mx.array([1,2,3]).var().sqrt() # works for now

mx.std(x) should also work


Suggest to use pnpm over yarn for shorter installation time and lower disk space footprint

Is your feature request related to a problem? Please describe.
I prefer a shorter installation time for insomnia.
Describe the solution you'd like
insomnia is currently using npm or yarn to install the npm packages.
If we adopt pnpm, it can dowload the packages and run build hooks in parallel. Also, for packages that is already downloaded previously, it setup symbolic links to the local cache.
This approach enables shorter installation time and lower disk space consumption.
Describe alternatives you've considered
Alternative way to install insomnia quickly is to install prebuilt binary from aur/insomnia-bin. However this way we cannot always access the latest version.
Additional context
I compared installing insomnia with pakku from 'aur/insomnia', 'aur/insomnia-bin', and manually git clone, modify the package.json at project root.
I changed the bootstrap scripts from:
    "bootstrap": "npm install && lerna bootstrap && lerna run --parallel --stream bootstrap",

into:
    "bootstrap": "npx pnpm install --recursive --shamefully-hoist && lerna bootstrap && lerna run --parallel --stream bootstrap",

from my testing, just switching to yarn cut the number of downloaded dependencies in half (saving over a GIGABYTE of downloaded code) without even having yarn pnp on.  I've never used pnpm but I'd be curious to hear some actual numbers.
Can you please run install with time in front of it (e.g. time npm install or time yarn install) with

current develop branch
pnpm
my (experimental) yarn branch: https://github.com/dimitropoulos/insomnia/tree/yarn

and let me know what the times look like?
Please also run npx npkill and delete everything between steps and take note of how large the total deleted was (for each of the above steps).
Npx is slow because it has to pull something that's not already there, in my experience, so I'd suggest that if performance is our goal that we add pnpm as a dependency to the root package.json.  Thoughts?

If you want to save disk space and improve install times your best option would be Yarn 2's PnP https://yarnpkg.com/features/pnp, packages are stored once on disk in zip files and if your cache is already populated the install doesn't have to do much work. For example installing the https://github.com/storybookjs/storybook repo with its 4275 dependencies using Yarn 2's PnP takes ~5 seconds

yarn can save download time because it save the compressed package in the user's local cache space.
When you install a cached package, it skips the download and un-compresses from local cache.
pnpm take one step further. It also save the cache locally, but without compressing the package.
When you install a package, pnpm setup symbolic link to the local copy. Therefore, each package will be kept on the disk only once.
This can save disk space dramatically when you have multiple projects on the system (which is the case for most developers, unless you're putting each project in isolated container)
(I'm not sure about PnP, will checkout that.)

Here's the benchmark result of npm and pnpm ran on my local dev machine:

installer
bootstrap time
repo size
packages cache size
total size

npm
316s
2.7G
261M
2.9G

pnpm
160s
1.5G
1020M
2.5G

Details in https://github.com/beenotung/insomnia/blob/pnpm/time.md

Thanks for this.  Is it too much to ask that you take a look at my experimental yarn branch and see what the times and sizes are like for it.  I'd also like to follow up on yarn 2 pnp as well, since it looks promising and is built in.

@dimitropoulos I cannot run bootstrap on the yarn branch.
First trial:
> yarn install
> yarn clean
> time yarn bootstrap
 (...skipped...)
 insomnia-inso: $ webpack --config webpack/webpack.config.development.js --display errors-only
 insomnia-inso: ERROR in ../insomnia-testing/src/generate/index.js
 insomnia-inso: Module build failed (from /home/beenotung/workspace/github.com/dimitropoulos/insomnia/node_modules/babel-loader/lib/index.js):
 insomnia-inso: SyntaxError: /home/beenotung/workspace/github.com/dimitropoulos/insomnia/packages/insomnia-testing/src/generate/index.js: Support for the experimental syntax 'flow' isn't currently enabled (6:8):
 insomnia-inso:   4 | import fs from 'fs';
 insomnia-inso:   5 |
 insomnia-inso: > 6 | export type Test = {
 insomnia-inso:     |        ^
 insomnia-inso:   7 |   name: string,
 insomnia-inso:   8 |   code: string,
 insomnia-inso:   9 |   defaultRequestId: string | null,
 insomnia-inso: Add @babel/preset-flow (https://git.io/JfeDn) to the 'presets' section of your Babel config to enable transformation.
 insomnia-inso: If you want to leave it as-is, add @babel/plugin-syntax-flow (https://git.io/vb4yb) to the 'plugins' section to enable parsing.
 (...skipped...)
 yarn bootstrap  69.14s user 16.74s system 174% cpu 49.266 total

Second trial (without clearing the repo):
> time yarn bootstrap
 (...skipped...)
insomnia-inso: ERROR in ./src/commands/run-tests.js
insomnia-inso: Module not found: Error: Can't resolve 'insomnia-send-request' in '/home/beenotung/workspace/github.com/dimitropoulos/insomnia/packages/insomnia-inso/src/commands'
insomnia-inso:  @ ./src/commands/run-tests.js 81:6-38
insomnia-inso:  @ ./src/cli.js
insomnia-inso: ERROR in ./src/commands/generate-config.js
insomnia-inso: Module not found: Error: Can't resolve 'openapi-2-kong' in '/home/beenotung/workspace/github.com/dimitropoulos/insomnia/packages/insomnia-inso/src/commands'
insomnia-inso:  @ ./src/commands/generate-config.js 1:0-38 52:21-43 57:21-33
insomnia-inso:  @ ./src/cli.js
insomnia-inso: ERROR in /home/beenotung/workspace/github.com/dimitropoulos/insomnia/node_modules/mocha/lib/cli/cli.js 1:0
insomnia-inso: Module parse failed: Unexpected character '#' (1:0)
insomnia-inso: You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
insomnia-inso: > #!/usr/bin/env node
insomnia-inso: |
insomnia-inso: | 'use strict';
insomnia-inso:  @ /home/beenotung/workspace/github.com/dimitropoulos/insomnia/node_modules/mocha/lib/cli/index.js 3:17-33
insomnia-inso:  @ /home/beenotung/workspace/github.com/dimitropoulos/insomnia/node_modules/mocha/lib/utils.js
insomnia-inso:  @ /home/beenotung/workspace/github.com/dimitropoulos/insomnia/node_modules/mocha/lib/mocha.js
insomnia-inso:  @ /home/beenotung/workspace/github.com/dimitropoulos/insomnia/node_modules/mocha/index.js
insomnia-inso:  @ ../insomnia-testing/dist/index.js
insomnia-inso:  @ ./src/commands/run-tests.js
insomnia-inso:  @ ./src/cli.js
insomnia-inso: error Command failed with exit code 2.
insomnia-inso: info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
insomnia-inso: error Command failed with exit code 2.
insomnia-inso: info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
lerna ERR! yarn run bootstrap exited 2 in 'insomnia-inso'
lerna WARN complete Waiting for 2 child processes to exit. CTRL-C to exit immediately.
error Command failed with exit code 2.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
yarn bootstrap  71.60s user 17.32s system 172% cpu 51.505 total

But I can see "insomnia-send-request": "^2.2.29" in packages/insomnia-inso/package.json

Despite the errors, yarn still produced larger footprint than pnpm as expected from the different in design.

installer
bootstrap time
repo size
packages cache size
total size

npm
316s
2.7G
261M
2.9G

pnpm
160s
1.5G
1020M
2.5G

yarn
N./A.
1.8G
1.3G
3.1G

yarn install on yarn branch
with fresh ~/.cache/yarn:
> time yarn install
yarn install  91.50s user 30.29s system 153% cpu 1:19.21 total
> time yarn clean
yarn clean  6.88s user 4.85s system 241% cpu 4.849 total
> time yarn bootstrap
(...error omitted...)
yarn bootstrap  69.14s user 16.74s system 174% cpu 49.266 total

the second run:
> time yarn install
yarn install  51.78s user 16.44s system 162% cpu 42.051 total
> time yarn clean
yarn clean  6.79s user 5.08s system 257% cpu 4.613 total
> time yarn bootstrap
(...error omitted...)
yarn bootstrap  67.56s user 17.10s system 172% cpu 49.156 total

repo size:
> du -sh .
1.8G
> du -sh --apparent-size .
> 1.4G

cache size:
> du -sh ~/.cache/yarn
1.3G
> du -sh --apparent-size ~/.cache/yarn
1.1G

this isn't an apples to apples comparison because you're comparing yarn to pnpm but you're not using yarn 2 pnp:
https://yarnpkg.com/features/pnp
No worries, though, we'll come back to this one TypeScript is done and give it another go.
If you @beenotung or anyone else wants to try with yarn 2 pnp, I'd really love to see it.  Note that it will definitely require a bit of work to get it working appropriately.

Closing this for now. We aren't considering pnpm at this time.


Clarify that when multiple binders are used, autoconfiguration needs to be disabled

This applies to the Rabbit example, where we use two separate binders. If not disabled, Rabbit autoconfiguration will be triggered since Rabbit is on the classpath - so we just need to add a clarifying warning.

This issue was moved to spring-cloud/spring-cloud-stream-binder-rabbit#16


Tidy AOC202

Tidy exist files, get it in "master" state so it can be be added to and maybe even finished.

This was left hanging and was too wide in scope. Review and come back to it.


Remove redundant condition for NET 9

Remove now-redundant condition for .NET 9.
I was trying to run crank for a .NET 9 application and got this error:
[10:38:35 INF] Patching project file '/tmp/benchmarks-agent/benchmarks-server-2278/quz1y0ad.4mq/src/API/API.csproj'
[10:38:35 INF] Runtime:  (Current)
[10:38:35 INF] SDK:  (Current)
[10:38:35 INF] ASP.NET:  (Current)
[10:38:35 INF] Patching existing global.json file
[10:38:35 INF] An unexpected error occurred while building the job. System.AggregateException: One or more errors occurred. (Object reference not set to an instance of an object.)
 ---> System.NullReferenceException: Object reference not set to an instance of an object.
   at Microsoft.Crank.Agent.Startup.CloneRestoreAndBuild(String path, Job job, String dotnetHome, CancellationToken cancellationToken) in /_/src/Microsoft.Crank.Agent/Startup.cs:line 2855
   at Microsoft.Crank.Agent.Startup.<>c__DisplayClass85_3.<<ProcessJobs>b__22>d.MoveNext() in /_/src/Microsoft.Crank.Agent/Startup.cs:line 972
   --- End of inner exception stack trace ---

Tracing through the code, I found this leftover code from when net9.0 support was added prior to .NET 9 preview 1 shipping as part of #634.

@sebastienros Would you be able to publish a new version of Crank to NuGet.org containing this change, or is there another feed for your CI I can use instead?

Updating right away, I don't do it quite often as I personally deploy from source. Good you reminded me.

Done

Thank you!


refactor: merge meta-tedge and meta-tedge-bin to a single repository

The following changes are included in this PR to merge the two thin-edge.io Yocto repositories together (to help improve the maintenance and consistency between the two repos)

Restructure repository to create a multi layer repository, and move common recipes into meta-tedge-common which can be reused by other layers
Move the meta-tedge-bin recipes to a layer within this repo (so the meta-tedge-bin repo can be deprecated)
Include rauc integration to support firmware updates with thin-edge.io using Rauc
Remove most of the documentation as the meta-tedge-project is used for the main documentation as it simplifies the setup by using kas

Follow-up work

Port same changes to the scarthgap branch
Remove the main branch (as it has been replaced by the kirkstone branch)
Update the meta-tedge-project projects to use the new layers.

I would simplify meta-tedge-bin (especially architectures recipes) and move tedge.inc to common layer (that would require some changes to the recipe structure - new .inc files) but it can be postponed to next PR if necessary. Other than that it LGTM.

We can push this change to later on, as the meta-tedge-common are more optional components (e.g. adding avahi service discovery, and image), so we might need to tweak how we managed this (or switch to using classes like you suggested offline).


start adding content

Trying to bring this repository up to date with the latest developments; still puzzling out the best structure.

going to reopen this from a different branch

Oh never mind

preview: http://smallcultfollowing.com/2022-gats/


Introduce regions filtering

We have  the ~BookRegions_Map in SysSettings, with columns BookName and Region.  VEDA will define only those regions that 1) have an existing Excel workbook file included (given by the BookName) and 2) which are also selected in the model RUN as internal regions (SET REG).  All other regions should be only defined as external regions (SET ALL_REG).  I wonder if the first condition is taken into account already?  I guess it is the second condition (Regions selected for a model run) that is being referred to as filtering here?

@Antti-L, yes that the intention of this PR.

@Antti-L, yes that the intention of this PR.

But which that?  I had two questions, do you mean the second question?  How about the first one?

Regarding external regions, we currently add IMPEXP and MINRNW to ALL_REG. Is there anything else we should be adding?

Regarding external regions, we currently add IMPEXP and MINRNW to ALL_REG. Is there anything else we should be adding?

Yes, absolutely!   Like I said, all the Regions in the ~BookRegions_Map, including all those that are not internal regions (i.e. do not have an Excel workbook included).

But which that? I had two questions, do you mean the second question? How about the first one?

is done already, while this PR adds posibility to select regions that should be included in the resulting dd files.

...including all those that are not internal regions (i.e. do not have an Excel workbook included).

Could you clarify this a little bit more? Currently all regions on the ~BookRegions_Map list are included in REG and also in ALL_REG. They are internal regions. Where would one find a list of external regions?

is done already, while this PR adds posibility to select regions that should be included in the resulting dd files.

Just to confirm, are you sure:  In times_mapping, I can see REG[REG,TEXT] = ~BookRegions_Map(Region,Region).   But only a subset of those Regions should be REG, and the rest only in ALL_REG.

How is the subset determined? I am asking, because several internal regions may be present in a workbook (i.e. internal regions may not have a dedicated workbook).

Surely all internal regions have a dedicated workbook (identified by BookName).  And those that do not have, should be only external regions.  It works like that in VEDA, and I am using this distinction in my models.

I think a example would be helpful here: in [this file]{https://github.com/esma-cgep/TIM/blob/main/SysSettings.xlsx) on the Region Definition sheet, would you classify any region in the Region column as external?

@Antti-L, n the example above, would inserting a row above row 5 and specifying a value in column Region without specifying a value in column BookName make that region external?

I think a example would be helpful here: in [this file]{https://github.com/esma-cgep/TIM/blob/main/SysSettings.xlsx) on the Region Definition sheet, would you classify any region in the Region column as external?

By looking at that SysSettings.xlsx, one can see that all regions under ~BookRegions_Map have  IE as the BookName. Therefore, either all those regions are internal regions, or all of those regions are external.  One cannot tell which they are, without seeing the contents of the model folder:  Does it contain a Workbook with the name VT_IE_*.xlsx or not?   That would give you the answer.  All regiosn that do not have a corresponding workbook must be defined external.

@Antti-L I've opened a separate issue (#162) to address user-defined external regions.


hiproc ends after HiCal and doesn't attempt HiStitch

hiproc version: 0.9.0 (current head)
Python version: 3.8
Operating System: ubuntu

Description
I updated Hiproc to v 0.9.0 recently and attempted to run 'PSP_002930_1800' through the pipeline hiproc -vv -j ./*.IMG.
but hiproc just seems to stop without issuing any warning or errors that I can see right after HiCal and does not attempt to run any later streps like HiStitch.

Hmmm, aha!  The message that may not seem like an error that is, is this:
The image area has a LIS percent (71.098671875) greater than 40, so this image will not be processed through HiCal.

Firstly, I need to adjust that message so that it says what image it is, but more importantly, this is a UserWarning that gets kicked out by HiCal and not handled properly by hiproc (it should just cause that one problem image to not be processed, not seize up the whole process).
This should be an easy fix, but may take me a day or two, to get to it.  The interim solution is to run the "pieces" of hiproc individually, or at least just the initial set: EDR_Stats, HiCal, HiStitch, HiccdStitch, HiColorInit, HiJitReg, and then HiSlither.  The deal here is that the HiCal program itself deals with this error in a way that hiproc (which calls a module from within the HiCal module) doesn't.  Then, from this point, you can run hiproc, and it'll start where HiSlither left off.

Bleh, no there are some other subtle down-stream problems if we're fundamentally missing a channel, so running things piecemeal may not work like I was hoping.

This is now fixed in hiproc 0.10.0 now available on PyPI and soon on conda.


dendrogram plot

Hi,
how can you plot a dendrogram using scipy and forward the plot to matplotlib? can someone tell me why my created dendrogram is not a tree structure? is the problem in scipy dendrogram or somewhere else?
http://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.cluster.hierarchy.dendrogram.html
i adapted the following example: http://matplotlib.org/xkcd/examples/user_interfaces/embedding_in_qt.html
here a fully plot example: https://gist.github.com/Arnold1/f5bf032a227247f413e8b056a61ba0d8
and got fancy_dendrogram from here:
https://joernhees.de/blog/2015/08/26/scipy-hierarchical-clustering-and-dendrogram-tutorial/
class MyMplCanvas(FigureCanvas):
  """Ultimately, this is a QWidget (as well as a FigureCanvasAgg, etc.)."""
  def __init__(self, title, xlabel, ylabel, linkage_matrix, cut_off, parent=None, width=5, height=4, dpi=100):
    fig = Figure(figsize=(width, height), dpi=dpi)
    self.axes = fig.add_subplot(111)
    # We want the axes cleared every time plot() is called
    self.axes.hold(True)

    self.compute_initial_figure(title, xlabel, ylabel, linkage_matrix, cut_off)

    #
    FigureCanvas.__init__(self, fig)
    self.setParent(parent)

    FigureCanvas.setSizePolicy(self,
      QSizePolicy.Expanding,
      QSizePolicy.Expanding)
    FigureCanvas.updateGeometry(self)

  def compute_initial_figure(self):
    pass

class MyStaticMplCanvas(MyMplCanvas):
  def compute_initial_figure(self, title, xlabel, ylabel, linkage_matrix, cut_off):

    self.fancy_dendrogram(
      linkage_matrix,
      leaf_rotation=90., # rotates the x axis labels
      leaf_font_size=8., # font size for the x axis labels
      show_contracted=False,
      #annotate_above=10,
      max_d=cut_off,  # plot a horizontal cut-off line
    )

  def fancy_dendrogram(self, *args, **kwargs):
      max_d = kwargs.pop('max_d', None)
      if max_d and 'color_threshold' not in kwargs:
          kwargs['color_threshold'] = max_d
      annotate_above = kwargs.pop('annotate_above', 0)

      ddata = dendrogram(*args, **kwargs)

      if not kwargs.get('no_plot', False):
          self.axes.set_title('Hierarchical Clustering Dendrogram (truncated)')
          self.axes.set_xlabel('sample index or (cluster size)')
          self.axes.set_ylabel('distance')
          for i, d, c in zip(ddata['icoord'], ddata['dcoord'], ddata['color_list']):
              x = 0.5 * sum(i[1:3])
              y = d[1]
              if y > annotate_above:
                  self.axes.plot(x, y, 'o', c=c)
                  self.axes.annotate("%.3g" % y, (x, y), xytext=(0, -5),
                               textcoords='offset points',
                               va='top', ha='center')
          if max_d:
              self.axes.axhline(y=max_d, c='k', linestyle='--', color='red')
      return ddata

here is the output:

my dendrogram just has single points and not a tree structure.... is the problem in scipy dendrogram or somewhere else?
i expected the dendrogram to have the same style as here: https://joernhees.de/blog/2015/08/26/scipy-hierarchical-clustering-and-dendrogram-tutorial/

I don't see the data to reproduce this, and I also don't see any error in your code. fancy_dendrogram seems fine. When you call that standalone (without the MPL canvas), do you get the horizontal and vertical lines?

@rgommers let me create a simple example to reproduce it.

bug fixed:
  def fancy_dendrogram(self, *args, **kwargs):
    kwargs['ax'] = self.axes
    ...

could you tell me why that is required?

Something complex in matplotlib. You were mixing Matplotlib elements with the pylab API, which is never good. From the dendrogram docstring:
     ax : matplotlib Axes instance, optional
         If None and `no_plot` is not True, the dendrogram will be plotted
         on the current axes.  Otherwise if `no_plot` is not True the
         dendrogram will be plotted on the given ``Axes`` instance. This can be
         useful if the dendrogram is part of a more complex figure.

Thanks for the update, closing.

thanks for help. what is your recommended way to plot a dendrogram with pyqt?

there's nothing really special about a dendrogram, so just put it in a canvas like you would for any other figure


Fix #97: only-binary in requirements.txt

Tested on Docker sirf:latest (not service), installed successfully
without --only-binary

question is of course if it installed everything that we need, as you've removed some stuff. Can you confirm that the other packages are actually there?

or just list them anyway (might be easiest)

The other packages that I removed are not explicit dependencies - we never import them, so we only want them if the other dependencies need them. I included them only to make sure they were binary only.
No matter, I've checked the pip install output and can confirm that with the current pip they are still installed

As this isn't going to fix the conda as it doesn't have brainweb, I suggest we leave this for 3.2

I may be confused here, but usually conda doesn't interface directly with a requirement.txt? You would use pip from within conda, so it should be available via pip?

sure. It's just that the docker script uses requirements.txt with conda install -f as a first attempt, and then falls back to pip. the latter works fine.
anyway, let's forget about this for now

Yes I agree, above comment was for later :)

@KrisThielemans @ashgillman in the creation of the jupyterhub image for the training I remove the --only-binary during installation, so conda may succeed.
For the requirements of @gschramm's pyapetnet, I install from  requirements-pyapetnet.txt all that it's possible via conda, and only what's not possible via pip, by reading the file line by line.

@KrisThielemans @ashgillman in the creation of the jupyterhub image for the training I remove the --only-binary during installation, so conda may succeed.

When I checked, it doesn't as brainweb isn't in conda. Anyway...

Yes, I should do the line-by-line also there.

Yes, I should do the line-by-line also there.

except that conda recommends to do all installs together such that it can resolve versions better...
package management isn't easy, which is something that we know by now!

fixed in #187


nixos/matrix-synapse: minor improvements to implement worker-support

Motivation for this change
This doesn't contain changes for actual worker-support as I haven't figured out (yet) how to properly implement this in this module.
However, there are two changes that I needed to implement it in my personal Matrix configuration:

Expose config file for matrix-synapse as read-only option to make sure that custom worker services can access it.
Expose synapse.app.generic_worker as executable in pkgs.matrix-synapse.

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

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

[x] Fits CONTRIBUTING.md.

Actually, we should also set enableRedis to true by default in the package.

We do this since #140207 :smile:


Added bellman ford algo, quicksort and max contiguous subarray

Bellman algo - to handle negative cycles ( to find a loop)
quicksort - used divide & conquer to sort array - not stable - inplace
max contiguous - kadane algo(local and global max)

@NAMAN9JAIN  contribute to https://github.com/Ishaan28malik/Get-Dev-Resources instead


Databind byte[]

I Have this class and when my form is submited the value from de form not going to controller. But when I changed the byte[] to int[] the value go to controller correctly.
public class ViewModel {
public byte[] IdStatusPedidoFornecedor { get; set; }
}

public class ViewModel {
public int[] IdStatusPedidoFornecedor { get; set; }
}

What's happening when I send an array of byte? MVC not have databind for byte array?

MVC expects a byte-array to bind from a Base64-encoded string by default. This is special cased because byte[] is a common way to represent an blob of binary data, and Base64 is probably the most common way to send binary data over a text-based protocol. See https://github.com/aspnet/Mvc/blob/dev/src/Microsoft.AspNetCore.Mvc.Core/ModelBinding/Binders/ByteArrayModelBinder.cs
If you want to prevent this from happening, you can remove the ByteArrayModelBinderProvider from the list of providers.
services.AddMvc(options => options.ModelBinderProviders.Remove(options.ModelBinderProviders.OfType<ByteArrayModelBinderProvider>().Single()));

I want send value like the inicialization of property. I'm use this case because in my database my property is a tinyint and I want use this array to make a contains in my query by entity framework without make a conversion.
How is the best way to make it?
I don't try to send a file. I'm want send a value from multiple select.
I'm make it wrong?
public class ViewModel {
public byte[] IdStatusPedidoFornecedor { get; set; } = new[]{1,2,3};
}
public class ViewModel {
public int[] IdStatusPedidoFornecedor { get; set; } = new[]{1,2,3};
}
my view(html)

Selecione...
Pedido AprovadoPedido FaturadoProduto(s) em Rota de EntregaEntregueReversaCanceladoEstornadoEstornado ParcialmenteCancelado ParcialmentePendenteReenviadoExtraviadoResgate AprovadoResgate BloqueadoPedido não ConcluídoTransfer em ProcessamentoTransfer PendenteNão InformadoNão InformadoNão InformadoPedido Aprovado

Using byte[] is fine, you need to remove the ByteArrayModelBinderProvider from the set of binders in your startup code, and then this should use the normal array behavior.

We are closing this issue because no further action is planned for this issue. If you still have any issues or questions, please log a new issue with any additional details that you have.


Fix simulator service account not being created for GKE.

This addresses an issue that was missed in #1324.

This change is


ESM not working as expected

Tried to upgrade to v3 in a project that is using TypeScript to import this file and I'm seeing the following error:
Error [ERR_REQUIRE_ESM]: Must use import to load ES Module: .../node_modules/markdown-table/index.js
require() of ES modules is not supported.

I played around with renaming the main file with .cjs and .mjs and ran into other issues.
Running Node v15.11.0

Heya. You’re the first to be hit by this. Expect more to come over the following months tho.
TL:DR; don’t update to ESM yet if you don’t want to. But it’s time to start thinking about moving to actual ESM instead of faux-ESM/CJS.
Related:

https://twitter.com/sindresorhus/status/1349294527350149121
https://twitter.com/kentcdodds/status/1369803853005209602
https://github.com/unifiedjs/unified/issues/121

Is the crux of the issue here that markdown-table is esm only and the typescript project is compiling down to commonjs before executing?

See https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c for more info about how to use TS with ESM.


chore: bump to v0.4.3, change to use dist

First trying to change the files array to see if this will fix the issue of directories missing in npm publish, otherwise we will need to add an npmignore file.

@apupier okay will test it again after my appointment

It seems this PR is actually addressing the problem and we won't need to try with an .npmignore file. I tried the steps mentioned by @apupier , both with the main branch and this one. If we kept the package.json as files: ["dist/lib"] then the main dist files do not get included in the package.
I've also added a commit to run yarn build:lib as an additional step in the Publish NPM Package GH action so that the library files are included.


Update CLI prompt after new project creation

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/747
Originally created by @dmor on 2019-06-26 20:36:54

View 3 previous comments from the original issue on GitLab


Allow environment variable feature

AWS Just added Lambda environment variables
https://aws.amazon.com/about-aws/whats-new/2016/11/aws-cloudformation-supports-aws-serverless-application-model-aws-lambda-environment-variables-and-new-cli-commands/
Here is how it can be used in troposphere
Function(
            "FunctionWithEnvironment",
            Description="Lambda Environment feature is awesome",
            Code=Code(
                S3Bucket="s3_bucket_name",
                S3Key="key/file.zip",
            ),
            Environment={
                "Variables": {"ENV_NAME": "env_value"}
            },
            Handler="handler.index",
            Role=GetAtt(lambda_role, "Arn"),
            Runtime="python2.7",
            Timeout=10
        )

in lambda python code:
import os
print("ENV_NAME={}".format(os.environ.get('ENV_NAME')))

Thanks!


Fixes #211 Added support for pseudocolumns and oracle ROWNUM

Coverage decreased (-0.05%) to 98.147% when pulling 89bf68cce41598cb9837e9ff43e767f15578c8ed on oracle_rownum into 9dcf4f7731940b1c4f74830d65b152c0a715aedd on master.

Coverage decreased (-0.05%) to 98.147% when pulling 89bf68cce41598cb9837e9ff43e767f15578c8ed on oracle_rownum into 9dcf4f7731940b1c4f74830d65b152c0a715aedd on master.

Coverage decreased (-0.05%) to 98.147% when pulling 89bf68cce41598cb9837e9ff43e767f15578c8ed on oracle_rownum into 9dcf4f7731940b1c4f74830d65b152c0a715aedd on master.

Coverage decreased (-0.05%) to 98.147% when pulling 89bf68cce41598cb9837e9ff43e767f15578c8ed on oracle_rownum into 9dcf4f7731940b1c4f74830d65b152c0a715aedd on master.

By the way, we already have PseudoColumn support (see the bottom of terms.py and pseudocolumns.py). RowNum is already part of this.

yeah i noticed this from the other issue that was raised. I will consolidate them.


Python 10 Support

Add tests for python 10.

Support is also available in Preview for Cloud Functions since a couple of days : Cloud Functions release notes, April 25, 2022.


Add support for get_raceplan_for_event

As it is implemented now, there is no way to get only raceplan for a given event.

Will be solved by #11

This issue was supposed to adress that there is need for a query-parameter on the GET /raceplans.
E.g.
GET /raceplans?event-id=1234

Solved by ed37182


Master pageselection

Just curious what happens when you pass in the page as an integer instead of a string for the commented code on line 103?
Example:
$Body = "@{query='$Query', page=$Page}"


Fix array_reduce in new groups closure

Fixes array_reduce to use $carry in #13559. It's only returning one group now.

[X] Code style has been fixed by running the composer cs command.
[X] Changes have been tested to not break existing functionality.
[X] Documentation is up-to-date.

Good catch, thanks!


ERROR [sawtooth-simple-supply-shell 2/5]

Hello,
While attempting to run the 'docker-compose up' command, the following components give errors:

simple-supply-rest-api
simple-supply-subscriber
simple-supply-shell
simple-supply-tp

RUN
apt-get update
&& apt-get install -y -q curl gnupg
&& curl -sSL 'http://p80.pool.sks-keyservers.net/pks/lookup?op=get&search=0x8AA7AF1F1091A5FD' | apt-key add -
&& echo 'deb [arch=amd64] http://repo.sawtooth.me/ubuntu/chime/stable bionic universe' >> /etc/apt/sources.list
&& apt-get update
The issue seems to appear for the apt key:
Warning: apt-key output should not be parsed (stdout is not a terminal)
curl: (6) Could not resolve host: p80.pool.sks-keyservers.net
gpg: no valid OpenPGP data found.
The last message is:
failed to solve: rpc error: code = Unknown desc = executor failed running [/bin/sh -c  apt-get update
&& apt-get install -y -q curl gnupg
&& curl -sSL 'http://p80.pool.sks-keyservers.net/pks/lookup?op=get&search=0x8AA7AF1F1091A5FD' | apt-key add -
&& echo 'deb [arch=amd64] http://repo.sawtooth.me/ubuntu/chime/stable bionic universe' >> /etc/apt/sources.list
&& apt-get update]: exit code: 2
Any insight on how to handle this error would be appreciated,
Thank you.

One way to help solve this is to run each command by hand on the command line and see which one fails.
It looks like the key server p80.pool.sks-keyservers.net does not exist, at least at the moment. Maybe this is temporary or permanent. But if it's permanently removed it would have an impact everywhere with Sawtooth.

I managed to get a fix in the meantime by utilizing pgp.surfnet.nl as a replacement for the p80.pool.sks-keyservers.net. I will be closing down the issue.


refactor: use lightweight token for CDK accordion

The CdkAccordionItem currently always brings in the CdkAccordion
class. This is not desired as an accordion item could be used
outside of a <cdk-accordion>. In those cases, we do not want
to retain the accordion class w/ metadata unnecessarily.
This also affects the MatExpansionPanel as it extends
from the CdkAccordionItem and therefore always brings in
the CdkAccordion list unnecessarily right now.
Related to #19576.

Want to change this to the new development branch?


his tesseract has no URL support

Is there anything I can do to add URL support to this package? I keep getting error:
Command failed: tesseract "https://tesseract.projectnaptha.com/img/eng_bw.png" stdout -l eng --oem 1 --psm 3 Error, this tesseract has no URL support Error during processing.
tesseract version I have is: 5.0.0-alpha-20201231-171-g04173

v2.2.0 fixed


Add a canonicalizer to remove unused secret.yield'ed values

Includes a bit of cleanup putting the helpers to add/remove yielded values on the GenericOp class.

Fixes https://github.com/google/heir/issues/320


unable to subscribe to WebSocket events

Steps to Reproduce Issue
The example code of sui-sdk on the devnet branch fails to run on both macOS and Ubuntu systems. The code being executed is as follows:
https://github.com/MystenLabs/sui/blob/main/crates/sui-sdk/examples/event_subscription.rs
use futures::StreamExt;
use sui_sdk::rpc_types::SuiEventFilter;
use sui_sdk::SuiClientBuilder;

#[tokio::main]
async fn main() -> Result<(), anyhow::Error> {
    let sui = SuiClientBuilder::default()
        .ws_url("wss://wallet-rpc.devnet.sui.io:443")
        .build("https://wallet-rpc.devnet.sui.io:443")
        .await?;
    let mut subscribe_all = sui
        .event_api()
        .subscribe_event(SuiEventFilter::All(vec![]))
        .await?;
    loop {
        println!("{:?}", subscribe_all.next().await);
    }
}

cargo run --example event_subscription
...
Error: Networking or low-level protocol error: Error in the WebSocket handshake: http version was not 1.1

Caused by:
    0: Error in the WebSocket handshake: http version was not 1.1
    1: http version was not 1.1

Expected Result
I expected to be able to subscribe to message notifications from the SUI node, but after multiple attempts, I was unable to do so.
System Information

OS: macos 13.2.1 (22D68) M2
Compiler: rustc 1.65.0 (897e37553 2022-11-02)

On the previous version of devnet, there was a bug in the code that loaded the config from fullnode.yml. If you changed the port for websocket in fullnode.yml, it was ignored and always ran at port 9000. This sounds like it's a separate issue, but figured it was worth mentioning just in case.

I also get an error when trying to subscribe "manually" via curl:
$ curl http://localhost:9000 -H 'Content-Type: application/json' --data-raw '{"jsonrpc": "2.0", "id": 1, "method": "suix_subscribeEvent", "params": [{"All": []}]}'

{"jsonrpc":"2.0","error":{"code":-32603,"message":"Internal error"},"id":1}

The same query for suix_queryEvents works without issues.

https://github.com/MystenLabs/sui/issues/14355


Add Structure Diagram

I take the opportunity to open such requests since the project is still young!
I would like to see a structural diagram of this project. A simple PNG file, showing which modules are used and how they are tied together, which modules can be extended or replaced (actually plugins) etc.

As an overall structure diagram would create a very dense diagram we have decided to deliver diagrams as part of the package documentation (where relevant). E.g see issue #615 and issue #616 as an example.


JS YAMLException crashes amplify console

Issue Description
A JS exception related to the amplify.yml file prevents me from seeing the detail view of my amplify console. Modifying the yaml file in my repo doesn't seem to change that behavior.
Detailed Steps To Reproduce
Not sure how to reproduce.
Copy and Paste Logs + Error Messages (remove sensitive data)
main.js:35 uncaught at o YAMLException: duplicated mapping key at line 37, column 1:     version: 1     ^     at m (https://dqryvwaesjl1l.cloudfront.net/5d82503d58eaefe3954b453be1d2d57823dd518e/main.js:102:187427)     at g (https://dqryvwaesjl1l.cloudfront.net/5d82503d58eaefe3954b453be1d2d57823dd518e/main.js:102:187525)     at N (https://dqryvwaesjl1l.cloudfront.net/5d82503d58eaefe3954b453be1d2d57823dd518e/main.js:102:188606)     at D (https://dqryvwaesjl1l.cloudfront.net/5d82503d58eaefe3954b453be1d2d57823dd518e/main.js:102:195585)     at x (https://dqryvwaesjl1l.cloudfront.net/5d82503d58eaefe3954b453be1d2d57823dd518e/main.js:102:198146)     at V (https://dqryvwaesjl1l.cloudfront.net/5d82503d58eaefe3954b453be1d2d57823dd518e/main.js:102:200254)     at j (https://dqryvwaesjl1l.cloudfront.net/5d82503d58eaefe3954b453be1d2d57823dd518e/main.js:102:201001)     at Z (https://dqryvwaesjl1l.cloudfront.net/5d82503d58eaefe3954b453be1d2d57823dd518e/main.js:102:201206)     at Object.O [as safeLoad] (https://dqryvwaesjl1l.cloudfront.net/5d82503d58eaefe3954b453be1d2d57823dd518e/main.js:102:201463)     at t.n.generateTabs (https://dqryvwaesjl1l.cloudfront.net/5d82503d58eaefe3954b453be1d2d57823dd518e/main.js:81:148187)
Expected behavior
Even if the amplify.yml file contains errors I should be able to remove the app or modify its build configuration.
Application Details
I can't get to my app ID because of the exception.
The contents of amplify.yml
version: 1
applications:
  - appRoot: frontend
    frontend:
      phases:
        preBuild:
          commands:
            - yarn install
        build:
          commands:
            - BUILD_MODE=$BUILD_MODE make build-frontend
      artifacts:
        baseDirectory: dist
        files:
          - '**/*'
      cache:
        paths:
          - node_modules/**/*
      customHeaders:
        - pattern: '**/*.js'
          headers:
            - key: 'Cache-Control'
              value: 'public,max-age=31536000,immutable'
        - pattern: '**/*.css'
          headers:
            - key: 'Cache-Control'
              value: 'public,max-age=31536000,immutable'
        - pattern: '**/*.png'
          headers:
            - key: 'Cache-Control'
              value: 'public,max-age=31536000,immutable'
        - pattern: '**/*.jpg'
          headers:
            - key: 'Cache-Control'
              value: 'public,max-age=31536000,immutable'

Hi @davidmatter,
Thanks for reporting. Just to understand the steps you followed:

You created amplify.yml in your Frontend GitHub repo
You connected your repo in amplify console
In the build phase, you got an error because of an invalid amplify.yml file?
When you say you are not able to see app details. Do you mean you see a white screen when you click on the app?

@abhi7cr i am having the same problem: https://github.com/aws-amplify/amplify-console/issues/865

You created amplify.yml in your Frontend GitHub repo
You connected your repo in amplify console
Go go to the Amplify console and change the yml to somthing that is not validt yml
When clicking on the App in the Console you get a blank page because of yml / js parsing error

When you say you are not able to see app details. Do you mean you see a white screen when you click on the app?
You can not even see any details about the app anymore:

@abhi7cr I'm not exactly sure how to reproduce - Whether it was an invalid yaml file in the repo or in the app console. Same outcome as @H34D though.
Also, I haven't found out which version of the amplify.yaml file is used for the build if I make changes in both the repo's yaml file and the console's. Does the version in the repo override the one from the console or the other way around?

i recovered from this error with a sneaky workaround:

create a new amplify app, and select it
reload the console forcefully with (cmd+r on mac)
this should bring you the interface back and show the newly create app
in the new app go to build settings
then switch to the app with the faulty yml via the fold out menu on the left side
this should give you the editor with the fauly yml
now click on edit and empty the whole yml (i had to to this because i was unable to write at that time, only delete)
8 click on save
9 reload everything and switch to the faulty application
click on edit and past the correct yml back in
click on save
delete the new app you created
donel, easy 🚀

Hello all, thank you for you patience. We have deployed a fix for this, so it should no longer be an issue. Feel free to re-open this ticket if you continue to face this or related issue. Thank you!

@Athena96 thanks! I still have this question that is absolutely unclear from the docs as well as the UI:

Also, I haven't found out which version of the amplify.yaml file is used for the build if I make changes in both the repo's yaml file and the console's. Does the version in the repo override the one from the console or the other way around?

@davidmatter for a given branch, if you include amplify.yml in your project root during a build/deploy of that branch, that will override whatever you have provided in the console (regardless of what it shows).


Reduce some duplication when toggling "expanded" buttons in the viewer toolbars

This is very similar to PR #16281, but for buttons that use the "aria-expanded" attribute.

/botio integrationtest


update to perawallet/connect

instead of algorand-qr-modal + walletconnect deps, use the new https://github.com/perawallet/connect
it's mostly the same tech under the hood... not sure it's worth it

relying on any-wallet under the hood completely resolves this

resolved by any-wallet