Extend the onSuccess callback when setting up remote configuration to pass configuration state (close #694)

This PR addresses issue #694 and adds information about the remote configuration state to the onSuccess callback.
The configuration state describes where was the configuration retrieved from. It can have one of three values:

CACHED - retrieved from local cache file
DEFAULT - there was no cache, so the default settings provided by user were used
FETCHED - retrieved from the remote endpoint

This should make it more clear how to handle repeating calls to the onSuccess callback.
Limitations
There are still some cases when we don't give any information to the user which makes it more difficult to get visibility of the remote config. However, these states don't really fit into the onSuccess callback so I decided to skip them here. But we could provide additional callbacks in the future.
These states are not covered by a calback:

initial configuration was retrieved from cache and when the remote one was downloaded, the tracker decided not to use it.
any failure to download the configuration or process the downloaded configuration

Example app
The CI build of the example app breaks as the callback change is a breaking change. I updated the example app and opened a PR for it here.

Thanks for your pull request. Is this your first contribution to a Snowplow open source project? Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).
:memo: Please visit https://docs.snowplowanalytics.com/docs/contributing/contributor-license-agreement/ to learn more and sign.
Once you've signed, please reply here (e.g. I signed it!) and we'll verify. Thanks.


Fix NPE when bytes is null by moving null check up

Thanks for the fix!

Thank you! Is there an ETA for the next release date?
On Feb 9, 2018 4:15 AM, "Alexander Kolb"<EMAIL_ADDRESS>wrote:

Thanks for the fix!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ottogroup/flink-spector/pull/76#issuecomment-364418180,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Af8xGULeiI95Oy1vf1_n-nxfKC1AYM80ks5tTDbJgaJpZM4R_iX5
.

The release for the bug fix will be on the 26. of February when I get back from China . As long as I'm on vacation in China I cannot access Google Drive containing the gpg keys for signing the .jar files.
Am 10.02.2018 02:21 schrieb DaveFrederick<EMAIL_ADDRESS>Thank you! Is there an ETA for the next release date?
On Feb 9, 2018 4:15 AM, "Alexander Kolb"<EMAIL_ADDRESS>wrote:

Thanks for the fix!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ottogroup/flink-spector/pull/76#issuecomment-364418180,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Af8xGULeiI95Oy1vf1_n-nxfKC1AYM80ks5tTDbJgaJpZM4R_iX5
.

—
You are receiving this because you modified the open/close state.
Reply to this email directly,
view it on GitHub, or
mute the thread.


[Compiler] Support IPC memory and customized all-reduce kernels

This PR introduces the IPC memory and customized all-reduce kernel dispatches for tensor parallelism. We add a new compiler flag --allreduce-strategy, which supports "ring", "one-shot" and "two-shot". The flag defaults to "ring", which means this PR makes no difference if people do not manually change the all-reduce strategy.
As of now the IPC-memory-backed customized all-reduce kernels are only available on CUDA.
To enable all-reduce strategies other than "ring", here are some example compile commands:
python -m mlc_llm compile model/mlc-chat-config.json --device cuda --opt "allreduce-strategy=one-shot" -o model/lib.so
python -m mlc_llm compile model/mlc-chat-config.json --device cuda --opt "allreduce-strategy=two-shot" -o model/lib.so

Please be aware that, you probably also need to specify other compiler flags, for example, like --opt "cublas_gemm=1;allreduce-strategy=one-shot".

Depending on apache/tvm#16759.

Thanks for the great work!!! I have one question, how can we determine whether it's necessary to explicitly include "cublas_gemm=1" in the compilation flags?

Thanks for the great work!!! I have one question, how can we determine whether it's necessary to explicitly include "cublas_gemm=1" in the compilation flags?

@yongwww The cublas_gemm flag is by default off, so if you do not use a preset --opt and instead choose to manually provide the optimization flags, you need to manually turn that on to enable cuBLAS gemm dispatch.
https://github.com/mlc-ai/mlc-llm/blob/00a90a2671ad8de7ad5603c1a8168e56a1997a7a/python/mlc_llm/interface/compiler_flags.py#L30
There are also preset optimizations here, with some of them turning on cuBLAS gemm. If you do not specify --opt, it defaults to the "O2" preset which has cuBLAS gemm.
https://github.com/mlc-ai/mlc-llm/blob/00a90a2671ad8de7ad5603c1a8168e56a1997a7a/python/mlc_llm/interface/compiler_flags.py#L171-L198


fix system gestures triggering seekbar

