Added some utility functions

This will be used later on by a PR on ssi-service that simplifies the issuerKID handling.

Codecov Report

Merging #423 (2016a53) into main (83e6a4e) will increase coverage by 0.11%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #423      +/-   ##
==========================================
+ Coverage   56.85%   56.96%   +0.11%
==========================================
  Files          67       67
  Lines        7309     7328      +19
==========================================
+ Hits         4155     4174      +19
  Misses       2417     2417
  Partials      737      737

Impacted Files
Coverage Δ

credential/model.go
47.37% <100.00%> (+18.80%)
:arrow_up:

did/util.go
28.78% <100.00%> (+3.27%)
:arrow_up:


Get a checkout by token and modify it?

The shopify admin API has 2 endpoint that let yout find a checkout by token and modify it.
see https://help.shopify.com/api/reference/checkout
GET /admin/checkouts/#{token}.json
PUT /admin/checkouts/#{token}.json
What's the call to make to achieve the same thing with this gem?
I tried ShopifyAPI::Checkout.find({:token, "ff8b7ae7256d1200ca620d235cc27b23"})
But it returns a 403 forbidden. My rails app is linked to a private app with read and write access enabled on everything.

From Admin API documentation for Checkout:

The Checkout API is for use only with the Sales Channel SDK. You can't use the Checkout API to create a new checkout for an individual store. To do so, you need to use an SDK that's powered by the Storefront API instead, such as the Javascript Buy, iOS Buy, and Android Buy SDKs.

So, I guess it's necessary to configure Checkout API additionally.

You can find checkout via token to do:
checkouts = ShopifyAPI::Checkout.find(:all)
checkouts.find { |record| record.token == your_token }

If you want to retrieve a Checkout by token rather than id, you'll need to override the definition of the Checkout class in your project.
module ShopifyAPI
  class Checkout < ShopifyAPI::Base
    include RemoteErrors

    def id
      @attributes[:token]
    end

    class Payment < ShopifyAPI::Base
      self.prefix = "/admin/checkouts/:checkout_id/"
    end

    class ShippingRate < ShopifyAPI::Base
      self.prefix = "/admin/checkouts/:checkout_id/"
    end
  end
end

The Abandoned Checkouts API and the Checkout API share the same endpoint, hence the need to override the class definition.
That being said, if your goal is to modify a checkout that was created by Online Store, I can't guarantee that's possible.


[fix][client]Fix Producer exceeds PulsarClient memory limit when sending fail timeout using CompressionType.NONE

Fixes https://github.com/apache/pulsar/issues/17662
Motivation

Fixes https://github.com/apache/pulsar/issues/17662

The root cause is that:

After we ever sent a big message, e.g, 2M bytes, the AbstractBatchMessageContainer#maxBatchSize will never be less than 2M bytes(see line171) in the following batches,  even if the message size we added is 1 bytes only.
https://github.com/apache/pulsar/blob/a98f025a35935a7a27db3f0919aa6f4453e4fb02/pulsar-client/src/main/java/org/apache/pulsar/client/impl/BatchMessageContainerImpl.java#L167-L173

So when we add the first message in the following batches,  we will always allocate a byte buffer greater or equals to 2M, see line102
https://github.com/apache/pulsar/blob/a98f025a35935a7a27db3f0919aa6f4453e4fb02/pulsar-client/src/main/java/org/apache/pulsar/client/impl/BatchMessageContainerImpl.java#L98-L103

When we use CompressionCodecNone to encode the 2M bytes buffer it just retain the buffer,  which means the 2M bytes buffer will be added to ProducerImpl#pendingMessages and will be release until timeout(30s by default).  Note that we sent 1 bytes message(or batched, but it should much less that 2M),  but retain 2M bytes buffer, so it will exceed PulsarClient memory limit.

Modifications
Copy readable bytes to a new Bytebuf if necessary, like CompressionCodecLZ4 or other CompressionCodec implement
Verifying this change

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

Documentation

[ ] doc-required
(Your PR needs to update docs and you will update later)

[x] doc-not-needed
(Please explain why)

[ ] doc
(Your PR contains doc changes)

[ ] doc-complete
(Docs have been already added)

Good work.
I just wonder if the title of the PR should mention that this applies to CompressionType.NONE .

Sure

@AnonHxy Please take a look at this PR #15033. It tries to solve the memory waste problem.

closed this pr becase it' not the best solution


Overloaded constructor of Date is slow

With the overloaded Date constructor, creating new Date objects takes at least an order of magnitude longer on Firefox, blocking the main JS thread and causing performance issues on sites that process large number of dates.
This is largely due to the new URL(...) constructor being called multiple times to extract origin of each script on the stack during the new Date call, to check if Date hasTaintedMethod. The URL constructor is much slower than the Date constructor (about ~ 9x times slower).
I'm not sure why such check for tainted methods on Date object is important, but I would suggest to at least check if taintedOrigins is not-empty before doing https://github.com/duckduckgo/content-scope-scripts/blob/aff1438cca2cd1702bc80f623679ce6b6ba9406e/src/utils.js#L392 to improve performance.

Thanks for the report, we've disabled this in Firefox for now before we look into the fix. Thanks for the detailed investigation here!


[aws] "The following settings shouldn't exist: id"

$ vagrant up --provider=aws
Setting `id` on a provisioner is deprecated. Please use the
new syntax of `config.vm.provision "name", type: "type"
where "name" is the replacement for `id`. This will be
fully removed in Vagrant 1.8.
Setting `id` on a provisioner is deprecated. Please use the
new syntax of `config.vm.provision "name", type: "type"
where "name" is the replacement for `id`. This will be
fully removed in Vagrant 1.8.
There are errors in the configuration of this machine. Please fix
the following errors and try again:

vm:
* The following settings shouldn't exist: id

shell provisioner:
* The following settings shouldn't exist: id
* The following settings shouldn't exist: id

I'm using Vagrant 1.7.2

Which box version are you using? I believe latest box versions are ok.

Probably related to other issue - I keep getting an old AMI. Ideas?
On Mon, Apr 13, 2015 at 10:52 PM, Dmitriy Kalinin
<EMAIL_ADDRESS>wrote:

Which box version are you using? I believe latest box versions are ok.
Reply to this email directly or view it on GitHub:
https://github.com/cloudfoundry/bosh-lite/issues/251#issuecomment-92618658

Ok I now know how to upgrade the box. Will close and open again when I re-upgrade to vagrant 1.7+


Allow passing class to DateInput.svelte

Fixes #48

I don't think this would work for TypeScript users, this could be done instead:
let classes = ''
export { classes as class }


swift 4.0 support.

Will there be swift 4 support?

I will work on it this weekend. Any PR is welcomed!


Chat failed: 'msg': 'Extra inputs are not permitted', 'input': {'include_usage': True}

Describe the bug

Steps to reproduce

Deploy a model using the vllm inference engine. e.g. Hugging Face/Qwen/Qwen2.5-0.5B-Instruct
Go the playground and chat.

Result

Returned an error: [{'type': 'extra_forbidden', 'loc': ('body', 'stream_otpions'), 'msg': 'Extra inputs are not permitted', 'input': {'include_usage': True}}]

Expected behavior

Environment

GPUStack version: 73e7a13
UI version: eb5cf9d

Additional context
Add any other context about the problem here.

Fix the typo stream_otpions

UI version:  c442a33
Test Result: pass


Close Modal on overlay click

Hi,
simple question:
Is it somehow possible to the let the overlay close the Modal when it is clicked?

Should be possible with a click handler on the overlay view.  I don't have time to work on it now, but PR's are welcome :)


Implements disable-upgrade

Fixes #4398.
Implements disable-upgrade attribute which prevents readying an element until the attribute is removed.

Also, we have some Chrome 41 and Edge failures.


Load custom model to the TensorRT

Hello dusty,
I want to use the fast inference feature on my project , I have trained a model that will be introduced below and I converted it to the onnx , however I could not load the model into TensorRT it will give me error.
Also firstly I tried to convert frozen graph to uff , however this process lead a lot of error with unsupported layers in ssd mobilenet and ssd inception models.
I think the problem is the Jetpack , I have not latest version that supports TensorRT 6, which have support to the UINT8, but I am not sure the update will be the solution, I do not have a sd card adapter so I could not flash my microsd , I will but it tomorrow.
I am too new to create a CNN from strach, so I use fine-tuning techniques to produce good results, do you have any link to a model that can work with tensorRT ?
Can you give me Framework advice to train and use object detection models with a custom dataset and use it with this repository or anything else?
Framework = Tensorflow object detection API
tried Models = Ssd inception v2 from model zoo, SSD mobilenet v1
Error = Unsupported ONNX data type : UINT8 (2)
TensorRT version = 5.1
Tensorflow version  = 1.13
Thank you for the repository, we love Nvidia teams!

Maybe you should try these steps https://github.com/AastaNV/TRT_object_detection
The inference runs pretty well on their code, I'm still trying to make it work with DetecNet.

@leandrovrabelo thank you for the information, I think they use models from tensorflow model zoo right? did you try this?

Yes, they use it, i'm running a ssd mobilenet v2, so far these are their supported models:
ssd_inception_v2_coco_2017_11_17
ssd_mobilenet_v1_coco
ssd_mobilenet_v2_coco

Mr. Leandro does the repo can be used with a custom object detection model which trained on tensorflow API , and can be used to inference on a video stream ?

Yes.

I see you also cannot implement tensorrt with onnx or uff conversations,
I think now to switch to the DetectNet framework to train my models, should
I do ?
Here is a good example
https://github.com/NVIDIA/DIGITS/tree/master/examples/object-detection
Leandro Vieira Rabelo da Silva<EMAIL_ADDRESS>27 May 2020 Çar,
15:09 tarihinde şunu yazdı:

Yes.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/dusty-nv/jetson-inference/issues/586#issuecomment-634616723,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKYKV5MZ6GBANTBVG3JRFNTRTT7F3ANCNFSM4NLCCSQQ
.

I think now to switch to the DetectNet framework to train my models, should I do ?

DetectNet model architecture isn't recommended to use going forward - perhaps you meant DarkNet (YOLO), in which case yes that is an option.  YOLO isn't explicitly supported by this jetson-inference repo but there are TensorRT samples (included under /usr/src/tensorrt/samples) that show it being used with TensorRT.
You could also try this PyTorch SSD-Mobilenet implementation for re-training object detection:  https://github.com/dusty-nv/pytorch-ssd
I am making that PyTorch repo into a new tutorial part of Hello AI World for re-training object detection models with SSD-Mobilenet.

Hi Dustin, thanks for the reply,
Excuse me to give wrong info, I wanted to say DIGITS when I say DetectNet
framework to teach detection network, however I will think about the
pytorch.
What do you think about DIGITS? is it worth trying?
Dustin Franklin<EMAIL_ADDRESS>27 May 2020 Çar, 22:15
tarihinde şunu yazdı:

