Explain the "Virtual Network Link"

Please explain what the "Virtual Network Link" means?
It is not clear in the document. There is no flow labelled over this link.

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

ID: a88af182-32aa-a8f3-359d-b92ae1cfb8c7
Version Independent ID: 01ce07fc-4bc2-def5-9ecd-a80330ad9488
Content: Azure Private Endpoint DNS Configuration
Content Source: articles/private-link/private-endpoint-dns.md
Service: private-link
GitHub Login: @mblanco77
Microsoft Alias: allensu

@softveda , We are looking into this query and will update you as soon as possible.

Hi this is explained in the link "adding new virtual network links"

@softveda , We are closing this issue for now. If there are further questions regarding this matter, please reply and we will gladly continue the discussion.


Multiple Public Body Extensions

As an IAO user
I want to be able to take more than one public body extension
so that I can take the maximum allowable 30 days under different reasons for extensions

Assumptions & Scope

This is an update to user stories #858 and #878
Feedback from IAO users indicated there are use cases where an analyst might take a public body extension for less than 30 days for one reason (e.g. 10 days for applicant consent), and then take another public body extension for the remaining days allowed for a different reason (e.g. 20 days for consultation)
Current functionality limits users to one public body extension only, regardless of the number of days
The number of days for combined public body extensions cannot exceed 30
Once 30 days of public body extension(s) have been taken, the public body reasons for extensions should no longer appear in the 'New Extension' modal
Analysts can pick the same reason for more than one public body extension (e.g. consent can be selected for first and second public body extension)

What is IN scope?
What is NOT in scope?
Acceptance Criteria
Scenario 1: First public body extension is taken for 30 days

GIVEN an IAO user has added a public body extension
WHEN the user inputs 30 days as the number of days extended
AND saves the extension
THEN the user will not see any public body extension reasons listed in the 'Reason for Extension' dropdown in the 'New Extension' modal

Scenario 2: First public body extension is taken for less than 30 days

GIVEN an IAO user has added a public body extension
WHEN the user inputs the number of days extended as any number less than 30
AND saves the extension
THEN the user will continue to see all public body extension reasons listed in the 'Reason for Extension' dropdown in the 'New Extension' modal

Scenario 3: Second public body extension is taken for less than 30 days

GIVEN an IAO user has previously added a public body extension for less than 30 days
WHEN the user adds a second public body extension
THEN the maximum number of days the user can input in 'Extended Days' will be the difference between 30 and the number of days in the first public body extension (e.g. if the first public body extension was for 10 days the user can only input a maximum of 20 days for the second public body extension)
AND the user saves the extension
THEN the user will not see any public body extension reasons listed in the 'Reason for Extension' dropdown in the 'New Extension' modal

Dependencies? What is the impact of this dependency? (If so, link dependency in the ticket, make it visible in a team´s backlog)
Validation Rules? (If yes, list here)
Design
@xxx - please link the Design here
Definition of Ready

[ ] Is there a well articulated User Story?
[ ] Is there Acceptance Criteria that covers all scenarios (happy/sad paths)?
[ ] If there is a user interface, is there a design?
[ ] Does the user story need user research/validation?
[ ] Does this User Story needs stakeholder approval?
[ ] Design / Solution accepted by Product Owner
[ ] Is this user story small enough to be completed in a Sprint? Should it be split?
[ ] Are the dependencies known/ understood? (technical, business, regulatory/policy)
[ ] Has the story been estimated?

Definition of Done

[ ] Passes developer unit tests
[ ] Passes peer code review
[ ] If there's a user interface, passes UX assurance
[ ] Passes QA of Acceptance Criteria with verification in Dev and Test
[ ] Confirm Test cases built and succeeding
[ ] No regression test failures
[ ] Test coverage acceptable by Product Owner
[ ] Ticket ready to be merged to master or story branch
[ ] Developer to list Config changes/ Update documents and designs
[ ] Can be demoed in Sprint Review
[ ] Tagged as part of a Release
[ ] Feature flagged if required
[ ] Change Management activities done?

@m-prodan @mpilchar @lmullane user story drafted based on feedback received during the IAO branch meeting on Feb 2nd. Please review and make any edits you see fit!

Nice job on this one @arielleandrews - no changes proposed

Likewise.  Looks great.

@divyav-aot Scroll bar should be removed from modal, adding screenshot for reference. Moving back to in progress

@jadmsaadaot @divyav-aot let me know if this is something quick we can remove before EOD or not

Ready for QA making a UX Assurance Ticket regarding Scroll

QA completed, works great. Nice work as always @divyav-aot

woo! Ya @divyav-aot!!


Make the sandbox Python runtime completely transparent

What is the problem that this fixes or functionality that this introduces? Does it fix any open issues?
Right now,python points to /opendevin/miniforge3/bin/python, which is not suitable. Users should use a clean Python interpreter that is separate from the python used by the opendevin runtime.
Give a brief summary of what the PR does, explaining any non-trivial design decisions
We should make the OpenDevIn Python runtime completely transparent to users. Users should continue using whatever interpreter python points to, like /usr/bin/python, instead of /opendevin/miniforge3/bin/python.
Other references

@Shimada666 error in CI here:
https://github.com/OpenDevin/OpenDevin/actions/runs/9801641111/job/27065607085#step:7:523
FAILED tests/unit/test_sandbox.py::test_agnostic_sandbox_jupyter_agentskills_fileop_pwd - docker.errors.BuildError: The command '/bin/sh -c echo "" > /opendevin/bash.bashrcRUN { test -d /opendevin/miniforge3 && echo "/opendevin/miniforge3 already in base image"; } || {     wget "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh" &&     bash Miniforge3-$(uname)-$(uname -m).sh -b -p /opendevin/miniforge3 &&     bash -c ". /opendevin/miniforge3/etc/profile.d/conda.sh && conda config --set changeps1 False && conda config --append channels conda-forge" &&' returned a non-zero code: 2

Repeated run shows the same error, just fyi.

@tobitege
Thank you! I have noticed that test_ipython_module succeeded under codeactagent but failed under codeactsweagent. I don't have much expertise about codeactsweagent, so I am asking @xingyaoww  to help me solve this issue. It should be working fine now!

@xingyaoww @tobitege
Hi, I just fixed the errors in the agnostic image build script.. Could you help me rerun the CI tests? Thanks!

@xingyaoww @tobitege Hi, I just fixed the errors in the agnostic image build script.. Could you help me rerun the CI tests? Thanks!

It's rolling now 😂

@iFurySt  Yes. please merge this PR, thanks!


The "if you don't" on heirloom doesn't appear to be applied

I was in a game where I shared heirloom and they had a 2 in their safe and here is the sequence:

According to the card, they don't do the second transfer if they did the first step of the interaction.

This is a comment in the code:
 // "If you don't" happens whenever you either are unable to transfer a secret or you draw a
  // card of a different value than one higher of the transferred secret.
  if (self::getNumChosen() === 0 || $card['age'] != $valueToDraw) {

So, if you draw the card (which you always do) you do the second part of it as well?  Both of us were confused by this...I would say if they didn't do both parts of the first interaction (the "and" conditon), then the second part doesn't happen.

I think (generally) the "if you don't" needs to be more specific.  "If you don't do both" would be clearer.

That sounds like feedback for that form Chris and Carl set up

Marking as not a bug though.


update publish

update publish

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

Project coverage is 99.37%. Comparing base (49515db) to head (8907545).
Report is 3 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main       #5   +/-   ##
=======================================
  Coverage   99.37%   99.37%
=======================================
  Files           5        5
  Lines         322      322
=======================================
  Hits          320      320
  Misses          2        2

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


added recursive,iterative searching in linkedlist

Can you please re-review it, I have done the necessary changes....


Implement the 'package' level of modules

There's a risk that when we've implemented modules — that is, being able to import a file from another through the import statement — there's a whole part missing in order to be able to snap together the three modules in the conscious-risks ecosystem ([1] [2] [3]), and we all go "OK, now what". This issue is meant to look one corner ahead and address that.
There are three common meanings flying around for modules, all of which become relevant to 007 users at one point or other:

An object with a namespace in it. "That thing you import from the file." When we do import m from some.module, the variable m ends up being a subtype of Module.

A source file. "That file you import things from." Modules and files are basically identified, and so this is the "standard" meaning in some sense. The file contains export statements, and those are the names we can import somewhere else.

A package/project/repository that can be installed. Think CPAN/pypi/npm. CPAN calls this level "distribution". npm talks about a "package". I think pypi calls this a "release".

That last level is a bit hidden to people. It's more like "I just want to install this module". It's one of those things (kinda like with block scopes vs stack frames) where we might be doing best in upholding the illusion of simplicity for the user and going "yes indeed, you want a module — fine", even though they are something that contains modules, not modules themselves.
On the other hand, I really really really don't want to build another package installer. It's supposed to be extremely hard to get right, and there's very little in there that would benefit 007 the language-experiment-for-doing-structured-language-extension.
I want to walk a delicate balance between the simplest thing that could possibly work and aargh no please not another package manager.
Here's my proposal, taken for the particular example of the conscious-risks ecosystem.
Let's say I want to add the two dependencies ascii.header and boxify to my conscious-risks game. I'd issue these two commands:
$ 007-dep add https://github.com/claes-magnus/007-ascii-header-printer/ ascii.header
$ 007-dep add https://github.com/claes-magnus/007-boxify boxify

Both these commands leave zero output if all goes well, but they create or change a project.yaml file to look something like this:
---
provides: {}
depends-on:
  ascii.header:
    uri: https://github.com/claes-magnus/007-ascii-header-printer
    sha1: eac0a54739e56c22dc3bd48d3e16e0c53276197f
    path: lib/ascii/header.007
  boxify:
    uri: https://github.com/claes-magnus/007-boxify
    sha1: 8dfaf262a4fac9a9c3ec7587a8afc4b71376a28d
    path: lib/ascii/boxify.007

(That is correct YAML. I checked. I'm wary of adopting this format, but it's also quite clean, and we could mandate using only the subset we see above: nested dicts with strings. sYAML.)
Long story short, when we later run risks.007 and it contains, say, an import statement pulling in ascii.header, the 007 runtime will know not to look among the project's own modules, because there's a declaration in package.yaml saying which repository, which Git revision, and which file path to go to in order to find that module file.
Note first that we're thereby taking on a kind of dependency on Git. Not Github particularly, but on Git. (A project on GitLab, or even something hosted on someone's server, should work just fine.) I'm OK with that. The way to lock onto a SHA1 is my way of completely sidestepping versions and semver and whatnot. It's not super-elegant, but it's the kind of extreme simplicity I'm looking for.
Note second that going to fetch those dependencies should happen as we run the 007-dep add commands. We can't have it happen every time we run risks.007... so we cache the result in a hidden directory called .dep-cache. Like with node_modules, you're meant to git ignore this directory. As you're also supposed to commit and push your package.yaml file, when your colleagues (or whatever) download your repo, they have to 007-dep install all the third-party stuff. A suitable error message when .dep-cache doesn't exist or doesn't contain things declared in package.yaml will push people in the right direction if they accidentally try to compile something with a missing third-party dependency.
I think that's it. The two depended-on modules in the conscious-risks ecosystem would in time need to (a) move things into the lib/ directory and rename files correctly, and (b) get a project.yaml file of their own. But that's a fair price to pay, in my opinion. I can make the appropriate PRs for that after we have things well-tested on the 007 end of things.
The provides field would be used by the ascii.header and boxify packages to expose their respective modules. The last argument of 007-dep add could be omitted if there's only one module in that field. I think there should be a 007-dep init command to help create the package.yaml file — because, as usual, life is to short to hand-write YAML.
I'm almost a little pleased that this scheme avoids an npm-like central package authority. Instead we rely on Github for that, or rather, on URIs. There's no way to steal the name boxify for ever and ever.
There's supposed to be a 007-dep remove command, not described here. Presumably there could also be a 007-dep update command, for those brave enough to update to a dependency's latest commit.

