Creation of deep nodes

It would be useful if JsonPath had the capability to create "deep nodes" rather than just nodes of already existing parents.
For example, provide a method that, given a path e.g. $.x.y.z, a value 10, and a DocumentContext, create the node z with a value 10 allowing for the possibility that x, y do not yet exist. The logic would be

If the 1st level node x does not yet exist, create it with an empty object value
If the 2nd level node x.y does not yet exist, create it with an empty object value (i.e. create a new property y of x)
If the 3rd level node x.y.z does not yet exist, create it with value 10; if it does exist update the value to 10.

It's possible to do this with the existing APIs using an iterative loop to work down the path, DocumentContext.read to test for existence and DocumentContext.put to create, but would be really cool if the API provided such a capability generally.

Also $.array[10] could create an array with anough size to assign the 10th item

Is there any more thought to bringing this functionality to JsonPath?
It would really make this tool much more flexible in terms of full json data manipulation.

Yes this would be nice to have in the API. I have done this for my own. I have wrapped the API and in my class there is a method getNode(node, jsonpath) which creates all missing nodes. But I have done the easy way and support only the dot-notation and not the bracket-notation.

jlolling I took a look through your forked repo and couldn't find the class you were referring to. Did you push that class up to a public repo somewhere? I am doing something similar and was hoping for inspiration on how to handle arrays.

I made it in my own application. I should get an idea where to put that in the existing Jayways API.
The code where I made this feature is here:
https://github.com/jlolling/talendcomp_tJSONDoc
in the class JsonDocument.getNode(...)
public JsonNode getNode(JsonNode parentNode, String jsonPath, boolean create)
If you have an idea where we can integrate this in the Jayway API - that would be great.

I see that now, look like you are using the Jackson providers. I started down the path of using the default jsonsmart providers instead. I am wrapping the set, add, and put methods. Possibly wrap them all together since I am looking for a generic way to add anything to the document, without explicitly knowing what the path is. Also only supporting dot notation.

I guess it should be possible to build such functionality for all json providers. But for my project goal I needed that very quick - so I have done this only for my own.

Functional workaround for limited syntax with limited performance. I do hope this library comes back to life or something yaml-based supercedes it.
  /**
   * Sets a value, creating any missing parents
   * @param context
   * @param path supports only "definite" paths in the simple format {@code $.a.b.c}.
   * @param value value to set
   */
  private void create(DocumentContext context, String path, Object value) {
    int pos = path.lastIndexOf('.');
    String parent = path.substring(0, pos);
    String child = path.substring(pos + 1);
    try {
      context.read(parent); // EX if parent missing
    } catch (PathNotFoundException e) {
      create(context, parent, new LinkedHashMap<>()); // (recursively) Create missing parent
    }
    context.put(parent, child, value);
  }

Any update on this feature?

Functional workaround for limited syntax with limited performance. I do hope this library comes back to life or something yaml-based supercedes it.
  /**
   * Sets a value, creating any missing parents
   * @param context
   * @param path supports only "definite" paths in the simple format {@code $.a.b.c}.
   * @param value value to set
   */
  private void create(DocumentContext context, String path, Object value) {
    int pos = path.lastIndexOf('.');
    String parent = path.substring(0, pos);
    String child = path.substring(pos + 1);
    try {
      context.read(parent); // EX if parent missing
    } catch (PathNotFoundException e) {
      create(context, parent, new LinkedHashMap<>()); // (recursively) Create missing parent
    }
    context.put(parent, child, value);
  }

Thanks for the workaround.
I just found out about JsonPath, and I wish I knew about it before.
We had before a requirement from a client to convert a list of full path key-value pairs to a JSON object (the scenario is more complicated related to a dynamic input form, but this is the end result for brevity and to stay on point),
e.g:
listOf(
    "valueDetail.valueDetail1" to "1",
    "valueDetail.valueDetail2" to 2,
    "valueDetail.valueDetail3.someKey1" to "test",
    "valueDetail.valueDetail3.someKey2" to 4.5,
)

to
{
  "valueDetail": {
    "valueDetail1": "1",
    "valueDetail2": 2,
    "valueDetail3": {
      "someKey1": "test",
      "someKey2": 4.5
    }
  }
}

We also had to take into consideration arrays for that case.

Another potential (limited, map-only, no arrays) workaround is to use a custom JsonProvider which returns an empty map from the method getMapValue when the resolved value is UNDEFINED.
Something similar to this.
public class PathGeneratingJsonProvider extends JsonSmartJsonProvider
{
    @Override
    public Object getMapValue(Object obj, String key)
    {
        Object value = super.getMapValue(obj, key);
        return value == JsonProvider.UNDEFINED ? new LinkedHashMap<>() : value;
    }
}

Unsure how this will behave when used for reading json so make sure this is used only for update operations and use the default jsonProvider for read operations.

Functional workaround for limited syntax with limited performance. I do hope this library comes back to life or something yaml-based supercedes it.
  /**
   * Sets a value, creating any missing parents
   * @param context
   * @param path supports only "definite" paths in the simple format {@code $.a.b.c}.
   * @param value value to set
   */
  private void create(DocumentContext context, String path, Object value) {
    int pos = path.lastIndexOf('.');
    String parent = path.substring(0, pos);
    String child = path.substring(pos + 1);
    try {
      context.read(parent); // EX if parent missing
    } catch (PathNotFoundException e) {
      create(context, parent, new LinkedHashMap<>()); // (recursively) Create missing parent
    }
    context.put(parent, child, value);
  }

A little lame extension for one by one array elements adding:
public static void set(DocumentContext context, String path, Object value) {
    String parentPath;
    String key;
    Integer index;
    // parse the path ending
    if (path.endsWith("]")) {
        int pos = path.lastIndexOf('[');
        parentPath = path.substring(0, pos);
        key = path.substring(pos + 1, path.length() - 1);
        try {
            index = Integer.parseInt(key);
        } catch (NumberFormatException nfe) {
            throw new RuntimeException("Unsupported value \"" + key + "\" for index, only non-negative integers are expected; path: \"" + path + "\"");
        }
    } else {
        int pos = path.lastIndexOf('.');
        parentPath = path.substring(0, pos);
        key = path.substring(pos + 1);
        index = null;
    }
    // ensure parent exists
    try {
        context.read(parentPath);
    } catch (PathNotFoundException e) {
        if (index != null) {
            set(context, parentPath, new ArrayList<String>());
        } else {
            set(context, parentPath, new LinkedHashMap<>());
        }
    }
    // set the value
    if (index != null) {
        List<Object> parent = context.read(parentPath);
        if (index == parent.size()) {
            context.add(parentPath, value);
        } else if (index < parent.size()) {
            context.set(path, value);
        } else {
            throw new RuntimeException("Array values should be added one by one, but trying to put value at index " + index + " while array size is " + parent.size() + " (path: \"" + parentPath + "\")");
        }
    } else {
        context.put(parentPath, key, value);
    }
}

Any update on this feature?

A related feature is available (through mvn) in https://github.com/solven-eu/pepper/blob/master/map-path/src/main/java/eu/solven/pepper/mappath/MapPath.java


how to add weight for each class?

I am going to update code to enable passing class weights. Will let you know when ready.

@boykac  you can now set weight parameter when you initialize the loss function. It will be passed to underlying cross-entropy function.


link to issues is broken in readme

is https://github.com/bbc/sonarqube-packages/issues but should be https://github.com/bbc/sonarqube-systemd/issues

allot it to me

This is an open-source project, so feel free to submit a pull request to fix the issue. 😉


use XDG Desktop Portal on Linux & BSDs

This new backend does not support MessageDialog nor
AsyncMessageDialog because there is no corresponding API in the
XDG Desktop Portal.
The GTK backend is still available with the new gtk3 Cargo
feature.
Fixes #36

Looks good!
But I'd like to keep GTK as the default, desktop portals are often not present at all, so it should be a conscious decision of downstream devs to not support those users rather than ours. So GTK should be out-out, and portals opt-in (as GTK provides desktop portal support, so if GTK is the default than ours is not needed)

Gtk being the default means a KDE desktop user would get a GtkFileChooser instead of a Qt one

Gtk being the default means a KDE desktop user would get a GtkFileChooser instead of a Qt one

Yep, I'm aware of that.
Could we perhaps do a hybrid approach, so if ashpd fails we fallback to GTK? That would make sure that KDE users see their dialog. And GTK would still be out-out feature.

That can work yes and would my favourite option of the three

desktop portals are often not present at all

Really? Do you have a citation for this or have you tested it yourself? What distros with what desktop environments do not provide the XDG Desktop Portal at all?
I do not think linking large C libraries should be the default.

desktop portals are often not present at all

Really? Do you have a citation for this or have you tested it yourself? What distros with what desktop environments do not provide the XDG Desktop Portal at all?
I do not think linking large C libraries should be the default.

Basically any non DE environment, i3/awesomewm/openbox/dwm/xmonad, as for citation one of my machines runs sway compositor, and It does not have gtk-portal installed because it's coexistence with wlr-portal is buggy for some reason.
And yeah, I don't want to link GTK either, but I don't want to exclude part of users by default, some RFD users may not event know what Linux is, so I can't expect them to know if they should enable GTK or not.

does not have gtk-portal installed because it's coexistence with wlr-portal is buggy

I just tried installing Sway and removing all xdg-desktop-portal-* packages. As expected, without any portal installed this branch did not work. After installing xdg-desktop-portal-wlr and xdg-desktop-portal-kde then restarting Sway, I got the KDE file dialog as expected. After removing xdg-desktop-portal-kde and installing xdg-desktop-portal-gtk, I got the GTK file dialog as expected. So I don't know what issue you're referring to. Is there an upstream bug report?