I think now to switch to the DetectNet framework to train my models,
should I do ?
DetectNet model architecture isn't recommended to use going forward -
perhaps you meant DarkNet (YOLO), in which case yes that is an option. YOLO
isn't explicitly supported by this jetson-inference repo but there are
TensorRT samples (included under /usr/src/tensorrt/samples) that show it
being used with TensorRT.
You could also try this PyTorch SSD-Mobilenet implementation for
re-training object detection: https://github.com/dusty-nv/pytorch-ssd
I am making that PyTorch repo into a new tutorial part of Hello AI World
for re-training object detection models with SSD-Mobilenet.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/dusty-nv/jetson-inference/issues/586#issuecomment-634882470,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKYKV5IJ52A6HESML5NYJZLRTVRGZANCNFSM4NLCCSQQ
.

I think, What the community need  is the complete tutorial from labelling
to inference with , every tutorial uses ready to use datasets or models,
there is no full tutorial about that.
Mesut Şimşek<EMAIL_ADDRESS>28 May 2020 Per, 01:11 tarihinde
şunu yazdı:

Hi Dustin, thanks for the reply,
Excuse me to give wrong info, I wanted to say DIGITS when I say DetectNet
framework to teach detection network, however I will think about the
pytorch.
What do you think about DIGITS? is it worth trying?
Dustin Franklin<EMAIL_ADDRESS>27 May 2020 Çar, 22:15
tarihinde şunu yazdı:

I think now to switch to the DetectNet framework to train my models,
should I do ?
DetectNet model architecture isn't recommended to use going forward -
perhaps you meant DarkNet (YOLO), in which case yes that is an option. YOLO
isn't explicitly supported by this jetson-inference repo but there are
TensorRT samples (included under /usr/src/tensorrt/samples) that show it
being used with TensorRT.
You could also try this PyTorch SSD-Mobilenet implementation for
re-training object detection: https://github.com/dusty-nv/pytorch-ssd
I am making that PyTorch repo into a new tutorial part of Hello AI World
for re-training object detection models with SSD-Mobilenet.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/dusty-nv/jetson-inference/issues/586#issuecomment-634882470,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKYKV5IJ52A6HESML5NYJZLRTVRGZANCNFSM4NLCCSQQ
.

Dusty-nv, look forward to your pytorch repo. I am trying to do exactly what you described above. Is the detectNet architecture considered obsolete? Best.


A remind feature

Any ideas of what it should support.

so aside from the scheduling concerns we should def allow for being reminders AT a certain time as well as reminders X amount of time in the future

Each reminder will be wrapped in a seperate task and referenced by id

Scheduler for this cog wass added in #124

Merged in #297


Add ability to disable request response checksums to workaround SDK bug

A workaround for https://github.com/gruntwork-io/terragrunt/issues/1059 by exposing the configuration to disable CRC32 checks, as suggested in the Ruby SDK issue: https://github.com/aws/aws-sdk-ruby/issues/243

Thanks for review! Added to reference docs. Going to merge and release now!


Firefox does not trust self-signed certificates (dot net core development)

Even after cleaning old certificates and creating new certificates and restarting the browser, Firefox will not trust the localhost development certificate:

How can we run a localhost dotnet development project in Firefox?

Documentdetails
⚠ Dit gedeelte niet bewerken. Het is vereist om problemen te koppelen tussen docs.microsoft.com en GitHub.

ID: c7ddfb2f-5dea-5e31-2a27-02a4dc16104c
Version Independent ID: 12ca0b9a-2638-a4ce-c45f-d4579c83dafb
Content: Enforce HTTPS in ASP.NET Core
Content Source: aspnetcore/security/enforcing-ssl.md
Product: aspnet-core
Technology: aspnetcore-security
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

Please transfer this to https://github.com/dotnet/AspNetCore.Docs/issues

@jaoord  see https://github.com/dotnet/AspNetCore.Docs/pull/20356

@jaoord ... I use FF, including 5.0 preview, and I'm not seeing any cert errors.
We probably can't provide product support here for that, so you can open an issue for the product unit to see if they want to investigate the cause. Before doing that tho, I recommend that you search the Net, particularly SO, first just to make sure that someone hasn't already called it out and figured out the cause. Then ... open an issue here ...
https://github.com/dotnet/aspnetcore/issues
If you do find out what's causing it and think that docs need to mention a gotcha, then you can post back on this issue (or open a new one) with what you find out.
@Rick-Anderson I recommend that closing this for now until more information is available.