While not true for the conscious-risks ecosystem, in general dependencies can have dependencies. Only the direct dependencies will end up under depends-on in package.yaml, but all of the transitive dependencies will end up in .dep-cache.
So, for a given project we're really looking at a dependency tree. No, wait, a dependency DAG; two projects somewhere in the DAG can very well depend on exactly the same URI-and-SHA1. (The .dep-cache directory should probably be SHA1s on the first level down, and then just copies of the inside of lib/ directories.)
From this, I think it's even fine for different parts of the dependency DAG to pull in the same project at different SHA1s. That should just transparently work.
What's not OK is cycles. Under reasonable assumptions, SHA1s make sure that things are "well-founded" and don't refer to each other cyclically forever. Maybe that's good enough. What I mean by "reasonable assumptions" is that someone might put in the work and compute a special pair of SHA1s of projects that could refer to each other. In that case, I almost feel they deserve whatever error message we put in for that scenario.
There's still the question of projects referring to each other cyclically when SHA1s are discounted. This, I think, we could detect — unfortunately not at 007-dep add time because at that point we don't know the URI of the current project. My feeling is that this will be very rare in practice, though, so I'm fine with not fretting about it so much. Again, in any case, the SHA1s are guaranteed not to be cyclical.

I guess there would be technical difficulties related to the following proposal, and I havn't thought about the details. So take it for what it is, a random thought. And please excuse me, if this would not be the place for that kind of activities.
One solution could perhaps be to make use of a separate repository, a library of a sort. If you don't plan to scale up your ambitions with 007 (an idea which I, as you might have gathered from mail conversations, would love, but I'm not, on the other hand, the one that would have to do actual work :)), it would be possible in practice? That would include the more narrow, partly (or wholly) wrongful view on what a module is. But in a sense, does it really matter what you call things. I am thinking in terms of a .h file. And also a .h file that would meaningful to share with others. This would mean that the header and the box module would be one kind of module (because other people perhaps would want to use them in their own projects), while the game also would be a module but not of another kind; to more precise, the kind of module that other people would use, but not re-use in their own projects. This would, I think, limit the amount of projects included this library-repository; perhaps this repository could be more anarchistic in that case, use a even more free license (a no rules license, beside the rule no rules-ish/MIT).
As a developer you naturally would want to make your own different modules locally, just as you intend. And you'd also want to make use of other peoples modules without being forced to clone their projects and extract the function you need. By use of a anarchistic 'public' library of this sort, the need for a package manager would disappear and you and other people in the 007-team could concentrate on other tasks.
Just a thought. :)

But in a sense, does it really matter what you call things.

Careless phrasing on your part, perhaps, but... yes, it matters? 😄

<romeo> A rose by any other name would smell just as sweet.
<bart> Not if you called it "stinkflower"!

I am thinking in terms of a .h file.

Modula-2 (one of the first languages to implement modules) also makes a split between "interface" and "implementation", the way .h files do. To me, the interface is declared implicitly, or at least very much inline, by the export statements in a module file.

And you'd also want to make use of other peoples modules without being forced to clone their projects and extract the function you need.

I think we're on the same page here. That's what I'm trying to do with my musings in this issue — allowing dependencies between projects/modules without (or "rather than") copy-paste.

By use of a anarchistic 'public' library of this sort, the need for a package manager would disappear and you and other people in the 007-team could concentrate on other tasks.

I'm reminded of the "monorepo" structure some projects have chosen. (Though that'd be a single repository, not two.)
I dunno. I think your proposal might solve some problems and cause others. Actually, there's nothing stopping anyone from creating a large repository of everyone's modules like that. But I think it loses a thing I didn't point out above: the project/repository as the boundary of updates/releases. I might expand on that at some point.
Also, while I don't have any illusions 007 will ever grow a sizable community, I have very mixed feelings about shutting such a community into a single repo and telling it to play there.
Please don't consider my answer final. :smile: I'm still mulling over these things.

About the word part. Yes, it totally agree with you. It WAS a very careless, clumsy formulation. Words matters. But in this case, I still think it's a point to this. Partly only partly a point, it only because I lack the accurate terminology I don't know what to call it. And I actually think that because of what you said the other day (that's why I wrote like that), 'module' is not the word I'm looking for, since also a game would a module. :)

I have very mixed feelings about shutting such a community into a single repo and telling it to play there.

I understand that. But I didn't mean this to be the only way, more of A way to handle the situation. No one would stop anyone from creating another lib-repository. I think it would be quite handy to collect all modules in one place, as long as one could choose what to actually include in her/his project.
But you know what, you've already convinced me this is a bad idea. Now I know what I think; I was a bit ambivalent and what way are better then 'testing' your thought on someone else. And you don't seem to mind spar-n-correct. ;)
--- THIS WILL BE DELETED ---
Btw. I'll hold a short talk on my (part of a) transpiler this week in Lund, it will be streamed to the other offices. :) Really nice, but scary as well. Sorry for being offtopic. I will erase this when you read it; just wanted to mention this, since I can't by mail.
--- THIS WILL BE DELETED ---

I am thinking in terms of a .h file.

By coincidence I ran into this criticism of C# compile speeds. Yes, part of the reason is that C# encourages putting too much in its .h files — not just interface details, but implementation, too. Thus things need to recompile too often.
Funnily enough, that section ends with the sentence "One suggested solution is to use a module system".

That « C# » probably doesn’t want to be here

Indeed. Fixed; thank you.

Coming back to this one, and thinking about ergonomics:

Let's say I want to add the two dependencies ascii.header and boxify to my conscious-risks game. I'd issue these two commands:

$ 007-dep add https://github.com/claes-magnus/007-ascii-header-printer/ ascii.header
$ 007-dep add https://github.com/claes-magnus/007-boxify boxify

I'm very tempted to go with @claes-magnus's idea of having a library repository, except (a) not as a thing separate from 007/Alma itself, and (b) only listing _names_ of third-party dependencies, linking them to URLs.

That is, in the case of the above invocation, I'd be able to get away with

```sh
$ 007-dep add ascii.header
$ 007-dep add boxify

which is of course a lot nicer.
An extra level of nicety would be for users to be able to easily have additional (third-party) lists, somehow. But that doesn't have to be in a minimum viable implementation.

I want to add this discursive post about building package managers to this issue. I've skimmed it; need to go back and read it more carefully (and then maybe write a thoughtful summary here). I found it in one of rsc's articles about Go package management.

There's also this blog post praising the tip-of-the-iceberg utter simplicity of go run main.go. I want to take something away from that which can be easily summarized. Maybe it's simply that, if you do your build system right, including package management and reproducible builds (as Go does), then the equivalent of go run main.go is the sweet, sweet payoff for you and all of your users.

I was re-reading this ticket and "Reason for Modules" recently, as I added exports/imports/modules to a toy Lisp I have on the side. Since I did the simplest thing that could possibly work, I didn't even try to consider how I'd build a package manager.
I think for the most part, you can start (and stay) with an existing option. PureScript used to use bower, and now uses npm, both of which were targeted for the JS ecosystem.

I think for the most part, you can start (and stay) with an existing option. PureScript used to use bower, and now uses npm, both of which were targeted for the JS ecosystem.

That is a good point. Using something existing is good not just because of the decreased workload, but it also creates an affinity with something already existing.
After recently seeing Herb Sutter praise backwards compatibility to the skies, it has been on my mind that taking "uncompromising interop" (with something, C or Java or JavaScript or Raku) is a really good idea, or at least something to seriously consider. It the kind of design thing that has to be done from day 1, and can't be bolted on later. But Alma's design was never that beholden to anyone or anything, and it's never too late to have a better day 1 if we want.

This post with an overview of Python environment management and packaging tools, makes me think. I guess the question for now is "how many of those five circles ought one design in from the start?".
For now, I have no simple answer. Need to think.

In this discursive post defending Rust productivity, I found a compelling argument for Rust's smaller "module" level and bigger "crate" level:

Rust is one of the few languages which has first-class concept of libraries. Rust code is organized on two levels:

as a tree of inter-dependent modules inside a crate
and as a directed acyclic graph of crates

Cyclic dependencies are allowed between the modules, but not between the crates. Crates are units of reuse and privacy: only crate's public API matters, and it is crystal clear what crate's public API is. Moreover, crates are anonymous, so you don’t get name conflicts and dependency hell when mixing several versions of the same crate in a single crate graph.
This makes it very easy to make two pieces of code not depend on each other (non-dependencies are the essence of modularity): just put them in separate crates. During code review, only changes to Cargo.tomls need to be monitored carefully.


starting to write test for Page->toArray()

@jgrossi I think something goes wrong when I call toArray on my $page result. I started unit testing this, and right away the same error messages started again:
There was 1 error:

1) TaxonomyTest::testPageToArray
Undefined property: Page::$thumbnail

I could be wrong, but I think your test should probably go in the PostTest.php file and you should probably just use the Post class instead of Page.

Hi @manogi! Thanks for the PR. Something is wrong, because the tests didn't pass https://travis-ci.org/jgrossi/corcel/builds/131671609.

Hey @jgrossi,
That's the point of this PR. He's submitting a failing test that illustrates a bug in Corcel.
Hope that helps explain what's going on. Let me know if there's anything I can do to help resolve the issue since I'm having the same problem on my end.

@jgrossi yep, what is not passing travis ci is exactly the test I wrote that's failing.

Hum ok! ;-) @rundef told in #151 that Laravel has changed how to get relations. Now the right way is $post->thumbnail() and not $post->thumbnail how Corcel does. Is this correct @rundef?

I wrote a new Test in  PostTest.php:
 public function testPostIsArrayable()
    {
        $post = Post::find(1)->toArray();
        $this->assertTrue(is_array($post));
    }
```
which returns the same error. @jgrossi I think you need to take over from here and rewrite src/Post.php, as I don't have the insight what needs to be changed and where.