I'm too lazy to find them all, but it's basically unstable, sometimes wlr screen sharing stops working out of nowhere because of gtk portal, sometimes GTK apps take forever to launch (https://github.com/swaywm/sway/issues/5732), problems come and go from time to time, so may people just don't bother to fix them constantly, some don't even know what portals are especially if they don't care about flatpak at all.
In X11 WMs world, it's more of a case of people not wanting to "bloat" their systems.
If XDG portals were universally adopted standard everywhere, I would never bother with implementing GTK backend. It's super tedious to maintain in comparison with a simple dbus based solution, and I'd love to get rid of it, but I can't.
A compromise I would be willing to take would be using Zenity in order to drop GTK dep, but I'm not sure what are it's limitations.

Could we perhaps do a hybrid approach, so if ashpd fails we fallback to GTK?

How might this be implemented? I'm not clear how that could work.

Not sure to be honest, this crate was written with one active backend at the same time in mind, so this change would not be simple.

sometimes wlr screen sharing stops working out of nowhere because of gtk portal

I searched the xdg-desktop-portal-wlr issue tracker for issues mentioning "GTK" and as far as I can tell, none of the issues people encountered were caused by xdg-desktop-portal-{gtk, gnome, kde} being installed. AFAICT all of the issues with xdg-desktop-portal-wlr were cased by people not having a required package installed, not having the required systemd services enabled, or otherwise having a misconfigured environment. This is consistent with the xdg-desktop-portal-wlr troubleshooting guide. All of those problems were with using the screencast or screenshot portals, which is all that xdg-desktop-portal-wlr implements. The only issues I saw people encountering with other portals on the xdg-desktop-portal-wlr issue tracker were because they did not have a portal installed (GTK or KDE) that implemented what they were trying to use. So, I don't think there's really an issue making this Rust library depend on the XDG Desktop Portal FileChooser dbus API.

In X11 WMs world, it's more of a case of people not wanting to "bloat" their systems.

Needing to install xdg-desktop-portal-gtk in addition to GTK isn't asking much. If someone really has an objection to that, frankly, I don't care. I don't want to bloat my Rust application with C dependencies; each additional C dependency makes it more cumbersome for new developers to build my application and packagers to package it.

If XDG portals were universally adopted standard everywhere

Anyone packaging a Rust application that uses rfd would need to ensure either xdg-desktop-portal-gtk or xdg-desktop-portal-kde is installed as a dependency. Even if those are not installed by default in some edge cases, installing an application that uses rfd should install it. For the Flatpak case I'm not totally clear how that would work. I would expect distributions to ensure either xdg-desktop-portal-{gtk, kde} is installed together with the Flatpak tooling or the GTK version in the Freedesktop Flatpak runtime to be used as a fallback.

frankly, I don't care. I don't want to bloat my Rust application with C dependencies

So just out-out of GTK feature, and the problem will be gone.
I will most likely do it in my projects as well (as this is usually the last bastion of C code in my builds), but I'm not willing to push this by default for all downstream users.

We could bikeshed about defaults forever; in the end, it doesn't really matter much because it's easy to edit one line in Cargo.toml.
More importantly, I don't think there's a compelling reason for doing a substantial refactor of this library to implement the previously proposed hybrid using the XDG Desktop Portal by default with a runtime fallback to GTK.

More importantly, I don't think there's a compelling reason for doing a substantial refactor of this library to implement the previously proposed hybrid using the XDG Desktop Portal by default with a runtime fallback to GTK.

Yeah, I agree with that, it's too much hassle for nearly no gain. You either want to support legacy dialogs or not, no need to complicate stuff with middleground solutions.

I made gtk3 a default feature. Unfortunately, Cargo does not support OS-specific features, which makes this misleading. However it still builds on Windows and macOS because the GTK code is only built on Linux & BSDs.
I think this is ready to merge. I can follow this up with another PR to update the documentation, then I think it would be good to make a new release.

Sure, thanks!
I think it's good to go

Follow up PR for documentation: #43
Big thanks to @bilelmoussaoui for writing ashpd! Before I found ashpd, I looked into doing this directly with zbus but realized it would have been significantly more work than this was.

In retrospect, this was well worth the effort to remove the huge C dependencies on GTK. This together with doing some work on my other dependencies to optionally use dlopen instead of linking (https://github.com/slint-ui/slint/pull/956 https://github.com/RustAudio/rust-jack/pull/162) produces an executable that only links glibc and Linux:
moire on  main [$!] is 📦 v0.1.0 via 🦀 v1.58.1 took 2m8s
❯ ldd target/debug/moire
        linux-vdso.so.1 (0x00007fffd3f4a000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f0ebdddb000)
        libm.so.6 => /lib64/libm.so.6 (0x00007f0ebdcff000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f0ebdaf5000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f0ebe7d0000)

This makes cross compiling to other CPU architectures trivial. :grin:


Upload Sign-In page to git and my notes on the elements

[ ] Upload the html and CSS of the Sign-In page to the git repository
[ ] Upload my notes which I have written down for the implementation of the Website to git


on_method_request_received property not documented

@boazeg commented on Mon Jan 18 2021
As part of the receive_method_request method documentation the following comment appears:
Deprecated since version 2.3.0: We recommend that you use the .on_method_request_received property to set a handler instead
However, there is no documentation of this property (.on_method_request_received) on this page, no link to another documentation page, no sample code to demonstrate its usage and it also does not seem to work at runtime in our custom module - we can set it OK but not receive any callback when a method is called (trying to use receive_method_request() method works well in the same module).

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 178e6ad2-a925-7c36-7600-5c8160e8d81c
Version Independent ID: 327ccd4e-78fb-f87d-9d0f-9b9ff6afc33c
Content: azure.iot.device.aio.IoTHubModuleClient class
Content Source: docs-ref-autogen/azure-iot-device/azure.iot.device.aio.IoTHubModuleClient.yml
Product: azure-iot
GitHub Login: @lmazuel
Microsoft Alias: lmazuel

Hi @boazeg , thanks for filing this. We will take a look at this documentation & content gap next week and update you here.

Hi @boazeg , thanks for filing this. We will take a look at this documentation & content gap next week and update you here.

Due to the fractured inheritance hierarchy of our class definitions, these handlers are defined in a different class from a different module, which is why you aren't seeing them.
Our samples folder contains examples showing the usage of these handlers. The documentation for them can currently be accessed via the python help command which shows all documentation for a class (e.g. help(IoTHubDeviceClient))
However, as you point out, there is an issue with the doc generation for our online resources not picking up these (and other) properties. I'm investigating a way that we can address that now.

Due to the fractured inheritance hierarchy of our class definitions, these handlers are defined in a different class from a different module, which is why you aren't seeing them.
Our samples folder contains examples showing the usage of these handlers. The documentation for them can currently be accessed via the python help command which shows all documentation for a class (e.g. help(IoTHubDeviceClient))
However, as you point out, there is an issue with the doc generation for our online resources not picking up these (and other) properties. I'm investigating a way that we can address that now.

@cartertinney Please note that the bug was actually opened on the documentation of IoTHubModuleClient and not IoTHubDeviceClient. I was aware of the Device client samples, but there are no Module client samples (as far as I can tell).
In my case, I had a runtime version issue that caused the callback not to be called, but nevertheless, not having a sample, and not seeing this callback in the IoTHubDeviceClient implementation did not help...

@cartertinney Please note that the bug was actually opened on the documentation of IoTHubModuleClient and not IoTHubDeviceClient. I was aware of the Device client samples, but there are no Module client samples (as far as I can tell).
In my case, I had a runtime version issue that caused the callback not to be called, but nevertheless, not having a sample, and not seeing this callback in the IoTHubDeviceClient implementation did not help...

I will see about adding a module specific sample, however the same principle applies regarding documentation - you can see the correct documentation using the python help command (e.g. help(IoTHubModuleClient).
Fixes for online web documentation surrounding handlers will be included as part of the next release.


Added Network Library and ORM NoSQL

Added Network Library - Android Asynchronous Http Client
Added ORM NoSQL Library - Realm, SimpleNoSQL, CouchBase, SnappyDB

Thank you @chintansoni202 for the contribution. Look forward for more :)

Thank You @PareshMayani Sir. GDGAhmedabad/Learning-Resources shall be known by "Silicon Valley for Android" soon.. :+1:


CO-1114. Handle different worker-user-data secret name for 4.6.

The worker-user-data secret name became worker-user-data-managed in 4.6.
Hive now supports alternate names for this secret.

Trying to make myself useful in my last few days here, so feel free to close if this is off base.

/retest

/close
Superseded by https://github.com/openshift/hive/pull/1116.


update intro.md in hacktoberfest folder

A very basic PR for people to know who they could follow or watch in order to make the most out of their github experience.

I am willing to help,  but you please give me more information about the project you want to create.

I'm looking at creating a one stop solution for people to look at who is good at something and how they could possibly get help from them for that particular thing. Might seem very basic but it's like creating an open sourced skill database for people to actually see who they could follow and get help from if they're interested in a particular topic.
Also, I thought it's a good time to start this as it's hacktoberfest.

I too want to help. Shall I add my info in the intros.md file?

Anyone and everyone can add their info by sending in a PR

@rahulkumaran is this done or still can contribute?


Auto Login after registering with a new account

The user should be logged in automatically after registering with a new account

I can try doing this, if you can assign me

@kavin25, we're currently adding email verification post-registration, so auto-login might not be a feature we'd want to add.


Fix prohibited chars in reason phrase

According to https://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html reason phrase should exclude CR, LF chars

Coverage remained the same at 100.0% when pulling fa3907d8b346adad4b434f8e38bfa58e526fa4bd on mapogolions:fix/prohibited-chars-in-reason-phrase into 3c76899e707910779f13d7af95fde12310b0a5ae on slimphp:master.


Fix for Incorrect VisualCharacter entity

Contains
Fixes #3685
How to test
Add this command to VisualCharacterSystem.java:
@Command(shortDescription = "print all characters and visual entities present currently")
public String printVisualEntities() {
    StringBuilder message = new StringBuilder();
    for (EntityRef character: entityManager.getEntitiesWith(PlayerCharacterComponent.class)) {
        if (character.hasComponent(VisualCharacterComponent.class)) {
            EntityRef visualCharacter = character.getComponent(VisualCharacterComponent.class).visualCharacter;
            message.append(character.toFullDescription());
            message.append("\n");
            message.append(visualCharacter.toFullDescription());
            message.append("\n");
        }
    }
    return message.toString();
}

Now, start 3-4 instances of game, host a Core Gameplay mode game on one of them, and join using others. Once, everyone has joined and game has loaded on each of them, use this command to check if the character entities and their visual entities are printed correctly. For the local player character in each of the instances, visual character should by EntityRef.NULL, i.e., it should just print { }.

Seems to work! But I'm having some bizarre issues in my workspace that I suspect are unrelated. Going to try to clean that up better before I risk merging anything.
Very nice detective work on this one!

Got another clean test and getting better at predicting what causes this weirdness I'm hitting. Good enough as far as merging this goes. Thanks again @darshan3 - I know this one caused some hair loss 😁


Elaborate on the benefits of using the template

Some points could be adapted from: https://www.gitbook.com/blog/what-is-docs-as-code


Send feedback with attachment and empty subject line gives wrong error message

If you try to send feedback from a Windows 8.1 device without a message, but with an attached file the following error is shown:
Could not send Feedback. Are you sure you're connected to the internet?

If you try to send without a message and without an attached file, a different (and presumably correct) error is shown:
Please enter a message or add an image as an attachment.

@LaviniaC Sorry for the super late follow-up on this issue. Are you still running into this error? I'll close it for now but please feel free to reopen if you have any questions. Thanks!


Modal classname to be added to ReactModalPortal div so we can style modal overlay

Summary
In nextjs when using css modules it is not possible to apply css the modal overlay.
Steps to reproduce:

In Nextjs add the Modal component to a page
Add a css module style <Modal className={styles.modal}>
Notice the style is being added to the ReactModal__Content div and not to the parent ReactModalPortal div.
So now with modules you cannot style the modal overlay
You should apply the classname to the top most wrapper so users of this package can have as much control as they need - seeing as css works top down.

Hi @gregg-cbs. className is used for the content.
The options are:

className (content)
portalClassName
bodyOpenClassName
htmlOpenClassName
overlayClassName

Let me know if this helps.


Attorney CV structure + fill contents

Create each page + add contents and structure it.

spent 45m

spent 2h


now works with python 3.8

Description
Casadi now works with python 3.8, so pybamm should too. This PR updates the tests and install docs.

Looks like the CI is passing, so all good :+1:


Hooks derivers into mina-graphql

Explain your changes:

Hooks Parties derivers' schema into mina-graphql
Renames objs defined via Graphql_arg to keep a working introspection query
Adds new graphql_query deriver
Imbues GraphQL client with the ability to query for the raw JSON (simplifies the pooledSnappCommands command) + exposes graqphl_query for dynamic generation of a full GraphQL query

Explain how you tested your changes:

Added graphql_query usage to unit tests in fields-derivers-snapps and fields-derivers-graphql
Ran mina.exe daemon -seed and opened the graphql explorer
PooledSnappCommands CLI command succeeds. Note: While I haven't run against a network with snapp commands in the mempool, since now we're just blitting the JSON out, there is no other place where it can fail in the GraphQL query succeeds.

Added graqphl_query

Amazing - looks complete and mergable to me. Not sure though whether we want to add the doc strings before replacing the graphql schema in develop?


@Createdd if you check the two last PRs, the last one has one line change, but didn't have the changes from the previous PR included.
Should be fixed by merging those two branches.

right now the master have all changes correctly in it!
# Command Line Crash Course

---

# Talk Contents

1. Speaker
2. Introduction
3. Unix
4. Bash
5. Man
6. Git
7. Creating Files And Directories
8. Navigate And Find Files
9. Manipulation Files
10. Vim
11. Connect To A Server
12. Process Management
13. Nyancat
14. More
15. This Talk

---

# Speaker

Robert Axelsen
@robaxelsen

Self-taught Software Developer, speaker, meetup organizer, and a community enthusiast. Having founded three monthly meetups (namely Vue.js Vienna, Vienna Go User Group and Free Code Camp Vienna) his greatest passion is creating and fostering environments where code and people conjoin in a friendly and supportive way.

---

# Introduction

This talk is by no means exhaustive.

It's meant to give people unfamiliar (or only a little bit familiar) with the command line, a little jump-start.

Suggestions for talk improvements, or additional commands that should be included, are welcome!

> What Is The Command Line?

---

# Unix

furthermore I don't find a commit that deletes something.
so I assume there is nothing left to do?
please check and feel free to close this issue if you agree


[AutoPR botservice/resource-manager] typo: Microsoft.BotService

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/4634

(message created by the CI based on PR content)

This PR has been merged into https://github.com/Azure/azure-sdk-for-python/pull/3252


zuul & consul always visit the <IP_ADDRESS>:8300

spring-cloud-starter-netflix-zuul:2.1.0.RELEASE
spring-cloud-starter-consul-discovery:2.1.0.RELEASE
When I launch the zuul app, it always accesses the consul service (<IP_ADDRESS>:8300), and then the error "connection reset" while will appear.
only use
Zuul:
    ignoredServices: consul

This way can run normally.
What I am wondering is why the zuul visit the consul service  at this startup time?

Are you trying to use Consul for service discovery?  If so your app will try to reach out to consul on startup to register itself and retrieve the list of other services registered in Consul.  If it can't reach Consul then I can see why you would get the Connection Reset error.
I am unsure why adding zuul.ignoredServices=consul solves this problem as it has nothing to do with service discovery.

my application.yml is:
server:
   port: 8816
spring:
   application:
      name: consulZuul
   cloud:
      consul:
         host: <IP_ADDRESS>
         port: 8500
         discovery:
            prefer-ip-address: true
            healthCheckPath: /consul/health
zuul:
   ignoredServices: consul
   routes:
      util:
         path: /util/**
         sensitiveHeaders:
         serviceId: consulServer

consul service is the consul itself;
consulServer is a server that I created to provides rest service, the 。
and if I remove the consul  in  ignoredServices: consul ,  will get the Connection Reset error。
The information before the error is:
2019-06-11 09:33:15.180  INFO 147324 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8816 (http) with context path ''
2019-06-11 09:33:15.191  INFO 147324 --- [           main] o.s.c.c.s.ConsulServiceRegistry          : Registering service with consul: NewService{id='consulZuul-8816', name='consulZuul', tags=[secure=false], address='<IP_ADDRESS>', meta=null, port=8816, enableTagOverride=null, check=Check{script='null', interval='10s', ttl='null', http='http://<IP_ADDRESS>:8816/consul/health', method='null', header={}, tcp='null', timeout='null', deregisterCriticalServiceAfter='null', tlsSkipVerify=null, status='null'}, checks=null}
2019-06-11 09:33:15.204  INFO 147324 --- [           main] c.p.s.consulzuul.ConsulZuulApplication   : Started ConsulZuulApplication in 6.482 seconds (JVM running for 7.185)
2019-06-11 09:33:22.895  INFO 147324 --- [nio-8816-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
2019-06-11 09:33:22.896  INFO 147324 --- [nio-8816-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2019-06-11 09:33:22.903  INFO 147324 --- [nio-8816-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 7 ms
2019-06-11 09:33:23.114  INFO 147324 --- [nio-8816-exec-1] c.netflix.config.ChainedDynamicProperty  : Flipping property: consul.ribbon.ActiveConnectionsLimit to use NEXT property: niws.loadbalancer.availabilityFilteringRule.activeConnectionsLimit =<PHONE_NUMBER>
2019-06-11 09:33:23.153  INFO 147324 --- [nio-8816-exec-1] c.n.u.concurrent.ShutdownEnabledTimer    : Shutdown hook installed for: NFLoadBalancer-PingTimer-consul
2019-06-11 09:33:23.154  INFO 147324 --- [nio-8816-exec-1] c.netflix.loadbalancer.BaseLoadBalancer  : Client: consul instantiated a LoadBalancer: DynamicServerListLoadBalancer:{NFLoadBalancer:name=consul,current list of Servers=[],Load balancer stats=Zone stats: {},Server stats: []}ServerList:null
2019-06-11 09:33:23.160  INFO 147324 --- [nio-8816-exec-1] c.n.l.DynamicServerListLoadBalancer      : Using serverListUpdater PollingServerListUpdater
2019-06-11 09:33:23.182  INFO 147324 --- [nio-8816-exec-1] c.netflix.config.ChainedDynamicProperty  : Flipping property: consul.ribbon.ActiveConnectionsLimit to use NEXT property: niws.loadbalancer.availabilityFilteringRule.activeConnectionsLimit =<PHONE_NUMBER>
2019-06-11 09:33:23.184  INFO 147324 --- [nio-8816-exec-1] c.n.l.DynamicServerListLoadBalancer      : DynamicServerListLoadBalancer for client consul initialized: DynamicServerListLoadBalancer:{NFLoadBalancer:name=consul,current list of Servers=[<IP_ADDRESS>:8300],Load balancer stats=Zone stats: {unknown=[Zone:unknown;	Instance count:1;	Active connections count: 0;	Circuit breaker tripped count: 0;	Active connections per server: 0.0;]
},Server stats: [[Server:<IP_ADDRESS>:8300;	Zone:UNKNOWN;	Total Requests:0;	Successive connection failure:0;	Total blackout seconds:0;	Last connection made:Thu Jan 01 08:00:00 CST 1970;	First connection made: Thu Jan 01 08:00:00 CST 1970;	Active Connections:0;	total failure count in last (1000) msecs:0;	average resp time:0.0;	90 percentile resp time:0.0;	95 percentile resp time:0.0;	min resp time:0.0;	max resp time:0.0;	stddev resp time:0.0]
]}ServerList:ConsulServerList{serviceId='consul', tag=null}
2019-06-11 09:33:23.361  WARN 147324 --- [nio-8816-exec-1] o.s.c.n.z.filters.post.SendErrorFilter   : Error during filtering

com.netflix.zuul.exception.ZuulException: Forwarding error

Nothing in zuul will automatically make a request to the consul service through ribbon.
Can you provide a complete, minimal, verifiable sample that reproduces the problem?  It should be available as a GitHub (or similar) project or attached to this issue as a zip file.

my code is :
https://github.com/ffch/zuulConsul.git
and the consul is running on port 8500.

I think it is probably your healthCheckPath, what is the entire exception?

It is because you named a controller /consul which matches a service registered in consul, therefore there is a route created in zuul /consul. You configured the health check for /consul/health which actually matches against the zuul route first rather than your rest controller. Commenting out the health check path also removes the error.
Ignoring consul is the proper thing to do.
Closing in favor of https://github.com/spring-cloud/spring-cloud-consul/issues/569


Does it work with angular?

Does This library work with angular? I saw examples with angularjs but none with angular.
If so, there is an example to follow.
Thanks you

Yes, it works as most (if not all) js libraries. But I didn't found any dedicated support for now.

Found solution on my own.  Where I import 'leaflet-contextmenu', I manually added the type definition called leaflet-contextmen.d.ts with the following content:
declare namespace L {
interface ContextMenuItem {
text: string;
index?: number
callback?: (ev: ContextMenuItemClickEvent) => void;
}
interface MapOptions {
    contextmenu: boolean;
    contextmenuItems: ContextMenuItem[]
}

interface MarkerOptions {
    contextmenu: boolean;
    contextmenuItems: ContextMenuItem[]
}

interface ContextMenuItemClickEvent {
    latlng: LatLng;
    layerPoint: Point;
    containerPoint: Point;
    relatedTarget: Marker | Path | undefined;
}

}
Now, I am able to declare those options, compile and the plugin works.  Tested in react with TS, it should work with Angular too.


First packets in throttling go through

It usually takes a few packets before throttling works.  There may be some race condition but this is odd

appears to be fixed.


feat: support OAuth token

fixes #110

I've used "oAuthToken" as the token name.
Which do you like better, "oAuthToken" or "oAuthAccessToken"?


support viewing/editing Border polygon or rectangle

Page frame detection is not always trivial: textual noise from facing pages, structured background, non-orthogonal sight lines due to skew or warp – scans (or worse: photos) can offer many challenges.
But a correct Border is often necessary for downstream processing like separator detection or region segmentation.
As an annotation tool, IMO Larex should both show the annotated page frame (if any) and allow editing it manually.

If I understand correctly, treating the result of the already existing RoI tool (see below) as Border and reading/writing it to the corresponding part in the generated PAGE XML should provide this feature, correct?

f I understand correctly, treating the result of the already existing RoI tool (see below) as Border and reading/writing it to the corresponding part in the generated PAGE XML should provide this feature, correct?

Yes, but is the RoI tool truly polygonal (as Border in PAGE), or merely rectangular?
Also, IIUC the RoI tool is not available in edit mode (but only segment mode), right?

Yes, but is the RoI tool truly polygonal (as Border in PAGE), or merely rectangular?

At the moment it's merely rectangular as well as the ignore rectangle but adding an ignore polygon shouldn't break anything, so adding this might make sense.

Also, IIUC the RoI tool is not available in edit mode (but only segment mode), right?

Yes.


[New chain]: Telos Mainnet 1.4.1

Summary

https://github.com/safe-global/safe-deployments/pull/627
https://github.com/ethereum-lists/chains/blob/master/_data/chains/eip155-40.json

Chain ID
40
Chain detail URL
https://chainlist.org/chain/40
RPC URL
https://telos.drpc.org
Blockscout Client URL
No response
Etherscan Client URL
No response
Etherscan Client API URL
No response
Version
1.4.1
Address (Master copy)
0x41675C099F32341bf84BFc5382aF534df5C7461a
Deployment Tx hash (Master copy)
0xbb725d84234e52f57a7e9f66709a3e1e2e3a96a6beeb49ca30009cc0280e034b
Block explorer URL (Master copy)
No response
Address (Master copy L2)
0x29fcB43b46531BcA003ddC8FCB67FFE91900C762
Deployment Tx hash (Master copy L2)
0x5df7efe49b2aad4999cc9038a6e23819d4f987a05105afe33889ad2efe3d49b5
Block explorer URL (Master copy L2)
No response
Address (Proxy factory)
0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67
Deployment Tx hash (Proxy factory)
0xa16ab20b813d3801fa9ba4eedbcf4c869474efe06d002e29d06216af02c42ec1
Block explorer URL (Proxy factory)
No response

/execute


Managing files on GitHub

Why:
Here I suggested how to use Python and flask .
If someone going to contribute on any open source their is many syntax mistake due some Python packages.
I also suggest the contributor to check the mypy website to inprove their coding skills.
What's being changed:
Just add how to install python and Flask
Check off the following:

[x] I have reviewed my changes in staging. (look for the deploy-to-heroku link in your pull request, then click View deployment)
[x] For content changes, I have reviewed the localization checklist
[x] For content changes, I have reviewed the Content style guide for GitHub Docs.

This article is a map topic and shouldn't have any content. I'm going to close this PR 💛
Take a look at the contributing.md to learn how to contribute in this repo. You can open a discussion if you have any questions or check out issues with the help wanted label. :sparkles:


Feature/merge 0.7.1 master

Contributions: We are not currently taking public contributions - see our contributions policy. However, we are accepting issues and we do want your feedback.

Description
Merging gRPC port changes and China support to master
Tests
Cloud deployment
STRONGLY SUGGESTED: How can this be verified by QA?
Primary reviewers
@oblm

Closing this and will remake after preview has been merged.


MagicHome with ESP8285 LED Controller

Hello,
I use a MagicHome with ESP8285 LED Controller. I flashed it with Sonoff-Tasmota.
https://github.com/arendst/Sonoff-Tasmota/wiki/MagicHome-with-ESP8285
In ioBroker it shows me only the possibility to turn it on/off. No color changing or dimming.
The other MagicHome controllers working with an other ESP Chip, this Controller seems to work with the adapter.

Duplicate


Moving Label node right to left is faster than left to right

Godot version:
3.0.3
OS/device including version:
Linux Mint 18.3
On-board graphics: Intel Xeon E3-1200
Issue description:
When continuously moving a Label node left and right across the screen it travels from right to left at a greater rate than when moving left to right. Probably no good reason for doing this (!) but it might reveal issues elsewhere
Steps to reproduce:
See below
Minimal reproduction project:
extends Node

var speed = 200
var dir = 1
var elapsed = 0

func _ready():
    pass

func _process(delta):
    elapsed += delta
    var temp = get_node("Label").rect_position
    temp.x += speed * dir * delta
    if (temp.x  < 1) or (temp.x > 600):
	dir = -dir
	temp.x += speed * dir * delta
	elapsed = 0

    get_node("Label").rect_position = temp
    if dir == 1:
	get_node("LabelLeft").text = str(elapsed)
    else:
	get_node("LabelRight").text = str(elapsed)

Alright I know what's happening.
To fix the problem, you can disable the "snap to pixel" preference into the project settings for control nodes. The snapping makes the setter snap the node to a rounded value which accelerate/decelerate the movement.
However this is a little bit annoying, something should probably be done for that.

The symptom described in this bug is fixed with #19782. The more complex underlying issue is still valid though, and described in #17890.


The details in Training

I've read your paper, and run your code. It's really great and fast.
But I have some questions here.

It seems like that you train the decision tree using the grey level image. However, because of the different skin color, comparison on grey level may be not the good idea? Have you tried trained on the gradient image(e.g. processed by sobel operator, ignore the gradient angle)?
In each internal node, you randomly do 256 binary tests. Why not just calculated the weighted average face of samples, and compare the max to min. If you want to introduced randomness, you can randomly pick a pair from top N maxs and top N mins.

The idea is great.

Yes, I've tried gradient images. However, these do not work well with pico due to aliasing problems (binary tests "miss" a lot of edges). You can try to learn your own detector using gradients: modify genki.py and background.py to generate a dataset processed with a gradient operator.

Could you explain your proposal in more detail?

Now, in each internal node, you just try 256 pixel pairs, and find the best with least WMSE(Weighted Mean Square Error, Equation 2 in paper). Our goal here is to find a pair of pixels which can divide the training samples into two groups separately. My proposal is

Get the average image of all face samples of current internal node (i.e the first pixel of average image is the average of the first pixel of all face samples of current internal node)
Pick the maximum pixel and minimum pixel of the average image as the pixel pair for this internal node.
It will work because average image of the nonface should be uniform, while most face image have bigger pixel value at location of maximum of average image and less pixel value at location of minimum of average image.

Hi wg1989john
"2.Pick the maximum pixel and minimum pixel of the average image as the pixel pair for this internal node." Do you mean that you want to change the  way to select pixel pairs ? maybe it works. but how about the detection speed?

Hi YangUSTC
It only affects training, not detection.

@wg1989john
Your idea is cool. But while building the tree and we get only nonface images in a subtree (pure subtree). Instead of calculating average image what should we use?


Code folding doesn't work for traits

Whoops

This is the duplicate of https://github.com/rust-analyzer/rust-analyzer/issues/5652

Oh, cool.


Fix multipart form data when it consists for JSON objects

I have recently faced a problem POSTing multipart form data using client.POSTAsync<TEndpoint, TRequest, TResponse>(...).
The problem is caused by the .ToString() call that just saves the object type name instead of serializing it. Therefore, it's better to call JsonSerializer.Serialize() instead of .ToString(), so that complex values can be handled properly.
How to reproduce:

Prepare a request containing complex values, for example an array of other objects
Send the request using POSTAsync

Actual result: A validation error happens "MyType[] is not valid for a property MyType[]"
Expected result: No validation errors

added a test and did a minor refactor to get the test pass.
could you have a look and see if everything works as expected now?
if ok, will merge.
thanks!

@dj-nitehawk nice improvement. Looks great.
Thanks!

merged.
thank you for the contribution.

@dj-nitehawk  Not sure if I should post here or create a new issue, but I have a problem with submitting data as form and found this PR and tried out the beta version it is in. I think it solved my issues with nullable Guids being set to Guid.Empty instead of null but now I get these errors for Guid with values:
{"name":"legalProvisionId","reason":"Value [\"8267237c-a8f4-4882-bc05-4e1b7d665093\"] is not valid for a [Guid] property!"}

@SpaceOgre i think it would be best to create a new issue with how exactly to reproduce the problem. a debuggable repro project attached to the issue would be much appreciated. will have a look at it as soon as i can...

@dj-nitehawk when are you going to release this change?

it's in v5.33 released today


Added Unknown to OperationContent so that the parsing does not fail if the library is not up to date on operation types

Fix to the parsing error when unknown operations contents appear in blocks.

Added Unknown to OperationContent so that the parsing does not fail if the library is not up to date on operation types

i would also note that there is no reason to use an untagged enum as it is tagged with kind. What is the rationale behind it ?

i would also note that there is no reason to use an untagged enum as it is tagged with kind. What is the rationale behind it ?

I agree, using tag = "kind" instead of untagged is preferable here, we will have a look at it.
At the time I believe it was because of the new operations being added, some of them got renamed and ended up being removed on mumbai upgrade.

Indeed if renames are possible it does make sense to keep them as untagged. The only risk is the collision of two schemas. Whichever is more risky should determine what to keep.

Thanks for the contribution :+1: .


Additional sort-limit tests

Scope & Purpose
These are strictly additional tests for the constrained heap sort in AQL. Motivated by https://github.com/arangodb/arangodb/pull/9981 mainly to have some more tests for sort-limit with fullCount.

http://jenkins01.arangodb.biz:8080/view/PR/job/arangodb-matrix-pr/6246/

Jenkins is green.


moveit-ros-perception: Could NOT find GLEW at do_configure

On kinetic-experimental-v2-alpha2, bitbake moveit-ros-perception fails with:
| -- Found OpenGL: /home/lukas/work/repositories/openembedded.org/openembedded-core/build/tmp-glibc/work/i586-oe-linux/moveit-ros-perception/0.9.6-r0/recipe-sysroot/usr/lib/libGL.so
| CMake Error at /home/lukas/work/repositories/openembedded.org/openembedded-core/build/tmp-glibc/work/i586-oe-linux/moveit-ros-perception/0.9.6-r0/recipe-sysroot-native/usr/share/cmake-3.7/Modules/FindPackageHandleStandardArgs.cmake:138 (message):
|   Could NOT find GLEW (missing: GLEW_INCLUDE_DIR GLEW_LIBRARY)
| Call Stack (most recent call first):
|   /home/lukas/work/repositories/openembedded.org/openembedded-core/build/tmp-glibc/work/i586-oe-linux/moveit-ros-perception/0.9.6-r0/recipe-sysroot-native/usr/share/cmake-3.7/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
|   /home/lukas/work/repositories/openembedded.org/openembedded-core/build/tmp-glibc/work/i586-oe-linux/moveit-ros-perception/0.9.6-r0/recipe-sysroot-native/usr/share/cmake-3.7/Modules/FindGLEW.cmake:38 (find_package_handle_standard_args)
|   CMakeLists.txt:13 (find_package)
|
|
| -- Configuring incomplete, errors occurred!
| See also "/home/lukas/work/repositories/openembedded.org/openembedded-core/build/tmp-glibc/work/i586-oe-linux/moveit-ros-perception/0.9.6-r0/build/CMakeFiles/CMakeOutput.log".
| See also "/home/lukas/work/repositories/openembedded.org/openembedded-core/build/tmp-glibc/work/i586-oe-linux/moveit-ros-perception/0.9.6-r0/build/CMakeFiles/CMakeError.log".
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_configure (log file is located at /home/lukas/work/repositories/openembedded.org/openembedded-core/build/tmp-glibc/work/i586-oe-linux/moveit-ros-perception/0.9.6-r0/temp/log.do_configure.29543)
ERROR: Task (/home/lukas/work/repositories/github.com/bmwcarit/meta-ros/recipes-ros/moveit/moveit-ros-perception_0.9.6.bb:do_configure) failed with exit code '1'

The distro features in local.conf are DISTRO_FEATURES = "directfb opengl x11".
This is the used build configuration:
Build Configuration:
BB_VERSION        = "1.33.4"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "ubuntu-14.04"
TARGET_SYS        = "i586-oe-linux"
MACHINE           = "qemux86"
DISTRO            = "nodistro"
DISTRO_VERSION    = "nodistro.0"
TUNE_FEATURES     = "m32 i586"
TARGET_FPU        = ""
meta              = "master:123962018251dfb1d6ca5aa5c0d02534007de3ab"
meta-oe
meta-multimedia
meta-python       = "master:e7ad92decb7025d76e2e8b2bc15349d548c8ad14"
meta-ros          = "kinetic-experimental-v2-alpha2:aa4fa0890f5be298a6f3539c59683f85ee52cabc"

NB. Requires opengl in appear in DISTRO_FEATURES.

@bulwahn < Can this issue be closed?

"Silence implies consent" (see http://wiki.c2.com/?SilenceImpliesConsent).


add system name option to named statespace

Codecov Report

Merging #78 (124177f) into master (da2a0b4) will increase coverage by 0.01%.
The diff coverage is 89.47%.

@@            Coverage Diff             @@
##           master      #78      +/-   ##
==========================================
+ Coverage   89.89%   89.91%   +0.01%
==========================================
  Files          17       17
  Lines        2563     2567       +4
==========================================
+ Hits         2304     2308       +4
  Misses        259      259

Impacted Files
Coverage Δ

src/named_systems2.jl
89.70% <89.47%> (-0.22%)
:arrow_down:

src/canonical.jl
98.59% <0.00%> (+1.40%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


REFACTOR!

ALL THE THINGS!!!
It's time.

https://github.com/secretsquirrel/the-backdoor-factory#the-backdoor-factory-is-no-longer-maintained-or-supported


Dropped 45.5% entries from factor data: 45.5% in forward returns computation and 0.0% in binning phase (set max_loss=0 to see potentially suppressed Exceptions)

Problem Description
Please provide a minimal, self-contained, and reproducible example:
factor_data_analysis = utils.get_clean_factor_and_forward_returns(series_facs_datas, df_price_new, max_loss=0)
factor_data_analysis.head()

Please provide the full traceback:
Dropped 45.5% entries from factor data: 45.5% in forward returns computation and 0.0% in binning phase (set max_loss=0 to see potentially suppressed Exceptions).
---------------------------------------------------------------------------
MaxLossExceededError                      Traceback (most recent call last)
<ipython-input-68-50caec2d0c49> in <module>
----> 1 factor_data_analysis = utils.get_clean_factor_and_forward_returns(series_facs_datas, df_price_new, max_loss=0)
      2 factor_data_analysis.head()

d:\Anaconda3\lib\site-packages\alphalens\utils.py in get_clean_factor_and_forward_returns(factor, prices, groupby, binning_by_group, quantiles, bins, periods, filter_zscore, groupby_labels, max_loss, zero_aware, cumulative_returns)
    833     )
    834
--> 835     factor_data = get_clean_factor(factor, forward_returns, groupby=groupby,
    836                                    groupby_labels=groupby_labels,
    837                                    quantiles=quantiles, bins=bins,

d:\Anaconda3\lib\site-packages\alphalens\utils.py in get_clean_factor(factor, forward_returns, groupby, binning_by_group, quantiles, bins, groupby_labels, max_loss, zero_aware)
    657         message = ("max_loss (%.1f%%) exceeded %.1f%%, consider increasing it."
    658                    % (max_loss * 100, tot_loss * 100))
--> 659         raise MaxLossExceededError(message)
    660     else:
    661         print("max_loss is %.1f%%, not exceeded: OK!" % (max_loss * 100))

MaxLossExceededError: max_loss (0.0%) exceeded 45.5%, consider increasing it.

Please provide any additional information below:
Versions

Alphalens version:  0.4.0
Python version: 3.8.3
Pandas version: 1.1.3
Matplotlib version: 3.2.2

my problem is there are too much na , works fine after I dropped NA


Upgrade not an option in the Azure Portal

I'm not sure if the portal has changed, but I'm unable to find the "Upgrade" option to move from v1 to v2 in the configuration section of my storage account.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 8bf5c2f8-d961-6460-194e-caa06ecfafa6
Version Independent ID: 29c0ec30-d312-9e9f-0bff-8c5e6b7eb907
Content: Upgrade to a general-purpose v2 storage account - Azure Storage
Content Source: articles/storage/common/storage-account-upgrade.md
Service: storage
GitHub Login: @tamram
Microsoft Alias: tamram

@moab360 , Please follow below steps to upgrade from general-purpose v1 storage account to general-purpose v2.
1)Locate and Navigate to your storage account
2)On the left side tile under the Settings section,  click Configuration.
3)Under Account kind, click on Upgrade.
4)Under Confirm upgrade, type in the name of your account.
5)Click Upgrade at the bottom of the blade as shown below.

Hope this helps you !

Thanks for the quick reply.  Unfortunately the "Upgrade" button is not being shown for me

@moab360, If the storage account created with kind “StorageV1” and SKU “ZRS”. You will not get the option to upgrade from StorageV1 to StorageV2, also you can’t change the replication to LRS, GRS & RA-GRS.

You can switch Azure Storage account replication from LRS (Locally redundant storage) to GRS (Geo-redundant storage), or RA-GRS ( Read -access geo-redundant storage), and vice versa.
Azure Storage accounts created with a ZRS (Zone-redundant storage) replication strategy cannot be a switch to any other replication strategy.  And, ZRS is only available for GPV2 (General Purpose V2) Account Type.
For more information, I would recommend you to refer the following guide on Types of Storage Accounts.

@moab360, Since we have not heard back from you we will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly reopen the issue and continue the discussion

the whole upgrade thing don't exist for me in the portal!


work on objectives

Pull Request Test Coverage Report for Build 522

96 of 108 (88.89%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+2.2%) to 73.472%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

lucid/optvis/objectives.py
59
62
95.16%

lucid/optvis/objectives_util.py
37
46
80.43%

Totals

Change from base Build 514:
2.2%

Covered Lines:
1731

Relevant Lines:
2356

💛  - Coveralls


UI Improvements inspirational list

Copy components

Using right click menu or CTRL+C
One or multiple (depending on selection)
If multiple then keep lines connected as well
Copy in this case means a new instance of a component but with identical configuration

Selecting multiple components using a drag over mechanism
Close component configuration using ESC key
Save component configuration using CTRL+S key
Deleting using the DEL key

For lines
For one or more selected components

Code editor (for component development as well as the one in the code component) comment and uncomment using hotkeys
comment and uncomment script using CTRL + / for the selected lines
SHIFT + / uses * notation
Searching in a code editor (for component development as well as the one in the code component)
Code collapse in code editor (for component development as well as the one in the code component)
Open a flow in another tab

Maybe by clicking on the 3 dots button in the flow overview
The name of flow in focus

CTRL+ Scoll to zoom in and out of a flow
Something that allows you to collapse and uncollapse (hide and unhide) parts of a flow for better overview when working with large flows. Or another idea that supports this concept.
Have control over the lines.
Manually drag and drop the lines after they automatically have been set. This helps you to organize the the lines so the whole flow becomes more readable.

DONE: copy components

I have added CMD+D or CTRL+D shortcuts for duplicating/cloning selected components

DONE: Selecting multiple components using a drag over mechanism

Implemented, it works by click with the mouse and pressed the SHIFT, or CMD, or CTRL key

SKIPPED: Close component configuration using ESC key

Hard do implement due to additional layers like DatePicker, ColorPicker, etc.

DONE: Save component configuration using CTRL+S key
DONE: Deleting using the DEL key
DONE: Code editor comment and uncomment using hotkeys
SKIPPED: Searching in a code editor

Hard to implement

SKIPPED: Code collapse in code editor

Hard to implement

DONE: Open a flow in another tab
SKIPPED: CTRL+ Scroll to zoom in and out of a flow
SKIPPED: Something that allows you to collapse and uncollapse

Hard to implement

SKIPPED: Have control over the lines

Hard to implement

DONE: copy components

I have added CMD+D or CTRL+D shortcuts for duplicating/cloning selected components
Works, but while I was writing this it doesn't work. After some refreshing it does again. Seems like that it doesn't capture the hot keys all the time. (using FF)

DONE: Selecting multiple components using a drag over mechanism

Implemented, it works by click with the mouse and pressed the SHIFT, or CMD, or CTRL key
Works

SKIPPED: Close component configuration using ESC key

Hard do implement due to additional layers like DatePicker, ColorPicker, etc.

DONE: Save component configuration using CTRL+S key
I tried it with code component and trigger, but doesn't work. Opens up firefox save window instead.

DONE: Deleting using the DEL key
Works, but when I open a flow and start doing it right away, it doesn.t I need to select a CP twice.

DONE: Code editor comment and uncomment using hotkeys
The variant with shift + / doesn't work. Other works

SKIPPED: Searching in a code editor

Hard to implement

SKIPPED: Code collapse in code editor

Hard to implement

DONE: Open a flow in another tab
Works, but I don't see the name in the browser title, but seeying my idea list it wasn't clear that it should show the name of the flow last in focus as part of the browser title.

SKIPPED: CTRL+ Scroll to zoom in and out of a flow

SKIPPED: Something that allows you to collapse and uncollapse

Hard to implement

SKIPPED: Have control over the lines

Hard to implement

I have tested shortcuts in the FF, and they don't work due to iframe. If I open the FlowStream to a new tab, everything works. I'll try to find a help on Google.

Deleting using the DEL key

I'll test it on Windows

The variant with shift + / doesn't work. Other works

I can't register shift + / char due to other languages. I have slovak keyboard layout and if I press shift + / then I'm getting / char :-D

Open a flow in another tab

Fixed. I have updated only flowstream.js module in the FlowStream, and I have applied a little change in the FlowStreamDesigner.

Found a couple of bugs.
-After uncommenting a line of code from the flow, the submit button is still grayed out.
-In windows, saving with ctrl + s does not work as intended (the browser tries to save the html file)


feat: logging in windows environment

This PR ensures that a self-hosted runner recent enough, i.e. using windows 10, created without specific setup is able to use the _logging private action. Before it was only working if bash was included in PATH which is not the case for many self hosted runners.
This will allow future actions dedicated to windows could use the _logging action without breaking changes.

This worked with linux and windows github runners and a windows self-hosted runner used by pyaedt toolkits (see https://github.com/ansys/actions/actions/runs/8600801687/)


trigger_payload: accept trigger_name key

Astarte >= 1.2.0 sends an additional trigger_name key in the trigger payload. This was making Edgehog crash since Ash doesn't accept additional input keys by default.
Since 1.2.0 is the current stable version of Astarte, add the trigger_name key to all existing tests and explicitly test support for the key missing to avoid regressions with old Astarte versions.
Fix #664

Added the references in both places.
Let me know if you prefer handling this with skip_unknown_inputs, either now or in the future (in that case open an issue).


Permissions on /etc/shadow can lock out GUI users

The role restricts /etc/shadow to root:root 0400. That's fine for servers, but on desktops it causes GUI lockscreen logins to fail:
$ grep chpwd /var/log/auth.log
unix_chkpwd[21667]: password check failed for user (conor)

The problem is that the screenlocker can no longer read /etc/shadow as the normal user. The setgid on /sbin/unix_chkpwd (2755 root:shadow) doesn't work with 0400 perms on /etc/shadow. Both Debian and Ubuntu expect /etc/shadow to be 0640 root:shadow. One workaround would be to adjust unix_chkpwd to setuid root, but that's a step backward from a hardening perspective.
For simplicity's sake, we can use the os_desktop_enable boolean to skip updating permissions on /etc/shadow when true. Then the role will continue to work as expected in headless environments (likely 95% of the use case for this role), and also be trivially reusable on interactive workstations.
Another more complicated option is to provide custom logic that enforces root:shadow 0640 under Debian-like systems. I haven't tested Fedora and similar yet, so I don't know whether they will need a similar setup.

I'm not familiar with the topic, but you mentioned "screenlocker". What is it? Whatever it's you can detect its present on the system and set variable accordingly

@fitz123 I'm using i3 as WM, with i3lock as screenlocker. Here are some relevant env vars:
$ printenv | grep -i desktop | sort
DESKTOP_SESSION=i3
XDG_CURRENT_DESKTOP=i3
XDG_DATA_DIRS=/usr/share/i3:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
XDG_SESSION_DESKTOP=i3
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0

Admittedly I use i3 on most graphical machines I have access to these days, so it may be i3-specific, but I would wager it affects Debian-like systems running Gnome or KDE as well.

The default permissions for /etc/shadow are:

Debian/Ubuntu:

root@986e440df792:/home/kitchen# ll /etc/shadow
-rw-r----- 1 root shadow 683 May 23 15:43 /etc/shadow

see https://help.ubuntu.com/community/FilePermissions

RHEL:

[root@b5704779e84f kitchen]# ll /etc/shadow
---------- 1 root root 670 Mar 23 17:20 /etc/shadow

see https://www.stigviewer.com/stig/red_hat_enterprise_linux_6/2013-02-05/finding/RHEL-06-000035
The Deutsche Telekom security assesment process (which this hardening project loosely follows) proposes:

Passwords must be stored only as hashes (bcrypt, scrypt), never in clear text. Files containing password hashes must be protected against unauthorized access.

Motivation: Passwords are in need of protection that only account owners or authorized persons may know and change. This measure is designed to ensure that unauthorized persons cannot gain knowledge of these passwords or have the chance to change them.
Implementation example: For system passwords, the file /etc/shadow shall be used in Linux. For other operating systems, the respectiveequivalent file shall be used, which is only readable for the root and only contains the hashes of the systempasswords.
I propose we talk about this issue in the test-os-hardening repository, here's the test:
https://github.com/dev-sec/tests-os-hardening/blob/master/controls/os_spec.rb#L33-L48
The results will then be implemented.

https://github.com/dev-sec/tests-os-hardening/issues/41

thanks for bringing this up.
we can introduce a chef, ansible or puppet attribute to make it configurable. the default value would be 0600 for /etc/shadow but then you can adjust it.
@conorsch How does that sounds for you?

I'm happy to submit a PR making the file map (owner, group, mode) configurable via vars. For now I will stick to the default behavior currently present in the role, although discussion is ongoing in https://github.com/dev-sec/tests-os-hardening/issues/41, and the default behavior may change as a result.

@atomic111 Implemented override capability per your suggestion. The default config of root:root 0600 remains unchanged, but now users of the role can customize.


API Not retrieveing data

Hello, seems I've found another bug. I'm using your api and pretty much copied and pasted the code and what's happening is that the code is being set, but I'm still recieving the pre-defined $User data.
Getting this, even though cookie and code are set:

This is what I want:

To Clarify, when I call the API in my code like:

I get the output:

Which is not what I want. What I want is the user's username.
If it's helpful, Here is the auth.php:

And here is the stats.php:

Any help will be greatly appreciated!
Many thanks,
Michael

This could be many things, but the first thing I'd look at would be the setcookie function. It could be that the cookie isn't properly being set/removed. A few things you can try:
0. Wipe all your cookies
A problem I have from time to time is that my cookies will refuse to reset. You can try:

Clearing all the cookies to your localhost.
Using incognito mode
Try again with a different browser.
I'd also suggest downloading a fresh copy of mySpotify and trying it on an empty browser, see if that works. If all fails, follow the steps below.

1. Check if the cookie is being set at all
You can do this by removing the header() code from auth.php (to make sure it doesn't redirect you). Once Spotify redirects you to auth.php, you'll see a blank page. Open up some sort of cookie inspector (I personally use EditThisCookie on Chrome. You can check the cookies and see if the spotify_auth cookie was set, and verify that it's actually set properly. (You can try var_dumping the code that was retrieved from auth.php and comparing it)
2. Check what's happening in stats.php
If the top works fine, you can redirect your page to index.php. If your client removes the cookie at this point, that means the authentication token is invalid. I've never experienced this issue so I'm not sure exactly what the solution is, so I'll need to look more into it 👍

I tried eveything up to your second point which is the one that helped me identify the problem. The issue is that the cookie is not being set at all. Here is a screenshot of the EditThisCookie extension:

I would appreciate if you could help me fix this issue.
Many thanks,
Michael

After doing more testing, it seems that the cookie is being set inside auth.php but is instantly being unset in stats.php.
I might be wrong though 🥴

Ah I see, can you try removing the two lines within the try catch exception?

These two specifically, see if it removes the cookie then as well?

I've removed these lines and tried again, I'm still recieving the "Guest" output and no cookie set.

I've added some error checking and I think I've found the faulty code:

Sorry for the late response, got midterms coming up so I haven't had much time to check GitHub 😄
Could this be because the cookie isn't being set from the auth.php page?


[🐞] Click-to-Source not working on Windows

Which component is affected?
Qwik Runtime
Describe the bug
The Click-to-Source debug feature stopped working for me a few weeks ago. If I try to click an element with alt+click I get a chrome console error Not allowed to load local resource: file:///C:/_work/websites/qwik-error/src/routes/layout.tsx:21:9 and it doesn't open the file in vscode.
It works with stackblitz but not on my local machine. I'm on Windows 10.
Reproduction
n/a
Steps to reproduce
pnpm create qwik
pnpm dev
try to Alt-click something
see error in chrome console
System Info
System:
    OS: Windows 10 10.0.19045
    CPU: (20) x64 12th Gen Intel(R) Core(TM) i9-12900HK
    Memory: 16.15 GB / 31.68 GB
  Binaries:
    Node: 18.15.0 - C:\Program Files\nodejs\node.EXE
    Yarn: 1.22.19 - C:\Program Files\nodejs\yarn.CMD
    npm: 8.19.2 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Edge: Spartan (44.19041.1266.0), Chromium (111.0.1661.62)
    Internet Explorer: 11.0.19041.1566
  npmPackages:
    @builder.io/partytown: ^0.7.6 => 0.7.6
    @builder.io/qwik: 0.101.0 => 0.101.0
    @builder.io/qwik-city: 0.101.0 => 0.101.0
    vite: 4.2.1 => 4.2.1

Additional Information
n/a

Super in factor of that!
On Tue, Apr 18, 2023 at 9:21 AM Manu MA @.***> wrote:

I guess, it does not work in Windows. Unfortunately i can't debug the
window paths on my computer :( cc @shairez https://github.com/shairez
Happy to merge a PR to handle the windows case correctly!
—
Reply to this email directly, view it on GitHub
https://github.com/BuilderIO/qwik/issues/3710#issuecomment-1513143128,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHDA5LF33MBHXMCNGG2IYG3XB2IMZANCNFSM6AAAAAAWW2SYZ4
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

in my end it is working but not good experiences it does get show me the source but, on the terminal, not the vs code like I want to. hope fully another person has it too and know how to fix that.

It's such a cool feature. And It doesn't seem to be hard to pinpoint. Do we know where in the code this feature is implemented so I can peek around (I mainly use windows)

Thanks @irg1008! The source can be found here: https://github.com/BuilderIO/qwik/blob/47c4de6465dfce48220b1e1cf5e1c92ec9e43b85/packages/qwik/src/optimizer/src/plugins/vite-server.ts#L384

Problem Analysis
I just stumbled over this problem while wanting to try out qwik. Thanks @adamdbradley for linking the source, I just did some digging and found out that the problem originates from these lines of code:
  const origin = 'http://local.local';
  const srcDir = new URL(${JSON.stringify(srcDir + '/')}, origin);
  // [...]
  const resolvedURL = new URL(event.target.dataset.qwikInspector, srcDir);
  // [...]
  if (resolvedURL.origin === origin) {
    // 🎯 this should be entered so that the editor can be launched
    // [...]
    // 💥 `pathname` is also a problem here on Windows, because **it strips the drive letter**
    params.set('file', resolvedURL.pathname);
    // [...]
  } else {
    // 💥 this is entered, leading to the warning/error because of trying to open the file via href
    location.href = resolvedURL.href;
}

I don't know why this origin check was introduced at first, but the main problem is the difference of new URL(...) betweeen a Windows-like file path and a Unix one:
While the drive-prefixed version new URL("C:/path/to/somewhere/", origin) leads to
{
  "href": "c:/path/to/somewhere/",
  "origin": "null",
  "protocol": "c:",
  "host": "",
  "hostname": "",
  "pathname": "/path/to/somewhere/"
}

the non-prefixed one new URL("/path/to/somewhere/", origin) leads to
{
  "href": "http://local.local/path/to/somewhere/",
  "origin": "http://local.local",
  "protocol": "http:",
  "host": "local.local",
  "hostname": "local.local",
  "pathname": "/path/to/somewhere/"
}

This of course breaks the if, because of the non-matching origin-values.
Tested Solution
Calling http://localhost:5173/__open-in-editor?file=c:/path/to/somewhere/component.tsx:1:42 provides the expected result.
Further Steps

Building upon this knowledge, we should find a solution that includes the drive letter, if on was specified.
Does somebody know why the origin check is there?
Which problems might arise of not using origin at all and directly using href?

Still not working in windows
OS: windows 11
@builder.io/qwik: "^1.2.6",
any updates?

Dang, well done man!
On Wed, Aug 2, 2023, 12:15 PM pashaie @.***> wrote:

if anyone is interested, i managed to get around this for now by adding a
useVisibleTask to root.tsx file
useVisibleTask$(() => {
console.log(
"%c🔍 Qwik Click-To-Source",
"background: #564CE0; color: white; padding: 2px 3px; border-radius: 2px; font-size: 0.8em;",
"Fix for Windows"
);
(globalThis as any).qwikOpenInEditor = function (path: string) {
const resolvedURL = new URL(path, "http://local.local");
if (resolvedURL.origin === "http://local.local") {
const params = new URLSearchParams();
const srcDir = (globalThis as any).qwikdevtools.srcDir;
params.set("file", srcDir + resolvedURL.pathname);
fetch("/__open-in-editor?" + params.toString());
} else {
location.href = resolvedURL.href;
}
};
});
—
Reply to this email directly, view it on GitHub
https://github.com/BuilderIO/qwik/issues/3710#issuecomment-1662512593,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHDA5LEBK5QYUD7BJTRUBETXTJ4KPANCNFSM6AAAAAAWW2SYZ4
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

@pashaie can you not include this change in qwik itself?

A year!! My god we really hate windows don't we haha

well we were hoping others would fix it (for more contributions). I'm going through and cleaning up all the old issues 😅 if you find any more windows issues let me know or anything that should be fixed/reworded in the docs I'll get it merged

Hi, Sorry to bump a closed issue but I found something useful since I also had this issue ever since I started using Qwik a few days ago, and this issue is first on google when you search for Click-to-Source qwik windows.
Since it is also embedded in the tutorials, I thought hey why everyone have it and I don't, haha, was determined to find the problem in my vite/tsconfig/qwik/idk configuration, since I assumed it had to be something with me, but people here did not seem to find a solution so I had to dig deeper, so I ended up making a patch to vite itself at the end, lol.
I'm on Windows, worked hard to find a temporary solution, didn't want to add a visible task that will get packaged to production as suggested above.
Note: Scroll all the way down to skip to the solution (for vite v6.0.1 on Windows - Worked for me, may not work for you, use at your own risk)
The issue
So, In my case I noticed in the network tab on the devtools that when I alt+click on an element it redirects to:
http://localhost:5173/__open-in-editor?file=a%3A%2FProjects%2Fmyapp%2Ffrontend%2Fsrc%2F%2Fsrc%2Fcomponents%2Fstarter%2Fhero%2Fhero.tsx%3A12%3A17

Decoded string: a:/Projects/myapp/frontend/src//src/components/starter/hero/hero.tsx:12:17
Notice that the src folder appears twice,
So I thought if only I can find a way to modify it then I might just get it to work.. And it did!
I googled for a solution and saw this issue before I started,
Decided to come back and share my findings now that I found a solution.
Before I've found the solution, I tried anything I could think of,
For example did you know you can literally access this variable from the devtools via:
console.log(globalThis.qwikdevtools.srcDir);

So in one of my failed attempts I even tried modifying it like so but that didn't affect it since the code already ran:
const splitDir = globalThis.qwikdevtools.srcDir.split('/');
let fixedDir = splitDir.splice(0, splitDir.length - 3).join('/')
if (fixedDir[fixedDir.length - 1] !== '/') fixedDir = fixedDir + '/';
globalThis.qwikdevtools.srcDir = fixedDir;

Or that you can specify an srcDir to the qwikVite() plugin options in vite.config.ts
But these solutions, and many others, simply did not work for me, and the site was still sending requests to what appears to be, at the end of the day, src//src.
After exploring a bit I found out there is a middleware mounted on vite itself for the launch editor, I use vite v6.0.1
And although it's being invoked from @builder.io/qwik somewhere in @builder.io\qwik\dist\optimizer.mjs/cjs along the lines:
 const isWindows = navigator.platform.includes('Win');\n      const resolvedURL = new URL(path, isWindows ? origin : srcDir);\n      if (resolvedURL.origin === origin) {\n        const params = new URLSearchParams();\n        const prefix = isWindows ? srcDir : '';\n        params.set('file', prefix + resolvedURL.pathname);\n        fetch('/__open-in-editor?' + params.toString());\

I decided to create my first patch, since I already managed to manually debug the area that causes the issue in vite/dist/node/chunks/dep-BcnkIxro.js, I decided this is the file I am going to patch.
The plan was simple: replace src//src with src, unfortunately the npx patch-package vite command only works on npm and yarn, but I use pnpm, so a quick google led me here, where I finally created the patch and solved the issue. And now I am having the best time of my life with this awesome new feature!
Note: Luckily the file named dep-BcnkIxro.js does not change after you delete node_modules and reinstall, and the patch is applied automatically, so I will simply need to maintain this patch for every new vite version until the issue is fixed at the root.
Hopefully my findings, the duplicated use of src, can be a lead towards the underlying issue.
Thanks for everyone involved in this project I love it, good luck!
How I created the patch
Incase vite will update or you want to manually do it then it is important to share the steps of how to create the patch in the first place:

Before you start modifying vite, run pnpm patch vite.
This will generate inside the node_modules a folder named .pnpm_patches and inside there you will find a copy of vite
Modify the files you want and then run the command provided in the terminal when you started:
e.g. pnpm patch-commit<EMAIL_ADDRESS>The package.json file will be automatically modified with the patchedDependencies and a new folder will be created at the root of the project named patches with the vite patch inside of it
Alt+clicking on windows works now
You can try to delete node_modules and then run pnpm i or pnpm install, the patches will be applied automatically and you now can Alt+click on windows, cheers 🎉

How to manually apply the patch?

pnpm patch vite
Go to<EMAIL_ADDRESS>Find and modify these lines:

-      launch(path$3.resolve(srcRoot, file), specifiedEditor, onErrorCallback);
+      launch((path$3.resolve(srcRoot, file.replace('src//src', 'src'))), specifiedEditor, onErrorCallback);

Save and run the pnpm patch-commit ... command provided for you in the terminal after you ran the first command

The solution
I fixed the issue using a patch made directly to vite itself, but it assumes you use pnpm, windows and vite v6.0.1:
(You can also manually follow the patch instructions for now)
patches/vite.patch
diff --git a/dist/node/chunks/dep-BcnkIxro.js b/dist/node/chunks/dep-BcnkIxro.js
index 8e79c71d27d3ecb51f2e7ed6715a23a9bdd0dd32..d216af0eca0c168e251b655e5a913d4be904331e 100644
--- a/dist/node/chunks/dep-BcnkIxro.js
+++ b/dist/node/chunks/dep-BcnkIxro.js
@@ -30304,7 +30304,7 @@ var launchEditorMiddleware = (specifiedEditor, srcRoot, onErrorCallback) => {
       res.statusCode = 500;
       res.end(`launch-editor-middleware: required query param "file" is missing.`);
     } else {
-      launch(path$3.resolve(srcRoot, file), specifiedEditor, onErrorCallback);
+      launch((path$3.resolve(srcRoot, file.replace('src//src', 'src'))), specifiedEditor, onErrorCallback);
       res.end();
     }
   }

package.json
	"packageManager"<EMAIL_ADDRESS>	"pnpm": {
		"patchedDependencies": {
			"vite": "patches/vite.patch"
		}
	}

pnpm i
Done. It will just work now. well.. at least for me.

Hi, Sorry to bump a closed issue but I found something useful since I also had this issue ever since I started using Qwik a few days ago, and this issue is first on google when you search for Click-to-Source qwik windows.
Since it is also embedded in the tutorials, I thought hey why everyone have it and I don't, haha, was determined to find the problem in my vite/tsconfig/qwik/idk configuration, since I assumed it had to be something with me, but people here did not seem to find a solution so I had to dig deeper, so I ended up making a patch to vite itself at the end, lol.
I'm on Windows, worked hard to find a temporary solution, didn't want to add a visible task that will get packaged to production as suggested above.
Note: Scroll all the way down to skip to the solution (for vite v6.0.1 on Windows - Worked for me, may not work for you, use at your own risk)
The issue
So, In my case I noticed in the network tab on the devtools that when I alt+click on an element it redirects to:

http://localhost:5173/__open-in-editor?file=a%3A%2FProjects%2Fmyapp%2Ffrontend%2Fsrc%2F%2Fsrc%2Fcomponents%2Fstarter%2Fhero%2Fhero.tsx%3A12%3A17

Decoded string: a:/Projects/myapp/frontend/src//src/components/starter/hero/hero.tsx:12:17
Notice that the src folder appears twice,
So I thought if only I can find a way to modify it then I might just get it to work.. And it did!
I googled for a solution and saw this issue before I started,
Decided to come back and share my findings now that I found a solution.
Before I've found the solution, I tried anything I could think of,
For example did you know you can literally access this variable from the devtools via:

console.log(globalThis.qwikdevtools.srcDir);

So in one of my failed attempts I even tried modifying it like so but that didn't affect it since the code already ran:

const splitDir = globalThis.qwikdevtools.srcDir.split('/');

let fixedDir = splitDir.splice(0, splitDir.length - 2).join('/')

if (fixedDir[fixedDir.length - 1] !== '/') fixedDir = fixedDir + '/';

globalThis.qwikdevtools.srcDir = fixedDir;

Or that you can specify an srcDir to the qwikVite() plugin options in vite.config.ts
But these solutions, and many others, simply did not work for me, and the site was still sending requests to what appears to be, at the end of the day, src//src.
After exploring a bit I found out there is a middleware mounted on vite itself for the launch editor, I use vite v6.0.1
And although it's being invoked from @builder.io/qwik somewhere in @builder.io\qwik\dist\optimizer.mjs/cjs along the lines:

 const isWindows = navigator.platform.includes('Win');\n      const resolvedURL = new URL(path, isWindows ? origin : srcDir);\n      if (resolvedURL.origin === origin) {\n        const params = new URLSearchParams();\n        const prefix = isWindows ? srcDir : '';\n        params.set('file', prefix + resolvedURL.pathname);\n        fetch('/__open-in-editor?' + params.toString());\

I decided to create my first patch, since I already managed to manually debug the area that causes the issue in vite/dist/node/chunks/dep-BcnkIxro.js, I decided this is the file I am going to patch.
The plan was simple: replace src//src with src, unfortunately the npx patch-package vite command only works on npm and yarn, but I use pnpm, so a quick google led me here, where I finally created the patch and solved the issue. And now I am having the best time of my life with this awesome new feature!
Note: Luckily the file named dep-BcnkIxro.js does not change after you delete node_modules and reinstall, and the patch is applied automatically, so I will simply need to maintain this patch for every new vite version until the issue is fixed at the root.
Hopefully my findings, the duplicated use of src, can be a lead towards the underlying issue.
Thanks for everyone involved in this project I love it, good luck!
How I created the patch
Incase vite will update or you want to manually do it then it is important to share the steps of how to create the patch in the first place:

Before you start modifying vite, run pnpm patch vite.

This will generate inside the node_modules a folder named .pnpm_patches and inside there you will find a copy of vite

Modify the files you want and then run the command provided in the terminal when you started:

e.g. pnpm patch-commit<EMAIL_ADDRESS>
The package.json file will be automatically modified with the patchedDependencies and a new folder will be created at the root of the project named patches with the vite patch inside of it

How to manually apply the patch?

pnpm patch vite

Go to<EMAIL_ADDRESS>

Find and modify these lines:

-      launch(path$3.resolve(srcRoot, file), specifiedEditor, onErrorCallback);

+      launch((path$3.resolve(srcRoot, file.replace('src//src', 'src'))), specifiedEditor, onErrorCallback);

Save and run the pnpm patch-commit ... command provided for you in the terminal after you ran the first command

Alt+clicking on windows works now

You can try to delete node_modules and then run pnpm i or pnpm install, the patches will be applied automatically and you now can Alt+click on windows, cheers 🎉

The solution
I fixed the issue using a patch made directly to vite itself, but it assumes you use pnpm, windows and vite v6.0.1:
(You can also manually follow the patch instructions for now)
patches/vite.patch

diff --git a/dist/node/chunks/dep-BcnkIxro.js b/dist/node/chunks/dep-BcnkIxro.js

index 8e79c71d27d3ecb51f2e7ed6715a23a9bdd0dd32..d216af0eca0c168e251b655e5a913d4be904331e 100644

--- a/dist/node/chunks/dep-BcnkIxro.js

+++ b/dist/node/chunks/dep-BcnkIxro.js

@@ -30304,7 +30304,7 @@ var launchEditorMiddleware = (specifiedEditor, srcRoot, onErrorCallback) => {

       res.statusCode = 500;

       res.end(`launch-editor-middleware: required query param "file" is missing.`);

     } else {

-      launch(path$3.resolve(srcRoot, file), specifiedEditor, onErrorCallback);

+      launch((path$3.resolve(srcRoot, file.replace('src//src', 'src'))), specifiedEditor, onErrorCallback);

       res.end();

     }

   }

package.json

	"packageManager"<EMAIL_ADDRESS>
	"pnpm": {

		"patchedDependencies": {

			"vite": "patches/vite.patch"

		}

	}

pnpm i
Done. It will just work now. well.. at least for me.
Update: Also, I use VSCode insiders so I also had to win> search for env > Edit the system environment variables > Environment Variables > New.. (Top) > Variable Name: LAUNCH_EDITOR > Variable value: code-insiders > Ok > Ok > Ok > Restart VSCode

Now that's how you reply in a ghost issue, god tier


ref.current.resize is a noop when snap={true}

Resizing the component is not possible when snap to zero is enabled
Allotment v1.10.0
React v18.0.0-rc.0

When using ref.current.resize([0, 400]) with snap={true}, it resizes until reached minSize value.
There should be a way to snap one of the Panes?
Any temporary workaround is appreciated.
allotment v1.19.0
react v18.2.0


Prevent double issuing in case of recovery

Right now - when recovering certificates database - we issue certificates twice, since we generate new certificate id's in recovery scenario. This should be prevented.

@tnickelsen this is a critical part of the whole value proposition for the system so it needs to adressed, can you elaborate on the recovery scenario, either with logs or illustrations so we can bring it up in our working groups. The more descriptive the easier it would be to address the double spend issue in recovery.
I am curious btw - are the recovered certificates generated from the connected time-series ( data ) or are they in an interim queue they are recovered from ?

In our setup, we have a MeasurementsSyncer that is responsible for bringing measurements into our system. It polls data from DataHub2, and for each assetid it remembers where it has synced to in time and publishes measurements to our Registry Connector (which is what Stamp will replace).
So if the database of MeasurementsSyncer goes down and we need recover it, it forgets where in time it has synced and will generate new measurements to publish to Stamp, with new certificate ids.

Let me know if you have further questions.

@tnickelsen Thank you for the explanation.
Interesting indeed - so it is in case of recovery of the measurement syncer there is an information loss and risk of double issuance.
Would it make sense to make a call to the metering point owner (wallet-owner) for the latest issued certificate and acquire the lost time information that way around ?

I think we need to be slightly careful here.
GSRN's are not guaranteed to be unique over time, at least in the Danish system. Thus we cannot rely on this for unique identification througout an assests life span.
Are there any ways to generate something unique based on multiple variables like geolocation, GSRN etc. to increase confidence in the uniqueness?
Secondly we probably should have a check in the register ensuring a malicous double issuing is harder. Do we have any options on this matter?

@wisbech It sounds like a complex solution - we would need to know recipients of all certificates during lost time and have a separate solution that can do exactly that.
I was thinking along the lines of getting events from DataHub3, which we will in the future (in 1-3 years PROMA). Then we would only have a problem if we get same event twice during a recovery period, depending on how it's going to work.

@wisbech It sounds like a complex solution - we would need to know recipients of all certificates during lost time and have a separate solution that can do exactly that.
I was thinking along the lines of getting events from DataHub3, which we will in the future (in 1-3 years PROMA). Then we would only have a problem if we get same event twice during a recovery period, depending on how it's going to work. Of course that is not a solution for now.

Consider it a playhead in a buffer ( coming from a DSP-background ) let us say that the buffer on hourly certification 365 X 24 = 8760 possible positions ... save the last position in that buffer on issuance of the certificate and you would be out of the woods. Of course the buffer cannot live in the MeasurementSyncer service, but that would be my two cents on a solution.
FYI the buffer time starts Jan 01 0000 hrs each year :-)

@wisbech I didn't understand that solution :D should we talk about this at the next meeting?

This has been solved by #68


Implement Parallax using css

This is where a discussion regarding the same is done; check and implement

Mostly done.
Implementation is bad for mobile/mozilla. Haven't checked for small sizes either.
Add an if case for this based on this!


new filter: show graduated students from this program

This is asked frequently and we discussed a bit about it during "study program statistics" meeting:
There's already a more general filter "Students that are graduated Alempi korkeakoulututkinto" but more specific "show graduated students from selected (or this) program" filter is needed.

See #790


Changes the blood particle color of certain mobs

HI, I am using your mod with the physics mod, and I found it works well, but the blood color of the "Creeper" is green, and the death blood color of the physics mod is red. How can I change the blood color of a specific creature to red?

Uploading freecompress-Base Profile 2024.08.05 - <IP_ADDRESS>.mp4…

When attacking a creature

When an organism dies
![Uploading R7}FNS2S3_166BORF1Y18Y.png…

When attacking a creature

https://github.com/user-attachments/assets/48783b6d-7049-4c6d-adf0-fa31dd9926f4

Hey, just check out the config folder and there should be another folder in there called something like "blood_colors". That'll have a json file in it with multiple entities for certain colors. Just delete the line with the creeper in it

嘿，只需查看配置文件夹，那里应该有另一个文件夹，称为“blood_colors”。其中将有一个 json 文件，其中包含某些颜色的多个实体。只需删除其中包含爬行者的行即可

Thank you, the issue has been resolved


Convert website to golang template

Using the golang http templating, change the index.html site in the /website package to pull data from a web socket and put it into the website for display.

Test

Template conversion finished in commit 3d7fbae8ecdd9cc3b20c9ca6fb027e0bb5d9443c
Finalization of the table display will need to wait and be styled after we finalize what data will be presented and how we want to present it. Closing issue for now


always wait some amount of time in CA pollLoop

Otherwise we sit in a tight loop which generates a ton of logs.
cc @jzila

One more bit of feedback: this means that the loop will never exit if the error doesn't at some point become ErrShutdown. Is this desirable behavior?

I'll wait for @maxtaco to answer that one, my guess is it always eventually shows up.

K I'll just revert the last commit, the original one didn't wait.

Yeh thanks.  John if you wait if no error then you will always be slowing down rekeying. The whole point of this change was to eliminate that wait to speed up rekeying

@maxtaco Can you remind me why we didn't use the Gregor event for this?

@maxtaco fair enough. @mmaxim please document in a comment that it's assumed that the long poll will wait.

Guys thanks for the emergency fix.  I'm going to put up a PR which is a slightly cleaner fix.


Update the sample script using the secretsmanager

I added a comment to ensure that people do not copy and paste the commands without updating it.

Thank you @MarcelStranak!
@HarshCasper prepared a docs-rework for RDS at the same time.
Could you make sure that this gets into your PR https://github.com/localstack/docs/pull/764, @HarshCasper  🙏  (I already a commented there about updating/checking the secret and cluster-arn).

Closing because this has already been addressed by #764 respectively #801.


CLDCC-696: Fix heading sizes

Update the headings. Set top level headings from xl to l and use descending sizes for subheadings:

This is such a nice PR to review

This is brilliant! Just a few small nits.
Will there be a second PR for adding captions to headings showing the section a question is in?

Ooh, maybe I misunderstood. So should it be:
Section heading (stays the same for all the questions in the section, for example housing needs) -> l
Page heading (if exists) -> m
Question label (if there is page heading) -> s
Question label (if there is no page heading) -> m
?

@kosiakkatrina So the heading sizes for question pages are now correct. What’s missing is the corresponding captions, the grey text that appears above the heading:

Both the caption and the heading should use the l size.

@paulrobertlloyd
Added captions now, looks like this:

@paulrobertlloyd I reverted the change from the last comment, is this okay to deploy or is there anything else I should fix up?


Add semantic release

:tada: This issue has been resolved in version 0.7.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


fix error "Return value must be of the type string, null returned"

Q
A

Is bugfix?
✔

New feature?
❌

Breaks BC?
❌

Tests pass?
✔

Fixed issues

Merged. Thanks!


Feature: lazy parsing

Would it be possible to provide a lazy reader which returns a reducible (or kvreducible) over the top level element?
For CSV it would return one line at a time, for JSON array one element at a time, and for a JSON object it would be a KV reducible over keys and values.

CSV parsing is lazy and the returned supplier could definitely implement reducible.  The JSON parsing is 'lazy' if you have many JSON objects at the top level of your stream but most people save JSON data with a single top level JSON object which gets greedily parsed out.
The harder case for JSON is what if you have a single mammoth JSON object and you want to lazily parse that - I think for that pathway you need a sort of SAX interface and let the user manually drive the parser.  Still totally doable but you don't really know what the top JSON object is so it might be an array, an object, or a JSON primitive - string number boolean or null.

If this object implements ISeq and IReducible correctly then we are a step further.  Perhaps then the CSV engine has a profile like the JSON does where you can specify immutable vs. mutable and then everything works the same.  That solves the CSV pathway completely.
For the JSON pathway I think we need to think about it a bit more.


Revert "If the uncommitted changes pass 128k for an attribute force a commit."

Reverts vespa-engine/vespa#19675
Several performance tests outside their limits

Changes expected and intentional.