As mentioned in the other issue (#20356) the solution is to go to about:config in Firefox and set security.enterprise_roots.enabled to true.

Very good ... glad it had a happy ending. That's the default for that setting, so I don't think we need doc coverage. Thanks for letting us know how it turned out.


Can't disable some keyboard shortcuts

I added this to the script of Demo.html:
editor.setKeyHandler('ctrl-b', null)

but I can still bold text with ctrl-b. How to disable it?

In fact,
editor.setKeyHandler('ctrl-b', null)
works. It disables the default Squire function triggered on ctrl-b, and let the default browser behavior.
So a solution is:
editor.setKeyHandler('ctrl-b', function(_, e) {
    e.preventDefault();
});


chromestatus.com/feature vs. chromestatus.com/features

Should the Chrome status link be to the individual feature (focuses, loads much faster), or to features?
Example: at http://caniuse.com/#feat=ambient-light, click "in development", vs. without the 's': http://www.chromestatus.com/feature/5298357018820608.

Good idea, has now been changed to the /feature/ link. Thanks!


[FLINK-2097] Implement job session management

This is a joint effort by @StephanEwen and me to introduce a session management in Flink. Session are used to keep a copy of the ExecutionGraph in the job manager for the session lifetime. It is important that the ExecutionGraph is not kept around longer because it consumes a lot of memory. Its intermediate results can also be freed. To integrate sessions properly into Flink, some refactoring was necessary. In particular these are:

JobId is created through the ExecutionEnvironment and passed through
Sessions can be termined by the ExecutionEnvironment or directly through the executor
Session are cancelled implicitly through "reapers" or shutdown hooks in the ExecutionEnvironment, otherwise they time out
LocalExecutor and RemoteExecutor manage sessions
The Client only deals with the communication with the job manager and is agnostic of session management

With the session management, we will be able to properly support backtracking of produced intermediate results. This makes calls to count()/collect()/print() efficient and enables to write incremental/interactive jobs.

I just had a look at the JobManager in a different context and thought about the following, which might be relevant here: when submitting a new JobGraph, which is attached to an existing ExecutionGraph, some ExecutionGraph state is overwritten by the new JobGraph. With some you might run into (maybe) unexpected behaviour like resetting number of left execution retries or creating a new CheckpointCoordinator for the ExecutionGraph.
What's the intended behaviour of attaching to an existing ExecutionGraph? Is there an implicit assumption that the existing ExecutionGraph needs to be finished already?

I think right now, it pretty much behaves as if someone started a new job, with the "grown" execution graph.

It should just add more nodes to the ExecutionGraph. Existing ones should not be modified. For batch, I think the assumption is that it needs to be finished. For streaming, I could also picture attaching nodes at runtime but this has to be carefully implemented..

I've ported this pull request to the latest master. It was a lot more work than I anticipated because some classes had diverged significantly and merging them was a bit hard.
Due to some refactoring, the changes have grown quite large again and I know that makes reviewing hard. Despite that, I wouldn't delay merging this pull request much further. We can disable the session management until it is integrated with the rest of the system (intermediate results) by throwing an exception on the interface methods. If we decide later, that we want to delay this feature, we could also remove the session code. In that case, it would still make sense to merge this pull request because it contains a lot of nice refactoring.
With the session management in place, we can reuse already computed intermediate results with not too much effort. Actually, only some API changes are remaining to expose the session management to the user in production.

Could you elaborate a little bit on what you refactored and which components would be important to review?

Of course! The following classes have been refactored in the course of integrating them with the session management:
Client

Establish connection to JobManager on creation
Refactor run method into runBlocking and runDetached
Extract helper classes to generate the Plan
Make Optimizer and JobGraph generation methods static
Pass ClassLoader correctly (do not keep one per Client but rather let it be passed before submission)

CliFrontend

runBlocking and runDetached methods by analogy with the Client class

ExecutionEnvironment, LocalEnvironment, RemoteEnvironment

modified abstract class to support sessions (timeout and jobID generation)
handle session management via Reapers and ShutdownHooks

PlanExecutor, LocalExecutor, RemoteExecutor

modified interface
support session termination
set JobID on Plan

JobManager

keep ExecutionGraph as long as session has not expired

Future issues:

Support for sessions in streaming. Currently streaming jobs are agnostic of sessions.
Representation of sessions in the JobManager web frontend. How do we represent updates to the ExecutionGraph in sessions?
Build features on top of session management (e.g. intermediate results)

Thanks Max for the detailed description.
On Wed, Sep 9, 2015 at 11:12 AM, Max<EMAIL_ADDRESS>wrote:

Of course! The following classes have been refactored in the course of
integrating them with the session management:
Client

Establish connection to JobManager on creation
Refactor run method into runBlocking and runDetached
Extract helper classes to generate the Plan
Make Optimizer and JobGraph generation methods static
Pass ClassLoader correctly (do not keep one per Client but rather
let it be passed before submission)

CliFrontend

runBlocking and runDetached methods by analogy with the Client class

ExecutionEnvironment, LocalEnvironment, RemoteEnvironment

modified abstract class to support sessions (timeout and jobID
generation)
handle session management via Reapers and ShutdownHooks

PlanExecutor, LocalExecutor, RemoteExecutor

modified interface
support session termination
set JobID on Plan

JobManager

keep ExecutionGraph as long as session has not expired

Future issues:

Support for sessions in streaming. Currently streaming jobs are
agnostic of sessions.
Representation of sessions in the JobManager web frontend. How do we
represent updates to the ExecutionGraph in sessions?
Build features on top of session management (e.g. intermediate
results)

—
Reply to this email directly or view it on GitHub
https://github.com/apache/flink/pull/858#issuecomment-138848287.

I've rebased again...If nobody objects, I will merge this soon. The new API-facing methods on ExecutionEnvironment will be disabled until we implement first applications of session management. I've added a separate commit that does that.


Added a new module and hooked it up in my app and I'm getting a type error I can't understand

I added a new module into my StartApp enabled application, and got the follow type mismatch and I have no idea what's going wrong:
elm make src/Main.elm --output=elm.js
-- TYPE MISMATCH -------------------------------------------------- src/Main.elm

The argument to function `start` is causing a mismatch.

12│   StartApp.start
13│>          { init = init initialPath
14│>          , update = update
15│>          , view = view
16│>          , inputs = [ actions ]
17│>          }

Function `start` is expecting the argument to be:

    { init : ( Calypso.Update.Model, Effects.Effects Calypso.Update.Action )
    , inputs : List (Signal Calypso.Update.Action)
    , update :
          Calypso.Update.Action
          -> Calypso.Update.Model
          -> ( Calypso.Update.Model, Effects.Effects Calypso.Update.Action )
    , view : Signal.Address Calypso.Update.Action -> Calypso.Model.Model -> Html
    }

But it is:

    { init : ( Calypso.Update.Model, Effects.Effects Calypso.Update.Action )
    , inputs : List (Signal Calypso.Update.Action)
    , update :
          Calypso.Update.Action
          -> Calypso.Update.Model
          -> ( Calypso.Update.Model, Effects.Effects Calypso.Update.Action )
    , view : Signal.Address Calypso.Update.Action -> Calypso.Model.Model -> Html
    }

Detected errors in 1 module.

The types are exactly the same, so what could be causing the mismatch here?

I removed my elm-stuff directory and forced everything to redownload and recompile. Then it magically works. As soon as I add another Action to Calypso.Update.Action, then I get the same type error...

Cannot help without an http://sscce.org/
Try to get one of those and ask on elm-discuss or the Elm slack about it.


[Core AMQP][Service Bus] Fix "MaxLinstenersExceededWarning" with the managementLink

/azp run js - servicebus - tests

/azp run js - servicebus - tests

If I'm wrong let me know but I don't see any new code for testing 'onMessageReceived'?

Parts of it were from before, I'll think of tests for the method anyway.

/azp run js - servicebus - tests


Discourse moderation structure

We need to figure out who gets what discourse privileges

We can give moderation powers to ecosystem packages over posts in their category. This would entail:

Making a group for every package that asks for one
Giving that group permissions for the relevant category

More details on this feature can be found here.


Mast: Watch money\sritual

Mast requests the watch of the watch_keyword money\sritual. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

money\sritual has been seen in 10 true positives, 0 false positives, and 0 NAAs.

Approved by Daniil in Charcoal HQ


Access Original List Item?

I'm having trouble figuring out if I can access the original list item. My goal is to set a data-attribute on the generated list item so I can access the value when the item is selected. The stored value is important to a function call I want to make when something is selected.
My data list looks something like this:

Thing1

Thing2

Thing3

And I initialize Awesomplete like this:
var input = document.getElementById("myInput");
var ac = new Awesomplete(input, {
    list: "#myList",
    minChars: 1,
    item: function(text, input) {
        // I want to set a data-attribute on the generated item
        // by reading a data-attribute from the original list item
    }
});

I cannot figure out how to access the original list item to do so. Am I on the right track here, or is there a better way to go about this?
Edit: I noticed in the documentation that the data function has two parameters, item and text, where item is the original list item. I tried testing this with a console log like so:
data: function(item, input) {
    console.log(item);
}

But what is logged is just an object with a label and value. I thought that "original list item" meant a reference to the element, so I tried item.getAttribute('data-thing') but getAttribute is undefined. Am I misunderstanding something?

I have kind of the same problem, I think maybe a few examples of how you use events could do the trick.
I want to access to the list item when the awesomplete-select event is fired. I'm sorry, but I don't get what you mean by :
Callback will be passed an object with text (selected suggestion) and origin (DOM element) properties.

I solved my pb, maybe that can help @joshvickerson . At first i catched the event with jquery#on.
$input.on('awesomplete-select', function(e) {   console.info('A selection was made');   console.log(e.text.label);  });
And it failed to give me the info. But when I did this one, it worked:
input.addEventListener('awesomplete-select', (e) => {   console.info('A selection was made');   console.log(e.text.label);  });

I'm not quite sure what you're suggesting, @Ruff9, but what I ended up doing is a bit of a hack...
I was able to initialize my list as an array instead of using HTML. It's an array of objects in this format:
{
    label: "the text I want displayed",
    value: "the value I was trying to put in a data-attribute"
}

I then create my Awesomplete list like this:
var input = document.getElementById('#myInput');
var ac = new Awesomplete(input, {
    list: myList,
    minChars: 1,
    data: function(item, input) {
        return {label: item.label, value: item.label}
    },
    item: function(text, input) {
        var li = document.createElement('li');
        li.setAttribute('aria-selected', false);
        li.setAttribute('data-thing', item.value);
        li.textContent = text;
        return li;
    }
});

What ends up happening is the data-thing attribute has the value I want, but the text that is displayed in the input is the label. I can then read the data attribute during the awesomplete-select event like this:
input.addEventListener("awesomplete-select", function(e) {
    var thing = e.origin.getAttribute('data-thing');
});

If there's a more direct way of just accessing the original list item in HTML then I'd prefer to do it that way because my current solution feels a bit convoluted. I'm also not entirely certain why it works because I'm not totally clear on when the data and item functions apply.

I've just noticed that my above "hack" doesn't actually work. For some reason every list item gets the same value in the data-thing attribute and I don't know why 😕

Found my problem. I had another variable "item" in scope that was being accessed rather than what I thought was the list item.
However, I think I just answered my own question. In the item function, the first parameter is not just the text as the documentation describes, but is actually the list item. I found this out by console logging text, and found that it was actually my objects from my list.
So with Awesomplete initialized like this, I've achieved what I was after:
var input = document.getElementById("myInput");
var ac = new Awesomplete(input, {
    list: myList,
    minChars: 1,
    item: function(text, input) {
        var li = document.createElement('li');
        li.setAttribute('aria-selected', false);
        li.setAttribute('data-thing', text.value);
        li.textContent = text.label;
        return li;
    },
    replace: function(text) {
        this.input.value = text;
    }
});

Perhaps the documentation just needs a bit of clarifying?

@joshvickerson

I thought that "original list item" meant a reference to the element, so I tried item.getAttribute('data-thing') but getAttribute is undefined. Am I misunderstanding something?

Looks like the docs need some rewording. We have an original list of suggestions which could be an array of strings, array of objects and array of arrays. This is where Awesomplete takes it's data from. We also have a list of items in completer's UI (UL with LIs in it). I guess names of method parameters in source and docs needs change too to avoid more confusion.

Thanks @joshvickerson, worked for me.


14-1 audit throws exception

when you open it, it looks like this and says something is undefined:

fixed by #140


[Feature request]: Add Zoom capability for E340 cam/floodlight

Describe the solution you'd like
I would like to request zoom capability be added for the E340. The camera can switch from 1x to 3x zoom in the official Eufy app and it would be nice to have this feature operational in Home Assistant.

Would also like this


[Docenhancement][Tabsselfsigned][1809607]

Added requirement for self signed certificate not supported and checked for formatting and language.

Docs Build status updates of commit 1d0718d:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/tabs/how-to/tab-requirements.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Babel-node with preset env compilation errors

As per issue #97: For sure these two changes will get part of Babel compiling the code properly, but for myself another issue is being created. I believe it isn't parsing JSX, although I am too inexperienced to give you more information than the error log on this occasion I am afraid.
http://prntscr.com/ku2lrm
I have just finished the Authentication HOC subsection of Chapter 3 and my code should be the same as the book at this point. I have a copy of my code as it is at the following repository:
https://github.com/whitefire0/ArchitectAtlas
Thanks in advance for any time you spend on this; I have found JavaScript library configuration to be a slippery slope indeed with my short time with it...

@whitefire0 Thanks for the question. Yes, configuration is very developer unfriendly.
I will look into error that you reported in 2 days.

@whitefire0 I ran your repo and can confirm this error. I see no problem with code itself. Thanks for reporting.
It seem that configuration inside .babelrc disables compiling of code inside /pages.
Without .babelrc, Next compiles all code that is imported into /pages. Current .babelrc in your repo (and in our detour inside book) disables that behavior.
In other words, we successfully compiled server code but failed to compile code inside /pages.
Let's try this solution for compiling both server code and "client" code inside /pages. (Quotes around client indicate that code inside /pages is either sent to browser OR server-side rendered code):

Delete .babelrc file from your repo
Open package.json file, find line

    "dev": "nodemon server/app.js --watch server --exec babel-node ",

Change it to become:
    "dev": "nodemon server/app.js --watch server --exec babel-node --presets=@babel/preset-env",

Start app with yarn dev

@klyburke If all works, would you please update this babel detour inside the book?

@tima101 this works just fine!
Thanks for taking the time to explain the solution as well. This was helpful and very considerate

@whitefire0 No problem. Thanks for reporting. We were planning to remove babel detour for server code but now, since this issue is resolved, we will keep it.

@tima101 thanks for resolving the issue. I updated the book content and #97 .

@tima101 it is a working solution, although I wanted to feedback that as things stand, the build/compilation time after code changes stands at about 10 seconds, whereas before it was only 2 seconds or less (running on a Macbook Air 1.8 GHz Intel Core i5)


rejig uni-1 genesis file

The idea here is to avoid having to collect gentxs and just restart uni-1 with blank slate. Thoughts @dimiandre @JakeHartnell @nullmames ?
Want to get uni up ASAP but we need it in the same state as mainnet so a restart of some kind makes the most sense probs.

@JakeHartnell the proposed idea will work right? Those that submitted gentxs for uni-1 will be able to unsafe reset, replace genesis file and then #profit


Deletion of files in blob containers

Preflight Checklist

[X] I have installed the latest version of Storage Explorer.
[X] I have checked existing resources, including the troubleshooting guide and the release notes.
[X] I have searched for similar issues.

Storage Explorer Version
1.34.0 (99)
Regression From
No response
Architecture
x64
Storage Explorer Build Number
20240523.2
Platform
Windows
OS Version
window server 2016 std
Bug Description
{
"name": null,
"message": ""failed to perform remove command due to error: cannot start job due to error: cannot list files due to reason HEAD https://9ffd9cc547934a88a2f9257.blob.core.windows.net/ingestiondata/prathima1.pst\n--------------------------------------------------------------------------------\nRESPONSE 403: 403 This request is not authorized to perform this operation using this permission.\nERROR CODE: AuthorizationPermissionMismatch\n--------------------------------------------------------------------------------\nResponse contained no body\n--------------------------------------------------------------------------------\n.\n""
}
Steps to Reproduce

Right click the file
Delete

Actual Experience
We use azcopy for uploading pst files to be imported in office 365. We need to delete two files, but we get the error as in bug description.
Expected Experience
No response
Additional Context
No response

@roji1972 How are you connecting/authenticating to the blob container? Are you using a SAS? Do you have Delete permissions?

Closing due to inactivity. If this is still an issue, please respond by providing the requested information, and we will review.


Enhance NuGet Package Installation for C++ and C# Projects

This PR introduces improvements to the NuGet package installation process in our Visual Studio templates for both C++ and C# projects. Previously, package names were statically defined in NuGetPackageList.cs. This approach has been replaced by a more dynamic method, where package names are now passed via the customparameters in the .vstemplate files, allowing for greater flexibility and easier maintenance.
Key enhancements include:

Dynamic Package References: Shift from the static NuGetPackageList.cs to .vstemplate-based customparameters for defining NuGet packages.
C# Multi-Package Installation: Extend the capability of C# project templates to install multiple NuGet packages, leveraging the new dynamic parameters method.
Additional Package Support: Added the "Microsoft.Windows.SDK.BuildTools" package to the list of NuGet packages for installation, expanding the development toolkit.
wapproj Timing Logic: Addressed a timing issue in wapproj files, identified in the previous PR wapproj has been found to align more closely with csproj behavior, prompting the adoption of C# installer logic – specifically, the use of IVsNuGetProjectUpdateEvents with OnSolutionRestoreFinished.

Looking ahead, we recognize the convergence in the installation logic between C# and C++ project templates. With this in mind, plans are underway to merge them into a unified, streamlined process.

/azp run

Hi @ShashankNay
Does this pr support offline installation?
Sometimes we dont have any access to internet for installing latest packages so we should use our local cached packages...
Currently if we want to create a new project  in a offline system, we get an error
Which wasdk can not be installed and we should install it manually.
I added a pr for fixing this before
https://github.com/microsoft/WindowsAppSDK/pull/4327


[BEAM-7478] Detect class path from the "java.class.path" property

The current approach to assume the classloader is a UrlClassloader is
fundamentally flawed because:

it relies on an implementation detail (cast to UrlClassloader)
UrlClassloader does not exist in Java >= 9
UrlClassloader#getUrls() returns jars belonging to the JRE which leads to
errors like the following:

Caused by: java.lang.IllegalAccessError: class sun.reflect.GeneratedSerializationConstructorAccessor70 cannot access its superclass sun.reflect.SerializationConstructorAccessorImpl

I've tested the approach here with a remote Flink cluster and got rid of the
above error message.
Apart from fixing the issue present, the changes will also make the jar
detection code compatible with Java >= 9.

Sounds reasonable to continue using the UrlClassloader approach but have the System property as a fallback. I'm not sure either if application servers set the class path property, but it seems to work reliably for deployments which start from the java command.
I'm a bit worried though that I'm seeing the IllegalAccessError with the UrlClassloader. Do you think we could come up with a way to filter out JRE components? Shipping those libraries does not seem right.

Can you provide a stack trace for the IllegalAccessError?

@lukecwik Full stack trace is in the JIRA issue: https://issues.apache.org/jira/browse/BEAM-7478

The stack trace didn't give me any insights on how to make this code better then what I had suggested before.


Add X-Forwarded-Proto for redirection.

what do you think? I'm not an expert, is there a better way?
My problem is that my app is behind an SSL terminating proxy.

Thank you for your PR. I've bumped the version v1.0.2 to include your work.


Adds template fallback functionality for 'include', 'extends', and 'e…

Fixes issue jtwig/jtwig#327.
Adds template fallback functionality for 'include', 'extends', and 'embed' tags for PHP Twig compatibility.
Adds new tests in IncludeTest, ExtendsTest, EmbedTest, and ResourceServiceTest. There are existing tests failing in ExtendsNodeRenderTest, ExtendsNodeRenderTest, IncludeNodeRenderTest, that I need some help resolving before it's ready to merge.

@lyncodev I was able to figure out what was breaking these tests and have fixed them. This PR is now ready to merge and close.

@cjbrooks12 nicely done! Thanks for it!


FEATURE: godotenv godot releases

It could be nice to provide a command that will list valid release version names so that users don’t have to guess or know where to find the version list in their browser.  Now that GodotEnv is downloading releases from the godot-builds repo, it could query the URL below to fetch a list of releases available and filter the resulting data for “tag_name”:
https://api.github.com/repos/godotengine/godot-builds/releases

This query also includes the full URL to each of the downloads available for each “tag_name” (version in GodotEnv)


Traffic lights show over video playback

Mac OS X's "traffic lights" display over the video even when the user hasn't activated the player controls.

I actually don't think this is so bad. I know that Quicktime automatically hides the header (including traffic lights) when the video is playing, but it's harder to do this with Electron.
You can either get a window with native OS buttons, or a completely "frameless" window. You can read about Electron frameless windows.
You can't change the type of window once it's created. I opened an issue to see if the developers could allow setting the frame option dynamically but it was closed: https://github.com/atom/electron/issues/4652
So, the only way to fix this right now would be to use a frameless window and create our own traffic light buttons in CSS and try to make them match the buttons as closely as possible. This is what Playback does, but it's a bit janky. When Apple released a new OS, we have to manually change the buttons or they will look wrong. And when we do, all the users on old OSs will suddenly see the buttons from the latest OS.
No easy solution here.

Bummer, that's hugely annoying. The solution seems like a lot of work for such a minor change, but at the same time, I really hate overlays when watching videos - it feels similar to when those annoying adverts pop up when you're watching a TV show.
I'm wondering if I should look at Electron itself and see if I can add something to allow for this option.

QuickTime seems to hide the entire titlebar, not purely the traffic light controls. This might mean that we'd have to use the built-in OS X titlebar. Hmm, maybe it's not worth it.

@ChrisMorrisOrg QuickTime seems to hide the entire titlebar, not purely the traffic light controls. This might mean that we'd have to use the built-in OS X titlebar

Even then, I don't think Electron has an API for changing the frame option after a window has been constructed :(

@feross Even then, I don't think Electron has an API for changing the frame option after a window has been constructed :(

Yeah, it seems like too much of a hassle. I've asked a few friends what they thought about the app, and they didn't seem overly concerned about the traffic lights. Maybe it's not worth worrying about at this point in time.

Okay, sounds good to me.


MINIFI-145 - Updating Travis to perform builds on both OS X and Linux

MINIFI-145 - Updating Travis to perform builds on both OS X and Linux

Looks good Aldrin. Thanks for adding this was needed for sure.


Development: Enable standalone problem statement for exam exercises

Checklist
General

[x] I tested all changes and their related features with all corresponding user types on a test server.
[x] Language: I followed the guidelines for inclusive, diversity-sensitive, and appreciative language.
[x] I chose a title conforming to the naming conventions for pull requests.

Server

[x] Important: I implemented the changes with a very good performance and prevented too many (unnecessary) database calls.
[x] I followed the coding and design guidelines.
[x]  I added multiple integration tests (Spring) related to the features (with a high test coverage).

Motivation and Context

The new standalone problem statement introduced in #6427 is limited to non-exam exercises.  However, the Themis app also needs to render the problem statement for exam exercises. This PR enables access to exam exercises for users who are at least teaching assistants in the course.
Description

Modified one if statement to allow users who are at least teaching assistants for the course to view the problem statement.
Steps for Testing

Prerequisites:

Light mode enabled
1 Student
1 Tutor

If you are using TS1

Log in as Student (you can use test user 1-5 as they are already registered to the course mentioned below)
Navigate to the problem statement of an exercise: (https://artemis-test1.artemis.in.tum.de/courses/78/exercises/1246/problem-statement)
Verify that you can see the problem statement
Navigate to the problem statement of an exam exercise (https://artemis-test1.artemis.in.tum.de/courses/78/exercises/1952/problem-statement)
Verify that you can NOT see the problem statement
Log in as Tutor (you can use test user 6-10 as they are already teaching assistants in the aforementioned course)
Repeat steps 2 and 4. You should be able to see the problem statement in both cases

If you are using TS2

Log in as Student (you can use test user 1, 2, or 3 as they are already registered to the course mentioned below)
Navigate to the problem statement of an exercise (https://artemis-test2.artemis.in.tum.de/courses/8495/exercises/12271/problem-statement)
Verify that you can see the problem statement
Navigate to the problem statement of an exam exercise (https://artemis-test2.artemis.in.tum.de/courses/8495/exercises/12283/problem-statement)
Verify that you can NOT see the problem statement
Log in as Tutor (you can use test user 7 as it is already a teaching assistant in the aforementioned course)
Repeat steps 2 and 4. You should be able to see the problem statement in both cases

Review Progress

Code Review

[x] Code Review 1
[x] Code Review 2

Manual Tests

[x] Test 1
[x] Test 2

Test Coverage

Class/File
Line Coverage
Confirmation (assert/expect)

ExerciseResource.java
95%
✅

Screenshots
Viewing the standalone problem statement of an exam exercise as a student:

Viewing the standalone problem statement of an exam exercise as a teaching assistant:

Codecov Report

Merging #6597 (8a71af1) into develop (9504ec8) will increase coverage by 3.97%.
The diff coverage is 100.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@              Coverage Diff              @@
##             develop    #6597      +/-   ##
=============================================
+ Coverage      76.53%   80.50%   +3.97%
- Complexity         0    13315   +13315
=============================================
  Files           1272     2361    +1089
  Lines          47816    90660   +42844
  Branches        8949    13383    +4434
=============================================
+ Hits           36594    72988   +36394
- Misses          5723     9726    +4003
- Partials        5499     7946    +2447

Impacted Files
Coverage Δ

...tum/in/www1/artemis/web/rest/ExerciseResource.java
88.88% <100.00%> (ø)

... and 1088 files with indirect coverage changes

Flag
Coverage Δ

client
76.53% <ø> (ø)

server
84.94% <100.00%> (?)

Continue to review full report in Codecov by Sentry.

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


(BOLT-772) Allow failure when removing Bolt Apply temp directory

Some providers keep handle open to files in their module after running.
On Windows this prevents deleting the temporary modulepath we create
when applying a catalog. Allow this to fail and return a message over
stderr (which will be logged at debug level).

When we start caching module code on targets, this will probably be a non-issue.

CLA signed by all contributors.


Create Discord webhook integrations and set up GitHub webhooks to publish to them

https://docs.hikari-py.dev/en/latest/reference/hikari/impl/rest/#hikari.impl.rest.RESTClientImpl.create_webhook
https://docs.github.com/en/webhooks/webhook-events-and-payloads#commit_comment
gh api /repos/{{repo_name}}/hooks --input - <<< '{"name":"web","events":["create","commit_comment","pull_request_review_comment","delete","fork","issue_comment","issues","label","member","milestone","public","pull_request","pull_request_review","push","release","repository","star","watch"],"config":{"url":"{{webhook_url}}","content_type":"json"}}'

Test.


Display Help With No Parse Issue

Hello
I have a mutually exclusive set (set) of commands. If these commands aren't present I wish to show the help window.
my options class:
[Option('a', "all", HelpText = "Run all integration tests", SetName = "ab")]
public bool All { get; set; }

[Option('t', "tests", HelpText = "The tests you wish to perform", SetName = "ab")]
public IEnumerable<string> Tests { get; set; }

If neither parameter is present, I would want to display the usage information in the help screen to the user.
Is this possible? I could try writing it manually, but the help screen it too pretty!!
Consider the following example
static void Main(string[] args)
{
    var wrapper = new AsyncWrapper();

    var parser = new CommandLine.Parser();

    var parserResult = parser.ParseArguments<CmdlineOptions>(args);

    parserResult
        .WithParsed<CmdlineOptions>(options => Run(options))
        .WithNotParsed(errs => DisplayHelp(parserResult, errs));

    Console.WriteLine($"Press <ENTER> to exit...");
    Console.ReadLine();
}

private static void Run(CmdlineOptions options)
{
    //do stuff
}

static void DisplayHelp<T>(ParserResult<T> result, IEnumerable<Error> errs)
{
    var helpText = HelpText.AutoBuild(result, h =>
    {
        h.AdditionalNewLineAfterOption = false;
        h.Heading = "Myapp 2.0.0-beta"; //change header
        h.Copyright = "Copyright (c) 2019 Global.com"; //change copyright text
        return HelpText.DefaultParsingErrorsHandler(result, h);
    }, e => e);
    Console.WriteLine(helpText);
}

In this example with no cmdline arguments, only the WithParsed method will fire, I cannot display the help page.

There is a new AutoBuild in v2.7.82 that simplify the help.
Also, you need not to pass Errs.
I find that you use only one SetName.
You should have at least two different setname to use mutual exclusive option effectively.
See wiki- Mutually Exclusive Options
There is no Required option, therefore you expect no errors.
//this is working in v2.7.82
static void DisplayHelp<T>(ParserResult<T> result)
{
    var helpText = HelpText.AutoBuild(result, h =>
    {
        h.AdditionalNewLineAfterOption = false;
        h.Heading = "Myapp 2.0.0-beta"; //change header
        h.Copyright = "Copyright (c) 2019 Global.com"; //change copyright text
        return h;
    });
    Console.WriteLine(helpText);
}

The next is working
//two different setnames, so at least one should be passed(if required=true).
//in this case, help is fired when args are empty.

I'm not sure if this what you want.

class CmdlineOptions
{
[Option('a', "all", HelpText = "Run all integration tests", SetName = "ab",Required=true)]
public bool All { get; set; }

[Option('t', "tests", HelpText = "The tests you wish to perform", SetName = "ab2",Required=true)]
public IEnumerable<string> Tests { get; set; }
}

he wants to show help message from parser like Parser.DisplayHelp(...).


Train&Test_image_size

Hello there! Thank you for your wonderful work here, I would like to know if it is possible to test the model using images in different size from the training images. More specifically, can I use larger images that maintain the same aspect ratio for testing? I would appreciate it if you reply.

Thanks for your attention to our work!
It is OK to test the model using images in a different size from the training images. Usually, in multi-scale testing,  the model uses the test image that is enlarged with ratio {0.5,0.75,1.0,1.25,1.5} for more robust results. You can directly use the images with different sizes.
However, the performance may drop if the sizes vary in a large range, such as 512512 to 10241024. It is suggested that train the model with similar sizes. Or, you can use sliding window testing, which splits a large image into several parts and runs the model on each part.

Thank you for your kind reply, it helps a lot. One more question:  Can I train this model on a single GPU by simply modifying the command?

Yes. Our framework supports training on a single GPU.

Thx！


VoiceOver on mac does not read new lines inside of Visual Studio Code editor

VSCode Version: 1.32.1
OS Version: macOS Mojave 10.14.3

Steps to Reproduce:

Turn VoiceOver on by pressing: command F5.
Launch Visual Studio Code
Open a file which contains some code or write a method or two.
Make sure to interact with the text area by pressing: ctrl option shift down arrow.
Now, navigate through the text with up or down arrow and listen what VoiceOver reads.

Expected result:
When the voiceOver encounters a new line, it should read "new line"
Actual result:
When voiceOver encounters a new line, it does not read "new line" it actually repeats the last line that was not empty. Also, it often starts to read the whole content of the file.
To get a better feeling of how it should behave, open a TextEdit or Xcode and repeat the steps above. In TextEdit or Xcode, the VoiceOver reads "new line" when ever it comes across a new line.
Does this issue occur when all extensions are disabled?: Yes/No
Yes

@alexandrudima thanks for your response. I have just reported this issue on the Chromium bug tracker: https://bugs.chromium.org/p/chromium/issues/detail?id=951777
I hope it gets resolved quickly.

Hi all, Have you found a workaround. This issue is anoying, and i like vs code other than this issue.

Hi, it is very annoying  that there no updates in the issue on the chromium site. I need viscose for my study and this bug is simply a pain. Maybe we can motivate the developers on chromium to work fodder on this problem?
the best,
Christopher

Just a friendly ping to check if this is still an issue? I just tried latest vscode insiders with latest Mac Catalina and I could not reproduce this. Empty lines are being read out as the new line character.
@marcozehe since I now you use VoiceOver sometimes

I just tried, and indeed when arrowing over a blank line, VoiceOver says „New line“ as in other editors.

Yeah, I can confirm, It work now. It is not perfect, because voiceover reads the whole text if you hit the end of the texterea, but this is not very important. So this can be closed here.

This is great. Thanks a lot for letting me know.
Yes I also see this issue that VoiceOver reads the whole text if you hit the ned of the textarea. For that I have just fillled this Chromium bug https://bugs.chromium.org/p/chromium/issues/detail?id=1072323
Since I can repro it just with Chrome
Since this issue is fixed I am closing it


Update dependency versions

Update dependency versions
Fixes:
Updates a number of packages to more modern versions, including (and most interestingly) taking the now obsolete LoadTextAndVersionAsync virtual method and providing implementations of the updated method signature and updating all callers to use the new method signature.

@phil-allen-msft I think you can close this now that @davidwengier sent https://github.com/dotnet/razor/pull/8244.


Update DNS after updating persistent disks

there are CPIs that have to re-create a VM for attach_disk
re-creation changes the IP, hence syncing DNS before leads
to wrong DNS enties in /etc/hosts

this one deserves a test since its easy to regress.
Sent from my iPhone

On Jul 7, 2017, at 4:08 AM, Jan von Löwenstein<EMAIL_ADDRESS>wrote:
there are CPIs that have to re-create a VM for attach_disk
re-creation changes the IP, hence syncing DNS before leads
to wrong DNS enties in /etc/hosts
You can view, comment on, or merge this pull request online at:
https://github.com/cloudfoundry/bosh/pull/1730
Commit Summary
Update DNS after updating persistent disks
File Changes
M src/bosh-director/lib/bosh/director/instance_updater.rb (2)
Patch Links:
https://github.com/cloudfoundry/bosh/pull/1730.patch
https://github.com/cloudfoundry/bosh/pull/1730.diff
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Agreed. How would that be done?
Unit testing the timing between two separate ruby objects (updater and disk_manager)... Is there support in rspec mocks?

@cppforlife @dpb587 This is not yet ready to be merged.
I reworked DiskManager to get the DB up to date prior to sending out DNS blobs.
The change does solve the problem for the k8s CPI.
However, there are a couple of open points:

Write a unit test for the new behaviour (all units are green, just no assertion on the new things happening)
Fix the failing integration tests

rspec ./spec/gocli/integration/cli_ignore_spec.rb:387 # ignore/unignore-instance when there are ignored instances and a deploy happens when the existing instances is larger than the desired ones when the ignored instances is equal to desired ones deletes all non-ignored vms and leaves the ignored alone without updating them
rspec ./spec/gocli/integration/cli_ignore_spec.rb:440 # ignore/unignore-instance when there are ignored instances and a deploy happens when the existing instances is larger than the desired ones when the ignored instances are fewer than the desired ones should keep the ignored instances untouched and adjust the number of remaining functional instances
rspec ./spec/gocli/integration/cli_ignore_spec.rb:957 # ignore/unignore-instance when ignoring all of the instances in a zone when using static IPs balances the vms correctly, and it errors if removing an az containing ignored vms, and it errors if removing static IP assigned to an ignored VM

more places that have to update DB & broadcast DNS

@dpb587-pivotal @cppforlife
I would evolve this PR to

concentrate all disk operations inside DiskManager, i.e. nowhere should cpi.attach_disk / cpi.detach_disk be called directly
conditionally handle the "changing IP" behaviour inside DiskManager by

wait for agent to start
apply_initial_vm_spec -> get_state -> update DB spec with 'networks' from agent state, render templates (1)
broadcast dns (2)

I propose to have explicit director configuration for when/if this actions should be triggered. For certain CPIs (for now I only know of one) this will always be required, for others it will never be required, e.g. update_dns_on_disk_operation.
This will involve creating a deployment plan in places where this was not yet necessary and might lead to parts of these operations called multiple times (e.g. instance updater calls disk_manager.update_persistent_disks, which will broadcast dns, and itself broadcasts dns).
WDYT?

def apply_initial_vm_state(instance_plan)
       instance_plan.instance.apply_initial_vm_state(instance_plan.spec)

       unless instance_plan.instance.compilation?
         # re-render job templates with updated dynamic network settings
         @logger.debug("Re-rendering templates with updated dynamic networks: #{instance_plan.spec.as_template_spec['networks']}")
         JobRenderer.render_job_instances_with_cache([instance_plan], @template_blob_cache, @dns_encoder, @logger)
       end
     end

@dns_state_updater.update_dns_for_instance(instance_plan.instance.model, instance_plan.network_settings.dns_record_info)

merge story #152973240

Sorry that we never got to merging or reviewing this PR. At this point it seems that it is quite out of date.
I'm going to close this PR. Please feel free to re-submit this PR if you would still like us to consider the change.
Best,
@jfmyers9, CF BOSH


README document

Just a minor grammatical error in the README document, as well as a literary suggestion.

@tertioptus Thanks, someone will review your pull request soon

@yegor256 pull request is rather short, review it please

@Tertioptus thanks!

@yegor256 I added 16 mins to your account, many thanks for working with the project (000-1c636a5c)! The completion time here was 14 hours and 8 mins.
extra minutes for review comments (c=1)
+16 added to your rating, at the moment it is: +4547

@rultor deploy pls

@rultor deploy pls

@davvd OK, I'll try to deploy now. You can check the progress here

@rultor deploy pls

@davvd Done! FYI, the full log is here (took me 9min)


Replace all uses of BankTrustResponse with Bank

AS a developer
I WANT to avoid duplication
SO THAT we avoid maintenance costs and unnecessary bugs
Description:
Currently, there's a DTO BankTrustResponse to represent the response of the PATCH request documented here: https://thenewboston.com/bank-api/banks.
As far as I can tell, that response is simply a Bank, so we can remove the duplication. In fact, this is hopefully the case for all PATCH requests if the API is consistent (it is for Account).
Also, the BankTrustResponse is missing the version field which Bank correctly contains. Typical duplication bug :)

Hey @petersommerhoff I'm for all for removing duplication and will assign the labels for anyone to pick this up.

the Bank class receives the port parameter as String while the BankTrustResponse receives the port parameter as an Int. Should I change the Bank Class' port data type to Int? So it will match the documentation: https://thenewboston.com/bank-api/banks


Strip away unrecognized XML tags

Please, could you merge this pull request? Tried it and worked nice!

@malcommac could you review this PR in order to get this update? this is quite important for our project! Thanks in advance!


Update Roslyn to 4.7.0-2.23253.2

Separated from https://github.com/dotnet/razor/pull/8242. Needed to bring in https://github.com/dotnet/roslyn/pull/67996 and https://github.com/dotnet/roslyn/pull/68036.
Fixes https://github.com/dotnet/razor/issues/8652

thanks for the PR @jjonescz, I'm going to rerun the CI. is this still in progress or are you actively looking at this?

Agreed with @jjonescz to close this one in favor of https://github.com/dotnet/razor/pull/8764


FullBody and CameraControl translations

Fixed up readability and added more translations.

Change the target to be the master branch instead of the new-translations one, otherwise looks good to me 👍


💚 Add timeout on publish_docs job

The publish_job job got stuck yesterday. This will at least prevent that from happening again on that job.
There's no global timeout for GitHub Actions.

please review


doc: plugin: text_editor_button_icon method

Fixes #3765
Merging above PR on develop

Coverage decreased (-0.1%) to 91.029% when pulling e388bc0b892eed4ef608bca24d9248fc9bf359ac on yakky:merge/3765 into 95a59264415d6d12bb2e2f384a27e641951b4350 on divio:develop.


What is the file icon theme?

What is the file icon theme you used in the readme previews?
Thanks in advance :100:

I'm using city lights, the colored one. :)

I'm using city lights, the colored one. :)

Thanks for answering the silly question

Thanks for answering the silly question


Update TLS-related dependencies.

Use a temporary private fork of tokio-rustls that uses Rustls 0.12
until tokio-rustls 0.4 is released.
This upgrades, among other things, ring to 0.12, which will ensure
that it still builds in the Rust 1.20 release coming this week even if
backward-compatibility-breaking changes to rustc aren't fixed before
the release.

Thanks. I rebased against master which should pull in the CI fix.


Deduplicate sgx/sallyport readv/writev

From enarx created by haraldh: enarx/enarx#1090
Somehow we have two implementations. Choose one and remove the other.
https://github.com/enarx/enarx/blob/main/internal/shim-sgx/src/handler/file.rs
https://github.com/enarx/sallyport/blob/main/src/syscall/file.rs

This should be closed by the ongoing sallyport rewrite, since implementations of these will live at sallyport crate, but specific platforms will be able to override the implementations, if required.
Refs #1062


Change curseforge mod tags to support 1.16.5 so curseforge launcher can see the forge version of the pack correctly.

My testing so far has seen it entirely stable on 1.16.5 so why not just make it easier for modpack devs to install it into 1.16.5 packs?

Thought I did that, guess I only did it for fabric.
Added it, hope that works

Works great, thanks a bunch


GRAPH: clarify: "This is only works when the default Schema is used."

Refernecing: #6339 (Graph User Capabilities)
We have two envvars:
GRAPH_LDAP_SERVER_WRITE_ENABLED (new) and GRAPH_LDAP_SERVER_WRITE_ENABLED (existing)
which both use the text: This is only works when the default Schema is used.
It is not clear what this means and what the impact is.
@rhafer as offered, can you give some insight to make it clear?
@kobergj FYI

Closing via #6374


Barfs when using an edited bundle.yaml for machine placement with MAAS

$ dpkg-query -W juju maas conjure-up
conjure-up      <IP_ADDRESS>-0~460~ubuntu16.04.1
juju    2.0-beta11-0ubuntu1~16.04.1~juju1
maas    2.0.0~rc1+bzr5143-0ubuntu1~xenial1
$ cd /home/ubuntu
$ git clone https://github.com/battlemidget/openstack-novalxd
$ vi openstack-novalxd/bundle.yaml
$ pastebinit openstack-novalxd/bundle.yaml
http://paste.ubuntu.com/18561160/
$ conjure-up /home/ubuntu/openstack-novalxd

After choosing 'maas', entering IP address and API key, and then 'Add credential', I get a stacktrace but a MAAS node begins to deploy.
MAAS server address and key entered:
<IP_ADDRESS>
hAhstwyBAr3BL9sDd7:7qMT8brmrYDf5ge2c4:xYY38zTTxBA2z6vASJc33SMtzfWch2jk
I hit Ctrl-c .
The entire screen output is here:
http://paste.ubuntu.com/18562389/
There is nothing in the 3 files under /var/log/conjure-up.

@pmatulis hi, thanks for trying this out. it looks like the 'machines' section of your yaml is not complete - the machine numbers are keys to a dictionary, and each value needs to be a dictionary also.
So instead of this:
machines:
  "0"
  "1"
  "2"
  "3"
  "4"
  "5"
  "6"
  "7"

do this:
machines:
  0:
    series: xenial
  1:
    series: xenial
  2:
    series: xenial

...etc

Thank you. This got me going again.

Now this:
http://paste.ubuntu.com/18570893/

After I Ctrl-c I have this on my screen:
http://paste.ubuntu.com/18571405/

@pmatulis can you paste the output of 'juju controllers ; juju models' ?
that error is from trying to run 'juju status', and if there is a controller but no current model, it'll fail.
the easiest way to start over fresh is to destroy the controller, assuming it's not something you need to keep around, and let conjure-up recreate one.

At this time there is no controller. I'm trying again.

Was going well, and it's still going ("Deploying application: mysql"), but I got this onscreen:
http://paste.ubuntu.com/18573090/

Only one node is "Deployed" - no other activity on MAAS side (i.e. no "Deploying").

Was going well, and it's still going ("Deploying application: mysql"), but I got this onscreen:
http://paste.ubuntu.com/18573090/

Looks like another issue with Juju API changes. Need to verify what Juju Beta11 and onwards accepts for the placement type during a request.

bundle.yaml:
http://paste.ubuntu.com/18574442/

Guys, interesting stuff after I Ctrl-c:
http://paste.ubuntu.com/18574692/

ok, nothing obvious in that bundle.yaml. I thikn Adam's right about the
juju api issues. We haven't exercised placement directives yet, so it might
need some different syntax
On Tue, Jul 5, 2016 at 12:11 PM, Peter Matulis<EMAIL_ADDRESS>wrote:

bundle.yaml:
http://paste.ubuntu.com/18574442/
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/ubuntu/conjure-up/issues/211#issuecomment-230573649,
or mute the thread
https://github.com/notifications/unsubscribe/ABr6qqNmcVJjRK2iFq4w6MghI3gzM0wOks5qSqxugaJpZM4JFVaA
.

I think what happened there is that it's still trying to do the relations,
which fails with that message when one endpoint of the relation doesn't
exist because it wasn't deployed correctly.
On Tue, Jul 5, 2016 at 12:14 PM, Peter Matulis<EMAIL_ADDRESS>wrote:

Guys, interesting stuff after I Ctrl-c:
http://paste.ubuntu.com/18574692/
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/ubuntu/conjure-up/issues/211#issuecomment-230574288,
or mute the thread
https://github.com/notifications/unsubscribe/ABr6quiKuG5vV-Qdk2Lh2g2hJbsZeyqkks5qSq0NgaJpZM4JFVaA
.

@pmatulis, after #228 is merged, conjure-up should successfully deploy bundles with placement directives in them, provided that their machines dict is correct and has enough machines for all the placement directives in the bundle - the machines will be created in the new model with ID numbers starting at 0.

Should be fixed in <IP_ADDRESS>


Test pr 2

Preparing review...

Preparing review...

Preparing review...

Preparing review...

Preparing review...

Preparing review...

Preparing review...

Preparing review...

Preparing review...

Preparing review...

Preparing review...

Preparing review...

Preparing review...

Preparing review...

Preparing review...

Preparing review...

Preparing review...

Preparing review...

Preparing review...

Preparing review...

Preparing review...

Preparing review...

Preparing review...

Preparing review...

PR Review 🔍

 ⏱ Estimated effort to review [1-5]
3, because the code is well-written and easy to understand, but it could be improved by adding more comments and documentation.

 🧪 Relevant tests
No

 ⚡ Possible issues
No

 🔒 Security concerns
No

 Code feedback:
relevant filesrc/test/java/com/thoughtworks/tracing/SeleniumGridTest.java
suggestion

Add more comments and documentation to the code to improve its readability and maintainability. [medium]

relevant linedriver.findElement(By.tagName("body")).getText();
relevant filesrc/test/java/com/thoughtworks/tracing/SeleniumGridTest.java
suggestion

Add more comments and documentation to the code to improve its readability and maintainability. [medium]

relevant linedriver.get(baseURL);
relevant filesrc/test/java/com/thoughtworks/tracing/SeleniumGridTest.java
suggestion

Add more comments and documentation to the code to improve its readability and maintainability. [medium]

relevant lineif (ele.isDisplayed()) {


glossary feature suggestion

Should have a glossary. Like, I'm new here and learning about Power BI, but when it says "data model" I have no idea what that is. It would be nice to have glossary of terms with a connected hover feature for common technical terms a self-taught newb like myself might find useful.
Thanks!

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

ID: e941f6c9-1676-dc84-ed1b-027a1c61cd23
Version Independent ID: 373ee1b3-c001-d1a8-6eb4-832cbea29fe1
Content: What is Power BI Desktop? - Power BI
Content Source: powerbi-docs/fundamentals/desktop-what-is-desktop.md
Service: powerbi
Sub-service: pbi-fundamentals
GitHub Login: @davidiseminger
Microsoft Alias: davidi

Thanks for your comment, @monacojay. This issue has been assigned to the doc author for review.

Thanks for your suggestion, we'll look into creating that. Meanwhile, search can be very useful.


Add support to create RDF* statements

Is your feature request related to a problem? Please describe.
I am using RDF4J as backend with RDF* statements in the form
<triple> predicate value.
I am unable to convert these statements in RDFNQuads, since the subject is expected to be a RdfResource
Describe the solution you'd like
The RdfTriple interface could extend the RdfResource (example from RDF4J), to create RDFNQuads with RDF* semantics.
Describe alternatives you've considered
Not sure, for now I am filtering all RDF* statements.

@pajoma I'm sorry, but this project has nothing to do with RDF4J. Report the bug to RDF4J. Please feel free to re-open if there is something I'm missing.

Sorry for the confusion, I just mentioned RDF4J as example.
The problem lies within the RDF Api of Titanium (RDFNQuads and Rdf Resource are Titanium Terms, nothing related to RDF4J)

Please, can you be more specific then?  Why you cannot use the existing RDF API? RdfNQuad just extends RdfTriple of graph name which can be null.

Sure.
RDF statements are triples in the form <subject> <predicate> <object>.
RDF quads include the context: <subject> <predicate> <object> <graph>.
RDF* allows for expressing statements about statements (in subjects or objects):
 <<subject> <predicate> <object>> <predicate> <object> or
 <subject> <predicate> <<subject> <predicate> <object>>
A valid triple (let's forget about the graph for now) is therefore:
<Resource> <IRI> <Value> with

Resource being either a blank node, an IRI or a triple (RDF*)
Value being either a blank node, an IRI, a triple or a literal

You typically see this reflected in the class hierarchy, see RDFLib, Eclipse RDF4J or Apache Jena
In my application, I want to expose my triples as JSON-LD documents with RDF-Star statements. The implementation follows this pattern:
for each statement in the result model:

convert the subject into a RdfResource
convert the object into a RdfValue
create a new RDFNQuad
Add it to the new RdfDataset

And then I build a JsonLd Document
Document document = RdfDocument.of(myRdfDataset);
JsonArray jsonValues = JsonLd.fromRdf(document).options(myOptions).get();
JsonDocument jsonDocument = JsonDocument.of(jsonValues);
JsonObject jsonObject = JsonLd.frame(jsonDocument, myContectUri).options(myOptions).get();

The issue:
The RdfTriple  class expects a RdfResource as subject (and a RdfValue as object). Since RDF* requires triples as subjects and objects, the Triple itself should be a RdfResource itself again.
I would expect the following class structure:

RdfValue

RdfLiteral
RdfResource

RdfTriple

RdfNQuad

Only then is it possible to create a new RDFNQuad with a triple either as subject or object (this should also include a check that it is actually a triple, and not another nquad)

should be done after/together with/ #300

V2 has been canceled because of lack of funding.


subscriber/tasks proto: capture spans inside spawned tasks

Right now, the TasksLayer in console-subscriber only captures the span attached to every spawned task by Tokio's own tracing integration. these spans are useful, but they lack a lot of the user-generated data that's provided by the user's spans. If the user instruments the future passed to tokio::spawn, for example, we should be able to recognize that this span is also part of the task, and record its data as well.
The primary motivation for implementing a feature like this is that most of the mocks and designs that people have come up with so far show user-provided names and fields for tasks in the console. However, we can't capture that if we are only looking at the per-task spans generated by the runtime (e.g. tokio's task span).

I assume you mean that at tokio::spawn, if the user uses essentially tokio::spawn(future.instrument(span)), that span's user-set values would be worth including, which I agree. How would we detect that? I at first thought since F: 'static, we could check the TypeId or downcast, but it would be tracing::Instrumented<T>, which would make it a type we couldn't really check for in that way.
There's also the question of how "deep" should we try to sniff. Like, if someone spawns a Box<dyn Future> that was instrumented before boxed, that'd be helpful. They might also wrap an instrumented future in a tiny combinator. But how far do we go?

I assume you mean that at tokio::spawn, if the user uses essentially tokio::spawn(future.instrument(span)), that span's user-set values would be worth including, which I agree. How would we detect that? I at first thought since F: 'static, we could check the TypeId or downcast, but it would be tracing::Instrumented<T>, which would make it a type we couldn't really check for in that way.

I was imagining something a bit simpler, which is that we would just record whatever the first span that's entered inside a spawned task's span is.

As a new console user, I found this behavior to be very surprising.  When running this code, I expected that I'd see a task named "fancy_sleep" in tokio-console, with the associated Duration as a field.
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    console_subscriber::init();

    tokio::task::spawn(fancy_sleep(Duration::from_secs(30))).await?;
    Ok(())
}

#[instrument]
async fn fancy_sleep(duration: Duration) {
    tokio::time::sleep(duration).await;
}

I've looked for workarounds, but nothing feels especially satisfying to me.  I could use task::Builder, but it seems needlessly verbose, duplicates the function name, and doesn't capture the instrumented duration field.
    task::Builder::new()
        .name("fancy_sleep")
        .spawn(fancy_sleep(Duration::from_secs(30)))?
        .await?;


add kam.go

What type of PR is this?

Uncomment only one  /kind line, and delete the rest.
For example, > /kind bug would simply become: /kind bug

/kind api-change
/kind bug
/kind cleanup
/kind deprecation
/kind design
/kind failing-test
/kind feature
/kind flake
/kind code-refactoring

What does this PR do / why we need it:
Have you updated the necessary documentation?

[ ] Documentation update is required by this PR.
[ ] Documentation has been updated.

Which issue(s) this PR fixes:
Fixes #?
How to test changes / Special notes to the reviewer:

Codecov Report

Merging #15 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #15   +/-   ##
=======================================
  Coverage   61.11%   61.11%
=======================================
  Files          51       51
  Lines        2466     2466
=======================================
  Hits         1507     1507
  Misses        827      827
  Partials      132      132

Flag
Coverage Δ

#unittests
61.11% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

pkg/cmd/gitops.go

pkg/cmd/kam.go
0.00% <0.00%> (ø)

Continue to review full report at Codecov.

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


Added an email body to the invite emails

Currently, we generate an email with only the invitation link in the body, I added a template file and used that as the body for the invite emails.

Codecov Report

Merging #523 (4fcd448) into develop (76078e4) will increase coverage by 0.00343%.
The diff coverage is 100.00000%.

:exclamation: Current head 4fcd448 differs from pull request most recent head 36a488e. Consider uploading reports for the commit 36a488e to get more accurate results

@@                 Coverage Diff                 @@
##             develop        #523         +/-   ##
===================================================
+ Coverage   96.45803%   96.46146%   +0.00343%
===================================================
  Files             82          82
  Lines           2061        2063          +2
===================================================
+ Hits            1988        1990          +2
  Misses            73          73

Impacted Files
Coverage Δ

backend/src/app/logic/invites.py
100.00000% <100.00000%> (ø)


Models

Adds models closes #9

Codecov Report

Merging #10 into master will decrease coverage by 0.82%.
The diff coverage is 92.3%.

@@            Coverage Diff             @@
##           master      #10      +/-   ##
==========================================
- Coverage   91.02%   90.19%   -0.83%
==========================================
  Files           5        9       +4
  Lines          78      102      +24
==========================================
+ Hits           71       92      +21
- Misses          7       10       +3

Impacted Files
Coverage Δ

tests/test_user.py
100% <100%> (ø)

tests/conftest.py
100% <100%> (ø)
:arrow_up:

pyns/api.py
90% <100%> (ø)

pyns/models/user.py
100% <100%> (ø)

pyns/__init__.py
100% <100%> (ø)
:arrow_up:

tests/test_client.py
100% <100%> (ø)
:arrow_up:

pyns/models/__init__.py
100% <100%> (ø)

pyns/models/base.py
62.5% <62.5%> (ø)

... and 2 more

Continue to review full report at Codecov.

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

Dropped support for Flask #2


Website icons

Following icons would be needed from our pakistani agency on Upwork:

[ ] Cloud (hosted)
[ ] On Premise
[ ] Developer
[ ] Operations
[ ] Manager
[ ] Platform
[ ] CLI
[ ] Automation

@SteinRobert I remember, that you also wanted a few more icons?

Yes! Good thank you remembered :)

We need an icon for "synchronization".
It will be used on the project list (https://app.zeplin.io/project/5f84546964e43c2749571f59/screen/5f845c6ce1cb3f27e42e4ee9) next to the edit and delete icon.
A terminal icon. Same as the previous one, will be used like the delete and edit icons.
We're using snackbars (https://app.zeplin.io/project/5f84546964e43c2749571f59/screen/5f845cc4fc28f12a915ea2bc). Currently we only have a success icon for the snackbar. Would be great if we had a warning and an error icon, too.

Is this already progressing? I have another icon to add:
It would be great if we had a ship's wheel as an icon.

@SteinRobert it's in progress now. I just briefed it but need to wait for the freelancer to accept the job.

@SteinRobert here are your icons, do you have feedback / change requests?:
https://projects.invisionapp.com/share/CUYLNLP58MK#/screens/456467289_Webapp_-_Icons
Here are also the new website icons:
https://projects.invisionapp.com/share/CUYLNLP58MK#/screens/456467288_Website_-_Icons
I like all of these.

@marty-2015 I have added you to a conversation on Upwork regarding the icons. The icons that the agency designed are good but we have not yet received the pngs and svgs. Once we get these, can please forward the ones Robert requested to him and save the ones that we wanted for website as well as trying if they work.
If there are changes necessary, please take care of it.

@SteinRobert I have put the icons in this folder https://drive.google.com/drive/folders/1GljQk5SgyBN-mmtpVxC0VJf-UyX1lQix
As far as I can see, we have all the images, that you requested. Right? If there is something else missing, please let me know.

One more question @SteinRobert: I just saw that some of the icons only work on colored background (like devops, developers, managers, error) - that was intended, right?

Unfortunately idk. The icons we requested for the application are fine. The ones for the website I haven't briefed, therefore I don't know how these are meant to be used.

Ok, I think we haven't briefed other versions for the website, so this should be fine for now.


scroll refresh bug on sync

Tested  Mac Safari,  iPhone Safari. Mac Chrome and got same behaviour.
go to main page at https://data-star.dev, then to bottom and click "Lets Gets started", then hit back.

It does not go back to the same scroll position.

Hopefully I have described this well enough.
BTW having the state reset button in the TODO example helps for isolating bugs because I can take things back to a base state.

Should work now

Nice one .will wait until next tagged release to cross browser test

Fixed on iOS Safari. Can close I think.
It no longer defaults to navigating to the todo section.
There is a a jarring FOUC aspect that I will raise in another issue.


[Feature] Webhooks service

I would love a service that allows for subscribe, unsubscribe, list subscriptions for clients and reliable sending & retrying events for servers.
Some clients prefer a polling-style service (GET /events.json?since=2022-09-28+15%3A02%3A59+%2B0200) where they can fetch events at their own pace.

Some more:

/events with long-polling would be great!
Automatically remove subscriptions after N retry failures

How are these events produced? Assuming if it's a webhook service that there's an endpoint where events are sent?

I imagine 3 parties: a client consumer, a server producer and the webhook microservice between them.
Example: e-commerce website
Channels: orders/create, orders/update, orders/shipped
Consumers: Subscribe to the channels they are interested in
Producer: The e-commerce website lets the webhook service know (creates an event) each time an order was created, updated or shipped.
Webhook service: Let's all subscribed consumers know about the event.

I think what you're talking about in general is a message queue or stream of events not exclusive to webhooks.  We have an event service for this. https://github.com/micro/services/tree/master/event

I'd be interested to see what a complete API for webhook service looks like. Definitely something that we should include.

Here is an example for Webhook consumers https://shopify.dev/api/admin-rest/2022-07/resources/webhook
I don't have an example of a producer API though. I googled and found this though: https://api.svix.com/docs#tag/Message/operation/create_message_api_v1_app__app_id__msg__post

Do you have a specific use case in mind for this? I think its better built when needed as opposed to just for the sake of building it. Likely the use case will help inform the design.

Only a bad experience at a company that chose to invest far too much time and resources creating yet another webhook service. :)
At this time I am only a webhook consumer of Shopify's API I reference. Though as https://hookdeck.com/ demonstrates and I can personally attest to, reliably receiving all webhooks that are sent is not as easy as it sounds :) So perhaps a dedicated webhook consumer (middleman) service would also be valuable. Up until now I only had in mind a webhook dispatching sending service.

I welcome a webhook service contribution. I think personally it's a little bit beyond my capabilities at this moment.


Crooped picture rotates after upload...

Hi Mr. Greg! For information, I solved the problem....in photos captured by iPhone (maybe others smartphones) the orientation is different then convencional cameras. When I made the upload, the Picture appears ok, but in Windows Picture Viewer this is head down!!
After upload, the image cropped appears head down too...
I fix the image in correct position, the crop plugin Works perfectly!!
So, in your crop plugin have some method for this problem?

Did you try ->fixOrientation() ?

Well, I didn't tried this....how this method Works? Do I have to use before the 'save' Picture? Could you send me a example, pls?


Expose low-level metrics

Currently there is no way for a user to collect low-level metrics on things like network calls (latencies etc.)
The way it's implemented in kafka-python is that they register a bunch of metrics in a local registry, and then expose a pluggable interface that will be called when metrics are added/changed/removed, which would allow you to create a glue layer to for example Prometheus.
We could even include metrics on things that are technically already possible to collect, like batch size for example, so that the userland consumer code doesn't have to contain code to collect those metrics.

We have decided to expose metrics through the instrumentation events; we can revisit this in the future.


Thread safety issues with respect to Winograd convolution primitives

Hi,
We are exploring possible cases in multithreading environment, creating and reusing primitives. So far we spotted that Winograd had a scratchpad as thread private, which would assert this primitive can only run safely in the same thread that create it.
We want to propose that make scratchpad as an extra input to this primitive, then it'll let user take the fully control of thread safety issue. And this approach might benefit im2col/gemm path as well as possible interface for NUMA performance issue.

Hi @4pao,
In MKL-DNN, we use workspaces for memory that is passed to primitive and scratchpads for memory that is allocated once for all primitives and used as temporary buffer.
We have 2 kind of scratchpads:

a global scratchpad that is reused between all primitives. Here the primitives should not be executed concurrently
a "concurrent" scratchpad where each thread creating primitives executes them

If you want to have threads run primitive they did not create, we have no way to do it currently for primitives using scratchpads. One thing you can do is have all your threads create all the primitives topology with the same memories, and run them at will.
If this is not feasible in your case, please explain your use case to see how we could support it.

@mgouicem OK, currently we cache the old primitive for further reuse. Assume in a multithreading environment when a thread T1 created two Winograd convolution P1 and P2, then cached. After T2 and T1 get P1 and P2 each and run concurrently, the scratchpad gets conflicts.

@4pao I understand the circumstances in which the conflict happens.
Maybe my message was not clear. we have 2 scratchpad implementations:

global_scratchpad_t which is the default implementation. As you mentioned it is not thread safe, but it still enables some concurency if the threads creating the primitives execute them, as it is thread local.
concurrent_scratchpad_t for which the scratchpad is local to the primitive and not shared, so it is thread safe. To enable this implementation, you have to define the MKLDNN_ENABLE_CONCURRENT_EXEC preprocessor variable when compiling MKL-DNN. However, note that using this will increase the memory footprint.

So here you have 2 options already:

have all you threads create the primitives P1 and P2 (so you each thread will have a copy of P1 and P2) while sharing your memories (e.g. thread 0 creates the memories, that are shared), and then you can have your thread tun the primitive at will.
compile MKL-DNN with MKLDNN_ENABLE_CONCURRENT_EXEC set.

I hope this is clearer.

@mgouicem Yes, I'm aware of the choices. If we compile MKL-DNN with concurrent then every primitive keep a scratchpad that 1.2x larger than inputs, then memory footprint is up. We might want a solution that can be both thread safe and less memory consumption.

ok, and why can't option 1 be implemented?

As for option 1, some framework using thread-pool to execute many ops, and all the threads in thread-pool will eventually get they chance to create the op, and they never cease to exist. Memory might consume according to thread numbers inside the thread-pool. Statistically, option 1 is much better, but does not guarantee less memory consumption.

@4pao To come back to your initial concern, MKL-DNN is not thread-safe currently, and exposing the Winograd scratchpad will not be enough to make it be thread-safe. For example, if you look for malloc in src/cpu/*, you will notice that quite a few primitive allocate their own private scratchpad when created, which is not thread safe at all. Also, we have global variables (e.g. see src/cpu/jit_generator.hpp, the object cpu), which is not thread safe either.
So to the best of my knowledge (@emfomenk can correct me), the only level of thread safety we can currently provide without a major refactoring would be if each thread pool creates its own primitives to execute (so option 1, which I agree is far from perfect). If you do not have too many thread pools, the overhead should be manageable.
But we definitely keep in mind that thread safety is a concern and we will take that into account for some future refactoring.

@mgouicem Yes, single primitive can not be thread safe, and we loose the criterion to only expect different primitive can be executed in thread safe manner and independent of its creator. We will using per-thread cache to deal the current situation, hopefully the memory consumption can be contained.
What I suggestion in the beginning is if MKL-DNN offloading scratchpad duty to user (not only Winograd, but also like im2col etc.), it would allow user to have more control at the memory allocation site.

Closing due to lack of activity. Feel free to reopen with additional data.


Ontfork

add gas calculate
2.remove all float related
3.add ret support

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@0f0022c). Click here to learn what that means.
The diff coverage is 59.25%.

@@            Coverage Diff            @@
##             master       #1   +/-   ##
=========================================
  Coverage          ?   51.41%
=========================================
  Files             ?       32
  Lines             ?     3083
  Branches          ?        0
=========================================
  Hits              ?     1585
  Misses            ?     1253
  Partials          ?      245

Impacted Files
Coverage Δ

wasm/types.go
46.2% <ø> (ø)

exec/conv.go
0% <ø> (ø)

exec/num.go
1.06% <ø> (ø)

wasm/operators/conv.go
73.33% <ø> (ø)

exec/func_table.go
100% <ø> (ø)

wasm/init_expr.go
40% <ø> (ø)

exec/const.go
50% <ø> (ø)

wast/write.go
71.92% <100%> (ø)

disasm/disasm.go
80.22% <100%> (ø)

disasm/asm.go
100% <100%> (ø)

... and 3 more

Continue to review full report at Codecov.

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


docker: add protoc to docker image

This PR fixes the docker build which was previously broken by #81.
protoc needs to be installed in the image for the app to compile the proto files during the build.

I think I ran into this as a problem trying to build tag v0.1.0-alpha
Did this change get in before the tag?

Yes, this was merged after v0.1.0-alpha was tagged. This PR is the only change currently in master, outside of docs/CI. So its safe to build your image from master.


fix: recognize dollar sign in identifier

Description
This PR updates errorSignatureRegex, eventSignatureRegex, functionSignatureRegex, and structSignatureRegex to allow the dollar sign ($) to be used in an identifier. It also disallows identifiers that begin with a number as the first symbol. Reference: Solidity docs.
I also updated the regexr links for each regex.
Fixes #163.
Additional Information

[X] I read the contributing guide
[ ] I added documentation related to the changes made.
[X] I added or updated tests related to the changes made.

Your ENS/address: ardis.eth

PR-Codex overview
Focus of this PR:
This PR focuses on allowing the use of the "$" character in identifiers.
Detailed summary:

Allowed "$" in identifiers.
Updated regular expressions to include "$" in identifiers.
Added test cases for parsing and resolving valid names.
Updated regular expressions for ABI parameters to include "$" in names.
Added test cases for validating valid names.
Updated regular expressions for signatures to include "$" in names.
Added test cases for validating valid signatures.

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

Could you also change the regexes of abiParameterWithTupleRegex and abiParameterWithoutTupleRegex?
And could you also change the the type ValidCharacters to support the $

@Raiden1411
I updated the <name> capture group in abiParameterWithoutTupleRegex and abiParameterWithTupleRegex to recognize the $ character so these two are now aligned with the others.
I think the <type> capture group in these regexes may also need to be updated, because it looks like user-defined types can also be named with any valid identifier, but I'm not sure how to go about updating the regex for the types.
I also updated the ValidCharacters type to add $.

You can just update the <type> capture group on abiParameterWithoutTupleRegex with the new pattern. The tuple regex <type> capture group when extracted is used to recursively call parseAbiParameter which will then use abiParameterWithoutTupleRegex if the splited parameter is not a tuple. You can add a unit test to ensure the correctness of this behavior.

Also, if you could add a changeset to this PR that would be appreciated.

@Raiden1411
Got it, makes sense.
I updated the <type> regex in abiParameterWithoutTupleRegex. I also noticed typeWithoutTupleRegex (within structs.ts) uses the same regex so I updated that as well.
The existing unit tests look like they already test for the recursive behavior, so I didn't add any new ones. The updated regexes pass all existing unit tests.
I added a changeset. Not sure if I did it correctly, let me know if I need to make any changes.
Thanks for your help!

Thank you, nice check! I'd say even though the regexes pass the current tests it would be good to have one or two dedicated tests to check that an identifier cannot start with a number, can contain the $ char and it throws accordingly. After that this should be good to merge.

@Raiden1411
I added unit tests to confirm:

$, $_a9, _, and abc$_9 are all VALID identifier names
9abc is an INVALID identifier name

I think my tests should cover all places where I updated the regex, but do let me know if I should add tests in any other files.
Thanks!


BreadCrumbHeader: Hide Root Node

Dependent on https://github.com/dfst/webgme-breadcrumbheader/issues/9

Closed for now; found a way around it by modifying the breadcrumb header code in node-modules.  Modified updatePath in NodePathNavigator.js.