@jgrossi actually no, laravel hasn't changed how to get relation ; I think the quick and easy fix would be to reference all the relations such as $model->relation().  But I think the main issue is that something is broken in our Post's __isset and/or __get method.
I'd like to help more, but I can't right now.


(maint) Add API doc for Managed Packages endpoints from PDB EXT

Test PASSed

CLA signed by all contributors.


Collections-818: convert to characteristics flag

converted BloomFilter.isSparse() to BloomFilter.characteristics() and defiend SPARSE constant.
fixes Collections-818

Codecov Report

Merging #329 (853ae39) into master (df09117) will decrease coverage by 0.05%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##             master     #329      +/-   ##
============================================
- Coverage     86.01%   85.96%   -0.06%
+ Complexity     4675     4673       -2
============================================
  Files           288      288
  Lines         13473    13473
  Branches       1980     1980
============================================
- Hits          11589    11582       -7
- Misses         1323     1327       +4
- Partials        561      564       +3

Impacted Files
Coverage Δ

...ections4/bloomfilter/ArrayCountingBloomFilter.java
100.00% <100.00%> (ø)

.../commons/collections4/bloomfilter/BloomFilter.java
100.00% <100.00%> (ø)

...ns/collections4/bloomfilter/SimpleBloomFilter.java
94.25% <100.00%> (ø)

...ns/collections4/bloomfilter/SparseBloomFilter.java
96.66% <100.00%> (ø)

...commons/collections4/map/AbstractReferenceMap.java
88.88% <0.00%> (-2.60%)
:arrow_down:

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more


How to support ES 7.5

I'm pretty new to ES. How can I modify this plugin to make it work on ES 7.5? Thanks!

Hi Tony.
I created branch es-7.5.0 for ES 7.5.0
try it out.
git checkout es-7.5.0
mvn clean install

BTW - ES 7.2 and above has adopted the vector type & allow queries using cosine similarity.
check it out:
https://www.elastic.co/blog/text-similarity-search-with-vectors-in-elasticsearch
And if you feel so - compare it's performance to this plugin.
Thanks,
Lior

Great! Thanks. Will definitely do some comparison.


fix texlive packages for pdf generation from quarto

currently you will have to keep installing them

[ ] Add the basic packages AND/OR
[ ] Figure out how to make a user directory of packages

https://github.com/rstudio/tinytex/blob/main/R/install.R#L12

or just add more texlive , e.g. texlive-recommended or texlive-recommmended-extras?

Added
texlive-recommended
texlive-recommmended-extras
to apt-extras.txt

Fixed with #68 #66 #62 Do not install package with apt-get. use tlmgr


pilot_conflict_outbound_listener_tcp_over_current_tcp when start bookinfo example in Consul

Bug description
I totally follow the https://istio.io/docs/setup/consul/quick-start/ guide, and then start bookinfo. But the pilot reports
{
    "ProxyStatus": {
        "pilot_conflict_outbound_listener_tcp_over_current_tcp": {
            "<IP_ADDRESS>:9080": {
                "proxy": "<IP_ADDRESS>.service.consul",
                "message": "Listener=<IP_ADDRESS>:9080 AcceptedTCP=productpage.service.consul RejectedTCP=reviews.service.consul TCPServices=1"
            }
        }
    },
    "Start": "2019-06-12T03:28:50.664700442Z",
    "End": "2019-06-12T03:28:50.737007662Z"
}

And accessing ratings, details, reviews will all be redirected to productpage.
Affected product area (please put an X in all that apply)
[ ] Configuration Infrastructure
[ ] Docs
[X] Installation
[X] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
Expected behavior
Bookinfos can be ran under consul
Steps to reproduce the bug
Follow the guide https://istio.io/docs/setup/consul/quick-start/ to start consul.
Follow the guide https://istio.io/docs/examples/bookinfo/ to start bookinfo example.
Visit productpage, you will see error.
docker exec -ti any_of_the_proxy bash
# curl details:9080
# curl ratings:9080
# curl reviews:9080

You will see all the other services will be redirected to one-specific service, like details.
And perhaps, pilot will report
2019-06-12T03:28:50.736985Z	info	ads	LDS: PUSH for node:<IP_ADDRESS>.service.consul addr:"<IP_ADDRESS>:44082" listeners:9 7590
2019-06-12T03:28:50.737131Z	info	ads	Push finished: 72.424863ms {
    "ProxyStatus": {
        "pilot_conflict_outbound_listener_tcp_over_current_tcp": {
            "<IP_ADDRESS>:9080": {
                "proxy": "<IP_ADDRESS>.service.consul",
                "message": "Listener=<IP_ADDRESS>:9080 AcceptedTCP=productpage.service.consul RejectedTCP=reviews.service.consul TCPServices=1"
            }
        }
    },
    "Start": "2019-06-12T03:28:50.664700442Z",
    "End": "2019-06-12T03:28:50.737007662Z"
}

If no such error, just restart pilot.
Version (include the output of istioctl version --remote and kubectl version)
version.BuildInfo{Version:"1.1.5", GitRevision:"9b6d31b74d1c0cc9358cc82d395b53f71393326b", User:"root", Host:"3e29fde4-6c3f-11e9-b00d-0a580a2c0205", GolangVersion:"go1.10.4", DockerHub:"docker.io/istio", BuildStatus:"Clean", GitTag:"1.1.4-10-g9b6d31b"}
1.1.7
How was Istio installed?
Consul
Environment where bug was observed (cloud vendor, OS, etc)
CentOS
Additionally, please consider attaching a cluster state archive by attaching
the dump file to this issue.

@hzxuzhonghu

So Istio 1.1 cannot start on Consul?

https://discuss.istio.io/t/quickstart-bookinfo-app-consul-docker-is-redirecting-outbound-to-only-one-microservice/2208

https://discuss.istio.io/t/quickstart-bookinfo-app-consul-docker-is-redirecting-outbound-to-only-one-microservice/2208
I think it is fixed. But 1.1.7 not upgraded to the fixed one


Current version shows wrong mower icon

Even though alfred ist selected, ardumower icon is shown on the map in the merged version.
EDIT: I have to correct. Not ardumower is shown but default.

How does your /usr/appcfg.json look like?

That did not change after the update:
{
    "datamaxage": 10,
    "time_to_offline": 60,
    "voltage_to_soc": [
        {
            "V": 25.5,
            "SoC": 0
        },
        {
            "V": 29,
            "SoC": 100
        }
    ],
    "current_thd_charge": -0.03,
    "rover_picture": "alfred/",
    "obstacles_amount": 0,
    "light_mode": true,
    "rover_picture_size": 100
}

I made another instance for testing with cassandra_native and there it looks the same.

No error in the log. BUT after the third reboot (of the rover, not Cassandra) the correct symbol is back).


Add my site

I added my site. Thanks to all the devs that make this.

Oh hey my PR is number 404. I guess that means it’s not found


Enable clang-format for JavaScript & TypeScript?

clang-format does an IMHO pretty nice job on formatting JavaScript and TypeScript. Unlike the TS built in formatter, it doesn't just format, but actually reflow the code.
What do you think of adding an option to use clang-format for JS & TS, too?

I have a fix for this, blocked on #13

Fixed in #15


Fix travis build for jdk 10 but tests on jdk10 failed

Hmm. Strange error at travis. Anyway go test with openjdk. Also need add jdk 11 too.
Thanks.


3D Flip (Vertically and Horizontally)

Description
Flip sprites with a 3D rotation effect.
Note that the X origin point must be at the center for the best results.
Added vertical flipping to allow flipping in either, or both directions!
How to use the extension
Add the behavior to the sprite.
When adding the 'Flip' or 'Flip to side' actions, you can select to do Horizontally, Vertically or both.
Checklist

[X] I've followed all of the best practices.
[X] I confirm that this extension can be integrated to this GitHub repository, distributed and MIT licensed.
[X] I am aware that the extension may be updated by anyone, and do not need my explicit consent to do so.

What tier of review do you aim for your extension?
Community (Unreviewed)
Example file
ThreeDFlip.zip
Extension file
ThreeDFlipNew.zip

@nallovint First off, thanks for your willingness to contribute to GDevelop! We will do our best to guide you along the process.
I started looking at this and frankly, I got carried away trying to update a lot of things like:

Replaced custom toggle logic with built-in property toggle action
Replaced deprecated conditions and actions
Used the shorter method to reference properties and parameters (but I had to rename some properties, such as "Width" to "StartingWidth" to avoid conflicts)

The changes in this submission would be considered "breaking", which means if someone updated this extension in their existing game they would have to update their events.  This is not a huge problem, but we try to avoid it.  If we want to implement the breaking changes, we always increase a major version number when we do it (1.x.x becomes 2.0.0) to let the user know. (This is called Semantic Versioning)
I have two ideas on how to move forward:

Keep a single behavior with parameters to choose which axis (or both) to flip on

This would have breaking changes, especially if we want to name things better

Create a new behavior for vertical flipping

Start fresh from the published extension and don't change anything to the behavior for horizontal flipping ("ThreeDFlip")
Create a new behavior called "ThreeDFlipVertical" (we can start by copying the horizontal behavior)
This would have no breaking changes