fixed the system gestures triggering seekbar by moving the ehutils and ehutils expander to the bottom.
this has also has the benefit of being easier to reach ehutils/autoscroll during "one handed use", so it would make sense to move the ehutils there.
also added smol padding to the MaterialToolbar so in Chapter XX the p is not cut off (don't have a screen for that sorry)
please review this, i tested it and it all worked fine, but i might've done something stupid.
collapsed:

expanded:

i even reimplemented animations and the arrow orientation so it all makes sense

fixed a bug where autoscroll input couldn't be focused, i had descendantsFocusability set to blockDescendants smh

noticed since i increased the materialToolbar height, the buttons are not centered. will fix.


Refine individual assigned commands in User Guide

Per our discussions in the team meetings, we have individually been assigned our own tasks for Milestone v1.2. This is a tracking issue for our individual tasks - please update the User Guide, and link it to this issue when making the PR.

Closed.
Note to all: To be updated after we finish v1.2.


[tasks] Remove Python 2 compatibility code

What does this PR do?

Did a 2to3 pass to remove some Python 2 compatibility code
Manually removed some other bits like thebasestring workaround

Motivation

Keep codebase updated and remove dead code
Fail if we accidentally use Python 2 for tooling

Describe your test plan

Should be a no-op

Since this removes python 2 compatibility in the invoke tasks, can you update our dev docs accordingly (Readme: https://github.com/DataDog/datadog-agent#getting-started and dev docs: https://github.com/DataDog/datadog-agent/blob/master/docs/dev/agent_dev_env.md#invoke--python-dependencies)?
We'll want to make sure it's clearly documented that while the Agent can be built with python 2, python 3 or both, invoke needs to be installed and run with a python 3 interpreter.

@olivielpeau I updated the docs and I am merging the PR; since this was a very small change I am merging but please do let me know if you think anything is missing so I can do a follow-up PR!


Portfolio Accessibility

In this project, we:

Check to see if the portfolio is accessible.
There is pair programming in this exercise.

Page Title - no issues found.
Image text alternatives - no issues found.
Text headings: Repetitive H1 tag
Color Contrast - no issues found
Resize-no issues found
Interaction-no issues found
Moving content- no issues found
Multi-media-no issues found
The basic structure of the page-no issues found


ReplaceEnvironment fails if Worker tier presented

hello guys,
I tried to use ReplaceEnvironment for our app and it fails with NPE. The reason is related to Worker tier which doesn't have a cname attribute (it's always null)
If you change this line this way:
if (cnameToMatch.equals(envDesc.getCNAME())) {

I believe it will work.
Will you do it shortly or do you have some other plans on this fix?
Thanks in advance

ReplaceEnvironment doesn't apply to Worker Environments.
--
-- Aldrin Leal<EMAIL_ADDRESS>/ http://about.me/aldrinleal
On Tue, Aug 11, 2015 at 2:55 PM, Mikhail Kalinin<EMAIL_ADDRESS>wrote:

hello guys,
I tried to use ReplaceEnvironment for our app and it fails with NPE. The
reason is related to Worker tier which doesn't have a cname attribute
(it's always null)
If you change this line
https://github.com/ingenieux/beanstalker/blob/master/beanstalk-maven-plugin/src/main/java/br/com/ingenieux/mojo/beanstalk/env/ReplaceEnvironmentMojo.java#L536
this way:
if (cnameToMatch.equals(envDesc.getCNAME())) {
I believe it will work.
Will you do it shortly or do you have some other plans on this fix?
Thanks in advance
—
Reply to this email directly or view it on GitHub
https://github.com/ingenieux/beanstalker/issues/67.

Yes, I didn't try to apply it to Worker. But when I try to apply it to the Web tier it turns out with NPE in a case if we have a Worker tier for this application.
The line I have pointed at checks cname against all environment tiers of the app and first tier it met in my case is Worker which cname value is null.

Oh, got it. Can you issue me a PR (and try to test it please :])?
I should be revisiting my projects later this week and I'll look into yours
--
-- Aldrin Leal<EMAIL_ADDRESS>/ http://about.me/aldrinleal
On Wed, Aug 12, 2015 at 3:55 AM, Mikhail Kalinin<EMAIL_ADDRESS>wrote:

Yes, I didn't try to apply it to Worker. But when I try to apply it to the
Web tier it turns out with NPE in a case if we have a Worker tier for this
application.
The line I have pointed at checks cname against all environment tiers of
the app and first tier it met in my case is Worker which cname value is
null.
—
Reply to this email directly or view it on GitHub
https://github.com/ingenieux/beanstalker/issues/67#issuecomment-130191244
.

Done https://github.com/ingenieux/beanstalker/pull/68
Thanks a lot for your support

@aldrinleal could you please give me a link to repository containing snapshots to test #68 merge?

@mkalinin,
I didn't publish snapshots yet, but you can install it locally:
$ git clone git@github.com:ingenieux/beanstalker.git
$ mvn clean package install -DskipTests
Let me know if you run into any problems

ok, thanks!


Denmark - Copenhagen

{"country" : "Denmark","city" : "K"},

Should be København, so I guess there is a encoding problem here?

I guess so. I fetched the result from db, and that seems to have striped the characters after ø.
Thanks for opening the first issue, if possible please send a PR next time


How to Enter Categories and Subcategories?

I am confused as to what to enter where. I want to set up a parent category of Capacitors with Subcategories of Axial leaded and Radial leaded. The entry screen has Parent, Name, and Description. I don't understand what is meant by Description when you have the Category (and Subcategory) that is descriptive. Please indicate what I should enter.
--Thanks, Larry

The description is simply a place to add some descriptive text regarding the part category. The latest update to InvenTree makes this text optional - so you do not have to enter anything.


Confusing primitive integer parameters

Define type aliases where primitive integers are currently used (block pointers, document lengths, enum case identifiers, etc.). This will lead to greater consistency and readability.

Fixed by f3ef717.


Add CSS to make top doc box have a fade, rather than hard cutoff

The current hard cutoff in the docs often results in people not realising that the doc box can be expanded, and often resulting in confusion because the most helpful examples are often in the module doc box.
This change uses some simple CSS tweaks to replace the hard cut-off with a visualfade, so it's obvious that there's content hidden out of view. Doing this required removing the CSS transition, as it hard to correctly transition the height property of CSS element of unknown target height. But the improved discoverablility of the doc content seems like a worthwhile tradeoff.
Before:

After:

@StefMa agree there better ways to do this. But this change only requires a few lines of CSS, so it’s quick and easy todo. I don’t consider this “good”, just better than what we have, and a solution that I could implement quickly in my spare time.
If people have suggestions for improvements, please submit a PR!

Just wanted to refer to this lines as I guess this is relevant in case we want to move the arrow 🙃


Ability to deserialize from a strange DateTime format

I have JSON which looks like this:
{"Date":"\/Date(1552660288417+0200)\/"}

        public class TestDto
        {
            public DateTime Date { get; set; }
        }

  string response = Utf8Json.JsonSerializer.ToJsonString(new TestDto { Date = DateTime.Now });
  var dto = Utf8Json.JsonSerializer.Deserialize<TestDto>(response);

System.InvalidOperationException: 'invalid datetime format. value:/Date(1552660688703+0200)/'

I want to know how I can add in a resolver to handle this type of DateTime format so that the deserialization does not fail. I don't want to serialize into this format, just not fail to create a DateTime when this format is experienced.
As a side note, this is caused by ServiceStack.Text JsonSerializer which I am swapping to Utf8Json.

It is legacy Microsoft DateTime format.
You can create custom DateTimeFormatter(parse yourself) and add it to resolver.


fix: update deprecated ALB listener rule format

Description
Upstream change: https://github.com/terraform-providers/terraform-provider-aws/pull/8268
Should fix this warning:
Warning: "condition.0.values": [DEPRECATED] use 'host_header' or 'path_pattern' attribute instead

  on .terraform/modules/atlantis/terraform-aws-modules-terraform-aws-atlantis-e1242e3/main.tf line 213, in resource "aws_lb_listener_rule" "redirect_http_to_https":
 213: resource "aws_lb_listener_rule" "redirect_http_to_https" {

@antonbabenko any chance of a review on this?

We are also seeing this issue, can this pr be looked at? 🙏

Thanks, @mwarkentin !
v2.8.0 has been just released.


an arguly hack on the invoker: user defined actions can be injected b…

This is a hack on the invoker, so that user defined actions can be taken

before an hprose RPC call send out to the remote peer
after an hprose RPC response received from remote peer

It facilitates the implementation of an indexedDB cache for all hprose RPC calls in one of my project.

Maybe hprose middleware is better to used for cache:
https://github.com/hprose/hprose-html5/wiki/Hprose-中间件


feat: support percpu run-queue and cpu affinity for axtask

TO BE FIXED:
make A=../arceos-apps/c/pthread/pipe SMP=4 LOG=info ARCH=aarch64 ACCEL=n run
This will cause a  deadlock.

@equation314 @aarkegz Need help, there is a bug in https://github.com/arceos-org/arceos/actions/runs/10794370098/job/29938498068?pr=170,
However, it is so so so difficult to reproduce.

scheduler https://github.com/arceos-org/scheduler/pull/1


Update to 1.21 breaks mocha require

VSCode Version: ~1.20.1~  1.21
OS Version: Windows 10 Pro

Steps to Reproduce:

Using sinon, chai, sinon-chai, and mocha in orchestration, setup a testing suite as follows:

Create setup.js to setup your test environment:
'use strict';

const chai = require('chai');
const sinon = require('sinon');
const sinonChai = require('sinon-chai');

chai.use(sinonChai);

Create a test case that tries to use calledOnce such as:
'use strict';

const sinon = require('sinon');
const expect = require('chai').expect;

const sandbox = sinon.sandbox.create();
const myStub = sandbox.stub(yourService, 'method');

... invoke your method under test here

// FAILS with error Invalid Chai property when calling calledOnce
expect(myStub).calledOnce.and.calledWithExactly();

Now, attempt to debug interactively this test case with a Launch Configuration such as:
{
      "type": "node",
      "request": "launch",
      "name": "Test Spec",
      "program": "${workspaceRoot}/node_modules/mocha/bin/_mocha",
      "args": [
        "-c",
        "--require",
        "test/setup.js",
        "${file}",
        "--no-timeouts"
      ],
      "skipFiles": [
        "${workspaceRoot}/node_modules/**/*",
        "<node_internals>/**/*"
      ],
      "cwd": "${workspaceRoot}",
      "runtimeArgs": [
        "--nolazy"
      ]
    }

Downgrade to 1.19.1 and see the exact same test cases you've been working with for months work just fine.

Does this issue occur when all extensions are disabled?: Yes

What version of node.js are you using?

I am on 8.9.0

It should write the command that it uses to start the program to the debug console - is it exactly the same between the two vscode versions?

Here is the Debug Console output when running a test cases:
Version 1.19.1
Commit 0759f77bb8d86658bc935a10a64f6182c5a1eeba
Date 2017-12-19T09:46:23.884Z
Shell 1.7.9
Renderer 58.0.3029.110
Node 7.9.0
Architecture x64

Debugging with inspector protocol because Node.js v8.9.0 was detected.
node --nolazy --inspect-brk=48972 node_modules\mocha\bin\_mocha -c --require test/setup.js e:\code8-io\item-api\test\spec\services\item-worksheet-creator.spec.js --no-timeouts
Debugger listening on ws://<IP_ADDRESS>:48972/a8635c80-58fc-465e-9c2f-1618db9241e4

  services
    ItemWorksheetCreator
      constructor
        √ returns a configured instance of ItemWorksheetCreator, which extends EventEmitter
      addAttribute
        √ adds a new attribute to the attributeMap, only once
      addItem
        √ only adds an item to the worksheet if at least one attribute has been added
        √ adds an item to an internal array of rows
        √ when adding items, defaults can be supplied
        √ only assigns a value to an attribute known to the spreadsheet
        √ assigns a warning color to invalid items
      addItems
        √ adds items to the worksheet, persisting the data in blocks
      addUpdateHyperlink
        √ adds some padding rows and then a row with the hyperlink
      createWorksheet
        √ creates a worksheet from a template and shares it
      finalizeWorksheet
        √ emits an empty worksheet event if there are no items
        √ performs a variety of tasks to finalize the worksheet
      populateHeadings
        √ populates the headings of the worksheet
        √ supplies a default for version if falsy
      saveRows
        √ only saves rows if there are any pending to be saved
        √ creates the worksheet and appends rows as needed
      sortAttributes
        √ only sorts if there is a need to do so
        √ sorts attributes by their display name
  18 passing (167ms)

Now, here is the results when running on latest VS Code:
Version 1.21.0
Commit 9a199d77c82fcb82f39c68bb33c614af01c111ba
Date 2018-03-07T11:04:09.969Z
Shell 1.7.9
Renderer 58.0.3029.110
Node 7.9.0
Architecture x64

node --nolazy --inspect-brk=16737 node_modules\mocha\bin\_mocha -c --require test/setup.js e:\code8-io\item-api\test\spec\services\item-worksheet-creator.spec.js --no-timeouts
Debugger listening on ws://<IP_ADDRESS>:16737/90f29062-4186-439b-9e9e-42513c392156

  services
    ItemWorksheetCreator
      constructor
        √ returns a configured instance of ItemWorksheetCreator, which extends EventEmitter
      addAttribute
        √ adds a new attribute to the attributeMap, only once
      addItem
        √ only adds an item to the worksheet if at least one attribute has been added
        √ adds an item to an internal array of rows
        √ when adding items, defaults can be supplied
        √ only assigns a value to an attribute known to the spreadsheet
        √ assigns a warning color to invalid items
      addItems
        1) adds items to the worksheet, persisting the data in blocks
      addUpdateHyperlink
        2) adds some padding rows and then a row with the hyperlink
      createWorksheet
        3) creates a worksheet from a template and shares it
      finalizeWorksheet
        4) emits an empty worksheet event if there are no items
        5) performs a variety of tasks to finalize the worksheet
      populateHeadings
        6) populates the headings of the worksheet
        7) supplies a default for version if falsy
      saveRows
        8) only saves rows if there are any pending to be saved
        9) creates the worksheet and appends rows as needed
      sortAttributes
        10) only sorts if there is a need to do so
        11) sorts attributes by their display name
  7 passing (247ms)
  11 failing
  1) services
       ItemWorksheetCreator
         addItems
           adds items to the worksheet, persisting the data in blocks:
     Error: Invalid Chai property: calledTwice
      at Object.proxyGetter [as get] (e:\code8-io\item-api\node_modules\chai\lib\chai\utils\proxify.js:66:17)
      at Context.it (e:\code8-io\item-api\test\spec\services\item-worksheet-creator.spec.js:396:28)
      at <anonymous>

  2) services
       ItemWorksheetCreator
         addUpdateHyperlink
           adds some padding rows and then a row with the hyperlink:
     Error: Invalid Chai property: calledTwice
      at Object.proxyGetter [as get] (e:\code8-io\item-api\node_modules\chai\lib\chai\utils\proxify.js:66:17)
      at Context.it (e:\code8-io\item-api\test\spec\services\item-worksheet-creator.spec.js:405:28)
      at <anonymous>

  3) services
       ItemWorksheetCreator
         createWorksheet
           creates a worksheet from a template and shares it:
     Error: Invalid Chai property: calledOnce
      at Object.proxyGetter [as get] (e:\code8-io\item-api\node_modules\chai\lib\chai\utils\proxify.js:66:17)
      at Context.it (e:\code8-io\item-api\test\spec\services\item-worksheet-creator.spec.js:423:34)
      at <anonymous>

  4) services
       ItemWorksheetCreator
         finalizeWorksheet
           emits an empty worksheet event if there are no items:
     Error: Invalid Chai property: calledOnce
      at Object.proxyGetter [as get] (e:\code8-io\item-api\node_modules\chai\lib\chai\utils\proxify.js:66:17)
      at Context.it (e:\code8-io\item-api\test\spec\services\item-worksheet-creator.spec.js:469:28)
      at <anonymous>

  5) services
       ItemWorksheetCreator
         finalizeWorksheet
           performs a variety of tasks to finalize the worksheet:
     Error: Invalid Chai property: called. Did you mean "all"?
      at Object.proxyGetter [as get] (e:\code8-io\item-api\node_modules\chai\lib\chai\utils\proxify.js:63:17)
      at Context.it (e:\code8-io\item-api\test\spec\services\item-worksheet-creator.spec.js:489:28)
      at <anonymous>

  6) services
       ItemWorksheetCreator
         populateHeadings
           populates the headings of the worksheet:
     Error: Invalid Chai property: calledTwice
      at Object.proxyGetter [as get] (e:\code8-io\item-api\node_modules\chai\lib\chai\utils\proxify.js:66:17)
      at Context.it (e:\code8-io\item-api\test\spec\services\item-worksheet-creator.spec.js:575:11)
      at <anonymous>

  7) services
       ItemWorksheetCreator
         populateHeadings
           supplies a default for version if falsy:
     Error: Invalid Chai property: calledTwice
      at Object.proxyGetter [as get] (e:\code8-io\item-api\node_modules\chai\lib\chai\utils\proxify.js:66:17)
      at Context.it (e:\code8-io\item-api\test\spec\services\item-worksheet-creator.spec.js:602:11)
      at <anonymous>

  8) services
       ItemWorksheetCreator
         saveRows
           only saves rows if there are any pending to be saved:
     Error: Invalid Chai property: called. Did you mean "all"?
      at Object.proxyGetter [as get] (e:\code8-io\item-api\node_modules\chai\lib\chai\utils\proxify.js:63:17)
      at Context.it (e:\code8-io\item-api\test\spec\services\item-worksheet-creator.spec.js:624:39)
      at <anonymous>

  9) services
       ItemWorksheetCreator
         saveRows
           creates the worksheet and appends rows as needed:
     Error: Invalid Chai property: calledOnce
      at Object.proxyGetter [as get] (e:\code8-io\item-api\node_modules\chai\lib\chai\utils\proxify.js:66:17)
      at Context.it (e:\code8-io\item-api\test\spec\services\item-worksheet-creator.spec.js:635:35)
      at <anonymous>

  10) services
       ItemWorksheetCreator
         sortAttributes
           only sorts if there is a need to do so:
     Error: Invalid Chai property: called. Did you mean "all"?
      at Object.proxyGetter [as get] (e:\code8-io\item-api\node_modules\chai\lib\chai\utils\proxify.js:63:17)
      at Context.it (e:\code8-io\item-api\test\spec\services\item-worksheet-creator.spec.js:676:45)
      at <anonymous>

  11) services
       ItemWorksheetCreator
         sortAttributes
           sorts attributes by their display name:
     Error: Invalid Chai property: calledOnce
      at Object.proxyGetter [as get] (e:\code8-io\item-api\node_modules\chai\lib\chai\utils\proxify.js:66:17)
      at Context.it (e:\code8-io\item-api\test\spec\services\item-worksheet-creator.spec.js:686:41)
      at <anonymous>