Any thoughts, @D8H or @VegeTato?
FYI - I closed your other issues so we would not get confused on which one to work with.

Keep a single behavior with parameters to choose which axis (or both) to flip on
Create a new behavior for vertical flipping

I would vote for "3", 2 actions: 1 to flip vertically and 1 to flip horizontally.


Add autocorrelation function

Hey Alec,
Very elegant code that's working very well! Given that the computation of pairs and the bookkeeping etc is already there, it would be nice to also add the computation of the autocorrelation function?
Kindly,
Erik

Hey @ErikOsinga!
Thanks for the suggestion! I'm curious how the autocorrelation is defined in the structure function / source pair context. What would be the functional form of the ACF in this case?
Also, if you already have it implemented somewhere I'm always happy to receive pull requests ;)


Quarkus native build corrupt

Generally Helm chart works only until Quarkus version 2.13.2. A normal docker image build with jib and helm charts works. The docker image is uploaded to registry. But when I start a native build (-Pnative) then can helm upload the chart's archive but jib can't upload the docker image. I get a HTTP 403 exception.
2.13.2_helm.txt
2.13.2_native_helm.txt

Hi @csscriptplus , I could not reproduce this issue either using Quarkus 2.13.2 or a newer version.
Yet looking at the logs you provided, this seems to be an issue with the Quarkus Container Image Jib extension, not Quarkus Helm. Please, report it at https://github.com/quarkusio/quarkus/issues and perhaps provide a reproducer too.


Supporting functions for exporting pdfs

@thematthopkins When the build passes, mind coordinating with @zkrzyzanowski to release with #54?


Can't use an npm module (webpack 5)

I guess webpack 5 will not allow me to just npm install some package if it requires some node api's. I understand the intent is to reduce bundle size, but I think that's achieved very well by the vscode extension Import Cost
If an import is sufficiently large, Import Cost will give you a nice red "68.1k gzipped"
Perhaps webpack could print out an "Import Cost Report" on the command line. Or even write some bundle-analyzer report to a file that's in the repo, so developers can see in PR's that there's a new package added to the package.json, and the bundle-size report shows it costs 50k. This more generally tackles the problem of bundle sizes.

I guess webpack 5 will not allow me to just npm install some package if it requires some node api's.

It's doesn't allow it out of the box, but you can install and add the required polyfills to support that. Please read the error messages, they tell you what you need to do.

I understand the intent is to reduce bundle size

That's not the only reason. Not even the biggest one.
We want to align with what browsers do and what's spec'ed on the web platform. Node.js API is not part of any browser, and it shouldn't be that way. I think the frontend ecosystem incorrectly accepted this dependency from the frontend ecosystem to the Node.js ecosystem and we should move away from that.
These node.js API are not listed within the dependencies of a package, so there is no semantic versioning with them. A package that works now might break in a few years when Node.js APIs have changed and we ship different polyfills.
It's just wrong that frontend packages use Node.js APIs. These packages should have at least listed these Node.js APIs as dependencies and use the browser field to apply them for in browser usage.

Or even write some bundle-analyzer report to a file that's in the repo, so developers can see in PR's that there's a new package added to the package.json, and the bundle-size report shows it costs 50k.

You can use webpack --analyse

Feel free to feedback


Fixing Client Certificate Based Authentication for Certificates without OCSP OID id-ad-ocsp

Issue:
Certificate base authentication was failing on Tomcat 9. The connection used to get reset(RST) without any prior or post warnings. After some initial debugging using Wireshark, I came to know that the initial handshake was successful, yet the connection was ended abruptly by the tomcat server. So I had to look into the Tomcat native wrapper(1.2.19)(http://tomcat.apache.org/native-doc/) over OpenSSL to debug the issue further.
RCA:

After a lot of debugging I came to know that the origin of the failure was not the Client Certificate Authentication part. Though client authentication was successful every time, some other module was changing the error code from 0 to 50(source: tomcat-native-1.2.19-src/native/src/sslutils.c, functions: handshake and SSL_callback_SSL_verify)
On referring the error code from here, I came to know OCSP verification part was causing the application failure(Error code X509_V_ERR_APPLICATION_VERIFICATION). OCSP reference: https://en.wikipedia.org/wiki/Online_Certificate_Status_Protocol
On debugging further, I found that client certificate was missing the OCSP URI info from one of the extensions(Authority Information Access OR NID_info_access). Refer following URL for more info on extensions(https://www.openssl.org/docs/man1.1.0/crypto/X509_get_ext_d2i.html)
From these RFCs(https://tools.ietf.org/html/rfc5280 and https://tools.ietf.org/html/rfc2560) I confirmed that the OCSP URI Info(OID id-ad-ocsp) may or may not be included in the certificate by the issuer.
This causes the OCSP verification to fail, causing the connection reset(source: tomcat-native-1.2.19-src/native/src/sslutils.c, function: ssl_ocsp_request). I could confirm from the code that OCSP verification was done, even though ocsp_urls were empty(a null check was present)
On searching for the source online, I found the code annotations for sslutils.c
With help of that I could locate the exact changeset which caused the trouble.
On inspecting the Tomcat Native code further(source: tomcat-native-1.2.19-src/native/src/sslutils.c, functions: ssl_ocsp_request, decode_OCSP_url and parse_ASN1_Sequence) I was able to pin point the root cause.
The decode_OCSP_url function returns a null value if parse_ASN1_Sequence returns a non-zero value(failure case). But even when OCSP oid is missing from the certificate extension, parse_ASN1_Sequence returns a zero(success case), making decode_OCSP_url to return a non null value, which in turn makes ssl_ocsp_request validate an empty OCSP URL.

Fix:
In the Tomcat Native code(source: tomcat-native-1.2.19-src/native/src/sslutils.c, functions: ssl_ocsp_request, decode_OCSP_url and parse_ASN1_Sequence), parse_ASN1_Sequence also modifies the number of OCSP URLs found. We can add additional check in decode_OCSP_url that if numofresponses ==0, then also return NULL. This will make ssl_ocsp_request skip the unnecessary OCSP verification, when OSCP URL info is missing from the client certificate.
Testing:

Apply the fix, recompile the tc native source using make and make install
Replace the recompiled libs (OpenSSL and APR)
Restart Tomcat, make sure startup is without any warnings and errors
Make sure connection over the connector configured for Client Certificate Authentication is not resetting anymore

@jfclere can you please review this change?

Looks good I will merge in svn and close this week-end.

Re-opening after auto-close due to repo changes made during migration from svn to git.
If you are able to rebase this PR against master rather than trunk that would be helpful. If not, we'll take care of that when we review the PR.

Thanks for the analysis and the fix. The fix has been applied an will be included in 1.2.22 onwards.


Run the on enter schedule for states in startup instead of in StateTransitions

Objective

Currently the OnEnter Schedule for default states (the states that an app is in from the beginning) run in StateTransitions. This has the unexpected effect, that systems running in earlier sets (e.g. PreUpdate) already are in the state, but the on enter systems have not run yet.
resolves #7633

Solution

Run the OnEnter schedule for default states as start-up systems

Alternatively, one could move the StateTransitions to before PreUpdate. Is there a reason it runs later? I would like to have a set for plugins to insert systems that should run before user logic, but do not have frame lag concerning state changes.

Alternatively, one could move the StateTransitions to before PreUpdate. Is there a reason it runs later? I would like to have a set for plugins to insert systems that should run before user logic, but do not have frame lag concerning state changes.

Generally the idea here was to allow users to do things like "read input and then apply a state transition" without getting any delay. Can you put your systems in ApplyStateTransitions before apply_state_transition? Or do they also want to run before PreUpdate?

Not sure this is the right fix as now the OnEnter systems that run in Startup may behave differently than the ones in StateTransistions. Since there is a different system ordering to them. i.e. Startup runs before First and PreUpdate and StateTransitions runs after.

Yes, I am also not completely happy with this. But my expectation would be: if the state resource says that I am in state "X", then the on enter systems for state "X" should have run already. That is currently not the case for early sets in the first frame and I don't see a different solution than moving the on enter systems to startup.

I'll fix the build tomorrow. It's past midnight here 😴

I'll fix the build tomorrow. It's past midnight here 😴

Not sure this is the right fix as now the OnEnter systems that run in Startup may behave differently than the ones in StateTransistions. Since there is a different system ordering to them. i.e. Startup runs before First and PreUpdate and StateTransitions runs after.

Yeah I'm unsure about this fix 🤔 It leads to some subtle failure cases, and the workarounds aren't bad.

If you are writing a plugin that needs to add systems to run before user systems, why not just put them in a separate set and explicitly specify how you want to order them relative to state transitions?
PreUpdate is not the only place where you can put stuff to run before user systems.
With stageless, we no longer have stages. :) You are no longer limited by that design. Before, if you were to create a new stage, that could be considered invasive and bad for performance. Now you can just add systems and order them however you like.

Ultimately I think this is not quite the right fix. I vote we close this for now, and see how the ecosystem handles things. Manually adding copies of appy_state_transition<T> in startup systems is quite easy, and a good fit for some plugins.


Unable to Verify Proof In Contract

Hello All.
I'm trying to verify the merkle proof using this library
my data is https://pastebin.com/hPcyYd1s which  is referred as account_amount_arr
the javascript code to make tree and generate proof is:
const tree = StandardMerkleTree.of(account_amount_arr, ['address', 'uint256'],{sortLeaves: true})
const proof = tree.getProof(curr_acc_leaf)
const leaf = tree.leafHash(curr_acc_leaf)
console.log(tree.root,proof,leaf)

and the verification code on the solidity contract is
function verifyProof(bytes32[] memory proof, uint256 amount, address recipient) public view returns (bool,bytes32,bytes32,address) {

bytes32 leaf = keccak256(bytes.concat(keccak256(abi.encode(recipient, amount))));
bool result = MerkleProof.verify(proof, leaf, root);
return (result,leaf,root,recipient);
}

for the above data, the leaf i'm trying to verify is
[
    "0x0000000000000000000000000000000000033c1e",
    "15000000"
]

the proof and leaf as calculated in javascript is
Proof: [
    "0xb8f82586bc3f8754bbcfe269119e0bfe461f3add6cbb3e19c63adb655810d696",
    "0xf85724ab300cb27f13509d915ca4d03a2a387c40cb7f8fc235b40a1cca6bed88",
    "0x453c93bfcf3cd7cb8b3ceb95e4561402f458b172a8f2bc6d4fb1c208345bc985",
    "0x28f4fa2b9f003d212caaf9eed0dcc198894b6450f3b8916d296aea1a679677a7",
    "0x9fe2a86e347618c673ff7ae594300819e17fe3c6683788604e0acb540f4dd157",
    "0xf137037b5e1207b4430b9bce380ceadf060acfeb6f7ac20e430fc90e87c886f2",
    "0x89fae1b49cffade006809b3b7c22e0a847a1a4c7991217028ff28f612a0a7e59",
    "0x9032fa8cdd78de83e241e7c7dc5d7048d5231d6e04a013564050619128566311"
]
Root: 0x77116c80025c412deb61afb8dac970c37058fc2cad215475483dab728be094a6
Leaf: 0xb8a848ac37969d31aa8861bb476b80b8efc8af67f9110953b26ae998cd7a2c31

and the result of solidity contract is
0:
bool: false
1:
bytes32: 0xb8a848ac37969d31aa8861bb476b80b8efc8af67f9110953b26ae998cd7a2c31
2:
bytes32: 0x77116c80025c412deb61afb8dac970c37058fc2cad215475483dab728be094a6
3:
address: 0x0000000000000000000000000000000000033c1E

why is this returning false? even though all the values are coming the same everywhere? sorting or not sorting the leaves makes no difference

Ignore The Issue
i was testing on remix vm. when i deployed my contract to the network everything works perfectly


does the centerpoint use the Class-balanced Grouping and Sampling?

thanks!

yes

Hi, @tianweiy
Have you tried training CenterPoint without class-balanced grouping and sampling? CBGS enlarges the size of training set from 28k to 123k (also extends training time). I wonder its contribution to the final result. Thanks!

Hi, @tianweiy
Thank you for your contribution. I wanted to ask in which part of the code the class-balanced grouping and sampling is applied? I am unable to find it.
Thank you very much!


Rudders are severely delayed/don't work

I searched before in the bug reports for this issue, and I did find it, however, it wasn't exactly in as much detail as I've found.
The issue where Rudders don't seem to work with larger ships is already known, however, I've found somen ew information about it.
When reading the bug report, it was said that rudders work with smaller ships, so I built a very small ship, very basic, complete with speed control, lift lever, the steering wheel, and of course all the parts necessary for an air ship when you're not using the captains chair. Upon starting it up, everything worked except for the steering. So I decided to just fly straight for a while, and experiment more with the ship and what was possible. After about a minute or so of flight, the ship had suddenly begun steering in the direction I attempted to prior, and was holding that steering angle for an excessively long amount of time. Based on this observation, it appears that rather than the rudders failing to work, they indeed are working, but something in the code that makes the ship rotate slower or react slower with higher mass seems to be broken, resulting in severely delayed turning with rudders. This would explain why it seems that larger airships refuse to work with the rudder at all- the mass is too large and causes the ship to react so slowly that you'd likely need to sit for several minutes- or even hours- for the ship to respond. Hopefully this helps with this admittedly serious issue. Perhaps a temporary patch would be to add a config option to enable/disable how the mass affects steering your airship?
Also, amazing work with this mod. I remember in my earlier days of playing MC, a friend showed me a server that added airships, but they were just chunks of blocks being moved, and turning was exclusively 90 degree angles as a result. This gives the same magic that the plugin gave, but so much better. Hopefully one day this mod can become near perfect.
PS. I'm so using this to cheese late game RLCraft.

Having this exact same issue. Waiting doesn't seem to help for me. I've been steering the same small vessel for 10 minutes and it hasn't turned at all. Was there a point at which this bug didn't occur? If so, it seems weird to introduce such a fundamental bug in a public release.

Something to add to this: I just built a test ship, and for some odd reason, the ship responds to steering left perfectly fine, however, when the wheel is neutral, the ship will sometimes steer left, sometimes go straight, and when trying to steer right, it only goes straight. Very aggravating at this point... you release a patch to fix some random compatibility issues as well as some cosmetic fixes, but don't patch this issue that makes normal airships entirely unusable without an addon mod. I'd rather not have to use the captains chair as that results in a very cheaty experience when flying, and excessive sensitivity with flight.. Please put this higher up on the priority list.

Something to add to this: I just built a test ship, and for some odd reason, the ship responds to steering left perfectly fine, however, when the wheel is neutral, the ship will sometimes steer left, sometimes go straight, and when trying to steer right, it only goes straight. Very aggravating at this point... you release a patch to fix some random compatibility issues as well as some cosmetic fixes, but don't patch this issue that makes normal airships entirely unusable without an addon mod. I'd rather not have to use the captains chair as that results in a very cheaty experience when flying, and excessive sensitivity with flight.. Please put this higher up on the priority list.

What Is there an addon mod that fixes this, or are you just giving an example?

Something to add to this: I just built a test ship, and for some odd reason, the ship responds to steering left perfectly fine, however, when the wheel is neutral, the ship will sometimes steer left, sometimes go straight, and when trying to steer right, it only goes straight. Very aggravating at this point... you release a patch to fix some random compatibility issues as well as some cosmetic fixes, but don't patch this issue that makes normal airships entirely unusable without an addon mod. I'd rather not have to use the captains chair as that results in a very cheaty experience when flying, and excessive sensitivity with flight.. Please put this higher up on the priority list.

What Is there an addon mod that fixes this, or are you just giving an example?

Something to add to this: I just built a test ship, and for some odd reason, the ship responds to steering left perfectly fine, however, when the wheel is neutral, the ship will sometimes steer left, sometimes go straight, and when trying to steer right, it only goes straight. Very aggravating at this point... you release a patch to fix some random compatibility issues as well as some cosmetic fixes, but don't patch this issue that makes normal airships entirely unusable without an addon mod. I'd rather not have to use the captains chair as that results in a very cheaty experience when flying, and excessive sensitivity with flight.. Please put this higher up on the priority list.

What Is there an addon mod that fixes this, or are you just giving an example?

Giving an example.

Something to add to this: I just built a test ship, and for some odd reason, the ship responds to steering left perfectly fine, however, when the wheel is neutral, the ship will sometimes steer left, sometimes go straight, and when trying to steer right, it only goes straight. Very aggravating at this point... you release a patch to fix some random compatibility issues as well as some cosmetic fixes, but don't patch this issue that makes normal airships entirely unusable without an addon mod. I'd rather not have to use the captains chair as that results in a very cheaty experience when flying, and excessive sensitivity with flight.. Please put this higher up on the priority list.

What Is there an addon mod that fixes this, or are you just giving an example?

Giving an example.

Yeah same very buggy experience with the rudder inside a very simple ship (sometimes it works but only for one direction, sometimes it does not work at all despite rotating and a moving ship). Is it actually possible to build a ship that works? I never managed to do it.

While it may be delayed, it is absolutely terrible for me, to the point that it doesn't even seem to work for small ships. I just downloaded the mod and  I have a small airship (platform 3x5) with the absolute bare essentials, and four of the largest sizes Rudders, and while they turn in animation, they do not turn the ship. At slow, half, or full speeds. It will start to for a moment, then it just will not any more, despite continuing to turn the wheel.
Also, twice now, randomly, while putting along (straight) ill suddenly climb to heights unattainable by Minecraft (Over 500 at one point) and shaking violently. This lasts for 30 seconds or so, before I plummet down and the ship catches itself at its altitude. I'm not sure if its related, but it felt like it came out of nowhere, maybe do to the delay issue with the turning?

Alright, this has reached a point where the developers very clearly have no care in their mod outright not working. I'm done.

LoL this guy is pissed. If there's any devs that are actively working on this mod and read this thread, thankyou for all the hard work you do and time you put into this mod. The scale and scope of this mod is massive, I hope development on this continues.

LoL this guy is pissed. If there's any devs that are actively working on this mod and read this thread, thankyou for all the hard work you do and time you put into this mod. The scale and scope of this mod is massive, I hope development on this continues.

Correct, I am pissed, this has been an issue for over half a year (likely longer based on other issues) and the devs focus instead on random compatibility issues instead of an issue that literally makes the mod unusable.

yikes. don't act like you have some sort of support contract with us. the mod is volunteer work entirely nobody's working here full time. and we will not be fixing issues with this control system, but it's open source and licensed under apache 2, so you are free to fix it yourself if you know how to program.
here is the link if you are interested: https://github.com/ValkyrienSkies/Valkyrien-Skies-Control
if you have a problem with setting up the development workspace you can ping me in the discord with @Rubydesic.

doesnt even apply anymore since vs control won't exist in vs 2


Send email to the submitter for every update

I wish to send emails to the submitter for every ticket update, but this is not happening. The queue email CC receive them all, but the submitter does not.
For example, the submitter receives the opening ticket email and the closing one, but does not receive an e-mail when someone takes the ticket.
This is my config:
HELPDESK_DEFAULT_SETTINGS = {
'use_email_as_submitter': True,
'email_on_ticket_assign': True,
'email_on_ticket_change': True,
'login_view_ticketlist': True,
'email_on_ticket_apichange': True,
'preset_replies': True,
'tickets_per_page': 25
}
HELPDESK_PUBLIC_ENABLED = False
HELPDESK_VIEW_A_TICKET_PUBLIC = False
HELPDESK_SUBMIT_A_TICKET_PUBLIC = True
HELPDESK_AUTO_SUBSCRIBE_ON_TICKET_RESPONSE = True
HELPDESK_EMAIL_FALLBACK_LOCALE = "pt-br"
HELPDESK_KB_ENABLED = False
HELPDESK_PUBLIC_TICKET_DUE_DATE  = None
HELPDESK_STAFF_ONLY_TICKET_OWNERS = True
HELPDESK_SHOW_CHANGE_PASSWORD = False
HELPDESK_UPDATE_PUBLIC_DEFAULT = True
HELPDESK_CREATE_TICKET_HIDE_ASSIGNED_TO = True
HELPDESK_ENABLE_PER_QUEUE_STAFF_PERMISSION = True
HELPDESK_REDIRECT_TO_LOGIN_BY_DEFAULT = True
Am I missing something or is this the correct behavior of the app?

Messages such as reassigning a ticket to a new user I do not believe are reported to the submitter, those are "internal" messages for staff only. I'm not sure if there is a setting to send all messages to the submitter. You can check the docs (check out the docs/ directory) and follow instructions there but if it doesn't say anything it probably hasn't been implemented yet. A few features are sort of waiting on a user permissions management overhaul so this might not be easily doable at the moment until next major release. Thanks!


Sparkfun road runner

Before issuing a pull request, please see the contributing page.

This is to upgrade to RoadRunner 1.0

looks good


Build operator images for x86-64 and ARM64

The index image is amd64-only.
Signed-off-by: Stephen Kitt<EMAIL_ADDRESS>

bin/lichen -c .lichen.yaml bin/subctl bin/linux/amd64/submariner-operator
2022/05/03 16:39:09 failed to evaluate licenses: unrecognised line:
make: *** [Makefile:155: licensecheck] Error 1
[16:39:09.946] [submariner-operator]$ make --debug=b licensecheck

bin/lichen -c .lichen.yaml bin/subctl bin/linux/amd64/submariner-operator
2022/05/03 16:39:09 failed to evaluate licenses: unrecognised line:
make: *** [Makefile:155: licensecheck] Error 1
[16:39:09.946] [submariner-operator]$ make --debug=b licensecheck

lichen had a few issues with binaries compiled with Go 1.18, fixed over the last couple of months (including https://github.com/uw-labs/lichen/pull/21 by yours truly). Once go build picks the latest release, all these errors will be resolved.

This is timing out while still running the E2E, I think without any failure. Note that this is different than the timeouts in the post-mortem of failing E2E that should be handled by failing fast.

This is timing out while still running the E2E, I think without any failure. Note that this is different than the timeouts in the post-mortem of failing E2E that should be handled by failing fast.

Perhaps building the additional images adds enough time to exceed the 30 min total for E2E?

This is timing out while still running the E2E, I think without any failure. Note that this is different than the timeouts in the post-mortem of failing E2E that should be handled by failing fast.

Perhaps building the additional images adds enough time to exceed the 30 min total for E2E?

E2E shouldn’t build the additional images, and I don’t see the doing so (in fact, I forgot to add a GHA to build the multiarch images...). Some of the logs suggest that the builds were insanely slow — it took four minutes to build subctl...

The UPX logs in the multi-arch job show that this is building amd64 and arm64 binaries and images.

We can go ahead and merge this?


Check for Dovetail changes using mediaVersions

The Feeder API has a mediaVersions key. See if we can store this to detect when segments or episodes need to be reimported.
slackthread: https://prx.slack.com/archives/G0FKLK2Q5/p1712688845600409
https://cav.is/i/Y7yrr7.png

Closing WONTFIX.


Provide example of user-defined class as RPC return type. (C#)

I am trying to call an RPC function bar() that returns a value of type Foo. Foo is an identical class on both the server and client.
The dynamic proxy always returns a MessagePackObject, and it's possible to dynamically cast this to a basic type (i.e. ulong). But a compile-time error results if I try to cast it to Foo.
I understand that a serializer for Foo can be created and registered in the SerializationContext, but this doesn't change the fact that I can't perform a cast upon the MessagePackObject returned by the call.
Is it possible to convert the return value to Foo? If it is, could someone please provide a simple example?

http://cli.msgpack.org/doc/html/M_MsgPack_MessagePackObject_op_Explicit_13.htm

I spent several hours today digging through documentation and code for an answer to this and have had no luck. At best, the documentation is extremely lacking for both this lib and msgpack-cli and at worst it seems this repo is dead anyway...
So to any unlucky souls that arrive here after me, keep searching.


python310Packages.rns: 0.3.4 -> 0.3.5

Description of changes
https://github.com/markqvist/Reticulum/releases/tag/0.3.5

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 170824 run on x86_64-linux 1

6 packages built:

python310Packages.lxmf
python310Packages.nomadnet
python310Packages.rns
python39Packages.lxmf
python39Packages.nomadnet
python39Packages.rns


Failing test in pitchfork/lib/file_test.go

If you try to run the tests for trident/pitchfork, you get a build failure in pitchfork/lib/file_test.go
(The function being referenced should be PathOffset, not pathOffset)
# trident.li/pitchfork/lib
lib/file_test.go:22:10: undefined: pathOffset
FAIL    trident.li/pitchfork/lib [build failed]

PR Opened for this issue

Merged


Should we deprecate MultiRule?

I'd like to do some benchmarks the actual NamingRules that is a MultiRule agains all the rules that it handles runned individually. Is it worth the speed boost that we get from it?
The MultiRule class create complexity in the code:

When you test a Rule that is inside a MultiRule you aren't testing exactly what it will be executed (https://github.com/detekt/detekt/pull/4147#discussion_r721468277)
The multi rule and the configuration does't work nicely and we forget about them frequently (#4230 and #4071)
We need to add code checking if the rule is a Rule or a MultiRule to do different things (#4239):

https://github.com/detekt/detekt/blob/f944be01561efd80b35c6b4427434caf63dcf88c/detekt-core/src/main/kotlin/io/gitlab/arturbosch/detekt/core/Analyzer.kt#L98-L102
https://github.com/detekt/detekt/blob/f944be01561efd80b35c6b4427434caf63dcf88c/detekt-core/src/main/kotlin/io/gitlab/arturbosch/detekt/core/rules/RuleSets.kt#L37-L42
For all that reasons I think that we should get some benchmarks so we could take an informed decission. If the performance impact is not really high I'd vote to deprecate it.

Is it worth the speed boost that we get from it?

If you have some benchmark results, would be great to make an informed decision.
To me, Multirule is unnecessary complexity given that we also support the parallel execution and we should probably clean it up.

I'd also vote for removing the MultiRule.

Another argument would be that it is quite difficult to implement auto correct correctly with MultiRules (Some rules can be auto-correctible while other rules may not)

I hacked up a very naive benchmark using the EmptyBlocksmulti rule.
This particular multi rule actually seems to be 3.5 times  faster than executing each rule individually. Nevertheless I do support getting rid of the multi rule for all the reasons you all mentioned.

private val fileCounts = listOf(10, 20, 50, 100, 500, 2000)

class EmptyBlocksMultiRuleBenchmarkSpec : Spek({

    val file by memoized { compileForTest(resourceAsPath("Benchmark.kt")) }

    describe("multi rule benchmark") {

        it("warmup") {
            repeat(2000) {
                EmptyBlocks().visitFile(file)
                EmptyBlocks().rules.forEach { it.visitFile(file) }
            }
        }

        it("runs as single rules") {
            var findings = 0
            println("All rules of multi rule:")
            fileCounts.forEach { fileCount ->
                val duration = measureTimeMillis {
                    repeat(fileCount) {
                        EmptyBlocks().rules.forEach { rule ->
                            rule.visitFile(file)
                            findings += rule.findings.size
                        }
                    }
                }
                println("$fileCount -> ${duration.toDouble().div(fileCount)} ms per file")
            }
            println("Total findings: $findings")
        }

        it("runs as multi rule") {
            var findings = 0

            println("Mutli Rule:")
            fileCounts.forEach { fileCount ->
                val duration = measureTimeMillis {
                    repeat(fileCount) {
                        val rule = EmptyBlocks()
                        rule.visitFile(file)
                        findings += rule.findings.size
                    }
                }
                println("$fileCount -> ${duration.toDouble().div(fileCount)} per file")
            }
            println("Total findings: $findings")
        }
    }
})

So there's very likely a perf impact, but I didn't see any objections to doing this - just want to check in case I (or someone else) decides to pick this one up...

I would like to do this.

I think that the performance is something that we should track. For that reason I opened this discussion to see how can we do it: #5183
I'm 100% sure that we should deprecate MultiRule. But we should check the performance of detekt to take good decissions. That information could help a lot defining the API for detekt 2.0.


support parsing label for agent run

https://github.com/rancher/rancher/issues/12691

@ibuildthecloud changes done


Compute Alternatives Doesn't Appear to be Working

It appears that the option to Compute under Alternatives is not available

When I click View Results... instead, an error pops up

The discounting parameters in the study properties shouldn't be the issue. I didn't change any of the study properties

I did that and they're consistent. However, the future year scenario in the Alternative editor keeps switching to the base year scenario after I save and close. See below

See above the correct years and scenarios are chosen for the alternative. Saved seconds ago in the bottom right corner. But then, when I close and reopen:

For some reason the future scenario copies the base year scenario, with the analysis year untouched. Still won't give the option to compute, and still gives the error about discounting parameters when I try View Results... Something funky seems to be going on with the Alternative Editor

oh interesting!

@rtle76 would you mind testing with a new build, please? I have not been able to replicate this behavior. I updated the latest portable package within the 2.0 subdirectory of the HEC-FDA folder on the USACE share drive.

I see the behavior. Troubleshooting now. Thanks, Jordan.

@Brennan1994 something is messed up here in the view or view model, it seems like the software is having trouble saving the user's selection of scenarios. Because scenarios are not saved for a given alternative, when we go to view results, there are not scenario results to process for alternative results. Would you mind taking a look?

The broken saving was a simple copy paste error. The compute still fails though as a result of the difference between the years being greater than the period of analysis. The error message was not helpful.


feat: rewrite the scanner in C

HTML is now in C, makes sense to backport that here as well
I am curious about one thing though, why is the tag map indexed via the lowercase identifiers..and why are tags compared as such?

added a couple more niceties like accounting for markdown nodes, removing some weird hacks with parsing delimiters by prepending it with a newline, testing the astro core repo, adding a fuzz action

Wow, thanks for the PR! This will take me a while to review though, so give me a bit 😅
Regarding the lowercase tags, it's because JSX is case sensitive, and it only accepts lowercase for the built-in tags - it's perfectly reasonable to name your JSX tags e.g. <Head> and expect it to not conflict with the built-in tags. (Some libraries do this).

Ah I see, thanks for the explanation!

Out of curiosity, why did you rewrite the tree-sitter-html scanner in C, instead of fixing the issues with the C++ scanner directly?

reduce dependency burden (on stuff like std::map), and to improve portability & ease of compilation (projects using a pure C toolchain can leverage it, like neovim adding bash and python to the core repo now)

I just noticed you added support for <markdown> tags. You should remove that - Astro doesn't support them.

Got a bit busy - will fix stuff now

I just noticed you added support for <markdown> tags. You should remove that - Astro doesn't support them.

I tested against the astro core repo, these files have some special markdown in them hence the addition, note that these are just failures on master currently and some of them I fixed logically in the scanner
examples/astro/examples/framework-multiple/src/pages/index.astro                                                                0 ms    (ERROR [28, 10] - [28, 18])
examples/astro/examples/hackernews/src/components/For.astro                                                                     0 ms    (MISSING "}" [23, 0] - [23, 0])
examples/astro/examples/ssr/src/components/TextDecorationSkip.astro                                                             0 ms    (MISSING "}" [23, 0] - [23, 0])
examples/astro/packages/astro/e2e/fixtures/client-only/src/pages/index.astro                                                    0 ms    (ERROR [21, 10] - [21, 18])
examples/astro/packages/astro/e2e/fixtures/multiple-frameworks/src/pages/index.astro                                            0 ms    (ERROR [26, 10] - [26, 18])
examples/astro/packages/astro/e2e/fixtures/namespaced-component/src/pages/index.astro                                           0 ms    (ERROR [15, 7] - [15, 32])
examples/astro/packages/astro/performance/fixtures/mdoc/src/ContentRenderer.astro                                               0 ms    (MISSING "}" [18, 0] - [18, 0])
examples/astro/packages/astro/performance/fixtures/mdx/src/ContentRenderer.astro                                                0 ms    (MISSING "}" [16, 0] - [16, 0])
examples/astro/packages/astro/test/fixtures/astro-assets-prefix/src/pages/blog.astro                                            0 ms    (MISSING "}" [16, 0] - [16, 0])
examples/astro/packages/astro/test/fixtures/css-order-layout/src/components/BlueButton.astro                                    0 ms    (ERROR [0, 0] - [6, 3])
examples/astro/packages/integrations/markdoc/components/Renderer.astro                                                          0 ms    (MISSING "}" [24, 0] - [24, 0])
examples/astro/packages/markdown/component/test/fixtures/astro-markdown/src/pages/code.astro                                    0 ms    (ERROR [10, 19] - [10, 20])
examples/astro/packages/markdown/component/test/fixtures/astro-markdown/src/pages/scopedStyles-code.astro                       0 ms    (ERROR [16, 21] - [16, 22])

I asked the Astro developers about this on Discord:

I believe the Markdown component is deprecated, so it's probably best to remove it.
Also, I can't find any Markdown components in your error listing.

Sorry I got caught up, removed it now

I may or may not have completely forgotten about this. I'll do the work soon.

Object lesson in trying to do too much in a single PR ;)


Use safe accessors for RWset protos

Use the Getter functions rather than direct access to fields in the proto structures.
Resolves #3685
Signed-off-by: andrew-coleman<EMAIL_ADDRESS>

It looks at first glance like the logic should hang together fine but I wonder if it's worth a unit test for the specific failure case (r.Version.BlockNum is nil?), just to be sure there are no knock-on issues, and that knock-on issues aren't accidentally introduced in the future

Thanks - I'm definitely in favour of this change - I'm just wondering whether other files might have the same issue and whether we should also fix them?

Thanks - I'm definitely in favour of this change - I'm just wondering whether other files might have the same issue and whether we should also fix them?

I think all occurrences within the gateway package now use this style.  There may well be other packages that use direct access, but we should fix those in a separate PR.

@Mergifyio backport release-2.5

@Mergifyio backport release-2.4


View calibration and network settings

What's New?

View all of the stuff on the right side of the "device" page
View IP Address of device
View board param version number

What's Next?

Toggling boolean values.
Changing numeric values.

Late additions:

Ability to view pin status (buttons- not clickable yet)
Ability to read/write axis from text boxes
ability to MOVE_HOME
Ability to set steps per click
Ability to emergency stop
More to come tomorrow. Feeling back on track!

Yeehaw!
On Wed, Jan 6, 2016, 2:58 PM Rick Carlino<EMAIL_ADDRESS>wrote:

Merged #36 https://github.com/FarmBot/farmbot-web-frontend/pull/36.
—
Reply to this email directly or view it on GitHub
https://github.com/FarmBot/farmbot-web-frontend/pull/36#event-507655043.

--
Rory Aronson


Implement custom error pages

GOV.UK Pay normally displays certain error pages on their site. This PR adds support for displaying these in this app to give clearer messages to users.
Merging this PR will not enable the functionality, the GOV.UK Pay team need to enable it manually.
MTP-1369
Error pages (all of which were previously displayed within GOV.UK Pay):

Declined payment (there are many reasons including insufficient funds) – using new content tailored to common problems
Expired session (the user took too long) – using largely GOV.UK Pay content
Payment was deliberately cancelled (currently, only the user can trigger this) – using largely GOV.UK Pay content
Error – using largely GOV.UK Pay content (previous content from this app was never displayed)

References:

GOV.UK Pay – Use your own error pages
GOV.UK Pay – Payment statuses and error codes
GOV.UK Pay – Template code

Declined payment

Expired session

Cancelled payment

Error

previously we handled:

capturable and success each with a specific template
error, failed and cancelled with a redirect back to "check your details"
created, started and submitted with a generic error template

… falling back to the generic error template if something went wrong on our side
now we need to handle:

capturable, success, failed and cancelled each with a specific template (using the error code to additionally split failed into 3)
created, started, submitted and error with a generic error template

… falling back to the generic error template if something went wrong on our side

this PR cannot be merged/deployed without careful coordination with GDS!
their api gives no indication of whether they've shown an error page so we can't know if custom error pages are enabled or not. therefore:

deploying too early would result in users seeing error pages twice (theirs and ours)
deploying too late would result in the wrong error page being shown on our side


aiohttp proxy support

There seems to be no support for proxies when communicating with external storage services such as Google Drive. In the file: waterbutler/core/provider.py for instance I can see aiohttp being used to make a request:
response = await aiohttp.request(method, url, *args, **kwargs)

but aiohttp doesn't have built-in support for using proxies, so it must manually be coded in like:
response = await aiohttp.request(method, url, connector=aiohttp.ProxyConnector(proxy="PROXY_ADDRESS"), *args, **kwargs)

just as an example. This seems to allow an initial connection to be created from behind a proxy, however it seems to fail shortly after so I'm guessing either there are more places in the code that also need proxy support or the above example isn't the most correct way to do it.
The error given on a failed requests (when using the ProxyConnector example above) is:
RuntimeError: File descriptor 10 is used by transport <_SelectorSocketTransport fd=10 read=polling write=<idle, bufsize=0>>

Ideally I suppose the best solution would be to read environment variables such as $HTTP_PROXY and $NO_PROXY to decide whether to apply proxies or not. Although I'm not sure why the aiohttp library isn't already doing this itself as its fairly standard.

It seems to me that it might be caused by creating the ProxyConnector from within "async" functions.
If I try to move it outside the asynchronous calls and pass the connector in as a parameter the error occurs less frequently. However, it looks like the async calls are fairly nested.
Any idea where would be a good place in the code to create the ProxyConnector outside of any async calls?
I will keep looking.

I think I have found a solution. The problem was indeed creating the ProxyConnector inside async calls. To workaround this I simply made a new module which declares the ProxyConnector and import it into all of the relevant python modules using aiohttp

Hey @jpkeith4!
Did you have to modify the aiohttp.request calls for this or were you able to wrap and inject them externally?  If the latter, that sounds like an interesting approach to customizing WaterButler.  Would you be willing to write up a doc patch explaining how to do this?
Cheers,
@felliott

I added a "connector" parameter to all the aiohttp.request calls. I can write up the changes as soon as I really have it all worked out. Currently it seems to be working as long as you don't use folders inside google drive. I seem to be having an issue with files inside of folders wanting to use "%2F" instead of forward slashes in the URI causing it to not load. If I manually change it then it loads.
Although I wonder if that has anything to do with using a version of the OSF that's several months old, maybe something changed in a dependency or the API google uses.

Hey @jpkeith4!
Can you give me an example of where you're running into this?  Our googledrive provider definitely has some issues with encoding.  We mostly work around this by using the file/folder IDs where we can.
Cheers,
Fitz

For example, just trying to open a text file stored in Google Drive. If the textfile is not inside any folder but just at the lowest level in Google Drive then OSF loads and renders it properly. However if it is located inside a folder in Google Drive and I click to access it then there is a 404 and the URI shows "foldername%2Ffilename". If I manually change it to "foldername/filename" in the address bar then it loads the page and displays the file.

Well for the time being I'll post the specific changes I did, although it still doesn't completely work. The reason I did it this way is because adding a proxy connector inside the async calls seems to cause issues, so the idea was basically just to create the proxy connector outside of async calls and since I don't know the code very well it seemed like importing a module would be the simplest way. So I just created the file waterbutler/proxy_workaround.py with the contents:
import aiohttp

HTTP_PROXY = 'http://my.proxy.com:PORT'
NO_PROXY = ['www.no_proxy_domain_1.com', 'www.no_proxy_domain_2.com']

noproxy_connector = aiohttp.TCPConnector(force_close=False)
proxy_connector = aiohttp.ProxyConnector(proxy=HTTP_PROXY, force_close=False)

def get_connector(url):
    global proxy_connector
    global noproxy_connector

    domain = url.replace('https://','').replace('http://','').split('/')[0].split(':')[0]

    if domain in NO_PROXY:
        connector = noproxy_connector
    else:
        connector = proxy_connector

    return connector

Then I go to every file which makes a "aiohttp.request" call and at the top from waterbutler import proxy_workaround add inside the aiohttp.request calls themselves I add the parameter connector=proxy_workaround.get_connector(URL) where URL is the same url already being supplied to the request.
This mostly seems to solve the issues and allow storage services to connect, file uploads work, deleting files works, but there is an issue with renaming the files. When attempting to rename a file I get the error: RuntimeError: Task <Task pending coro=<move() running at /code/waterbutler/core/provider.py:232> cb=[_run_until_complete_cb() at /usr/local/lib/python3.5/asyncio/base_events.py:176]> got Future <Future pending> attached to a different loop
Full traceback: https://pastebin.com/wzmRG5QV

Hey @jpkeith4,
This is a shot in the dark, but it looks like the *Connector caches the current event loop when created.  Long-running requests in WB (usually moves and copies) get shunted off into a celery queue and aren't guaranteed to have the same event loop when they're woken up. You may need to adjust this approach so that the Connector is created lazily, so that it gets the event loop it's run under, rather than the one it was created under.
Cheers,
@felliott

Got it working, your suggestion helped a lot actually, thanks.
So I think the only changes that are necessary to add proxy support now are to just add either the TCPConnector or ProxyConnector accordingly to any aiohttp.request calls, and also pass into the connector "loop=asyncio.get_event_loop()". For example:
response = await aiohttp.request(method, url, *args, connector=proxy_workaround.get_connector(url, asyncio.get_event_loop()),  **kwargs)

Where the "proxy_workaround.py" module is:
import aiohttp

HTTP_PROXY = 'http://my.proxy.com:PORT'
NO_PROXY = ['www.no_proxy_domain_1.com', 'www.no_proxy_domain_2.com']

def get_connector(url, loop):

    domain = url.replace('https://','').replace('http://','').split('/')[0].split(':')[0]

if domain in NO_PROXY:
    return aiohttp.TCPConnector(force_close=False, loop=loop)
else:
    return aiohttp.ProxyConnector(proxy="http://proxyout1.lanl.gov:8080", force_close=False, loop=loop)


Reduce allocations from hack in document_fragment

What problem is this PR intended to solve?
Reduce object allocations from a hack in the constructor of Nokogiri::HTML::DocumentFragment.
Nokogiri 1.11 requires at least Ruby 2.4.0. Therefore, we can safely use Regexp#match? instead of String#=~.
The advantages are:

Regexp#match? doesn't allocate MatchData objects.
Modifying the regex itself allows not using String#strip which duplicates the given string.

Have you included adequate test coverage?
This change should be covered by existing tests.
Does this change affect the C or the Java implementations?
No, it doesn't.

:white_check_mark: Build nokogiri 1.0.684 completed (commit https://github.com/sparklemotion/nokogiri/commit/d8675fbf93 by @ashmaroli)

@ashmaroli Hi! Thanks for submitting this.
Do you have any metrics around the reduced number of allocations? I'm curious how you performed your analysis.

I'll need to look into why the jruby gem tests failed -- I don't think it's related to this PR.

I'm curious how you performed your analysis

I used memory_profiler gem to parse and serialize an HTML source via GitHub Actions on my fork.
I didn't open a pull request with those because I checked in the *.gemspec into version control for easy access to latest nokogiri gem..

I'll need to look into why the jruby gem tests failed

The reason behind this is rubocop-ast-0.7.0 requiring strscan (native-extension gem).
A v0.7.1 has been shipped without that requirement. So, restarting just the JRuby pipeline should now pass..


Background image not shown when "antialiasingMode": "cleartype", "useAcrylic": false

Environment
Windows build number: 10.0.19041.0
Windows Terminal version (if applicable): 1.4.3243.0

Any other software?

Steps to reproduce
"antialiasingMode": "cleartype", "useAcrylic": false, "backgroundImage": "...some_file"
Expected behavior
Opaque image is shown as background
Actual behavior
Black background is shown and the image is visible only around the padding.

You need to specify backgroundImageOpacity!
example:
{
                "guid": "{2c4de342-38b7-51cf-b940-2309a097f518}",
                "hidden": false,
                "name": "Ubuntu",
                "source": "Windows.Terminal.Wsl",
		"commandline": "wsl -d Ubuntu",
		"tabTitle": "Ubuntu",
		"acrylicOpacity":0.75,
		"closeOnExit":true,
		"colorScheme":"Campbell",
		"fontFace":"Consolas",
		"fontSize":12,
		"historySize":9001,
		"backgroundImage": "<PATH>",
		"backgroundImageStretchMode": "none",
		"backgroundImageOpacity": 0.1,
		"icon":"<PATH>",
		"padding":"0, 0, 0, 0",
		"snapOnInput":true,
		"useAcrylic":true
}

One difference I see between you and my case is that I have specified the configuration in the "defaults" section.

It is not caused only by "useAcrylic": false
instead it is caused by the combination of "useAcrylic": false and "antialiasingMode": "cleartype"
I will update the description.

Indeed. Background image didn't shows when "useAcrylic": false and "antialiasingMode": "cleartype".

Thanks for the report and the investigation! It looks to me like this is the same root cause as #5703, so I'll redirect discussion to that thread. Thanks!
/dup #5703


[Bug] App setting binding expressions cannot contain double underscores (__)

Expected Behavior
I should be able to use app settings and environment variables name which contain double underscores in app setting bindings.
Actual Behavior
The webjobs host cannot resolve environment variables which where the name contains double underscores.
Steps to Reproduce

local.settings.json:
{
  "IsEncrypted": false,
  "Values": {
    "AzureFunctionsJobHost__extensions__durableTask__hubName": "MyTaskHub",
    "AzureWebJobsStorage": "DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=*************************==;BlobEndpoint=http://<IP_ADDRESS>:10000/devstoreaccount1;QueueEndpoint=http://<IP_ADDRESS>:10001/devstoreaccount1;TableEndpoint=http://<IP_ADDRESS>:10002/devstoreaccount1"
  }
}

function_app.py
import json
import logging

import azure.functions as func

app = func.FunctionApp(http_auth_level=func.AuthLevel.ANONYMOUS)

@app.timer_trigger(arg_name="timer", schedule="0/5 * * * * *")
@app.table_input(
    arg_name="entitiesJson",
    connection="AzureWebJobsStorage",
    table_name="%AzureFunctionsJobHost__extensions__durableTask__hubName%Instances",
    filter="RuntimeStatus eq 'Suspended'",
)
async def my_func(
    timer: func.TimerRequest,
    entitiesJson: str,
):
    entities = json.loads(entitiesJson)
    logging.info(f"There are {len(entities)} suspended orchestrations")

Relevant code being tried
No response
Relevant log output
[2024-06-24T01:30:00.085Z] System.Private.CoreLib: Exception while executing function: Functions.my_func. Microsoft.Azure.WebJobs.Host: '%AzureFunctionsJobHost__extensions__durableTask__hubName%' does not resolve to a value.

requirements.txt file
No response
Where are you facing this problem?
Local - Core Tools
Function app name
No response
Additional Information

Binding works with single underscore; only double breaks bindings.
print(os.environ) will show that the app setting is being loaded as an environment variable.
Most likely conflicting with https://learn.microsoft.com/en-us/azure/azure-functions/functions-host-json#override-hostjson-values

Transferring to the host team to check if this is a valid scenario where the passed app setting is allowed to be resolved or now.


Task9- Sound Issue

Basically i am finding an issue when it comes to sound as the sound is not continue to play from one scene to another

I fixed this issue by creating a dont destroy on load c# Code so that the sound will not be destroyed upon loading the next scene.
Doing this created another problem, when the play looses and plays again the sound plays 2 times in the background so i created a destroy script.
When the player goes to the scene 0(Main menu) the sound is destroyed and when the player hits play and level 1 is loaded the sound is played.
See the commit here :
https://github.com/distractoo/underwaterGame/commit/27ad89c15630cd285e860de0e0b7fe6cbf9ca43c


[Sidebar] TypeError: Cannot read property 'isFocused' of undefined

Oni Version:0.3.5
Neovim Version (Linux only):
Operating System: macOS
Describe your issue
I have disabled sidebar. When I execute some operation, it throw this error.
TypeError: Cannot read property 'isFocused' of undefined
Please report this error. Callstack: TypeError: Cannot read property 'isFocused' of undefined
at SidebarManager.get isFocused [as isFocused] (webpack:///./browser/src/Services/Sidebar/SidebarStore.ts?:35:35)
at Object.isExplorerActive [as filter] (webpack:///./browser/src/Input/KeyBindings.ts?:13:32)
at InputManager._handleKeyCore (webpack:///./browser/src/Services/InputManager.ts?:113:44)
at InputManager.handleKey (webpack:///./browser/src/Services/InputManager.ts?:98:22)
at ShellView._onRootKeyDown (webpack:///./browser/src/UI/Shell/ShellView.tsx?:49:81)
at onKeyDownCapture (webpack:///./browser/src/UI/Shell/ShellView.tsx?:31:138)
at HTMLUnknownElement.callCallback (webpack:///./node_modules/react-dom/cjs/react-dom.development.js?:99:14)
at Object.invokeGuardedCallbackDev (webpack:///./node_modules/react-dom/cjs/react-dom.development.js?:137:16)
at Object.invokeGuardedCallback (webpack:///./node_modules/react-dom/cjs/react-dom.development.js?:186:29)
at Object.invokeGuardedCallbackAndCatchFirstError (webpack:///./node_modules/react-dom/cjs/react-dom.development.js?:200:43)

Expected behaviour
Actual behaviour
Steps to reproduce

I think this is probably due to #1562.
That is, the sidebar currently isn't spawned which causes some things to fail. I think there is an open PR on fixing it, so I might have a look when I'm home about fixing this next week.
I'll close this issue out for now, but if you think the linked issue doesn't cover this, feel free to re-open it!


Breaks the !lvl command when enabled

Whenever the RSN Hider plugin is enabled, it breaks the !lvl command on user's client. It will always show level of the 'Custom rsn' that is being used, instead of the users correct level. To all other players, it displays the correct level though.
Is this something that can be fixed? I would like it to display the correct stats for my original RSN, without revealing my username.

!pets and !kc commands are busted aswell. Strangely enough, it the commands still  work in PMs if split chat is enabled.


[BUG] Incompatible with meteor

Thanks for the report. For future issues, please upload a crash report or something of the sorts so I can diagnose the issue by just reading the issue. Fixed it in commit https://github.com/3arthh4ckDevelopment/3arthh4ck-Fabric/commit/a098941df9b59ded4aa5e90cfaa6e2d9558f1599.


Map deprecated Redis comments to its alternative if its already exist in Garnet

Feature request type
sample request
Is your feature request related to a problem? Please describe
Personally, I don't like to waste our time in implementing deprecated commands. But the issue is that these deprecated Redis comments will not be removed for years before they are removed completely. This means libraries and applications could still continue to use it even it's not recommented.
Describe the solution you'd like
I like to map deprecated comments to its alternative if it's already exist in Garnet
Describe alternatives you've considered
No response
Additional context
I can raise the PR for this if the garnet team is fine with this change.

Good point. Thanks.
Please open a PR for this.

@yrajas Should the deprecated command need to be added as part of IGarnetApi or can it be mapped to the alternative in the network layer (RespServerSession) itself?