The one line at the top is missing "Debugging with inspector protocol..." not sure if that's relevant.

Ha, and i just realized this is occurring in v1.21

If you just run that command in vscode's integrated terminal (without the --inspect-brk part) does it work?

No:
$ node --nolazy "node_modules\mocha\bin\_mocha" -c --require test/setup.js "e:\code8-io\item-api\test\spec\services\item-worksheet-reader.spec.js" --no-timeouts

  services
    ItemWorksheetReader
      constructor
        1) "before each" hook for "returns a configured instance of ItemWorksheetReader"

  0 passing (56ms)
  1 failing

  1) services
       "before each" hook for "returns a configured instance of ItemWorksheetReader":
     Error: Invalid Chai property: calledOnce
      at Object.proxyGetter [as get] (e:\code8-io\item-api\node_modules\chai\lib\chai\utils\proxify.js:66:17)
      at Context.beforeEach (e:\code8-io\item-api\test\spec\services\item-worksheet-reader.spec.js:367:30)
      at <anonymous>

Ok, how do you run it normally to see it work? And what's the difference between the two?

Are you unable to reproduce the problem? If not, I'll create a trimmed down version.
To answer your question, all I do is open the spec file and press F5 to debug the spec interactively.
When I am on 1.19.1 it works fine. On 1.21.0 it fails.

I'd appreciate a trimmed down version that I can just run.

Hopefully this helps: https://github.com/mscottx88/vs-code-bug-45152-mocha-require

I can't figure out what 1.19 was doing differently, but given that the command string doesn't work in the terminal, I think 1.21 is actually doing the right thing. But this is fixed for me just by using ${relativeFile} instead of ${file}. I think one of the libraries involved just can't handle the absolute path.

I can confirm this works as well.  Perhaps this breaking change should be mentioned to the community.

I don't see this as a vscode breaking change. The command doesn't work in the terminal, and the debug adapter should be emulating the behavior of running the command in the terminal. Rather, it's something that accidentally worked before.


OU-398: update dependencies and fix synthetic imports

This PR:

Fixes a synthetic import that blocked the plugin to load correctly in OCP
Updates the dependencies to match 4.15 shared dependencies
Updates the default port so testing with other plugins running locally is easier

/cherry-pick release-0.1

/lgtm


Make a node register as a listener with a valid address

This is the first PR for the #1051 issue and does not contain code making sure we keep the connection alive yet, which will be submitted with another PR. With the code @AndrejMitrovic suggested, I registered a path manually in vibe.d for registering a listener address.
With the talk with @Geod24 a few days ago, we share the thought that we need to abstract the implementation so it works with LocalRest too.
I applied abstraction for the LocalRest with the support of @AndrejMitrovic.
Relates #1051

There is a way to move all the routines into the test module so we don't add unnecessary test-specific code-paths in the base classes.
It's a little bit more complex because we have to forward a lot of calls and make some code in NetworkClient reusable, but it is possible. Here's my approach:
diff --git a/source/agora/api/FullNode.d b/source/agora/api/FullNode.d
index 75204486..292bebe8 100644
--- a/source/agora/api/FullNode.d
+++ b/source/agora/api/FullNode.d
@@ -70,21 +70,6 @@ public interface API
 // The REST generator requires @safe methods
 @safe:

-    /***************************************************************************
-
-        Register the given address to listen for gossiping messages.
-
-        Params:
-            address = the address of the node to register
-
-        API:
-            PUT /register_listener_address
-
-    ***************************************************************************/
-
-    @method(HTTPMethod.PUT)
-    version (unittest) public void registerListenerAddress (Address address);
-
     /***************************************************************************

         Returns:
diff --git a/source/agora/network/NetworkClient.d b/source/agora/network/NetworkClient.d
index 0a1ed35f..6b047317 100644
--- a/source/agora/network/NetworkClient.d
+++ b/source/agora/network/NetworkClient.d
@@ -42,7 +42,7 @@ mixin AddLogger!();
 class NetworkClient
 {
     /// Whether to throw an exception when attemptRequest() fails
-    private enum Throw
+    protected enum Throw
     {
         ///
         No,
@@ -69,7 +69,7 @@ class NetworkClient
     private BanManager banman;

     /// API client to the node
-    private API api;
+    protected API api;

     /// Reusable exception
     private Exception exception;
@@ -115,25 +115,7 @@ class NetworkClient

     public PublicKey getPublicKey ()
     {
-        return this.attemptRequest!(API.getPublicKey, Throw.Yes)();
-    }
-
-    /***************************************************************************
-
-        Register the given address as this node's listener
-
-        Params:
-            address = the address to register
-
-        Throws:
-            `Exception` if the request failed.
-
-    ***************************************************************************/
-
-    version (unittest) public void registerListener (Address address)
-    {
-        return this.attemptRequest!(API.registerListenerAddress, Throw.Yes)
-            (address);
+        return this.attemptRequest!(API.getPublicKey, Throw.Yes)(this.api);
     }

     /// Ditto
@@ -181,7 +163,7 @@ class NetworkClient

     public NodeInfo getNodeInfo ()
     {
-        return this.attemptRequest!(API.getNodeInfo, Throw.Yes)();
+        return this.attemptRequest!(API.getNodeInfo, Throw.Yes)(this.api);
     }

     /***************************************************************************
@@ -206,10 +188,10 @@ class NetworkClient
         {
             // if the node already has this tx, don't send it
             if (this.attemptRequest!(API.hasTransactionHash, Throw.Yes,
-                LogLevel.Trace)(tx_hash))
+                LogLevel.Trace)(this.api, tx_hash))
                 return;

-            this.attemptRequest!(API.putTransaction, Throw.No)(tx);
+            this.attemptRequest!(API.putTransaction, Throw.No)(this.api, tx);
         });
     }

@@ -229,7 +211,8 @@ class NetworkClient
         {
             this.taskman.runTask(
             {
-                this.attemptRequest!(API.receiveEnvelope, Throw.No)(envelope);
+                this.attemptRequest!(API.receiveEnvelope, Throw.No)(this.api,
+                    envelope);
             });
         }
         catch (Exception ex)
@@ -251,7 +234,7 @@ class NetworkClient

     public ulong getBlockHeight ()
     {
-        return this.attemptRequest!(API.getBlockHeight, Throw.Yes)();
+        return this.attemptRequest!(API.getBlockHeight, Throw.Yes)(this.api);
     }

     /***************************************************************************
@@ -276,7 +259,7 @@ class NetworkClient

     public const(Block)[] getBlocksFrom (ulong block_height, uint max_blocks)
     {
-        return this.attemptRequest!(API.getBlocksFrom, Throw.Yes)(
+        return this.attemptRequest!(API.getBlocksFrom, Throw.Yes)(this.api,
             block_height, max_blocks);
     }

@@ -297,7 +280,8 @@ class NetworkClient
     {
         this.taskman.runTask(
         {
-            this.attemptRequest!(API.enrollValidator, Throw.No)(enroll);
+            this.attemptRequest!(API.enrollValidator, Throw.No)(this.api,
+                enroll);
         });
     }

@@ -318,7 +302,8 @@ class NetworkClient
     {
         this.taskman.runTask(
         {
-            this.attemptRequest!(API.receivePreimage, Throw.No)(preimage);
+            this.attemptRequest!(API.receivePreimage, Throw.No)(this.api,
+                preimage);
         });
     }

@@ -342,19 +327,19 @@ class NetworkClient

     ***************************************************************************/

-    private auto attemptRequest (alias endpoint, Throw DT,
-        LogLevel log_level = LogLevel.Trace, Args...)
-        (auto ref Args args, string file = __FILE__, uint line = __LINE__)
+    protected auto attemptRequest (alias endpoint, Throw DT,
+        LogLevel log_level = LogLevel.Trace, API, Args...)
+        (API api, auto ref Args args, string file = __FILE__, uint line = __LINE__)
     {
         import std.traits;
         enum name = __traits(identifier, endpoint);
-        alias T = ReturnType!(__traits(getMember, this.api, name));
+        alias T = ReturnType!(__traits(getMember, api, name));

         foreach (idx; 0 .. this.max_retries)
         {
             try
             {
-                return __traits(getMember, this.api, name)(args);
+                return __traits(getMember, api, name)(args);
             }
             catch (Exception ex)
             {
diff --git a/source/agora/network/NetworkManager.d b/source/agora/network/NetworkManager.d
index 7ad4e033..988f4868 100644
--- a/source/agora/network/NetworkManager.d
+++ b/source/agora/network/NetworkManager.d
@@ -145,7 +145,7 @@ public class NetworkManager

         private void connect ()
         {
-            auto client = new NetworkClient(this.outer.taskman,
+            auto client = this.outer.getNetworkClient(this.outer.taskman,
                 this.outer.banman, this.address,
                 this.outer.getClient(this.address,
                     this.outer.node_config.timeout),
@@ -400,11 +400,13 @@ public class NetworkManager
         this.known_addresses.put(node.address);
         this.connection_tasks.remove(node.address);

-        // todo: this should keep re-trying.
-        version (unittest)
-            node.client.registerListener(this.getAddress());
-        else
-            node.client.registerListener();
+        this.registerAsListener(node.client);
+    }
+
+    /// Overridable for LocalRest which uses public keys
+    protected void registerAsListener (NetworkClient client)
+    {
+        client.registerListener();
     }

     /// Discover the network, connect to all required peers
@@ -712,6 +714,25 @@ public class NetworkManager
         return new RestInterfaceClient!API(settings);
     }

+    /***************************************************************************
+
+        Instantiates a networking client to be used with the given API instance.
+
+        Overridable in unittests.
+
+        Returns:
+            a NetworkClient
+
+    ***************************************************************************/
+
+    public NetworkClient getNetworkClient (TaskManager taskman,
+        BanManager banman, Address address, API api, Duration retry,
+        size_t max_retries)
+    {
+        return new NetworkClient(taskman, banman, address, api, retry,
+            max_retries);
+    }
+
     /***************************************************************************

         Gossips the transaction to all the listeners.
diff --git a/source/agora/node/FullNode.d b/source/agora/node/FullNode.d
index 70701f95..82bdd190 100644
--- a/source/agora/node/FullNode.d
+++ b/source/agora/node/FullNode.d
@@ -244,13 +244,6 @@ public class FullNode : API
         this.network.registerListener(address);
     }

-    /// PUT /register_listener_address
-    version (unittest) public override void registerListenerAddress
-        (Address address) @trusted
-    {
-        this.registerListener(address);
-    }
-
     /// GET: /node_info
     public override NodeInfo getNodeInfo () pure nothrow @safe @nogc
     {
diff --git a/source/agora/test/Base.d b/source/agora/test/Base.d
index 0f2af4f3..3430d356 100644
--- a/source/agora/test/Base.d
+++ b/source/agora/test/Base.d
@@ -42,6 +42,7 @@ import agora.consensus.data.UTXOSetValue;
 import agora.consensus.UTXOSet;
 import agora.consensus.EnrollmentManager;
 import agora.consensus.data.genesis.Test;
+import agora.network.NetworkClient;
 import agora.network.NetworkManager;
 import agora.node.BlockStorage;
 import agora.node.FullNode;
@@ -547,6 +548,36 @@ public class TestAPIManager
     }
 }

+/*******************************************************************************
+
+    Adds additional networking capabilities for use in unittests
+
+*******************************************************************************/
+
+public class TestNetworkClient : NetworkClient
+{
+    /// See NetworkClient ctor
+    public this (TaskManager taskman, BanManager banman, Address address,
+        ValidatorAPI api, Duration retry, size_t max_retries)
+    {
+        super(taskman, banman, address, api, retry, max_retries);
+    }
+
+
+    /***************************************************************************
+
+        Throws:
+            `Exception` if the request failed.
+
+    ***************************************************************************/
+
+    public void registerListenerAddress (Address address)
+    {
+        return this.attemptRequest!(TestAPI.registerListenerAddress, Throw.Yes)(
+            cast(TestAPI)this.api, address);
+    }
+}
+
 /*******************************************************************************

     Base class for `NetworkManager` used in unittests.
@@ -585,16 +616,25 @@ public class TestNetworkManager : NetworkManager
     }

     ///
-    protected final override ValidatorAPI getClient (Address address,
+    protected final override TestAPI getClient (Address address,
         Duration timeout)
     {
         auto tid = this.registry.locate(address);
         if (tid != typeof(tid).init)
-            return new RemoteAPI!ValidatorAPI(tid, timeout);
+            return new RemoteAPI!TestAPI(tid, timeout);
         assert(0, "Trying to access node at address '" ~ address ~
                "' without first creating it");
     }

+    ///
+    protected final override TestNetworkClient getNetworkClient (
+        TaskManager taskman, BanManager banman, Address address,
+        ValidatorAPI api, Duration retry, size_t max_retries)
+    {
+        return new TestNetworkClient(taskman, banman, address, api, retry,
+            max_retries);
+    }
+
     /***************************************************************************

         Params:
@@ -624,6 +664,13 @@ public class TestNetworkManager : NetworkManager
     {
         assert(0, "Not supported");
     }
+
+    /// Overridable for LocalRest which uses public keys
+    protected final override void registerAsListener (NetworkClient client)
+    {
+        (cast(TestNetworkClient)client).registerListenerAddress(
+            this.node_config.address);
+    }
 }

 /*******************************************************************************
@@ -689,6 +736,9 @@ public interface TestAPI : ValidatorAPI

     ///
     public QuorumConfig getQuorumConfig ();
+
+    ///
+    public void registerListenerAddress (Address address);
 }

 /// Contains routines which are implemented by both TestFullNode and
@@ -773,6 +823,12 @@ private mixin template TestNodeMixin ()
     {
         return new EnrollmentManager(":memory:", node_config.key_pair, params);
     }
+
+    /// Localrest: the address (key) is provided directly to the network manager
+    public override void registerListenerAddress (Address address)
+    {
+        this.network.registerListener(address);
+    }
 }

 /// A FullNode which also implements test routines in TestAPI

You can copy-paste this into a file diff.diff and then run $ git apply diff.diff and it will apply the patch for you.

The diff code works so well. I also thought if there was a way to derive NetworkClient but I didn't know that the API could be a parameter for the attemptRequest function. This is the way @AndrejMitrovic apply abstraction for the code.
Thank you.

Ping @Geod24

Needs a rebase, oLGTM

@linked0 : This LGTM, but consistently fails circleci. Could you take a look at it ? I rebased and pushed myself, didn't change your code. But it seems CircleCI didn't like what I did and I can't retrigger a run, but my last 4 pushes didn't pass on it.

It seems there's some problem with the code in my PR. Running ci/system_integration_test.d failed in my local machine with the log as follows.
Linking...
To force a rebuild of up-to-date targets, run again with --force.
Running ./tests/system/build/systemtest-simple http://<IP_ADDRESS>:4000 http://<IP_ADDRESS>:4002 http://<IP_ADDRESS>:4003 http://<IP_ADDRESS>:4004 http://<IP_ADDRESS>:4005 http://<IP_ADDRESS>:4006 http://<IP_ADDRESS>:4007
core.exception.AssertError@tests/system/source/main.d(41): Check condition failed after timeout of 5 secs and 50 attempts: Node 6 has not completed discovery after 5 secs.

I will check it from now on.

@linked0 could you try rebasing your PR one more time?

This is going green now.

Merge when green then

Wow, it went green in the end. Thanks @AndrejMitrovic!


[ERROR] Error loading vanilla ASM: ClassNotFoundException: ge

Loading game with RandomTweaker i found this error appear in debug.log file:
[main/ERROR] [ink.ikx.rt.classTransforms.RandomTweakerClassTransformer]: Error loading vanilla ASM
java.lang.RuntimeException: java.lang.ClassNotFoundException: ge
	at ink.ikx.rt.classTransforms.RandomTweakerClassWriter.getCommonSuperClass(RandomTweakerClassWriter.java:19) ~[RandomTweakerClassWriter.class:?]
	at org.objectweb.asm.ClassWriter.getMergedType(ClassWriter.java:1698) ~[asm-debug-all-5.2.jar:5.2]
	at org.objectweb.asm.Frame.merge(Frame.java:1530) ~[asm-debug-all-5.2.jar:5.2]
  [...]

What does this error means? Does this means some of RandomTweaker functionality not working?

Ignore it

Ok, i will ignore it.
But i would like if ignorable or errors that have no relay on mod features marked as "WARN" instead of "ERROR" or even "INFO" log level 😊

Thank you for your suggestion


Resize "Open Editors" pane in Explorer

VSCode Version: 1.8
OS Version: Windows 10

Steps to Reproduce:

Open a large number of documents
Need to scroll to see all documents in Open Editors pane

I work on a very large repository, 20,000 files, 2000 directories, so I like to open all the documents I want to jump between; then minimise the directory tree view, and use the Open Editors pane to jump between documents.
I find using the Open Editors pane easier to navigate than scrolling through tabs, etc. However, this pane appears to be fixed in size, limiting the use of the vertical real estate that's available.

@jessicah you can control the behavior and appearance of the Open Editors section with the following two settings: explorer.openEditors.visible and explorer.openEditors.dynamicHeight in your user or workspace settings.

I set explorer.openEditors.dynamicHeight to true, but this hasn't had any effect. I even restarted vscode to ensure it didn't need reloading.

Oh, I see visible is a number... that's a confusingly named setting.

I had the same problem.
"explorer.openEditors.visible": 30,
"explorer.openEditors.dynamicHeight": true
But open editors pane not changing height. Only scroll appears.
OS version: windows 7, VS version:1.10.2

It makes no sense to me that all other accordion groups can be resized, but only Open Editors cannot.


Merge Swift Package update

The PR to update the Swift Package was approved last week - please merge it!
Swift Package Manager 5.3 support: Swift and Objective-C library #308

Merged!


Release 3.2.1

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Closing since this is stale and we already have a release out.


deconvolution output

Currently the portal outputs a single z-stack .tif for each channel, this is not the default behaviour of microvolution in FIJI on windows OS, which would output a single file containing all channels and timepoints.  However on windows OS, the user is able to split the output into separate channels and timepoints etc if required.  We require this same behaviour

Also need to write the dimension order to the file so that it opens correctly in FIJI
How to Import Data into FIJI.pdf

@DrSpringy If you refresh the cache, you can split based on C, T, or C and T now. Deployed to prod.


Fri 3.0

Hi,
These are possible changes for fri-3.0 compatibility. I still couldn't get the permission from my boss to redistribute the .zip package but I guess that wouldn't be a serious issue for the codes themselves.

no worries, this is already quite helpful, should anyone use fri 3.0 in the future. I will create a branch fri-3.0 for you.

fantastic news! Hope we can get down to the root cause

I'm sorry I didn't see your message about retargeting and I guess you've already done it.


This app isn't verified

Form sent, but with too many scopes.
Only one scope should be needed https://www.googleapis.com/auth/drive.file.

Fixed


Not working vueI18n.locale options

Project info:
------------------------------
- Operating System: `Windows_NT`
- Node Version:     `v17.7.2`
- Nuxt Version:     `3.0.0-27460489.53fbca7`
- Package Manager<EMAIL_ADDRESS>- Builder:          `vite`
- User Config:      `buildModules`, `intlify`
- Runtime Modules:  `-`
- Build Modules:    `<EMAIL_ADDRESS>------------------------------

Config:

// https://v3.nuxtjs.org/docs/directory-structure/nuxt.config
export default defineNuxtConfig({
  buildModules: ['@intlify/nuxt3'],
  intlify: {
    vueI18n: {
      localeDir: 'locales',
      vueI18n: {
        locale: 'en-US',
        fallbackLocale: 'en-US',
      }
    }
  }
})

Console log:  [intlify] Not found 'meta.title' key in 'en' locale messages.

@dungsil seems you are missing vueI18n.locales with translations

@razbakov The file locales/en-US.yml exists.

@dungsil what's the content of that file? Does it have key "meta.title"?

@razbakov  If I do that, it works, but not i want that's solution.
In the README it is marked as mutable and I want this config to work.
https://github.com/intlify/nuxt3/blob/2df57f672135fdc9bea0f7d11234e1b064e1f666/README.md?plain=1#L67-L85

@dungsil Concerning "en-US.yml" and "en.yml" check languages of your browser. I guess i18n module takes the preferred language of your browser.
Please elaborate on your last question. I don't understand the problem. I thought your initial question was about error "[intlify] Not found 'meta.title' key in 'en' locale messages.". How is  "mutable" connected to that context?

@razbakov
A value of ko or ko-KR must be used to work as the browser's default locale. (in my case)
My guess is that this value is probably used as is, not overwritten.
https://github.com/intlify/nuxt3/blob/2df57f672135fdc9bea0f7d11234e1b064e1f666/packages/nuxt3/src/runtime/plugin.ts#L26-L31

In vue-i18n, locale refers to the language displayed on the current page. Simply use locale: navigator.language and it will show up in my browser's language. In my case, it is set to en-US, so I need to load the en-US.yml file, but it tries to import en.yml. I meant this was wrong.

I am submitting an issue in the nature of a bug report and not a question.
As the title suggests, the vueI18n.locale option does not work.

The option key localeDir should be outside vueI18n, at the root of intlifyactually.
export default defineNuxtConfig({
  buildModules: ['@intlify/nuxt3'],
  intlify: {
    localeDir: 'locales',
    vueI18n: {
      locale: 'en-US',
      fallbackLocale: 'en-US',
    }
  }
})


When domain changes from quantum-computing.ibm.com to quantum.ibm.com, update docs

When the domain name drops the "-computing", look for places in the docs where urls need updating. For example, links to learning pages will need to be updated.

Hi
Sorry, when is it going to drop? By itself on production pages? Or will it be modified on documentation repo first? Just to have some context please?
I'd like to take on this as my first issue.

Hey @kkoci, thanks for offering to help! 🙌 The change will be live once https://docs.quantum-computing.ibm.com redirects to https://docs.quantum.ibm.com some time next week.
Feel free to open up a PR now that makes the change, and put [DO NOT MERGE] in the PR title. That way, we can start reviewing it and have everything ready.
If you haven't yet tried ripgrep (https://github.com/BurntSushi/ripgrep), it's a great way to search for what needs updating.

Absolutely Awesome!
Just opened it, let me know if anything, whenever possible, it's half midnight here, so potentially, if there's something to check will do it in the morning
Thanks a lot
PS = Will try ripgrep for sure, thanks for the input.

Hey @kkoci, great work with https://github.com/Qiskit/documentation/pull/393!
quantum.ibm.com went live today, so we're now good to go for you to open up a PR that switches over all URLs using quantum-computing.ibm.com. You'll want to make sure you start your branch from the latest main so that you incorporate your changes in 393. Would you be interested in this PR?

Thanks @kkoci and @abbycross!


Add warning before dumpwallet is executed

PR for issue described here: https://github.com/zcoinofficial/zcoin/issues/290
Currently the text is @reubenyap 's warning.

@a-bezrukov Please double check if changing the dumpwallet command by adding a string at the end as per Yura's request or to add a dialog box would break any compatibility with Electrum / Insight before we merge this.

don't forget to manually test on Windows

Tested on Win7 and Win8, all cases provide random OTAC.


On reload room disappeared

If you make public/private room then while you are inside your room just reload the page and room will disappear. Not sure if this is supposed to happen or not?

Were you the only one in it when you reloaded? @majksec

No there was 2 persons in the room @giuseppecampanelli

@majksec Were they speakers or listeners?


WIP: Remove obsolete knative-kafka-operator

Signed-off-by: Matthias Wessendorf<EMAIL_ADDRESS>This operator is from a long-abandoned downstream fork and its removal
is in anticipation of adding the capacity to the Openshift-Serverless Product:
https://github.com/openshift-knative/serverless-operator/tree/release-1.11

/hold
We only release this, once 1.11 did actually hit the world! :earth_africa:

/unhold

@J0zi our product is now live, so this operator is now really dead and no loinger needed

@dmesser  not sure why the deletion of this deprecated operator fails :disappointed:

/retest

@J0zi any chance to look at this ?

@matzew I think this may be a gap in the CI. @J0zi worth looking into!
We are currently out of credits with Travis though and we need to get this resolved first. Currently we are not able to rebuild a catalog with that Operator removed. Bear with us.

@matzew can you please rebase to latest master. It will get our latest tests. Thanks

@mvalarh I've updated - thanks!

I will fix handling of removal (only) some operator versions

@mvalarh any updates on getting this deleted ?

/ok-to-test


IsStackTrace or TryParse

It might be convenient with an IsStackTrace or TryParse method as well. I would love to use StackTraceParser for a project (you know which) but I'm not sure that the input string is a strack trace or not.
I'll write the code if you'd like?

Would that be as simple as checking if the parser returned any frames?

Ahh. You're absolutely right :+1:


Spring Cloud 2021.0.1 breaks the order kafka message consumption when spring sleuth function is enabled.

Describe the bug
When upgrading from Spring Cloud 2020.0.4 to Spring Cloud 2021.0.1 this breaks the ordering of Kafka messages when using flatMapSequential.  The reason I think this is Spring Cloud Sleuth Issue is because if I set spring.sleuth.function.enabled=false then the problem goes away.
I have a sample detailed below which outputs offsets.
Spring Cloud  2021.0.1 :out of order kafka messages:
kafka_offset=0
kafka_offset=4
kafka_offset=65
kafka_offset=1
kafka_offset=2
kafka_offset=3

Spring Cloud  2020.0.4 OR spring.sleuth.function.enabled=false :in of order kafka messages:
kafka_offset=0
kafka_offset=1
kafka_offset=2
kafka_offset=3
kafka_offset=4
kafka_offset=5

This is an issue when using flatMapSequential:
 @Bean
  public Function<Flux<Message<Map<String, BigDecimal>>>, Mono<Void>> fxRates() {
    return events -> events.flatMap(event -> {
      System.out.println("kafka_offset="+event.getHeaders().get("kafka_offset"));
      return Mono
          .defer(() -> Mono.just("A thing"))
          .delayElement(Duration.ofMillis(10)) // The delay hands off to another thread, easy WebClient simulation
          .then();
    },1).then();

Sample
https://github.com/davidmelia/spring-boot-webflux-sink-only

Create the Kafka Topic: kafka-topics --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test
Run KafkaTopicPopulator which will populate this topic with 100 events
Start the app
You will see the offsets ordering is out of sync in the logs
Either downgrade spring cloud OR set spring.sleuth.function.enabled=false and ordering is correct

Most likely we're messing up with the flux in the Sleuth Stream Flux support. I will try to take a look at that when I have time but feel free to debug this section of Sleuth in the meantime https://github.com/spring-cloud/spring-cloud-sleuth/blob/3.1.x/spring-cloud-sleuth-instrumentation/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TraceFunctionAroundWrapper.java#L134-L137

@marcingrzejszczak so this might be a terrible solution adding flatMapSequential to the existing reactorFluxStream but I can't see another way as Kafka is sequential:
private Object reactorFluxStream(SimpleFunctionRegistry.FunctionInvocationWrapper targetFunction,
      Publisher<Message> messagePublisher) {
    if (log.isDebugEnabled()) {
      log.debug("Will instrument a stream Flux function");
    }

    Flux<Message> flux = Flux.from(messagePublisher)
        // ensure there are no previous spans
        .doOnNext(m -> tracer.withSpan(null))
        .map(msg -> this.traceMessageHandler.wrapInputMessage(msg,
            inputDestination(targetFunction.getFunctionDefinition())))
        .flatMapSequential(msg -> Flux.deferContextual(ctx -> { // TODO: [AS] Bug fix
          MessageAndSpansAndScope messageAndSpansAndScope = ctx.get(MessageAndSpansAndScope.class);
          messageAndSpansAndScope.messageAndSpans = msg;
          messageAndSpansAndScope.span = msg.childSpan;
          setNameAndTag(targetFunction, msg.childSpan);
          messageAndSpansAndScope.scope = tracer.withSpan(msg.childSpan);
          return Mono.just(msg.msg);
        }), 1);
    if (targetFunction.isConsumer()) {
      return targetFunction.apply(reactorStreamConsumer(flux));
    }
    final Publisher<Message> function = ((Publisher<Message>) targetFunction.apply(flux));
    if (function instanceof Mono) {
      return messageMono(targetFunction, (Mono<Message>) function);
    }
    return messageFlux(targetFunction, (Flux<Message>) function);
  }

I appreciate Spring has to cover other message systems too.  Very tricky problem!!

I wonder how we could approach this more globally. I understand that if we did the flatMapSequential we can break the non-sequential brokers?

I think I need to talk to @olegz about this...

Please upgrade to Micrometer Tracing. Spring Cloud Sleuth is feature complete and out of OSS support.


redshift.to_sql with identity key?

Hello! I'm trying to insert into a table with an auto incrementing key. When I try to use the to_sql method, I get the following error: cannot set an identity column to a value
Does to_sql support this use case? Am I missing an attribute?
My data frame looks like the following.
user_id       current_pwd
0    testUser Dummypassword123

Here is my function call.
wr.redshift.to_sql(
    df=user_df,
    table=table,
    schema=schema,
    index=False,
    mode='append',
    con=con
)

You should be able to get your desired result by naming the df columns according to the table column names and setting use_column_names of to_sql to True.


Add footer to the about page.

I want to add footer to the about page for the enhancement of the page as it contains the navbar but not footer . Please assign me this issue.

Go for it!! @Sneha123-zudo
Do the footer as per this design.

please Assign it to me


update docker run conformance test command

The command in the README is not executable, add the missing backslash
Signed-off-by: wang yan<EMAIL_ADDRESS>

LGTM


[in_app_purchase] Recently created subscriptions through google play store are not identified by Example App

Package: in_app_purchase 3.0.8
OS: Android
Problem:
I downloaded the in_app_purchase example from Github
I created my new app recently and configured the In-app products and Subscriptions.
I did the required changes in the example app to link to my Play store app.
All the In-app products created in play store are working well. But, Subscriptions are not detecting correctly by the example app
While running the app "[subscription_silver] not found" error is displayed on the app

Package: in_app_purchase 3.0.8
OS: Android

Hi @Charlinjoeaht
Does it work well before? If so, which in_app_purchase plugin version did it work? And please provide the complete log from flutter run -v so that we may verify it. Thanks!

This is the first time I am using in_app_purchase plugin and subscription from play store. Following is the log after running the app with flutter run -v
flutter.log

@Charlinjoeaht I think there is something missing from your account configuration. Please check this old issue and find the information that may be helpful: https://github.com/flutter/flutter/issues/112822#issuecomment-1266740250

Package: in_app_purchase 3.0.8 OS: Android Problem: I downloaded the in_app_purchase example from Github
I created my new app recently and configured the In-app products and Subscriptions.
I did the required changes in the example app to link to my Play store app. All the In-app products created in play store are working well. But, Subscriptions are not detecting correctly by the example app
While running the app "[subscription_silver] not found" error is displayed on the app

I am having problems in showing the available subscriptions. Can you please help me with that?


chore: further backports from leanprover/lean4#6123

Follow-up from #19852.
https://github.com/leanprover/lean4/pull/6123 fixes some inconsistencies in the behaviour of simp, by propagating Simp.Config settings through to Meta.Config. This requires us to be more explicit about unfolding let bindings in many places in Mathlib.
There are a few more changes that will only land in nightly-testing once https://github.com/leanprover/lean4/pull/6123 is in.

bors d+
Thanks!
Its not clear to me whether let x := ...; simp [x] or letI x := ...; simp is better, but it doesn't really matter.

bors merge

Sneaking in some further backports, the fixes to Archive and Counterexamples.

bors merge


Unary operator doesn't work

E.g. this doesn't work:
w = Well.from_las('data/P-129_out.LAS')
gr = w.data['GR']

# This works:
gr.plot_2d(cmap='viridis', curve=True, lw=0.3, edgecolor='k')

# This doesn't:
(200 - gr).plot_2d(cmap='viridis', curve=True, lw=0.3, edgecolor='k')

Should be easy enough to fix with __neg__() and __pos__() I think.

Do you mean here that (200-gr) is not working properly?
    curve = well.data['GR']
    curve2 = 200-curve

    arr1 = curve.df.to_numpy()
    arr3 = arr1-200

    arr2 = curve2.df.to_numpy()

    all(arr2 == arr3)

     Out[11]: True


Add patch to fix arm segfault in nmslib during ingestion

Description
Adds patch to fix the segfault happening in nmslib. For more information on the patch, see https://github.com/nmslib/nmslib/issues/544.
Existing tests will cover this change. The issue can only be reproduced at large scales. I can confirm the patch has remedied seeing this issue in large OpenSearch clusters.
Issues Resolved
#1406
Check List

[X] Commits are signed as per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Thanks Jack. Just Curious why is this race condition CPU architecture dependent?

Thanks Jack. Just Curious why is this race condition CPU architecture dependent?

all details related to this is added on the GH issue of nmslib. Its more around how different CPU architectures are creating the assembly code.

Right, the issue doesnt happen on x86 (that weve seen) because gcc on x86 doesnt re-order the assignment operations. But gcc on arm does - probably as some kind of optimization


Run clippy on source

Technical Bug Report
Is this an issue with Rust, CSS, or HTML (or a combination)?
Issue with Rust source.
Expected Behavior
cargo clippy should not output anything.
Unless the team decides not to use/take into account clippy.
Current Behavior
We have a few cargo clippy warnings that can help have idiomatic rust code.
And with all clippy outputs you get a simple way to fix the warning.
Step to Reproduce
run cargo clippy

Thanks for reporting this. I think the better thing to do is run clippy over the source and submit a PR. It will be easier for the maintainers :)


dprint: 0.47.2 -> 0.47.6 and add version test

Changes: https://github.com/dprint/dprint/compare/0.47.2...0.47.5
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[x] sandbox = true

[x] 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

[x] 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
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

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

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 354977

x86_64-linux

:white_check_mark: 1 package built:

dprint

x86_64-darwin

:white_check_mark: 1 package built:

dprint

aarch64-darwin

:white_check_mark: 1 package built:

dprint

Looks like failing ofborg-eval-nixpkgs-unstable-jobset
https://gist.github.com/GrahamcOfBorg/47d343faf4690ab241b31f45b698541b
error:
       … while calling the 'derivationStrict' builtin

         at /builtin/derivation.nix:9:12: (source not available)

       … while evaluating derivation 'nixpkgs-24.11pre999999.8b3dd85'
         whose name attribute is located at /ofborg/checkout/2/repo/38dca4e3aa6bca43ea96d2fcc04e8229/mr-est/ofborg-evaluator-3/pkgs/stdenv/generic/make-derivation.nix:336:7

       error: opening file '/nix/store/mbgfn8vj32cf9f5j5ndjbgq2azs308mz-prettyprinter-1.7.1.drv': No such file or directory

Hmm... which action should I take?

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 353998

x86_64-linux

x86_64-darwin

aarch64-darwin

@khrj could you review?

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 354977

aarch64-darwin

:white_check_mark: 1 package built:

dprint

If you are up for it you could move this to by-name/?

Sure!

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 354977

x86_64-linux

:white_check_mark: 1 package built:

dprint

x86_64-darwin

:white_check_mark: 1 package built:

dprint

aarch64-darwin

:white_check_mark: 1 package built:

dprint

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 354977

aarch64-darwin

:white_check_mark: 1 package built:

dprint

Thank you all! 🙏


cover triage level permissions for labels

Why:

Closes #1693.
What's being changed:

Explain that users with triage level permissions can apply/dismiss existing labels.
Update permissions table to also use the word "dismiss" to make clear that triage members can apply/dismiss existing labels.
Check off the following:

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

@HonkingGoose Thanks so much for opening a PR! I'll get this triaged for review ✨

Commenting to prevent this from being closed by the stale bot.


Dropdown Restyling

Deleting the file is not the same as untracking any changes made to it. How do I fix this?

To Do:

Grid List items not dynamically colored
Dropdown dismisses on tab change

Book Abbreviations? See line 73 of BookSelector.svelte

fix strange wrapping with items less than cols width

Book Collection does not navigate reference correctly when dealing with nextRef.chapter. I think its being overridden by Chapter Collector? Is there a way to implement mutexs for stores?

@jakedcolbert I have added $refs.collection property so that you don't have to do const colId = $refs.docSet.split('_')[1]; but just use $refs.collection instead.
Update main in your fork and then rebase your branch off of main.  If you need help doing this, let me know.

Latest status that I know of:

chrisvire — 01/23/2023 4:34 PM
How is your PR.  Is it ready to be reviewed?
Jake Colbert (Gordon) — 01/23/2023 6:00 PM
It should be all set besides one error. In the latest commit, book selector dropdown doesn’t navigate to the chosen chapter correctly.

Great. Will make those changes today. I have not solved the problem yet but will devote today to finding a solution. The PR will be ready for review by tomorrow.

The styling looks good.  I said to work on the updating of the book name and chapter into a separate PR.  Currently the book name doesn't change at all.  I am going to accept this PR with the expectation that you will be able to get the book name and chapter updated fairly soon.


Allow :TSLspImportAll to specify buffers

E.g. :TSLspImportAll App.tsx or :TSLspImportAll all.

This is still a cool idea, but since this plugin's import all implementation is a huge hack, it's too much to add here. Anybody interested in this is welcome to contribute to typescript.nvim, where it's much more feasible.


Bump charabia: add Khmer language support

Motivation
Adress more language support on Meilisearch: new version of Charabia (v0.8.5) will introduce Khmer support.
It was demanded by the community and implemented by the community
TODO

[ ] Create a new version of Charabia (v0.8.5)
[ ] Bump charabia version in Meilisearch
[ ] merge into release-v1.5.0

Impacted teams

@meilisearch/docs-team for this page maybe: https://www.meilisearch.com/docs/learn/what_is_meilisearch/language#improving-our-language-support

Closed by #2605


[Request] Lower Forge requirements

Hey @HenryLoenwind,
Your mod looks very interesting and I would like to very much to use it, but sadly your mod uses the newest release from Forge witch is <IP_ADDRESS>2 as minimum instead of the recommend (bug-free) version <IP_ADDRESS>8.
My request is now If you would be so kindly to reduce the Forge requirements to <IP_ADDRESS>8, so I'm able to use your mod with the recommend versions of Forge.
I'm aware you don't have to, but I would be very thank full,
access_denied

The lowest I could lower it to is <IP_ADDRESS>0, that is the one EnderCore requires.

Hey @HenryLoenwind,
?!?!? I use the latest EnderCore (EnderCore-1.7.10-<IP_ADDRESS>_beta.jar) and it does clearly work with Forge <IP_ADDRESS>8... besides it would not make any sense because all versions over 1448 are experimental (with bugs and stuff)... are you really sure about that?
If yes, I'm going to ask the Ender IO -staff, I believe there is a solution.
access_denied

EnderCore is a bit sneaky there. It is compiled against 1490 but doesn't export that as a runtime requirement.

Could you try http://loenwind.info/eioa/EnderIOAddons-1.7.10-<IP_ADDRESS>_master_5156065_beta.jar ? It has its Forge dependency removed.

@HenryLoenwind,
Thank you, but this version destroys the world. It scrambles the whole Block-ID's and makes the world unplayable... It is very strange :/
I asked the Ender-core team, maybe they know more. It nothing helps and if it is valid I have to update.
access_denied

@HenryLoenwind,
I did remove some mods and retried your mod version you gave me. I have to apologize for my suggestion that this mod corrupts worlds... It seems to work just fine. I can place, access and look up the recipe. The only issue I have to point out is that I somehow just can get Gravel from Cobblestone if I use the SAG mill in your machine. It is strange and maybe is a issue with Ex-Nihilo (I disabled the recipe-override "Cobble-To-Gravel")...
access_denied

Thx for the feedback. I suspected as much.
The mixed up outputs are a bug in that version. The new one up on curse has it fixed and lower Forge dependencies, too.

@HenryLoenwind,
Thank you a lot,
I now use the newest version. But I have noticed that the "SAG-Mill" step still put first Gravel (until it is a whole stack) and than Sand out. Is this supposed to happen or I just using the wrong version? (It is the version "EnderIOAddons-1.7.10-<IP_ADDRESS>_beta")

Oh, about the order. Yes, it is working from the last slot to the first. This has been done on purpose so it will be faster refilling whatever you took out---it can potentially do all 4 steps in one tick instead of needing one tick per step.

@HenryLoenwind,
That is really clever, so it saves a lot of ticks and fps. Really neat. I didn't have any further issues so far, but I let you know If I find one.
Thanks a lot for your time and help
access_denied


Add convenience function to concatenate experiments

Similar to the other postprocessing wrappers, but actually checks the time and sorts before concatenation.

Leaving the docs for this for later, cause I need to finish this up for Ocean Hack Week


fix panic in query execution

Required for all non-trivial PRs

[x] Rebased/mergable
[x] Tests pass

fixes #7880

Appveyor failed for some reason.


feat: grafana panel for github error metrics

What does this PR do?
$TITLE
Screenshot/screencast of this PR

Panel itself:

Dashboard variant 1: In this variant, I just added the panel into the free space present in the dashboard.

Dashboard variant 2: In this variant, I reorder the panels so that GitHub panels are on the same x-axis.

What issues does this PR fix or reference?

https://issues.redhat.com/browse/SVPI-423
How to test this PR?

Pick a variant you like more.
The current PR points to Variant 1.
To deploy the dashboard yourself, follow these steps:

Replace config/monitoring/base/grafana-dashboards/spi-outbound-traffic.json with the content of this PR.
Deploy SPI (make deploy_...) and monitoring infrastructure (hack/deploy-minikube-monitoring.sh)
a) To see some graphs in the panel, you can replace SPI operator image: quay.io/pbaran/spio:testing.
b) (Optional) So that the authorized calls are triggered, you should upload a valid GitHub token.
c) Run this script so that metric counters are increased:

#!/bin/bash

for i in {1..20} ; do
    kubectl apply -f samples/spiaccesscheck.yaml
    sleep 6
    kubectl delete -f samples/spiaccesscheck.yaml
done

quay.io/redhat-appstudio/pull-request-builds:spi-controller-#
quay.io/redhat-appstudio/pull-request-builds:spi-oauth-#

I vote for variant 3

Voting for 3 as well.

Branch now points to Variant 3


Call function to assign date_ended and reason_ended to mistress

Included line to call apply the update_following_measure and update_measure_stage functions
Added a new coding combination for CDC dataset
Set the encoding for CDC  "Date Implemented or lifted" and "Date entered" fields to latin1
Created a new column "old_targeted" to store targeted values before they are updated

This looks good - just noted a different file path in src/manually_cleaned.py. 'data/cleansed/mistress_latest1.csv' But I think this is probably just a development version of the mistress file on your machine?

Otherwise it looks good, feel free to merge.


The title of the paper behind the link is not that of the link text

link text: VideoLLaMA 2: Advancing Spatial-Temporal Modeling and Audio Understanding in Video-LLMs
Actual title of the paper: Video-LLaMA An Instruction-tuned Audio-Visual Language Model for Video Understanding

Thanks for your attention.
The title you mentioned above refers to the first version of VideoLLaMA while this repo is for the second version (i.e., VideoLLaMA 2). We are still drafting the technical report for VideoLLaMA 2 and it should be available by the end of this week.

looking forward to see VideoLLaMA2 report/paper! Wondering what's the difference with VideoLLaMA.

@MoonBlvd Glad to hear this! The differences from VideoLLaMA 1 are basically improved architectural designs, stronger models (will be open-sourced for sure), and a much much more user-friendly codebase for training and evaluating VideoLLMs (which I think is the most beneficial part for the community), please stay tuned :grin:


isset() a service is ambiguous

Hi,
After a long time using Pimple, I found a little issue (what I think that is a issue).
I'm going to show a piece of code that will explain better than words:
$container = new Pimple\Container();
$container['foo'] = 'something';
$container['bar'] = null;

$array = array();
$array['foo'] = 'something';
$array['bar'] = null;

$arrayObj = new \ArrayObject();
$arrayObj['foo'] = 'something';
$arrayObj['bar'] = null;

var_dump(
    isset($array['foo']),        // TRUE
    isset($array['bar']),        // FALSE
    isset($array['unknown']),    // FALSE
    isset($arrayObj['foo']),     // TRUE
    isset($arrayObj['bar']),     // FALSE
    isset($arrayObj['unknown']), // FALSE
    isset($container['foo']),    // TRUE
    isset($container['bar']),    // TRUE - should not be FALSE?
    isset($container['unknown']) // FALSE
);

IMO if a parameter is value of NULL, then isset() should return FALSE, as behavior of an array.
The main use case: if I do not want set a $c['logger'], i could put value of $c['logger'] = null in a config file for after changing, but a code like this for testing of presence of a logger will crash:
$obj = SomeLoggerAwareObject();
if (isset($c['logger']) {
    $obj->setLogger($c['logger']); // Fatal error: expected a Logger instance, null given
}

Instead I have to do like this:
if (isset($c['logger'] && $c['logger'] !== null) { // ...

(sorry my bad english)

@raphahardt even though I had the same issue, checking with !empty() is ok for me. As you mentioned, this will execute the service as well, but when I check if a service has been disabled or not (as in your use case), I would execute it anyway right after that if enabled. Typically.:
if (!empty($container['logger'])) {
   // do something with $container['logger']
}

Could you show an example where you want to check for a disabled service and if not disabled, not willing to use it straight away?

The problem I see is  that offsetExists() and offsetGet() are both checking the value and not the key. they should be using  if(array_key_exists($id, $this->keys)) { .... Not doing so means it's not really possible to check for defined parameters or services. When I look at the code in Container PHPStorm lights up with a lot of red because of this and a couple other things. Think I have a little time so I'll look at doing a pull request to fix things up.

@Dragonrun1 I don't understand your comment

Let's just blame my last post on writing it at 2am with no sleep I'll try to use some real code this time to explain things better.
<?php
$errorReporting = error_reporting(E_ALL);
ini_set('display_errors', 1);
$keys = ['first' => true, 'second' => false, 'third' => null];
$ids = ['first', 'second', 'third', 'forth'];
print 'Using isset (No structure control)' . PHP_EOL;
foreach ($ids as $id) {
    if (isset($keys[$id])) {
        print $id . ' = Yes' . PHP_EOL;
    } else {
        print $id . ' = No' . PHP_EOL;
    }
}
print PHP_EOL . 'Using array_key_exists (Structure control only)' . PHP_EOL;
foreach ($ids as $id) {
    if (array_key_exists($id, $keys)) {
        print $id . ' = Yes' . PHP_EOL;
    } else {
        print $id . ' = No' . PHP_EOL;
    }
}
print PHP_EOL . 'Using === test (Type safety checking)' . PHP_EOL;
foreach ($ids as $id) {
    if (true === $keys[$id]) {
        print $id . ' = Yes' . PHP_EOL;
    } else {
        print $id . ' = No' . PHP_EOL;
    }
}
print PHP_EOL . 'Using array_key_exists with === test (Structurally and type safety checking)' . PHP_EOL;
foreach ($ids as $id) {
    if (array_key_exists($id, $keys) && true === $keys[$id]) {
        print $id . ' = Yes' . PHP_EOL;
    } else {
        print $id . ' = No' . PHP_EOL;
    }
}

Output with php 5.5.x/7.0.x:
Using isset (No structure control)
first = Yes
second = Yes
third = No
forth = No

Using array_key_exists (Structure control only)
first = Yes
second = Yes
third = Yes
forth = No

Using === test (Type safety checking)
first = Yes
second = No
third = No
PHP Notice:  Undefined index: forth in test.php on line 24

Notice: Undefined index: forth in test.php on line 24
forth = No

Using array_key_exists with === test (Structurally and type safety checking)
first = Yes
second = No
third = No
forth = No

Now the code from Container()
    public function offsetGet($id)
    {
        if (!isset($this->keys[$id])) {
            throw new \InvalidArgumentException(sprintf('Identifier "%s" is not defined.', $id));
        }

It's not testing what you think it is. The code makes assumes that are easy to break.
class MyContainer extends Container {
    public $keys;
    public function __construct( array $keys, array $values = array()) {
        parent::__construct($values);
        $this->keys = $keys;
}
$container = new MyContainer(['first' => true, 'second' => false, 'third' => null], []);

That's just one very simple example which would be easy to catch but notice the public $keys; how many more interesting ways could that end up breaking? Using isset() by itself on arrays sooner or later comes back to bite you.
Hopefully the above is a little clearer if a bit to long ;-)

Closing this issue as Pimple is now closed for changes and will go into freeze mode.


.Net: Revisit the use of "Basic" for default implementations

Using "Basic" in naming for default implemntations isn't accurate and may cause confusion in some cases e.g. makes people think about the Basic programming language. Creating this task to get this fixed before 1.0 release.

Presumably we also expect different template languages to use the template language name as the prefix, e.g. "HandlebarsPromptTemplateFactory". Our implementations should follow the same naming scheme, i.e. the prefix here should be the name of the templating language it targets.

Also, my understanding part of the problem is that we expect this default implementation to handle both the current syntax and f-strings. I'd suggest modeling that differently: have this type for the current syntax (and named after this syntax), have a separate FStringsPromptTemplateFactory, and then use the new AggregatorPTF(new ThisPTF(), new FStringsPTF()) as the default is that's the default behavior desired. Basically one factory type per format, separately aggregated as needed.

Changed for the default prompt template factory and basic reliability has been removed


Point clustering

GL JS clustering uses cluster: true, point_count: 23 to say that 23 points have been clustered together
Heatmaps can weight the intensity based on the point_count attribute. https://blog.mapbox.com/introducing-heatmaps-in-mapbox-gl-js-71355ada9e6c

Working on this in https://github.com/mapbox/tippecanoe/pull/511
cc @millzpaugh @mourner @peterqliu

🎉


feat(sdk-metrics)!: remove MeterProvider.addMetricReader() in favor of constructor option

Which problem is this PR solving?
Currently a MetricReader is added to a MeterProvider via addMetricReader(). As Meters (and through it instruments) can be created before adding a MetricReader. This gives the false impression that the order of calls does not matter. This PR removes the addMetricReader() method in favor of a constructor option as it is the case for most SDKs:

see Java

does not allow adding a MetricReader after building the MeterProvider

see Python

does not allow adding a MetricReader after building the MeterProvider

see C++

the comment there seems to indicate that they are in a similar situation as we are (only meter data created after adding the MetricReader is respected.

see .NET [1] [2]

similar to Java, they have a builder that allows it, but adding it after building the MeterProvider is not possible

An alternative would be to allow adding a MetricReader like in the current interface, but re-configuring all instruments, their aggregations, assocaited views and their temporality. This however, is not required by the spec and would drastically increase complexity of an already very complex Metrics SDK.
Fixes #4112
References #https://github.com/open-telemetry/opentelemetry-js-contrib/issues/1900
Short description of the changes
Type of change

[x] Breaking change (fix or feature that would cause existing functionality to not work as expected)

How Has This Been Tested?

[x] Adapted existing tests

Can we deprecate MeterProvider.addMetricReader instead while adding the new constructor option? In this way, we can avoid breaking all users of the sdk-metrics and allow them to migrate to the new option.

Yes. This PR is targeting next so it's already intended for 2.0.
Once this is merged, I'll open a PR to backport the constructor option and tests to main and deprecate MeterProvider.addMetricReader there :slightly_smiling_face:

@legendecas, I opened another PR that targets main just now: https://github.com/open-telemetry/opentelemetry-js/pull/4427

Oh, I see. Thank you for clarifying. I didn't notice the target branch 😅


Unable to define List default value on an input type

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
Defining a default value for an List property on an input type doesn't appear on the schema.
The DefaultValue attribute fine works with boolean value, but it doesn't work with default(List)
Steps to reproduce
[DefaultValue(true)]
public bool IsActive { get;  set; }  // works! Apears on the schema
[DefaultValue(default(List< Foo>))]
public List< Foo> Bar { get; set; } = new();   // Doesn't apear on the schema
Relevant log output
No response
Additional Context?
Similar problem:
https://github.com/ChilliCream/hotchocolate/issues/1862
Product
Hot Chocolate
Version
12.9.0

The issue here is that dotnet does not allow for value creation in attribute parameters. However, you can use the fluent API to do this.
While creating a small example for you I saw a couple of pitfalls here which we will address in a patch release.
The main thing is to use the AST to describe the default value as it is more precise than the .NET runtime value. The issue here is that a dotnet object has no distinction between null and not set. I will leave this issue open as an enhancement for 13.
ListDefaultValue.zip


Failed to download https://dl.espressif.com/dl/esp-idf/espidf.constraints.v4.4.tx (IDFGH-12354)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.
master
Operating System used.
Linux
How did you build your project?
Command line with Make
If you are using Windows, please specify command line type.
None
What is the expected behavior?
Issue in install.sh master branch woth python 3.10.12
WARNING: Failed to download https://dl.espressif.com/dl/esp-idf/espidf.constraints.v4.4.txt
What is the actual behavior?
Issue in install.sh master branch woth python 3.10.12
WARNING: Failed to download https://dl.espressif.com/dl/esp-idf/espidf.constraints.v4.4.txt
Steps to reproduce.

run install.sh
...

Build or installation Logs.
Detecting the Python interpreter
Checking "python3" ...
Python 3.10.12
"python3" has been detected
Checking Python compatibility
Installing ESP-IDF tools
Selected targets are: esp32c3, esp32h2, esp32s3, esp32c6, esp32p4, esp32c5, esp32c61, esp32, esp32c2, esp32s2
Current system platform: linux-amd64
Installing tools: xtensa-esp-elf-gdb, riscv32-esp-elf-gdb, xtensa-esp-elf, riscv32-esp-elf, esp32ulp-elf, openocd-esp32, esp-rom-elfs
Skipping<EMAIL_ADDRESS>(already installed)
Skipping<EMAIL_ADDRESS>(already installed)
Skipping<EMAIL_ADDRESS>(already installed)
Skipping<EMAIL_ADDRESS>(already installed)
Skipping<EMAIL_ADDRESS>(already installed)
Skipping<EMAIL_ADDRESS>(already installed)
Skipping esp-rom-elfs@20240305 (already installed)
Installing Python environment and packages
Python 3.10.12
pip 24.0 from /home/nayan/.espressif/python_env/idf4.4_py3.10_env/lib/python3.10/site-packages/pip (python 3.10)
Upgrading pip and setuptools...
Requirement already satisfied: pip in /home/nayan/.espressif/python_env/idf4.4_py3.10_env/lib/python3.10/site-packages (24.0)
Requirement already satisfied: setuptools in /home/nayan/.espressif/python_env/idf4.4_py3.10_env/lib/python3.10/site-packages (69.2.0)
Downloading https://dl.espressif.com/dl/esp-idf/espidf.constraints.v4.4.txt
Destination: /home/nayan/.espressif/espidf.constraints.v4.4.txt.tmp
WARNING: Download failure: HTTP Error 404: Not Found
WARNING: Failed to download https://dl.espressif.com/dl/esp-idf/espidf.constraints.v4.4.txt to /home/nayan/.espressif/espidf.constraints.v4.4.txt.tmp
Downloading https://dl.espressif.com/dl/esp-idf/espidf.constraints.v4.4.txt
Destination: /home/nayan/.espressif/espidf.constraints.v4.4.txt.tmp
WARNING: Download failure: HTTP Error 404: Not Found
WARNING: Failed to download https://dl.espressif.com/dl/esp-idf/espidf.constraints.v4.4.txt to /home/nayan/.espressif/espidf.constraints.v4.4.txt.tmp
Downloading https://dl.espressif.com/dl/esp-idf/espidf.constraints.v4.4.txt
Destination: /home/nayan/.espressif/espidf.constraints.v4.4.txt.tmp
WARNING: Download failure: HTTP Error 404: Not Found
WARNING: Failed to download https://dl.espressif.com/dl/esp-idf/espidf.constraints.v4.4.txt to /home/nayan/.espressif/espidf.constraints.v4.4.txt.tmp
ERROR: Failed to download, and retry count has expired
Please make sure you have a working Internet connection.
See the help on how to disable constraints in order to work around this issue.

More Information.
No response

How did you obtain ESP-IDF? Did you clone it from here? If yes then what is the output of git describe?
If you updated from v4.4 to the master branch by checking it out then you also have to fetch recent changes in the master branch including fetching the tags. The following might help (in that order).
git fetch
git fetch --tags
git checkout master
git merge origin/master
git describe

@dobairoland is right, the culprit seems to be missing tags, meaning git fetch --tags should fix this for you. I tried deleting v5.* tags and I got the same error message. The reason is the the esp-idf version detection is primary based on git describe output and as a fallback we are using version from components/esp_common/include/esp_idf_version.h. I'm wondering if it's really necessary to use git describe and not to rely purely on components/esp_common/include/esp_idf_version.h. IIUC this should be less error prone.

@fhrbata +1 on that, since we only need the major and minor version component in idf_tools.py, we can remove git describe usage and get the version only from esp_idf_version.h.

@dobairoland
I First forked and cloned from my fork and it is updated from master branch
output of git describe  is v4.4-dev-19146-ga7d1da94b9

Your fork doesn't have the v5.* tags: https://github.com/naveen-nayan/esp-idf/tags

$ git fetch https://github.com/espressif/esp-idf/ --tags in your fork clone should fetch the missing tags from the esp-idf repo. Hopefully after this the install.sh should work as expected. You can later push them to your fork remote.

@dobairoland resolved thanks


Remove CLI Plugin

What does this PR do?
Removes the CLI plugin from this repo.  It has been moved to: https://github.com/salesforcecli/plugin-apex
This repo now houses only the apex-node library, which is used by both the CLI plugin and the Salesforce Extensions for VC Code.  This change enables independent development and publishing of each resource.
What issues does this PR fix or reference?
@W-11309523@
Functionality Before
The apex plugin for the CLI is included in this repo.
Functionality After
The apex plugin for the CLI is not included in this repo.

I also just ran the compile in vscode to pick up the symlink and I'm seeing some type mismatch errors. Have you encountered these as well? They mostly look like this:
packages/salesforcedx-vscode-apex-replay-debugger/src/commands/quickLaunch.ts:135:39 - error TS2345: Argument of type 'import("/Users/randi.wilson/Documents/Git-Repositories/salesforcedx-vscode/packages/salesforcedx-utils-vscode/node_modules/@salesforce/core/lib/org/connection").Connection<import("/Users/randi.wilson/Documents/Git-Repositories/salesforcedx-vscode/packages/salesforcedx-utils-vscode/node_modules/jsforce/lib/types/sche...' is not assignable to parameter of type 'import("/Users/randi.wilson/Documents/Git-Repositories/salesforcedx-apex/node_modules/@salesforce/core/lib/org/connection").Connection<import("/Users/randi.wilson/Documents/Git-Repositories/salesforcedx-apex/node_modules/jsforce/lib/types/schema").Schema>'.

Testing Apex-Node with local linking:

Apex Package:
✅ Code Coverage Colorization
✅ Run Anon Apex
✅ Get Apex Logs
✅ Run tests from code lens
✅ Run tests from sidebar
✅ Run test suite

Apex Replay Debugger Package
✅ Quick Launch


Add Xcode 9.4 support

Description
LEARNER-5449
Add a description of your changes here.
Notes
How to test this PR

@zeshanarifios Ready for another pass.


Execution cache considers only the source code

I noticed that when I export the example from the start page and change the compiler to dmd-nightly (https://run.dlang.io/is/mO38pH), clicking on the AST button returns the LDC IR.
I believe that the problem is in the caching code: https://github.com/dlang-tour/core/blob/8fc3f3aebae676a26b4db848c945ce18d8862451/source/exec/cache.d#L41-L57 uses only the source code (input.source) as a key in the sourceHashToOutput_ AA. Instead the whole IExecProvider.RunInput object should be used as the key type.
We just need to make sure that if two IExecProvider.RunInput object are equal, but their source members point to different pieces of memory (but with the same content) the default AA hash algorithm produces the same hash.

I think I have disabled the caching logic entirely because of problems I don't recall anymore and switched to NGINX's super-fast caching. That's why if you click run twice, the second time it will load sooo fast.
I will look into this.

It's not an NGINX issue, otherwise X-Cached would be part of the response.

PR https://github.com/dlang-tour/core/pull/669


[Bug]: Call to undefined method OpenAI\Resources\ThreadsRuns::createStreamed()

Description
when i use "OpenAI::threads()->runs()->createStreamed(" it gives me an error "Call to undefined method OpenAI\Resources\ThreadsRuns::createStreamed()", i have run "composer update openai-php/laravel" but the error still persists
Steps To Reproduce

Install the OpenAI PHP Laravel package:
composer require openai-php/laravel

Update the package to the latest version:
composer update openai-php/laravel

Add API key to .env file:
OPENAI_API_KEY=your-api-key

Create a controller and use the following code:
use OpenAI\Laravel\Facades\OpenAI;

$stream = OpenAI::threads()->runs()->createStreamed([
'assistant_id' => 'your-assistant-id',
'prompt' => 'Hello, how can I assist you today?',
]);

Run the code and observe the error:
Call to undefined method OpenAI\Resources\ThreadsRuns::createStreamed()

OpenAI PHP Client Version
v0.8.5
PHP Version
8.2.12
Notes
No response

Hi @Muhammad-Huzaifa7
Make sure you are using the latest version 0.10.x


Incorrect generated JS code when private (hashtag) property is used with parenthesis in left assignment

Bug Report

When private (hashtag) property is used with parenthesis in left assignment, TS generate __classPrivateFieldGet, not __classPrivateFieldSet.
I think this issue is related with this one.
It should apply __classPrivateFieldSet only if there is incrementing/decrementing operations.
🔎 Search Terms

__classPrivateFieldGet
private property
Invalid left-hand side in assignment

🕗 Version & Regression Information

If compile target is ES2022, it is not an issue.
This is the behavior in every version I tried, and I reviewed the FAQ for entries about setting private property.

⏯ Playground Link

Playground link with relevant code
💻 Code

class Temp {
  readonly #id: number;

  constructor(value: number) {
    this.#id = value;
  }

  setId(id: number) {
    (this.#id as number) = id;
    // (this.#id) = id <-- this one is also problem.
  }
}

new Temp(10).setId(20)

🙁 Actual behavior
TS generate the following code.
class Temp {
    constructor(value) {
        _Temp_id.set(this, void 0);
        __classPrivateFieldSet(this, _Temp_id, value, "f");
    }
    setId(id) {
        __classPrivateFieldGet(this, _Temp_id, "f") = id; // it will throw error `Invalid left-hand side in assignment`
    }
}

🙂 Expected behavior

TS should generate the following code.
class Temp {
    constructor(value) {
        _Temp_id.set(this, void 0);
        __classPrivateFieldSet(this, _Temp_id, value, "f");
    }
    setId(id) {
        __classPrivateFieldSet(this, _Temp_id, id, "f");
    }
}

Random aside, I’m not sure I’d describe these as “hashtag properties” any more than I’d describe a bear as a fat dog

Random aside, I’m not sure I’d describe these as “hashtag properties” any more than I’d describe a bear as a fat dog

Common parlance in TC39 is to call them "private elements".

Thanks @a-tarasyuk!


r/adbcdrivermanager: behavior of depth argument in adbc_connection_get_objects()

Going by the docs I was expecting that passing depth = 4L I get back schema info up to columns.
library(adbcdrivermanager)
db <- adbc_database_init(adbcsqlite::adbcsqlite(), uri = ":memory:")
con <- adbc_connection_init(db)
write_adbc(datasets::swiss, con, "swiss")

res <- nanoarrow::convert_array_stream(
  adbc_connection_get_objects(con, 4L)
)

res[["catalog_db_schemas"]][[1L]][["db_schema_tables"]][[1L]]
#>   table_name table_type table_columns table_constraints
#> 1      swiss      table          NULL              NULL

If I use default depth of 0L, I get the expected info.
@paleolimbot Is 3L the largest "sensible" value? Maybe a warning for larger values would be helpful? Or maybe being a bit more clear about this in the docs? As things stand, it might be a bit misleading.

/// \brief Return metadata on catalogs, schemas, tables, and columns.
///
/// \see AdbcConnectionGetObjects
#define ADBC_OBJECT_DEPTH_ALL 0
/// \brief Return metadata on catalogs only.
///
/// \see AdbcConnectionGetObjects
#define ADBC_OBJECT_DEPTH_CATALOGS 1
/// \brief Return metadata on catalogs and schemas.
///
/// \see AdbcConnectionGetObjects
#define ADBC_OBJECT_DEPTH_DB_SCHEMAS 2
/// \brief Return metadata on catalogs, schemas, and tables.
///
/// \see AdbcConnectionGetObjects
#define ADBC_OBJECT_DEPTH_TABLES 3
/// \brief Return metadata on catalogs, schemas, tables, and columns.
///
/// \see AdbcConnectionGetObjects
#define ADBC_OBJECT_DEPTH_COLUMNS ADBC_OBJECT_DEPTH_ALL

I suppose I did this backwards. So you want 0.


Backwards-incompatible API change for Kotlin users since 6.5.x

The problem
Before 6.5.x it was possible to set value of Selenide element as property in Kotlin:
element("hello").value = "Hello"
However, Selenide has changed the setValue method signature to CharSequence, which does not correspond to the type of getter String getValue(), making it impossible to use setValue as a property.
This is not a backwards-compatible change and made using Selenide in Kotlin less convenient.

I restored parameter type of setValue back to String.
Though, I personally think it's a misuse of setValue method. It was never meant to be a property.

Test (and user) can perform some interactions with web elements (not change properties of web elements), and
Test can verify properties of elements (using methods shouldHave...)


Make GPT-4o the default model

This PR changes the default model in the config template from GPT-4 to GPT-4o.
It also adds YAML comments with links to the model lists.

thanks!


PHP 8.2 compatibility issue: Using ${var} in strings is deprecated, use {$var} instead

This seems like a quick fix, so I am making an issue. This happens when making any call to the GraphQL endpoint before opcache has stored it.

Deprecated:  Using ${var} in strings is deprecated, use {$var} instead in vendor/webonyx/graphql-php/src/Validator/Rules/ValuesOfCorrectType.php on line 183

Confirmed that my PR fixes the issue I am running into

See https://github.com/webonyx/graphql-php#versioning:

Older versions are no longer supported.


[Design] Move UrlMatchingTree to shared source

WIP for refactoring the Tree infrastructure. Instead of #if/#else blocks, we may instead consider using generic types
cc @rynowak

@jbagga,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by .NET Foundation. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot

@rynowak Updated


solidus-3.2 compatibility

Can we get this reviewed so it can be merged? I'm interested in using this gem with Solidus 3. I'm also willing to help if there is anything more needed to make this happen.